Skip to content

Commit

Permalink
Fix import_messages script for Android.
Browse files Browse the repository at this point in the history
  • Loading branch information
sbruens committed Jul 21, 2023
1 parent 317e8f6 commit 36d3e6d
Show file tree
Hide file tree
Showing 67 changed files with 291 additions and 73 deletions.
15 changes: 9 additions & 6 deletions src/cordova/android/import_messages.action.sh
Original file line number Diff line number Diff line change
Expand Up @@ -24,21 +24,24 @@ set -eu
# Converts a Polymer locale to a native Android locale.
function get_native_android_locale() {
case "$1" in
"zh-CN" | "zh-TW" | "pt-BR" | "pt-PT") echo $1 | sed -e 's/-/-r/g';;
"zh-CN" | "zh-TW" | "pt-BR" | "pt-PT" | "en-GB") echo $1 | sed -e 's/-/-r/g';;
"es-419") echo 'es';;
"sr-Latn") echo 'b+sr+Latn';;
*) echo "$1";;
esac
}

TRANSLATIONS_DIR="$ROOT_DIR/www/messages"
for TRANSLATION_FILE in "$TRANSLATIONS_DIR/*"; do
OUTPUT_DIR="src/cordova/plugin/android/resources/strings"
rm -rf "$OUTPUT_DIR/"*
for TRANSLATION_FILE in "$TRANSLATIONS_DIR/"*; do
LANG=`basename $TRANSLATION_FILE .json`
echo "Importing ${LANG}"
LANG=$(get_native_android_locale $LANG)

NATIVE_DIR="src/cordova/plugin/android/resources/strings/values-$LANG"
OUTPUT_FILE="$NATIVE_DIR/strings.xml"
python3 "$ROOT_DIR/src/cordova/android/import_messages.py" $TRANSLATION_FILE $OUTPUT_FILE
OUTPUT_FILE="$OUTPUT_DIR/values-$LANG/strings.xml"
python3 "$ROOT_DIR/src/cordova/android/import_messages.py" $TRANSLATION_FILE $OUTPUT_FILE 2>&1 || {
echo " ERROR: Failed to import ${LANG}"
}
done

mkdir -p "$OUTPUT_DIR/values/" && cp -r "$OUTPUT_DIR/values-en/" "$OUTPUT_DIR/values/"
46 changes: 27 additions & 19 deletions src/cordova/android/import_messages.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,22 @@
See the License for the specific language governing permissions and
limitations under the License.
Generates localized string files for native Android usage based on the front-end translations.
Generates localized string files for native Android and usage based on the front-end translations.
Usage: python tools/l10n/import_native_android_strings.py $TRANSLATION_FILE $OUTPUT_FILE
Example: python tools/l10n/import_native_android_strings.py www/messages/en.json
cordova-plugin-outline/android/resources/strings/values-en/strings.xml
"""

import json
import os
import sys

DEFAULT_MESSAGES = {
"app_name": "Outline",
"launcher_name": "@string/app_name",
"activity_name": "@string/launcher_name",
}
# Keys to import.
NATIVE_KEYS = [
"connected_server_state",
Expand All @@ -31,44 +37,46 @@
]
XML_TEMPLATE = '''<?xml version='1.0' encoding='utf-8'?>
<resources>
\t<string name="app_name">Outline</string>
\t<string name="launcher_name">@string/app_name</string>
\t<string name="activity_name">@string/launcher_name</string>{0}
{0}
</resources>
'''
MESSAGE_TEMPLATE="\n\t<string name=\"{0}\">{1}</string>"
MESSAGE_TEMPLATE="\t<string name=\"{0}\">{1}</string>"


def read_input(filename):
with open(filename) as f:
return json.loads(f.read())


def format_messages(messages_dict):
""" Formats input messages in Polymer format to native Android format. This means replacing
hyphens with underscores in keys and escaping apostrophes in values. """
formatted_messages = {}
for k,v in messages_dict.items():
formatted_messages[k.replace("-", "_")] = v.replace("'", "\\'")
return formatted_messages
for k, v in messages_dict.items():
yield k.replace("-", "_"), v.replace("'", "\\'")


def write_output(output, filename):
directory = os.path.dirname(filename)
if not os.path.exists(directory):
os.mkdir(directory)
with open(filename, "w+") as f:
f.write(output)


def main(argv):
if len(argv) < 3:
raise RuntimeError("Too few command-line arguments.")
input_filename = argv[1]
output_filename = argv[2]
polymer_messages = read_input(input_filename)
messages = format_messages(polymer_messages)
xml_entry_template = ''
xml_messages = ''
for k, v in messages.items():
if k not in NATIVE_KEYS:
continue
xml_messages += MESSAGE_TEMPLATE.format(k.encode("utf-8"), v.encode("utf-8"))

xml = XML_TEMPLATE.format(xml_messages)
polymer_messages = DEFAULT_MESSAGES.copy()
polymer_messages.update(read_input(input_filename))
keys_to_import = list(DEFAULT_MESSAGES.keys()) + NATIVE_KEYS
messages = [
MESSAGE_TEMPLATE.format(k, v)
for k, v in format_messages(polymer_messages)
if k in keys_to_import
]
xml = XML_TEMPLATE.format('\n'.join(messages))
write_output(xml, output_filename)


Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="connected_server_state">Gekoppel</string>
<string name="reconnecting_server_state">Herkoppel tans …</string>
<string name="server_default_name_outline">Outline-bediener</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">جارٍ إعادة الاتصال...</string>
<string name="connected_server_state">متصل</string>
<string name="reconnecting_server_state">جارٍ إعادة الاتصال...</string>
<string name="server_default_name_outline">خادم Outline</string>
</resources>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="connected_server_state">Qoşuldu</string>
<string name="reconnecting_server_state">Yenidən qoşulur...</string>
<string name="server_default_name_outline">Outline Serveri</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">Veza se ponovo uspostavlja...</string>
<string name="connected_server_state">Povezano je</string>
<string name="reconnecting_server_state">Veza se ponovo uspostavlja...</string>
<string name="server_default_name_outline">Outline server</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">Извършва се повторно свързване...</string>
<string name="connected_server_state">Установена е връзка</string>
<string name="reconnecting_server_state">Извършва се повторно свързване...</string>
<string name="server_default_name_outline">Сървър на Outline</string>
</resources>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="connected_server_state">কানেক্ট করা আছে</string>
<string name="reconnecting_server_state">আবার কানেক্ট করা হচ্ছে...</string>
<string name="server_default_name_outline">Outline সার্ভার</string>
</resources>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="connected_server_state">Povezano</string>
<string name="reconnecting_server_state">Ponovno povezivanje...</string>
<string name="server_default_name_outline">Outline server</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">S\'està tornant a connectar...</string>
<string name="connected_server_state">Connectat</string>
<string name="reconnecting_server_state">S\'està tornant a connectar...</string>
<string name="server_default_name_outline">Servidor d\'Outline</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">Nové připojování...</string>
<string name="connected_server_state">Připojeno</string>
<string name="reconnecting_server_state">Nové připojování...</string>
<string name="server_default_name_outline">Server aplikace Outline</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">Genopretter forbindelsen...</string>
<string name="connected_server_state">Tilsluttet</string>
<string name="reconnecting_server_state">Genopretter forbindelsen...</string>
<string name="server_default_name_outline">Outline-server</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">Verbindung wird wiederhergestellt…</string>
<string name="connected_server_state">Verbunden</string>
<string name="reconnecting_server_state">Verbindung wird wiederhergestellt…</string>
<string name="server_default_name_outline">Outline-Server</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">Επανασύνδεση…</string>
<string name="connected_server_state">Συνδεδεμένος</string>
<string name="reconnecting_server_state">Επανασύνδεση…</string>
<string name="server_default_name_outline">Διακομιστής Outline</string>
</resources>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="connected_server_state">Connected</string>
<string name="reconnecting_server_state">Reconnecting…</string>
<string name="server_default_name_outline">Outline server</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">Reconnecting...</string>
<string name="connected_server_state">Connected</string>
<string name="reconnecting_server_state">Reconnecting...</string>
<string name="server_default_name_outline">Outline Server</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">Volviendo a conectar…</string>
<string name="connected_server_state">Conectado</string>
<string name="reconnecting_server_state">Volviendo a conectar...</string>
<string name="server_default_name_outline">Servidor de Outline</string>
</resources>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="connected_server_state">Ühendatud</string>
<string name="reconnecting_server_state">Uuesti ühendamine …...</string>
<string name="server_default_name_outline">Outline\'i server</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">درحال اتصال مجدد...</string>
<string name="connected_server_state">وصل شدید</string>
<string name="reconnecting_server_state">درحال اتصال مجدد...</string>
<string name="server_default_name_outline">سرور Outline</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">Yhdistetään uudelleen…</string>
<string name="connected_server_state">Yhdistetty</string>
<string name="reconnecting_server_state">Yhdistetään uudelleen…</string>
<string name="server_default_name_outline">Outline-palvelin</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">Muling ikinokonekta...</string>
<string name="connected_server_state">Nakakonekta na</string>
<string name="reconnecting_server_state">Muling ikinokonekta...</string>
<string name="server_default_name_outline">Server ng Outline</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">Reconnexion…</string>
<string name="connected_server_state">Connecté</string>
<string name="reconnecting_server_state">Reconnexion…</string>
<string name="server_default_name_outline">Serveur Outline</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">החיבור מחדש מתבצע...</string>
<string name="connected_server_state">מחובר</string>
<string name="reconnecting_server_state">החיבור מחדש מתבצע...</string>
<string name="server_default_name_outline">שרת Outline</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">फिर से कनेक्ट किया जा रहा है...</string>
<string name="connected_server_state">कनेक्ट किया गया</string>
<string name="reconnecting_server_state">फिर से कनेक्ट किया जा रहा है...</string>
<string name="server_default_name_outline">Outline सर्वर</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">Ponovno povezivanje...</string>
<string name="connected_server_state">Povezano</string>
<string name="reconnecting_server_state">Ponovno povezivanje...</string>
<string name="server_default_name_outline">Poslužitelj za Outline</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">Újracsatlakozás...</string>
<string name="connected_server_state">Csatlakoztatva</string>
<string name="reconnecting_server_state">Újracsatlakozás...</string>
<string name="server_default_name_outline">Outline-szerver</string>
</resources>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="connected_server_state">Միացված է</string>
<string name="reconnecting_server_state">Կապի վերահաստատում…</string>
<string name="server_default_name_outline">Outline-ի սերվեր</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">Menyambung kembali...</string>
<string name="connected_server_state">Tersambung</string>
<string name="connected_server_state">Terhubung</string>
<string name="reconnecting_server_state">Menghubungkan kembali...</string>
<string name="server_default_name_outline">Server Outline</string>
</resources>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="connected_server_state">Tengt</string>
<string name="reconnecting_server_state">Tengist aftur...</string>
<string name="server_default_name_outline">Outline-þjónn</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">Riconnessione in corso...</string>
<string name="connected_server_state">Connesso</string>
<string name="reconnecting_server_state">Riconnessione in corso...</string>
<string name="server_default_name_outline">Server Outline</string>
</resources>
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="reconnecting_server_state">再接続しています...</string>
<string name="connected_server_state">接続しました</string>
<string name="reconnecting_server_state">再接続しています...</string>
<string name="server_default_name_outline">Outline サーバー</string>
</resources>
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version='1.0' encoding='utf-8'?>
<resources>
<string name="app_name">Outline</string>
<string name="launcher_name">@string/app_name</string>
<string name="activity_name">@string/launcher_name</string>
<string name="connected_server_state">დაკავშირებულია</string>
<string name="reconnecting_server_state">მიმდინარეობს ხელახლა დაკავშირება...</string>
<string name="server_default_name_outline">Outline-ის სერვერი</string>
</resources>
Loading

0 comments on commit 36d3e6d

Please sign in to comment.