lighthouse 8.5.1-dev.20211010 → 8.6.0-dev.20211013

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/changelog.md +95 -0
  2. package/flow-report/src/wrappers/report.tsx +1 -3
  3. package/lighthouse-cli/bin.js +5 -0
  4. package/lighthouse-cli/cli-flags.js +7 -2
  5. package/lighthouse-cli/commands/commands.js +1 -0
  6. package/lighthouse-cli/commands/list-locales.js +16 -0
  7. package/lighthouse-core/audits/seo/crawlable-anchors.js +10 -12
  8. package/package.json +2 -2
  9. package/report/assets/styles.css +8 -40
  10. package/report/assets/templates.html +2 -2
  11. package/report/clients/standalone.js +1 -2
  12. package/report/renderer/category-renderer.js +1 -12
  13. package/report/renderer/components.js +2 -3
  14. package/report/renderer/logger.js +35 -2
  15. package/report/renderer/performance-category-renderer.js +1 -1
  16. package/report/renderer/pwa-category-renderer.js +1 -2
  17. package/report/renderer/report-renderer.js +19 -5
  18. package/report/test/clients/psi-test.js +0 -3
  19. package/shared/localization/locales/ar-XB.json +139 -4
  20. package/shared/localization/locales/ar.json +141 -6
  21. package/shared/localization/locales/bg.json +139 -4
  22. package/shared/localization/locales/ca.json +140 -5
  23. package/shared/localization/locales/cs.json +139 -4
  24. package/shared/localization/locales/da.json +139 -4
  25. package/shared/localization/locales/de.json +139 -4
  26. package/shared/localization/locales/el.json +141 -6
  27. package/shared/localization/locales/en-GB.json +139 -4
  28. package/shared/localization/locales/en-XA.json +139 -4
  29. package/shared/localization/locales/es-419.json +139 -4
  30. package/shared/localization/locales/es.json +139 -4
  31. package/shared/localization/locales/fi.json +139 -4
  32. package/shared/localization/locales/fil.json +139 -4
  33. package/shared/localization/locales/fr.json +139 -4
  34. package/shared/localization/locales/he.json +139 -4
  35. package/shared/localization/locales/hi.json +142 -7
  36. package/shared/localization/locales/hr.json +139 -4
  37. package/shared/localization/locales/hu.json +139 -4
  38. package/shared/localization/locales/id.json +139 -4
  39. package/shared/localization/locales/it.json +139 -4
  40. package/shared/localization/locales/ja.json +139 -4
  41. package/shared/localization/locales/ko.json +139 -4
  42. package/shared/localization/locales/lt.json +139 -4
  43. package/shared/localization/locales/lv.json +139 -4
  44. package/shared/localization/locales/nl.json +139 -4
  45. package/shared/localization/locales/no.json +139 -4
  46. package/shared/localization/locales/pl.json +139 -4
  47. package/shared/localization/locales/pt-PT.json +139 -4
  48. package/shared/localization/locales/pt.json +139 -4
  49. package/shared/localization/locales/ro.json +139 -4
  50. package/shared/localization/locales/ru.json +139 -4
  51. package/shared/localization/locales/sk.json +139 -4
  52. package/shared/localization/locales/sl.json +139 -4
  53. package/shared/localization/locales/sr-Latn.json +139 -4
  54. package/shared/localization/locales/sr.json +139 -4
  55. package/shared/localization/locales/sv.json +139 -4
  56. package/shared/localization/locales/ta.json +146 -11
  57. package/shared/localization/locales/te.json +179 -44
  58. package/shared/localization/locales/th.json +139 -4
  59. package/shared/localization/locales/tr.json +139 -4
  60. package/shared/localization/locales/uk.json +139 -4
  61. package/shared/localization/locales/vi.json +139 -4
  62. package/shared/localization/locales/zh-HK.json +139 -4
  63. package/shared/localization/locales/zh-TW.json +139 -4
  64. package/shared/localization/locales/zh.json +139 -4
  65. package/types/externs.d.ts +2 -0
@@ -1,4 +1,115 @@
1
1
  {
2
+ "flow-report/src/i18n/ui-strings.js | allReports": {
3
+ "message": "‏‮All‬‏ ‏‮Reports‬‏"
4
+ },
5
+ "flow-report/src/i18n/ui-strings.js | categories": {
6
+ "message": "‏‮Categories‬‏"
7
+ },
8
+ "flow-report/src/i18n/ui-strings.js | categoryAccessibility": {
9
+ "message": "‏‮Accessibility‬‏"
10
+ },
11
+ "flow-report/src/i18n/ui-strings.js | categoryBestPractices": {
12
+ "message": "‏‮Best‬‏ ‏‮Practices‬‏"
13
+ },
14
+ "flow-report/src/i18n/ui-strings.js | categoryPerformance": {
15
+ "message": "‏‮Performance‬‏"
16
+ },
17
+ "flow-report/src/i18n/ui-strings.js | categoryProgressiveWebApp": {
18
+ "message": "‏‮Progressive‬‏ ‏‮Web‬‏ ‏‮App‬‏"
19
+ },
20
+ "flow-report/src/i18n/ui-strings.js | categorySeo": {
21
+ "message": "‏‮SEO‬‏"
22
+ },
23
+ "flow-report/src/i18n/ui-strings.js | desktop": {
24
+ "message": "‏‮Desktop‬‏"
25
+ },
26
+ "flow-report/src/i18n/ui-strings.js | helpDialogTitle": {
27
+ "message": "‏‮Understanding‬‏ ‏‮the‬‏ ‏‮Lighthouse‬‏ ‏‮Flow‬‏ ‏‮Report‬‏"
28
+ },
29
+ "flow-report/src/i18n/ui-strings.js | helpLabel": {
30
+ "message": "‏‮Understanding‬‏ ‏‮Flows‬‏"
31
+ },
32
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionNavigation": {
33
+ "message": "‏‮Use‬‏ ‏‮Navigation‬‏ ‏‮reports‬‏ ‏‮to‬‏..."
34
+ },
35
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionSnapshot": {
36
+ "message": "‏‮Use‬‏ ‏‮Snapshot‬‏ ‏‮reports‬‏ ‏‮to‬‏..."
37
+ },
38
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionTimespan": {
39
+ "message": "‏‮Use‬‏ ‏‮Timespan‬‏ ‏‮reports‬‏ ‏‮to‬‏..."
40
+ },
41
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation1": {
42
+ "message": "‏‮Obtain‬‏ ‏‮a‬‏ ‏‮Lighthouse‬‏ ‏‮Performance‬‏ ‏‮score‬‏."
43
+ },
44
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation2": {
45
+ "message": "‏‮Measure‬‏ ‏‮page‬‏ ‏‮load‬‏ ‏‮Performance‬‏ ‏‮metrics‬‏ ‏‮such‬‏ ‏‮as‬‏ ‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮and‬‏ ‏‮Speed‬‏ ‏‮Index‬‏."
46
+ },
47
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation3": {
48
+ "message": "‏‮Assess‬‏ ‏‮Progressive‬‏ ‏‮Web‬‏ ‏‮App‬‏ ‏‮capabilities‬‏."
49
+ },
50
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot1": {
51
+ "message": "‏‮Find‬‏ ‏‮accessibility‬‏ ‏‮issues‬‏ ‏‮in‬‏ ‏‮single‬‏ ‏‮page‬‏ ‏‮applications‬‏ ‏‮or‬‏ ‏‮complex‬‏ ‏‮forms‬‏."
52
+ },
53
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot2": {
54
+ "message": "‏‮Evaluate‬‏ ‏‮best‬‏ ‏‮practices‬‏ ‏‮of‬‏ ‏‮menus‬‏ ‏‮and‬‏ ‏‮UI‬‏ ‏‮elements‬‏ ‏‮hidden‬‏ ‏‮behind‬‏ ‏‮interaction‬‏."
55
+ },
56
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan1": {
57
+ "message": "‏‮Measure‬‏ ‏‮layout‬‏ ‏‮shifts‬‏ ‏‮and‬‏ ‏‮JavaScript‬‏ ‏‮execution‬‏ ‏‮time‬‏ ‏‮on‬‏ ‏‮a‬‏ ‏‮series‬‏ ‏‮of‬‏ ‏‮interactions‬‏."
58
+ },
59
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan2": {
60
+ "message": "‏‮Discover‬‏ ‏‮performance‬‏ ‏‮opportunities‬‏ ‏‮to‬‏ ‏‮improve‬‏ ‏‮the‬‏ ‏‮experience‬‏ ‏‮for‬‏ ‏‮long‬‏-‏‮lived‬‏ ‏‮pages‬‏ ‏‮and‬‏ ‏‮single‬‏-‏‮page‬‏ ‏‮applications‬‏."
61
+ },
62
+ "flow-report/src/i18n/ui-strings.js | mobile": {
63
+ "message": "‏‮Mobile‬‏"
64
+ },
65
+ "flow-report/src/i18n/ui-strings.js | navigationDescription": {
66
+ "message": "‏‮Page‬‏ ‏‮load‬‏"
67
+ },
68
+ "flow-report/src/i18n/ui-strings.js | navigationLongDescription": {
69
+ "message": "‏‮Navigation‬‏ ‏‮reports‬‏ ‏‮analyze‬‏ ‏‮a‬‏ ‏‮single‬‏ ‏‮page‬‏ ‏‮load‬‏, ‏‮exactly‬‏ ‏‮like‬‏ ‏‮the‬‏ ‏‮original‬‏ ‏‮Lighthouse‬‏ ‏‮reports‬‏."
70
+ },
71
+ "flow-report/src/i18n/ui-strings.js | navigationReport": {
72
+ "message": "‏‮Navigation‬‏ ‏‮report‬‏"
73
+ },
74
+ "flow-report/src/i18n/ui-strings.js | ratingAverage": {
75
+ "message": "‏‮Average‬‏"
76
+ },
77
+ "flow-report/src/i18n/ui-strings.js | ratingError": {
78
+ "message": "‏‮Error‬‏"
79
+ },
80
+ "flow-report/src/i18n/ui-strings.js | ratingFail": {
81
+ "message": "‏‮Poor‬‏"
82
+ },
83
+ "flow-report/src/i18n/ui-strings.js | ratingPass": {
84
+ "message": "‏‮Good‬‏"
85
+ },
86
+ "flow-report/src/i18n/ui-strings.js | save": {
87
+ "message": "‏‮Save‬‏"
88
+ },
89
+ "flow-report/src/i18n/ui-strings.js | snapshotDescription": {
90
+ "message": "‏‮Captured‬‏ ‏‮state‬‏ ‏‮of‬‏ ‏‮page‬‏"
91
+ },
92
+ "flow-report/src/i18n/ui-strings.js | snapshotLongDescription": {
93
+ "message": "‏‮Snapshot‬‏ ‏‮reports‬‏ ‏‮analyze‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮particular‬‏ ‏‮state‬‏, ‏‮typically‬‏ ‏‮after‬‏ ‏‮user‬‏ ‏‮interactions‬‏."
94
+ },
95
+ "flow-report/src/i18n/ui-strings.js | snapshotReport": {
96
+ "message": "‏‮Snapshot‬‏ ‏‮report‬‏"
97
+ },
98
+ "flow-report/src/i18n/ui-strings.js | summary": {
99
+ "message": "‏‮Summary‬‏"
100
+ },
101
+ "flow-report/src/i18n/ui-strings.js | timespanDescription": {
102
+ "message": "‏‮User‬‏ ‏‮interactions‬‏"
103
+ },
104
+ "flow-report/src/i18n/ui-strings.js | timespanLongDescription": {
105
+ "message": "‏‮Timespan‬‏ ‏‮reports‬‏ ‏‮analyze‬‏ ‏‮an‬‏ ‏‮arbitrary‬‏ ‏‮period‬‏ ‏‮of‬‏ ‏‮time‬‏, ‏‮typically‬‏ ‏‮containing‬‏ ‏‮user‬‏ ‏‮interactions‬‏."
106
+ },
107
+ "flow-report/src/i18n/ui-strings.js | timespanReport": {
108
+ "message": "‏‮Timespan‬‏ ‏‮report‬‏"
109
+ },
110
+ "flow-report/src/i18n/ui-strings.js | title": {
111
+ "message": "‏‮Lighthouse‬‏ ‏‮User‬‏ ‏‮Flow‬‏ ‏‮Report‬‏"
112
+ },
2
113
  "lighthouse-core/audits/accessibility/accesskeys.js | description": {
3
114
  "message": "‏‮Access‬‏ ‏‮keys‬‏ ‏‮let‬‏ ‏‮users‬‏ ‏‮quickly‬‏ ‏‮focus‬‏ ‏‮a‬‏ ‏‮part‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮page‬‏. ‏‮For‬‏ ‏‮proper‬‏ ‏‮navigation‬‏, ‏‮each‬‏ ‏‮access‬‏ ‏‮key‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮unique‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/accesskeys/)."
4
115
  },
@@ -554,6 +665,12 @@
554
665
  "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnDisplayedDimensions": {
555
666
  "message": "‏‮Displayed‬‏ ‏‮dimensions‬‏"
556
667
  },
668
+ "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | failureTitle": {
669
+ "message": "‏‮Images‬‏ ‏‮were‬‏ ‏‮larger‬‏ ‏‮than‬‏ ‏‮their‬‏ ‏‮displayed‬‏ ‏‮size‬‏"
670
+ },
671
+ "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | title": {
672
+ "message": "‏‮Images‬‏ ‏‮were‬‏ ‏‮appropriate‬‏ ‏‮for‬‏ ‏‮their‬‏ ‏‮displayed‬‏ ‏‮size‬‏"
673
+ },
557
674
  "lighthouse-core/audits/byte-efficiency/uses-responsive-images.js | description": {
558
675
  "message": "‏‮Serve‬‏ ‏‮images‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮appropriately‬‏-‏‮sized‬‏ ‏‮to‬‏ ‏‮save‬‏ ‏‮cellular‬‏ ‏‮data‬‏ ‏‮and‬‏ ‏‮improve‬‏ ‏‮load‬‏ ‏‮time‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/uses-responsive-images/)."
559
676
  },
@@ -1007,6 +1124,15 @@
1007
1124
  "lighthouse-core/audits/layout-shift-elements.js | title": {
1008
1125
  "message": "‏‮Avoid‬‏ ‏‮large‬‏ ‏‮layout‬‏ ‏‮shifts‬‏"
1009
1126
  },
1127
+ "lighthouse-core/audits/lcp-lazy-loaded.js | description": {
1128
+ "message": "‏‮Above‬‏-‏‮the‬‏-‏‮fold‬‏ ‏‮images‬‏ ‏‮that‬‏ ‏‮are‬‏ ‏‮lazily‬‏ ‏‮loaded‬‏ ‏‮render‬‏ ‏‮later‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮page‬‏ ‏‮lifecycle‬‏, ‏‮which‬‏ ‏‮can‬‏ ‏‮delay‬‏ ‏‮the‬‏ ‏‮largest‬‏ ‏‮contentful‬‏ ‏‮paint‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/lcp-lazy-loading/)."
1129
+ },
1130
+ "lighthouse-core/audits/lcp-lazy-loaded.js | failureTitle": {
1131
+ "message": "‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮image‬‏ ‏‮was‬‏ ‏‮lazily‬‏ ‏‮loaded‬‏"
1132
+ },
1133
+ "lighthouse-core/audits/lcp-lazy-loaded.js | title": {
1134
+ "message": "‏‮Largest‬‏ ‏‮Contentful‬‏ ‏‮Paint‬‏ ‏‮image‬‏ ‏‮was‬‏ ‏‮not‬‏ ‏‮lazily‬‏ ‏‮loaded‬‏"
1135
+ },
1010
1136
  "lighthouse-core/audits/long-tasks.js | description": {
1011
1137
  "message": "‏‮Lists‬‏ ‏‮the‬‏ ‏‮longest‬‏ ‏‮tasks‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮main‬‏ ‏‮thread‬‏, ‏‮useful‬‏ ‏‮for‬‏ ‏‮identifying‬‏ ‏‮worst‬‏ ‏‮contributors‬‏ ‏‮to‬‏ ‏‮input‬‏ ‏‮delay‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/long-tasks-devtools/)"
1012
1138
  },
@@ -1524,7 +1650,7 @@
1524
1650
  "message": "‏‮Page‬‏ ‏‮has‬‏ ‏‮valid‬‏ ‏‮source‬‏ ‏‮maps‬‏"
1525
1651
  },
1526
1652
  "lighthouse-core/audits/viewport.js | description": {
1527
- "message": "‏‮Add‬‏ ‏‮a‬‏ `<meta name=\"viewport\">` ‏‮tag‬‏ ‏‮to‬‏ ‏‮optimize‬‏ ‏‮your‬‏ ‏‮app‬‏ ‏‮for‬‏ ‏‮mobile‬‏ ‏‮screens‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/viewport/)."
1653
+ "message": "‏‮A‬‏ `<meta name=\"viewport\">` ‏‮not‬‏ ‏‮only‬‏ ‏‮optimizes‬‏ ‏‮your‬‏ ‏‮app‬‏ ‏‮for‬‏ ‏‮mobile‬‏ ‏‮screen‬‏ ‏‮sizes‬‏, ‏‮but‬‏ ‏‮also‬‏ ‏‮prevents‬‏ [‏‮a‬‏ 300 ‏‮millisecond‬‏ ‏‮delay‬‏ ‏‮to‬‏ ‏‮user‬‏ ‏‮input‬‏](https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away). [‏‮Learn‬‏ ‏‮more‬‏](https://web.dev/viewport/)."
1528
1654
  },
1529
1655
  "lighthouse-core/audits/viewport.js | explanationNoTag": {
1530
1656
  "message": "‏‮No‬‏ `<meta name=\"viewport\">` ‏‮tag‬‏ ‏‮found‬‏"
@@ -1659,7 +1785,7 @@
1659
1785
  "message": "‏‮PWA‬‏ ‏‮Optimized‬‏"
1660
1786
  },
1661
1787
  "lighthouse-core/config/default-config.js | seoCategoryDescription": {
1662
- "message": "‏‮These‬‏ ‏‮checks‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮your‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮optimized‬‏ ‏‮for‬‏ ‏‮search‬‏ ‏‮engine‬‏ ‏‮results‬‏ ‏‮ranking‬‏. ‏‮There‬‏ ‏‮are‬‏ ‏‮additional‬‏ ‏‮factors‬‏ ‏‮Lighthouse‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮check‬‏ ‏‮that‬‏ ‏‮may‬‏ ‏‮affect‬‏ ‏‮your‬‏ ‏‮search‬‏ ‏‮ranking‬‏. [‏‮Learn‬‏ ‏‮more‬‏](https://support.google.com/webmasters/answer/35769)."
1788
+ "message": "‏‮These‬‏ ‏‮checks‬‏ ‏‮ensure‬‏ ‏‮that‬‏ ‏‮your‬‏ ‏‮page‬‏ ‏‮is‬‏ ‏‮following‬‏ ‏‮basic‬‏ ‏‮search‬‏ ‏‮engine‬‏ ‏‮optimization‬‏ ‏‮advice‬‏. ‏‮There‬‏ ‏‮are‬‏ ‏‮many‬‏ ‏‮additional‬‏ ‏‮factors‬‏ ‏‮Lighthouse‬‏ ‏‮does‬‏ ‏‮not‬‏ ‏‮score‬‏ ‏‮here‬‏ ‏‮that‬‏ ‏‮may‬‏ ‏‮affect‬‏ ‏‮your‬‏ ‏‮search‬‏ ‏‮ranking‬‏, ‏‮including‬‏ ‏‮performance‬‏ ‏‮on‬‏ [‏‮Core‬‏ ‏‮Web‬‏ ‏‮Vitals‬‏](https://web.dev/learn-web-vitals/). [‏‮Learn‬‏ ‏‮more‬‏](https://support.google.com/webmasters/answer/35769)."
1663
1789
  },
1664
1790
  "lighthouse-core/config/default-config.js | seoCategoryManualDescription": {
1665
1791
  "message": "‏‮Run‬‏ ‏‮these‬‏ ‏‮additional‬‏ ‏‮validators‬‏ ‏‮on‬‏ ‏‮your‬‏ ‏‮site‬‏ ‏‮to‬‏ ‏‮check‬‏ ‏‮additional‬‏ ‏‮SEO‬‏ ‏‮best‬‏ ‏‮practices‬‏."
@@ -1713,7 +1839,7 @@
1713
1839
  "message": "‏‮Missing‬‏ ‏‮base‬‏-‏‮uri‬‏ ‏‮allows‬‏ ‏‮injected‬‏ <base> ‏‮tags‬‏ ‏‮to‬‏ ‏‮set‬‏ ‏‮the‬‏ ‏‮base‬‏ ‏‮URL‬‏ ‏‮for‬‏ ‏‮all‬‏ ‏‮relative‬‏ ‏‮URLs‬‏ (‏‮e‬‏.‏‮g‬‏. ‏‮scripts‬‏) ‏‮to‬‏ ‏‮an‬‏ ‏‮attacker‬‏ ‏‮controlled‬‏ ‏‮domain‬‏. ‏‮Consider‬‏ ‏‮setting‬‏ ‏‮base‬‏-‏‮uri‬‏ ‏‮to‬‏ '‏‮none‬‏' ‏‮or‬‏ '‏‮self‬‏'."
1714
1840
  },
1715
1841
  "lighthouse-core/lib/csp-evaluator.js | missingObjectSrc": {
1716
- "message": "‏‮Elements‬‏ ‏‮controlled‬‏ ‏‮by‬‏ ‏‮object‬‏-‏‮src‬‏ ‏‮are‬‏ ‏‮considered‬‏ ‏‮legacy‬‏ ‏‮features‬‏. ‏‮Consider‬‏ ‏‮setting‬‏ ‏‮object‬‏-‏‮src‬‏ ‏‮to‬‏ '‏‮none‬‏' ‏‮to‬‏ ‏‮prevent‬‏ ‏‮the‬‏ ‏‮injection‬‏ ‏‮of‬‏ ‏‮plugins‬‏ ‏‮that‬‏ ‏‮execute‬‏ ‏‮unsafe‬‏ ‏‮scripts‬‏."
1842
+ "message": "‏‮Missing‬‏ ‏‮object‬‏-‏‮src‬‏ ‏‮allows‬‏ ‏‮the‬‏ ‏‮injection‬‏ ‏‮of‬‏ ‏‮plugins‬‏ ‏‮that‬‏ ‏‮execute‬‏ ‏‮unsafe‬‏ ‏‮scripts‬‏. ‏‮Consider‬‏ ‏‮setting‬‏ ‏‮object‬‏-‏‮src‬‏ ‏‮to‬‏ '‏‮none‬‏' ‏‮if‬‏ ‏‮you‬‏ ‏‮can‬‏."
1717
1843
  },
1718
1844
  "lighthouse-core/lib/csp-evaluator.js | missingScriptSrc": {
1719
1845
  "message": "‏‮script‬‏-‏‮src‬‏ ‏‮directive‬‏ ‏‮is‬‏ ‏‮missing‬‏. ‏‮This‬‏ ‏‮can‬‏ ‏‮allow‬‏ ‏‮the‬‏ ‏‮execution‬‏ ‏‮of‬‏ ‏‮unsafe‬‏ ‏‮scripts‬‏."
@@ -1727,6 +1853,12 @@
1727
1853
  "lighthouse-core/lib/csp-evaluator.js | nonceLength": {
1728
1854
  "message": "‏‮Nonces‬‏ ‏‮should‬‏ ‏‮be‬‏ ‏‮at‬‏ ‏‮least‬‏ 8 ‏‮characters‬‏ ‏‮long‬‏."
1729
1855
  },
1856
+ "lighthouse-core/lib/csp-evaluator.js | plainUrlScheme": {
1857
+ "message": "‏‮Avoid‬‏ ‏‮using‬‏ ‏‮plain‬‏ ‏‮URL‬‏ ‏‮schemes‬‏ ({keyword}) ‏‮in‬‏ ‏‮this‬‏ ‏‮directive‬‏. ‏‮Plain‬‏ ‏‮URL‬‏ ‏‮schemes‬‏ ‏‮allow‬‏ ‏‮scripts‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮sourced‬‏ ‏‮from‬‏ ‏‮an‬‏ ‏‮unsafe‬‏ ‏‮domain‬‏."
1858
+ },
1859
+ "lighthouse-core/lib/csp-evaluator.js | plainWildcards": {
1860
+ "message": "‏‮Avoid‬‏ ‏‮using‬‏ ‏‮plain‬‏ ‏‮wildcards‬‏ ({keyword}) ‏‮in‬‏ ‏‮this‬‏ ‏‮directive‬‏. ‏‮Plain‬‏ ‏‮wildcards‬‏ ‏‮allow‬‏ ‏‮scripts‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮sourced‬‏ ‏‮from‬‏ ‏‮an‬‏ ‏‮unsafe‬‏ ‏‮domain‬‏."
1861
+ },
1730
1862
  "lighthouse-core/lib/csp-evaluator.js | reportToOnly": {
1731
1863
  "message": "‏‮The‬‏ ‏‮reporting‬‏ ‏‮destination‬‏ ‏‮is‬‏ ‏‮only‬‏ ‏‮configured‬‏ ‏‮via‬‏ ‏‮the‬‏ ‏‮report‬‏-‏‮to‬‏ ‏‮directive‬‏. ‏‮This‬‏ ‏‮directive‬‏ ‏‮is‬‏ ‏‮only‬‏ ‏‮supported‬‏ ‏‮in‬‏ ‏‮Chromium‬‏-‏‮based‬‏ ‏‮browsers‬‏ ‏‮so‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮recommended‬‏ ‏‮to‬‏ ‏‮also‬‏ ‏‮use‬‏ ‏‮a‬‏ ‏‮report‬‏-‏‮uri‬‏ ‏‮directive‬‏."
1732
1864
  },
@@ -1734,7 +1866,7 @@
1734
1866
  "message": "‏‮No‬‏ ‏‮CSP‬‏ ‏‮configures‬‏ ‏‮a‬‏ ‏‮reporting‬‏ ‏‮destination‬‏. ‏‮This‬‏ ‏‮makes‬‏ ‏‮it‬‏ ‏‮difficult‬‏ ‏‮to‬‏ ‏‮maintain‬‏ ‏‮the‬‏ ‏‮CSP‬‏ ‏‮over‬‏ ‏‮time‬‏ ‏‮and‬‏ ‏‮monitor‬‏ ‏‮for‬‏ ‏‮any‬‏ ‏‮breakages‬‏."
1735
1867
  },
1736
1868
  "lighthouse-core/lib/csp-evaluator.js | strictDynamic": {
1737
- "message": "‏‮Host‬‏ ‏‮allowlists‬‏ ‏‮can‬‏ ‏‮frequently‬‏ ‏‮be‬‏ ‏‮bypassed‬‏. ‏‮Consider‬‏ ‏‮using‬‏ '‏‮strict‬‏-‏‮dynamic‬‏' ‏‮in‬‏ ‏‮combination‬‏ ‏‮with‬‏ ‏‮CSP‬‏ ‏‮nonces‬‏ ‏‮or‬‏ ‏‮hashes‬‏."
1869
+ "message": "‏‮Host‬‏ ‏‮allowlists‬‏ ‏‮can‬‏ ‏‮frequently‬‏ ‏‮be‬‏ ‏‮bypassed‬‏. ‏‮Consider‬‏ ‏‮using‬‏ ‏‮CSP‬‏ ‏‮nonces‬‏ ‏‮or‬‏ ‏‮hashes‬‏ ‏‮instead‬‏, ‏‮along‬‏ ‏‮with‬‏ '‏‮strict‬‏-‏‮dynamic‬‏' ‏‮if‬‏ ‏‮necessary‬‏."
1738
1870
  },
1739
1871
  "lighthouse-core/lib/csp-evaluator.js | unknownDirective": {
1740
1872
  "message": "‏‮Unknown‬‏ ‏‮CSP‬‏ ‏‮directive‬‏."
@@ -1742,6 +1874,9 @@
1742
1874
  "lighthouse-core/lib/csp-evaluator.js | unknownKeyword": {
1743
1875
  "message": "{keyword} ‏‮seems‬‏ ‏‮to‬‏ ‏‮be‬‏ ‏‮an‬‏ ‏‮invalid‬‏ ‏‮keyword‬‏."
1744
1876
  },
1877
+ "lighthouse-core/lib/csp-evaluator.js | unsafeInline": {
1878
+ "message": "'‏‮unsafe‬‏-‏‮inline‬‏' ‏‮allows‬‏ ‏‮the‬‏ ‏‮execution‬‏ ‏‮of‬‏ ‏‮unsafe‬‏ ‏‮in‬‏-‏‮page‬‏ ‏‮scripts‬‏ ‏‮and‬‏ ‏‮event‬‏ ‏‮handlers‬‏. ‏‮Consider‬‏ ‏‮using‬‏ ‏‮CSP‬‏ ‏‮nonces‬‏ ‏‮or‬‏ ‏‮hashes‬‏ ‏‮to‬‏ ‏‮allow‬‏ ‏‮scripts‬‏ ‏‮individually‬‏."
1879
+ },
1745
1880
  "lighthouse-core/lib/csp-evaluator.js | unsafeInlineFallback": {
1746
1881
  "message": "‏‮Consider‬‏ ‏‮adding‬‏ '‏‮unsafe‬‏-‏‮inline‬‏' (‏‮ignored‬‏ ‏‮by‬‏ ‏‮browsers‬‏ ‏‮supporting‬‏ ‏‮nonces‬‏/‏‮hashes‬‏) ‏‮to‬‏ ‏‮be‬‏ ‏‮backward‬‏ ‏‮compatible‬‏ ‏‮with‬‏ ‏‮older‬‏ ‏‮browsers‬‏."
1747
1882
  },
@@ -1,4 +1,115 @@
1
1
  {
2
+ "flow-report/src/i18n/ui-strings.js | allReports": {
3
+ "message": "كل التقارير"
4
+ },
5
+ "flow-report/src/i18n/ui-strings.js | categories": {
6
+ "message": "Categories"
7
+ },
8
+ "flow-report/src/i18n/ui-strings.js | categoryAccessibility": {
9
+ "message": "إمكانية الوصول"
10
+ },
11
+ "flow-report/src/i18n/ui-strings.js | categoryBestPractices": {
12
+ "message": "أفضل الممارسات"
13
+ },
14
+ "flow-report/src/i18n/ui-strings.js | categoryPerformance": {
15
+ "message": "الأداء"
16
+ },
17
+ "flow-report/src/i18n/ui-strings.js | categoryProgressiveWebApp": {
18
+ "message": "تطبيق الويب التقدّمي"
19
+ },
20
+ "flow-report/src/i18n/ui-strings.js | categorySeo": {
21
+ "message": "تحسين محركات البحث"
22
+ },
23
+ "flow-report/src/i18n/ui-strings.js | desktop": {
24
+ "message": "سطح المكتب"
25
+ },
26
+ "flow-report/src/i18n/ui-strings.js | helpDialogTitle": {
27
+ "message": "Understanding the Lighthouse Flow Report"
28
+ },
29
+ "flow-report/src/i18n/ui-strings.js | helpLabel": {
30
+ "message": "Understanding Flows"
31
+ },
32
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionNavigation": {
33
+ "message": "Use Navigation reports to..."
34
+ },
35
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionSnapshot": {
36
+ "message": "Use Snapshot reports to..."
37
+ },
38
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseInstructionTimespan": {
39
+ "message": "Use Timespan reports to..."
40
+ },
41
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation1": {
42
+ "message": "Obtain a Lighthouse Performance score."
43
+ },
44
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation2": {
45
+ "message": "Measure page load Performance metrics such as Largest Contentful Paint and Speed Index."
46
+ },
47
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseNavigation3": {
48
+ "message": "Assess Progressive Web App capabilities."
49
+ },
50
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot1": {
51
+ "message": "Find accessibility issues in single page applications or complex forms."
52
+ },
53
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseSnapshot2": {
54
+ "message": "Evaluate best practices of menus and UI elements hidden behind interaction."
55
+ },
56
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan1": {
57
+ "message": "Measure layout shifts and JavaScript execution time on a series of interactions."
58
+ },
59
+ "flow-report/src/i18n/ui-strings.js | helpUseCaseTimespan2": {
60
+ "message": "Discover performance opportunities to improve the experience for long-lived pages and single-page applications."
61
+ },
62
+ "flow-report/src/i18n/ui-strings.js | mobile": {
63
+ "message": "الأجهزة الجوّالة"
64
+ },
65
+ "flow-report/src/i18n/ui-strings.js | navigationDescription": {
66
+ "message": "تحميل الصفحة"
67
+ },
68
+ "flow-report/src/i18n/ui-strings.js | navigationLongDescription": {
69
+ "message": "Navigation reports analyze a single page load, exactly like the original Lighthouse reports."
70
+ },
71
+ "flow-report/src/i18n/ui-strings.js | navigationReport": {
72
+ "message": "تقرير التنقُّل في الصفحة"
73
+ },
74
+ "flow-report/src/i18n/ui-strings.js | ratingAverage": {
75
+ "message": "متوسط"
76
+ },
77
+ "flow-report/src/i18n/ui-strings.js | ratingError": {
78
+ "message": "حدث خطأ"
79
+ },
80
+ "flow-report/src/i18n/ui-strings.js | ratingFail": {
81
+ "message": "غير جيد"
82
+ },
83
+ "flow-report/src/i18n/ui-strings.js | ratingPass": {
84
+ "message": "جيد"
85
+ },
86
+ "flow-report/src/i18n/ui-strings.js | save": {
87
+ "message": "Save"
88
+ },
89
+ "flow-report/src/i18n/ui-strings.js | snapshotDescription": {
90
+ "message": "الحالة التي تم تسجيلها للصفحة"
91
+ },
92
+ "flow-report/src/i18n/ui-strings.js | snapshotLongDescription": {
93
+ "message": "Snapshot reports analyze the page in a particular state, typically after user interactions."
94
+ },
95
+ "flow-report/src/i18n/ui-strings.js | snapshotReport": {
96
+ "message": "التقرير الخاص بالصفحة في لحظة معيَّنة"
97
+ },
98
+ "flow-report/src/i18n/ui-strings.js | summary": {
99
+ "message": "ملخّص"
100
+ },
101
+ "flow-report/src/i18n/ui-strings.js | timespanDescription": {
102
+ "message": "تفاعلات المستخدمين"
103
+ },
104
+ "flow-report/src/i18n/ui-strings.js | timespanLongDescription": {
105
+ "message": "Timespan reports analyze an arbitrary period of time, typically containing user interactions."
106
+ },
107
+ "flow-report/src/i18n/ui-strings.js | timespanReport": {
108
+ "message": "تقرير الإطار الزمني"
109
+ },
110
+ "flow-report/src/i18n/ui-strings.js | title": {
111
+ "message": "تقرير تدفق المستخدمين في أداة Lighthouse"
112
+ },
2
113
  "lighthouse-core/audits/accessibility/accesskeys.js | description": {
3
114
  "message": "تتيح مفاتيح الوصول للمستخدمين التركيز بسرعة على جزء من الصفحة. للانتقال إلى الموضع الصحيح من الصفحة، يجب أن يكون كل مفتاح وصول فريدًا. [مزيد من المعلومات](https://web.dev/accesskeys/)"
4
115
  },
@@ -554,6 +665,12 @@
554
665
  "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | columnDisplayedDimensions": {
555
666
  "message": "الأبعاد المعروضة"
556
667
  },
668
+ "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | failureTitle": {
669
+ "message": "كانت الصور أكبر من حجمها المعروض"
670
+ },
671
+ "lighthouse-core/audits/byte-efficiency/uses-responsive-images-snapshot.js | title": {
672
+ "message": "كانت الصور مناسبة لحجمها المعروض"
673
+ },
557
674
  "lighthouse-core/audits/byte-efficiency/uses-responsive-images.js | description": {
558
675
  "message": "يمكنك عرض صور بحجم مناسب لحفظ بيانات شبكة الجوّال وتحسين وقت التحميل. [مزيد من المعلومات](https://web.dev/uses-responsive-images/)"
559
676
  },
@@ -1007,6 +1124,15 @@
1007
1124
  "lighthouse-core/audits/layout-shift-elements.js | title": {
1008
1125
  "message": "تجنُّب متغيّرات التصميم الكبيرة"
1009
1126
  },
1127
+ "lighthouse-core/audits/lcp-lazy-loaded.js | description": {
1128
+ "message": "تُعرَض لاحقًا الصور التي تم تحميلها ببطء في الجزء المرئي من الصفحة، ما يتسبب في تأخير سرعة عرض أكبر جزء من المحتوى على الصفحة. [مزيد من المعلومات](https://web.dev/lcp-lazy-loading/)"
1129
+ },
1130
+ "lighthouse-core/audits/lcp-lazy-loaded.js | failureTitle": {
1131
+ "message": "تم عرض أكبر صورة ظاهرة في الصفحة بسرعة غير مناسبة"
1132
+ },
1133
+ "lighthouse-core/audits/lcp-lazy-loaded.js | title": {
1134
+ "message": "تم عرض أكبر صورة ظاهرة في الصفحة بسرعة مناسبة"
1135
+ },
1010
1136
  "lighthouse-core/audits/long-tasks.js | description": {
1011
1137
  "message": "يتم إدراج أطول المهام في سلسلة المحادثات الرئيسية، ما يساعد في تحديد أكثر الأشخاص الذين يسببون تأخير في عملية الإدخال. [مزيد من المعلومات](https://web.dev/long-tasks-devtools/)"
1012
1138
  },
@@ -1146,10 +1272,10 @@
1146
1272
  "message": "تم تحميل الخطوط التي استخدمت `font-display: optional` مُسبَقًا"
1147
1273
  },
1148
1274
  "lighthouse-core/audits/preload-lcp-image.js | description": {
1149
- "message": "Preload the image used by the LCP element in order to improve your LCP time. [Learn more](https://web.dev/optimize-lcp/#preload-important-resources)."
1275
+ "message": "يُرجى إجراء تحميل مُسبَق للصورة التي يستخدمها عنصر المقياس \"سرعة عرض أكبر جزء من المحتوى على الصفحة\" (LCP وذلك لتحسين وقت المقياس. [مزيد من المعلومات](https://web.dev/optimize-lcp/#preload-important-resources)"
1150
1276
  },
1151
1277
  "lighthouse-core/audits/preload-lcp-image.js | title": {
1152
- "message": "Preload Largest Contentful Paint image"
1278
+ "message": "التحميل المُسبَق لصورة المقياس \"سرعة عرض أكبر جزء من المحتوى على الصفحة\""
1153
1279
  },
1154
1280
  "lighthouse-core/audits/redirects-http.js | description": {
1155
1281
  "message": "في حال أعددت HTTPS مسبقًا، تأكّد من إعادة توجيه جميع زيارات HTTP إلى HTTPS من أجل تفعيل ميزات الويب الآمنة لجميع المستخدمين. [مزيد من المعلومات](https://web.dev/redirects-http/)"
@@ -1524,7 +1650,7 @@
1524
1650
  "message": "تحتوي الصفحة على خرائط مصدر صالحة"
1525
1651
  },
1526
1652
  "lighthouse-core/audits/viewport.js | description": {
1527
- "message": "يُرجى إضافة علامة `<meta name=\"viewport\">` لتحسين تطبيقك لشاشات الجوّال. [مزيد من المعلومات](https://web.dev/viewport/)"
1653
+ "message": "لا يساعد `<meta name=\"viewport\">` على تحسين تطبيقك ليناسب أحجام شاشات الأجهزة الجوّالة فحسب، بل يمنع أيضًا [تأخّر البيانات التي يدخلها المستخدم بمقدار 300 ملي ثانية](https://developers.google.com/web/updates/2013/12/300ms-tap-delay-gone-away). [مزيد من المعلومات](https://web.dev/viewport/)"
1528
1654
  },
1529
1655
  "lighthouse-core/audits/viewport.js | explanationNoTag": {
1530
1656
  "message": "لم يتم العثور على علامة `<meta name=\"viewport\">`"
@@ -1659,7 +1785,7 @@
1659
1785
  "message": "تحسين PWA"
1660
1786
  },
1661
1787
  "lighthouse-core/config/default-config.js | seoCategoryDescription": {
1662
- "message": "تضمن عمليات التحقّق هذه تحسين أداء صفحتك لتظهر في ترتيب نتائج محرّك البحث. هناك عوامل إضافية لا يتحقّق منها Lighthouse قد تؤثر في ترتيب نتائج البحث. [مزيد من المعلومات](https://support.google.com/webmasters/answer/35769)"
1788
+ "message": "تضمن عمليات التحقّق هذه اتّباع صفحتك للنصائح الأساسية الخاصة بتحسين محركات البحث. هناك العديد من العوامل الإضافية التي تتسبب في عدم تحقيق أداة Lighthouse لأي نقاط هنا والتي قد تؤثر في ترتيب نتائج البحث، بما في ذلك الأداء في ما يخص [مؤشرات أداء الويب الأساسية](https://web.dev/learn-web-vitals/). [مزيد من المعلومات](https://support.google.com/webmasters/answer/35769)"
1663
1789
  },
1664
1790
  "lighthouse-core/config/default-config.js | seoCategoryManualDescription": {
1665
1791
  "message": "تشغيل أدوات التحقُّق الإضافية هذه على موقعك الإلكتروني للتحقُّق من أفضل ممارسات تحسين محركات البحث الإضافية."
@@ -1713,7 +1839,7 @@
1713
1839
  "message": "يسمح عدم توفُّر base-uri بأن تضبط علامات <base> التي تم إدراجها عنوان URL الأساسي لجميع عناوين URL النسبية (على سبيل المثال، النصوص البرمجية) على نطاق يتحكّم فيه مهاجم. ننصحك بضبط base-uri على \"none\" أو \"self\"."
1714
1840
  },
1715
1841
  "lighthouse-core/lib/csp-evaluator.js | missingObjectSrc": {
1716
- "message": "تُعتبر العناصر التي يتم التحكُّم فيها بواسطة object-src ميزات قديمة. ننصحك بضبط object-src على 'none' لمنع إدخال المكوّنات الإضافية التي تنفِّذ نصوصًا برمجية غير آمنة."
1842
+ "message": "إنّ عدم توفّر الأمر object-src يسمح بإدخال المكوّنات الإضافية التي تنفِّذ نصوصًا برمجية غير آمنة، ولذلك ننصحك بضبط object-src على 'none' إذا أمكن."
1717
1843
  },
1718
1844
  "lighthouse-core/lib/csp-evaluator.js | missingScriptSrc": {
1719
1845
  "message": "الأمر التوجيهي script-src غير متوفّر. يمكن أن يسمح ذلك بتنفيذ نصوص برمجية غير آمنة."
@@ -1727,6 +1853,12 @@
1727
1853
  "lighthouse-core/lib/csp-evaluator.js | nonceLength": {
1728
1854
  "message": "يجب ألّا تقل الأرقام الخاصة عن 8 أحرف."
1729
1855
  },
1856
+ "lighthouse-core/lib/csp-evaluator.js | plainUrlScheme": {
1857
+ "message": "تجنَّب استخدام المخطّطات العادية لعناوين URL ({keyword}) في هذا الأمر لأنّها تسمح بجلب النصوص البرمجية من نطاق غير آمن."
1858
+ },
1859
+ "lighthouse-core/lib/csp-evaluator.js | plainWildcards": {
1860
+ "message": "تجنَّب استخدام أحرف البدل العادية ({keyword}) في هذا الأمر لأنّها تسمح بجلب النصوص البرمجية من نطاق غير آمن."
1861
+ },
1730
1862
  "lighthouse-core/lib/csp-evaluator.js | reportToOnly": {
1731
1863
  "message": "يتم ضبط وجهة إعداد التقارير من خلال الأمر التوجيهي report-to فقط. يتوافق هذا الأمر التوجيهي مع المتصفِّحات المستنِدة إلى Chromium فقط، ولذلك نقترح استخدام الأمر التوجيهي report-uri أيضًا."
1732
1864
  },
@@ -1734,7 +1866,7 @@
1734
1866
  "message": "لا توفّر سياسة CSP أي وجهة إعداد تقارير، ما يجعل من الصعب الحفاظ على هذه السياسة بمرور الوقت ورصد أي خلل فيها."
1735
1867
  },
1736
1868
  "lighthouse-core/lib/csp-evaluator.js | strictDynamic": {
1737
- "message": "قد يتم تجاوز قائمة المضيفين المسموح بها بشكل متكرّر. ننصحك باستخدام 'strict-dynamic' مع أرقام CSP الخاصة أو أجزائها."
1869
+ "message": "قد يتم تجاوز قائمة المضيفين المسموح بها بشكل متكرّر. ننصحك باستخدام الأرقام الخاصة لسياسة أمان المحتوى (CSP) أو أجزائها بدلاً من ذلك، بالإضافة إلى 'strict-dynamic' إذا لزم الأمر."
1738
1870
  },
1739
1871
  "lighthouse-core/lib/csp-evaluator.js | unknownDirective": {
1740
1872
  "message": "أمر CSP توجيهي غير معروف."
@@ -1742,6 +1874,9 @@
1742
1874
  "lighthouse-core/lib/csp-evaluator.js | unknownKeyword": {
1743
1875
  "message": "الكلمة الرئيسية {keyword} غير صالحة."
1744
1876
  },
1877
+ "lighthouse-core/lib/csp-evaluator.js | unsafeInline": {
1878
+ "message": "يسمح 'unsafe-inline' بتنفيذ نصوص برمجية ومعالجات أحداث غير آمنة في الصفحة. ننصحك باستخدام أرقام CSP الخاصة أو أجزائها للسماح بالنصوص البرمجية كل على حدة."
1879
+ },
1745
1880
  "lighthouse-core/lib/csp-evaluator.js | unsafeInlineFallback": {
1746
1881
  "message": "ننصحك بإضافة الأمر التوجيهي 'unsafe-inline' (الذي تتجاهله المتصفِّحات المتوافقة مع nonces/hashes) لجعل CSP متوافقة مع أنظمة المتصفِّحات القديمة."
1747
1882
  },