Benoit Marty
5 months ago
committed by
Benoit Marty
6 changed files with 119 additions and 4 deletions
@ -0,0 +1,19 @@
@@ -0,0 +1,19 @@
|
||||
<!-- File generated by importSupportedLocalesFromLocalazy.py, do not edit --> |
||||
<locale-config xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<locale android:name="be"/> |
||||
<locale android:name="bg"/> |
||||
<locale android:name="cs"/> |
||||
<locale android:name="de"/> |
||||
<locale android:name="en"/> |
||||
<locale android:name="es"/> |
||||
<locale android:name="fr"/> |
||||
<locale android:name="hu"/> |
||||
<locale android:name="in"/> |
||||
<locale android:name="it"/> |
||||
<locale android:name="ro"/> |
||||
<locale android:name="ru"/> |
||||
<locale android:name="sk"/> |
||||
<locale android:name="sv"/> |
||||
<locale android:name="uk"/> |
||||
<locale android:name="zh-TW"/> |
||||
</locale-config> |
@ -0,0 +1,22 @@
@@ -0,0 +1,22 @@
|
||||
// File generated by importSupportedLocalesFromLocalazy.py, do not edit |
||||
|
||||
package extension |
||||
|
||||
val locales = setOf( |
||||
"be", |
||||
"bg", |
||||
"cs", |
||||
"de", |
||||
"en", |
||||
"es", |
||||
"fr", |
||||
"hu", |
||||
"in", |
||||
"it", |
||||
"ro", |
||||
"ru", |
||||
"sk", |
||||
"sv", |
||||
"uk", |
||||
"zh-rTW", |
||||
) |
@ -0,0 +1,71 @@
@@ -0,0 +1,71 @@
|
||||
#!/usr/bin/env python3 |
||||
|
||||
import os |
||||
import subprocess |
||||
|
||||
|
||||
def getLocalesFromLocalazy(): |
||||
command = subprocess.run( |
||||
["localazy languages --read-key a7876306080832595063-aa37154bb3772f6146890fca868d155b2228b492c56c91f67abdcdfb74d6142d --csv"], |
||||
shell=True, |
||||
capture_output=True, |
||||
text=True, |
||||
) |
||||
data = command.stdout |
||||
result = [] |
||||
for line in data.split("\n"): |
||||
if line: |
||||
line = line.split(",") |
||||
if (line[6] == "true"): |
||||
result.append(line[0]) |
||||
return sorted(result) |
||||
|
||||
|
||||
def normalizeForResourceConfigurations(locale): |
||||
match locale: |
||||
case "id": |
||||
return "in" |
||||
case "zh_TW#Hant": |
||||
return "zh-rTW" |
||||
case _: |
||||
return locale |
||||
|
||||
|
||||
def normalizeForLocalConfig(locale): |
||||
match locale: |
||||
case "id": |
||||
return "in" |
||||
case "zh_TW#Hant": |
||||
return "zh-TW" |
||||
case _: |
||||
return locale |
||||
|
||||
|
||||
def generateLocaleFile(locales, file): |
||||
with open("plugins/src/main/kotlin/extension/locales.kt", "w") as f: |
||||
f.write("// File generated by " + file + ", do not edit\n\n") |
||||
f.write("package extension\n\n") |
||||
f.write("val locales = setOf(\n") |
||||
for locale in locales: |
||||
f.write(" \"" + normalizeForResourceConfigurations(locale) + "\",\n") |
||||
f.write(")\n") |
||||
|
||||
|
||||
def generateLocalesConfigFile(locales, file): |
||||
with open("app/src/main/res/xml/locales_config.xml", "w") as f: |
||||
f.write("<!-- File generated by " + file + ", do not edit -->\n") |
||||
f.write('<locale-config xmlns:android="http://schemas.android.com/apk/res/android">\n') |
||||
for locale in locales: |
||||
f.write(" <locale android:name=\"" + normalizeForLocalConfig(locale) + "\"/>\n") |
||||
f.write("</locale-config>\n") |
||||
|
||||
|
||||
def main(): |
||||
file = os.path.basename(__file__) |
||||
locales = getLocalesFromLocalazy() |
||||
generateLocaleFile(locales, file) |
||||
generateLocalesConfigFile(locales, file) |
||||
|
||||
|
||||
if __name__ == "__main__": |
||||
main() |
Loading…
Reference in new issue