Category Archives: Linux

Linux related blog posts…

Contextualization for Software Localization

Localization industry has been revamping and coming up with lots of improvements these days. Number of languages getting increased in most of the projects’ portfolios. Many good news around! At the same time there are number of challenges yet to overcome. e.g. Data encoding, file formats, machine translations, online translation tools, translation memory, spell checkers, meta data, insufficient information/reference about translation messages, and you know there are many more to this list…

My focus in this blog post would be to emphasize and overcome the issue of Insufficient information/reference about translation messages or in other words Context for the translation messages. Lack of Context for translation messages is really a critical issue for the localization industry today, not just for translators! e.g. How would you translate the message “Empty Trash” in your native language. Would you translate it like whether the trash is empty or make the trash empty? Unless you see the actual source message in the user interface and use the functionality you wouldn’t be able to translate these kind of ambiguous messages correctly!

Projects like Deckard are of great help for such instances, however I think that’s not the only or real solution to the problem we are facing today!

During the Open Source Language Summit organized at Red Hat office Pune, I got a chance to meet all awesome members from Wikimedia Language Engineering Team. I came to know that Siebrand Mazeland, takes care of reviewing almost every message of the source material that comes to translatewiki.net before it goes to translators. We call it i18n review. Hat’s off Siebrand! Not an easy job! Certainly, this is very much helpful to translators.

For localizers translating various open source projects, where nobody takes care of reviewing translatable messages nor provide context it becomes the most challenging translation job at times!

How can we fix the problem?

Another, not an easy solution, though I would like to give it a try!

Concept: Review and modify the source code of software applications in order to add comments or references or context for the translatable messages in order to make them more meaningful so that it could be easily understood by translators that will help us get the best localization in the industry!

Skill-sets required:

  • Software Engineer – to help us create patches for software source code and communicate with mainstream developers about it
  • Quality Engineer – to help us understand the functionality of the software functionalities and better understand the usage of the translatable messages
  • Technical Writer – to help us write better translatable messages

Strategy:

  1. Form a group consisting of people with each of the skill-sets as mentioned above!
  2. List out various important open source software projects that come from Fedora, Gnome, Kde, Firefox, LibreOffice, etc.
  3. Start approaching them with the concept and idea behind the initiative
  4. Figure out contextual information for each and every translatable message
  5. Accordingly, provide software source code updates or patches whatever is possible
  6. Ensure that the contextual information goes into the translatable file formats provided to translators
  7. Translators do get the contextual information in the form of translation formats
  8. And we receive good quality translations!
  9. That’s pretty much all I guess!

Though I believe there is always a scope of further improvements and changes in the strategy or approach we may come to conclusion as soon as we form a group.

If we are able to convince even a single software application and it’s developers about the idea and get a buy-in, I think we have a ray of hope for the movement that can begun!

Got an interest to do something for the software localization? Got another idea better than this one? Have suggestions to make? Please please do provide your comments and let’s work together to start fixing all software localization issues one by one!

Thank You for reading!
Ankit Patel

RT (Request Tracker) comments via command-line

I have RT3 installed on my Fedora 14 and have configured it to make it work. There are certain things that I had to go through while setting up RT3. I won’t got into those details as instructions are available and provided along with your RT3 installation.

yum -y install rt3

Now, I wanted to use RT3 via command-line, as it’s quicker for me, especially when I am connected with low-speed internet. Moreover to automatically create, update, modify multiple tickets together it’s always helpful.

I found this link: http://requesttracker.wikia.com/wiki/CLI pretty helpful for command-line usage of RT3

However, there’s one thing I couldn’t find neither I could get an answer on RT3 mailing list is, formatted commenting via RT3 command line: http://lists.bestpractical.com/pipermail/rt-users/2011-March/069554.html

In unix based systems, you have ‘cat’ command to get the file’s content on STDOUT. So, I did following to make it working

cat RT_MSG_FILE | rt comment 6977 -m -

It worked!

Still playing with RT3 command-line to get more easier solutions for my needs!

Thanks!
Ankit

Mercurial (On Linux) for Mozilla Localization

Mozilla localizers have been using CVS since many years for contributing on Mozilla (Firefox/Thunderbird) localizations. Recently, Mozilla changed the VCS (Version Control System) from CVS to Mercurial (Hg). I never worked on Hg anytime before, had some confusions setting up the username for submitting my patches to Hg system. After spending some hours, figured out some easy steps to configure username. I have tried to put the basic and simple steps required for the Mozilla Localizers to get their work started on Hg VCS…

  • Installation
    Fedora, OpenSuse

    yum install mercurial

    Debian

    apt-get install mercurial

    Gentoo

    emerge mercurial

  • Configuration
    ~/.ssh/config

    Host hg.mozilla.org
    User user@host.domain

    (your-local-hg-root)/.hg/hgrc

    [paths]
    default = http://hg.mozilla.org/l10n-central/ab-CD
    default-push = ssh://hg.mozilla.org/l10n-central/ab-CD

    Setting up a username
    Various ways to setup username, which can be used to display as an author for submitting…

    1. If you specify a -u option to the “hg commit” command on the command line, followed by a username, this is always given the highest precedence.

      hg commit -m “commit message” -u “Firstname Lastname <email@domain>”

    2. If you have set the HGUSER environment variable, this is checked next.

      export HGUSER=”Firstname Lastname <email@domain>”

    3. If you create a file in your home directory called .hgrc, with a username entry, that will be used next. The contents of this file should look like, as shown below:

      # This is a Mercurial configuration file.
      [ui]
      username = Firstname Lastname <email@domain>

      As this configuration is going to be common across various Mercurial repositories on your machine, you can make Mozilla specific settings of the username in the (your-local-hg-root)/.hg/hgrc file by adding the contents exactly in the same format as shown above.

    4. If you have set the EMAIL environment variable, this will be used next.

      export EMAIL=”<email@domain>”

    5. Mercurial will query your system to find out your local user name and host name, and construct a username from these components. Since this often results in a username that is not very useful, it will print a warning if it has to do this.

    The name and e-mail Id configured will be displayed as author on the actual Hg repository: http://hg.mozilla.org/l10n-central/ . It doesn’t matter which e-mail ID is used as an account to access the Mozilla repository.

  • Download L10n

    hg clone http://hg.mozilla.org/l10n-central/ab-CD/

  • Submit L10n

    hg commit -m “message identifying the change (bug 555)”
    hg push

  • References:
    http://developer.mozilla.org/En/L10n_on_Mercurial
    http://hgbook.red-bean.com/