Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
uPlexa
committed
Nov 26, 2018
1 parent
7214bae
commit a13eb78
Showing
3 changed files
with
99 additions
and
180 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,44 +1,6 @@ | ||
uPlexa daemon internationalization | ||
================================== | ||
|
||
The Monero command line tools can be translated in various languages. If you wish to contribute and need help/support, contact the Monero team, come chat on `#translations` (Discord) - https://discord.gg/a7mAQwJ | ||
The uPlexa command line tools can be translated in various languages. If you wish to contribute and need help/support, contact the uPlexa team, come chat on `#translations` (Discord) - https://discord.gg/a7mAQwJ | ||
|
||
In order to use the same translation workflow as the [Monero Core GUI](https://github.com/monero-project/monero-core), they use Qt Linguist translation files. However, to avoid the dependencies on Qt this normally implies, they use a custom loader to read those files at runtime. | ||
|
||
### Tools for translators | ||
|
||
In order to create, update or build translations files, you need to have Qt tools installed. For translating, you need either the **Qt Linguist GUI** ([part of Qt Creator](https://www.qt.io/download) or a [3rd-party standalone version](https://github.com/lelegard/qtlinguist-installers/releases)), or another tool that supports Qt ts files, such as Transifex. The files are XML, so they can be edited in any plain text editor if needed. | ||
|
||
### Creating / modifying translations | ||
|
||
You do not need anything from Qt in order to use the final translations. | ||
|
||
To update ts files after changing source code: | ||
|
||
./utils/translations/update-translations.sh | ||
|
||
To add a new language, eg Spanish (ISO code es): | ||
|
||
cp translations/monero.ts translations/monero_es.ts | ||
|
||
To edit translations for Spanish: | ||
|
||
linguist translations/monero_es.ts | ||
|
||
To build translations after modifying them: | ||
|
||
./utils/translations/build-translations.sh | ||
|
||
To test a translation: | ||
|
||
LANG=es ./build/release/bin/monero-wallet-cli | ||
|
||
To add new translatable strings in the source code: | ||
|
||
Use the `tr(string)` function if possible. If the code is in a class, and this class doesn't already have a `tr()` static function, add one, which uses a context named after what `lupdate` uses for the context, usually the fully qualified class name (eg, `cryptonote::simple_wallet`). If you need to use `tr()` in code that's not in a class, you can use the fully qualified version (eg, `simple_wallet::tr`) of the one matching the context you want. Use `QT_TRANSLATE_NOOP(string)` if you want to specify a context manually. | ||
|
||
If you're getting messages of the form: | ||
|
||
Class 'cryptonote::simple_wallet' lacks Q_OBJECT macro | ||
|
||
all is fine, we don't actually need that here. | ||
More information coming soon. |
Oops, something went wrong.