mirror of
https://github.com/ankitects/anki.git
synced 2025-11-26 14:37:14 -05:00
Running and testing should be working on the three platforms, but there's still a fair bit that needs to be done: - Wheel building + testing in a venv still needs to be implemented. - Python requirements still need to be compiled with piptool and pinned; need to compile on all platforms then merge - Cargo deps in cargo/ and rslib/ need to be cleaned up, and ideally unified into one place - Currently using rustls to work around openssl compilation issues on Linux, but this will break corporate proxies with custom SSL authorities; need to conditionally use openssl or use https://github.com/seanmonstar/reqwest/pull/1058 - Makefiles and docs still need cleaning up - It may make sense to reparent ts/* to the top level, as we don't nest the other modules under a specific language. - rspy and pylib must always be updated in lock-step, so merging rspy into pylib as a private module would simplify things. - Merging desktop-ftl and mobile-ftl into the core ftl would make managing and updating translations easier. - Obsolete scripts need removing. - And probably more.
87 lines
1.5 KiB
Python
87 lines
1.5 KiB
Python
def compile(name, po_file, pot_file, mo_file):
|
|
native.genrule(
|
|
name = name,
|
|
srcs = [po_file, pot_file],
|
|
outs = [mo_file],
|
|
# homebrew gettext is not on path by default
|
|
cmd = """\
|
|
export PATH="$$PATH":/usr/local/opt/gettext/bin
|
|
msgmerge -q $(location {po_file}) $(location {pot_file}) | msgfmt - --output-file=$(location {mo_file})
|
|
""".format(
|
|
po_file = po_file,
|
|
pot_file = pot_file,
|
|
mo_file = mo_file,
|
|
),
|
|
)
|
|
|
|
_langs = [
|
|
"af",
|
|
"ar",
|
|
"bg",
|
|
"ca",
|
|
"cs",
|
|
"da",
|
|
"de",
|
|
"el",
|
|
"en-GB",
|
|
"eo",
|
|
"es",
|
|
"et",
|
|
"eu",
|
|
"fa",
|
|
"fi",
|
|
"fr",
|
|
"ga-IE",
|
|
"gl",
|
|
"he",
|
|
"hi-IN",
|
|
"hr",
|
|
"hu",
|
|
"hy-AM",
|
|
"it",
|
|
"ja",
|
|
"jbo",
|
|
"kab",
|
|
# "km",
|
|
"ko",
|
|
"la",
|
|
"mn",
|
|
"mr",
|
|
"ms",
|
|
"nb-NO",
|
|
"nl",
|
|
"nn-NO",
|
|
"oc",
|
|
"or",
|
|
"pl",
|
|
"pt-BR",
|
|
"pt-PT",
|
|
"ro",
|
|
"ru",
|
|
"sk",
|
|
"sl",
|
|
"sr",
|
|
"sv-SE",
|
|
"th",
|
|
"tr",
|
|
"uk",
|
|
# "ur",
|
|
"vi",
|
|
"zh-CN",
|
|
"zh-TW",
|
|
]
|
|
|
|
def compile_all(name, visibility):
|
|
pot_file = "@aqt_po//:desktop/anki.pot"
|
|
mo_files = []
|
|
for lang in _langs:
|
|
po_file = "@aqt_po//:desktop/{}/anki.po".format(lang)
|
|
mo_file = "{}/LC_MESSAGES/anki.mo".format(lang)
|
|
mo_files.append(mo_file)
|
|
compile(lang, po_file, pot_file, mo_file)
|
|
|
|
native.filegroup(
|
|
name = name,
|
|
srcs = mo_files,
|
|
visibility = visibility,
|
|
)
|