Skip to content

Use gettext for recurring phrases, fix a bunch of i18n issues!!!!! #684

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
wants to merge 79 commits into
base: lektor
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
331ee2b
switch to gettext
johnzhou721 Jun 28, 2025
86d0e9f
verify that all |trans statements without bag specification are replaced
johnzhou721 Jun 28, 2025
af41d4f
translate most chinese strings
johnzhou721 Jun 28, 2025
d9499db
more context
johnzhou721 Jun 28, 2025
13540dd
Update templates/project.html
johnzhou721 Jun 28, 2025
e6b1e27
start filling in arabic translations, also correct badge macro
johnzhou721 Jun 29, 2025
2936cf9
work done today... still no fix for missing strings
johnzhou721 Jun 29, 2025
e6ba812
workaround a translaiton bug
johnzhou721 Jun 29, 2025
88d637a
restore pluralization
johnzhou721 Jun 29, 2025
42a8f3c
update the plugin a bit
johnzhou721 Jun 29, 2025
5dc5542
add plural forms
johnzhou721 Jun 30, 2025
69ac875
plural forms (filled in missing ones, need the sprinting mentor part)
johnzhou721 Jun 30, 2025
07ed969
add comment
johnzhou721 Jun 30, 2025
84e158c
use an older gettext on a gnu/linux vm
johnzhou721 Jun 30, 2025
14ab6aa
add all arabic strings;
johnzhou721 Jun 30, 2025
337817e
add more arabic translations... but don't know why they aren't showign
johnzhou721 Jun 30, 2025
f3ddfd5
fuzzy out strings whose last git blame is not a translation commit
johnzhou721 Jun 30, 2025
78395ff
clean out unused plugin functions, fix bug w/ languages
johnzhou721 Jun 30, 2025
258f9cd
fill in portugese translations
johnzhou721 Jun 30, 2025
499d8fc
extract title labels, bugfix to allow opening in GNOME Translation Ed…
johnzhou721 Jun 30, 2025
13e9255
revmoe a test file, proper header to arabic version, fix some bugs, u…
johnzhou721 Jun 30, 2025
1ee8352
Add some zh_TW translations.
johnzhou721 Jun 30, 2025
1c02080
arabic: fuzzy everything
johnzhou721 Jun 30, 2025
3ab4928
portugese: missing translations filled in, fuzzy everything, correct …
johnzhou721 Jun 30, 2025
4e2c8f3
update zh_CN a bit
johnzhou721 Jun 30, 2025
0e189dc
es translation copy paste
johnzhou721 Jun 30, 2025
a5b3674
Update templates/event.html
johnzhou721 Jun 30, 2025
53be59d
rebuild
johnzhou721 Jun 30, 2025
b3e8e89
Apply suggestions from code review
johnzhou721 Jul 1, 2025
78ff267
¡Hurra! (this commit msg is translated w/ google)
johnzhou721 Jul 1, 2025
7c6a6a6
fuzzy fixup in arabic, entre french translations
johnzhou721 Jul 1, 2025
008b007
Apply suggestions from code review
johnzhou721 Jul 1, 2025
e982c82
start putting in italian translations
johnzhou721 Jul 1, 2025
b8608bb
put in italiian translations
johnzhou721 Jul 1, 2025
897b54e
fill in rest of translations, fuzzy appropriate navigation labels
johnzhou721 Jul 1, 2025
d6c7fcc
bugfix on labels to translate the colon, remove databags
johnzhou721 Jul 1, 2025
299d10d
ban plurals in auto translate
johnzhou721 Jul 1, 2025
2490f90
Update i18n/contents+ar.po
johnzhou721 Jul 2, 2025
1a7b793
Apply suggestions from code review
johnzhou721 Jul 2, 2025
612ae21
Update i18n/contents+pt.po
johnzhou721 Jul 2, 2025
f0fa78d
Update i18n/contents+es.po
johnzhou721 Jul 2, 2025
9139c13
Update i18n/contents+it.po
johnzhou721 Jul 2, 2025
a10dfca
Update i18n/contents+pl.po
johnzhou721 Jul 2, 2025
13da75b
Update i18n/contents+zh_CN.po
johnzhou721 Jul 2, 2025
4033dae
workign copy
johnzhou721 Jul 2, 2025
59ffdb7
why did i forget to reinstall plugin... look at this huge diff :(
johnzhou721 Jul 2, 2025
8341403
fill labels
johnzhou721 Jul 2, 2025
8b2bcdc
add german
johnzhou721 Jul 2, 2025
1c7ee08
finish off this PR
johnzhou721 Jul 2, 2025
deeb7cb
fixups
johnzhou721 Jul 2, 2025
5c41130
Update i18n/contents+fr.po
johnzhou721 Jul 3, 2025
d8f0054
Update i18n/contents+pt.po
johnzhou721 Jul 3, 2025
d68c101
Update i18n/contents+fr.po
johnzhou721 Jul 3, 2025
672a326
rebuild site
johnzhou721 Jul 3, 2025
1eaf59c
Merge remote-tracking branch 'origin/lektor' into jinjai18n
johnzhou721 Jul 3, 2025
6c94a6d
reformat
johnzhou721 Jul 3, 2025
1c71bce
persian basics from #516
johnzhou721 Jul 3, 2025
962af73
Update i18n/contents+fa.po
johnzhou721 Jul 3, 2025
bafc25e
Update i18n/contents+fa.po
johnzhou721 Jul 3, 2025
9e9e1fd
Update i18n/contents+fa.po
johnzhou721 Jul 3, 2025
4052723
Update i18n/contents+fa.po
johnzhou721 Jul 3, 2025
b7c3fcd
Merge remote-tracking branch 'upstream/lektor' into jinjai18n
johnzhou721 Jul 4, 2025
8f316f2
Merge remote-tracking branch 'upstream/lektor' into jinjai18n
johnzhou721 Jul 4, 2025
79edb56
Merge remote-tracking branch 'upstream' into jinjai18n
johnzhou721 Jul 5, 2025
2ae5660
Update packages/lektor_beeware_plugin/pyproject.toml
johnzhou721 Jul 5, 2025
a21b22d
Remove workaround
johnzhou721 Jul 8, 2025
1324d11
fix a bug, rebuild to reformat
johnzhou721 Jul 8, 2025
639c7ad
Merge remote-tracking branch 'upstream/lektor' into jinjai18n
johnzhou721 Jul 8, 2025
74239ef
Merge remote-tracking branch 'upstream/lektor' into jinjai18n
johnzhou721 Jul 8, 2025
86eccb3
linebreak using my gettext version conventions to prvent further big …
johnzhou721 Jul 9, 2025
08ecfb0
Merge remote-tracking branch 'upstream/lektor' into jinjai18n, msgcat…
johnzhou721 Jul 9, 2025
919fb2a
Merge remote-tracking branch 'upstream/lektor' into jinjai18n
johnzhou721 Jul 22, 2025
22ae47a
Point at my own repo for lektor i18n plugin for simplified testing, r…
johnzhou721 Jul 22, 2025
9676c43
reformat on ubuntu 24.04
johnzhou721 Jul 22, 2025
ca9fdbc
fix #692
johnzhou721 Jul 22, 2025
0ca5940
fixup
johnzhou721 Jul 22, 2025
895816b
more fixups, update pos
johnzhou721 Jul 22, 2025
ef8ac8b
Merge branch 'lektor' into jinjai18n
johnzhou721 Jul 25, 2025
2ebe489
Merge branch 'lektor' into jinjai18n
johnzhou721 Aug 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion BeeWare.lektorproject
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ locale = fa_IR
lektor-github-repos = 0.1.1
lektor-gravatar = 0.1.3
lektor-markdown-admonition = 0.3.1
git+https://github.com/beeware/lektor-i18n-plugin@v0.5.4 =
../lektor-i18n-plugin =
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to replace with new version after beeware/lektor-i18n-plugin#6 gets merged. That is just for extra safety, seem to work fine without it but you never know when the internal impls of any of those programs change...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

../ is my local checkout I used to update the pos


[servers.ghpages]
target = ghpages://beeware/beeware.github.io?cname=beeware.org
Expand Down
1 change: 1 addition & 0 deletions babel.cfg
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
[jinja2: **/templates/**.html]
encoding = utf-8
trimmed = True
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

216 changes: 182 additions & 34 deletions i18n/contents+ar.po
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,8 @@ msgstr "اتصل بنا"
msgid ""
"![BeeWare Enthusiasts logo](/about/contact/media/beeware-enthusiasts-150.png)"
msgstr ""
"![شعار BeeWare Enthusiasts] (/about/contact/media/beeware-enthusiasts-150."
"png)"
"![شعار BeeWare Enthusiasts] (/about/contact/media/beeware-"
"enthusiasts-150.png)"

#: (content/about/contact/media/contents+en.lr:page.body)
#: https://beeware.org/about/contact/media/
Expand Down Expand Up @@ -1615,12 +1615,12 @@ msgstr ""
#, fuzzy
msgid ""
"This Code of Conduct is adapted from the [Contributor Covenant, version\n"
"1.3.0](https://www.contributor-covenant.org/version/1/3/0/code-of-conduct."
"html)"
"1.3.0](https://www.contributor-covenant.org/version/1/3/0/code-of-"
"conduct.html)"
msgstr ""
"مدونة قواعد السلوك هذه مقتبسة من [ميثاق المساهمين، الإصدار\n"
"1.3.0] (https://www.contributor-covenant.org/version/1/3/0/code-of-conduct."
"html)"
"1.3.0] (https://www.contributor-covenant.org/version/1/3/0/code-of-"
"conduct.html)"

#: (content/community/behavior/code-of-conduct/contents+en.lr:page.summary)
#: https://beeware.org/community/behavior/code-of-conduct/
Expand Down Expand Up @@ -3613,8 +3613,8 @@ msgid ""
"</figure>"
msgstr ""
"<الشكل\n"
"<img src=\"/contributing/challenge-coins/challenge-coin/challenge-coin."
"jpg\"\n"
"<img src=\"/contributing/challenge-coins/challenge-coin/challenge-"
"coin.jpg\"\n"
"بديل=\"/contributing/challenge-coins/challenge-coin/challenge-coin.jpg\" />\n"
"<figcaption><em>الواجهة الأمامية والخلفية لتحدي BeeWare\n"
"</em></em></em><//figcaption>\n"
Expand Down Expand Up @@ -5432,8 +5432,8 @@ msgid ""
" tutorial](https://github.com/search?"
"q=repo%3Abeeware%2Fbeeware+label%3A%22good+first+issue%22+is%3Aissue+is%3Aopen&type=issues)\n"
"- [The BeeWare\n"
" website](https://github.com/search?q=repo%3Abeeware%2Fbeeware.github."
"io+label%3A%22good+first+issue%22+is%3Aissue+is%3Aopen&type=issues)"
" website](https://github.com/search?"
"q=repo%3Abeeware%2Fbeeware.github.io+label%3A%22good+first+issue%22+is%3Aissue+is%3Aopen&type=issues)"
msgstr ""
"- [الحقيبة](https://github.com/search?"
"q=repo%3Abeeware%2Fbriefcase+التسمية%3A+التسمية%3A%22جيد+أول+إصدار+"
Expand All @@ -5444,8 +5444,8 @@ msgstr ""
" برنامج تعليمي] (https://github.com/search?"
"q=repo%3Abeeware%2Fbeeware+التسمية%00+التسمية%3A%22جيد+أول+إصدار+22+هو%3إصدار+هو%3مفتوح&النوع=مشكلات)\n"
"- [The BeeWare\n"
" موقع الويب](https://github.com/search?q=repo%3Abeeware%2Fbeeware.github."
"io+التسمية%00+التسمية%3A%22جيد+أول+إصدار+22+هو%3إصدار+هو%3مفتوح&النوع=مشكلات)"
" موقع الويب](https://github.com/search?"
"q=repo%3Abeeware%2Fbeeware.github.io+التسمية%00+التسمية%3A%22جيد+أول+إصدار+22+هو%3إصدار+هو%3مفتوح&النوع=مشكلات)"

#: (content/contributing/first-time/what/contents+en.lr:page.body)
#: https://beeware.org/contributing/first-time/what/
Expand Down Expand Up @@ -6450,16 +6450,16 @@ msgstr "### ما هو العدو السريع؟"
msgid ""
"- [Briefcase](https://briefcase.readthedocs.io/en/latest/how-to/contribute/"
"index.html)\n"
"- [Toga](https://toga.readthedocs.io/en/latest/how-to/contribute/index."
"html)\n"
"- [Toga](https://toga.readthedocs.io/en/latest/how-to/contribute/"
"index.html)\n"
"- [Rubicon\n"
" ObjC](https://rubicon-objc.readthedocs.io/en/latest/how-to/contribute/"
"index.html)"
msgstr ""
"- [حقيبة](https://briefcase.readthedocs.io/en/latest/how-to/contribute/index."
"html)\n"
"- [توجا](https://toga.readthedocs.io/en/latest/how-to/contribute/index."
"html)\n"
"- [حقيبة](https://briefcase.readthedocs.io/en/latest/how-to/contribute/"
"index.html)\n"
"- [توجا](https://toga.readthedocs.io/en/latest/how-to/contribute/"
"index.html)\n"
"- [روبيكون\n"
" ObjC](https://rubicon-objc.readthedocs.io/en/latest/how-to/contribute/"
"index.html)"
Expand Down Expand Up @@ -7875,13 +7875,13 @@ msgstr ""
msgid ""
"So you want to contribute to an Open Source project? Batavia is a great\n"
"place to start. [Here are instructions on contributing to\n"
"Batavia.](http://batavia.readthedocs.io/en/latest/how-to/contribute-code."
"html)"
"Batavia.](http://batavia.readthedocs.io/en/latest/how-to/contribute-"
"code.html)"
msgstr ""
"هل تريد المساهمة في مشروع مفتوح المصدر؟ باتافيا هو\n"
"مكان رائع للبدء. [فيما يلي إرشادات حول المساهمة في\n"
"باتافيا.] (http://batavia.readthedocs.io/en/latest/how-to/contribute-code."
"html)"
"باتافيا.] (http://batavia.readthedocs.io/en/latest/how-to/contribute-"
"code.html)"

#: (content/project/attic/batavia/contents+en.lr:project.pun)
#: https://beeware.org/project/attic/batavia/
Expand Down Expand Up @@ -8666,13 +8666,13 @@ msgstr ""
msgid ""
"If you'd like to contribute to VOC development, we have a [guide for\n"
"first time\n"
"contributors](https://voc.readthedocs.io/en/latest/how-to/contribute-code."
"html)."
"contributors](https://voc.readthedocs.io/en/latest/how-to/contribute-"
"code.html)."
msgstr ""
"إذا كنت ترغب في المساهمة في تطوير المركبات العضوية المتطايرة، لدينا [دليل\n"
"لأول مرة\n"
"المساهمين] (https://voc.readthedocs.io/en/latest/how-to/contribute-code."
"html)."
"المساهمين] (https://voc.readthedocs.io/en/latest/how-to/contribute-"
"code.html)."

#: (content/project/attic/voc/contents+en.lr:project.description)
#: https://beeware.org/project/attic/voc/
Expand Down Expand Up @@ -8863,8 +8863,8 @@ msgid ""
msgstr ""
"- macOS (كحزمة \".app\" أو أرشيف \"DMG\" أو مثبت \"PKG\")\n"
"- ويندوز (كحزمة 'zip' أو أداة تثبيت 'MSI')\n"
"- لينكس (كحزمة Flatpak، أو حزمة \"rpm\" أو \"deb\" أو \"pkg.zip\" أو \"pkg."
"zip\n"
"- لينكس (كحزمة Flatpak، أو حزمة \"rpm\" أو \"deb\" أو \"pkg.zip\" أو "
"\"pkg.zip\n"
" حزمة)\n"
"- iPhone/iPad\n"
"- أندرويد\n"
Expand Down Expand Up @@ -9580,6 +9580,154 @@ msgstr "خريطة الموقع"
msgid "Tutorial Shortlinks"
msgstr "الروابط المختصرة للبرنامج التعليمي"

#: templates/blog-post.html:20 templates/macros/blog.html:14
#: templates/news.html:44
#, python-format
msgid "Posted by %(author_link)s on %(date)s"
msgstr ""

#: templates/blog-post.html:34
msgid "Next entry"
msgstr ""

#: templates/blog-post.html:39
msgid "Previous entry"
msgstr ""

#: templates/events.html:37
msgid "Upcoming events"
msgstr ""

#: templates/events.html:40
msgid "Past events"
msgstr ""

#: templates/home_sidebar.html:3 templates/macros/membership.html:2
msgid "member"
msgstr ""

#: templates/home_sidebar.html:10
msgid "Latest News"
msgstr ""

#: templates/home_sidebar.html:16
msgid "Meet the Bee Team"
msgstr ""

#: templates/layout.html:18
msgid "Welcome"
msgstr ""

#: templates/layout.html:83
msgid "Edit on GitHub"
msgstr ""

#: templates/layout.html:91
msgid "Translate on Weblate"
msgstr ""

#: templates/macros/article.html:4 templates/macros/podcast.html:4
#: templates/macros/video.html:4
#, python-format
msgid "by %(author)s; published %(date)s"
msgstr ""

#: templates/macros/article.html:9 templates/macros/article.html:15
msgid "Click here to read the full article"
msgstr ""

#: templates/macros/breadcrumbs.html:3
msgid "Home"
msgstr ""

#: templates/macros/incomplete.html:5
#, python-format
msgid ""
"This page's contents is incomplete. You can help by <a "
"href=\"%(editlink)s\">expanding it</a>."
msgstr ""

#: templates/macros/member-badge.html:17 templates/macros/member-badge.html:20
msgid "Superpower"
msgstr ""

#: templates/macros/pagination.html:4 templates/macros/pagination.html:6
msgid "Previous"
msgstr ""

#: templates/macros/pagination.html:10 templates/macros/pagination.html:12
msgid "Next"
msgstr ""

#: templates/macros/podcast.html:9 templates/macros/podcast.html:15
msgid "Click here to listen"
msgstr ""

#: templates/macros/video.html:10 templates/macros/video.html:12
#: templates/resource.html:35 templates/resource.html:37
#, python-format
msgid "As seen at %(event_name)s"
msgstr ""

#: templates/member.html:24
#, python-format
msgid "Many thanks to %(name)s for their contribution!"
msgstr ""

#: templates/news.html:46
msgid "... more articles"
msgstr ""

#: templates/project.html:24
#, python-format
msgid ""
"This project is classified as <a href=\"%(attic_link)s\">in the attic</a>. "
"It is no longer actively maintained"
msgstr ""

#: templates/project.html:31
#, python-format
msgid ""
"This project is a <a href=\"%(cookiecutter_link)s\">CookieCutter</a> "
"template for a stub project."
msgstr ""

#: templates/project.html:38
msgid ""
"This project is a support library. It is intended to be used in conjunction "
"with a template project for the same platform."
msgstr ""

#: templates/project.html:45
msgid "How to Help"
msgstr ""

#: templates/project.html:50
#, python-format
msgid "So, why is it called \"%(name)s\"?"
msgstr ""

#: templates/project.html:59
msgid "Source Code"
msgstr ""

#: templates/project.html:60
msgid "Documentation"
msgstr ""

#: templates/project.html:69
msgid "Contributors"
msgstr ""

#: templates/resource.html:13
#, python-format
msgid "By %(author)s; published %(date)s"
msgstr ""

#: templates/resource.html:28
msgid "Unknown resource type"
msgstr ""

#, fuzzy
#~ msgid ""
#~ " Are you familiar with a GUI API (such as Winforms, Cocoa, or GTK)?\n"
Expand Down Expand Up @@ -9882,8 +10030,8 @@ msgstr "الروابط المختصرة للبرنامج التعليمي"
#~ "can be found on Read the Docs. For example, [Briefcase's\n"
#~ "documentation](https://briefcase.readthedocs.io) contains contribution\n"
#~ "guides for both\n"
#~ "[code](https://briefcase.readthedocs.io/en/stable/how-to/contribute-code."
#~ "html)\n"
#~ "[code](https://briefcase.readthedocs.io/en/stable/how-to/contribute-"
#~ "code.html)\n"
#~ "and\n"
#~ "[documentation](https://briefcase.readthedocs.io/en/stable/how-to/"
#~ "contribute-docs.html)."
Expand All @@ -9893,11 +10041,11 @@ msgstr "الروابط المختصرة للبرنامج التعليمي"
#~ "يمكن العثور عليها على اقرأ المستندات. على سبيل المثال، تحتوي [وثائق\n"
#~ "الوثائق] (https://briefcase.readthedocs.io) يحتوي على أدلة مساهمة\n"
#~ "أدلة لكل من\n"
#~ "[الكود](https://briefcase.readthedocs.io/en/stable/how-to/contribute-code."
#~ "html)\n"
#~ "[الكود](https://briefcase.readthedocs.io/en/stable/how-to/contribute-"
#~ "code.html)\n"
#~ "و\n"
#~ "[وثائق](https://briefcase.readthedocs.io/en/stable/how-to/contribute-docs."
#~ "html)."
#~ "[وثائق](https://briefcase.readthedocs.io/en/stable/how-to/contribute-"
#~ "docs.html)."

#, fuzzy
#~ msgid "OSCON 2017"
Expand Down
Loading