Webmaker Localization

Oh man! I'm excited as I'm writing this blog post. Localization is the next big thing As you may have already known that I'm working on the Webmaker projects which includes Thimble, Popcorn and few other things and mainly on the back-end server side. Working with Mozilla on the Webmaker it is just an amazing thing in my life and I really enjoy working on this open source project.

When I first get to use some of the Webmaker tools, for instance the Thimble and I really see how amazing things this tool can do and I was so excited to share it to my friends from Thailand, but really it was so disappointing because they can't read and understand what is going on and how to use the tools, and so when we are in the Mozilla All-Hands last week we got together in a session and talking about "Localization".

Now what is localization and what is the benefit of it?

Localization or we call it l10n it is to translate the project into internationalization or again we call it i18n where a project in one language will be translate into multiple languages and we can reach more people from different part of the world, as at the moment the Webmaker only available in English and people who don't speak English don't understand and can't use the tools. So who benefits it?

Well there are many people in this case will benefit from this localization and obviously first case will be the people from different part of the world because they will be able to use the tool and of course Mozilla will benefit that because people will use the tool more!

 

So what is our plan?

We are in a process of making this happen as soon as possible, and we already worked on the planning process with Humphrey and Igor where at this moment we already got the skeleton and example of the working project that is now localized, and this project call "amore" so what is amore? Well this happen to be a project that will say the word "I love you" in 100 languages, and I came up with this idea when I was working on the i18n plugin from Require.js and I got to the point where I can get some translation works and tweeted out that, and Humphrey retweeted and said will make it happens and yeah it is now live I love you.

 

What are we doing now why not just get the rest of the project localized!?

Well hold on a moment as this is not something easy as you can imagine. To localize 15 projects on Mozilla repository at least isn't an easy job and let me tell you why. First of all, the way how most of the projects mozilla has it was design in such a way that most of the strings will be in the javascript files and it is manage by require.js plugin. That is the problem because in i18n-abide which is the node module that we are using and this is also created by one of the Mozilla guy, and this plugin works in the way that it uses something like gettext where this is also a function from JavaScript which will get the value from the specified key something like this

{{ gettext( "iloveyou" ) }}

So this won't work if it was using the old way, so we have to move every single string from the JavaScript file and put it in the HTML template in order to make it work, and honestly if has over 3000 strings at least then hmmm not an easy job to just transfer everything out. So yeah we have to make a final decision and make sure that this is the right approach we are going to take

When it will be ready?!

Well like I said we are still in the process of planning out before we implement it, but I can assure you that this is going to happen and you can expect this before the end of Summer, but hey let me tell you one thing I'm planning to make this happen before or on my birthday which is on July 19th!!!

So what is the next plan?

The next plan is to get together with Humphrey and Igor and to finalize our plan and get this started and I'm telling you I'm very excited about this and hopefully it will be available for you and your friend soon!

 

These are the list of the resources you might want to check out more about the i18n

bug 877232Text plugin
i18n-abide
amore.webmaker.org.