diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-03-02 21:07:55 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-03-02 21:07:55 +0100 |
commit | 9f98e7c772e7edade1ebea26f826d216223c804f (patch) | |
tree | 0fcf454c9c0bd86cdce2ee43a3add362ec04fe7e /dev-wallet-wx.rst | |
parent | 8d606274df864fb1753a9e8d9e0fca61423b0887 (diff) | |
parent | c091da731ecf747f93a28f232ffc6c8c11495f8f (diff) | |
download | docs-9f98e7c772e7edade1ebea26f826d216223c804f.tar.gz docs-9f98e7c772e7edade1ebea26f826d216223c804f.tar.bz2 docs-9f98e7c772e7edade1ebea26f826d216223c804f.zip |
Merge branch 'master' of git+ssh://taler.net/var/git/api
Diffstat (limited to 'dev-wallet-wx.rst')
-rw-r--r-- | dev-wallet-wx.rst | 48 |
1 files changed, 47 insertions, 1 deletions
diff --git a/dev-wallet-wx.rst b/dev-wallet-wx.rst index a458ebae..d3738631 100644 --- a/dev-wallet-wx.rst +++ b/dev-wallet-wx.rst @@ -34,7 +34,7 @@ Project Structure ----------------- .. parsed-literal:: - + **manifest.json** extension configuration **package.json** node.js package configuration **tsconfig.json** TypeScript compiler configuration @@ -148,3 +148,49 @@ library. Run the default test suite with ``npm run test``, which will call `mocha` with the right parameters. + +-------------------- +Internationalisation +-------------------- + +Strings in the JavaScript code are internationalised using the following functions: + +- *i18n*: translate string with arbitrary arguments, the result is returned as string. +.. code-block:: js + + i18n`You have ${n} coins.` + +- *i18n.parts*: Interpolate i18nized values with arbitrary objects. + Useful for example to include HTML elements. +.. code-block:: js + + i18n.parts`Visit ${link} to get more coins.` + +- *i18n.pluralize*: translate with plural form. + The i18n.number() function returns a ``PluralNumber`` object + that specifies the argument that determines the plural form, + if not present the first numeric argument is used. + +.. code-block:: js + + i18n.pluralize( + i18n`${i}: you have ${i18n.number(n)} coin.`, + `${i}: you have ${i18n.number(n)} coins.`); + +These functions are defined in ``lib/i18n.ts``. +Include ``lib/vendor/jed.js``, ``lib/i18n.js``, ``lib/i18n-strings.js`` to use them. + +To extract strings from sources and update the .po files, run: + +.. code-block:: sh + + $ make i18n + +In static HTML files the ``lang`` attribute is used for language-specific strings: + +.. code-block:: html + + <p lang="en">Hello World!</p> + <p lang="de">Hallo Welt!</p> + +``lib/i18n.js`` and ``style/lang.css`` needs to be included for this to work. |