Cw 483 add tagalog and filipino localizations (#1086)

* CW-483 Add "Add new language Script"

* CW-483 Add Filipino Language
This commit is contained in:
Konstantin Ullrich
2023-09-15 00:41:54 +03:00
committed by GitHub
parent d972363417
commit 0eecf0bee5
6 changed files with 750 additions and 11 deletions
+4 -2
View File
@@ -17,7 +17,8 @@ void appendStringToArbFile(String fileName, String name, String text) {
.replaceAll('","', '",\n "')
.replaceAll('{"', '{\n "')
.replaceAll('"}', '"\n}')
.replaceAll('":"', '": "');
.replaceAll('":"', '": "')
.replaceAll('\$ {', '\${');
file.writeAsStringSync(outputContent);
}
@@ -33,7 +34,8 @@ void appendStringsToArbFile(String fileName, Map<String, String> strings) {
.replaceAll('","', '",\n "')
.replaceAll('{"', '{\n "')
.replaceAll('"}', '"\n}')
.replaceAll('":"', '": "');
.replaceAll('":"', '": "')
.replaceAll('\$ {', '\${');
file.writeAsStringSync(outputContent);
}
+14 -6
View File
@@ -18,20 +18,28 @@ Future<void> appendTranslations(String lang, Map<String, String> defaults) async
for (var key in defaults.keys) {
final value = defaults[key]!;
if (value.contains("{")) continue;
final translation = await getTranslation(value, lang);
translations[key] = translation;
}
print(translations);
appendStringsToArbFile(fileName, translations);
}
Future<String> getTranslation(String text, String lang) async {
if (lang == defaultLang) return text;
return (await translator.translate(text, from: defaultLang, to: lang)).text;
}
final regExp = RegExp(r'{(.*?)}');
final placeholder =
regExp.allMatches(text).map((e) => text.substring(e.start, e.end)).toList().asMap();
var translation = (await translator.translate(text, from: defaultLang, to: lang)).text;
placeholder.forEach((index, value) {
final translatedPlaceholder = regExp.allMatches(translation).toList()[index];
translation =
translation.replaceRange(translatedPlaceholder.start, translatedPlaceholder.end, value);
});
return translation;
}
+1 -1
View File
@@ -10,4 +10,4 @@ String normalizeKeyName(String key) {
}
String generateConst(String name, Map<String, dynamic> config) =>
'const $name = \'${config["$name"]}\';\n';
'const $name = \'${config["$name"]}\';\n';