Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactors I18N logic #411

Merged
merged 2 commits into from
Aug 20, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ jobs:
- run: yarn lint

# Build app
- run: yarn generate:locales
- run: yarn generate:api-definitions
- run: yarn generate:pagopa-api-definitions
- run: yarn tsc:noemit
Expand Down
26 changes: 20 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,16 @@ Il secondo passo è generare le definizioni dalle specifiche openapi:

```
$ yarn generate:api-definitions
$ yarn generate:pagopa-api-definitions
```

#### Generazione delle traduzioni

Generiamo poi i dati delle traduzioni dai file YAML presenti
nella directory `locales`:

```
$ yarn generate:locales
```

#### Configurazione dell'app
Expand Down Expand Up @@ -247,15 +257,19 @@ Vedere [questo tutorial](https://blog.bam.tech/developper-news/change-your-react

### Internazionalizzazione

L'applicazione utilizza [react-native-i18n](https://github.com/AlexanderZaytsev/react-native-i18n) per il supporto multilingua.
Per il supporto multilingua l'applicazione utilizza:

Per aggiungere una nuova lingua è necessario:
* [react-native-i18n](https://github.com/AlexanderZaytsev/react-native-i18n) per l'integrazione delle traduzioni con le preferenze dell'utente
* Dei file YAML nella directory `locales`
* Uno script di conversione da YAML a codice Typescript (`generate:locales`).

1. Creare un nuovo file all'interno della directory `locales` usando come nome `<langcode>.json` (Es: `es.json`)
2. Copiare il contenuto di uno degli altri file `.json` già presenti
3. Procedere con la traduzione
4. Modificare il file `ts/i18n.ts` aggiungendo tra gli import e nella variabile `I18n.translations` la nuova lingua
Per aggiungere una nuova lingua è necessario:

1. Creare una nuova directory sotto `locales` usando come nome il codice di lingua (Es: `es`).
1. Copiare il contenuto dalla lingua di base (`en`).
1. Procedere con la traduzione.
1. Eseguire lo script di generazione del codice Typescript (`npm run generate:locales`).
1. Modificare il file `ts/i18n.ts` aggiungendo la nuova lingua nella variabile `I18n.translations`.

### Gestione degli errori

Expand Down
1 change: 1 addition & 0 deletions locales/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
locales.ts
476 changes: 0 additions & 476 deletions locales/en.json

This file was deleted.

Loading