Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    PfSense® software translations with Zanata

    Scheduled Pinned Locked Moved Messages from the pfSense Team
    22 Posts 7 Posters 6.4k 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.
    • A
      athurdent
      last edited by

      This seems to do the job for me:
      https://po2mo.net/

      1 Reply Last reply Reply Quote 0
      • P
        phil.davis
        last edited by

        @athurdent:

        I ran into quite a few translations that need to be tested for context and proper use of all those %s.
        Is there quick way to copy the necessary files to my test KVM to see how bad it really looks? :)

        gettext() strings for translation that include multiple "%s" should have all the "%s" numbered:

        sprintf(gettext('Interface %1$s has IP address %2$s'), "LAN", "1.2.3.4")
        

        Then a translator can re-order the sentence if they need to in a target language where the whole sentence happens a different way around.

        I made a start on that in /etc with PR https://github.com/pfsense/pfsense/pull/3460
        and finished it with https://github.com/pfsense/pfsense/pull/3462

        Both those have been merged and I see that Renato just regenerated the ".pot" file. So I guess there are up-to-date translations strings waiting for any keen translators.

        As the Greek philosopher Isosceles used to say, "There are 3 sides to every triangle."
        If I helped you, then help someone else - buy someone a gift from the INF catalog http://secure.inf.org/gifts/usd/

        1 Reply Last reply Reply Quote 0
        • A
          athurdent
          last edited by

          Thanks Phil!

          I guess something like this in firewall_rules_edit.php cannot be translated yet because it's missing those gettext thingies?

          $group->setHelp(sprintf('Specify the %s port or port range for this rule. The "To" field may be left empty if only filtering a single port.',strtolower($name)));
          
          1 Reply Last reply Reply Quote 0
          • P
            phil.davis
            last edited by

            @athurdent:

            Thanks Phil!

            I guess something like this in firewall_rules_edit.php cannot be translated yet because it's missing those gettext thingies?

            $group->setHelp(sprintf('Specify the %s port or port range for this rule. The "To" field may be left empty if only filtering a single port.',strtolower($name)));
            

            PR https://github.com/pfsense/pfsense/pull/3464 should fix it.

            As the Greek philosopher Isosceles used to say, "There are 3 sides to every triangle."
            If I helped you, then help someone else - buy someone a gift from the INF catalog http://secure.inf.org/gifts/usd/

            1 Reply Last reply Reply Quote 0
            • A
              athurdent
              last edited by

              Great, thanks!

              1 Reply Last reply Reply Quote 0
              • S
                Steve_B Netgate
                last edited by

                The correct syntax is actually:

                $group->setHelp('Specify the %s port or port range for this rule. The "To" field may be left empty if only filtering a single port.', array(strtolower($name))));
                

                setHelp accepts a second argument which is an array of arguments to be passed to sprintf. The first argument (format string) does get gettext()

                I want to see if we actually use that syntax anywhere, and if not (or few) I may update it to use a more conventional syntax.

                Als ik kan

                1 Reply Last reply Reply Quote 0
                • KOMK
                  KOM
                  last edited by

                  You'll know you've hit the bigtime when someone does a translation to Klingon.

                  ghItlh bIngDaq ghItlh leghlu' pa' tlhIngan Hol

                  1 Reply Last reply Reply Quote 0
                  • S
                    Steve_B Netgate
                    last edited by

                    Just pushed a change as described above. setHelp now likes the more conventional syntax:  e.g.:```
                    setHelp("%d interfaces have been detected", $numIfs);

                    Als ik kan

                    1 Reply Last reply Reply Quote 0
                    • A
                      athurdent
                      last edited by

                      @KOM:

                      You'll know you've hit the bigtime when someone does a translation to Klingon.

                      ghItlh bIngDaq ghItlh leghlu' pa' tlhIngan Hol

                      Klingon 0.0001% complete now.
                      Sadly there's no Klingon, Elvish, Kölsch or FarCry Primal on Zanata. But you can always ask Steve to include Esperanto or Latin.

                      1 Reply Last reply Reply Quote 0
                      • P
                        phil.davis
                        last edited by

                        A few more bits of unneeded sprintf and gettext in setHelp removed by https://github.com/pfsense/pfsense/pull/3466

                        You can all get busy with the Klingon translation now. Maybe I will have a go at English-Pirate en-PI.

                        As the Greek philosopher Isosceles used to say, "There are 3 sides to every triangle."
                        If I helped you, then help someone else - buy someone a gift from the INF catalog http://secure.inf.org/gifts/usd/

                        1 Reply Last reply Reply Quote 0
                        • jimpJ
                          jimp Rebel Alliance Developer Netgate
                          last edited by

                          Sadly, unless I'm overlooking something I don't see an option for either Pirate or Klingon on Zanata

                          Consider me timbers shivered.

                          Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                          Need help fast? Netgate Global Support!

                          Do not Chat/PM for help!

                          1 Reply Last reply Reply Quote 0
                          • A
                            athurdent
                            last edited by

                            Is there anything special about those?

                            #: src/usr/local/www/system_advanced_network.php:186
                            msgid "IPv4 address of Tunnel Peer"
                            msgstr "IPv4 Adresse der Tunnelgegenstelle"
                            

                            It's translated but it does not show. Might be my test setup, I just replace the Turkish .po and .mo files and reroot afterwards.

                            I also believe that I have translated some Console messages a while ago, but they don't show either.

                            #: src/etc/inc/config.console.inc:43
                            msgid "Press ENTER to continue."
                            msgstr "Drücken Sie die Eingabetaste um fortzufahren."
                            
                            1 Reply Last reply Reply Quote 0
                            • KOMK
                              KOM
                              last edited by

                              I suppose new subforums will be created to match every additional language?

                              1 Reply Last reply Reply Quote 0
                              • A
                                athurdent
                                last edited by

                                @KOM:

                                I suppose new subforums will be created to match every additional language?

                                Want to lure out those Klingons hidden all over earth? Neat.

                                If memory serves Gonzopancho once said that he only creates forums for languages he has someone for to speak/understand.

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post
                                Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.