diff --git a/Linphone/Localizable.xcstrings b/Linphone/Localizable.xcstrings
index 04a476a8a..e1249f236 100644
--- a/Linphone/Localizable.xcstrings
+++ b/Linphone/Localizable.xcstrings
@@ -198,9 +198,6 @@
},
"Add a picture" : {
- },
- "Add participants" : {
-
},
"Add the contact" : {
@@ -1070,6 +1067,9 @@
},
"Contacts" : {
+ },
+ "contacts_list_all_contacts_title" : {
+
},
"contacts_list_empty" : {
"extractionState" : "manual",
@@ -1188,6 +1188,9 @@
}
}
}
+ },
+ "conversation_add_participants_title" : {
+
},
"conversation_composing_label_multiple" : {
"extractionState" : "manual",
@@ -1990,9 +1993,6 @@
},
"Copy number" : {
- },
- "Copy SIP address" : {
-
},
"Could not send ICS invitations to meeting to any participant" : {
@@ -2023,6 +2023,9 @@
},
"Dialer" : {
+ },
+ "dialog_cancel" : {
+
},
"Display Name" : {
@@ -2218,6 +2221,9 @@
}
}
}
+ },
+ "generic_address_picker_suggestions_list_title" : {
+
},
"Hang up call" : {
@@ -2426,9 +2432,6 @@
},
"Last name" : {
- },
- "Linphone" : {
-
},
"list_filter_no_result_found" : {
"localizations" : {
@@ -3087,6 +3090,9 @@
}
}
}
+ },
+ "new_conversation_search_bar_filter_hint" : {
+
},
"new_conversation_title" : {
"extractionState" : "manual",
@@ -3119,9 +3125,6 @@
},
"Ok" : {
- },
- "Open source" : {
-
},
"Opération en cours..." : {
@@ -3238,12 +3241,6 @@
},
"Scan QR code" : {
- },
- "Search contact" : {
-
- },
- "Sécurisé" : {
-
},
"See all" : {
@@ -3343,9 +3340,6 @@
},
"TLS" : {
- },
- "to Linphone" : {
-
},
"Transfer" : {
@@ -3364,12 +3358,6 @@
},
"Unable to retrieve configuration, invalid address" : {
- },
- "Une application de communication **sécurisée**, **open source** et **française**." : {
-
- },
- "Une application open source et un **service gratuit** depuis **2001**." : {
-
},
"Use a SIP account" : {
@@ -3403,11 +3391,117 @@
"Video Call" : {
},
- "Vos communications sont en sécurité grâce aux **Chiffrement de bout en bout**." : {
-
+ "welcome_page_1_message" : {
+ "localizations" : {
+ "en" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "A **secured**, **open source** and **French** communication app."
+ }
+ },
+ "fr" : {
+ "stringUnit" : {
+ "state" : "needs_review",
+ "value" : "Une application de communication **sécurisée**, **open source** et **française**."
+ }
+ }
+ }
},
- "Welcome" : {
-
+ "welcome_page_2_message" : {
+ "localizations" : {
+ "en" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "Your communications are safe thanks to our end-to-end encryption."
+ }
+ },
+ "fr" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "Vos communications sont en sécurité grâce au **chiffrement de bout en bout**."
+ }
+ }
+ }
+ },
+ "welcome_page_2_title" : {
+ "localizations" : {
+ "en" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "Secured"
+ }
+ },
+ "fr" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "Sécurisé"
+ }
+ }
+ }
+ },
+ "welcome_page_3_message" : {
+ "localizations" : {
+ "en" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "A free and open source application since 2001."
+ }
+ },
+ "fr" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "Une application open source et un **service gratuit** depuis **2001**."
+ }
+ }
+ }
+ },
+ "welcome_page_3_title" : {
+ "localizations" : {
+ "en" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "Open source"
+ }
+ },
+ "fr" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "Open source"
+ }
+ }
+ }
+ },
+ "welcome_page_subtitle" : {
+ "localizations" : {
+ "en" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "in %@"
+ }
+ },
+ "fr" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "sur %@"
+ }
+ }
+ }
+ },
+ "welcome_page_title" : {
+ "localizations" : {
+ "en" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "Welcome"
+ }
+ },
+ "fr" : {
+ "stringUnit" : {
+ "state" : "translated",
+ "value" : "Bienvenue"
+ }
+ }
+ }
},
"You will change this mode later" : {
diff --git a/Linphone/UI/Main/History/Fragments/HistoryListBottomSheet.swift b/Linphone/UI/Main/History/Fragments/HistoryListBottomSheet.swift
index 19705fcd4..0c3a0c8ea 100644
--- a/Linphone/UI/Main/History/Fragments/HistoryListBottomSheet.swift
+++ b/Linphone/UI/Main/History/Fragments/HistoryListBottomSheet.swift
@@ -166,7 +166,7 @@ struct HistoryListBottomSheet: View {
.foregroundStyle(Color.grayMain2c500)
.frame(width: 25, height: 25, alignment: .leading)
.padding(.all, 10)
- Text("Copy SIP address")
+ Text("menu_copy_sip_address")
.default_text_style(styleSize: 16)
Spacer()
}
@@ -204,7 +204,7 @@ struct HistoryListBottomSheet: View {
.foregroundStyle(Color.redDanger500)
.frame(width: 25, height: 25, alignment: .leading)
.padding(.all, 10)
- Text("Delete")
+ Text("menu_delete_selected_item")
.foregroundStyle(Color.redDanger500)
.default_text_style(styleSize: 16)
Spacer()
diff --git a/Linphone/UI/Main/History/Fragments/StartCallFragment.swift b/Linphone/UI/Main/History/Fragments/StartCallFragment.swift
index e15c6f520..6f9329112 100644
--- a/Linphone/UI/Main/History/Fragments/StartCallFragment.swift
+++ b/Linphone/UI/Main/History/Fragments/StartCallFragment.swift
@@ -209,7 +209,7 @@ struct StartCallFragment: View {
ScrollView {
if !ContactsManager.shared.lastSearch.isEmpty {
HStack(alignment: .center) {
- Text("All contacts")
+ Text("contacts_list_all_contacts_title")
.default_text_style_800(styleSize: 16)
Spacer()
@@ -270,7 +270,7 @@ struct StartCallFragment: View {
if !contactsManager.lastSearchSuggestions.isEmpty {
HStack(alignment: .center) {
- Text("Suggestions")
+ Text("generic_address_picker_suggestions_list_title")
.default_text_style_800(styleSize: 16)
Spacer()
@@ -433,7 +433,7 @@ struct StartCallFragment: View {
Button(action: {
startCallViewModel.participants.removeAll()
}, label: {
- Text("Cancel")
+ Text("dialog_cancel")
.default_text_style_orange_600(styleSize: 20)
.frame(height: 35)
.frame(maxWidth: .infinity)
diff --git a/Linphone/UI/Main/Meetings/Fragments/AddParticipantsFragment.swift b/Linphone/UI/Main/Meetings/Fragments/AddParticipantsFragment.swift
index 6d45dc1cc..70e35625b 100644
--- a/Linphone/UI/Main/Meetings/Fragments/AddParticipantsFragment.swift
+++ b/Linphone/UI/Main/Meetings/Fragments/AddParticipantsFragment.swift
@@ -65,7 +65,7 @@ struct AddParticipantsFragment: View {
}
VStack(alignment: .leading, spacing: 3) {
- Text("Add participants")
+ Text("conversation_add_participants_title")
.multilineTextAlignment(.leading)
.default_text_style_orange_800(styleSize: 16)
.padding(.top, 20)
@@ -106,7 +106,7 @@ struct AddParticipantsFragment: View {
.padding(.leading, 16)
ZStack(alignment: .trailing) {
- TextField("Search contact", text: $addParticipantsViewModel.searchField)
+ TextField("new_conversation_search_bar_filter_hint", text: $addParticipantsViewModel.searchField)
.default_text_style(styleSize: 15)
.frame(height: 25)
.focused($isSearchFieldFocused)
diff --git a/Linphone/UI/Welcome/Fragments/WelcomePage1Fragment.swift b/Linphone/UI/Welcome/Fragments/WelcomePage1Fragment.swift
index aabdc6503..ad318341f 100644
--- a/Linphone/UI/Welcome/Fragments/WelcomePage1Fragment.swift
+++ b/Linphone/UI/Welcome/Fragments/WelcomePage1Fragment.swift
@@ -31,10 +31,10 @@ struct WelcomePage1Fragment: View {
.resizable()
.foregroundStyle(Color.orangeMain500)
.frame(width: 100, height: 100)
- Text("Linphone")
+ Text(Bundle.main.displayName)
.welcome_text_style_gray_800(styleSize: 30)
.padding(.bottom, 20)
- Text("Une application de communication **sécurisée**, **open source** et **française**.")
+ Text("welcome_page_1_message")
.welcome_text_style_gray(styleSize: 15)
.multilineTextAlignment(.center)
diff --git a/Linphone/UI/Welcome/Fragments/WelcomePage2Fragment.swift b/Linphone/UI/Welcome/Fragments/WelcomePage2Fragment.swift
index b8cb97f3f..0671ad332 100644
--- a/Linphone/UI/Welcome/Fragments/WelcomePage2Fragment.swift
+++ b/Linphone/UI/Welcome/Fragments/WelcomePage2Fragment.swift
@@ -31,10 +31,10 @@ struct WelcomePage2Fragment: View {
.resizable()
.foregroundStyle(Color.orangeMain500)
.frame(width: 70, height: 100)
- Text("Sécurisé")
+ Text("welcome_page_2_title")
.welcome_text_style_gray_800(styleSize: 30)
.padding(.bottom, 20)
- Text("Vos communications sont en sécurité grâce aux **Chiffrement de bout en bout**.")
+ Text("welcome_page_2_message")
.welcome_text_style_gray(styleSize: 15)
.multilineTextAlignment(.center)
diff --git a/Linphone/UI/Welcome/Fragments/WelcomePage3Fragment.swift b/Linphone/UI/Welcome/Fragments/WelcomePage3Fragment.swift
index 1f9256037..6dd0f61c4 100644
--- a/Linphone/UI/Welcome/Fragments/WelcomePage3Fragment.swift
+++ b/Linphone/UI/Welcome/Fragments/WelcomePage3Fragment.swift
@@ -31,10 +31,10 @@ struct WelcomePage3Fragment: View {
.resizable()
.foregroundStyle(Color.orangeMain500)
.frame(width: 100, height: 100)
- Text("Open source")
+ Text("welcome_page_3_title")
.welcome_text_style_gray_800(styleSize: 30)
.padding(.bottom, 20)
- Text("Une application open source et un **service gratuit** depuis **2001**.")
+ Text("welcome_page_3_message")
.welcome_text_style_gray(styleSize: 15)
.multilineTextAlignment(.center)
diff --git a/Linphone/UI/Welcome/WelcomeView.swift b/Linphone/UI/Welcome/WelcomeView.swift
index a5d341422..76cb01ae5 100644
--- a/Linphone/UI/Welcome/WelcomeView.swift
+++ b/Linphone/UI/Welcome/WelcomeView.swift
@@ -53,12 +53,12 @@ struct WelcomeView: View {
self.index = 2
}
)
- Text("Welcome")
+ Text("welcome_page_title")
.welcome_text_style_white_800(styleSize: 35)
.padding(.trailing, 100)
.frame(width: geometry.size.width)
.padding(.bottom, -25)
- Text("to Linphone")
+ Text(String(format: String(localized: "welcome_page_subtitle"), Bundle.main.displayName))
.welcome_text_style_white_800(styleSize: 25)
.padding(.leading, 100)
.frame(width: geometry.size.width)