Translator FAQ

 

How does the Translation Portal work?

The xTuple Translation Portal is designed to allow multiple users to edit a translation file at the same time.

  1. Users first select the language and the xTuple product version they wish to translate.
  2. The next screen shows all the sections of the product and allows the translator to select specific sections (called "contexts") to work on.
  3. Once a translation is complete, users can download the translation file for that language and install it on their local machine. A translation file is called a .qm file.

How do I become a translator for xTuple?

If you are interested in helping to translate, please sign up for an xTuple.org account and then email us at translate@xtuple.com. Tell us your username and we'll set you up as an authorized translator. Translators will find theTranslation Glossary helpful for finding explanations for unfamiliar words/terms.

How do I start a new language?

If you don't see your language in our list of current translation projects--and you'd like to volunteer to start a new one--please email us at translate@xtuple.com. We are open to hosting any and all language projects, but we need to hear from you by email first....

To learn more about the process for starting a new translation project, please see the Starting A New Translation page.

What version should I work on?

Generally you should work on translating the most current version of the software. xTuple regularly releases updates to our products, identified by version numbers. Each version may contain new sections or changes to old sections. Generally, translators should translate the most recent version of the product, but if your installation uses an older version of the product you may want to work on translating that version.

What is a context? What is a source?

Within the Translation Portal you will see references to "contexts" and "sources."

  • context is a section of the software, such as BOM (Bill of Materials). A context will contain text related to the specified section.

  • source is a specific item of text within a context, e.g., the “Bill of Materials” context contains 56 sources, including “Print”, “Save”, “Revision Date”, etc.

Why do some sources require special characters? (“&” and “...”)

As you view each source you will notice that some sources contain special characters, such as the ampersand (&) and the ellipsis (…). These are used by the program to identify hotkeys. For example, the source &Print is text that would appear in a dropdown menu. The & would not appear on the screen, but it allows the program to target the menu with a hotkey. The & character is used in menu items and commands, not in explanatory text. If there is a special character in the source, it must be maintained in the translation.

Why aren't certain buttons translated? (SAVE, CANCEL, APPLY, etc.)

There are several common buttons which belong to the internal Qt development framework. These include the SAVE, CANCEL, APPLY, and other similar buttons. Because of this, the text strings for these buttons are not included in xTuple .ts files--and the strings cannot be translated using the Translation Portal. Qt does provide translation files for these common strings, however. These translation files are included with the Qt SDK's that can be downloaded off the web. For example, Qt's Spanish translation file, which is named "qt.es.qm", can be downloaded and then installed in the same directory where your other xTuple translation files are located.

What do I do if I make a mistake in the translation?

If you make an error in your translation, just correct the error in the translation field and submit it again.

How do I become a Translation Manager?

If you are interested in receiving manager privileges (the ability to review and approve translations submitted by translators), please send a request to translate@xtuple.com. We'll review the request and get back to you.

How do translation files work?

Qt allows you to load language translation files into an application at run-time. The result is that application text (i.e., screen titles, field labels, help files, etc.) will be displayed in the language of the translation file. Qt handles this internally by using a tr() function. This function wraps any literal text found in an application and allows for dictionary lookup and replacements to be performed at run time. These tr()'s are also used to identify text needed to build the translation files.

There are two files used for the translation process:

  1. the first is a .ts file
  2. the second is a .qm file.

The .ts file is the translation source files. This file is an XML based file which can be updated and edited using the lupdate and Qt Linguist tools. Every instance of text in an application that is translated has its own context, source, and translation field. The context changes usually from screen-to-screen and allows you to have two identical texts translated differently in different contexts. The translation field includes the text you want to show in place of the source text for a given context.

The .qm file is created from the .ts file using the lrelease tool and is a more compact and efficient file used by the application at run-time. Once the .qm file is generated, the OpenMFG application can be made to use it simply by using the system's Locale configuration. In practice, when a user logs into OpenMFG using a specified Locale, the language (i.e., translation) corresponding to that Locale will be displayed. In addition, the application supports the placement of a translation file called default.qm in the same directory as the executable. If a system is set up this way, OpenMFG will use that default file and no additional configuration will be required. When do I use “Override Warnings”? If you receive a warning when you submit a translation, you may have missed a required character, such as ampersand or ellipsis. Check to make sure you have included these characters if they are required. There may be cases where the warnings are incorrect for the specific language you are translating, in which case you should check the Override Warnings box and submit the translation again.

AttachmentSize
replaceOptions.png13.13 KB
FreeFox's picture
Offline
Joined: 10/04/2010
.ts file

Where do I find the .ts file?

Is there another way to do the translation work than through the website? Because there are a lot of words that are the same throughout the system that now have to be translated one by one and could be translated a lot faster with a text editor with regexp.

Could you provide a text file the source & translated strings that you can import when finished?

Thanks in advance

Kind Regards
FreeFox

smurray's picture
Offline
Joined: 12/10/2008
.ts file

FreeFox,

The translation portal allows you to already do find and replace for anything you're trying to translate. Simply type an English (or another language) string into the find box, type your replacement in the replace box, and click either replace or replace all to do your translating. A single word can be translated in multiple places this way.

Hope this helps!

FreeFox's picture
Offline
Joined: 10/04/2010
.ts file

Thanks for the quick response. If I use the search e.g. "City", the results contains "City" and "Capacity" and "City, State, Zip" etc...
So, when I [replace all] "City" with "Woonplaats" (Dutch) what will be the result?

E.g. 2: When I replace all "Delete" with "Verwijderen" what will be the result? What will happen with the string "Do you want to delete selected item?"

With regular expressions I could work more quickly and accurate. However, I'll keep working on the translation but ... slowly ;)

Kind Regards
FreeFox

smurray's picture
Offline
Joined: 12/10/2008
.ts file

Freefox,

If you search "City", results will be returned for whole word searching. If the returned string is only the word "City" or contains the word "City", a result will return. Replace all with "woonplaats" will replace the entire result string with "woonplaats" if replace option "Match whole phrase" is selected. If the replace option "Match Words in Phrases" is selected, only the word "City" within the entire result string will be replaced with "woonplaats".

FreeFox's picture
Offline
Joined: 10/04/2010
.ts file

Sorry to bother you again but ... can you tell me where i can find the [replace option "Match whole phrase"] and the [replace option "Match Words in Phrases"]?

I did a search on "Delete" and got everything containing "Delete" so e.g. also the "&Delete" entries. I put "Verwijderen" in the replace field and clicked replace all hoping to get the options [replace option "Match whole phrase"] or [replace option "Match Words in Phrases"] but after some processing all "Delete" where replaced by "Verwijderen", also the "&Delete" entries which should be "&Verwijderen".

Can you please tell me where I can find the .ts file?

Thanks in advance
FreeFox

ptyler's picture
Offline
Joined: 12/10/2008
Replace options

Hi, FreeFox:

Please see the screen shot I attached for more information about the location of the options you are looking for. The attachment is on this page and is called "replaceOptions.png." As for the .ts file, we are not distributing those. If you would like to contribute, please use the translation portal.

Best regards,
Pierce

FreeFox's picture
Offline
Joined: 10/04/2010
Replace options

Thanks for the answer and maybe you thought that I need some glasses but ... on the place where these options are I see nothing. I even checked the HTML source of the page ... nothing. Is it possible I'm missing some rights?

Thanks in advance
FreeFox

ptyler's picture
Offline
Joined: 12/10/2008
Privs are okay

Hi, FreeFox:

If you can see the Edit Language page then your permissions are okay. What browser are you using?

Regards,
Pierce