-
Notifications
You must be signed in to change notification settings - Fork 410
Comprehensive multilingual enhancement #30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
neoOpus
wants to merge
13
commits into
scriptscat:main
Choose a base branch
from
neoOpus:i18n-wip
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 11 commits
Commits
Show all changes
13 commits
Select commit
Hold shift + click to select a range
cf5d758
fix(changelog): Correct 0.17.0 release date and remove duplicate entry
neoOpus 11d1628
feat(i18n): Add missing English translations for versions 0.15.x-0.14.x
neoOpus cbeb440
feat(i18n): Add complete English developer documentation and about se…
neoOpus 0796fb7
feat(i18n): Add English beta changelog and update gitignore
neoOpus 4d82f54
chore: Save current work in progress
neoOpus 781d32c
feat(i18n): Expand multi-language support to 7 languages
neoOpus aa7e9fc
feat(i18n): Add missing English changelog versions 0.12.x-0.10.x
neoOpus c226c31
feat(i18n): Add comprehensive homepage comment translations for all l…
neoOpus ef15a7b
feat(i18n): Implement proper React component internationalization
neoOpus f643264
feat(i18n): Comprehensive multilingual enhancement with senior-level …
neoOpus e55733b
Merge branch 'scriptscat:main' into main
neoOpus 2742f3a
Merge branch 'main' into i18n-wip
neoOpus c42c2dd
Delete package-lock.json
neoOpus File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -20,3 +20,4 @@ yarn-debug.log* | |
| yarn-error.log* | ||
|
|
||
| .vscode | ||
| .github/copilot-instructions.md | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,170 @@ | ||
| { | ||
| "theme.ErrorPageContent.title": { | ||
| "message": "هذه الصفحة تعطلت.", | ||
| "description": "The title of the fallback page when the page crashed" | ||
| }, | ||
| "theme.BackToTopButton.buttonAriaLabel": { | ||
| "message": "العودة إلى الأعلى", | ||
| "description": "The ARIA label for the back to top button" | ||
| }, | ||
| "theme.blog.archive.title": { | ||
| "message": "الأرشيف", | ||
| "description": "The page & hero title of the blog archive page" | ||
| }, | ||
| "theme.blog.archive.description": { | ||
| "message": "الأرشيف", | ||
| "description": "The page & hero description of the blog archive page" | ||
| }, | ||
| "theme.blog.paginator.navAriaLabel": { | ||
| "message": "التنقل في قائمة مقالات المدونة", | ||
| "description": "The ARIA label for the blog pagination" | ||
| }, | ||
| "theme.blog.paginator.newerEntries": { | ||
| "message": "المقالات الأحدث", | ||
| "description": "The label used to navigate to the newer blog posts page (previous page)" | ||
| }, | ||
| "theme.blog.paginator.olderEntries": { | ||
| "message": "المقالات الأقدم", | ||
| "description": "The label used to navigate to the older blog posts page (next page)" | ||
| }, | ||
| "theme.blog.post.paginator.navAriaLabel": { | ||
| "message": "التنقل في مقالات المدونة", | ||
| "description": "The ARIA label for the blog posts pagination" | ||
| }, | ||
| "theme.blog.post.paginator.newerPost": { | ||
| "message": "المقال الأحدث", | ||
| "description": "The blog post button label to navigate to the newer/previous post" | ||
| }, | ||
| "theme.blog.post.paginator.olderPost": { | ||
| "message": "المقال الأقدم", | ||
| "description": "The blog post button label to navigate to the older/next post" | ||
| }, | ||
| "theme.blog.post.plurals": { | ||
| "message": "{count} مقالات", | ||
| "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" | ||
| }, | ||
| "theme.blog.tagTitle": { | ||
| "message": "{nPosts} مقالات مُعلَّمة بـ \"{tagName}\"", | ||
| "description": "The title of the page for a blog tag" | ||
| }, | ||
| "theme.tags.tagsPageLink": { | ||
| "message": "عرض جميع العلامات", | ||
| "description": "The label of the link targeting the tag list page" | ||
| }, | ||
| "homepage.hero.title": { | ||
| "message": "ScriptCat", | ||
| "description": "The hero title on the homepage" | ||
| }, | ||
| "homepage.hero.subtitle": { | ||
| "message": "إضافة متصفح يمكنها تشغيل سكريبتات المستخدم، كل شيء يمكن برمجته، اجعل متصفحك يفعل المزيد!", | ||
| "description": "The hero subtitle on the homepage" | ||
| }, | ||
| "homepage.features.powerful.title": { | ||
| "message": "ميزات قوية", | ||
| "description": "Title for powerful features section" | ||
| }, | ||
| "homepage.features.powerful.description": { | ||
| "message": "متوافق تماماً مع Tampermonkey، سكريبتات الخلفية، سكريبتات مجدولة، واجهة برمجة تطبيقات غنية", | ||
| "description": "Description for powerful features section" | ||
| }, | ||
| "homepage.features.easy.title": { | ||
| "message": "سهل الاستخدام", | ||
| "description": "Title for easy to use section" | ||
| }, | ||
| "homepage.features.easy.description": { | ||
| "message": "محرر مدمج، إكمال تلقائي ذكي، فحص بناء الجملة، تطوير سكريبتات أكثر كفاءة", | ||
| "description": "Description for easy to use section" | ||
| }, | ||
| "homepage.features.secure.title": { | ||
| "message": "آمن وموثوق", | ||
| "description": "Title for secure and reliable section" | ||
| }, | ||
| "homepage.features.secure.description": { | ||
| "message": "آلية الحماية، إدارة الأذونات، ضمان تشغيل آمن للسكريبتات", | ||
| "description": "Description for secure and reliable section" | ||
| }, | ||
| "homepage.comments.lihengdao.username": { | ||
| "message": "لي هينغداو", | ||
| "description": "اسم المستخدم لي هينغداو في تعليقات المجتمع" | ||
| }, | ||
| "homepage.comments.lihengdao.description": { | ||
| "message": "مؤسس مشارك لـ Tampermonkey CN", | ||
| "description": "وصف لي هينغداو في تعليقات المجتمع" | ||
| }, | ||
| "homepage.comments.lihengdao.content": { | ||
| "message": "ScriptCat رائع تماماً!", | ||
| "description": "محتوى تعليق لي هينغداو" | ||
| }, | ||
| "homepage.comments.student.username": { | ||
| "message": "قلق بشأن الامتحانات", | ||
| "description": "اسم المستخدم الطالب في تعليقات المجتمع" | ||
| }, | ||
| "homepage.comments.student.description": { | ||
| "message": "طالب", | ||
| "description": "وصف الطالب في تعليقات المجتمع" | ||
| }, | ||
| "homepage.comments.student.content": { | ||
| "message": "شكراً لموارد التعلم الغنية في المجتمع، لقد تعلمت الكثير وتمكنت من تطوير مهاراتي التقنية بشكل أفضل. ScriptCat إضافة متصفح مفيدة جداً توفر لي وظائف مريحة وفعالة.", | ||
| "description": "محتوى تعليق الطالب" | ||
| }, | ||
| "homepage.comments.enncy.username": { | ||
| "message": "يان شياوشي (enncy)", | ||
| "description": "اسم المستخدم enncy في تعليقات المجتمع" | ||
| }, | ||
| "homepage.comments.enncy.description": { | ||
| "message": "مؤلف سكريبتات مشهور", | ||
| "description": "وصف enncy في تعليقات المجتمع" | ||
| }, | ||
| "homepage.comments.enncy.content": { | ||
| "message": "شكر صادق للمجتمع", | ||
| "description": "محتوى تعليق enncy" | ||
| }, | ||
| "homepage.comments.qianyu.username": { | ||
| "message": "تشيان يو", | ||
| "description": "اسم المستخدم تشيان يو في تعليقات المجتمع" | ||
| }, | ||
| "homepage.comments.qianyu.description": { | ||
| "message": "مستخدم Chrome", | ||
| "description": "وصف تشيان يو في تعليقات المجتمع" | ||
| }, | ||
| "homepage.comments.qianyu.content": { | ||
| "message": "في البداية، اعتقد الناس أن هذا مكون إضافي JS متخصص... حتى...", | ||
| "description": "محتوى تعليق تشيان يو" | ||
| }, | ||
| "homepage.comments.wwwwwllllk.username": { | ||
| "message": "wwwwwllllk", | ||
| "description": "اسم المستخدم wwwwwllllk في تعليقات المجتمع" | ||
| }, | ||
| "homepage.comments.wwwwwllllk.description": { | ||
| "message": "مطور واجهة أمامية", | ||
| "description": "وصف wwwwwllllk في تعليقات المجتمع" | ||
| }, | ||
| "homepage.comments.wwwwwllllk.content": { | ||
| "message": "استخدام ScriptCat لتحسين تجربتي على الإنترنت، مقابلة أشخاص متشابهين في التفكير في المجتمع.", | ||
| "description": "محتوى تعليق wwwwwllllk" | ||
| }, | ||
| "homepage.comments.oraer.username": { | ||
| "message": "Oraer", | ||
| "description": "اسم المستخدم Oraer في تعليقات المجتمع" | ||
| }, | ||
| "homepage.comments.oraer.description": { | ||
| "message": "مستخدم Chrome", | ||
| "description": "وصف Oraer في تعليقات المجتمع" | ||
| }, | ||
| "homepage.comments.oraer.content": { | ||
| "message": "أول لقاء مع Tampermonkey! تعلم Tampermonkey! تجاوز Tampermonkey!", | ||
| "description": "محتوى تعليق Oraer" | ||
| }, | ||
| "homepage.comments.bigonion.username": { | ||
| "message": "bigonion", | ||
| "description": "اسم المستخدم bigonion في تعليقات المجتمع" | ||
| }, | ||
| "homepage.comments.bigonion.description": { | ||
| "message": "مطور ScriptCat", | ||
| "description": "وصف bigonion في تعليقات المجتمع" | ||
| }, | ||
| "homepage.comments.bigonion.content": { | ||
| "message": "ScriptCat هو المستقبل.", | ||
| "description": "محتوى تعليق bigonion" | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,134 @@ | ||
| { | ||
| "theme.ErrorPageContent.title": { | ||
| "message": "Diese Seite ist abgestürzt.", | ||
| "description": "The title of the fallback page when the page crashed" | ||
| }, | ||
| "theme.BackToTopButton.buttonAriaLabel": { | ||
| "message": "Zurück nach oben", | ||
| "description": "The ARIA label for the back to top button" | ||
| }, | ||
| "theme.blog.archive.title": { | ||
| "message": "Archiv", | ||
| "description": "The page & hero title of the blog archive page" | ||
| }, | ||
| "theme.blog.archive.description": { | ||
| "message": "Archiv", | ||
| "description": "The page & hero description of the blog archive page" | ||
| }, | ||
| "theme.blog.paginator.navAriaLabel": { | ||
| "message": "Navigation der Blog-Beiträge", | ||
| "description": "The ARIA label for the blog pagination" | ||
| }, | ||
| "theme.blog.paginator.newerEntries": { | ||
| "message": "Neuere Einträge", | ||
| "description": "The label used to navigate to the newer blog posts page (previous page)" | ||
| }, | ||
| "theme.blog.paginator.olderEntries": { | ||
| "message": "Ältere Einträge", | ||
| "description": "The label used to navigate to the older blog posts page (next page)" | ||
| }, | ||
| "theme.blog.post.paginator.navAriaLabel": { | ||
| "message": "Navigation der Blog-Beiträge", | ||
| "description": "The ARIA label for the blog posts pagination" | ||
| }, | ||
| "theme.blog.post.paginator.newerPost": { | ||
| "message": "Neuerer Beitrag", | ||
| "description": "The blog post button label to navigate to the newer/previous post" | ||
| }, | ||
| "theme.blog.post.paginator.olderPost": { | ||
| "message": "Älterer Beitrag", | ||
| "description": "The blog post button label to navigate to the older/next post" | ||
| }, | ||
| "theme.blog.post.plurals": { | ||
| "message": "{count} Beiträge", | ||
| "description": "Pluralized label for \"{count} posts\". Use as much plural forms (separated by \"|\") as your language support (see https://www.unicode.org/cldr/cldr-aux/charts/34/supplemental/language_plural_rules.html)" | ||
| }, | ||
| "theme.blog.tagTitle": { | ||
| "message": "{nPosts} Beiträge mit dem Tag \"{tagName}\"", | ||
| "description": "The title of the page for a blog tag" | ||
| }, | ||
| "theme.tags.tagsPageLink": { | ||
| "message": "Alle Tags anzeigen", | ||
| "description": "The label of the link targeting the tag list page" | ||
| }, | ||
| "homepage.hero.title": { | ||
| "message": "ScriptCat", | ||
| "description": "The hero title on the homepage" | ||
| }, | ||
| "homepage.hero.subtitle": { | ||
| "message": "Eine Browser-Erweiterung, die Benutzerskripte ausführen kann, alles kann geskriptet werden, lassen Sie Ihren Browser mehr tun!", | ||
| "description": "The hero subtitle on the homepage" | ||
| }, | ||
| "homepage.features.powerful.title": { | ||
| "message": "Leistungsstarke Funktionen", | ||
| "description": "Title for powerful features section" | ||
| }, | ||
| "homepage.features.powerful.description": { | ||
| "message": "Vollständig kompatibel mit Tampermonkey, Hintergrundskripte, geplante Skripte, umfangreiche API", | ||
| "description": "Description for powerful features section" | ||
| }, | ||
| "homepage.features.easy.title": { | ||
| "message": "Einfach zu verwenden", | ||
| "description": "Title for easy to use section" | ||
| }, | ||
| "homepage.features.easy.description": { | ||
| "message": "Integrierter Editor, intelligente Vervollständigung, Syntaxprüfung, effizientere Skriptentwicklung", | ||
| "description": "Description for easy to use section" | ||
| }, | ||
| "homepage.features.secure.title": { | ||
| "message": "Sicher und zuverlässig", | ||
| "description": "Title for secure and reliable section" | ||
| }, | ||
| "homepage.features.secure.description": { | ||
| "message": "Sandbox-Mechanismus, Berechtigungsverwaltung, sichere Skriptausführung gewährleisten", | ||
| "description": "Description for secure and reliable section" | ||
| }, | ||
| "homepage.comments.lihengdao.username": { | ||
| "message": "Li Hengdao", | ||
| "description": "Li Hengdaos Benutzername in Community-Kommentaren" | ||
| }, | ||
| "homepage.comments.lihengdao.description": { | ||
| "message": "Mitbegründer von Tampermonkey CN", | ||
| "description": "Li Hengdaos Beschreibung in Community-Kommentaren" | ||
| }, | ||
| "homepage.comments.lihengdao.content": { | ||
| "message": "ScriptCat ist absolut fantastisch!", | ||
| "description": "Li Hengdaos Kommentarinhalt" | ||
| }, | ||
| "homepage.comments.student.username": { | ||
| "message": "Sorgen wegen Prüfungen", | ||
| "description": "Studentischer Benutzername in Community-Kommentaren" | ||
| }, | ||
| "homepage.comments.student.description": { | ||
| "message": "Student", | ||
| "description": "Studentische Beschreibung in Community-Kommentaren" | ||
| }, | ||
| "homepage.comments.student.content": { | ||
| "message": "Danke an die Community für die reichen Lernressourcen, ich habe viel gelernt und konnte meine technischen Fähigkeiten besser entwickeln. ScriptCat ist eine sehr nützliche Browser-Erweiterung, die mir praktische und effiziente Funktionen bietet.", | ||
| "description": "Studentischer Kommentarinhalt" | ||
| }, | ||
| "homepage.comments.enncy.username": { | ||
| "message": "Yan Xiaoxi (enncy)", | ||
| "description": "enncys Benutzername in Community-Kommentaren" | ||
| }, | ||
| "homepage.comments.enncy.description": { | ||
| "message": "Berühmter Skript-Autor", | ||
| "description": "enncys Beschreibung in Community-Kommentaren" | ||
| }, | ||
| "homepage.comments.enncy.content": { | ||
| "message": "Herzlichen Dank an die Community", | ||
| "description": "enncys Kommentarinhalt" | ||
| }, | ||
| "homepage.comments.qianyu.username": { | ||
| "message": "Qian Yu", | ||
| "description": "Qian Yus Benutzername in Community-Kommentaren" | ||
| }, | ||
| "homepage.comments.qianyu.description": { | ||
| "message": "Chrome-Benutzer", | ||
| "description": "Qian Yus Beschreibung in Community-Kommentaren" | ||
| }, | ||
| "homepage.comments.qianyu.content": { | ||
| "message": "Anfangs dachten die Leute, das sei ein Nischen-JS-Plugin... bis...", | ||
| "description": "Qian Yus Kommentarinhalt" | ||
| } | ||
| } |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think you mis-deleted the lines?