diff --git a/lib/strings.dart b/lib/strings.dart index c5fa81d..a401718 100644 --- a/lib/strings.dart +++ b/lib/strings.dart @@ -10,18 +10,18 @@ class StringsLocalization { static Future load(String l) async { localeCode = l; - var document = xml.parse(await loadStrings(l)); - strings.clear(); - document.findAllElements('string').forEach((node) { + await rootBundle.loadString('assets/values-$localeCode/strings.xml').then((content) { + content.replaceAll('=\"', '=\\"'); + content.replaceAll('\">', '\\">"'); + var document = xml.parse(content); + strings.clear(); + document.findAllElements('string').forEach((node) { strings[node.attributes[0].value] = node.text.toString(); + }); }); return strings; } - static Future loadStrings(String locale) async { - return await rootBundle.loadString('assets/values-$locale/strings.xml'); - } - static String declineCurrency(int num, int code) { int residual = num % 100; if (residual >= 20) { diff --git a/pubspec.lock b/pubspec.lock index c7328ee..dba21b1 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -150,6 +150,6 @@ packages: name: xml url: "https://pub.dartlang.org" source: hosted - version: "2.6.0" + version: "3.0.0" sdks: dart: ">=2.0.0-dev.23.0 <=2.0.0-edge.0d5cf900b021bf5c9fa593ffa12b15bcd1cc5fe0" diff --git a/pubspec.yaml b/pubspec.yaml index fdccaa0..130c1d1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -7,7 +7,7 @@ dependencies: path_provider: "^0.2.1+1" sqflite: any image_picker: '^0.1.3' # use for ask permissions @ iOS - xml: "^2.6.0" + xml: "^3.0.0" flutter: sdk: flutter @@ -35,7 +35,7 @@ flutter: - assets/pip_splash.png - assets/dinect_splash.png - assets/crypto_splash.png - + - assets/settings.png - assets/settings_arrow.png - assets/help.png