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 123.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 @BuZz
      last edited by

      @BuZz Would you be willing to merge https://github.com/flyinghead/EmulationStation with the master branch of RetroPie's EmulationStation? We have already 8 different languages and we are waiting for another one to come in pretty soon :)

      My little contributions to the RetroPie project:

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

        @hiulit In its current state, @Flyinghead's isn't going to be merged into RetroPie. There are a couple of issues that would prevent this.

        First, there are other changes unrelated to localization. Those changes, if wanted in RetroPie should be handled separate from the localization. However, I briefly reviewed the commits and there is at least one feature added that we would likely not accept. There is a UI option added for adjusting screen backlight brightness. This is hardware/os specific functionality that we prefer to keep out of ES.

        As to the actual localization implementation, it is dependent on the boost library. RetroPie has moved away from using boost. I can't say definitively that boost would not be accepted, but it would be an uphill battle. It would have a better chance of being accepted if boost was not used.

        That being said, I have been thinking about this and there are some changes that could be made in RetroPie ES to ease the process maintaining a localized fork for @Flyinghead or anyone else who might choose to do so. We could abstract out the localization and for now support a noop localization implementation, in theory would minimize the changes needed to support localization via boost or some other method. Instead of having to change every file where text is rendered, they would only have to change the localization abstraction.

        Of course, doing that requires time, effort and motivation.

        Get latest build of EmulationStation for Windows here

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

          @jdrassa Thanks for the explanation. I can't speak for @Flyinghead as he/she is the one who created this fork and did all the coding to allow the localization. He/she would be the one to better answer you about those changes unrelated to localization.

          In any case, could the localization be implemented in RetroPie's EmulationStation in another way? I know this would require time, effort and motivation, but I can see people want, or are very interested in localization. We already have a good amount of translations and if localization would ever be a part of the main EmulationStation (and with good documentation, that I'd be more than happy to help create) I think more people would contribute with more translations.

          My little contributions to the RetroPie project:

          • Shell-Script-Boilerplate
          • Fun-Facts-Splashscreens
          • Limit-Last-Played-Games
          1 Reply Last reply Reply Quote 1
          • 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
                                            • 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.