RetroArch/intl
Omar Saleem b4878a8e7b
feat: solarized light ozone theme (#5)
* feat: adding solarized dark theme to ozone

* fix: variable not defined in header

* fix: added string for selecting theme in menu

* fix: added message hash for string

* feat: copied solarized dark translations into msg hashes

* fix: forgot to change name of enum label after copying

* first pass of new colors

* added selection border and fixed sublabel color

* sublabel color from blue to muted gray

* trying cyan for sublabel

* adjusted selected text color to match philosophy from solarized website

* testing what the entries_ colors do

* chose colors for entries_, adjusted other border and bgs

* match selection border to sublabel color

* trying gray for sublabel

* accidentally put the color in the wrong place, reverting and updating

* trying to change selected option color to orange

* not feeling orange, lets try teal

* try for orange border

* try for magenta border

* try for violet border

* trying blue border again

* trying omar blue bc why not

* reverting to regular blue for icons and green for border

* try magenta for footer border

* trying font color for footer border

* trying to get message background to show

* can't get it to render, but changed message background to violet

* testing sidebar changes

* sidebar colors

* lighter sidebar color

* trying gray sidebar

* try a gradient

* screwed up one of the coordinates

* reversing gradient

* attempting gradient with colors i made up

* accidentally wrote gradient to dracula instead of solarized dark

* adding gradient to the top, reversing bottom gradient

* randomly trying shuffling bottom gradient coords

* moving top right coordinate somewhere else

* swapped top two bottom coords to see

* swapped them back, i got lucky and things were right

* think i figured out the order,  BL, BR, TL, TR

* making background gradient lil darker

* fixed coords

* lessening gradient effect

* lessening gradient effect, but by making darker instead of lighter

* of course, messed up two coords

* removed top and bottom gradients

* dark and flat sidebar

* forgot to change running background

* made running background a bit less transparent since this is a low contrast theme

* added underscore to theme name

* adjusting message background color

* fixing message background color

* fixed cursor color border

* adjusting text to be one notch brighter, base0 -> base1, base01 -> base0

* adjusting sublabel text to use base00 instead, its in between base01 and base0

* added message hashes for light theme name

* added defines and enums for the light theme

* added solarized light structs into ozone.c, theyre all clones of dark for now

* fixing solarized dark ozone theme

fixing name of theme in ozone.c so assets load properly, fixing cursor and message colors to be green instead of purple

* added message hashes for light theme name

* added defines and enums for the light theme

* added solarized light structs into ozone.c, theyre all clones of dark for now

* i had based this branch on the wrong branch, fixed

* first pass, only changing background and regular text

* trying orange and magenta highlights

* Revert "trying orange and magenta highlights"

This reverts commit 1f1e107888cee0e97c6354a8d114863b39af8d00.

* applying the new colors to the right theme this time :)

* trying red instead of pink

* trying magenta icons in a desperate attempt to justify the use of the color

* trying magenta icons, orange labels and selector

* back to orange and red, sigh

* trying sidebar colors

* fixing sidebar gradient

* light theme red animated border colors

* trying magenta for second border color

* that was bad, trying a less light red

* going even darker

* made cursor border get darker instead of lighter

* that was a little too dark

* changed light theme running background to be..light
2021-10-16 16:17:16 -04:00
..
.gitignore
crowdin_sync.py Fixed a tiny bug in the Crowdin sync script 2021-05-24 12:43:48 +02:00
crowdin.yaml
fetch_progress.py
googleplay_ar.json
googleplay_ast.json
googleplay_chs.json
googleplay_cht.json
googleplay_cs.json Fetch translations from Crowdin 2021-05-17 00:09:21 +08:00
googleplay_cy.json Fetch translations from Crowdin 2021-03-11 22:15:42 +08:00
googleplay_da.json
googleplay_de.json Fetch translations from Crowdin 2021-01-09 12:04:24 +08:00
googleplay_el.json
googleplay_eo.json 'Fetch translations from Crowdin 23-Jun-2021' 2021-06-23 16:00:53 +02:00
googleplay_es.json
googleplay_fa.json
googleplay_fi.json 'Fetch translations from Crowdin 23-Jun-2021' 2021-06-23 16:00:53 +02:00
googleplay_fr.json
googleplay_gl.json
googleplay_he.json
googleplay_hu.json
googleplay_id.json Fetch translations from Crowdin (#11951) 2021-01-28 07:35:03 +01:00
googleplay_it.json Fetch translations from Crowdin 30-Jul-2021 2021-07-30 17:06:13 +02:00
googleplay_ja.json 'Fetch translations from Crowdin 23-Jun-2021' 2021-06-23 16:00:53 +02:00
googleplay_ko.json
googleplay_nl.json
googleplay_oc.json Fetch translations from Crowdin 30-Jul-2021 2021-07-30 17:06:13 +02:00
googleplay_pl.json
googleplay_pt_br.json
googleplay_pt_pt.json
googleplay_ru.json Fetch translations from Crowdin 2021-03-11 22:15:42 +08:00
googleplay_si.json Fetch translations from Crowdin 04-Sep-2021 (#12934) 2021-09-04 17:43:20 +02:00
googleplay_sk.json 'Fetch translations from Crowdin 23-Jun-2021' 2021-06-23 16:00:53 +02:00
googleplay_sv.json Fetch translations from Crowdin 2021-05-17 00:09:21 +08:00
googleplay_tr.json
googleplay_uk.json
googleplay_us.json
googleplay_vn.json
h2json.py adjust h2json and json2h scripts to be comment agnostic (#12532) 2021-06-16 17:21:57 +02:00
json2h.py adjust h2json and json2h scripts to be comment agnostic (#12532) 2021-06-16 17:21:57 +02:00
msg_hash_ar.c
msg_hash_ar.h feat: solarized light ozone theme (#5) 2021-10-16 16:17:16 -04:00
msg_hash_ast.c
msg_hash_ast.h Fetch translations from Crowdin 17-Sep-2021 (#13007) 2021-09-17 20:23:02 +02:00
msg_hash_chs.c improve message wrapping with CJK languages 2021-06-03 21:09:35 +09:00
msg_hash_chs.h feat: solarized light ozone theme (#5) 2021-10-16 16:17:16 -04:00
msg_hash_cht.c improve message wrapping with CJK languages 2021-06-03 21:09:35 +09:00
msg_hash_cht.h Fetch translations from Crowdin 17-Sep-2021 (#13007) 2021-09-17 20:23:02 +02:00
msg_hash_cs.h Fetch translations from Crowdin 17-Sep-2021 (#13007) 2021-09-17 20:23:02 +02:00
msg_hash_cy.h Fetch translations from Crowdin 17-Sep-2021 (#13007) 2021-09-17 20:23:02 +02:00
msg_hash_da.h Rebase 'Add generic rumble gain to input settings' by davidgfnet 2021-09-08 19:52:32 +02:00
msg_hash_de.c
msg_hash_de.h feat: solarized light ozone theme (#5) 2021-10-16 16:17:16 -04:00
msg_hash_el.c
msg_hash_el.h Fetch translations from Crowdin 17-Sep-2021 (#13007) 2021-09-17 20:23:02 +02:00
msg_hash_eo.c
msg_hash_eo.h Rebase 'Add generic rumble gain to input settings' by davidgfnet 2021-09-08 19:52:32 +02:00
msg_hash_es.c
msg_hash_es.h feat: solarized light ozone theme (#5) 2021-10-16 16:17:16 -04:00
msg_hash_fa.c
msg_hash_fa.h Rebase 'Add generic rumble gain to input settings' by davidgfnet 2021-09-08 19:52:32 +02:00
msg_hash_fi.c
msg_hash_fi.h feat: solarized light ozone theme (#5) 2021-10-16 16:17:16 -04:00
msg_hash_fr.c
msg_hash_fr.h feat: solarized light ozone theme (#5) 2021-10-16 16:17:16 -04:00
msg_hash_gl.h Concatinate some previously truncated strings for easier translation (#12120) 2021-09-16 19:00:14 +02:00
msg_hash_he.c
msg_hash_he.h Fetch translations from Crowdin 17-Sep-2021 (#13007) 2021-09-17 20:23:02 +02:00
msg_hash_hu.h Fetch translations from Crowdin 17-Sep-2021 (#13007) 2021-09-17 20:23:02 +02:00
msg_hash_id.h Fetch translations from Crowdin 17-Sep-2021 (#13007) 2021-09-17 20:23:02 +02:00
msg_hash_it.c
msg_hash_it.h feat: solarized light ozone theme (#5) 2021-10-16 16:17:16 -04:00
msg_hash_ja.c improve message wrapping with CJK languages 2021-06-03 21:09:35 +09:00
msg_hash_ja.h Fetch translations from Crowdin 01-Oct-2021 2021-10-01 23:32:17 +02:00
msg_hash_ko.c improve message wrapping with CJK languages 2021-06-03 21:09:35 +09:00
msg_hash_ko.h feat: solarized light ozone theme (#5) 2021-10-16 16:17:16 -04:00
msg_hash_lbl.h Add Miyoo target (#12860) 2021-10-08 13:53:49 +02:00
msg_hash_nl.c
msg_hash_nl.h Fetch translations from Crowdin 17-Sep-2021 (#13007) 2021-09-17 20:23:02 +02:00
msg_hash_oc.h Rebase 'Add generic rumble gain to input settings' by davidgfnet 2021-09-08 19:52:32 +02:00
msg_hash_pl.c
msg_hash_pl.h feat: solarized light ozone theme (#5) 2021-10-16 16:17:16 -04:00
msg_hash_pt_br.c
msg_hash_pt_br.h feat: solarized light ozone theme (#5) 2021-10-16 16:17:16 -04:00
msg_hash_pt_pt.c
msg_hash_pt_pt.h Fetch translations from Crowdin 17-Sep-2021 (#13007) 2021-09-17 20:23:02 +02:00
msg_hash_ru.c (RGUI) Add Russian language support 2021-01-13 10:00:51 +00:00
msg_hash_ru.h feat: solarized light ozone theme (#5) 2021-10-16 16:17:16 -04:00
msg_hash_si.h Fetch translations from Crowdin 17-Sep-2021 (#13007) 2021-09-17 20:23:02 +02:00
msg_hash_sk.c
msg_hash_sk.h Fetch translations from Crowdin 17-Sep-2021 (#13007) 2021-09-17 20:23:02 +02:00
msg_hash_sv.h Concatinate some previously truncated strings for easier translation (#12120) 2021-09-16 19:00:14 +02:00
msg_hash_tr.c
msg_hash_tr.h feat: solarized light ozone theme (#5) 2021-10-16 16:17:16 -04:00
msg_hash_uk.h feat: solarized light ozone theme (#5) 2021-10-16 16:17:16 -04:00
msg_hash_us.c New feature: Use gamepad combo to quit Retroarch (#13017) 2021-09-24 18:30:46 +02:00
msg_hash_us.h feat: solarized light ozone theme (#5) 2021-10-16 16:17:16 -04:00
msg_hash_vn.c
msg_hash_vn.h Concatinate some previously truncated strings for easier translation (#12120) 2021-09-16 19:00:14 +02:00
progress.h Fetch translations from Crowdin 15-Jul-2021 2021-07-15 15:21:27 +02:00
README.md
steam_ar.json 'Fetch translations from Crowdin 23-Jun-2021' 2021-06-23 16:00:53 +02:00
steam_ast.json
steam_chs.json 'Fetch translations from Crowdin 23-Jun-2021' 2021-06-23 16:00:53 +02:00
steam_cht.json
steam_cs.json Fetch translations from Crowdin 2021-05-17 00:09:21 +08:00
steam_cy.json Fetch translations from Crowdin 2021-03-11 22:15:42 +08:00
steam_da.json
steam_de.json 'Fetch translations from Crowdin 23-Jun-2021' 2021-06-23 16:00:53 +02:00
steam_el.json
steam_eo.json 'Fetch translations from Crowdin 23-Jun-2021' 2021-06-23 16:00:53 +02:00
steam_es.json Fetch translations from Crowdin 17-Sep-2021 (#13007) 2021-09-17 20:23:02 +02:00
steam_fa.json
steam_fi.json 'Fetch translations from Crowdin 23-Jun-2021' 2021-06-23 16:00:53 +02:00
steam_fr.json
steam_gl.json Fetch translations from Crowdin 2021-03-11 22:15:42 +08:00
steam_he.json
steam_hu.json Fetch translations from Crowdin 01-Oct-2021 2021-10-01 23:32:17 +02:00
steam_id.json Fetch translations from Crowdin 13-Aug-2021 2021-08-13 21:35:50 +02:00
steam_it.json Fetch translations from Crowdin 30-Jul-2021 2021-07-30 17:06:13 +02:00
steam_ja.json 'Fetch translations from Crowdin 23-Jun-2021' 2021-06-23 16:00:53 +02:00
steam_ko.json
steam_nl.json
steam_oc.json Fetch translations from Crowdin 30-Jul-2021 2021-07-30 17:06:13 +02:00
steam_pl.json 'Fetch translations from Crowdin 23-Jun-2021' 2021-06-23 16:00:53 +02:00
steam_pt_br.json
steam_pt_pt.json
steam_ru.json Fetch translations from Crowdin (#11983) 2021-02-04 13:11:36 +01:00
steam_si.json Fetch translations from Crowdin 04-Sep-2021 (#12934) 2021-09-04 17:43:20 +02:00
steam_sk.json
steam_sv.json Fetch translations from Crowdin 2021-05-17 00:09:21 +08:00
steam_tr.json
steam_uk.json
steam_us.json
steam_vn.json

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)"
      )
    

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)