diff --git a/Linphone/Localizable.xcstrings b/Linphone/Localizable.xcstrings index e1249f236..2e7e17fc2 100644 --- a/Linphone/Localizable.xcstrings +++ b/Linphone/Localizable.xcstrings @@ -195,15 +195,9 @@ }, "Active" : { - }, - "Add a picture" : { - }, "Add the contact" : { - }, - "Add to favourites" : { - }, "Administrateur" : { @@ -959,9 +953,6 @@ }, "Close" : { - }, - "Company" : { - }, "Conditions de service" : { @@ -1012,6 +1003,12 @@ "state" : "translated", "value" : "Call" } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appel" + } } } }, @@ -1032,6 +1029,102 @@ } } }, + "contact_details_add_to_favourites" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add to favourites" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Ajouter aux favoris" + } + } + } + }, + "contact_details_delete" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Delete" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Supprimer" + } + } + } + }, + "contact_details_edit" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Modifier" + } + } + } + }, + "contact_details_numbers_and_addresses_title" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phone numbers & SIP addresses" + } + }, + "fr" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Numéros de téléphone et adresses SIP" + } + } + } + }, + "contact_details_remove_from_favourites" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Remove from favourites" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Enlever des favoris" + } + } + } + }, + "contact_details_share" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Share" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Partager" + } + } + } + }, "contact_dialog_pick_phone_number_or_sip_address_title" : { "extractionState" : "manual", "localizations" : { @@ -1049,6 +1142,86 @@ } } }, + "contact_edit_title" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit contact" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Modifier contact" + } + } + } + }, + "contact_editor_company" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Company" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Entreprise" + } + } + } + }, + "contact_editor_first_name" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "First name" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Prénom" + } + } + } + }, + "contact_editor_job_title" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Job title" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Poste" + } + } + } + }, + "contact_editor_last_name" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Last name" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nom de famille" + } + } + } + }, "contact_message_action" : { "localizations" : { "en" : { @@ -1065,11 +1238,56 @@ } } }, + "contact_new_title" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "New contact" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Nouveau contact" + } + } + } + }, + "contact_video_call_action" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Video call" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Appel vidéo" + } + } + } + }, "Contacts" : { }, "contacts_list_all_contacts_title" : { - + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "All contacts" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Tous les contacts" + } + } + } }, "contacts_list_empty" : { "extractionState" : "manual", @@ -1088,6 +1306,71 @@ } } }, + "contacts_list_favourites_title" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favourites" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Favoris" + } + } + } + }, + "contacts_list_filter_popup_see_all" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "See all" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voir tous les contacts" + } + } + } + }, + "contacts_list_filter_popup_see_linphone_only" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "See %@ contacts" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Voir les contacts %@" + } + } + } + }, + "content_description_click_for_more_info" : { + "extractionState" : "stale", + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Click to have more information" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Cliquez pour plus d’informations" + } + } + } + }, "Continue" : { "localizations" : { "en" : { @@ -1987,12 +2270,6 @@ } } } - }, - "Copy address" : { - - }, - "Copy number" : { - }, "Could not send ICS invitations to meeting to any participant" : { @@ -2002,18 +2279,12 @@ }, "Default mode" : { - }, - "Delete" : { - }, "Delete %@?" : { }, "Delete all history" : { - }, - "Delete this contact" : { - }, "Deny all" : { @@ -2162,18 +2433,9 @@ }, "Earpiece" : { - }, - "Edit" : { - - }, - "Edit contact" : { - }, "Edit Contact" : { - }, - "Edit picture" : { - }, "En attente d'autres participants..." : { @@ -2195,15 +2457,6 @@ }, "Faire la validation à nouveau" : { - }, - "Favourites" : { - - }, - "First Name" : { - - }, - "First name*" : { - }, "GC_MSG" : { "extractionState" : "manual", @@ -2405,9 +2658,6 @@ } } } - }, - "Information" : { - }, "Interoperable" : { @@ -2420,18 +2670,9 @@ }, "Invalide URI" : { - }, - "Invitation" : { - - }, - "Job title" : { - }, "Joining..." : { - }, - "Last name" : { - }, "list_filter_no_result_found" : { "localizations" : { @@ -2460,6 +2701,54 @@ }, "Logs URL copied into clipboard" : { + }, + "manage_account_add_picture" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Add a picture" + } + }, + "fr" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Ajouter une image" + } + } + } + }, + "manage_account_edit_picture" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Edit picture" + } + }, + "fr" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Modifier l’image" + } + } + } + }, + "manage_account_remove_picture" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Remove picture" + } + }, + "fr" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Enlever l’image" + } + } + } }, "Marquer comme non lu" : { @@ -2806,6 +3095,22 @@ } } }, + "menu_copy_phone_number" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Copy phone number" + } + }, + "fr" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Copier le numéro de téléphone" + } + } + } + }, "menu_copy_sip_address" : { "localizations" : { "en" : { @@ -2871,6 +3176,9 @@ } } } + }, + "menu_invite" : { + }, "menu_reply_to_chat_message" : { "extractionState" : "manual", @@ -2921,9 +3229,6 @@ } } } - }, - "Message" : { - }, "Message copied into clipboard" : { @@ -3070,9 +3375,6 @@ }, "New call" : { - }, - "New contact" : { - }, "new_conversation_create_group" : { "extractionState" : "manual", @@ -3128,9 +3430,6 @@ }, "Opération en cours..." : { - }, - "Other actions" : { - }, "Oui" : { @@ -3184,6 +3483,22 @@ }, "Phone number" : { + }, + "phone_number" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "Phone number" + } + }, + "fr" : { + "stringUnit" : { + "state" : "translated", + "value" : "Numéro de téléphone" + } + } + } }, "QR code validated!" : { @@ -3223,12 +3538,6 @@ } } } - }, - "Remove from favourites" : { - - }, - "Remove picture" : { - }, "Resume" : { @@ -3241,15 +3550,9 @@ }, "Scan QR code" : { - }, - "See all" : { - }, "See contact" : { - }, - "See Linphone contact" : { - }, "Select %@ %@" : { "localizations" : { @@ -3286,18 +3589,25 @@ } } } - }, - "Share" : { - - }, - "SIP address" : { - - }, - "SIP address :" : { - }, "SIP address copied into clipboard" : { + }, + "sip_address" : { + "localizations" : { + "en" : { + "stringUnit" : { + "state" : "translated", + "value" : "SIP Address" + } + }, + "fr" : { + "stringUnit" : { + "state" : "needs_review", + "value" : "Adresse SIP" + } + } + } }, "sip.linphone.org" : { diff --git a/Linphone/UI/Main/Contacts/Fragments/ContactInnerActionsFragment.swift b/Linphone/UI/Main/Contacts/Fragments/ContactInnerActionsFragment.swift index 04fe4b782..dda84c0ab 100644 --- a/Linphone/UI/Main/Contacts/Fragments/ContactInnerActionsFragment.swift +++ b/Linphone/UI/Main/Contacts/Fragments/ContactInnerActionsFragment.swift @@ -41,8 +41,8 @@ struct ContactInnerActionsFragment: View { var body: some View { HStack(alignment: .center) { - Text("Information") - .default_text_style_800(styleSize: 16) + Text("contact_details_numbers_and_addresses_title") + .default_text_style_800(styleSize: 15) Spacer() @@ -69,7 +69,7 @@ struct ContactInnerActionsFragment: View { HStack { HStack { VStack { - Text("SIP address :") + Text(String(localized: "sip_address") + ":") .default_text_style_700(styleSize: 14) .frame(maxWidth: .infinity, alignment: .leading) Text(contactAvatarModel.addresses[index].dropFirst(4)) @@ -204,7 +204,7 @@ struct ContactInnerActionsFragment: View { // TODO Medias Fragment HStack(alignment: .center) { - Text("Other actions") + Text("contact_details_actions_title") .default_text_style_800(styleSize: 16) Spacer() @@ -226,7 +226,7 @@ struct ContactInnerActionsFragment: View { .frame(width: 25, height: 25) .padding(.all, 10) - Text("Edit") + Text("contact_details_edit") .default_text_style(styleSize: 14) .frame(maxWidth: .infinity, alignment: .leading) .lineLimit(1) @@ -250,7 +250,7 @@ struct ContactInnerActionsFragment: View { .frame(width: 25, height: 25) .padding(.all, 10) - Text("Edit") + Text("contact_details_edit") .default_text_style(styleSize: 14) .frame(maxWidth: .infinity, alignment: .leading) .lineLimit(1) @@ -288,8 +288,8 @@ struct ContactInnerActionsFragment: View { .frame(width: 25, height: 25) .padding(.all, 10) Text(contactAvatarModel.friend != nil && contactAvatarModel.friend!.starred == true - ? "Remove from favourites" - : "Add to favourites") + ? "contact_details_remove_from_favourites" + : "contact_details_add_to_favourites") .default_text_style(styleSize: 14) .frame(maxWidth: .infinity, alignment: .leading) .lineLimit(1) @@ -316,7 +316,7 @@ struct ContactInnerActionsFragment: View { .frame(width: 25, height: 25) .padding(.all, 10) - Text("Share") + Text("contact_details_share") .default_text_style(styleSize: 14) .frame(maxWidth: .infinity, alignment: .leading) .lineLimit(1) @@ -343,7 +343,7 @@ struct ContactInnerActionsFragment: View { .frame(width: 25, height: 25) .padding(.all, 10) - Text("Delete this contact") + Text("contact_details_delete") .foregroundStyle(Color.redDanger500) .default_text_style(styleSize: 14) .frame(maxWidth: .infinity, alignment: .leading) diff --git a/Linphone/UI/Main/Contacts/Fragments/ContactInnerFragment.swift b/Linphone/UI/Main/Contacts/Fragments/ContactInnerFragment.swift index c1b97c9e1..af16d0fde 100644 --- a/Linphone/UI/Main/Contacts/Fragments/ContactInnerFragment.swift +++ b/Linphone/UI/Main/Contacts/Fragments/ContactInnerFragment.swift @@ -179,7 +179,7 @@ struct ContactInnerFragment: View { .background(Color.grayMain2c200) .cornerRadius(40) - Text("Appel") + Text("contact_call_action") .default_text_style(styleSize: 14) } }) @@ -211,7 +211,7 @@ struct ContactInnerFragment: View { .background(Color.grayMain2c200) .cornerRadius(40) - Text("Message") + Text("contact_message_action") .default_text_style(styleSize: 14) } }) @@ -243,7 +243,7 @@ struct ContactInnerFragment: View { .background(Color.grayMain2c200) .cornerRadius(40) - Text("Video Call") + Text("contact_video_call_action") .default_text_style(styleSize: 14) } }) diff --git a/Linphone/UI/Main/Contacts/Fragments/ContactListBottomSheet.swift b/Linphone/UI/Main/Contacts/Fragments/ContactListBottomSheet.swift index a103ea00d..96cf01d43 100644 --- a/Linphone/UI/Main/Contacts/Fragments/ContactListBottomSheet.swift +++ b/Linphone/UI/Main/Contacts/Fragments/ContactListBottomSheet.swift @@ -81,7 +81,7 @@ struct ContactListBottomSheet: View { .frame(width: 25, height: 25, alignment: .leading) .padding(.all, 10) Text(contactViewModel.stringToCopy.prefix(4) == "sip:" - ? "Copy address" : "Copy number") + ? "menu_copy_sip_address" : "menu_copy_phone_number") .default_text_style(styleSize: 16) Spacer() } @@ -116,7 +116,7 @@ struct ContactListBottomSheet: View { .foregroundStyle(Color.grayMain2c500) .frame(width: 25, height: 25, alignment: .leading) .padding(.all, 10) - Text("Invitation") + Text("menu_invite") .default_text_style(styleSize: 16) Spacer() } diff --git a/Linphone/UI/Main/Contacts/Fragments/ContactsInnerFragment.swift b/Linphone/UI/Main/Contacts/Fragments/ContactsInnerFragment.swift index 580b37bbb..774d33b1b 100644 --- a/Linphone/UI/Main/Contacts/Fragments/ContactsInnerFragment.swift +++ b/Linphone/UI/Main/Contacts/Fragments/ContactsInnerFragment.swift @@ -35,7 +35,7 @@ struct ContactsInnerFragment: View { VStack(alignment: .leading) { if !contactsManager.avatarListModel.filter({ $0.friend?.starred == true }).isEmpty { HStack(alignment: .center) { - Text("Favourites") + Text("contacts_list_favourites_title") .default_text_style_800(styleSize: 16) Spacer() @@ -66,7 +66,7 @@ struct ContactsInnerFragment: View { } HStack(alignment: .center) { - Text("All contacts") + Text("contacts_list_all_contacts_title") .default_text_style_800(styleSize: 16) Spacer() diff --git a/Linphone/UI/Main/Contacts/Fragments/ContactsListBottomSheet.swift b/Linphone/UI/Main/Contacts/Fragments/ContactsListBottomSheet.swift index f0ca349e9..d63f7c168 100644 --- a/Linphone/UI/Main/Contacts/Fragments/ContactsListBottomSheet.swift +++ b/Linphone/UI/Main/Contacts/Fragments/ContactsListBottomSheet.swift @@ -89,8 +89,8 @@ struct ContactsListBottomSheet: View { .frame(width: 25, height: 25, alignment: .leading) .padding(.all, 10) Text(contactViewModel.selectedFriend != nil && contactViewModel.selectedFriend!.starred == true - ? "Remove from favourites" - : "Add to favourites") + ? "contact_details_add_to_favourites" + : "contact_details_remove_from_favourites") .default_text_style(styleSize: 16) Spacer() } @@ -131,7 +131,7 @@ struct ContactsListBottomSheet: View { .foregroundStyle(Color.grayMain2c500) .frame(width: 25, height: 25, alignment: .leading) .padding(.all, 10) - Text("Share") + Text("contact_details_share") .default_text_style(styleSize: 16) Spacer() } @@ -169,7 +169,7 @@ struct ContactsListBottomSheet: View { .foregroundStyle(Color.redDanger500) .frame(width: 25, height: 25, alignment: .leading) .padding(.all, 10) - Text("Delete") + Text("contact_details_delete") .foregroundStyle(Color.redDanger500) .default_text_style(styleSize: 16) Spacer() diff --git a/Linphone/UI/Main/Contacts/Fragments/EditContactFragment.swift b/Linphone/UI/Main/Contacts/Fragments/EditContactFragment.swift index 79e4e1732..be1d814d1 100644 --- a/Linphone/UI/Main/Contacts/Fragments/EditContactFragment.swift +++ b/Linphone/UI/Main/Contacts/Fragments/EditContactFragment.swift @@ -121,7 +121,7 @@ struct EditContactFragment: View { } } - Text(editContactViewModel.selectedEditFriend == nil ? "New contact" : "Edit contact") + Text(editContactViewModel.selectedEditFriend == nil ? "contact_new_title" : "contact_edit_title") .multilineTextAlignment(.leading) .default_text_style_orange_800(styleSize: 16) @@ -192,7 +192,7 @@ struct EditContactFragment: View { .resizable() .frame(width: 20, height: 20) - Text("Edit picture") + Text("manage_account_edit_picture") .foregroundStyle(Color.grayMain2c700) .multilineTextAlignment(.center) .default_text_style(styleSize: 14) @@ -226,7 +226,7 @@ struct EditContactFragment: View { .resizable() .frame(width: 20, height: 20) - Text("Remove picture") + Text("manage_account_remove_picture") .foregroundStyle(Color.grayMain2c700) .multilineTextAlignment(.center) .default_text_style(styleSize: 14) @@ -245,7 +245,7 @@ struct EditContactFragment: View { .resizable() .frame(width: 20, height: 20) - Text("Add a picture") + Text("manage_account_add_picture") .foregroundStyle(Color.grayMain2c700) .multilineTextAlignment(.center) .default_text_style(styleSize: 14) @@ -276,11 +276,11 @@ struct EditContactFragment: View { .background(Color.gray100) VStack(alignment: .leading) { - Text("First name*") + Text(String(localized: "contact_editor_first_name") + "*") .default_text_style_700(styleSize: 15) .padding(.bottom, -5) - TextField("First Name", text: $editContactViewModel.firstName) + TextField("contact_editor_first_name", text: $editContactViewModel.firstName) .default_text_style(styleSize: 15) .frame(height: 25) .padding(.horizontal, 20) @@ -297,11 +297,11 @@ struct EditContactFragment: View { } VStack(alignment: .leading) { - Text("Last name") + Text("contact_editor_last_name") .default_text_style_700(styleSize: 15) .padding(.bottom, -5) - TextField("Last name", text: $editContactViewModel.lastName) + TextField("contact_editor_last_name", text: $editContactViewModel.lastName) .default_text_style(styleSize: 15) .frame(height: 25) .padding(.horizontal, 20) @@ -318,14 +318,14 @@ struct EditContactFragment: View { } VStack(alignment: .leading) { - Text("SIP address") + Text("sip_address") .default_text_style_700(styleSize: 15) .padding(.bottom, -5) ForEach(0..