Starting translations work
This commit is contained in:
61
docs/contribution/Translating.md
Normal file
61
docs/contribution/Translating.md
Normal file
@@ -0,0 +1,61 @@
|
||||
## Helping with Translations
|
||||
|
||||
All interface translations can be found inside the folder:
|
||||
|
||||
📁 `apps/ui/src/lib/locales`
|
||||
|
||||
> The base and fallback language is 🇬🇧 `en`.
|
||||
|
||||
---
|
||||
|
||||
## 🖐️ Manual First steps
|
||||
|
||||
To start translating to a new language:
|
||||
|
||||
1. create `apps/ui/src/lib/locales/jp.json` (change `jp` to chosen language)
|
||||
2. copy the contents from `apps/ui/src/lib/locales/en.json` to your new json.
|
||||
2. edit `apps/ui/src/lib/translations.ts`
|
||||
* 2.1. add `jp: { lang },` inside `translations:`
|
||||
* 2.2. duplicate the full `en` locale hash inside `loaders:`, change `en` to `jp`(chosen locale)
|
||||
|
||||
Congratulations! You are now ready to start translating
|
||||
|
||||
## 🤖 Automated First Steps
|
||||
|
||||
We can ease the translation using [MoloLab Json Translator](https://github.com/mololab/json-translator):
|
||||
|
||||
```sh
|
||||
# Install Json Tranlator
|
||||
npm i -g @parvineyvazov/json-translator
|
||||
# Run this command to create a new translation:
|
||||
jsontt apps/ui/src/lib/locales/en.json
|
||||
|
||||
# Example Result:
|
||||
jsontt apps/ui/src/lib/locales/en.json
|
||||
? From which source? #ArgosTranslate
|
||||
? From which language? #Automatic
|
||||
? To which language | languages? #Spanish
|
||||
✔ DONE! 287 of 287 translated.
|
||||
All files are created!
|
||||
You can find them in the same folder as the original JSON file.
|
||||
For Spanish --> es.json created.
|
||||
```
|
||||
|
||||
## Currently supported locales
|
||||
|
||||
- [x] en
|
||||
- [x] fr
|
||||
- [x] pt (autogenerated - needs review)
|
||||
- [x] es (autogenerated - needs review)
|
||||
- [x] ko (autogenerated - needs review)
|
||||
|
||||
## ☑️ Todo:
|
||||
|
||||
- [ ] Write a script to
|
||||
- sync missing keys from `en` to other locales;
|
||||
- remove deprecated keys from all non `en` locales;
|
||||
|
||||
- [ ] Sveltekit-i18n instructs to create one locale file per path, maybe we should review that soon.
|
||||
|
||||
- [ ] Improve the aesthetics of `<LocalePicker/>`
|
||||
- [ ] Make selected locale persistent (in session or cookie)
|
||||
Reference in New Issue
Block a user