RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    EmulationStation localization (translation)

    Scheduled Pinned Locked Moved Ideas and Development
    emulationstatiolocalizationlanguageuser interface
    305 Posts 62 Posters 134.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • hiulitH
      hiulit
      last edited by

      Thanks @heloisa ! It works! :D

      My little contributions to the RetroPie project:

      • Shell-Script-Boilerplate
      • Fun-Facts-Splashscreens
      • Limit-Last-Played-Games
      heloisaH 1 Reply Last reply Reply Quote 1
      • hiulitH
        hiulit
        last edited by

        I would like to thank @Flyinghead for this fork of EmulationStation and the rest of the people that made localization possible. It's a pity that the RetroPie team doesn't want (that's my understanding) to add this feature to the master branch of RetroPie's EmulationStation fork. It would be really cool.

        In the meantime, @Flyinghead , could you update your fork to be at the same level as RetroPie's EmulationStation fork? There has been many new features that the people who also want localization are missing.

        Thanks a lot! :)

        My little contributions to the RetroPie project:

        • Shell-Script-Boilerplate
        • Fun-Facts-Splashscreens
        • Limit-Last-Played-Games
        1 Reply Last reply Reply Quote 1
        • hiulitH
          hiulit
          last edited by

          Btw, @heloisa , why do you need to do the step 3 on your documentation?

          Copy the Locale Directory

          cp -r locale/lang/fr locale/lang/(Your locale)
          

          I didn't use it and I got it working anyway.

          My little contributions to the RetroPie project:

          • Shell-Script-Boilerplate
          • Fun-Facts-Splashscreens
          • Limit-Last-Played-Games
          heloisaH 1 Reply Last reply Reply Quote 0
          • heloisaH
            heloisa @hiulit
            last edited by

            @hiulit :) Good thing it worked, you're welcome.

            hiulitH 1 Reply Last reply Reply Quote 1
            • heloisaH
              heloisa @hiulit
              last edited by

              @hiulit I couldn't translate without. I'll try again without step 3. Tks

              1 Reply Last reply Reply Quote 1
              • hiulitH
                hiulit
                last edited by

                Does anybody know who did the Italian and French translations?

                My little contributions to the RetroPie project:

                • Shell-Script-Boilerplate
                • Fun-Facts-Splashscreens
                • Limit-Last-Played-Games
                1 Reply Last reply Reply Quote 0
                • hiulitH
                  hiulit
                  last edited by

                  Questions for @Flyinghead :

                  • Is the .gitignore that I see in some LC_MESSAGES folders necessary?
                  • Shouldn't we agree on the first part of the *.po file?
                  msgid ""
                  msgstr ""
                  "Project-Id-Version: retropie-emulationstation\n"
                  "Report-Msgid-Bugs-To: \n"
                  "POT-Creation-Date: 2019-02-06 10:58+0100\n"
                  "Last-Translator: hiulit \n"
                  "Language: ca_ES\n"
                  "MIME-Version: 1.0\n"
                  "Content-Type: text/plain; charset=UTF-8\n"
                  "Content-Transfer-Encoding: 8bit\n"
                  "Plural-Forms: nplurals=2; plural=(n > 1);\n"
                  

                  Is this the correct version? What should/n't be on it?

                  Thanks!

                  My little contributions to the RetroPie project:

                  • Shell-Script-Boilerplate
                  • Fun-Facts-Splashscreens
                  • Limit-Last-Played-Games
                  1 Reply Last reply Reply Quote 0
                  • hiulitH
                    hiulit
                    last edited by hiulit

                    Updated the README on @Flyinghead 's EmulationStation fork.

                    Localized EmulationStation

                    This is a localized fork of Retropie's EmulationStation fork.

                    Inspired by similar work on the Recalbox fork.

                    Languages currently supported

                    • Catalan
                    • French
                    • Italian
                    • Japanese
                    • Portuguese (Brazilian)
                    • Spanish

                    How to use the localized EmulationStation

                    Resolve dependencies of libraries

                    sudo apt-get install -y libboost-system-dev libboost-filesystem-dev libboost-date-time-dev libboost-locale-dev libfreeimage-dev libfreetype6-dev libeigen3-dev libcurl4-openssl-dev libasound2-dev cmake libsdl2-dev
                    

                    Create a clone from GitHub

                    cd /home/pi/
                    git clone --recursive https://github.com/flyinghead/EmulationStation.git
                    

                    Compile EmulationStation

                    cd /home/pi/EmulationStation
                    mkdir build
                    cd build
                    cmake ..
                    make
                    

                    Run EmulationStation

                    Be aware that your system must be set to the same locale that you want EmulationStation to run on.

                    cd /home/pi/EmulationStation
                    LANG=[your_locale].UTF8 ./emulationstation
                    

                    Install EmulationStation

                    cd /home/pi/EmulationStation
                    sudo cp ./emulationstation /opt/retropie/supplementary/emulationstation/
                    sudo cp -r locale /opt/retropie/supplementary/emulationstation/
                    

                    How to add a translation

                    You should have, at least, created a clone from GitHub before continuing with the following steps.

                    Create files for the new locale

                    cd /home/pi/EmulationStation/locale
                    mkdir lang/[your_locale]
                    cp emulationstation2.pot lang/[your_locale]/emulationstation2.po
                    

                    Translate the strings

                    Open the newly created emulationstation2.po inside [your_locale] folder and start translating all the msgstr strings.

                    Once you are done, you can compile EmulationStation and then run it to test your translations.

                    Author

                    flyinghead.

                    Credits

                    Thanks to:

                    • flyinghead - For the French translations.
                    • heloisa - For the Portuguese (Brazilian) and Spanish (Spain) translations.
                    • wakaya - For the Japanese translations and for the instructions on how to use the localized EmulationStation.
                    • hiulit - For the Catalan and Spanish (Spain) translations.
                    • Unknown - For the Italian translations.

                    My little contributions to the RetroPie project:

                    • Shell-Script-Boilerplate
                    • Fun-Facts-Splashscreens
                    • Limit-Last-Played-Games
                    W pablokk4P 3 Replies Last reply Reply Quote 1
                    • hiulitH
                      hiulit @heloisa
                      last edited by

                      @heloisa Yay! :D

                      My little contributions to the RetroPie project:

                      • Shell-Script-Boilerplate
                      • Fun-Facts-Splashscreens
                      • Limit-Last-Played-Games
                      1 Reply Last reply Reply Quote 1
                      • ande.rochaA
                        ande.rocha Banned
                        last edited by

                        @heloisa ou Carmen Sandiego, como preferir... rs
                        Poderia me ajudar a configurar o ES para o português pt-br também?

                        heloisaH 1 Reply Last reply Reply Quote 1
                        • heloisaH
                          heloisa @ande.rocha
                          last edited by

                          @ande-rocha kkkkk meu jogo favorito. Então, eu fiz o passo a passo. AQUI. Mas se não conseguir, me envie email, está ali no meu GitHub.

                          1 Reply Last reply Reply Quote 0
                          • ClydeC
                            Clyde
                            last edited by

                            Hello everyone,

                            is anyone working on a German locale already? If not, I would like to give it a try.

                            Do I just take the emulationstation2.pot and write the translated terms into the corresponding msgstr fields? Where should I put the final file and how should I name it? I already have a Github account if it helps.

                            Thanks for any advice.

                            W hiulitH 2 Replies Last reply Reply Quote 2
                            • W
                              wakaya @hiulit
                              last edited by wakaya

                              @hiulit

                              You should ask me questions, because I'm the author of this explanation, may be.

                              This explanation is just for "adding a new locale".
                              It does not explain how to compile from an existing source tree.
                              Therefore, I think that step 3 is an essential method to simply add a locale.

                              In addition, I found out that your document contains old information.
                              "sudo apt-get install libboost1.62-*"
                              It is unnecessary.

                              The latest commentary is always updated with https://pastebin.com/edit/L3MyFkeD.
                              Because the information has not been confirmed at this time.

                              I am writing a document on pastebin because there is a possibility of future modification.
                              I think that writing a "well formatted document" on a place like a forum may cause misunderstanding.

                              hiulitH 1 Reply Last reply Reply Quote 1
                              • W
                                wakaya @Clyde
                                last edited by

                                @Clyde

                                Hello:-)
                                I wrote a brief comment on "https://pastebin.com/edit/L3MyFkeD"
                                You should replace (your locale) with "de_DE" or similar locale.

                                The way of editing just fills msgstr with German as you assumed.
                                Since you already have a github account, you should send a pull request to flyinghead after your editing.

                                1 Reply Last reply Reply Quote 0
                                • hiulitH
                                  hiulit @wakaya
                                  last edited by hiulit

                                  @wakaya Sorry, I thought it was a text from @heloisa . I took it from here https://github.com/heloisatech/Translate-EmulationStation/wiki/Translate-EmulationStation-on-RetroPie

                                  Anyway, I will credit you in the README.

                                  Apart from that, I will remove sudo apt-get install libboost1.62-*. Thanks.

                                  Also I would like to point out, regarding cp -r locale/lang/fr locale/lang/(Your locale) that I think it would be better to start from emulationstation2.pot, create the necessary folders and then edit the resulting emulationstation2.po.

                                  BTW, I can't see your pastebin. It tells me to login.

                                  My little contributions to the RetroPie project:

                                  • Shell-Script-Boilerplate
                                  • Fun-Facts-Splashscreens
                                  • Limit-Last-Played-Games
                                  heloisaH 1 Reply Last reply Reply Quote 0
                                  • hiulitH
                                    hiulit @Clyde
                                    last edited by

                                    @Clyde Yeah, you should create a folder inside lang with your locale, in this case de_DE. Inside this folder create a LC_MESSAGES folder and then copy emulationstation2.pot in it, changing the extension to .po.

                                    My little contributions to the RetroPie project:

                                    • Shell-Script-Boilerplate
                                    • Fun-Facts-Splashscreens
                                    • Limit-Last-Played-Games
                                    1 Reply Last reply Reply Quote 0
                                    • hiulitH
                                      hiulit
                                      last edited by

                                      @heloisa I tweaked a little bit your Spanish translations, I hope you don't mind. I wanted to ask you, what kind of Spanish were you targeting? Meaning, Spanish from Spain or from a central/south America country? Because my changes were targeted to Spanish from Spain.

                                      Anyway, in any case, the locale must be specified. If it's Spanish from Spain, then it should be es_ES.

                                      Here's a list of all the locales https://stackoverflow.com/questions/3191664/list-of-all-locales-and-their-short-codes

                                      My little contributions to the RetroPie project:

                                      • Shell-Script-Boilerplate
                                      • Fun-Facts-Splashscreens
                                      • Limit-Last-Played-Games
                                      heloisaH 1 Reply Last reply Reply Quote 1
                                      • hiulitH
                                        hiulit
                                        last edited by hiulit

                                        I would like to ask the room, but especially @Flyinghead , as the author and maintainer , why are we using underscore for the locales? I've found that the "standard" seems to be to use a dash.

                                        es_ES -> es-ES.

                                        Should we change it?

                                        EDIT:

                                        It's settled. Linux uses underscore. We are fine then :)

                                        My little contributions to the RetroPie project:

                                        • Shell-Script-Boilerplate
                                        • Fun-Facts-Splashscreens
                                        • Limit-Last-Played-Games
                                        1 Reply Last reply Reply Quote 0
                                        • ClydeC
                                          Clyde
                                          last edited by

                                          @wakaya @hiulit Thank you for the advice, I'll look into it until next weekend, when I will have the time.

                                          @hiulit said in EmulationStation localization (translation):

                                          I would like to ask the room, but especially @Flyinghead , as he is the author and maintainer , why are we using underscore for the locales? I've found that the "standard" seems to be to use a dash.

                                          Which standard? Linux for example uses the underscore for its locales.

                                          hiulitH 1 Reply Last reply Reply Quote 1
                                          • hiulitH
                                            hiulit @Clyde
                                            last edited by

                                            @Clyde You are welcome! I'll try to update de README with instructions on how to translate.

                                            About the locale "issue", it's settled then! If Linux uses underscore, that's it. :)

                                            My little contributions to the RetroPie project:

                                            • Shell-Script-Boilerplate
                                            • Fun-Facts-Splashscreens
                                            • Limit-Last-Played-Games
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.