Benoit Marty
5 months ago
committed by
Benoit Marty
6 changed files with 119 additions and 4 deletions
@ -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 @@ |
|||||||
|
// 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 @@ |
|||||||
|
#!/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