This repository has been moved: https://git.openprivacy.ca/cwtch.im/cwtch-ui
Aller au fichier
Dan Ballard bfae3b577f
continuous-integration/drone/push Build is passing Détails
final fixes for windows package
2021-06-30 09:46:22 -07:00
android dual pane wiring 2021-06-24 11:24:50 -07:00
assets new animated knot android splash; assets for native flutter splash 2021-06-16 13:30:39 -07:00
integration_test Project Rename in Prep for Beta 2021-05-19 15:53:32 -07:00
ios Initial Prototype...loading profiles and contacts 2021-01-06 15:09:58 -08:00
lib Remove todos + show/hide password translations 2021-06-24 14:37:19 -07:00
linux Hide "Current Password" field for password-less accounts 2021-06-24 11:26:16 -07:00
test fix tests, rename themes from cwtch* to opaque* 2021-06-24 10:59:23 -07:00
test_driver introducing widget and integration tests 2021-03-26 18:02:01 -07:00
windows nsis installer now tested on windows 2021-06-29 19:39:24 -07:00
.drone.yml final fixes for windows package 2021-06-30 09:46:22 -07:00
.gitignore Update Tor Image 2021-04-13 19:29:16 -07:00
.metadata Initial Prototype...loading profiles and contacts 2021-01-06 15:09:58 -08:00
ARCH.md Theme switching with ChangeProvider 2021-01-27 12:21:36 -08:00
LIBCWTCH-GO.version Bump libcwtch-go version 2021-06-24 11:26:16 -07:00
LICENSE add LICENSE for build steps nsis 2021-06-29 19:17:03 -07:00
README.md Update 'README.md' 2021-06-25 07:38:05 -07:00
SPEC.md Shutdown Cwtch 2021-06-16 15:26:02 -07:00
cwtch-android-lifecycle.png Notes from Android Lifecycle Deep Dive 2021-05-24 17:19:52 -07:00
cwtch.png Theme Fixes 2021-05-26 14:02:17 -07:00
fetch-libcwtch-go.ps1 drone: add fetch-libcwtch ps1 script + switch to drone exec runner 2021-05-05 15:18:28 -07:00
fetch-libcwtch-go.sh drone: add fetch-libcwtch ps1 script + switch to drone exec runner 2021-05-05 15:18:28 -07:00
fetch-tor-win.ps1 nsis installer now tested on windows 2021-06-29 19:39:24 -07:00
fetch-tor.sh add mkdir -p to fetch-tor.sh 2021-06-23 13:43:58 -07:00
l10n.yaml translations wip 2021-02-22 18:55:10 -08:00
pubspec.lock Hide "Current Password" field for password-less accounts 2021-06-24 11:26:16 -07:00
pubspec.yaml pubspec bump 2021-06-24 12:20:05 -07:00
regenerate_opaque_theme.sh erinndev 2021-01-21 12:37:35 -08:00

README.md

Cwtch UI

A Flutter based Cwtch UI

Getting Started

click the play button in android studio

Linux

  • libCwtch-go: required to be on the link path (linux/cwtch.destktop demonstrates with env LD_LIBRARY_PATH=./lib/ on the front of the comman)
    • fetch-libcwtch-go.sh will fetch a prebuilt version
    • or compile from source from libcwtch-go with make linux
  • tor should be in the PATH

Windows

  • run fetch-libcwtch-go.ps1 to get libCwtch.dll which is required to run
  • run fetch-tor-win.ps1 to fetch Tor for windows

Issues

  • Flutter engine has a known bug around the Right Shift key being sticky. We have implemented the mostly work around, but until it is fixed, right shift occasionally acts permenent. If this happens, just tap left shift and it will reset

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.

In Lokalise, hit Download and make sure:

  • Format is set to "Flutter (.arb)
  • Output filename is set to l10n/intl_%LANG_ISO%.%FORMAT%
  • Empty translations is set to "Replace with base language"

Build, download and unzip the output, overwriting lib/l10n. The next time Flwtch is built, Flutter will notice the changes and update app_localizations.dart accordingly (thanks to generate:true in pubspec.yaml).

Adding a language

If a new language has been added to the Lokalise project, two additional manual steps need to be done:

  • Create a new key called localeXX for the name of the language
  • Add it to the settings pane by updating getLanguageFull() in lib/views/globalsettingsview.dart

Then rebuild as normal.

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

With generate: true in pubspec.yaml, the Flutter build process checks l10n.yaml for input/output filenames.