Files
amethyst/crowdin.yml
T
davotoulaandClaude Fable 5 916ac267af fix(l10n): consolidate Czech onto the base values-cs qualifier
Czech has a single Crowdin target (cs), but Crowdin's default android_code
for it is cs-rCZ, so the human/Crowdin translation was written to
values-cs-rCZ. Promote it to base values-cs, delete the regional dir, map
cs -> cs in crowdin.yml so future syncs land at the base (single target =>
no collision), and drop cs-CZ from locales_config so the per-app language
picker shows just "Czech".

Also removes the bulk-filled base values-cs from PR #3371 ("Add and update
translations across 50+ locales"), which had translated 38 strings marked
translatable="false" in the source (the *_search_keywords English index,
github/mastodon proper nouns, notification-channel names). The promoted
cs-rCZ is Crowdin-clean (0 translatable="false" leakage), so this also
fixes that contamination for Czech.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KhEN93aKyQCFVpLUgRNXid
2026-07-03 17:01:33 +02:00

28 lines
1.3 KiB
YAML

"project_id_env": "CROWDIN_PROJECT_ID"
"api_token_env": "CROWDIN_PERSONAL_TOKEN"
"base_path": "."
"base_url": "https://api.crowdin.com"
"preserve_hierarchy": true
files:
- source: amethyst/src/main/res/values/strings.xml
translation: amethyst/src/main/res/values-%android_code%/%original_file_name%
type: android
skip_untranslated_strings: true
# Land Kenyan Swahili (sw-KE) at the base qualifier so every Swahili speaker
# (incl. regions we don't target individually) gets full coverage instead of
# falling through to English.
# REQUIRED Crowdin UI changes (target languages live under Project Settings ->
# Languages), otherwise the next sync undoes this:
# - keep "Swahili, Kenya" (sw-KE) checked -> mapped here to values-sw
# - UNCHECK base "Swahili" (sw): it is an empty target, and leaving it on
# makes both sw and the mapped sw-KE write values-sw (collision).
# - UNCHECK "Swahili, Tanzania" (sw-TZ): empty, else it recreates an empty
# values-sw-rTZ.
languages_mapping:
android_code:
# Czech: single target, but Crowdin's default android_code is cs-rCZ, so
# without this it writes values-cs-rCZ instead of base values-cs. Single
# target => no collision; cs-CZ is dropped from locales_config to match.
cs: cs
sw-KE: sw