diff --git a/l10n.yaml b/l10n.yaml new file mode 100644 index 0000000..15338f2 --- /dev/null +++ b/l10n.yaml @@ -0,0 +1,3 @@ +arb-dir: lib/l10n +template-arb-file: app_en.arb +output-localization-file: app_localizations.dart diff --git a/lib/l10n/app_en.arb b/lib/l10n/app_en.arb new file mode 100644 index 0000000..1d1c3f9 --- /dev/null +++ b/lib/l10n/app_en.arb @@ -0,0 +1,3 @@ +{ + "mainTitle": "Traccar Client" +} diff --git a/lib/main.dart b/lib/main.dart index 0c60e7f..44a01d8 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,5 +1,7 @@ import 'package:flutter/material.dart'; -import 'package:traccar_client/main_screen.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; + +import 'main_screen.dart'; void main() { runApp(const MainApp()); @@ -11,6 +13,8 @@ class MainApp extends StatelessWidget { @override Widget build(BuildContext context) { return const MaterialApp( + localizationsDelegates: AppLocalizations.localizationsDelegates, + supportedLocales: AppLocalizations.supportedLocales, home: MainScreen(), ); } diff --git a/lib/main_screen.dart b/lib/main_screen.dart index 3b57d41..073996a 100644 --- a/lib/main_screen.dart +++ b/lib/main_screen.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'status_screen.dart'; import 'settings_screen.dart'; @@ -10,7 +11,7 @@ class MainScreen extends StatelessWidget { Widget build(BuildContext context) { return Scaffold( appBar: AppBar( - title: const Text('Main Screen'), + title: Text(AppLocalizations.of(context)!.mainTitle), ), body: SingleChildScrollView( padding: const EdgeInsets.all(16.0), diff --git a/pubspec.lock b/pubspec.lock index ddf37c3..96caf11 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -150,6 +150,11 @@ packages: url: "https://pub.dev" source: hosted version: "5.0.0" + flutter_localizations: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" flutter_test: dependency: "direct dev" description: flutter @@ -160,6 +165,14 @@ packages: description: flutter source: sdk version: "0.0.0" + intl: + dependency: "direct main" + description: + name: intl + sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf + url: "https://pub.dev" + source: hosted + version: "0.19.0" leak_tracker: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 4e2eab2..55fa7ff 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -9,6 +9,9 @@ environment: dependencies: flutter: sdk: flutter + flutter_localizations: + sdk: flutter + intl: any flutter_background_geolocation: ^4.16.9 shared_preferences: ^2.5.3 firebase_core: ^3.13.0 @@ -21,3 +24,4 @@ dev_dependencies: flutter: uses-material-design: true + generate: true