The WebTranslateIt Blog · Page 8

i18n news and Product Updates about WebTranslateIt · Page 8

New in WebTranslateIt: Export a project to a CSV file

By Edouard on August 17, 2012

I added the ability for managers to export a whole project’s translations to a CSV file.

To get your CSV file, head over to your project settings, “Downloads & Goodies” and click on “Get a CSV file”.

WebTranslateIt will create a CSV file for you and will send it to you by e-mail as soon as it is ready.

You can then open your CSV file with any spreadsheet tool (Microsoft Excel, Apple Numbers, Google docs, …)

New in WebTranslateIt: HiDPI icons

By Edouard on August 17, 2012

I released a visual update to WebTranslateIt’s interface.

The interface icons have been the same since I launched WebTranslateIt in 2009. Since then technology and techniques have greatly improved and with retina display products —which become more and more mainstream— it becomes important for websites to have the interface look good at any zoom level.

The updated WebTranslateIt interface use the SymbolSet webfonts and leverage CSS3 techniques such as rounded corners and gradients to make sure the interface looks great on any screen at any zoom level.

(Click to view a larger version)

I hope you’ll find this improvement enjoyable. Thank you for using WebTranslateIt.

web_translate_it rubygem v2.0.3 released

By Edouard on August 9, 2012

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

This version 2.0.3 is a minor new version which includes a few improvements and bug fixes. It also restores the compatibility with ruby 1.8.6.

You can read about all the changes in the history file on Github.


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.

Search Improvements

By Edouard on July 6, 2012

This week I released a few improvements to segment searching to WebTranslateIt.

Under the hood, I completely rewrote the search engine feature. Search was previously powered by Sphinx. While this is an extremely fast search engine, it had several important drawbacks which prevented me to implement often requested features, so I decided to rewrite search to use SQL queries directly against the database.

New feature: search for a key name or a translation

The new search system can now let you search specifically for a segment’s key or for a source or target translation.

It is really easy to use: type a query, then select whether you’d like to search for a key, or a text from the source translation or target translation. Of course, you can always search by all criteria like before, which is good to quickly find something.

Power users: regular expression search

You can now also search for a segment or a translation using a regular expression.

You can also combine this new feature with specific segment key or translation searching.

(Click to view larger)

What’s great is that all these advanced search results can also be combined with the usual filters, categories, statistics and batch operations, so this is really powerful.

On the following example, I search for all completed segments located in the file config/locales/default/en.yml whose key matches the regular expression ^activerecord(.*)blank$.

(Click to view larger.

You can see this specific query live here)

Other improvements

The new search feature should be more reliable. The previous system kept an index of your segments and required to be fully re-indexed from time to time. The drawback was that it wasn’t possible to search for segments while it was reindexing, which means you couldn’t actually use search for several minutes.

This is no longer the case. You segments should now always be searchable.

On top of that the search results should also work much better with foreign characters.


I hope you will like this batch of improvements to the search facility and that it will make your localization work easier. Thank you for using WebTranslateIt.

Changes to the Bing Translator API

By Edouard on July 3, 2012

Microsoft is deprecating its current Bing Translator API in favour of a new API you can find on the Azure Marketplace. From now on, all new API tokens delivered by Microsoft aren’t compatible with the current implementation of Bing Translator in WebTranslateIt.

Today I released an update to WebTranslateIt to support the new Bing Translator API, so you can now use the new Bing Translator credentials delivered on the Azure Marketplace with WebTranslateIt.

Note that since the new Bing API use a new authentication mechanism, your older credentials aren’t compatible with the new Translator API either.

How to use it?

First, head over to WebTranslateIt’s documentation to learn how to get your new Bing Translator API credentials.

Once you have your Client ID and Client Secret tokens, go to your project settings and paste these credentials to the respective fields and that should be it.

I currently use the older version of Bing Translator API. Should I migrate to the new system?

Yes. I heard Microsoft will decommission their old API soon, so you should definitely migrate your project to the new Bing Translator API.

How much does it cost?

The new Bing Translator API is no longer free with unlimited access. They offer different plans, including a free plan depending on your usage.


Should you have any questions, please visit the support site and I will get right back to you. Thank you for using WebTranslateIt.

web_translate_it rubygem v2.0.2 released

By Edouard on June 7, 2012

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

This version 2.0.2 is a minor new version which includes one improvement and one bug fix.

Support for pagination on String and Term APIs

If you are using the WebTranslateIt::String.find_all and WebTranslateIt::Term.find_all methods, you’ll be happy to know these methods now automatically paginate to fetch all your strings and terms. So if you have thousands of segments to fetch you can implement something like this:

https://gist.github.com/2881038

Better error messages

The WebTranslateIt API was recently changed to return error messages as JSON hashes. The web_translate_it gem was updated to implement this improvement.


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 to the Stats API endpoint

By Edouard on May 11, 2012

I just released an update to the Stats API endpoint.

This endpoint —which lets you gather statistics about a project— now takes optional parameters, such as:

  • file: the File ID you want to filter by,

  • date_range: The amount of time since the strings were added. Accepts a string such as 1.day.ago, 27.days.ago, 3.months.ago, 2.years.ago.

  • category: The category ID to filter by.

  • label: The label ID to filter by.

  • s: The search to filter by.

Using these new parameters, you can now access very detailed project stats.

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

web_translate_it rubygem v2.0.0 released

By Edouard on April 24, 2012

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

This version 2.0.0 is a major new version. It includes many improvements and bug fixes.

Improvements to the String, Translation, Term and TermTranslation libraries

The String, Translation, Term and TermTranslation libraries you can use to manipulate segments and TermBase terms from a ruby script have been rewritten. The new ruby API is much easier to use. Here’s an example showing how easy it is to use and what it can do.

https://gist.github.com/2367226

Other Improvements

  • wti add can now lets you know if there are no new files to be added. A bug happening with version of ruby < 1.9 was fixed.

  • wti addlocale now lets you create a master locale if none is setup on your project.

  • wti init is more helpful for beginners


Install or Upgrade

Important: This major upgrade contains breaking changes if you used the String and Translation ruby libraries or the Term and TermTranslation ruby libraries somewhere in your app. Changes are straightforward and should definitely improve the code. web_translate_it 2.0 doesn’t contain any other breaking changes.

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.

New preference for segment sorting

By Edouard on April 12, 2012

Segment sorting in linguistic files is a matter of taste. I rather have them sorted alphabetically, so I can quickly find a segment when adding copy for a feature (I add new segments in my text editor, test the copy locally and then push them to WebTranslateIt).

Others prefer to have their linguistic files left in the same order they uploaded their original master file. The reason is that changing the segment’s order creates massive changes in a SCM.

So, a new preference is now available in your project settings. This setting lets you choose whether or not you want WebTranslateIt to sort your segments by alphabetical order.

Changing this setting recompiles all your linguistic files, so it can take up to a few before your files are sorted the way you want.

Flag strings as obsolete or to verify

By Edouard on April 12, 2012

One very useful feature in WebTranslateIt is that updating the source text of a segment automatically flag its related translations as to verify.

I find this feature really useful, because if you slightly change the sense of a phrase, chances are that the translations need to reviewed by a translator to be slightly changed or completely reworked.

Another useful feature is that uploading a new version of a file which removed some segments flag the missing segments as obsolete. This is equivalent of moving segments to the trash, although these translations are still available for the translation memory.

Until now, it wasn’t possible to manually flag a translation as to verify or manually flag a segment as obsolete. These statuses were automatically set by the system.

It is now possible to do so from the web interface.

When you click on the options button (the cog next to each segment), two new options are available: Obsolete segment and Flag translation as to verify.

Do you have a string you plan to remove? Flag it as obsolete. Is a translation too long or seem to have a typo? Flag it as to verify and leave a comment to let your translators check it again.

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

web_translate_it rubygem v1.10.1 released

By Edouard on April 10, 2012

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

This version 1.10.1 introduces a few bug fixes and improvements.

Improvements

  • wti now prevents existing master files from being added again with wti add. This allows to run a command like: ls *.xml | grep -v "\.en" | xargs wti add without worrying about adding files a second time.

  • The wti command now has its own wti process name.

Bug fixes

  • Prevents wti status from crashing.

  • Better error messages.

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.

Improvements to the search results

By Edouard on March 27, 2012

I just released a huge improvement to the search results in WebTranslateIt’s translation interface.

Search results now display detailed stats, including the number of strings and words per status (proofread, unproofread, untranslated, to verify, …).

You can also filter search results by status, date, file, category and labels, so you can search for segments containing “user” that belong to a specific file and category for instance.

And finally, you can now run batch operations on filtered search results.


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

New in WebTranslateIt: Multiple master languages

By Edouard on March 20, 2012

I just added the ability to setup more than one master language in WebTranslateIt.

Under the Language & Stats tab, when you edit a locale you will find a new option that lets you flag a language as “Important”.

It does exactly what it says on the tin: editing a segment’s translation in an important language flags the segment’s translations in other languages as “to verify”.

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

Introducing Discussions: stacked conversations with smart notifications

By Edouard on March 9, 2012

I released today a major update to WebTranslateIt’s commenting system.

Introducing Discussions

Discussions is a major improvement to the commenting system released about 3 years ago. Discussions are stacked conversations with smart notifications.

Stacked Conversations

Conversations are now stacked. It’s easier to read and understand. Next to each person’s name, the user’s role is also displayed, so you know exactly what the person is talking about.

Smart Notifications

You can choose exactly who will be notified about your comment. Select each team member individually, or select a whole team. Click on “everyone” to select everyone at once, or on a team name to select everyone in the team.

If you’re not interested in a discussion you were notified about, you can disable notifications for that discussion. The opposite is also possible: You can add yourself to the list of recipients if you’d like to follow a topic.

Comment in your language

Many translators post comments regarding the translation of a segment in a specific language. I improved and made this feature clearer by separating general discussions on a segment from discussions on a translation.

Better Discussions Dashboard

The discussion Dashboard was also updated.

It’s clearer, loads faster and an indicator clearly shows the status of the discussions (read, unread, notified, …).


I hope you will find this update useful. I have been working on this update since more than 6 months. I’m really stoked to finally be releasing it. Thank you for choosing WebTranslateIt.

New in WebTranslateIt: Flag a bunch of changes as minor

By Edouard on March 1, 2012

You probably know that updating the source text of a segment automatically flags its related translations as “to verify”.

This is a great feature, because if you slightly change the sense of a phrase, chances are that the translations need to be slightly changed and reviewed by a translator, too.

But if you’re only fixing a typo or making a minor change you probably don’t want the related translations to be reviewed.

On the web interface, you can simply flag a single change as “minor change” when editing the source text from the web interface, but until today it wasn’t possible to do so with a batch of strings pushed via the API.

I just released an update to WebTranslateIt’s File API, Translation API, the File Manager and wti, the open-source synchronization tool.

File API

On the File API, the Update File endpoint gets a new optional parameter: minor_changes.

Setting minor_changes to true flags the string changes as minor changes, and target translations won’t be flagged as “to verify”.

Translation API

On the Create Translation endpoint, a new optional minor_change attribute lets you choose whether a change in the source translation should flag its translations as “to verify”.

Web Interface

On the web interface, the File Manager lets you set that option, too.

wti tool

Finally, I released a new version of the web_translate_it gem, the open-source synchronization tool for WebTranslateIt.

The latest version 1.9.6 has a new --minor option you can use with wti push. In order to upload minor changes you can now do: wti push --minor.

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.


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

Significant changes to the YAML File Handler

By Edouard on February 24, 2012

I pushed quite a few changes to the YAML Handler in the last few months. This post is fairly technical, but if you use WebTranslateIt to localize your YAML files, read on.

Yamler changes

The biggest change is that I updated the YAML handler to handle both files dumped by Syck and Psych. Syck is an old and buggy YAML parser, which is replaced by Psych in Ruby 1.9.3. The problem is, YAML files dumped with Syck are not always parseable with Psych.

Since some users still upload projects using Syck, WebTranslateIt recognize both: it first tries to read your file using Psych. If it fails, it tries to read it using Syck.

The YAML files generated by WebTranslateIt are made with ya2yaml, another ruby library, which is both Syck and Psych compatible.

String ordering

Until a few weeks ago, strings in YAML files were alphabetically sorted. It means that WebTranslateIt probably wasn’t keeping the strings in your file in the same order you uploaded them.

WebTranslateIt now saves the order of your strings, and exports them in the same exact order.

I hope you will find these two changes to how YAML files are handled useful. Thank you for localizing your app with WebTranslateIt!

Download your WebTranslateIt TermBase as a TBX file

By Edouard on January 20, 2012

I pushed a few improvements to the TermBase. One of these improvements is the ability to download your TermBase as a TBX File.

TBX (TermBase eXchange) is an industry standard for exchanging glossaries between translation tools.

The green button will let you download all the language pairs in a single TBX file. You can also download specific language pairs by clicking on the small button to the right.

This improvement is also available as an API endpoint: the TermBase to TBX endpoint.