From 9bb25a909b5839c52a6ed7c8a7030e459c84b258 Mon Sep 17 00:00:00 2001 From: TwistedTamarin Date: Sat, 15 Feb 2020 14:45:34 +0100 Subject: [PATCH 1/2] prevent data loss. in strings.xml data loss prevention. (settings, facebookIds etc..) In your default lang file add: "protected" : { "exactId": "value" } example: "protected": { "fb_login_protocol_scheme": "xxx", "facebook_app_id": "xxx" } Everything inside protected. will be added as is. thus keeping important strings inside strings.xml --- src/hooks/converter.android.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/hooks/converter.android.ts b/src/hooks/converter.android.ts index 3a23fad..8fc1460 100644 --- a/src/hooks/converter.android.ts +++ b/src/hooks/converter.android.ts @@ -61,10 +61,16 @@ export class ConverterAndroid extends ConverterCommon { const encodedKey = encodeKey(key); const encodedValue = encodeValue(value); encodedI18nEntries.set(encodedKey, encodedValue); - if (key === "app.name") { - encodedI18nEntries.set("app_name", encodedValue); - encodedI18nEntries.set("title_activity_kimera", encodedValue); + if (key.indexOf("protected.") !== -1) { + var pkey = key.replace("protected.", ""); + encodedI18nEntries.set(pkey, encodedValue); } + else if (key === "app.name") { + encodedI18nEntries.set("app_name", encodedValue); + encodedI18nEntries.set("title_activity_kimera", encodedValue); + } + else + encodedI18nEntries.set(encodedKey, encodedValue); }); return encodedI18nEntries; } From 30e15db9784c61deb3fa9afd92352e4d8698e263 Mon Sep 17 00:00:00 2001 From: TwistedTamarin <7046888+TwistedTamarin@users.noreply.github.com> Date: Sat, 15 Feb 2020 18:34:32 +0100 Subject: [PATCH 2/2] Fix for IOS strings in android strings.xml Missed to delete the first encodedI18nEntries.set line. Also added ios plist filter. --- src/hooks/converter.android.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hooks/converter.android.ts b/src/hooks/converter.android.ts index 8fc1460..6cece50 100644 --- a/src/hooks/converter.android.ts +++ b/src/hooks/converter.android.ts @@ -60,11 +60,11 @@ export class ConverterAndroid extends ConverterCommon { i18nEntries.forEach((value, key) => { const encodedKey = encodeKey(key); const encodedValue = encodeValue(value); - encodedI18nEntries.set(encodedKey, encodedValue); if (key.indexOf("protected.") !== -1) { var pkey = key.replace("protected.", ""); encodedI18nEntries.set(pkey, encodedValue); } + else if (key.indexOf("ios.info.plist") !== -1) {/* do nothing */} else if (key === "app.name") { encodedI18nEntries.set("app_name", encodedValue); encodedI18nEntries.set("title_activity_kimera", encodedValue);