Skip to content

i18n(ru): Complete Russian localization for all untranslated UI strings#8931

Open
aleksandr-miheichev wants to merge 2 commits into2dust:masterfrom
aleksandr-miheichev:master
Open

i18n(ru): Complete Russian localization for all untranslated UI strings#8931
aleksandr-miheichev wants to merge 2 commits into2dust:masterfrom
aleksandr-miheichev:master

Conversation

@aleksandr-miheichev
Copy link
Contributor

Summary

This PR completes the Russian (ru) localization by translating 68 previously untranslated strings in ResUI.ru.resx that were left in English.

Changes

File changed: v2rayN/ServiceLib/Resx/ResUI.ru.resx

Categories of translated strings

Category Count Examples
Policy Group / Proxy Chain UI 15 TbConfigTypePolicyGroup, TbLeastPing, TbRoundRobin, menuAddPolicyGroupServer
Routing & DNS settings 12 TbRuleType, TbDirectResolveStrategy, TbDomesticDNSTips, TbBootstrapDNSTips
Certificate Pinning UI 8 TbCertPinning, TbCertPinningTips, TbFetchCert, CertNotSet, CertSet
Core error/warning messages 14 MsgCoreNotSupportProtocol, MsgGroupCycleDependency, MsgRoutingRuleOutboundNodeError
Server list & menu items 10 menuServerList, menuServerList2, menuAllServers, menuGenRegionGroup
System proxy & misc settings 9 TbSettingsMacOSShowInDock, TbSettingsCustomSystemProxyPacPath, TbHopInt7

Intentionally kept in English (5 strings)

Universal technical abbreviations that are standard in Russian IT terminology:

  • LabLAN → "LAN"
  • TbId5 → "UUID(id)"
  • TbSettingsDefUserAgent → "User-Agent"
  • TbSettingsTunMtu → "MTU"
  • TbStreamSecurity → "TLS"

Translation approach

  • Consistent terminology with existing Russian translations in the file
  • Technical terms (proxy, DNS, TLS, etc.) kept as-is per standard Russian IT practice
  • Original English terms preserved in parentheses where it aids understanding (e.g., "Резервный (Fallback)", "Циклический (Round Robin)")
  • All {0}, {1}, {2} format placeholders preserved in correct positions

Testing

  • XML validity verified (parsed successfully with no errors)
  • All 516 <data> elements present and accounted for
  • No missing translations compared to ResUI.resx (English source)
  • Format string placeholders ({0}, {1}, {2}) preserved correctly

Build verification

The project was successfully built via GitHub Actions with this change applied — no build errors caused by the translation update.

🔗 Actions run (build Release)

All 11 warnings are pre-existing and unrelated to this PR — they come from deprecated ProfileItem properties in AppManager.cs and a Node.js 20 deprecation notice in the CI pipeline.

Before / After

Before: 69 strings displayed in English in the Russian UI
After: Only 5 universal technical abbreviations remain (LAN, UUID, User-Agent, MTU, TLS)

Complete the Russian (ru) localization by translating all remaining
English strings in ResUI.ru.resx. Categories include:
- Policy Group and Proxy Chain UI elements
- Routing and DNS settings/tips
- Certificate Pinning UI
- Core error and warning messages
- Server list and menu items
- System proxy and miscellaneous settings

5 universal technical abbreviations (LAN, UUID, User-Agent, MTU, TLS)
are intentionally kept as-is per standard Russian IT terminology.
…localization

i18n(ru): translate 68 untranslated strings in Russian localization
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.

1 participant