mirror of
https://github.com/libretro/RetroArch
synced 2024-12-26 21:29:08 +00:00
87 lines
2.5 KiB
Markdown
87 lines
2.5 KiB
Markdown
# Internationalization Workflow
|
|
|
|
## For Translators
|
|
|
|
### Use Crowdin
|
|
|
|
1. Register user account at https://crowdin.com/
|
|
2. Join the project https://crowdin.com/project/retroarch/
|
|
3. Select your language to translate
|
|
4. Click the file name `msg_hash_us.json` and the editor should open
|
|
5. Select an untranslated (red) string from the list
|
|
6. Type translation and save
|
|
7. Next string...
|
|
|
|
Links:
|
|
- [Video: How to use Crowdin](https://www.youtube.com/watch?v=kRMeCCr-D7s)
|
|
- [Learn more about contributing](https://support.crowdin.com/for-volunteer-translators/)
|
|
- [Learn more about the editor](https://support.crowdin.com/online-editor/)
|
|
- [Learn more about conversations](https://support.crowdin.com/conversations/)
|
|
- [Learn more about joining project](https://support.crowdin.com/joining-translation-project/)
|
|
|
|
### Request New Language
|
|
|
|
You can open a new issue and @guoyunhe to add new language.
|
|
|
|
## For Maintainers
|
|
|
|
### Set Up
|
|
|
|
Install Java, Python3 and Git
|
|
|
|
### Synchronize
|
|
|
|
```
|
|
cd intl
|
|
python3 crowin_sync.py
|
|
```
|
|
|
|
### Manage Crowdin Project
|
|
|
|
1. You need to be project admin. Please contact @guoyunhe or @twinaphex
|
|
2. Go to https://crowdin.com/project/retroarch/settings
|
|
3. You can manage languages, members etc. here
|
|
|
|
Links:
|
|
- [Learn more about project management](https://support.crowdin.com/advanced-project-setup/)
|
|
- [Learn more about inviting project members](https://support.crowdin.com/inviting-participants/)
|
|
- [Learn more about roles of members](https://support.crowdin.com/modifying-project-participants-roles/)
|
|
|
|
### Message File Format
|
|
|
|
1. Must **NOT** contain `#else`
|
|
2. Must **NOT** have multiple-line string syntax
|
|
```cpp
|
|
// bad
|
|
MSG_HASH(
|
|
MENU_ENUM_SUBLABEL_CHEEVOS_ENABLE,
|
|
"Compete to earn custom-made achievements in classic games.\n"
|
|
"For more information, visit http://retroachievements.org"
|
|
)
|
|
// good
|
|
MSG_HASH(
|
|
MENU_ENUM_SUBLABEL_CHEEVOS_ENABLE,
|
|
"Compete to earn custom-made achievements in classic games.\nFor more information, visit http://retroachievements.org"
|
|
)
|
|
```
|
|
3. Must **NOT** contain lowercase letters in key name
|
|
```cpp
|
|
// bad (x)
|
|
MSG_HASH(
|
|
MENU_ENUM_LABEL_VALUE_CTR_VIDEO_MODE_2D_800x240,
|
|
"2D (High Resolution)"
|
|
)
|
|
// good (X)
|
|
MSG_HASH(
|
|
MENU_ENUM_LABEL_VALUE_CTR_VIDEO_MODE_2D_800X240,
|
|
"2D (High Resolution)"
|
|
)
|
|
```
|
|
|
|
### Add New Languages
|
|
|
|
1. Go to Crowdin and add the language
|
|
2. Run Crowdin script to download new translations
|
|
3. Add new language into menu (see [#10787](https://github.com/libretro/RetroArch/pull/10787))
|
|
|