diff --git a/CHANGELOG.md b/CHANGELOG.md index b0a20b7..10fd070 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ -## [0.0.1] +## 2.0.0 -- initial release +- **BREAKING**: The local `AssetLoader` class deleted, now using the one from + [easy_localization](https://pub.dev/documentation/easy_localization/latest/easy_localization/AssetLoader-class.html) itself. +- **BREAKING**: Depends on [connectivity_plus](https://pub.dev/packages/connectivity_plus) ^4.0.0 + and [http](https://pub.dev/packages/http) ^1.0.0. +- Const constructors in: + - `FileAssetLoader` + - `HttpAssetLoader` + - `JsonAssetLoader` + - `TestsAssetLoader` + - `XmlAssetLoader` + - `YamlAssetLoader` + +## 0.0.1 + +- Initial release. diff --git a/lib/easy_localization_loader.dart b/lib/easy_localization_loader.dart index 70d7b8e..683b29e 100644 --- a/lib/easy_localization_loader.dart +++ b/lib/easy_localization_loader.dart @@ -1,10 +1,8 @@ -library easy_localization_loader; - +export 'package:easy_localization_loader/src/csv_asset_loader.dart'; export 'package:easy_localization_loader/src/file_asset_loader.dart'; -export 'package:easy_localization_loader/src/json_asset_loader.dart'; export 'package:easy_localization_loader/src/http_asset_loader.dart'; -export 'package:easy_localization_loader/src/csv_asset_loader.dart'; -export 'package:easy_localization_loader/src/yaml_asset_loader.dart'; -export 'package:easy_localization_loader/src/xml_asset_loader.dart'; -export 'package:easy_localization_loader/src/tests_asset_loader.dart'; +export 'package:easy_localization_loader/src/json_asset_loader.dart'; export 'package:easy_localization_loader/src/smart_network_asset_loader.dart'; +export 'package:easy_localization_loader/src/tests_asset_loader.dart'; +export 'package:easy_localization_loader/src/xml_asset_loader.dart'; +export 'package:easy_localization_loader/src/yaml_asset_loader.dart'; diff --git a/lib/src/asset_loader.dart b/lib/src/asset_loader.dart deleted file mode 100644 index 9e6015d..0000000 --- a/lib/src/asset_loader.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'dart:ui'; - -// show AssetLoader; - -abstract class AssetLoader { - const AssetLoader(); - Future> load(String path, Locale locale); -} - -Locale localeFromString(String localeString) { - final localeList = localeString.split('_'); - switch (localeList.length) { - case 2: - return Locale(localeList.first, localeList.last); - case 3: - return Locale.fromSubtags( - languageCode: localeList.first, - scriptCode: localeList[1], - countryCode: localeList.last); - default: - return Locale(localeList.first); - } -} - -String localeToString(Locale locale, {String separator = '_'}) { - return locale.toString().split('_').join(separator); -} diff --git a/lib/src/csv_asset_loader.dart b/lib/src/csv_asset_loader.dart index 7c2c483..612f012 100644 --- a/lib/src/csv_asset_loader.dart +++ b/lib/src/csv_asset_loader.dart @@ -3,10 +3,9 @@ import 'dart:ui'; import 'package:csv/csv.dart'; import 'package:csv/csv_settings_autodetection.dart'; +import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/services.dart'; -import 'asset_loader.dart'; - // // load example/resources/langs/langs.csv // diff --git a/lib/src/file_asset_loader.dart b/lib/src/file_asset_loader.dart index c52989d..8346843 100644 --- a/lib/src/file_asset_loader.dart +++ b/lib/src/file_asset_loader.dart @@ -3,13 +3,11 @@ import 'dart:developer'; import 'dart:io'; import 'dart:ui'; -import 'asset_loader.dart'; +import 'package:easy_localization/easy_localization.dart'; -// -// -// -// class FileAssetLoader extends AssetLoader { + const FileAssetLoader(); + @override Future> load(String path, Locale locale) async { final file = File(path); diff --git a/lib/src/http_asset_loader.dart b/lib/src/http_asset_loader.dart index 6e31e14..1687294 100644 --- a/lib/src/http_asset_loader.dart +++ b/lib/src/http_asset_loader.dart @@ -1,16 +1,13 @@ -// -// -// -// import 'dart:convert'; import 'dart:developer'; import 'dart:ui'; +import 'package:easy_localization/easy_localization.dart'; import 'package:http/http.dart' as http; -import 'asset_loader.dart'; - class HttpAssetLoader extends AssetLoader { + const HttpAssetLoader(); + @override Future> load(String path, Locale locale) async { log('easy localization loader: load http $path'); diff --git a/lib/src/json_asset_loader.dart b/lib/src/json_asset_loader.dart index aee968a..08e1cc5 100644 --- a/lib/src/json_asset_loader.dart +++ b/lib/src/json_asset_loader.dart @@ -2,13 +2,14 @@ import 'dart:convert'; import 'dart:developer'; import 'dart:ui'; +import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/services.dart'; -import 'asset_loader.dart'; - class JsonAssetLoader extends AssetLoader { + const JsonAssetLoader(); + String getLocalePath(String basePath, Locale locale) { - return '$basePath/${localeToString(locale, separator: "-")}.json'; + return '$basePath/${locale.toStringWithSeparator(separator: "-")}.json'; } @override diff --git a/lib/src/smart_network_asset_loader.dart b/lib/src/smart_network_asset_loader.dart index bbe7e0c..315dabe 100644 --- a/lib/src/smart_network_asset_loader.dart +++ b/lib/src/smart_network_asset_loader.dart @@ -2,13 +2,12 @@ import 'dart:convert'; import 'dart:io'; import 'dart:ui'; import 'package:connectivity_plus/connectivity_plus.dart'; +import 'package:easy_localization/easy_localization.dart'; import 'package:http/http.dart' as http; import 'package:path_provider/path_provider.dart' as paths; import 'package:flutter/services.dart'; -import 'asset_loader.dart'; - /// ```dart /// SmartNetworkAssetLoader( /// assetsPath: 'assets/translations', diff --git a/lib/src/tests_asset_loader.dart b/lib/src/tests_asset_loader.dart index f17c1fa..60958da 100644 --- a/lib/src/tests_asset_loader.dart +++ b/lib/src/tests_asset_loader.dart @@ -2,14 +2,15 @@ import 'dart:convert'; import 'dart:ui'; +import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/services.dart'; -import 'asset_loader.dart'; - // asset loader to be used when doing integration tests // default AssetLoader suffers from this issue // https://github.com/flutter/flutter/issues/44182 class TestsAssetLoader extends AssetLoader { + const TestsAssetLoader(); + @override Future> load(String path, Locale locale) async { final byteData = await rootBundle.load(path); diff --git a/lib/src/xml_asset_loader.dart b/lib/src/xml_asset_loader.dart index 68b265b..15f9279 100644 --- a/lib/src/xml_asset_loader.dart +++ b/lib/src/xml_asset_loader.dart @@ -1,15 +1,16 @@ import 'dart:developer'; import 'dart:ui'; +import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/services.dart'; import 'package:xml/xml.dart'; -import 'asset_loader.dart'; - //Loader for multiple xml files class XmlAssetLoader extends AssetLoader { + const XmlAssetLoader(); + String getLocalePath(String basePath, Locale locale) { - return '$basePath/${localeToString(locale, separator: "-")}.xml'; + return '$basePath/${locale.toStringWithSeparator(separator: "-")}.xml'; } @override diff --git a/lib/src/yaml_asset_loader.dart b/lib/src/yaml_asset_loader.dart index 52135b8..a4ddbf2 100644 --- a/lib/src/yaml_asset_loader.dart +++ b/lib/src/yaml_asset_loader.dart @@ -1,15 +1,16 @@ import 'dart:developer'; import 'dart:ui'; +import 'package:easy_localization/easy_localization.dart'; import 'package:flutter/services.dart'; import 'package:yaml/yaml.dart'; -import 'asset_loader.dart'; - //Loader for multiple yaml files class YamlAssetLoader extends AssetLoader { + const YamlAssetLoader(); + String getLocalePath(String basePath, Locale locale) { - return '$basePath/${localeToString(locale, separator: "-")}.yaml'; + return '$basePath/${locale.toStringWithSeparator(separator: "-")}.yaml'; } @override diff --git a/pubspec.yaml b/pubspec.yaml index 32a118c..810fa34 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,22 +4,21 @@ description: Easy Localization Loader custom assets loaders for easy_localizatio homepage: https://github.com/aissat/easy_localization_loader issue_tracker: https://github.com/aissat/easy_localization_loader/issues -version: 1.0.1+1 +version: 2.0.0 environment: - sdk: '>=2.12.0-0 <3.0.0' + sdk: '>=2.12.0 <4.0.0' dependencies: - http: ^0.13.5 + connectivity_plus: ^4.0.0 csv: ^5.0.1 - yaml: ^3.1.1 - xml: ^6.1.0 - flutter: - sdk: flutter - connectivity_plus: ^2.3.7 + easy_localization: ^3.0.2 + flutter: { sdk: flutter } + http: ^1.0.0 path_provider: ^2.0.11 + xml: ^6.1.0 + yaml: ^3.1.1 dev_dependencies: pedantic: ^1.11.1 test: ^1.21.6 -