Commit a41e8c9

derdilla <derdilla06@gmail.com>
2023-06-09 15:50:05
add localization infrastructure
1 parent b29a7cb
lib/l10n/app_de.arb
@@ -0,0 +1,3 @@
+{
+  "title": "Blutdruck app"
+}
\ No newline at end of file
lib/l10n/app_en.arb
@@ -0,0 +1,3 @@
+{
+  "title": "Blood Pressure App"
+}
\ No newline at end of file
lib/main.dart
@@ -2,6 +2,8 @@ import 'package:blood_pressure_app/model/blood_pressure.dart';
 import 'package:blood_pressure_app/model/settings_store.dart';
 import 'package:blood_pressure_app/screens/home.dart';
 import 'package:flutter/material.dart';
+import 'package:flutter_gen/gen_l10n/app_localizations.dart';
+import 'package:flutter_localizations/flutter_localizations.dart';
 import 'package:provider/provider.dart';
 
 void main() async {
@@ -33,6 +35,7 @@ class AppRoot extends StatelessWidget {
 
       return MaterialApp(
         title: 'Blood Pressure App',
+        onGenerateTitle: (context) => AppLocalizations.of(context)?.title ?? 'BLOOD PRESSURE APP',
         theme: ThemeData(primaryColor: settings.accentColor),
         darkTheme: ThemeData(
           brightness: Brightness.dark,
@@ -40,6 +43,16 @@ class AppRoot extends StatelessWidget {
           primaryColor: settings.accentColor.shade400,
         ),
         themeMode: mode,
+        localizationsDelegates: const [
+          AppLocalizations.delegate,
+          GlobalMaterialLocalizations.delegate,
+          GlobalWidgetsLocalizations.delegate,
+          GlobalCupertinoLocalizations.delegate,
+        ],
+        supportedLocales: const [
+          Locale('en'), // English
+          Locale('de'), // German
+        ],
         home: const AppHome(),
       );
     });
l10n.yaml
@@ -0,0 +1,3 @@
+arb-dir: lib/l10n
+template-arb-file: app_en.arb
+output-localization-file: app_localizations.dart
\ No newline at end of file
pubspec.lock
@@ -89,6 +89,14 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "1.3.0"
+  charcode:
+    dependency: transitive
+    description:
+      name: charcode
+      sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306
+      url: "https://pub.dev"
+    source: hosted
+    version: "1.3.1"
   clock:
     dependency: transitive
     description:
@@ -157,10 +165,10 @@ packages:
     dependency: transitive
     description:
       name: dom_tools
-      sha256: "55f1a0d30e2bb51fed0d0354514546d3f967bf0781a1f8562646b82a4da14c81"
+      sha256: "275e169f965f34fda5097cf68b72416b2736b7f57ecf97af8aaf7f0634624bec"
       url: "https://pub.dev"
     source: hosted
-    version: "2.1.17"
+    version: "2.1.15"
   enum_to_string:
     dependency: transitive
     description:
@@ -246,6 +254,11 @@ packages:
       url: "https://pub.dev"
     source: hosted
     version: "2.0.1"
+  flutter_localizations:
+    dependency: "direct main"
+    description: flutter
+    source: sdk
+    version: "0.0.0"
   flutter_material_color_picker:
     dependency: "direct main"
     description:
@@ -300,10 +313,10 @@ packages:
     dependency: "direct main"
     description:
       name: intl
-      sha256: "3bc132a9dbce73a7e4a21a17d06e1878839ffbf975568bc875c60537824b0c4d"
+      sha256: a3715e3bc90294e971cb7dc063fbf3cd9ee0ebf8604ffeafabd9e6f16abbdbe6
       url: "https://pub.dev"
     source: hosted
-    version: "0.18.1"
+    version: "0.18.0"
   js:
     dependency: transitive
     description:
@@ -340,10 +353,10 @@ packages:
     dependency: transitive
     description:
       name: markdown
-      sha256: c2b81e184067b41d0264d514f7cdaa2c02d38511e39d6521a1ccc238f6d7b3f2
+      sha256: "39caf989ccc72c63e87b961851a74257141938599ed2db45fbd9403fee0db423"
       url: "https://pub.dev"
     source: hosted
-    version: "6.0.1"
+    version: "5.0.0"
   matcher:
     dependency: transitive
     description:
pubspec.yaml
@@ -30,11 +30,13 @@ environment:
 dependencies:
   flutter:
     sdk: flutter
+  flutter_localizations:
+    sdk: flutter
   provider: ^6.0.0  # MIT
   sqflite:  # BSD-2-Clause
   path:  # BSD-3-Clause
 
-  intl: ^0.18.1  # BSD-3-Clause
+  intl: any  # BSD-3-Clause
   fl_chart: ^0.62.0  # MIT
   file_saver: ^0.2.1  # BSD-3-Clause
   share_plus: ^7.0.1  # BSD-3-Clause
@@ -69,22 +71,5 @@ flutter:
   # the material Icons class.
   uses-material-design: true
 
-  # To add custom fonts to your application, add a fonts section here,
-  # in this "flutter" section. Each entry in this list should have a
-  # "family" key with the font family name, and a "fonts" key with a
-  # list giving the asset and other descriptors for the font. For
-  # example:
-  # fonts:
-  #   - family: Schyler
-  #     fonts:
-  #       - asset: fonts/Schyler-Regular.ttf
-  #       - asset: fonts/Schyler-Italic.ttf
-  #         style: italic
-  #   - family: Trajan Pro
-  #     fonts:
-  #       - asset: fonts/TrajanPro.ttf
-  #       - asset: fonts/TrajanPro_Bold.ttf
-  #         weight: 700
-  #
-  # For details regarding fonts from package dependencies,
-  # see https://flutter.dev/custom-fonts/#from-packages
+  generate: true
+