BitcoinTalk

Bitcoin client and website translation

BitcoinTalk
#1
From:
satoshi
Subject:
Bitcoin client and website translation
Date:
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.
sirius-m
BitcoinTalk
#2
From:
BlueSky
Subject:
Bitcoin client and website translation
Date:
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?).
BitcoinTalk
#3
From:
satoshi
Subject:
Bitcoin client and website translation
Date:
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.
BitcoinTalk
#4
From:
giik
Subject:
Bitcoin client and website translation
Date:
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!
BitcoinTalk
#5
From:
SmokeTooMuch
Subject:
Bitcoin client and website translation
Date:
I can translate it into German, if you wish.
BitcoinTalk
#6
From:
sirius
Subject:
Re: Bitcoin client and website translation
Date:
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.
BitcoinTalk
#7
From:
riX
Subject:
Re: Bitcoin client and website translation
Date:
[...]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!
BitcoinTalk
#8
From:
SmokeTooMuch
Subject:
Re: Bitcoin client and website translation
Date:
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 ?
BitcoinTalk
#9
From:
sirius
Subject:
Re: Bitcoin client and website translation
Date:
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.
BitcoinTalk
#10
From:
NewLibertyStandard
Subject:
Re: Bitcoin client and website translation
Date:
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.
BitcoinTalk
#11
From:
giik
Subject:
Re: Bitcoin client and website translation
Date:
My Dutch translation is almost finished. I will send it to sirius-m this week.
BitcoinTalk
#12
From:
satoshi
Subject:
Re: Bitcoin client and website translation
Date:
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

<langcode> 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/<langcode>/LC_MESSAGES/bitcoin.mo
/usr/local/share/locale/<langcode>/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).