Skip to content

fix: refine existing locale translations (4/3) - #6048

Merged
2dust merged 3 commits into
2dust:masterfrom
eliotcougar:codex/issue-6005-xml-localization
Aug 10, 2026
Merged

fix: refine existing locale translations (4/3)#6048
2dust merged 3 commits into
2dust:masterfrom
eliotcougar:codex/issue-6005-xml-localization

Conversation

@eliotcougar

@eliotcougar eliotcougar commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Context and series

Follow-up to #6005.

This is the unplanned part 4 of 3 in the localization series originally extracted from #6021. It further separates the XML-only translation and wording work that was still bundled into the previous combined Part 3 draft in #6044.

Why this is separate

The combined draft mixed locale infrastructure, service/UI data-flow work, new resources, and translation polish. The changes here require no Kotlin, Gradle, manifest, or UI-layout changes and can be reviewed entirely as old/new resource values.

Translation and wording improvements

Complete catalog review

  • Reviews the complete locale catalogs for awkward, overly literal, or calque-like wording.
  • Uses more natural established terms and phrases in Arabic, Bangla, Bakhtiari, Persian, Russian, Vietnamese, Simplified Chinese, and Traditional Chinese.
  • Preserves xray-core identifiers, protocol names, raw keys, syntax examples, and other strictly technical terminology where translation would reduce clarity.
  • Corrects stale Arabic labels that still described numbered workflow steps.
  • Corrects misleading, unnatural, or inconsistent labels and status messages throughout the maintained catalogs.

Settings and menu wording

  • Clarifies that per-app proxy auto-selection selects apps that should be proxied.
  • Shortens Subscription group settings to Subscriptions across locales.
  • Localizes “format” in the DNS hosts title while retaining the literal domain:address,… syntax.
  • Standardizes URL capitalization.
  • Simplifies the all-profile clipboard export label.
  • Clarifies the connected-state prompt and uses a line break where the combined text would be too long.

Distinguish profile export actions

The profile More menu previously had two clipboard actions whose labels were insufficiently distinct in several locales.

  • Copy profile link copies the selected profile's share/import URI.
  • Copy full configuration copies the fully generated core configuration.

Both actions now use this distinction consistently in every maintained locale.

Focus of this extraction

Only these nine files change:

  • values/strings.xml
  • values-ar/strings.xml
  • values-bn/strings.xml
  • values-bqi-rIR/strings.xml
  • values-fa/strings.xml
  • values-ru/strings.xml
  • values-vi/strings.xml
  • values-zh-rCN/strings.xml
  • values-zh-rTW/strings.xml

This PR deliberately excludes every resource change that depends on code outside XML.

Carry over the standalone wording and translation corrections from the combined localization audit across all nine maintained catalogs.

Keep identifiers, order, placeholders, and metadata unchanged. Exclude resource additions, removals, and wording that depends on locale API, connection-result, routing layout, subscription proxy, delay-unit, or core code changes.
Distinguish copying a profile share link from copying the fully generated configuration in every maintained locale.
@eliotcougar
eliotcougar marked this pull request as ready for review August 9, 2026 11:50
@2dust
2dust merged commit e8a82d9 into 2dust:master Aug 10, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants