The WebTranslateIt Blog

i18n news and Product Updates about WebTranslateIt

Batch operations and a few tiny improvements

By Edouard on April 28, 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

By Edouard on April 26, 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.

API

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

By Edouard on April 21, 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.

Short maintenance window tonight 8PM GMT+1

By Edouard on April 20, 2010

We’ll have a short maintenance window tonight at 8PM GMT+1 to account for the database problems we had today. I expect the downtime to be no longer than 5 minutes. I apologise for the short notice and the inconvenience it will cause.

Edit 20.07: Maintenance done. I also used this maintenance window to run a few optimisation scripts.

New documentation website

By Edouard on April 19, 2010

I just launched a new user documentation website for Web Translate It. It now lives at docs.webtranslateit.com.

This documentation is more organised and detailed, with explanations, screenshots and sometimes screencasts for every single feature of Web Translate It.

Have a look at the documentation page for the translation interface. Maybe you missed a feature that would make you life easier?

I will translate the documentation into French shortly.


For the nitty-gritty details, the documentation website is made with the help of Jekyll, a fantastic tool to create any kind of static website.

The source code of this documentation website is on Github.