Menu

translation/i18n/localization - You Can Help!

2004-07-12
2004-09-10
1 2 > >> (Page 1 of 2)
  • Brian Peterson

    Brian Peterson - 2004-07-12

    The XRMS development team needs your help to complete internationalization of XRMS.

    As has been discussed on many forum posts, XRMS has grown rapidly in popularity and is being used around the world.

    The initial testing of the translations/internationalization/i18n system is complete.  Still remaining is the conversion of all pages in the XRMS system to use the i18n subsystem.  Only after all pages are converted can we generate the translation index files and actually translate the user interface.

    The localization infrastructure for XRMS is basically complete.  The work remaining is conversion of the pages to allow them to be translated.  I've ported the i18n infrastructure for using gettext for translation from the Squirrelmail project.  Squirrelmail has been translated into more than 30 languages, including double-byte and right-to-left languages, so I felt that their infrastructure was solid and well-tested, and a good solution for inclusion in XRMS.

    You can see how the conversion needs to be done by looking at the code in the files notes/sidebar.php, notes/edit.php, files/some.php, and a few others.  All of these files have already been converted to use gettext.  Basically, all user-visible strings in the system are wrapped in _("String Here").  All strings are coded in English in the source code.  We then use gettext utilities to extract all the strings into a translation index file.  You can see an example of this file in locale/xrms.pot Once all of the strings in XRMS have been wrapped in the_( function notation, we will be able to generate a sorted index that contains only one copy of each string.  This file can then be translated by translators for each language and placed in the correct subdirectory under locale,like 'locale/fr_FR/xrms.po'.  One advantage of this approach is that strings like 'Contact' or 'Description' only need to be translated once.  Another advantage is that the index file is generated and sorted automatically, and there are also tools to merge new strings into existing translations, to minimize work that needs doing as the system evolves and grows.

    The major work remaining now is to wrap all the strings in the XRMS code in the _("String Here") function notation.  The development team could very much use help here, if you have some programming skill and time available.  If you want to contribute here, please let me know, and I'll be happy to answer more questions and suggest places to start (I think that the admin/ subdirectories will be the fastest to convert).  So, the infrastructure is done and tested: Now all we need is conversion of every single file in XRMS.

    If you are willing to help in this conversion effort, you should contact me or another member of the development team directly, and agree on a directory to convert, one directory at a time.  This will allow us to avoid collisions and wasted effort, and maximize the speed with which we can get the conversion done and declare internationalization ready for translators.  Completed conversions will be placed in the Patches tracker, one directory at a time, and a member of the development team will review and commit the changes.

    Please let me know if I need to clarify anything.  I'd be happy to clarify the meaning of anything that I was unclear about, or answer any other questions that the community might have.

    Regards,

      - Brian

       
    Danielle Pugh (dpugh) asked this excellent question, but SF bounced my reply email, so here is a reply in the public forums:

    <quote> if somebody chooses FR, the drop-downs are in french, if EN the drop-downs are in English etc...in cases where multiple users of different nationalities use the same database? </quote>

    Your question about drop-down lists is a good one.  Because the values for these drop-down lists can in many cases be modified for each installation, we will need to put the default drop-down strings into the translation index file, and make it clear where to add (and eventually add in an automated way) the strings for translation that are created in each installation. 

     
    • hyperpac

      hyperpac - 2004-07-12

      Hi Brian,

      is there a documentation available for i18n ?

       
      • Brian Peterson

        Brian Peterson - 2004-07-12

        hyperpac,

        Specifically, what kind of documentation are you looking for?

        There is tons of general information online about translation using gettext.  There is more specific information about translating Squirrelmail, which uses the same i18n code we are using (I ported the entire SM i18n ifrastructure to XRMS)

        Specifically, what needs doing in XRMS right now is that all user-visible strings need to be wrapped with the _( function notation mentioned in my earlier long post. (look at the example files I cited, it should be clear what was needed)

        After all the strings have been converted, we'll generate a new index file, and actual translation can begin.

        So, perhaps you could be a little more specific in the information you need, and I'll try to answer your question.

        Regards,

          - Brian

         
    • hyperpac

      hyperpac - 2004-07-12

      Hi Brian,

      I would prefer some information about the "SM i18n ifrastructure".

      Generally I like to participate, altough my php skills are at low level.

      Get in touch at "pac_at-juxtapose.de"

      thx

       
    • hyperpac

      hyperpac - 2004-07-12

      Sorry..the email is : "pac_at_juxtapose.de"

       
    • hyperpac

      hyperpac - 2004-07-14

      Hi Brian,

      Ive send you a mail with a first file. Please check it and get back to me.

      thx

       
    • Anonymous

      Anonymous - 2004-07-16

      Hi Brian

      thanks for the info.
      I have a question: you said
      <quote>default drop-down strings into the translation index file<quote>... xrms unlike squirrel is DB driven... can't we use the DB for this ? easier to maintain etc...

      regards

      d.

       
      • Brian Peterson

        Brian Peterson - 2004-07-16

        Danielle asks:
        >> <quote>default drop-down strings into the translation index file<quote>... xrms unlike squirrel is DB driven... can't we use the DB for this ? easier to maintain etc...

        Unfortunately, translations are not easier to maintain in the database.  Translators work fastest from a text file.  So, for tranlation to happen, having English and the translated string side-by-side is preferable.  Also, translatorsshouldn't be expect to be techically adept enough to send the development team a database dump of a translation table.

        One reason that we chose to use gettext for translation is that gettext also comes with multiple utilities for testing translations, maintaining translation index files as more strings are added to the application, and merging contributions from multiple contributors.  Under Linux, there are also utilities like KBabel that aid the translation process, and understand the gettext index file format.

        For default drop-down values, we have a little bit more work to do to make sure that the application defaults are translated in all the languages that XRMS eventually supports.  If your environment only uses one language, you would of course be entering values only in the language that you use internally.

        I hope this makes things a little more clear.

        Regards,

        - Brian

         
    • Brian Peterson

      Brian Peterson - 2004-07-16

      We are making great progress on getting things converted for translation.

      Many thanks go to hyperpac, johnfawcett, and introspectshun for contributing code files.

      I hope to have all the conversion tested in a few days, at this rate.

      Regards,

      - Brian

       
    • rodrigoleite

      rodrigoleite - 2004-07-23

      Congratulations for the i18n work so far.

      I intend to translate xrms.pot into Brazilian Portuguese and finish by next week or so.  How can I be sure there is no one else working?

       
      • Brian Peterson

        Brian Peterson - 2004-07-23

        Rodrigo, No one else has volunteered for Brazilian Portugese.  I'll consider you the volunteer in charge.

        To date, we have volunteers for
        - Italian
        - German
        - Spanish
        - Brazilian Portugese

        Several people have expressed interest in French, but no one has actually signed up to do the translation.

        Regards,

          - Brian

         
        • Anonymous

          Anonymous - 2004-07-29

          Hi Brian,

          I am volunteers for French translation.
          But I have no access to the source (in rw).

          Fabien

           
          • Brian Peterson

            Brian Peterson - 2004-07-29

            Fabien,

            Download the current development snapshot from
            http://xrms.sourceforge.net/ (on the bottom of the page)

            Translate the file locale/xrms.pot by filling in the msgstr below each msgid.

            You can use tools like poEdit, KBabel, and QT Linguist to do this.

            Email me the completed xrms.pot file for integration and testing.

            Thanks for contributing!

            Regards,

                - Brian

             
    • Bert

      Bert - 2004-07-29

      Hi Brian,

      Is the  Dutch translation already provided? Same procedure as your last post to Fabien?

      I would be happy to contribute to this very usefull project. I am a daily user of XRMS for two months now. It serves me excellent.

      Kind Regards,

      Bert

       
      • Brian Peterson

        Brian Peterson - 2004-07-29

        Bert,

        Same procedure as in my last post to Fabien.  You are now the 'official' Dutch translator.  :)

        Thanks!

        Regards,

        - Brian

         
        • Bert

          Bert - 2004-08-04

          The translation for Dutch is done. I 'll send it to you as attachment in email.

          As from Sunday I am two weeks on holiday and will not see my (SourcForge)mail.

          Some translations should be revisited when seen in the whole context of XRMS.

          bye Bert

           
          • Ron Rademaker

            Ron Rademaker - 2004-08-27

            Is the dutch translation available? I would like to use it.

             
            • Bert

              Bert - 2004-08-27

              Brian: I send the NL-pot file directly to your address a few weeks ago (4-aug). Was that ok?
              I do not see the /locale/nl_NL/ in the 20040826 snapshot. Any other way that I can help?

              ronrad: NL is not yet available, but the translation is done.

              regards,

              Bert

               
    • Mike Izydorski

      Mike Izydorski - 2004-08-05

      Hi!

      I'm volunteer to polish translation. Please, send me some additional infos about getting translated files works. Until now I have done some translation, but I don't know how should I get it visible for XRMS system. I've compiled .po file to .mo version, directory structure is the same as in development snapshot.

      Feel free to contact me!!!

      Regards, Michal

       
    • Anonymous

      Anonymous - 2004-08-09

      Hi Brian

      Got a translator for the german version yet? if not I'll take this on.

      regards

      danielle

       
      • Brian Peterson

        Brian Peterson - 2004-08-10

        Danielle,

        Sebastian (hyperpac on SF) is working on the German translation.  You can contact him directly via SourceForge if you wish to assist him in translatibng to German.

        Regards,

          - Brian

         
    • camilo

      camilo - 2004-08-14

      Hi Brian,

      I would like to know how is going the translation labor for the xrms. Im planning to use the program for my own use asp but in spanish.
      Thanks a lot

      Cheers!

       
      • Brian Peterson

        Brian Peterson - 2004-08-15

        The technical part of translation is almost done.  We've successfully seen the translated strings in the user interface.  Current CVS has this code in it.

        I will ber doing some more testing over the next few days, and then people will need to see the translations and work with the developers and the translators to translate any remaining strings.

        Regards,

          - Brian

         
        • Norbert Mocsnik

          Norbert Mocsnik - 2004-09-02

          Our company from Hungary would like to volunteer on the Hungarian translation/localization (and on many other things, including development, which I'll introduce later).

          I've fetched the code from the CVS. What I see is a directory called 'locale'. Can you give me any information on how to start the translation process?

          Thanks,
          Norbert

           
1 2 > >> (Page 1 of 2)

Log in to post a comment.