OpenRA / OpenRA/OpenRA

Translation support

Open
#10,475 27 comments 15 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Feature Meta UI
Dominant language
C#
Stars
17.4k
Forks
3k
Avg merge
1d 12h
Merged PRs (30d)
14

Description

Prerequisites for initial translations:

  • Engine support:
    • Translation support for yaml-defined strings. [#3929 #18959] [#18965]
    • Translation support for code-defined strings. [#18965]
    • Translation support for Lua-defined strings. [#18965]
    • Change server messages to send a string ID and arguments to translate client-side. [#19847]
  • Tooling:
    • Automated chrome string extraction. [#5152 #18959 #20594] [#21134]
    • Automated format string sanity checks (verify that strings with formatting parameters define the same number across all translations). [#19847]
    • Utility command for showing missing translation strings. [#19847 #21490 #21525]
  • Extract hardcoded strings from C# code into English translation. [#20048 #20142 #20380 #20262 #20876]
  • Extract hardcoded strings from Lua code into English translation. [#20265 #20387 #20390]
  • Extract yaml strings into English translation. [#20393 #20400 #20585 #20725 #21204 #21241 #21385 #21386 #21484 #21489 #21526]
  • Include language setting in crash logs. #20391

Later improvements:

  • Support for detecting/downloading/installing foreign content bundles (sound/art). Related to the ongoing mod browser / installation work. [#11375 and followups]
  • Support for switching art/sounds based on translation.
  • Per language font initialisation [#17794]

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue is a broad translation-support checklist rather than a scoped task, and it names no files, tests, or entry points. Start by selecting one unchecked improvement and reviewing the linked issue where available, such as #17794 for per-language font initialisation. Done would require a separately defined scope and acceptance criteria for that improvement.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, lua, yaml
Domain
game-dev, internationalization, localization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.