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.3k 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 @Leonard Lin
      last edited by

      @Leonard-Lin Did you follow these steps? https://github.com/flyinghead/EmulationStation#how-to-use-the-localized-emulationstation

      When you have compiled EmulationStation, you have to:

      cd /home/pi/EmulationStation # Or the path to your compiled EmulationStation
      LANG=[your_locale].UTF8 ./emulationstation
      

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

      My little contributions to the RetroPie project:

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

        @Hiulit after compiled EmulationStation, found 9 fatal errors (string & duplicate),
        _DSC1902-1S.jpg

        I corrected the file (Traditional Chinese)
        https://github.com/Leonard-Lin/EmulationStation/blob/master/locale/lang/zh_TW/LC_MESSAGES/emulationstation2.po

        and Run EmulationStation,

        cd /home/pi/EmulationStation
        LANG=zh_TW.UTF-8 ./emulationstation
        

        now EmulationStation V2.8.0RP-DEV can translate into Traditional Chinese correctly.
        @Flyinghead can you upgrade localized ? thanks a lot !
        _DSC1927-1S1.jpg

        Another question, does anyone know how to modify the text and color description of EmulationStation in the red box? I want to add localization information.
        _DSC1927-1S2.jpg

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

          @Leonard-Lin That's amazing! One more translation for EmulationStation :D

          My little contributions to the RetroPie project:

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

            One generation plants the trees in whose shade another generation rests, Thanks everyone sharing here :-)

            @Hiulit said in EmulationStation localization (translation):

            @Leonard-Lin That's amazing! One more translation for EmulationStation :D

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

              @Leonard-Lin Btw, it would be better if you create a Pull Request in @Flyinghead Github with your Traditional Chinese 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
              • 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
                                            • 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.