About WebTranslateIt.com

WebTranslateIt.com is a web-based translation tool to translate documents and software.

Learn more at WebTranslateIt.com.

Subscribe to our newsletter

Get our monthly newsletter about WebTranslateIt’s latest features.

Recent posts

New API endpoint and web_translate_it gem update

Posted by Edouard on 5 mai 2010

I just added a new endpoint to Web Translate It’s API: Create File. This endpoint will allow you to send to Web Translate It new master language files through the API.

This endpoint’s usage is explained in the documentation.

The rubygem has been updated to take advantage of this new endpoint. With the new version 1.6.7 you can now do:

wti add path/to/master_file_to_add

This will send this new master language file to Web Translate It. Note that is should only be used to send new master language files that are not already on Web Translate It.

Updating an existing master or target language file should be done using the usual wti push command.

More improvements are planned for the rubygem, such as the ability to send several files at the same time, or the ability to the language files you have locally that are not sent to Web Translate It.

I hope you will find this new endpoint useful.

Never miss a whitespace again

Posted by Edouard on 29 avril 2010

Here’s a tiny improvement to help you translate better complex strings.

Non-obvious white spaces are now indicated by tiny blue dashes. By non-obvious spaces I mean:

  • Space or spaces preceding a string

  • Space or spaces suffixing a string

  • Two or more consecutive spaces in a sentence.

In software, extra spaces are often here for a reason, and it is important for the translations to have them, too.

When you hover the string, spaces highlight, so you won’t miss them.

And finally, these highlighted spaces are really spaces, so you can select, copy and paste them as usual.

Batch operations and a few tiny improvements

Posted by Edouard on 28 avril 2010

Managers will find a new feature on Web Translate It’s translation interface: batch operations. This is a very powerful feature.

What does it do?

Batch operations apply a specific action on a batch of strings you selected.

To use it, start by listing the strings you want to modify, using the filters by categories, files, date, status… When you’re happy with your list of strings, click on « batch operations », and choose one of the 6 operations available.

  • Proofread— proofread all the translated strings listed on the page.
  • Unproofread— unproofread all the translated strings listed on the page.
  • Copy text from source— copy the source text to the target strings, and flag these strings as “to verify”, so you can find them and translate them later. I think many WTI users will find this useful: a lot of Web Translate It users want to download their language files including source strings when translations are missing. You now can do it.
  • Populate— populate your translations with machine translations from, and flag your populated strings as “to verify”. It’s great for developers to quickly have a full language file to test their app, but really the translations often leave to be desired and have to be verified by a translator.
  • “Untranslate”— clean all your strings from their translations. Perfect to start over a translation.
  • Delete— delete all the strings listed.

Operations run in the background, so you can leave the page or close your web browser while it is running.

This feature has been designed to be as flexible and powerful as possible. These operations might overwrite your strings. For example, if you choose “populate” on all your strings, even the translated strings will be replaced by machine translations, which may or may not be what you want to do. We leave it up to you to refine your selection to for example, the untranslated strings.

With these 6 batch operations, Web Translate It now can really fit any kind of translation workflow.

Other improvements

  • new lines and spaces are now preserved when displaying source and target strings in the translation interface. Useful when translating code.

  • Very long strings now wrap and don’t break the layout.

  • Animations when editing a string have been removed. Editing a string is much faster now.
  • Support for 2 new file formats: Markdown (.md, .markdown) and Textile (.textile). We also extract strings to translate from HTML/XHTML files but this is still very experimental. This is great to translate user documentation.

For example, Web Translate It’s documentation, which is a mix of HTML and Markdown files, is translated with Web Translate It.

More tiny improvements are to be announced this week. Subscribe to this blog’s RSS feed or follow us on Twitter to keep up to date!

New feature: merge or overwrite your language files

Posted by Edouard on 26 avril 2010

When you update a language file on Web Translate It, you will notice two new options:

  • Overwrite existing strings,
  • Flag missing keys as obsolete.

What does it mean?

These options control the importer’s behaviour when uploading a new language file. These are advanced options and you should only use them if you know what you are doing.

Overwrite existing strings

Let’s consider you have a project in which the source language is English, to translate into French and Italian. The project has these 2 strings already in Web Translate It’s database.

greetings: "hllo {{user}}"
welcome: "Wellcome"

These strings have been written by your developers, contain spelling mistakes, and are considered as placeholders. You want to update these strings from the web interface, so you just add the English language to Web Translate It, and edit these strings directly. Job done! You now have:

greetings: "hello {{user}}"
welcome: "Welcome"

That’s more like it.

Now bad news: the developer has decided to update his language file, which add one more string. The importer does a complete sync and therefore, overwrite your changes and flag all the existing translations as “to verify”. The strings in database are now:

greetings: "hllo {{user}}"
welcome: "Wellcome"
sorry: "Im not so good in Engrish"

So basically all your good work went to waste! Something is wrong, what can you do? The new overwrite option will help you with this problem.

Let’s go back to step 2 where you had:

greetings: "hello {{user}}"
welcome: "Welcome"

Now the developer upload a new language file containing the new additional string, and untick the checkbox “Overwrite existing strings”. Before doing any update, Web Translate It will now check whether this string already exist in database or not. If the string exist, WTI won’t alter it and therefore your changes are safe. You’ll now have in database your nice changes, plus a new string to proofread:

greetings: "hello {{user}}"
welcome: "Welcome"
sorry: "Im not so good in Engrish"

And you can fix the last string from the web interface:

greetings: "hello {{user}}"
welcome: "Welcome"
sorry: "I’m certainly not so good in English, but others can proofread!"

This will be really useful for you if your workflow include proofreading the source string.

Flag missing keys as obsolete

This second option is more straightforward. Let’s consider the same project than above. You have these strings in database:

greetings: "hello {{user}}"
welcome: "Welcome"
sorry: "I’m certainly not so good in English, but others can proofread!"

Now, the developer upload a file containing:

greetings: "hello {{user}}"
welcome: "Welcome"
funny_joke: "This last string should be replaced by a funny joke by the proofreader"

By default, the importer will flag the string “sorry” as “obsolete”, because it has been removed from the file and should not be translated. Additionaly, the new string “funny_joke” has been added.

But what if you never want to remove strings? You now can, by unticking this box. Instead of the above you would have get:

greetings: "hello {{user}}"
welcome: "Welcome"
sorry: "I’m certainly not so good in English, but others can proofread!"
funny_joke: "This last string should be replaced by a funny joke by the proofreader"

These two options can be combined, so it covers pretty much any kind of workflow. This is a very powerful feature.


This feature is accessible via the web interface, and also the Update File API endpoint. Optional parameters can now be passed:

  • merge=true, to disable overwriting strings (default is false)
  • ignore_missing=true, to disable obsoleting strings (default is false).

If you use the API without these parameters the importers will overwrite and obsolete strings as usual.

Web Translate It gem

The web_translate_it gem has been updated and the new version 1.6.6 now propose 2 new options:

  • --merge to force WTI to perform a merge of this file with its database.
  • --ignore_missing to force WTI to not obsolete missing strings.

You can use these options this way:

$ wti push --merge
$ wti push --ignore_missing

Or you can also combine them:

$ wti push --merge --ignore_missing

To update the web_translate_it rubygem to the latest version: gem install web_translate_it.

I hope you will find this feature useful. Web Translate It can now adapt to pretty much any kind of translation workflow!

Microsoft .net resource files (.resx) and text files support

Posted by Edouard on 21 avril 2010

Web Translate It now support 2 new file formats:

  • Microsoft .net resource files (.resx),
  • Plain text files.

These 2 new file formats extend our existing collection of Gettext .po/.pot, ruby .yml, Apple .strings, Java .properties and PHP .ini.

I am also working on HTML/XHTML file support, which will be great to translate static websites or documentation.

So far, the most popular file formats on the projects hosted on Web Translate It are Gettext and ruby .yml, but Java .properties is growing fast!

Do you need another language file format we don’t support? Let us know on our support forum, and we’ll implement it within days.