Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(+2)

OMEGAT

Contrary to both memoQ and Trados, OmegaT is a completely free and open-source program. This makes it an excellent choice for people who do not need to use CAT tools everyday and do not mind having a little less options. OmegaT does feel "old" compared to proprietary programs, but it's still an excellent and powerful tool. The main difference is that you have the source and target text under each other instead of next to each other. 

OmegaT does not know how to handle .js files natively, but there again, you can simply "tell" the software what to do with it. 

Step 1 : Open OmegaT and create your project: first, choose an empty folder to hold the project's subfolder (source, target, TMs, etc.). Set the source and target languages, then select “Local File Filters...”


Step 2: From there, find the “Key=Value text” filter. No need to change the other settings. Simply select that filter and click “Edit...”


Step 3: In the list that opens, click on “Add…” and change the "Source filename pattern" from “ *.* ” to “ *.js ” so that this filter now applies to every file with the Java extension. No need to change anything else from the default.


Step 4: Click on OK several times to go back top your project creation wizard. Then you can simply add the file to the project's source folder, it should now be detected by the software as a translatable file. You can then translate the file in the editor.

When you are done translating, click "Create translated files" in the Project menu, and your translation will appear in the project's target subfolder. 

(+1)

I don't mind OmegaT's UI -- it's easier to understand for me than Trados or Passolo, and it runs natively on Linux. It's even used by some translators professionally, and I aim to do that as well. But that's not what I actually wanted to say, SO:

Thank you  for that tip with the file filter! That already helped a lot. However, I'm not sure if the keys are supposed to still be displayed?  So, the software doesn't extract the inline texts but instead displays everything.

Hello! I kinda agree with you about OmegaT. I'm probably a bit too used to MemoQ  to love OmegaT as much as it deserves haha. Lokalize and Poedit are great options for Linux too!

Regarding your question, this method only allows OmegaT to handle the file, it does not extract the to-be-translated strings from the rest of the text. Our team has been struggling with that part since day one. Currently, the best option that Niccolò (above) found with OmegaT is to tweak the segmentation rule. 

To do so, go to your project Properties and click on Local segmentation rules. From there, click Add to add a rule. Choose a name for it (for instance "js ` strings" in the example below), and set the "language pattern" option to " .* ". 

In the second box of the window, type a ` symbol as "Pattern before", and add another line so that you can also type it as "Pattern after". Tick both lines as "break/exception".  This will add line breaks before and after each ` sign. It does not exactly extract the text, but isolate it from the rest so that it is slightly easier to read and translate in the editor. This is far from ideal but it is the only way that we've found for now. Please do let me know if you or anyone else finds a better method! 

 Don't forget to save your new settings and to reload the files in the project. 


One other process we found is to convert and extract the strings from the .js file into an xliff with Rainbow from the Okapi Framework. This way, only the translatable strings are imported into the xliff and appear in the editor. Once the translation is done, you can convert your xliff back to a translated .js file. In my opinion, it is the most efficient way to go, but it requires more tinkering than simply dealing with CAT tools filters. I'll be glad to write a tutorial about that too if needed, though.

Hope this answers your question! Please don't hesitate to contact me should you need anything else.

(+1)

Hello Alinamethyst,

Yes we still have not found exactly how to have only the to-translate text appear.
However, using custom segmentation rules you can have it separate from the code ('avant' is before, 'après' after) :Image

It's not perfect but at least you can deal with the text separate from the code :)