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

September Status Update

Posted by Edouard Brière on October 2, 2009

This month I have been releasing only very few new features. I have also been working on the website’s performance.

A few new features

Search

“Search” seems to be such a little feature. It’s actually used a lot, needs to search everything and fast. It has been quite complex to implement.

Given the amount of string entries we are dealing with (we currently have more than 30,000 strings in database without having officially launched), and because we want a full-text search, it becomes quickly inefficient to directly query our database.

The solution for this problem is a search engine. In the background, an indexer look at the database for changes in the strings and well, index these changes. On the front-end, a search server check the index and respond quickly to your queries.

I chose Sphinx because it is fast, lightweight and under active development. It also has awesome plugins for Ruby on Rails, I chose Thinking Sphinx, which has an amazing documentation.

Save all strings in this page and developer comments

Another small improvement is the ability to save all the strings in the page. This has been requested by our beta testers. Furthermore, Web Translate It can now display developer comments. Developers can put there explanations or links to example pages.

Help section

I have also been working on the help section. It actually is a wiki, users will be able to write there tips and tricks.

Better importers

I have been rewriting the Yaml importer and exporter from scratch. The version I had was not capable to handle Rails’s plural forms. Also, more validations are now done before actually triggering the importers, therefore more availability and less failures.

Lastly, since today we also support PHP .ini and Java .properties files.

Performance improvements

API performance improvements

This was also technically thrilling: The API now supports Conditional GET Requests.

If you provide your request with a context (a HTTP header that include the date of last modification of your file), the new API will respond with a sensible HTTP status code.

If there has been changes since your last call, it will respond with the code 200 OK along with your translations. If there aren’t any changes, it will respond with a mere 304 Not Modified without your translations.

Needless to say, respond something empty is blazing fast.

Website performance improvements

To accommodate this feature, I also have been optimising Apache, which now supports Gzip compression, page caching and E-tags. The YSlow plugin for Firefox and Yahoo’s Best Practices for Speeding Up Your Web Site have been inestimable resources for this work. Web Translate It really feels much faster now.

Finally, I upgraded Ruby, the language that powers Web Translate It to a slightly newer version. Because traffic is still quite low, it is hard to notice any improvements on speed, but I noticed a huge drop in memory consumption.

That’s it

That’s it for this month. This is probably the last time I write a monthly status update. I release a new version of Web Translate It weekly, so it is hard for me to compile all my work in a post, and it makes rather long posts. I’d rather post weekly updates or “feature by feature” updates for large features.

Finally, as usual: Web Translate It is currently open for beta testers, so if you want to test Web Translate It for free, send me an email at edouard@atelierconvivialite.com.

New release

Posted by Edouard Brière on October 2, 2009

I just released a new version of Web Translate It. Unfortunately the string filtering feature didn’t make it and will be pushed another week further. It requires some important work to integrate well with the statistics system. Besides, a few other important features required all my attention.

Here’s what’s new:

  • Ability to upload multiple language files in a zip file. This is useful for large projects with many language files.
  • File Manager: this is a big update. It is now much easier to use and allows you to do more with your files.
  • PHP .ini files support
  • More robust language file importer/exporter, with better error handling.
  • A few of small improvements in the translation interface
  • Fixed a bug with the search engine. It wasn’t indexing your new strings sometimes.

Calling out all beta testers

Posted by Edouard Brière on September 21, 2009

Web Translate It has reached the point we call the “minimum viable product”. Do you need a translation management system for you project? Join and test it.

Web Translate It is not ready for prime time yet but it already works really well. Do you have a project to translate? Are you interested by trying it before everyone else? Please contact me to get a beta tester account.

What will you get?

You will gain access to a web-based translation system that makes it easy for human translators to collaborate. During the beta time, using it will be free. After the launch date you will have to choose if you want to continue to use it and pay, or not use it. Web Translate It will remain free for Open Source project.

Web Translate It can help you to translate 3 things:

  • Dynamic websites
  • Software
  • iPhone applications

It also solves a few problems in the translation process:

Avoid unnecessary file logistics

Web Translate It integrate an easy to use and efficient translation interface. The whole translation team can work on your translations directly in a web browser. The translators can ask questions to the developer through a commenting system. The developer can see when his translation work is finished in the Project Statistics, and download all the language files at once in a zip file.

Test the translations

Web Translate It has a very simple API. If you work on translating a website, you are invited to set up a staging site for the translators to test their translations. You could make your staging site fetch and display the latest translations for every page load. Translating a website and testing your translations is as simple as saving your translations and checking the result on the staging website. If you are a software developer, you could develop a system that regularly builds your application against the latest translations.

History

Web Translate It keep an history of everything that happened on a string: who translated it, who proofread that and when. You can also revert the string to a previous version. This feature is crucial for an efficient translation workflow.

Don’t reinvent the wheel

Developers, developing yet another hasty web-based translation software is a loss of time. Developing good software takes time. Translators don’t like to work on slow or buggy tools. Besides, our API afford a tight integration to your system, as if Web Translate It was hosted on your system.

Keep in touch

Subscribe to the RSS feed for frequent product updates, follow us on Twitter or join our mailing list if you want to get an email when we launch our product.

June and mid-July Status Update

Posted by Edouard Brière on July 13, 2009

Wow, how can it already be mid-July? We have been pretty busy refactoring Web Translate It and adding new features. Here is what we have been up to.

It feels like June went very quickly, and when we look back it seems we haven’t done much this month. The truth is that we have been working on some rather tricky features.

Gettext .po, Apple .strings, Rails .yml, you name it

Gettext .po is widely use, but we really wanted to support two other file formats: Apple .strings and Rails .yml. This is now implemented, which means you will be able to use Web Translate It to translate your Mac and iPhone applications, as well as Ruby on Rails websites! Along the way we refactored and improved our importer/exporter engines to be more abstract, so supporting more file formats will now be easy. We’re quite thrilled about this.

Import and Export jobs improvements

Remember our CPU-hungry processes we run as background jobs? They took a little while to perform, without any feedback. Not anymore: we thought giving our users a little bit of feedback wouldn’t hurt.

Also, downloading every single file one by one can quickly become unpleasant if your project is translated in lots of different languages. You can now download all your language files in a zip file containing all your language files.

Next

The next release will be mainly focused on improving the interface usability, particularly the on the interface to assign jobs to your team, and invite other team members, which is rather cumbersome at the moment.

We will also improve our import/export engines a bit more. We will introduce support for plural forms in .po and .yml, which is a big piece of work.

What’s left after all this? We need to rework the translation interface: better interface for comments, code colorisation in translation forms, ability to filter strings by status, etc, and finally implement a payment system.

Once it will be completed it will be finally time to launch! We’re getting there.

Let’s get in touch

For frequent updates, follow us on twitter or subscribe to our RSS feed. If you want us to contact you as soon as we launch join our mailing list on the Web Translate It website.

We also have our customer support forum on GetSatisfaction if you have any ideas, enquiries or suggestions.

April and May Status Update

Posted by Edouard Brière on May 31, 2009

June is here. While we still don’t have much to show you, a lot of things have happened during these last two months.

We have been busy working these last two months and made lots of improvements on Web Translate It.

We hope to have something substantial to show you this summer. Here’s what we have been up to.

House cleaning and a few new features

Back in April we launched a temporary front page for Web Translate It to present our product. Since then, a lot has happened.

We’ve been working on a brand new design, implemented a few new features, dusted off some scalability problems and have drastically simplified our product’s architecture.

A new design

Remember the sketch we posted a few weeks ago?

Well, after using it ourselves, it didn’t felt right so we went back to our pencils and came up with something dramatically simpler.

This is very green. If you don’t like it, you will be able to change the background and header colour to your taste.

This new design is much more simple and will allow easier modifications in the future.

New Features

We worked on a new page we call the “String Log” (screen-grab above). This is basically a page showing the details of what happened on a string: translations changes, status changes, comments posted, in a chronological order. We still have a bit more cosmetic work to do on it.

We also worked on implementing string export, so you can actually fetch your languages files once the translation work is done. It’s not entirely finished yet, but the engine is here and ready to use.

Scalability

We noticed some performance issues while importing large languages files to our system. These kind of tasks simply take too much time to perform online.

So we moved these CPU-hungry tasks as background jobs. It was a very interesting project to do. We’ll write another post later to share our experience on this.

Simplification

As much as we try to keep things simple, some parts of our product seemed very complex to use so we reworked them in a much more simple way.

We also rewrote our .pot file parser from scratch, as the one we were using was blatantly inefficient.

System

Some of our work cannot be seen. We set up a communication system, a server monitoring system, and tuned our backup system.

Our source code and our database are backed up to an offsite server every day.

We also installed some tools to help us code better.

Continuous Integration

We now have a continuous integration server, Integrity.

Every time we we push code to the main branch, Integrity runs the website’s batch of tests and tells us the result on Campfire.

Of course we test our code locally on our computers while we code, but several times we committed code breaking the test suite without noticing.

It is now impossible to ignore it.

Metrics

“You can’t control what you can’t measure”. We run software metrics on our code since four days now.

It seems promising and will help us a lot to improve our code.

Inspired by the good folks at Thoughtbot we chose metric_fu, a tool to generate software metrics for ruby code.

Basically, metric_fu calculates everyday a few software metrics from our source code and notifies us from design issues, code smells, missing test cases, duplicated or too complex code.

Tools like Reek, Flay,

Flog and Rcov are amazingly useful.

Now, the vanilla metric_fu doesn’t look so hot. So we decided to go ahead and use Thoughbot’s fork which is aesthetically more appealing, and since we were at it we made it a bit better.

Our fork automatically generates and includes graphs showing our day-to-day progression. Grab our fork at Github.

Edit: our changes have actually been pull to the official metric_fu.

Getting in touch

We launched our company website/blog a few weeks ago to be as transparent as possible and talk about what we are doing.

We are really pleased to read you left us a few comments and we hope we’ll have the opportunity to discuss more.

If you want to hear from us or get in touch, you can use the comments here, or use our customer support forum at GetSatisfaction or send us an email.

If you prefer to just watch what is going on you can subscribe to the RSS feed for frequent updates, or join our mailing list if you want to get an email when we launch our product.