-
Notifications
You must be signed in to change notification settings - Fork 236
How Translations work in GO
GO/SRO is localized across 14 languages. This wiki seeks to explain how translations are structured in this project, as well as provide instructions towards several workflows.
GO has two main types of translations:
- Manual Translations: Translations made by real humans
- Game Translations: Translations extracted from the datamine, from in-game.
Since GO is a mono-repo, it takes advantage of the libraries to separate each translation related modules into their own namespace.
- common-localization libs/common/localization - Holds common translations shared between GO and SRO, as well the "master" translation files from POEditor, as well as some scripts to export the master files into their respective namespace libraries.
- gi-localization libs/gi/localization - Holds all the manual translations for GO.
- sr-localization libs/sr/localization - Holds all the manual translations for SRO.
- gi-dm-localization libs/gi/dm-localization - Holds all the game translations for GO.
- sr-dm-localization libs/sr/dm-localization - Holds all the game translations for SRO.
- TODO: silly wisher translations?
Since the main development for GO/SRO is English, only the english translations needs to be added.
- Add to
libs/gi/localization/assets/locales/en
only
Run
nx gen-file common-localization
will create a libs\common\localization\main_gen.json
. This file is a combination of all the common/gi/sr namespaced translations, and can be uploaded directly to POEditor.
Use the POEditor Github integrations to download non-english translations into /libs/common/localization/Translated
, and run
nx gen-file common-localization
to propagate the translations into their respective namespaces.