38 lines
1.6 KiB
Markdown
38 lines
1.6 KiB
Markdown
# Contributing
|
|
|
|
## Repository structure
|
|
|
|
```sh
|
|
lib
|
|
├── main.dart # App entry
|
|
├── graphql
|
|
│ ├── # GraphQL queries
|
|
├── models
|
|
│ ├── # Provider models and other JSON models
|
|
├── router.dart # Routers here
|
|
├── scaffolds
|
|
│ ├── # Several scaffolds for reducing boilerplate code
|
|
├── screens
|
|
│ ├── gh_xxx.dart # GitHub screens
|
|
│ ├── bb_xxx.dart # Bitbucket screens
|
|
│ ├── gl_xxx.dart # GitLab screens
|
|
│ ├── gt_xxx.dart # Gitea screens
|
|
│ └── # File with no prefix: common screens
|
|
├── utils
|
|
│ ├── # Utilities
|
|
├── widgets
|
|
│ ├── # Reusable widgets
|
|
└── l10n
|
|
└── # Arb Files (translation mappings)
|
|
```
|
|
|
|
## Adding Translations
|
|
|
|
- Use the [Flutter Intl](https://marketplace.visualstudio.com/items?itemName=localizely.flutter-intl) extension. See this [demo](https://twitter.com/localizely/status/1255175275454881793) to get a better idea.
|
|
|
|
- You can find the keywords to be translated in any of the existing `.arb` files. To add a new language, all you have to do is copy the `json` from one of the files and replace the `value` of the `key` with the correct translation. Create the new `.arb` file for the new language using the extension.
|
|
|
|
- To add a new sentence/phrase to be translated, use the extension and proceed as indicated by the demo. Use of extension is recommended as it adds the sentence/phrase to all the `.arb` files instead of having to add them to every file manually.
|
|
|
|
Feel free to open an issue to discuss it if you get stuck.
|