RetroArch/intl
2020-04-26 14:51:20 -07:00
..
.gitignore Synchronize translations 2020-01-04 21:56:20 +02:00
crowdin_sync.sh Synchronize translations 2020-01-04 21:56:20 +02:00
crowdin.yaml Add crowdin.yaml 2020-02-15 02:41:29 +01:00
h2json.py Use JSON as format to connect with translation tools 2020-01-04 21:56:20 +02:00
json2h.py Synchronize translations 2020-01-04 21:56:20 +02:00
msg_hash_ar.c International: Remove untranslated strings + fixes 2020-04-25 19:26:25 +07:00
msg_hash_ar.h International: Formatting fix for all languages 2020-04-25 19:24:22 +07:00
msg_hash_chs.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_chs.h International: Fix 2020-04-25 20:43:42 +07:00
msg_hash_cht.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_cht.h International: Fix 2020-04-25 20:43:42 +07:00
msg_hash_de.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_de.h International: Remove untranslated strings + fixes 2020-04-25 19:26:25 +07:00
msg_hash_el.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_el.h International: Remove untranslated strings + fixes 2020-04-25 19:26:25 +07: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 (Intl) Stat removing duplicate English text 2020-01-02 09:20:53 +01:00
msg_hash_es.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_es.h International: Formatting fix for all languages 2020-04-25 19:24:22 +07:00
msg_hash_fr.c French: Add drm_go2_ctx for odroidgo2 2020-03-30 22:00:25 +07:00
msg_hash_fr.h French: Add optional playlist compression 2020-04-23 19:41:20 +07:00
msg_hash_it.c (msg_hash) Settings cleanups 2020-02-23 05:51:45 +01:00
msg_hash_it.h International: Fix 2020-04-25 20:43:42 +07:00
msg_hash_ja.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_ja.h International: Remove untranslated strings + fixes 2020-04-25 19:26:25 +07:00
msg_hash_ko.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_ko.h International: Formatting fix for all languages 2020-04-25 19:24:22 +07:00
msg_hash_lbl.h International: Formatting fix for all languages 2020-04-25 19:24:22 +07: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 International: Fix 2020-04-25 20:43:42 +07: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 International: Fix 2020-04-25 20:43:42 +07:00
msg_hash_pt_br.c Update Portuguese Brazilian Translation 2020-04-22 20:32:09 -03:00
msg_hash_pt_br.h International: Remove untranslated strings + fixes 2020-04-25 19:26:25 +07:00
msg_hash_pt_pt.c (msg_hash) Settings cleanups 2020-02-23 05:51:45 +01:00
msg_hash_pt_pt.h International: Fix 2020-04-25 20:43:42 +07: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 International: Fix 2020-04-25 20:43:42 +07:00
msg_hash_tr.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_tr.h International: Fix 2020-04-25 20:43:42 +07:00
msg_hash_us.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_us.h US Translation: More fixes 2020-04-26 14:51:20 -07:00
msg_hash_vn.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_vn.h International: Fix 2020-04-25 20:43:42 +07:00
README.md intl/README.md: Fix typo 2020-04-09 21:07:17 +02:00

Internationalization Workflow (Draft)

Steps

  • Developers update strings in msg_hash_us.h.
  • Developers (can set a cron job) run ./h2json.py msg_hash_us.h to generate msg_hash_us.json. It is just a convenient format that is supported by Weblate/Crowdin/Transifex and doesn't need to be in version control.
  • Developers (can set a cron job) upload msg_hash_us.json to Weblate/Crowdin/Transifex.
  • Translators translate strings on Weblate/Crowdin/Transifex.
  • Developers (can set a cron job) download msg_hash_xx.json files.
  • Developers (can set a cron job) run ./json2h.py msg_hash_xx.json to generate msg_hash_xx.h.

Pros

  • No new dependencies.
  • No performance impact.
  • Don't require translators to know how to use Git, how to read C code and how to create Pull Request.
  • Translators will be informed whenever a source string changes.

Cron job setup

  1. Install crowdin cli tool
  2. Get the intl/crowdin.yaml file from someone who have crowdin admin accounts
  3. Add cron job cd path/to/retroarch/intl && ./crowin_sync.sh