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 132.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.
    • 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
                                          • 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
                                            • 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.