From bd3e05b35410708187664f5b941fed6417e97546 Mon Sep 17 00:00:00 2001 From: zoe Date: Fri, 17 Jun 2022 12:38:28 +0200 Subject: [PATCH] localization support --- lib/api/oauth.dart | 1 - lib/i18n/en_US.json | 8 +++ lib/main.dart | 7 ++ lib/pages/login.dart | 17 ++--- linux/flutter/generated_plugin_registrant.cc | 4 -- linux/flutter/generated_plugins.cmake | 1 - macos/Flutter/GeneratedPluginRegistrant.swift | 2 - pubspec.lock | 69 ++----------------- pubspec.yaml | 5 +- .../flutter/generated_plugin_registrant.cc | 3 - windows/flutter/generated_plugins.cmake | 1 - 11 files changed, 34 insertions(+), 84 deletions(-) create mode 100644 lib/i18n/en_US.json diff --git a/lib/api/oauth.dart b/lib/api/oauth.dart index 75f4fac..0f5d8da 100644 --- a/lib/api/oauth.dart +++ b/lib/api/oauth.dart @@ -1,6 +1,5 @@ import 'package:http/http.dart' as http; import 'dart:io'; -import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:oauth2/oauth2.dart' as oauth2; diff --git a/lib/i18n/en_US.json b/lib/i18n/en_US.json new file mode 100644 index 0000000..11469c9 --- /dev/null +++ b/lib/i18n/en_US.json @@ -0,0 +1,8 @@ +{ + "greeting": "Hello!", + "user-id-not-valid": "Sorry, this user id doesn't look quite right... ", + "user-id": "user id", + "user-id-example": "user@example.com", + "authorize-in-browser": "authorize in browser" +} + \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index f6c24c3..23fd812 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,8 +1,15 @@ import 'package:flutter/material.dart'; +import 'package:localization/localization.dart'; import 'package:slothmu/partials/main_scaffold.dart'; import 'pages/login.dart'; void main() => runApp(MaterialApp( + supportedLocales: const [ + Locale("en", "US"), + ], + localizationsDelegates: [ + LocalJsonLocalization.delegate, + ], initialRoute: '/login', routes: { '/': (context) => const MainScaffold(), diff --git a/lib/pages/login.dart b/lib/pages/login.dart index efa7f51..3205e75 100644 --- a/lib/pages/login.dart +++ b/lib/pages/login.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:slothmu/api/user.dart'; +import 'package:localization/localization.dart'; class Login extends StatefulWidget { const Login({Key? key}) : super(key: key); @@ -40,18 +41,18 @@ class _LoginFormState extends State { child: Column( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ - const Text("Welcome!", style: TextStyle(fontSize: 64)), + Text("greeting".i18n(), style: const TextStyle(fontSize: 64)), TextFormField( - decoration: const InputDecoration( - labelText: "user id", - hintText: "user@example.com", - icon: Icon(Icons.person), + decoration: InputDecoration( + labelText: "user-id".i18n(), + hintText: "user-id-example".i18n(), + icon: const Icon(Icons.person), prefixText: "@", ), autofocus: true, validator: (value) { if (value!.isEmpty || !isValidUsername(name: value)) { - return "Sorry, this user id doesn't look quite right..."; + return "user-id-not-valid".i18n(); } else { return null; } @@ -61,8 +62,8 @@ class _LoginFormState extends State { onPressed: () { final isValid = formKey.currentState!.validate(); }, - icon: Icon(Icons.login), - label: Text("authorize in browser")) + icon: const Icon(Icons.login), + label: Text("authorize-in-browser".i18n())) ], ), ); diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index d0e7f79..e71a16d 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -6,10 +6,6 @@ #include "generated_plugin_registrant.h" -#include void fl_register_plugins(FlPluginRegistry* registry) { - g_autoptr(FlPluginRegistrar) flutter_secure_storage_linux_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "FlutterSecureStorageLinuxPlugin"); - flutter_secure_storage_linux_plugin_register_with_registrar(flutter_secure_storage_linux_registrar); } diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index b29e9ba..2e1de87 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -3,7 +3,6 @@ # list(APPEND FLUTTER_PLUGIN_LIST - flutter_secure_storage_linux ) list(APPEND FLUTTER_FFI_PLUGIN_LIST diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 25d87cc..cccf817 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -5,8 +5,6 @@ import FlutterMacOS import Foundation -import flutter_secure_storage_macos func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { - FlutterSecureStorageMacosPlugin.register(with: registry.registrar(forPlugin: "FlutterSecureStorageMacosPlugin")) } diff --git a/pubspec.lock b/pubspec.lock index d519adf..4be8afd 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -76,58 +76,11 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.0.1" - flutter_secure_storage: - dependency: "direct main" - description: - name: flutter_secure_storage - url: "https://pub.dartlang.org" - source: hosted - version: "5.0.2" - flutter_secure_storage_linux: - dependency: transitive - description: - name: flutter_secure_storage_linux - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.0" - flutter_secure_storage_macos: - dependency: transitive - description: - name: flutter_secure_storage_macos - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.0" - flutter_secure_storage_platform_interface: - dependency: transitive - description: - name: flutter_secure_storage_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.0" - flutter_secure_storage_web: - dependency: transitive - description: - name: flutter_secure_storage_web - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.2" - flutter_secure_storage_windows: - dependency: transitive - description: - name: flutter_secure_storage_windows - url: "https://pub.dartlang.org" - source: hosted - version: "1.1.2" flutter_test: dependency: "direct dev" description: flutter source: sdk version: "0.0.0" - flutter_web_plugins: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" http: dependency: "direct main" description: @@ -142,13 +95,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "4.0.1" - js: - dependency: transitive - description: - name: js - url: "https://pub.dartlang.org" - source: hosted - version: "0.6.4" lints: dependency: transitive description: @@ -156,6 +102,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.0.0" + localization: + dependency: "direct main" + description: + name: localization + url: "https://pub.dartlang.org" + source: hosted + version: "2.1.0" matcher: dependency: transitive description: @@ -191,13 +144,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.8.1" - plugin_platform_interface: - dependency: transitive - description: - name: plugin_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.2" settings_ui: dependency: "direct main" description: @@ -268,4 +214,3 @@ packages: version: "2.1.2" sdks: dart: ">=2.17.3 <3.0.0" - flutter: ">=2.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index da86607..7bed065 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -37,7 +37,7 @@ dependencies: settings_ui: ^2.0.2 http: ^0.13.4 oauth2: ^2.0.0 - flutter_secure_storage: ^5.0.2 + localization: ^2.1.0 dev_dependencies: flutter_test: @@ -62,7 +62,8 @@ flutter: uses-material-design: true # To add assets to your application, add an assets section, like this: - # assets: + assets: + - lib/i18n/ # - images/a_dot_burr.jpeg # - images/a_dot_ham.jpeg diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index 0c50753..8b6d468 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -6,9 +6,6 @@ #include "generated_plugin_registrant.h" -#include void RegisterPlugins(flutter::PluginRegistry* registry) { - FlutterSecureStorageWindowsPluginRegisterWithRegistrar( - registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin")); } diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index 4fc759c..b93c4c3 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -3,7 +3,6 @@ # list(APPEND FLUTTER_PLUGIN_LIST - flutter_secure_storage_windows ) list(APPEND FLUTTER_FFI_PLUGIN_LIST