RetroArch/intl
2020-06-04 14:54:28 +03:00
..
.gitignore Synchronize translations 2020-06-04 12:40:25 +03:00
crowdin_sync.py Synchronize translations 2020-06-04 12:40:25 +03:00
crowdin.yaml Synchronize translations 2020-06-04 12:40:25 +03:00
fetch_progress.py Synchronize translations 2020-06-04 12:40:25 +03:00
h2json.py Synchronize translations 2020-06-04 12:40:25 +03:00
json2h.py Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_ar.c International: Remove untranslated strings + fixes 2020-04-25 19:26:25 +07:00
msg_hash_ar.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_ast.c Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_ast.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_chs.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_chs.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_cht.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_cht.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_de.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_de.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_el.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_el.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_eo.c Add this ifdef around pragma execute-character-set 2019-05-28 13:37:14 +02:00
msg_hash_eo.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_es.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_es.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_fa.c Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_fa.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_fr.c French: Add drm_go2_ctx for odroidgo2 2020-03-30 22:00:25 +07:00
msg_hash_fr.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_he.c Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_he.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_it.c (msg_hash) Settings cleanups 2020-02-23 05:51:45 +01:00
msg_hash_it.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_ja.c (MSVC 2015) Buildfix 2020-04-29 22:59:20 +00:00
msg_hash_ja.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_ko.c (MSVC 2015) Buildfix 2020-04-29 22:59:20 +00:00
msg_hash_ko.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_lbl.h More core updater improvements 2020-05-28 17:48:18 +01:00
msg_hash_nl.c Add this ifdef around pragma execute-character-set 2019-05-28 13:37:14 +02:00
msg_hash_nl.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_pl.c Add this ifdef around pragma execute-character-set 2019-05-28 13:37:14 +02:00
msg_hash_pl.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_pt_br.c Update Portuguese Brazilian Translation 2020-04-22 20:32:09 -03:00
msg_hash_pt_br.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_pt_pt.c (msg_hash) Settings cleanups 2020-02-23 05:51:45 +01:00
msg_hash_pt_pt.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_ru.c Add this ifdef around pragma execute-character-set 2019-05-28 13:37:14 +02:00
msg_hash_ru.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_sk.c International: Add all the languages from Crowdin… 2020-05-02 13:29:17 +07:00
msg_hash_sk.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_tr.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_tr.h Synchronize translations 2020-06-04 12:40:25 +03:00
msg_hash_us.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_us.h Add Persian, Hebrew and Asturian language options 2020-06-04 14:54:28 +03:00
msg_hash_vn.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_vn.h Synchronize translations 2020-06-04 12:40:25 +03:00
progress.h Synchronize translations 2020-06-04 12:40:25 +03:00
README.md Synchronize translations 2020-06-04 12:40:25 +03:00

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:

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:

Message File Format

  1. Must NOT contain #else
  2. Must NOT have multiple-line string syntax
    // 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
    // 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)"
      )