ors-map-client icon indicating copy to clipboard operation
ors-map-client copied to clipboard

Use translation tool for i18n

Open koebi opened this issue 3 years ago • 2 comments

Translations are all over the place, since they mostly live with their fragment. While this structure is in general good and wanted, it means that localization is hard, since dozens of files have to be changed.

Setting up a translation tool like weblate might help with this.

koebi avatar Nov 29 '22 14:11 koebi

The project is using feature-by-folder design https://github.com/GIScience/ors-map-client#feature-by-folder-design. Please see this https://softwareengineering.stackexchange.com/questions/338597/folder-by-type-or-folder-by-feature and this https://softwareengineering.stackexchange.com/questions/338597/folder-by-type-or-folder-by-feature

If wanted, all the translations can be directly declared, for example for English, here https://github.com/GIScience/ors-map-client/blob/master/src/i18n/translations/en-us/global.js.

On compile time all the translations files are integrated into global.js. I don't see any benefit of having a huge translation file, but it is technically possible, in the current setup. Generally it makes it more difficult to maintain and will break the app feature-by-folder design.

It is also possible to generate a unique json file with all the translations for a given language in development evironment. This file can be useful to be sent to someone who will just provide translations. Just add a console.log(translationObj) at line 24 https://github.com/GIScience/ors-map-client/blob/master/src/i18n/translations/en-us/builder.js#L24

amoncaldas avatar Nov 29 '22 14:11 amoncaldas

References #170

MichaelsJP avatar Nov 29 '22 15:11 MichaelsJP