The WebTranslateIt Blog · Page 15

i18n news and Product Updates about WebTranslateIt · Page 15

Faster File API & direct file download in the File Manager

By Edouard on April 15, 2010

I rolled out an important update to Web Translate It’s File API. The upgrade is transparent to the users, and no changes are necessary on your side. If anything, you will probably only notice that downloading language files is much faster.

Instead of only saving the translations in database and generating language files on the fly, Web Translate It now maintain in parallel a language file, always fresh and ready to be downloaded.

This is so much faster. For instance, if you miss the HTTP cache, downloading a 5,000 strings project used to take 25 seconds. It now takes less than a second.

Web Translate It’s business is growing, and almost all the hosted projects use the API, so it was critical to make the File API work cheaper and faster.

Direct downloads from the File Manager

Now we have these always fresh language files handy you can download your files directly in the File Manager. No more export procedure with the progress bar. It is much easier to use and will save you a few seconds.

New feature for Gettext users: automatic string grouping

By Edouard on April 8, 2010

I just pushed a new feature to Web Translate It, and removed another one.

RIP Filters

Filters was a feature I introduced 6 months ago. It was a way to group strings by very specific criteria. For example, you could create a filter to group all the strings having the word bacon in their source text, or all the strings having their key starting by users.new. Then the filter would list all the strings matching these criteria. It was a very powerful feature, but it was too much work for the users to setup these filters manually.

Usage statistics show that this filter feature is not are not what users need: out of more than 1,6 million translations on Web Translate It, only 13 filters were created.

Automatic String Grouping

This new feature replaces the filters, and only applies to Gettext users for now. I will extend it to other file formats in the upcoming weeks —at least for Ruby yml, based on the string’s flattened key names.

To use this feature on your project (using the Gettext .pot/.po language file format), all you have to do is to upload a new version of your master language file (categories are only created during the language file import).

Web Translate It now uses the string location metadata that is included for each strings in pretty much all .po/.pot files.

What it means is that the translation interface is now capable of grouping your strings by the file name they were extracted from.

Select the category you want to filter by, and it will display only the strings that belong to that category. It makes it much easier to translate, because it restricts the size of the list of strings.

And, icing on the cake, you will see all the categories a string belong to on the String History page.

If you click on a category, it will bring you back to the translation interface, filtered by that category.

I hope you will find this feature useful. Thank your for using Web Translate It.

Now testing: Translation Memory

By Edouard on April 6, 2010

Yesterday I launched a brand new feature to Web Translate It: a translation memory.

It is very easy to use. To see it in action, watch this introductory video.

Introducing Web Translate It’s translation memory from Édouard Brière on Vimeo.

(view this video in HD at Vimeo)

Where do the translations come from?

So far, translations come from 3 sources:

  • Google Translate provides machine translations. It provides a result most of the time, but translation can be incorrect for the context of the string, or contain some spelling mistakes.
  • If your project is already partially translated, you will get suggestions from your own project. This is great because it helps you translate with consistency.
  • Finally, some suggestions come from the global translation memory. The global translation memory is a large translation memory made of more than a million software translations. If you want to, your can contribute your project’s translations to this memory and help other projects like yours. You can set these options in your project settings.

The suggestions are often good but still not perfect yet. They will get better the more translations you add, and I will enhance the suggestion algorithm throughout this week.

In the meanwhile, I hope you’ll appreciate this feature, which drastically change the way you translate on Web Translate It!

Web Translate It client 1.6.2 released

By Edouard on April 1, 2010

I released the version 1.6.2 of the Web Translate It gem today. It is merely a bug fixes release. Here are the changes:

  • Compatibility with Ruby 1.9,
  • Ability to run the rake tasks when installed as a Rails plugin,
  • Fix a few crashes occurring when accessing a non-configured project.

What is the Web Translate It client?

The Web Translate It client is an open-source tool programmed in Ruby. It helps you sync your project’s language files with Web Translate It, and it’s a real life saver for projects with dozen of language files.

After installing the gem, it provides:

  • An executable, wti, that you can use to help sync any kind of projects (not only ruby projects), so long you have the ruby language installed (ruby is installed on most linux and Mac OS distributions nowadays). From your project directory, you can do wti push to send us your master language files, and wti pull to get your translated files.
  • A set of rake tasks and libraries you can build on top of. For example you can easily set it up to automatically update your language files as you request pages on your project.

To get it, follow the installation instructions on the Web Translate It page on Github.

File Manager update

By Edouard on April 1, 2010

The File Manager in Web Translate It just got a bit more clever.

Since the last update, you need to setup the full path for each language file in order to map the files with the files used by the web_translate_it gem.

It means you basically had to manually edit each file name and change its name.

Cumbersome if you have 40 languages and 10 files! No longer. You can now edit all the file names at once. Click on the master language file.

A box will pop up and will propose help you rename the file.

Tick the “Rename target files as well?” box, save and voilà!

I hope you will find this small update useful, thank you for using Web Translate It.

Upcoming changes to the Web Translate It client

By Edouard on March 22, 2010

A few changes have been made to the API and to the ruby client. Changes on the API are backwards compatible, so it won’t affect any projects. However you will need to make a very tiny change to your projects if you upgrade the client from the current version (1.5.2) to the next version (1.6). If you don’t use the Web Translate It client, no action is necessary.

Changes to the API

Until today, calls to the File API to download or upload a file were using the id of the “master language file”, even to access a target file.

For example, for the project Web Translate It, in which the source language is English and the target language French, calls had to be like so:

English: webtranslateit.com/api/projects/…/files/1941/locales/en

French: webtranslateit.com/api/projects/…/files/1941/locales/fr

From now on, you can also fetch the target language files by using the target language file ID, which gives:

English: webtranslateit.com/api/projects/…/files/1941/locales/en

French:

webtranslateit.com/api/projects/…/files/1942/locales/fr

It makes things easier when programming tools with the API. This change is backwards compatible, so it won’t affect the current client or any tool you developed.

Upcoming changes to the client

You currently have to setup a configuration file which looks like so:

api_key: 'sekret'
ignore_locales: :en

# A list of files to translate
files:
  1941: app/[locale].yml
  1943: defaults/[locale].yml

There are several problems with this approach.

  • it is a bit complicated to set up and requires the user to configure the project at two different places: on Web Translate It and on your project itself.
  • it makes too many assumptions. For example, it assumes that you want to have a file named pt_BR.yml for brazilian portuguese, although maybe you’d rather use pt-BR.yml. Also, sometimes the file extension changes depending of the language. For example you might want to have en.pot and de.po files.

To fix these issues, the upcoming version 1.6 will take another approach. All the configuration will take place in the File Manager, in which you will to set up the complete relative path of your language files. Your configuration file will now be much simpler:

api_key: 'sekret'

The File Manager will have to have the complete file paths like so:

The upcoming version of the client will be released early this week. Thank you for using Web Translate It.

Upload files and images to your comments

By Edouard on March 16, 2010

You can now upload and attach files to your comments on Web Translate It.

When you are typing a comment, click on “Upload File” and select a file. You can then type a comment (or leave the comment empty), then save it and the files will be automatically attached to the comment.

There is no limit: you can attach as many files as you want to a comment. You can attach anything: pictures (they will be resized), pdf files, zip files, anything.

Once your comment is saved, attachments will be sorted by file types and displayed underneath your comment. Click the cropped images to view them full size.

Since I was dealing with file uploads, I also added the ability to upload an avatar in your settings.

I hope you will find these improvements useful. Thank your for using Web Translate It.

Now testing the term base

By Edouard on March 11, 2010

If you have a look at your projects on Web Translate It, you will notice a new tiny icon.

Click on it and it will pop up and new window: the term base.

The term base (stands for terminology database) is a glossary of terms you can build collaboratively.

Consistency is important throughout your project, so you better find the best translations and stick to them. Is it sign in, signin, sign-in, sign me in, login, log in, log-in, log me in? The term base will help you to collaboratively decide which term you should use.

After you add a few terms, you will get a proper glossary:

You can search very quickly for terms in the glossary:

The suggestion system is the core feature of the term base. You can collaboratively work the translation suggestions until you find the perfect one. Only accepted suggestions will become the official ones.

I hope you will find this new feature useful. I am eager to hear from you by e-mail or on the forum if you have any suggestions or feedback to share.

Localize countries, languages and more

By Edouard on March 9, 2010

A few months ago I introduced my week-end project: the language and territory database which was exposing the data used by Web Translate It to build its locales and handle plural forms.

It contains information about:

  • In which territories a language is spoken
  • Which languages are spoken on a given territory
  • And other information about the language, such as the plural rules form.

Now you know what looks really bad on a localised software? This:

This is actually a common problem software developers have when localising software exposing this kind of data. Should it be a billing address, the user’s current location or stats by countries countries, developers need to localise it.

Maybe I haven’t looked hard enough (in which case, please point me out a database) but I haven’t found any open-source database of localised countries and languages, so this work is repeated over and over. There are about 250 territories and 500 languages to localise into 500 languages, so that’s a lot of work.

I actually need this localised data myself, and Web Translate It is a translation tool after all, so I thought I should make this data translatable and available to the public. Once for all.

So go and help me translate these databases! If you don’t have a user account, you can sign up for free.

Wait, what will you do with this data?

When I will have enough data (at least the territories translated into 10 languages) I will release monthly a SQL data dump on Github, under the MIT license, so developers can use it directly in their apps.

What else could need translation?

All the major cities in the world! “London” is “Londres” in French, and “Brussels” is “Bruxelles”. Wouldn’t that be cool if we had a database of localised cities?

So I also started building a City database you can already help translate, too, although it is still in a early stage.

All of this geographical data (territories, cities) come with geolocation (longitude and latitude), amount of population, and some other extra information, so you can build cool stuff on top of it.

Come and help if you have a little bit of time (and especially if you need this data!)

Bi-directional text editing and Web Translate It

By Edouard on March 5, 2010

Today someone asked me if Web Translate It support bidi scripts.

What are bidi scripts?

Bi-directionnal scripts is text containing text in both directionalities, that is to say both right-to-left (RTL) and left-to-right (LTR). This is fairly frequent, for example Arab text containing English brand names.

Web Translate It support LTR, RTL and bi-directionnal text in its web interface. More precisely, Web Translate It automatically select the correct text directionality based on the language and script you choose.

Bi-directionnality is a web-browser feature. It works fine with Firefox 3.5, Google Chrome and Safari 4.

Thank you for using Web Translate It!

Introducing Matt Hillman

By Edouard on February 26, 2010

I am really happy to announce that starting today, Matt Hillman joins Atelier Convivialité on a part-time basis. He will work on developing Web Translate It product’s awareness.

Matt is british and moved two years ago from London to the west coast of Sweden. Prior to that, Matt used to play drums in a band and was working for the music team at Last.fm and later on for the marketing team at Record Union.

I am really glad to have Matt onboard. Welcome, Matt!

Sniff and propose, don’t impose

By Edouard on February 25, 2010

Two weeks ago I soft-launched the french version of Web Translate It, you can visit at webtranslateit.com/fr.

While working on it, I remembered a nifty technique used to propose a localised version of a website to the user. I really like this technique and I thought I should share it here.

There are usually two different techniques to serve a localized version of your service to your users.

IP sniffing

The first is a redirection based on IP sniffing, used notably by Google. I don’t really like this solution, because if you browse google.com from Japan, you will get the website in Japanese, which is not so great if you don’t know any Japanese.

It breaks the assumption that one URL equals one website, and not different sites depending on where you are, but it also makes the service unusable to people travelling abroad.

Web browser sniffing

A better solution is browser sniffing. It is about reading a list of preferred languages from the headers sent by the web browser.

Many services use this to redirect you to their available localised services. This is a really good solution, used notably by Facebook.

There is just one downside, though: it is a bit too magical for the end-user. Nobody knows about this browser language preference and many people think this automatic redirection is a bug. Most users don’t understand why a such redirection happens.

Sniff and propose, but don’t impose

So I rediscovered (1) another technique using browser sniffing to propose the user a localised version. I think this is the right way to go and it won’t pester anyone.

If a French user browse Web Translate It in English, she will see a clickable ribbon in the corner saying “Hey! Web Translate It is also available in French!” in French.

When the user clicks the ribbon, it sends her to the French version of Web Translate It.

Now this is what a user with browser settings set to something else than French will see when browsing the french version of Web Translate It:

This is easily extendable. If a russian version was available and a russian user browse the French site, a russian ribbon would propose her to browse the russian website.

I am really happy with this solution, and it is also a bit simpler to implement than the other solutions. Sure, it is one extra step to the user, but it is a step that makes people actually understand what is going on. One more click, much less confusion.


[1] The first and only time I saw it was when Last.fm launched its international sites. When browsing Last.fm with a French web-browser, a frame saying “Your browser speaks French. Do you?” was appearing. As far as I remember, it was really much appreciated by the users.

Search Improvements

By Edouard on February 25, 2010

Search is the second most used feature on Web Translate It, after the translation interface itself, and until today, it was rather cumbersome.

Simple Search

I introduced a new way of searching for strings on Web Translate It: Simple Search. This is the default way of searching, and it is really efficient and easy to use.

To search, just type something in the search box displayed on all project pages: it can be text or a key. The search engine with search for strings in the current language (instead of in all languages like previously), and display them right in the translation interface, ready to be translated, edited or proofread.

If you are used to search with the previous system, you will notice it is so much more convenient that before. You basically do the same thing with 3 times less clicks. You will save a lot of time.

Advanced search

There is now a second way to search for a string: Advanced Search, for more advanced users. Click on the little cog brings you to the Advanced Search page.

There, you can do a very precise search queries with many criterias: in which language you want to search, what you are looking for (anything, key, text and developer comment).

This is great way to search for strings on a large project. On top of that you can also use advanced search queries to find more precisely what you are looking for.

I hope you will enjoy this improvement, thank you for using Web Translate It!

Awesome plans update

By Edouard on February 23, 2010

I am really excited to announce a really nice update to Web Translate It’s plans, and I am reasonably sure everyone will appreciate it.

One common remark made to the current price grid is that there is a huge gap between the Free plan and the Medium plan starting at 39€ a month for 2,000 strings. Also, 39€ per month is quite a lot of money for starting businesses, especially when converted into dollars (that’s currently $53).

I thought I should try to do something about that.

Introducing the Small plan

I just added a new plan: Small. Small is affordable: it costs 14€ per month (that’s just $19) and can hold up to 1,500 strings. It’s a great deal as it has almost the same capacity that used to offer the Medium plan at 39€ per month.

Small is a great plan at a fantastic price tailored for start-ups working a middle-sized application.

Increased capacity for all plans

The price remains unchanged for all other plans, but to mark the difference with the new Small plan I increased the string limit for all plans.

The medium plan now offers 4,000 strings instead of 2,000 and the Large plan now offers 8,000 strings instead of 6,000.

No action is required on your side in order to obtain the new capacity: if you subscribed to a Medium or Large plan, you already have it. You can check your new capacity on the “Organisation” page.

Limited Extra-Large plan

Finally, the Extra Large plan, which used to be unlimited, is now limited to 60,000 strings. That’s quite a lot. If you ever reach that limit, please get in touch with me so we can talk about a custom solution.

I am thrilled by this announcement, and a lot of work has been made under the hood to make Web Translate It more affordable.

I will have more exciting news to announce soon, so stay tuned and follow @webtranslateit on twitter, or subscribe to this blog’s RSS feed. Thank you for using Web Translate It, the web’s easiest translation tool.

Github Integration

By Edouard on February 17, 2010

I posted this teaser on Twitter yesterday:

Something cool is coming soon http://twitpic.com/13n9p4

It’s time to explain what it actually means! Github’s service hooks now include Web Translate It.

If you have an open-source project hosted on Github you want to translate, keeping your translation files in sync with your source code will be as easy as copy/pasting your API key. Github will let Web Translate It know if new translation files are available as you push new code. It can’t be easier!

For more information about this feature, please check the github integration documentation.

Thank you for using Web Translate It.

Verbosity is a deadly sin

By Edouard on February 15, 2010

Investors say you should be able to explain your projet on the back of a business card. Describing it very simply is always a very difficult exercise, and it often validates whether a project is viable or not.

This is the same for the presentation pages of a web product: the fewest presentation pages the better. There should be only one page. Visitors won’t read them all and will miss some important points otherwise.

Before today, Web Translate It had 3 presentation pages besides the home page. There was “Why using Web Translate It?”, “Integrate your app with Web Translate It” and finally, the “Tour” page, which was horribly out of date.

Information was spread across these 3 pages, which were repeating themselves and weren’t up to date. The problem was:

  • visitors didn’t understand what is Web Translate It.
  • it was 3 times more work to update these pages when I released a new feature, as I needed to update them all.
  • finally, the “why” and “integration” page were totalling more than 700 words. Now I start translating Web Translate It, this is a very important matter.

So I deleted the 2 former pages and instead made a much better Tour page.

The page is more aerated, the font is more readable and invites people to read on. I also added more screenshots and a screencast.

It contains lots of useful information, and even if you are already a Web Translate It user, you can learn a few tips to work faster.

Web Translate It Affiliate Program

By Edouard on February 10, 2010

Some users have been recommending Web Translate It to their clients and friends. I am really grateful for your help and to encourage you recommending Web Translate It, I just launched an affiliate program.

What is it?

In a nutshell, the affiliate program allows you to earn cash commissions when people sign up for a paying Web Translate It account.

The rules are pretty simple:

  • Every Web Translate It user has an unique referrer code you can find on the affiliates page. You refer someone and give this person your code. To become a referrer, join Web Translate It.
  • The user you refer signs up for a Medium, Large or Extra Large account (or signs up for a free account and then upgrade to a paying account later).
  • The user your refer keeps a paying account for at least 60 days.
  • You then receive a one-time cash commission of 20 euros to your Paypal account.

If the user your referred forgot to enter the referrer code, no sweat: just drop me a line and I will fix it for you.

If you have any questions about the affiliate program, send me an e-mail at support@atelierconvivialite.com.

Thank you for your trust and for using Web Translate It.

New in Web Translate It: easy integration to public Github projects

By Edouard on February 9, 2010

I just pushed a new feature to Web Translate It that will make it really easy to translate an open-source project hosted on Github.

Have it your way

There are many ways to update or sync your language files with Web Translate It.

On the File Manager, you can now specify the path to a language file hosted online.

You can use this new feature to link to any file accessible by HTTP, like a RAW file hosted on github.

Tick the “Check for updates periodically” checkbox and we will check for updates on this file daily. If there are new strings to translate, Web Translate It will send you an e-mail to let you know.

One more thing

We also have a post-receive URL that will check for updates on your file every time you push code to your github repository.

For more information, please refer to the documentation.

If you are not using github, you can still use this feature, as long as the language files are accessible via HTTP (using trac or gitweb for example). You can also use the post-receive URL feature, which works with every SCM.

I hope you will find this new feature useful. It makes it really easy to maintain translations of an open-source project hosted on github, and I hope it will help improving the translation quality of open-source projects.

Thank you for using Web Translate It.