diff --git a/Linphone.xcodeproj/project.pbxproj b/Linphone.xcodeproj/project.pbxproj index c061efe6c..d810a9fc1 100644 --- a/Linphone.xcodeproj/project.pbxproj +++ b/Linphone.xcodeproj/project.pbxproj @@ -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 = ""; }; + D70C93DD2AC2D0F60063CA3B /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = ""; }; 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 = ""; }; D719ABB82ABC67BF00B41C10 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; }; @@ -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 = ""; @@ -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; }; diff --git a/Linphone/Localizable.xcstrings b/Linphone/Localizable.xcstrings new file mode 100644 index 000000000..9bff8abe8 --- /dev/null +++ b/Linphone/Localizable.xcstrings @@ -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" +} \ No newline at end of file diff --git a/Linphone/ui/assistant/AssistantView.swift b/Linphone/ui/assistant/AssistantView.swift index f3d64c140..534a76a32 100644 --- a/Linphone/ui/assistant/AssistantView.swift +++ b/Linphone/ui/assistant/AssistantView.swift @@ -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()) + } +}