RetroArch/intl
2020-05-02 20:01:53 +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: Add all the languages from Crowdin… 2020-05-02 13:29:17 +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: Add all the languages from Crowdin… 2020-05-02 13:29:17 +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: Add all the languages from Crowdin… 2020-05-02 13:29:17 +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: Add all the languages from Crowdin… 2020-05-02 13:29:17 +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: Add all the languages from Crowdin… 2020-05-02 13:29:17 +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 International: Add all the languages from Crowdin… 2020-05-02 13:29:17 +07:00
msg_hash_es.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_es.h International: Add all the languages from Crowdin… 2020-05-02 13:29:17 +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 option to mute audio when fast-forward 2020-05-02 20:01:53 +07:00
msg_hash_it.c (msg_hash) Settings cleanups 2020-02-23 05:51:45 +01:00
msg_hash_it.h International: Add all the languages from Crowdin… 2020-05-02 13:29:17 +07:00
msg_hash_ja.c (MSVC 2015) Buildfix 2020-04-29 22:59:20 +00:00
msg_hash_ja.h International: Add all the languages from Crowdin… 2020-05-02 13:29:17 +07:00
msg_hash_ko.c (MSVC 2015) Buildfix 2020-04-29 22:59:20 +00:00
msg_hash_ko.h International: Add all the languages from Crowdin… 2020-05-02 13:29:17 +07:00
msg_hash_lbl.h Add option to mute audio when fast-forwarding 2020-05-01 12:19:31 +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 International: Add all the languages from Crowdin… 2020-05-02 13:29:17 +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: Add all the languages from Crowdin… 2020-05-02 13:29:17 +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: Add all the languages from Crowdin… 2020-05-02 13:29:17 +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: Add all the languages from Crowdin… 2020-05-02 13:29:17 +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: Add all the languages from Crowdin… 2020-05-02 13:29:17 +07:00
msg_hash_sk.c International: Add all the languages from Crowdin… 2020-05-02 13:29:17 +07:00
msg_hash_sk.h International: Add all the languages from Crowdin… 2020-05-02 13:29:17 +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: Add all the languages from Crowdin… 2020-05-02 13:29:17 +07:00
msg_hash_us.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_us.h unify "show/hide" -> "show or hide" 2020-05-01 21:17:52 +03:00
msg_hash_vn.c Add drm_go2_ctx for odroidgo2 2020-03-28 03:30:28 +00:00
msg_hash_vn.h International: Add all the languages from Crowdin… 2020-05-02 13:29:17 +07:00
progress.h International: Add all the languages from Crowdin… 2020-05-02 13:29:17 +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