Bitcoin client and website translation

2010 Feb 8 See all posts
Bitcoin client and website translation @ Satoshi Nakamoto
Author

Satoshi Nakamoto

Email

Site

https://satoshinakamoto.network

Satoshi Nakamoto
Bitcoin client and website translation
February 08, 2010, 01:27:02 AM

BlueSky said on February 07, 2010, 08:20:48 AM:

Future proof.
All my concerns answered. What files in the source version control are the labels for the interface(So that I can translate)?

Please point me to any page you would like to have translated to Chinese for the project.
Perhaps having a Chinese howto and explanation would be usefull(manual/helpfile?)

Also what would you like for a gift?

Thank you for the offer to help translate. That is probably the best way you could help.

I will need to prepare the code for translation first. wxWidgets has locale support, and most strings are in generated code that is already wrapped, so it shouldn't be too hard. We also must finish upgrading to wxWidgets-2.9.0 to get UTF-8 support. I've done test builds with 2.9.0 and there is one bug left to fix.

What operating system are you using? Windows, Linux 32-bit or 64 bit?


BlueSky
February 08, 2010, 08:47:08 AM

I am running Windows 32 (But have AMD64 dual core machine), but could, if required have a version of Linux using virtualisation(I must install this).

The most simple way at present is to have different language binaries(e.g. bitcoin_en.exe, bitcoin_zh.exe etc.). Please post when you want this translated, this would mean there could be a dual language release for the next version (Why not a tri-language release, you do speak Japanese no?).


Satoshi Nakamoto
February 08, 2010, 04:10:37 PM

It's much easier to have a single binary and multiple .mo files. It's too much maintenance work to have lots of build variations. Once the software support is implemented, anyone could contribute translations.

wxWidgets uses the gettext standard. You use the gettext tools or something like poedit to create a .po file by scanning the sourcefiles for strings and editing the translations into the .po file, then compile it into a .mo file. The program loads the .mo file at runtime and reskins all the strings. Additional languages can be added to an existing program by adding .mo files without recompiling the program.

On Windows, the .mo files would go in a lang subdirectory in the directory where the EXE is located.

Right now I'm working on JSON-RPC and command line support, but when I'm finished with that I hope to do this next.


giik
February 08, 2010, 07:28:28 PM

Quote from: satoshi on February 08, 2010, 01:27:02 AM

Thank you for the offer to help translate. That is probably the best way you could help.

I'm willing to help you translate to Dutch. Just let us know, when it's possible!


SmokeTooMuch
February 08, 2010, 09:36:01 PM

I can translate it into German, if you wish.


sirius
February 09, 2010, 04:08:39 PM

You can send me translations of the bitcoin.org site as private messages (or if it's too long, I'll pm you my e-mail address). If you can translate only the front page, it's ok too.


riX
February 09, 2010, 08:47:58 PM

Quote from: satoshi on February 08, 2010, 04:10:37 PM

[...]JSON-RPC and command line support[...]

Sweet! I've been looking for something to make some kind of semi-cloud setup, and JSON-RPC looks promising. Keep up the good work!


SmokeTooMuch
February 09, 2010, 09:33:33 PM

Quote from: sirius-m on February 09, 2010, 04:08:39 PM

You can send me translations of the bitcoin.org site as private messages (or if it's too long, I'll pm you my e-mail address). If you can translate only the front page, it's ok too.

Do you want it as plain-text or a .html or .php file ?


sirius
February 10, 2010, 03:11:47 PM

Quote from: SmokeTooMuch on February 09, 2010, 09:33:33 PM

Quote from: sirius-m on February 09, 2010, 04:08:39 PM

You can send me translations of the bitcoin.org site as private messages (or if it's too long, I'll pm you my e-mail address). If you can translate only the front page, it's ok too.

Do you want it as plain-text or a .html or .php file ?

Plain text is good, but add the heading and list html tags if possible.


NewLibertyStandard
February 10, 2010, 06:15:05 PM

It looks like the Bitcoin Wikipedia article is only available in English. How about some of you either translate or write a new article in your language.


giik
February 16, 2010, 10:23:05 AM

My Dutch translation is almost finished. I will send it to sirius-m this week.


Satoshi Nakamoto
February 17, 2010, 07:19:43 PM

I updated the SVN with changes to support translation.  Translatable strings are all enclosed in _(""), and we're using UTF-8 on all platforms.

When the program runs, it looks in the directory of the EXE for the file: locale<langcode>_MESSAGESitcoin.mo

is the two letter code of the language your OS is set to, like "de" or "nl".

On Linux, it also looks for:
/usr/share/locale//LC_MESSAGES/bitcoin.mo
/usr/local/share/locale//LC_MESSAGES/bitcoin.mo
(are there other standard places it should look on linux?)

Here's a quick walkthrough using poedit to make a .po and .mo file:

When you're done translating, commit both bitcoin.po (the editable catalog file) and bitcoin.mo (compiled data used by the program).