From 7a64a23d1e1702cd9ae15acede30c1d32dc16a2f Mon Sep 17 00:00:00 2001 From: darken Date: Thu, 3 Sep 2026 11:02:58 +0200 Subject: [PATCH] docs: Record that translator context lives on Crowdin Every string in the three Android source files now carries a custom context written on Crowdin. A custom value is sticky per string: Crowdin stops re-deriving that string's context from its XML comment on later source pushes, so editing the comment in values/strings.xml silently reaches no one. Nothing in the tree recorded that, which makes the next comment edit a trap. The rule file is where a reader lands when they touch strings.xml, so it says where context is edited now. --- .claude/rules/localization.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.claude/rules/localization.md b/.claude/rules/localization.md index e80fcb52..41816b6f 100644 --- a/.claude/rules/localization.md +++ b/.claude/rules/localization.md @@ -21,3 +21,5 @@ When adding new user-facing strings: - `troubleshooter_ble_result_failure_title` (status/error title) Common prefixes currently in use: `device_`, `settings_`, `support_`, `profiles_`, `press_`, `general_`, `pods_`, `upgrade_`, `widget_`, `debug_`, `permission_`, `troubleshooter_`, `overview_`, `anc_`, `onboarding_`. There is no `error_*` prefix — error labels live under the relevant feature (e.g. `general_error_label`, `troubleshooter_*_failure_*`). + +String context, character limits and file context are managed on Crowdin through the android-translation plugin's `crowdin-annotate` skill. XML comments in `values/strings.xml` no longer reach translators once a string's context has been written on Crowdin; change it there.