The WebTranslateIt Blog · Page 9

i18n news and Product Updates about WebTranslateIt · Page 9

New API endpoints: zip_file and top_translators

By Edouard on January 18, 2012

I added two new API endpoints to WebTranslateIt’s API lately: zip_file and top_translators.

I hope you will find these new endpoints useful. Thank you for using WebTranslateIt.

WordReference Integration

By Edouard on January 18, 2012

WebTranslateIt’s integrated dictionary just got updated and now use WordReference.com as a source.

WordReference is one of the best dictionary website on the web and is well-liked among the translator’s community. It is now perfectly integrated to WebTranslateIt, so you can lookup words without leaving the translation interface.

Even better: you can request a definition for any word in the translation interface: select a word, press the d key and get definitions and translations without leaving WebTranslateIt.

I hope you will find this improvement to WebTranslateIt useful.

New in WebTranslateIt: Top Translators

By Edouard on January 13, 2012

I just released Top Translators. This feature is a page which ranks the most active translators on a project. This is useful to reward the most active contributors on open-source or crowd-sourced translation projects.

You can filter this list by team, or see the user’s ranking across all language teams.

I hope you will find this feature useful. Thank you for using WebTranslateIt.

TermBase API

By Edouard on January 10, 2012

I just released an important update to WebTranslateIt’s API.

This update gives you full control on your project TermBase, its terms and its translations. It adds 8 new endpoints:

You can use this API to import and export all the terms and translations from a TermBase.

I hope you will find this update useful. Thank you for using WebTranslateIt.

New in WebTranslateIt: Autosave, WebHooks, new keyboard shortcuts...

By Edouard on January 6, 2012

I rolled out a few improvements to WebTranslateIt this week: Autosave, Webhooks, new keyboard shortcuts…

Autosave

Autosave is a new option available in the translation toolbar.

It’s turned off by default. When you turn it on, translations are automatically saved as you type them. No need to click on save or type the Ctrl+s keyboard shortcut.

WebHooks

You can now setup a WebHook to a project on WebTranslateIt.

WebHooks are a way to tell WebTranslateIt to call a script on one of your own web servers whenever a translation was made and react in any way your want. WebHooks can be thought of as push notifications.

Setting up a WebHook is easy: in your project settings, a new “WebHook” section will let you enter the URL of your server to call.

Once this is setup WebTranslateIt will call the URL provided whenever a translation is saved on your project.

For detailed and technical information, please visit the documentation section about WebHooks.

New Keyboard shortcuts

I really like keyboard shortcuts. It’s a great way to save time while translating. You can learn more about keyboard shortcuts by hitting the h key anywhere in WebTranslateIt.

The two new keyboard shortcuts I added this week are really handy.

When editing a translation, the Tab key will save the current translation and jump to the next one.

You can also save the current translation and jump to the previous one by using Shift + Tab.

Miscellaneous improvements and bug fixes

  • Developer instructions can now be fully synced when synchronising a linguistic file
  • PHP Array and PHP Define files now support developer instructions
  • It is now possible to move a string from one file to another, from the “String Details” modal window.
  • Adding a string from the web interface now supports Right to Left languages
  • It is now possible to add a plural string from the web interface.

You can read more about all these improvements and bug fixes in the changelog.

I hope you will find these improvements useful. Thank you for using WebTranslateIt.

New Batch operations: Translate Complete Matches and Add Label

By Edouard on January 3, 2012

I added 2 new batch operations to WebTranslateIt: Translate complete matches and Add Label.

Translate complete matches is a batch operation that looks for repetitions within your project (repetitions are segments matching entirely another segment which is already translated). When possible, this batch operation automatically translates the segment using the project translation memory. When no match was found, it leaves the translation empty.

Add Label is a batch operation to add a specific label to the selected strings. It is also possible to remove labels in batch.

i18next

By Edouard on December 22, 2011

i18next is a third-party i18n Javascript library you might find useful for localizing Javascript in your application.

Add the i18next.js after the jquery JavaScript.

<script type="text/javascript" src="jquery-1.6.4.min.js"></script>
<script type="text/javascript" src="i18next-[version].js"></script>

Add your resourcefile under /locales/en-US/translation.json. Translations are stored in a JSON hash compatible with WebTranslateIt’s JSON.

{
    "app": {
        "name": "i18n"
    },
    "creator": {
        "firstname": "Jan",
        "lastname": "Mühlemann"
    }
}

Init and use the module:

$.i18n.init({}, function(t) { // will init i18n with default settings and set language from navigator
    var appName = t('app.name'); // -> i18n
    var creator = t('creator.firstname') + ' ' + t('creator.lastname'); // -> Jan Mühlemann
});

web_translate_it rubygem v1.9.2 released

By Edouard on December 21, 2011

I just released a new version of the web_translate_it gem, the open-source synchronization tool for Web Translate It.

This version 1.9.2 introduces a few bug fixes and improvements.

Improvements

  • wti now includes a library to connect to the String and Translation APIs. This improvement was contributed by @bray.

This greatly facilitates building tools around WebTranslateIt to manipulate strings and translations. Developers can have a look at WebTranslateIt::String and WebTranslateIt::Translation classes.

  • The configuration file lookup (the -c option) was improved. Configuration files can now be located in another directory, and wti commands don’t have to be executed in the root directory. It is now possible to execute:
$ wti pull
$ wti pull -c /Users/edouard/code/test/.wti
$ wti pull -c ../.wti
$ wti pull -c ~/code/.wti

Bug fixes

  • wti init was crashing on empty projects without a source locale. It now returns an error message.
  • wti pull was failing for requests made after a 102 Processing. This status code meant that the file was currently being processed and couldn’t be fetched. In order to fix this bug, the 102 Processing status code was replaced by 503 Service Unavailable server side. The client now handles 503 errors and wti pull doesn’t skip files after attempting to pull an unavailable file.
  • wti status wasn’t working properly.

Install or Upgrade

To install web_translate_it, please refer to the gem documentation.

To upgrade web_translate_it to its latest version, type in a terminal: gem install web_translate_it.

Update 21/12/2011: I just released wti v1.9.3, which fixes a small incompatibility with old versions of ruby (ruby < 1.9).

API Update

By Edouard on December 21, 2011

Following last month’s API update, I added a new endpoint to WebTranslateIt’s String API: String List.

This new endpoint lets you query your project and fetch strings. You can query by key name, label, category names, status, creation date and file.

The String Create endpoint was also improved: you can now create Translations while creating a String by passing an optional array of Translations. Check the documentation for more information.

Proofreading enhancements

By Edouard on December 8, 2011

I just improved the proofreading feature of WebTranslateIt. I added the ability to attribute proofreading rights to translators, and the ability to proofread empty translations in a very simple way.

Proofreading rights

When inviting a translator, you can now choose whether or not this translator has proofreading rights in the translation interface.

As usual, the translation interface with proofreading rights includes proofreading and unproofreading buttons:

Translators without proofreading rights won’t have access to these buttons:

Finally, when a translator without proofreading rights updates a proofread translation, the translation will automatically be set to “unproofread”:

After saving translation, the translation is flagged as “unproofread”:

Proofread empty translations

It is sometimes useful to proofread empty translations. For instance, a specific segment doesn’t need to be translated to other languages languages, and you want to validate this emptiness.

You can now easily proofread empty translations.

I hope you will find these improvements useful. Thank you for using WebTranslateIt.

Support for iPhone and CakePHP file structures

By Edouard on December 1, 2011

I just improved the algorithm used to automatically create target project files names depending on the master project file name.

When you create a new file in WebTranslateIt, WebTranslateIt automatically chooses a target file name for you. For instance, if you translate from English to French and Italian, this file name:

en.yml

Will automatically create and keep in sync:

fr.yml

it.yml

WebTranslateIt looks for the en locale code in your file name, and replace it with the locale code of the target locale. If you don’t have a locale code in your file name, WebTranslateIt adds one for you. For instance index.html creates index.fr.html and index.it.html files.

Now, iPhone apps are a different beast. They use a different file structure that includes the full language name instead of locale code. For instance:

English.lproj/Localizable.strings

Until today, you had to manually rename your target files, which was tedious if you had a lot of files or languages. WebTranslateIt now knows how to handle these file names and creates:

French.lproj/Localizable.strings

Italian.lproj/Localizable.strings

WebTranslateIt also support naming CakePHP language files, which use ISO639-2 codes instead of ISO639-1 codes. So this file:

messages/eng.po

Creates:

messages/fre.po

messages/ita.po

I hope you will find this improvement useful. Thank you for using WebTranslateIt.

File encoding detection improvements — Hello, charlock_holmes!

By Edouard on November 23, 2011

Today I released an update to WebTranslateIt to improve the file encoding detection.

Until today our file encoding detection strategy was using the character encoding detector rchardet when we couldn’t reliably determine the character encoding of a file. The thing is, rchardet was an unmaintained ruby library, so I forked it and maintained it myself.

It was all jolly good, except rchardet contains many bugs. It often finds the wrong encoding for some files, and in some rare cases this led to WebTranslateIt file imports stalling. File encoding detection is so complex it was very hard to fix these bugs.

Yesterday I stumbled upon charlock_holmes, a character encoding detector made by the fine people at Github. It’s actually a ruby wrapper for ICU, a set of C/C++ and Java libraries providing Unicode and Globalization support for software applications. ICU is well maintained and widely used (it’s notably used by Google and Apple) and works very well.

WebTranslateIt’s file encoding detection strategy is now at the top of its class, and no file imports will stall because of encoding detection issues.

I hope you will find this improvement useful, thank you for using WebTranslateIt.

web_translate_it rubygem v1.9.0 released

By Edouard on November 23, 2011

I just released a new version of the web_translate_it gem, the open-source synchronization tool for Web Translate It.

This version 1.9.0 essentially deprecates and removes the wti server command. This command was introducing a dependency on the web server Sinatra, which is far from desirable when including web_translate_it on a Rails application.

If you need wti server, don’t worry: this command now lives in a separate gem called web_translate_it_server, which is an extension for the web_translate_it gem.

To get wti server back, execute:

gem install web_translate_it_server

and then run the server with:

wti-server

Install or Upgrade

To install web_translate_it, please refer to the gem documentation.

To upgrade web_translate_it to its latest version, type in a terminal: gem install web_translate_it.

To install web_translate_it_server, type in a terminal: gem install web_translate_it_server.

Improvement to the translation highlighter

By Edouard on November 22, 2011

I just released another update following last week’s update to the syntactic highlighter so now just any word can be clicked and paste to the translation box.

This is great for translating product names, code, HTML…

HTML blocks:

Words:

Code:

Fine-tuning Translation Memory Suggestions

By Edouard on November 22, 2011

A few weeks ago, I blogged about the recent changes to the Translation Memory server: new ranking algorithm, aberrations removal and pushing the 100% matches to the top.

This morning I added a setting to fine-tune the translation memory matching, based on ranking. At the bottom of the translation interface, in the toolbar, you will find a new selector:

It lets you choose the minimum level of accuracy of the suggestions pulled from the Translation Memory server.

It also lets you control machine translation suggestions. If you select a minimum match of 4, and all suggestions fall under 4, WebTranslateIt will suggest machine translations from Bing Translator and Google Translate, should you have set up the API tokens in the project settings.

How should you use it?

All projects are different, so play with it. I usually lower the ranking for new projects where the Translation Memory is almost empty to 2.

If you project’s translations is mostly complete, you might want to raise the level to 7 or 10.

Note that this is a user setting, so it only affects your own suggestions.

About WebTranslateIt’s ranking

Segment ranking is loosely equivalent to the percentage matching (50%-100%) you can find on traditional translation tools.

WebTranslateIt only pulls good suggestions from the Translation Memory server. Segments with a matching of 2 are OK results, 4 are a good results. 10 are excellent matches and “Complete Match” means the exact same segment was pulled from the Translation Memory.

I hope you will find this improvement useful. Thank you for using WebTranslateIt.

WTIpress v0.0.3

By Edouard on November 22, 2011

I just released a new version of WTIpress, the Wordpress gateway for WebTranslateIt. The current version hits 0.0.3.

This new version adds the ability to manage languages from WTIpress, and fixes one bug.

If you already use an older version of WTIpress, the update should show up on your dashboard.

WebTranslateIt’s Changelog

By Edouard on November 17, 2011

I only write a blog post when I release important features to WebTranslateIt. There are actually quite a lot of changes released to the website everyday: bug fixes to the different linguistic file importers, internal changes, small user interface improvements, …

You can view WebTranslateIt’s changelog at this address: http://changelog.webtranslateit.com