Add localizable strings for translation

This commit is contained in:
Benoit Martins 2023-09-26 11:27:01 +02:00
parent 731b6bd66b
commit 392be31c5c
3 changed files with 165 additions and 3 deletions

View file

@ -8,6 +8,7 @@
/* Begin PBXBuildFile section */
2B416B2E7C90375B792A28AE /* Pods_Linphone.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2C08FB4788AD667D35BAE64D /* Pods_Linphone.framework */; };
D70C93DE2AC2D0F60063CA3B /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = D70C93DD2AC2D0F60063CA3B /* Localizable.xcstrings */; };
D719ABB72ABC67BF00B41C10 /* LinphoneApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = D719ABB62ABC67BF00B41C10 /* LinphoneApp.swift */; };
D719ABB92ABC67BF00B41C10 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D719ABB82ABC67BF00B41C10 /* ContentView.swift */; };
D719ABBB2ABC67BF00B41C10 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D719ABBA2ABC67BF00B41C10 /* Assets.xcassets */; };
@ -27,6 +28,7 @@
/* Begin PBXFileReference section */
2C08FB4788AD667D35BAE64D /* Pods_Linphone.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Linphone.framework; sourceTree = BUILT_PRODUCTS_DIR; };
BC39A28B26EDB00C91AB7756 /* Pods-Linphone.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Linphone.release.xcconfig"; path = "Target Support Files/Pods-Linphone/Pods-Linphone.release.xcconfig"; sourceTree = "<group>"; };
D70C93DD2AC2D0F60063CA3B /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = "<group>"; };
D719ABB32ABC67BF00B41C10 /* Linphone.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Linphone.app; sourceTree = BUILT_PRODUCTS_DIR; };
D719ABB62ABC67BF00B41C10 /* LinphoneApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LinphoneApp.swift; sourceTree = "<group>"; };
D719ABB82ABC67BF00B41C10 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
@ -97,14 +99,15 @@
D719ABB52ABC67BF00B41C10 /* Linphone */ = {
isa = PBXGroup;
children = (
D7D24D0C2AC1B4C700C6F35B /* Fonts */,
D7A2EDDA2AC19EEC005D90FC /* Info.plist */,
D719ABC72ABC6FB200B41C10 /* core */,
D719ABC52ABC6EE800B41C10 /* ui */,
D719ABB62ABC67BF00B41C10 /* LinphoneApp.swift */,
D719ABBA2ABC67BF00B41C10 /* Assets.xcassets */,
D719ABBC2ABC67BF00B41C10 /* Linphone.entitlements */,
D7A2EDDA2AC19EEC005D90FC /* Info.plist */,
D70C93DD2AC2D0F60063CA3B /* Localizable.xcstrings */,
D719ABBD2ABC67BF00B41C10 /* Preview Content */,
D7D24D0C2AC1B4C700C6F35B /* Fonts */,
);
path = Linphone;
sourceTree = "<group>";
@ -249,6 +252,7 @@
D719ABBF2ABC67BF00B41C10 /* Preview Assets.xcassets in Resources */,
D719ABBB2ABC67BF00B41C10 /* Assets.xcassets in Resources */,
D7D24D132AC1B4E800C6F35B /* NotoSans-Medium.ttf in Resources */,
D70C93DE2AC2D0F60063CA3B /* Localizable.xcstrings in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View file

@ -0,0 +1,152 @@
{
"sourceLanguage" : "en",
"strings" : {
"" : {
},
"%lld Book (Example)" : {
"extractionState" : "manual",
"localizations" : {
"en" : {
"variations" : {
"plural" : {
"one" : {
"stringUnit" : {
"state" : "needs_review",
"value" : "%lld Book"
}
},
"other" : {
"stringUnit" : {
"state" : "translated",
"value" : "%lld Books"
}
},
"zero" : {
"stringUnit" : {
"state" : "translated",
"value" : "No Book"
}
}
}
}
},
"fr" : {
"variations" : {
"plural" : {
"one" : {
"stringUnit" : {
"state" : "translated",
"value" : "%lld Livre"
}
},
"other" : {
"stringUnit" : {
"state" : "translated",
"value" : "%lld Livres"
}
},
"zero" : {
"stringUnit" : {
"state" : "translated",
"value" : "Pas de Livre"
}
}
}
}
}
}
},
"assistant_account_login" : {
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Login"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "Login en FR"
}
}
}
},
"Core Version is %@" : {
},
"Create & \nlog in account" : {
},
"Domain:" : {
},
"Log out & \ndelete account" : {
},
"Login State : " : {
},
"Looged in" : {
},
"password" : {
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Password"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "Password en FR"
}
}
}
},
"Password:" : {
},
"TCP" : {
},
"TLS" : {
},
"Transport:" : {
},
"UDP" : {
},
"Unregistered" : {
},
"username" : {
"extractionState" : "manual",
"localizations" : {
"en" : {
"stringUnit" : {
"state" : "translated",
"value" : "Username"
}
},
"fr" : {
"stringUnit" : {
"state" : "translated",
"value" : "Username en FR"
}
}
}
},
"Username:" : {
}
},
"version" : "1.0"
}

View file

@ -30,7 +30,7 @@ struct AssistantView: View {
Image("Mountain")
.resizable()
.frame(width: 1084, height: 108)
Text("Login")
Text("assistant_account_login")
.font(Font.custom("Noto Sans", size: 20))
.foregroundColor(.white)
}
@ -99,3 +99,9 @@ struct AssistantView: View {
.padding()
}
}
struct AssistantView_Previews: PreviewProvider {
static var previews: some View {
AssistantView(accountLoginViewModel: AccountLoginViewModel())
}
}