57 lines
1.6 KiB
Markdown
57 lines
1.6 KiB
Markdown
# flwtch
|
|
|
|
A new Flutter application.
|
|
|
|
## Getting Started
|
|
|
|
click the play button in android studio
|
|
|
|
### Linux
|
|
|
|
- libCwtch-go: the result of `make linux`, `libCwtch.so` should be in the link path
|
|
- `tor` should be in the PATH
|
|
|
|
### Windows
|
|
|
|
- libCwtch-go: the result of `make windows`, `libCwtch.dll` should be placed in the source root
|
|
- tor is bundled in `windors/Tor`
|
|
|
|
## l10n
|
|
|
|
### Adding a new string
|
|
|
|
Strings are managed directly from our Lokalise(url?) project.
|
|
Keys should be valid Dart variable names in lowerCamelCase.
|
|
After adding a new key and providing/obtaining translations for it, follow the next step to update your local copy.
|
|
|
|
### Updating translations
|
|
|
|
Only Open Privacy staff members can update translations automatically:
|
|
|
|
```
|
|
flutter pub run flutter_lokalise download -v --api-token "<X>" --project-id "<Y>"
|
|
```
|
|
|
|
This will download a bundle of translations from Lokalise and convert it to resource files in `lib/l10n/intl_*.arb`.
|
|
The next time Flwtch is built, Flutter will notice the changes and update `app_localizations.dart` accordingly (thanks to `generate:true` in `pubspec.yaml`).
|
|
|
|
### Using a string
|
|
|
|
Any widget underneath the main MaterialApp should be able to:
|
|
|
|
```
|
|
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
|
```
|
|
|
|
and then use:
|
|
|
|
```
|
|
Text(AppLocalizations.of(context).stringIdentifer),
|
|
```
|
|
|
|
### Configuration
|
|
|
|
API tokens are only available to Open Privacy staff at this time, who will perform the translation updates for you as part of merging your PRs.
|
|
|
|
With `generate: true` in `pubspec.yaml`, the Flutter build process checks `l10n.yaml` for input/output filenames.
|