Commit Graph
24 Commits
Author SHA1 Message Date
softsimon 75ef83e9a3 Updated i18n from transifex 2021-06-11 10:58:54 -05:00
softsimon d36e9dc6a4 Update i18n from transifex 2021-06-10 09:52:13 -05:00
softsimon 49db59c5ee Update i18n from transifex. 2021-06-09 13:35:07 -05:00
softsimon 693715bfb3 Updated i18n from transifex. 2021-05-11 15:31:42 +04:00
softsimon 27330c879d Update translations from transifex. 2021-05-08 01:12:57 +04:00
softsimon 628906f172 Updating from transifex. 2021-04-26 04:05:55 +04:00
wiz b99db19336 Update translated strings from Transifex 2021-04-26 05:44:00 +09:00
softsimon 6da97151c4 Updating translations from transifex. 2021-03-07 20:13:39 +07:00
softsimon ff4c3b9b8c Update from transifex. 2021-02-15 00:15:04 +07:00
softsimon 2dcb7efc9d Updating from transifex. 2021-02-03 15:30:38 +07:00
softsimon 98184f49fd Updated from transifex. 2021-01-24 18:32:46 +07:00
wiz d3a6dc8856 Update translated strings from Transifex 2021-01-21 12:39:53 +09:00
softsimon 0625d7069e Updated strings from transifex. 2020-12-09 23:55:17 +07:00
softsimon 717541a395 Pulled new strings from transifex. 2020-12-09 01:17:22 +07:00
softsimon 76d6786efe Update strings from transifex. 2020-12-08 11:58:43 +07:00
wiz aad4c8b102 Update translation strings from Transifex 2020-12-05 22:42:48 +09:00
softsimon c3c0e60be8 i18n update 2020-12-05 11:58:22 +07:00
wiz 30752ab82c Update translation strings from Transifex 2020-12-05 02:39:50 +09:00
wiz 941e140fc9 Update translations from Transifex 2020-12-05 00:36:00 +09:00
wiz 3c11b482dc Update translations from Transifex 2020-12-05 00:11:40 +09:00
wiz e711a186c4 Update translated strings from Transifex 2020-12-04 23:03:52 +09:00
wiz d7ebb62405 Update translated strings from Transifex 2020-12-04 04:07:01 +09:00
wiz f982161008 Update strings from Transifex 2020-12-03 10:16:21 +09:00
wiz 46ad261d84 Implement i18n support in frontend using Angular + Transifex + NGINX
This PR adds basic i18n support into the mempool frontend, together with
a smooth workflow for developers and translators to collaborate:

* Using the existing @angular/localize module, developers add i18n
metadata to any frontend strings their new features or changes modify

* Using the new npm script `i18n-extract-from-source`, developers
extract the i18n data from source code into `src/locale/messages.xlf`

* After pushing the updated `src/locale/messages.xlf` to GitHub, the
Transifex service will update its database from the new source data

* Using the Transifex website UI, translators can work together to
translate all the mempool frontend strings into their native languages

* Using the new npm script `i18n-pull-from-transifex`, developers can
pull in completed translations from Transifex, and commit them into git.

This flow requires an API key from Transifex, which can be obtained at
https://www.transifex.com/user/settings/api/ to be used with the python
script installed by `pip install transifex-client` - after preparing
these, run the npm script which will ask you for the API key the first
time. When downloading is complete, you can test building the frontend,
and if successful, commit the new strings files into git.

This PR implements a new locale selector in the footer of the homepage
dashboard, and includes WIP translations for the following languages:

* Czech (cs)
* German (de)
* Japanese (ja)
* Norwegian (nn)
* Spanish (es)
* Swedish (sv)
* Ukrainian (uk)
* Persian (fa)
* Portugese (pt)
* Turkish (tr)
* Dutch (nl)
* French (fr)
* Chinese (zh)
* Slovenian (sl)
* Korean (ko)
* Polish (pl)

The user-agent's `Accept-Language` header is used to automatically
detect their preferred language, which can be manually overriden by the
pull-down selector, which saves their preference to a cookie, which is
used by nginx to serve the correct HTML bundle to the user.

Remaining tasks include adding i18n metadata for strings in the Bisq and
Liquid frontend code, mouseover hover tooltip strings, hard-coded og
metadata inside HTML templates, and many other places. This will be done
in a separate PR.

When upgrading to add i18n support, mempool instance operators must take
care to install the new nginx.conf and nginx-mempool.conf files, and
tweak for their specific site configuration.

Fixes #81
2020-12-02 04:19:33 +09:00