Add Traditional Chinese localization
This commit is contained in:
1 parent
542f9f2aa4
commit
a737283621
28 files changed
+9917
-255
No files matched your search
@@ -10,54 +10,56 @@ if ! jq empty "$catalog"; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
missing=$(jq -r '
|
||||
.strings | to_entries[]
|
||||
| select(.value.localizations."zh-Hans" == null)
|
||||
| .key
|
||||
' "$catalog")
|
||||
if [[ -n "$missing" ]]; then
|
||||
echo "Missing zh-Hans localizations:" >&2
|
||||
echo "$missing" >&2
|
||||
exit 1
|
||||
fi
|
||||
for language in zh-Hans zh-Hant; do
|
||||
missing=$(jq -r --arg language "$language" '
|
||||
.strings | to_entries[]
|
||||
| select(.value.localizations[$language] == null)
|
||||
| .key
|
||||
' "$catalog")
|
||||
if [[ -n "$missing" ]]; then
|
||||
echo "Missing $language localizations:" >&2
|
||||
echo "$missing" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
unfinished=$(jq -r '
|
||||
.strings | to_entries[] as $entry
|
||||
| [
|
||||
$entry.value.localizations."zh-Hans"
|
||||
| .. | objects | .stringUnit?
|
||||
| select(. != null and .state != "translated")
|
||||
]
|
||||
| select(length > 0)
|
||||
| $entry.key
|
||||
' "$catalog")
|
||||
if [[ -n "$unfinished" ]]; then
|
||||
echo "Unfinished zh-Hans localizations:" >&2
|
||||
echo "$unfinished" >&2
|
||||
exit 1
|
||||
fi
|
||||
unfinished=$(jq -r --arg language "$language" '
|
||||
.strings | to_entries[] as $entry
|
||||
| [
|
||||
$entry.value.localizations[$language]
|
||||
| .. | objects | .stringUnit?
|
||||
| select(. != null and (.state != "translated" or (.value == "" and $entry.key != "")))
|
||||
]
|
||||
| select(length > 0)
|
||||
| $entry.key
|
||||
' "$catalog")
|
||||
if [[ -n "$unfinished" ]]; then
|
||||
echo "Unfinished $language localizations:" >&2
|
||||
echo "$unfinished" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
violations=$(jq -r '
|
||||
.strings | to_entries[] as $entry
|
||||
| [
|
||||
($entry.value.localizations."zh-Hans" // {})
|
||||
| .. | objects | .stringUnit?.value? // empty
|
||||
]
|
||||
| .[]
|
||||
| select(
|
||||
test("\\p{Han}")
|
||||
and (
|
||||
test("\\p{Han}[ \\t]+[A-Za-z0-9%@`]|[A-Za-z0-9%@`][ \\t]+\\p{Han}")
|
||||
or test("[ \\t]+[—·→:,。!?;、/:]|[—·→:,。!?;、/:][ \\t]+")
|
||||
or test("\\p{Han}[,.!?;]|[,.!?;]\\p{Han}")
|
||||
violations=$(jq -r --arg language "$language" '
|
||||
.strings | to_entries[] as $entry
|
||||
| [
|
||||
($entry.value.localizations[$language] // {})
|
||||
| .. | objects | .stringUnit?.value? // empty
|
||||
]
|
||||
| .[]
|
||||
| select(
|
||||
test("\\p{Han}")
|
||||
and (
|
||||
test("\\p{Han}[ \\t]+[A-Za-z0-9%@`]|[A-Za-z0-9%@`][ \\t]+\\p{Han}")
|
||||
or test("[ \\t]+[—·→:,。!?;、/:]|[—·→:,。!?;、/:][ \\t]+")
|
||||
or test("\\p{Han}[,.!?;]|[,.!?;]\\p{Han}")
|
||||
)
|
||||
)
|
||||
)
|
||||
| "\($entry.key): \(.)"
|
||||
' "$catalog")
|
||||
if [[ -n "$violations" ]]; then
|
||||
echo "Invalid zh-Hans spacing:" >&2
|
||||
echo "$violations" >&2
|
||||
exit 1
|
||||
fi
|
||||
| "\($entry.key): \(.)"
|
||||
' "$catalog")
|
||||
if [[ -n "$violations" ]]; then
|
||||
echo "Invalid $language spacing:" >&2
|
||||
echo "$violations" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
echo "zh-Hans localization checks passed."
|
||||
echo "zh-Hans and zh-Hant localization checks passed."
|
||||
@@ -3,7 +3,7 @@
|
||||
set -euo pipefail
|
||||
|
||||
usage() {
|
||||
print -u2 "Usage: Scripts/run-screenshot-demo.sh <hosts|workspace|agent|command|metrics|metrics-detail|app-settings> <en|zh>"
|
||||
print -u2 "Usage: Scripts/run-screenshot-demo.sh <hosts|workspace|agent|command|metrics|metrics-detail|app-settings> <en|zh-Hans|zh-Hant>"
|
||||
}
|
||||
|
||||
if (( $# != 2 )); then
|
||||
@@ -28,10 +28,14 @@ case "$language" in
|
||||
apple_language="en"
|
||||
apple_locale="en_US"
|
||||
;;
|
||||
zh)
|
||||
zh-Hans)
|
||||
apple_language="zh-Hans"
|
||||
apple_locale="zh-Hans"
|
||||
;;
|
||||
zh-Hant)
|
||||
apple_language="zh-Hant"
|
||||
apple_locale="zh-Hant"
|
||||
;;
|
||||
*)
|
||||
print -u2 "Unknown Demo language: $language"
|
||||
usage
|
||||
|
||||
Reference in new issue
Block a user