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 142.5k 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.
    • LolonoisL
      Lolonois
      last edited by

      Since it is not very probably that the current implementation can/will be merged, why not change the implementation?

      From my understanding you change the language not very often (mostly once during setup of an Arcade).

      Let's assume the localization (e.g. es_l10n) would be a retropie package that can be applied via retropie_setup.sh or retropie_package.sh.

      Just as idea (since this is the ideas and development forum ;-) ), the use case would be as follows:

      1. Install ES as ever
      2. Select l10n package, select your language from retropie-setup
        • The es_l10n package fetches ES sources and
        • does a search and replace with all the strings to localized with the user specified *.po file (the language)
        • recompiles ES and installs it in the usual manner

      On update of ES the process could be:

      1. During installation of the ES the es_l10n is called with the language set by the user as above,
      2. the language specific strings get replaced by the es_l10n package,
      3. then the usual install continues.

      Benefits:

      • No royal PITA (and/or "uphill battle") to merge the current implementation into upstream
      • Seamless integration into current retropie-setup logic
      • Current translation efforts are not lost

      Drawback:

      • Code changes from fork can not be used
      1 Reply Last reply Reply Quote 2
      • C
        CritKid
        last edited by CritKid

        is it possible to display german letters like ä ö ü ?

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

          @CritKid Yes, it already does https://github.com/flyinghead/EmulationStation/blob/9869db9237d3b3abf7b4cd56f1192aba5ce600e4/locale/lang/de_DE/LC_MESSAGES/emulationstation2.po#L338

          My little contributions to the RetroPie project:

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

            @hiulit fixed it :) thx

            another question, how is it possible to boot into "translated ES", instead of the original one ?
            i tried to edit Autostart.sh but it lost all Shutdwn/Reboot features..
            would be nice if there's a solution.

            1 Reply Last reply Reply Quote 0
            • RainisheR
              Rainishe
              last edited by

              retropie-4.5, the version of EmulationStation V2.8.4RP is released.
              Whether your EmulationStation will be updated? You have V2.8.0-DEV.

              1 Reply Last reply Reply Quote 0
              • Luc01L
                Luc01
                last edited by

                J'ai tout relu le fil de cette discussion au moins 4 fois, mais j'ai toujours le même problème.

                Je réussis à le mettre en français quand je teste avec LANG=fr.UTF8 ./emulationstation

                Mais aussitôt que je quitte Putty ou que je lance un jeu, tout redevient en anglais.

                La façon permanente pour le mettre en français semble décrite, mais pas assez détaillée pour un novice comme moi...

                Quelqu'un peut m'aider ?

                I have read the thread of this discussion at least 4 times, but I still have the same problem.

                I manage to put it in French when I test with LANG = fr.UTF8 ./emulationstation

                But as soon as I leave Putty or start a game, everything becomes English again.

                The permanent way to put it in French seems described, but not detailed enough for a novice like me ...

                Someone can help me ?

                mituM 1 Reply Last reply Reply Quote 0
                • mituM
                  mitu Global Moderator @Luc01
                  last edited by mitu

                  @Luc01 You can use 2 approaches

                  1. Modify your whole system to use FR_fr localization, through raspi-config - https://www.raspberrypi.org/documentation/configuration/raspi-config.md#change-locale.
                  2. Modify the start-up script to include the Locale settings - open /opt/retropie/configs/all/autostart.sh and add LANG=fr_FR.UTF8 before the emulationstation command:
                  LANG=fr_FR.UTF8 emulationstation #auto
                  

                  You can use the nano editor to modify the file from a Putty session.

                  nano /opt/retropie/configs/all/autostart.sh
                  
                  1 Reply Last reply Reply Quote 0
                  • Luc01L
                    Luc01
                    last edited by

                    Thank you for your quick answer, I test this and I give you new ones
                    Thank you again.

                    1 Reply Last reply Reply Quote 0
                    • Luc01L
                      Luc01
                      last edited by

                      I added this line and restarted but it does not work.
                      When I test with LANG = fr_FR.UTF8 ./emulationstation, it works well.

                      Image1.jpg

                      1 Reply Last reply Reply Quote 0
                      • Luc01L
                        Luc01
                        last edited by

                        Here is what I did :

                        1- 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 (Ok)

                        2- cd /home/pi/ (Ok)

                        3- git clone --recursive https://github.com/flyinghead/EmulationStation.git (Ok)

                        4- cd /home/pi/EmulationStation (Ok)

                        5- mkdir build (Ok)

                        6- cd build (Ok)

                        7- cmake .. (Ok)

                        8- make (Ok)

                        Testing

                        cd /home/pi/EmulationStation (Ok)

                        LANG=fr_FR.UTF8 ./emulationstation (Working)

                        Modify

                        Edit /opt/retropie/configs/all/autostart.sh
                        Modify
                        emulationstation #auto to LANG=fr_FR.UTF8 emulationstation #auto

                        Restart many time but dont work !!!

                        mituM 1 Reply Last reply Reply Quote 0
                        • mituM
                          mitu Global Moderator @Luc01
                          last edited by

                          @Luc01 said in EmulationStation localization (translation):

                          emulationstation #auto to LANG=fr_FR.UTF8 emulationstation #auto
                          Restart many time but dont work !!!

                          The autostart will run the default emulationstation package, which has no Localization options. If you didn't overwrite the default Emulationstation in RetroPie, then the autostart.sh must have the correct path to your compiled Emulationstation version:

                          LANG=fr_FR.UTF8 /home/pi/Emulationstation/emulationstation
                          
                          1 Reply Last reply Reply Quote 0
                          • Luc01L
                            Luc01
                            last edited by

                            Thank you, it works now but I had to change Emulationstation for EmulationStation otherwise it would not start.
                            Thank you very much, now it's very clear.

                            1 Reply Last reply Reply Quote 0
                            • Luc01L
                              Luc01
                              last edited by

                              Another question...
                              I started all over again because with the second approach, in the menu exit retropie, the commands did not work.

                              I follow all the steps, but at the installation (sudo cp ./emulationstation /opt/retropie/supplementary/emulationstation/) I always get the message "cp: can not create regular file"/opt/retropie/supplementary/emulationstation/emulationstation: Text file busy "

                              1 Reply Last reply Reply Quote 0
                              • Luc01L
                                Luc01
                                last edited by Luc01

                                I put LANG=fr_FR.UTF8 emulationstation #auto in autostart.sh and now it works. and no more problem with the exit menu

                                1 Reply Last reply Reply Quote 0
                                • RainisheR
                                  Rainishe
                                  last edited by

                                  cделал русский перевод. перевод полный но в нем кое что надо будет поправить в будущем.
                                  ru_RU

                                  1 Reply Last reply Reply Quote 1
                                  • M
                                    mvmiranda
                                    last edited by

                                    First of all, thank you all for this!
                                    This is awesome as my kids and friends, who don't speak English, can fully enjoy my Retropie setup now!

                                    I'm running the latest Retropie 4.5.2 with underlying OS and every core updated along with the Comic Book theme and I'm experiencing something I'd call a hickup, not an issue or error.
                                    Whenever I load a game and quit it using START+SELECT the screen becomes black ad it takes almost 15 seconds to the theme come back with my games list.
                                    It started immediately after I compiled the emulationstation with localization and copied it over the original one.
                                    Does anyone have any clue of what might be happening?
                                    Thanks!

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

                                      Hi, I need a little help with GitHub. A while ago, I created a branch for the German translation: https://github.com/Taranchul/EmulationStation

                                      Now, I want to work a little more on the German translation, but my branch is "19 commits behind flyinghead:master", as Github tells me.

                                      How do I update my branch to the current state of @Flyinghead's master? I'm using Linux, so instructions for either the bash or the web interface of Github are welcome. Thanks!

                                      mituM 1 Reply Last reply Reply Quote 0
                                      • mituM
                                        mitu Global Moderator @Clyde
                                        last edited by

                                        @Clyde Assuming you have check out locally your Github repo, follow the instructions here to add @Flyinghead's repository as an upstream and sync it. Make your modifications locally, then push to your Github repo, so you'll be able to create a new PR to the upstream project.

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

                                          @mitu Thank you for pointing me in the right direction. For anyone who is puzzled about this, too, these commands did the job. Anything behind # in a line is just a comment.

                                          git clone https://github.com/Taranchul/EmulationStation # Use the url of your own branch.
                                          cd EmulationStation # Use the directory the former command downloaded to.
                                          git remote -v       # This should only show your own url as "origin".
                                          git remote add upstream https://github.com/flyinghead/EmulationStation # Don't change this url!
                                          git remote -v       # Just for checking, it should list flyinghead's repo as "upstream".
                                          git fetch upstream
                                          git checkout master
                                          git merge upstream/master               # Now, your LOCAL copy should match flyinghead's repo.
                                          git submodule update --init --recursive # Also clone the submodule in external/pugixml`.
                                          git push origin master                  # Upload your local copy to your GitHub repository.
                                          

                                          Guides used:

                                          • https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/configuring-a-remote-for-a-fork
                                          • https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/syncing-a-fork
                                          • https://help.github.com/en/github/using-git/pushing-commits-to-a-remote-repository
                                          • http://openmetric.org/til/programming/git-pull-with-submodule/

                                          More experienced users may correct anything that's wrong or unnecessary. :)

                                          One more question: After editing a file and pushing it into my repo, how do I make a pull request from the command line?

                                          Update: Added git submodule update --init --recursive and the resp. guide.

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

                                            I have a problem running the compiled ES fork with the German locale:

                                            $ LANG=de_DE.UTF8 ./emulationstation
                                            terminate called after throwing an instance of 'boost::locale::conv::invalid_charset_error'
                                              what():  Invalid or unsupported charset:UTF-8 or CHARSET
                                            Aborted
                                            

                                            With en_US.UTF8, the program runs fine (albeit with an extremely long time of the "Loading ..." screen). edit: fr_FR.UTF-8 also works fine.

                                            My locales seem to be okay:

                                            $ locale -a
                                            C
                                            C.UTF-8
                                            de_DE.utf8
                                            en_GB.utf8
                                            en_US.utf8
                                            POSIX
                                            

                                            I also re-generated the German locale with sudo locale-gen de_DE and sudo locale-gen de_DE.UTF8.

                                            Any ideas?

                                            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.