summaryrefslogtreecommitdiff
path: root/dev-wallet-wx.rst
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-03-02 21:07:55 +0100
committerChristian Grothoff <christian@grothoff.org>2016-03-02 21:07:55 +0100
commit9f98e7c772e7edade1ebea26f826d216223c804f (patch)
tree0fcf454c9c0bd86cdce2ee43a3add362ec04fe7e /dev-wallet-wx.rst
parent8d606274df864fb1753a9e8d9e0fca61423b0887 (diff)
parentc091da731ecf747f93a28f232ffc6c8c11495f8f (diff)
downloaddocs-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.rst48
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.