Bitcoin client and website translation

13 messages BitcoinTalk Satoshi Nakamoto, BlueSky, giik, SmokeTooMuch, Martti Malmi, riX, NewLibertyStandard, Herodes February 8, 2010 — May 12, 2011
Satoshi Nakamoto February 8, 2010 01:27 UTC Source ·

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?

Split from another thread (https://www.bitcoin.org/smf/index.php?topic=44). sirius-m

BlueSky February 8, 2010 08:47 UTC Source ·

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 8, 2010 16:10 UTC Source ·

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 8, 2010 19:28 UTC Source ·
Quote from: satoshi on February 08, 2010, 1:27:02 AM UTC

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 8, 2010 21:36 UTC Source ·

I can translate it into German, if you wish.

Martti Malmi (sirius) February 9, 2010 16:08 UTC Source ·

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 9, 2010 20:47 UTC Source ·
Quote from: satoshi on February 08, 2010, 4:10:37 PM UTC

[…]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 9, 2010 21:33 UTC Source ·
Quote from: sirius-m on February 09, 2010, 7:08:39 AM UTC

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 ?

Martti Malmi (sirius) February 10, 2010 15:11 UTC Source ·
Quote from: SmokeTooMuch on February 09, 2010, 12:33:33 PM UTC
Quote from: sirius-m on February 09, 2010, 7:08:39 AM UTC

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 18:15 UTC Source ·

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 UTC Source ·

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

Satoshi Nakamoto February 17, 2010 19:19 UTC Source ·

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>\LC_MESSAGES\bitcoin.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:

  • Download the bitcoin sourcecode from SVN
  • In the trunk directory, mkdir locale<lang>\LC_MESSAGES
  • In poedit, File->New catalog->Paths tab
  • Click the “New item” dotted rectangle button
  • Put ”../../..” and MAKE SURE TO PRESS ENTER to add the path
  • Click OK
  • Save the file as “bitcoin.po” in the LC_MESSAGES directory you made
  • It should then scan the sourcecode and find about 170 strings
  • If it didn’t find anything, check Catalog->Settings->Path tab, make sure the ”../../..” was added

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

Herodes May 12, 2011 03:59 UTC Source ·

I have started translating the client messages to norwegian. As I also have other things to do, I will do it a little by little. I will tell when it is done.