Renamed & moved around some strings

This commit is contained in:
Sylvain Berfini 2024-06-06 10:45:12 +02:00
parent 896b621545
commit ef9339e912
33 changed files with 260 additions and 161 deletions

View file

@ -155,7 +155,7 @@ class CoreContext @UiThread constructor(val context: Context) : HandlerThread("C
showGreenToastEvent.postValue(
Event(
Pair(
org.linphone.R.string.toast_remote_provisioning_config_applied,
org.linphone.R.string.remote_provisioning_config_applied_toast,
org.linphone.R.drawable.smiley
)
)
@ -164,7 +164,7 @@ class CoreContext @UiThread constructor(val context: Context) : HandlerThread("C
showRedToastEvent.postValue(
Event(
Pair(
org.linphone.R.string.toast_remote_provisioning_config_failed,
org.linphone.R.string.remote_provisioning_config_failed_toast,
org.linphone.R.drawable.warning_circle
)
)
@ -237,7 +237,7 @@ class CoreContext @UiThread constructor(val context: Context) : HandlerThread("C
if (state == Call.State.Connected) {
val icon = org.linphone.R.drawable.phone_transfer
showGreenToastEvent.postValue(
Event(Pair(org.linphone.R.string.toast_call_transfer_successful, icon))
Event(Pair(org.linphone.R.string.call_transfer_successful_toast, icon))
)
}
}

View file

@ -86,7 +86,7 @@ class QrCodeScannerFragment : GenericFragment() {
it.consume { isValid ->
if (!isValid) {
(requireActivity() as GenericActivity).showRedToast(
getString(R.string.toast_assistant_qr_code_invalid),
getString(R.string.assistant_qr_code_invalid_toast),
R.drawable.warning_circle
)
} else {

View file

@ -205,7 +205,7 @@ class CallActivity : GenericActivity() {
callViewModel.transferInProgressEvent.observe(this) {
it.consume {
showGreenToast(
getString(R.string.toast_call_transfer_in_progress),
getString(R.string.call_transfer_in_progress_toast),
R.drawable.phone_transfer
)
}
@ -214,7 +214,7 @@ class CallActivity : GenericActivity() {
callViewModel.transferFailedEvent.observe(this) {
it.consume {
showRedToast(
getString(R.string.toast_call_transfer_failed),
getString(R.string.call_transfer_failed_toast),
R.drawable.warning_circle
)
}

View file

@ -244,7 +244,7 @@ class ActiveCallFragment : GenericCallFragment() {
if (verified) {
(requireActivity() as GenericActivity).showBlueToast(
getString(R.string.toast_call_can_be_trusted),
getString(R.string.call_can_be_trusted_toast),
R.drawable.trusted,
doNotTint = true
)

View file

@ -265,7 +265,7 @@ class ConversationFragment : GenericCallFragment() {
(view.parent as? ViewGroup)?.doOnPreDraw {
Log.e("$TAG Failed to find conversation, going back")
findNavController().popBackStack()
val message = getString(R.string.toast_cant_find_conversation_to_display)
val message = getString(R.string.conversation_to_display_no_found_toast)
(requireActivity() as GenericActivity).showRedToast(
message,
R.drawable.warning_circle

View file

@ -833,6 +833,7 @@ class CurrentCallViewModel @UiThread constructor() : GenericViewModel() {
Log.e(
"$TAG Account is in secure mode, can't chat with SIP address of different domain [${remote.asStringUriOnly()}]"
)
// TODO: show error
return@postOnCoreThread
}

View file

@ -189,7 +189,7 @@ class MediaViewerActivity : GenericActivity() {
"$TAG File [$filePath] has been successfully exported to MediaStore"
)
val message = AppUtils.getString(
R.string.toast_file_successfully_exported_to_media_store
R.string.file_successfully_exported_to_media_store_toast
)
showGreenToast(
message,
@ -200,7 +200,7 @@ class MediaViewerActivity : GenericActivity() {
"$TAG Failed to export file [$filePath] to MediaStore!"
)
val message = AppUtils.getString(
R.string.toast_export_file_to_media_store_error
R.string.export_file_to_media_store_error_toast
)
showRedToast(
message,

View file

@ -235,7 +235,7 @@ class FileViewModel @UiThread constructor() : GenericViewModel() {
showGreenToastEvent.postValue(
Event(
Pair(
R.string.toast_file_successfully_exported_to_documents,
R.string.file_successfully_exported_to_documents_toast,
R.drawable.check
)
)
@ -245,7 +245,7 @@ class FileViewModel @UiThread constructor() : GenericViewModel() {
showRedToastEvent.postValue(
Event(
Pair(
R.string.toast_export_file_to_documents_error,
R.string.export_file_to_documents_error_toast,
R.drawable.warning_circle
)
)
@ -268,7 +268,7 @@ class FileViewModel @UiThread constructor() : GenericViewModel() {
showGreenToastEvent.postValue(
Event(
Pair(
R.string.toast_file_successfully_exported_to_documents,
R.string.file_successfully_exported_to_documents_toast,
R.drawable.check
)
)
@ -278,7 +278,7 @@ class FileViewModel @UiThread constructor() : GenericViewModel() {
showRedToastEvent.postValue(
Event(
Pair(
R.string.toast_export_file_to_documents_error,
R.string.export_file_to_documents_error_toast,
R.drawable.warning_circle
)
)

View file

@ -179,7 +179,7 @@ class MainActivity : GenericActivity() {
// First remove any already existing connection error toast
removePersistentRedToast(tag)
val message = getString(R.string.toast_default_account_connection_state_error)
val message = getString(R.string.default_account_connection_state_error_toast)
showPersistentRedToast(message, R.drawable.warning_circle, tag)
} else {
removePersistentRedToast(tag)
@ -189,7 +189,7 @@ class MainActivity : GenericActivity() {
viewModel.showNewAccountToastEvent.observe(this) {
it.consume {
val message = getString(R.string.toast_new_account_configured)
val message = getString(R.string.new_account_configured_toast)
showGreenToast(message, R.drawable.user_circle)
}
}

View file

@ -164,7 +164,7 @@ class ConversationDocumentsListFragment : SlidingPaneChildFragment() {
} catch (anfe: ActivityNotFoundException) {
Log.e("$TAG Can't open file [$path] in third party app: $anfe")
val message = getString(
R.string.toast_no_app_registered_to_handle_content_type_error
R.string.conversation_no_app_registered_to_handle_content_type_error_toast
)
val icon = R.drawable.file
(requireActivity() as GenericActivity).showRedToast(message, icon)

View file

@ -422,7 +422,7 @@ class ConversationFragment : SlidingPaneChildFragment() {
(view.parent as? ViewGroup)?.doOnPreDraw {
Log.e("$TAG Failed to find conversation, going back")
goBack()
val message = getString(R.string.toast_cant_find_conversation_to_display)
val message = getString(R.string.conversation_to_display_no_found_toast)
(requireActivity() as GenericActivity).showRedToast(
message,
R.drawable.warning_circle
@ -1329,7 +1329,7 @@ class ConversationFragment : SlidingPaneChildFragment() {
} catch (anfe: ActivityNotFoundException) {
Log.e("$TAG Can't open file [$path] in third party app: $anfe")
val message = getString(
R.string.toast_no_app_registered_to_handle_content_type_error
R.string.conversation_no_app_registered_to_handle_content_type_error_toast
)
val icon = R.drawable.file
(requireActivity() as MainActivity).showRedToast(message, icon)

View file

@ -118,7 +118,7 @@ class ConversationInfoFragment : SlidingPaneChildFragment() {
(view.parent as? ViewGroup)?.doOnPreDraw {
Log.e("$TAG Failed to find conversation, going back")
goBack()
val message = getString(R.string.toast_cant_find_conversation_to_display)
val message = getString(R.string.conversation_to_display_no_found_toast)
(requireActivity() as GenericActivity).showRedToast(
message,
R.drawable.warning_circle
@ -138,7 +138,7 @@ class ConversationInfoFragment : SlidingPaneChildFragment() {
Log.i("$TAG Group has been left, leaving conversation info...")
sharedViewModel.forceRefreshConversationInfo.value = Event(true)
goBack()
val message = getString(R.string.toast_group_conversation_left)
val message = getString(R.string.conversation_group_left_toast)
(requireActivity() as GenericActivity).showGreenToast(
message,
R.drawable.chat_teardrop_text
@ -258,7 +258,9 @@ class ConversationInfoFragment : SlidingPaneChildFragment() {
sharedViewModel.showContactEvent.value = Event(refKey)
} else {
Log.e("$TAG Can't go to contact page, friend ref key is null or empty!")
val message = getString(R.string.toast_cant_find_contact_to_display)
val message = getString(
R.string.conversation_info_cant_find_contact_to_display_toast
)
(requireActivity() as GenericActivity).showRedToast(
message,
R.drawable.warning_circle
@ -275,7 +277,9 @@ class ConversationInfoFragment : SlidingPaneChildFragment() {
sharedViewModel.showNewContactEvent.value = Event(true)
} else {
Log.e("$TAG Can't add empty/null SIP URI to contacts!")
val message = getString(R.string.toast_no_address_to_add_to_contact)
val message = getString(
R.string.conversation_info_no_address_to_add_to_contact_toast
)
(requireActivity() as GenericActivity).showRedToast(
message,
R.drawable.warning_circle
@ -347,7 +351,9 @@ class ConversationInfoFragment : SlidingPaneChildFragment() {
sharedViewModel.showContactEvent.value = Event(friendRefKey)
} else {
Log.e("$TAG Can't go to contact page, friend ref key is null or empty!")
val message = getString(R.string.toast_cant_find_contact_to_display)
val message = getString(
R.string.conversation_info_cant_find_contact_to_display_toast
)
(requireActivity() as GenericActivity).showRedToast(
message,
R.drawable.warning_circle
@ -365,7 +371,9 @@ class ConversationInfoFragment : SlidingPaneChildFragment() {
sharedViewModel.showNewContactEvent.value = Event(true)
} else {
Log.e("$TAG Can't add empty/null SIP URI to contacts!")
val message = getString(R.string.toast_no_address_to_add_to_contact)
val message = getString(
R.string.conversation_info_no_address_to_add_to_contact_toast
)
(requireActivity() as GenericActivity).showRedToast(
message,
R.drawable.warning_circle

View file

@ -193,7 +193,7 @@ class ConversationMediaListFragment : SlidingPaneChildFragment() {
} catch (anfe: ActivityNotFoundException) {
Log.e("$TAG Can't open file [$path] in third party app: $anfe")
val message = getString(
R.string.toast_no_app_registered_to_handle_content_type_error
R.string.conversation_no_app_registered_to_handle_content_type_error_toast
)
val icon = R.drawable.file
(requireActivity() as GenericActivity).showRedToast(message, icon)

View file

@ -257,7 +257,9 @@ class ConversationsListFragment : AbstractMainFragment() {
sharedViewModel.messageToForwardEvent.observe(viewLifecycleOwner) { event ->
if (!event.consumed()) {
// Do not consume it yet
val message = getString(R.string.toast_message_waiting_to_be_forwarded)
val message = getString(
R.string.conversations_message_waiting_to_be_forwarded_toast
)
val icon = R.drawable.forward
(requireActivity() as GenericActivity).showGreenToast(message, icon)
Log.i("$TAG Found a message waiting to be forwarded")
@ -268,7 +270,7 @@ class ConversationsListFragment : AbstractMainFragment() {
val count = filesToShare.size
if (count > 0) {
val message = AppUtils.getStringWithPlural(
R.plurals.toast_files_waiting_to_be_shared,
R.plurals.conversations_files_waiting_to_be_shared_toast,
count,
filesToShare.size.toString()
)
@ -280,7 +282,7 @@ class ConversationsListFragment : AbstractMainFragment() {
sharedViewModel.textToShareFromIntent.observe(viewLifecycleOwner) { textToShare ->
if (textToShare.isNotEmpty()) {
val message = getString(R.string.toast_text_waiting_to_be_shared)
val message = getString(R.string.conversations_text_waiting_to_be_shared_toast)
val icon = R.drawable.file_text
(requireActivity() as GenericActivity).showGreenToast(message, icon)
Log.i("$TAG Found text waiting to be shared")

View file

@ -743,7 +743,7 @@ class MessageModel @WorkerThread constructor(
if (lowMediaVolume) {
Log.w("$TAG Media volume is low, notifying user as they may not hear voice message")
onRedToastToShow?.invoke(
Pair(R.string.toast_low_media_volume, R.drawable.speaker_slash)
Pair(R.string.media_playback_low_volume_warning_toast, R.drawable.speaker_slash)
)
}

View file

@ -97,7 +97,7 @@ class ConversationInfoViewModel @UiThread constructor() : AbstractConversationVi
override fun onParticipantAdded(chatRoom: ChatRoom, eventLog: EventLog) {
Log.i("$TAG A participant has been added to the group [${chatRoom.subject}]")
val message = AppUtils.getFormattedString(
R.string.toast_participant_added_to_conversation,
R.string.conversation_info_participant_added_to_conversation_toast,
getParticipant(eventLog)
)
showFormattedGreenToastEvent.postValue(Event(Pair(message, R.drawable.user_circle)))
@ -110,7 +110,7 @@ class ConversationInfoViewModel @UiThread constructor() : AbstractConversationVi
override fun onParticipantRemoved(chatRoom: ChatRoom, eventLog: EventLog) {
Log.i("$TAG A participant has been removed from the group [${chatRoom.subject}]")
val message = AppUtils.getFormattedString(
R.string.toast_participant_removed_from_conversation,
R.string.conversation_info_participant_removed_from_conversation_toast,
getParticipant(eventLog)
)
showFormattedGreenToastEvent.postValue(Event(Pair(message, R.drawable.user_circle)))
@ -126,12 +126,12 @@ class ConversationInfoViewModel @UiThread constructor() : AbstractConversationVi
)
val message = if (eventLog.type == EventLog.Type.ConferenceParticipantSetAdmin) {
AppUtils.getFormattedString(
R.string.toast_participant_has_been_granted_admin_rights,
R.string.conversation_info_participant_has_been_granted_admin_rights_toast,
getParticipant(eventLog)
)
} else {
AppUtils.getFormattedString(
R.string.toast_participant_no_longer_has_admin_rights,
R.string.conversation_info_participant_no_longer_has_admin_rights_toast,
getParticipant(eventLog)
)
}
@ -146,7 +146,7 @@ class ConversationInfoViewModel @UiThread constructor() : AbstractConversationVi
"$TAG Conversation [${LinphoneUtils.getChatRoomId(chatRoom)}] has a new subject [${chatRoom.subject}]"
)
showGreenToastEvent.postValue(
Event(Pair(R.string.toast_conversation_subject_changed, R.drawable.check))
Event(Pair(R.string.conversation_subject_changed_toast, R.drawable.check))
)
subject.postValue(chatRoom.subject)
@ -161,7 +161,7 @@ class ConversationInfoViewModel @UiThread constructor() : AbstractConversationVi
showGreenToastEvent.postValue(
Event(
Pair(
R.string.toast_conversation_ephemeral_messages_enabled,
R.string.conversation_ephemeral_messages_enabled_toast,
R.drawable.clock_countdown
)
)
@ -171,7 +171,7 @@ class ConversationInfoViewModel @UiThread constructor() : AbstractConversationVi
showGreenToastEvent.postValue(
Event(
Pair(
R.string.toast_conversation_ephemeral_messages_disabled,
R.string.conversation_ephemeral_messages_disabled_toast,
R.drawable.clock_countdown
)
)
@ -181,7 +181,7 @@ class ConversationInfoViewModel @UiThread constructor() : AbstractConversationVi
showGreenToastEvent.postValue(
Event(
Pair(
R.string.toast_conversation_ephemeral_messages_lifetime_changed,
R.string.conversation_ephemeral_messages_lifetime_changed_toast,
R.drawable.clock_countdown
)
)
@ -466,7 +466,7 @@ class ConversationInfoViewModel @UiThread constructor() : AbstractConversationVi
showRedToastEvent.postValue(
Event(
Pair(
R.string.toast_failed_to_add_participant_to_group_conversation,
R.string.conversation_failed_to_add_participant_to_group_conversation_toast,
R.drawable.warning_circle
)
)

View file

@ -865,7 +865,7 @@ class ConversationViewModel @UiThread constructor() : AbstractConversationViewMo
showGreenToastEvent.postValue(
Event(
Pair(
R.string.toast_file_successfully_exported_to_documents,
R.string.file_successfully_exported_to_documents_toast,
R.drawable.check
)
)
@ -875,7 +875,7 @@ class ConversationViewModel @UiThread constructor() : AbstractConversationViewMo
showRedToastEvent.postValue(
Event(
Pair(
R.string.toast_export_file_to_documents_error,
R.string.export_file_to_documents_error_toast,
R.drawable.warning_circle
)
)

View file

@ -64,7 +64,7 @@ class ConversationsListViewModel @UiThread constructor() : AbstractMainViewModel
showGreenToastEvent.postValue(
Event(
Pair(R.string.toast_conversation_deleted, R.drawable.chat_teardrop_text)
Pair(R.string.conversation_deleted_toast, R.drawable.chat_teardrop_text)
)
)
}

View file

@ -546,7 +546,7 @@ class SendMessageInConversationViewModel @UiThread constructor() : GenericViewMo
showRedToastEvent.postValue(
Event(
Pair(
R.string.toast_voice_recording_max_duration_reached,
R.string.conversation_voice_recording_max_duration_reached_toast,
R.drawable.warning_circle
)
)
@ -616,7 +616,9 @@ class SendMessageInConversationViewModel @UiThread constructor() : GenericViewMo
if (lowMediaVolume) {
Log.w("$TAG Media volume is low, notifying user as they may not hear voice message")
showRedToastEvent.postValue(
Event(Pair(R.string.toast_low_media_volume, R.drawable.speaker_slash))
Event(
Pair(R.string.media_playback_low_volume_warning_toast, R.drawable.speaker_slash)
)
)
}

View file

@ -251,9 +251,9 @@ class ContactFragment : SlidingPaneChildFragment() {
clipboard.setPrimaryClip(ClipData.newPlainText(label, value))
val message = if (isSip) {
getString(R.string.toast_sip_address_copied_to_clipboard)
getString(R.string.sip_address_copied_to_clipboard_toast)
} else {
getString(R.string.toast_phone_number_copied_to_clipboard)
getString(R.string.contact_details_phone_number_copied_to_clipboard_toast)
}
(requireActivity() as GenericActivity).showGreenToast(
message,

View file

@ -571,6 +571,7 @@ class ContactViewModel @UiThread constructor() : GenericViewModel() {
Log.e(
"$TAG Account is in secure mode, can't chat with SIP address of different domain [${remote.asStringUriOnly()}]"
)
// TODO: show error
return
}

View file

@ -143,7 +143,7 @@ class HistoryFragment : SlidingPaneChildFragment() {
sharedViewModel.forceRefreshCallLogsListEvent.value = Event(true)
(requireActivity() as GenericActivity).showGreenToast(
getString(R.string.toast_call_history_deleted),
getString(R.string.call_history_deleted_toast),
R.drawable.check
)
goBack()
@ -180,7 +180,7 @@ class HistoryFragment : SlidingPaneChildFragment() {
clipboard.setPrimaryClip(ClipData.newPlainText(label, value))
(requireActivity() as GenericActivity).showGreenToast(
getString(R.string.toast_sip_address_copied_to_clipboard),
getString(R.string.sip_address_copied_to_clipboard_toast),
R.drawable.check
)
}

View file

@ -199,7 +199,7 @@ class HistoryListFragment : AbstractMainFragment() {
it.consume {
Log.w("$TAG All call logs have been deleted")
(requireActivity() as GenericActivity).showGreenToast(
getString(R.string.toast_call_history_deleted),
getString(R.string.call_history_deleted_toast),
R.drawable.check
)
}
@ -273,7 +273,7 @@ class HistoryListFragment : AbstractMainFragment() {
clipboard.setPrimaryClip(ClipData.newPlainText(label, value))
(requireActivity() as GenericActivity).showGreenToast(
getString(R.string.toast_sip_address_copied_to_clipboard),
getString(R.string.sip_address_copied_to_clipboard_toast),
R.drawable.check
)
}

View file

@ -213,6 +213,7 @@ class HistoryViewModel @UiThread constructor() : GenericViewModel() {
Log.e(
"$TAG Account is in secure mode, can't chat with SIP address of different domain [${remote.asStringUriOnly()}]"
)
// TODO: show error
return@postOnCoreThread
}

View file

@ -248,7 +248,7 @@ class MeetingFragment : SlidingPaneChildFragment() {
clipboard.setPrimaryClip(ClipData.newPlainText(label, meetingSipUri))
(requireActivity() as GenericActivity).showGreenToast(
getString(R.string.toast_meeting_address_copied_to_clipboard),
getString(R.string.meeting_address_copied_to_clipboard_toast),
R.drawable.check
)
}

View file

@ -134,7 +134,7 @@ class MeetingWaitingRoomFragment : GenericMainFragment() {
it.consume {
Log.e("$TAG Error joining the conference!")
val message = getString(
R.string.toast_failed_to_join_conference
R.string.meeting_waiting_room_failed_to_join_toast
)
val icon = R.drawable.warning_circle
(requireActivity() as GenericActivity).showRedToast(message, icon)

View file

@ -151,7 +151,7 @@ class RecordingMediaPlayerFragment : GenericMainFragment() {
"$TAG File [$filePath] has been successfully exported to MediaStore"
)
val message = AppUtils.getString(
R.string.toast_file_successfully_exported_to_media_store
R.string.file_successfully_exported_to_media_store_toast
)
(requireActivity() as GenericActivity).showGreenToast(
message,
@ -162,7 +162,7 @@ class RecordingMediaPlayerFragment : GenericMainFragment() {
"$TAG Failed to export file [$filePath] to MediaStore!"
)
val message = AppUtils.getString(
R.string.toast_export_file_to_media_store_error
R.string.export_file_to_media_store_error_toast
)
(requireActivity() as GenericActivity).showRedToast(
message,

View file

@ -181,7 +181,7 @@ class RecordingsListFragment : GenericMainFragment() {
"$TAG File [$filePath] has been successfully exported to MediaStore"
)
val message = AppUtils.getString(
R.string.toast_file_successfully_exported_to_media_store
R.string.file_successfully_exported_to_media_store_toast
)
(requireActivity() as GenericActivity).showGreenToast(
message,
@ -192,7 +192,7 @@ class RecordingsListFragment : GenericMainFragment() {
"$TAG Failed to export file [$filePath] to MediaStore!"
)
val message = AppUtils.getString(
R.string.toast_export_file_to_media_store_error
R.string.export_file_to_media_store_error_toast
)
(requireActivity() as GenericActivity).showRedToast(
message,

View file

@ -121,7 +121,9 @@ class RecordingMediaPlayerViewModel @UiThread constructor() : GenericViewModel()
if (lowMediaVolume) {
Log.w("$TAG Media volume is low, notifying user as they may not hear voice message")
showRedToastEvent.postValue(
Event(Pair(R.string.toast_low_media_volume, R.drawable.speaker_slash))
Event(
Pair(R.string.media_playback_low_volume_warning_toast, R.drawable.speaker_slash)
)
)
}

View file

@ -230,7 +230,7 @@ class AccountProfileFragment : GenericMainFragment() {
private fun copyAddressToClipboard(value: String) {
val clipboard = requireContext().getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
clipboard.setPrimaryClip(ClipData.newPlainText("SIP address", value))
val message = getString(R.string.toast_sip_address_copied_to_clipboard)
val message = getString(R.string.sip_address_copied_to_clipboard_toast)
(requireActivity() as GenericActivity).showGreenToast(
message,
R.drawable.check

View file

@ -129,22 +129,22 @@ class LinphoneUtils {
)
return when (errorInfo.reason) {
Reason.Busy -> {
AppUtils.getString(R.string.toast_call_error_user_busy)
AppUtils.getString(R.string.call_error_user_busy_toast)
}
Reason.IOError -> {
AppUtils.getString(R.string.toast_call_error_io_error)
AppUtils.getString(R.string.call_error_io_error_toast)
}
Reason.NotAcceptable -> {
AppUtils.getString(R.string.toast_call_error_incompatible_media_params)
AppUtils.getString(R.string.call_error_incompatible_media_params_toast)
}
Reason.NotFound -> {
AppUtils.getString(R.string.toast_call_error_user_not_found)
AppUtils.getString(R.string.call_error_user_not_found_toast)
}
Reason.ServerTimeout -> {
AppUtils.getString(R.string.toast_call_error_server_timeout)
AppUtils.getString(R.string.call_error_server_timeout_toast)
}
Reason.TemporarilyUnavailable -> {
AppUtils.getString(R.string.toast_call_error_temporarily_unavailable)
AppUtils.getString(R.string.call_error_temporarily_unavailable_toast)
}
else -> {
"${errorInfo.protocolCode} / ${errorInfo.phrase}"

View file

@ -68,53 +68,17 @@
<string name="welcome_page_3_title">Open source</string>
<string name="welcome_page_3_message">Une application open source et un <b>service gratuit</b> depuis <b>2001</b>.</string>
<string name="toast_assistant_qr_code_invalid">Ce QR code est invalide !</string>
<string name="toast_sip_address_copied_to_clipboard">L\'adresse SIP a été copiée</string>
<string name="toast_meeting_address_copied_to_clipboard">L\'adresse de la réunion a été copiée</string>
<string name="toast_phone_number_copied_to_clipboard">Le numéro de téléphone a été copié</string>
<string name="toast_call_history_deleted">L\'historique des appels a été supprimé</string>
<string name="toast_call_can_be_trusted">Cet appel est complètement sécurisé</string>
<string name="toast_new_account_configured">Connexion réussie</string>
<string name="toast_default_account_connection_state_error">Erreur de connexion !</string>
<string name="toast_file_successfully_exported_to_media_store">Le media a été exporté</string>
<string name="toast_export_file_to_media_store_error">Le media n\'a pas pû être exporté !</string>
<string name="toast_file_successfully_exported_to_documents">Le document a été exporté</string>
<string name="toast_export_file_to_documents_error">Le document n\'a pas pû être exporté !</string>
<string name="toast_participant_added_to_conversation">%s a rejoint la conversation</string>
<string name="toast_participant_removed_from_conversation">%s a quitté la conversation</string>
<string name="toast_participant_has_been_granted_admin_rights">%s is now admin</string>
<string name="toast_participant_no_longer_has_admin_rights">%s is no longer admin</string>
<string name="toast_conversation_subject_changed">Le nom de la conversation a changé</string>
<string name="toast_conversation_ephemeral_messages_enabled">Les messages éphémères ont été activés</string>
<string name="toast_conversation_ephemeral_messages_disabled">Les messages éphémères ont été désactivés</string>
<string name="toast_conversation_ephemeral_messages_lifetime_changed">La durée des messages éphémères a changé</string>
<string name="toast_cant_find_contact_to_display">Contact non trouvé</string>
<string name="toast_no_address_to_add_to_contact">Aucune adresse à ajouter au contact</string>
<string name="toast_cant_find_conversation_to_display">Conversation non trouvée</string>
<string name="toast_voice_recording_max_duration_reached">Durée maximale atteinte</string>
<string name="toast_failed_to_add_participant_to_group_conversation">Un ou plusieurs participants n\'ont pû être ajoutés</string>
<string name="toast_conversation_deleted">Conversation supprimée</string>
<string name="toast_group_conversation_left">Vous avez quitté la conversation</string>
<string name="toast_low_media_volume">Le volume media est bas, vous pourriez ne rien entendre !</string>
<string name="toast_no_app_registered_to_handle_content_type_error">Aucune application trouvée pour lire ce fichier</string>
<plurals name="toast_files_waiting_to_be_shared" tools:ignore="MissingQuantity">
<item quantity="one">%s fichier en attente de partage</item>
<item quantity="other">%s fichiers en attente de partage</item>
</plurals>
<string name="toast_text_waiting_to_be_shared">Texte en attente de partage</string>
<string name="toast_message_waiting_to_be_forwarded">Message en attente de transfert</string>
<string name="toast_call_transfer_in_progress">Appel en cours de transfert</string>
<string name="toast_call_transfer_successful">L\'appel a été transferré</string>
<string name="toast_call_transfer_failed">Le transfert a échoué !</string>
<string name="toast_failed_to_join_conference">Echec lors de la connexion à la conférence!</string>
<string name="toast_remote_provisioning_config_applied">Configuration appliquée avec succès</string>
<string name="toast_remote_provisioning_config_failed">Erreur durant la récupération ou l\'application de la configuration</string>
<string name="toast_call_error_user_busy">L\'utilisateur est occupé</string>
<string name="toast_call_error_user_not_found">L\'utilisateur n\'a pu être trouvé</string>
<string name="toast_call_error_incompatible_media_params">Paramètres media incompatibles</string>
<string name="toast_call_error_io_error">Service indisponible ou erreur réseau</string>
<string name="toast_call_error_server_timeout">Délai d\'attente du serveur dépassé</string>
<string name="toast_call_error_temporarily_unavailable">Temporairement indisponible</string>
<!-- Generic toasts -->
<string name="sip_address_copied_to_clipboard_toast">L\'adresse SIP a été copiée</string>
<string name="new_account_configured_toast">Connexion réussie</string>
<string name="default_account_connection_state_error_toast">Erreur de connexion !</string>
<string name="file_successfully_exported_to_media_store_toast">Le media a été exporté</string>
<string name="export_file_to_media_store_error_toast">Le media n\'a pas pû être exporté !</string>
<string name="file_successfully_exported_to_documents_toast">Le document a été exporté</string>
<string name="export_file_to_documents_error_toast">Le document n\'a pas pû être exporté !</string>
<string name="media_playback_low_volume_warning_toast">Le volume media est bas, vous pourriez ne rien entendre !</string>
<string name="remote_provisioning_config_applied_toast">Configuration appliquée avec succès</string>
<string name="remote_provisioning_config_failed_toast">Erreur durant la récupération ou l\'application de la configuration</string>
<!-- Assistant related string (account register / login / etc...) -->
<string name="assistant_dialog_general_terms_and_privacy_policy_title">Conditions de service &amp; politique de confidentialité</string>
@ -125,6 +89,7 @@
<string name="assistant_dialog_confirm_phone_number_message">Êtes-vous sûr de vouloir utiliser ce numéro de téléphone ?</string>
<string name="assistant_account_login">Connexion</string>
<string name="assistant_scan_qr_code">Scanner un QR code</string>
<string name="assistant_qr_code_invalid_toast">Ce QR code est invalide !</string>
<string name="assistant_login_third_party_sip_account">J\'ai un compte SIP tiers</string>
<string name="assistant_login_using_single_sign_on">Single sign on</string>
<string name="assistant_login_cant_parse_address_toast">L\'adresse SIP est invalide !</string>
@ -387,6 +352,7 @@
<string name="contact_details_delete">Supprimer</string>
<string name="contact_sms_invite_content">Salut, rejoins moi sur &appName; ! Tu peux le télécharger gratuitement sur %s</string>
<string name="contact_deleted_toast">Le contact a été supprimé</string>
<string name="contact_details_phone_number_copied_to_clipboard_toast">Le numéro de téléphone a été copié</string>
<string name="contact_dialog_increase_trust_level_title">Augmenter le niveau de confiance</string>
<string name="contact_dialog_increase_trust_level_message">Vous êtes sur le point de passer un appel vers l\'appareil $2%s\ de $1%s.\Voulez-vous démarrer l\'appel ?</string>
@ -412,6 +378,13 @@
<string name="conversations_list_empty">Aucune conversation pour le moment…</string>
<string name="conversations_list_is_being_removed_label">En cours de suppression…</string>
<string name="conversations_last_message_format">%s :</string>
<string name="conversations_message_waiting_to_be_forwarded_toast">Message en attente de transfert</string>
<plurals name="conversations_files_waiting_to_be_shared_toast" tools:ignore="MissingQuantity">
<item quantity="one">%s fichier en attente de partage</item>
<item quantity="other">%s fichiers en attente de partage</item>
</plurals>
<string name="conversations_text_waiting_to_be_shared_toast">Texte en attente de partage</string>
<string name="conversation_action_mark_as_read">Marquer comme lu</string>
<string name="conversation_action_mute">Mettre en sourdine</string>
<string name="conversation_action_unmute">Enlever la sourdine</string>
@ -454,7 +427,6 @@
<string name="conversation_end_to_end_encrypted_event_subtitle">Les messages de cette conversation sont chiffrés de bout en bout. Seul votre correspondant peut les déchiffrer.</string>
<string name="conversation_end_to_end_encrypted_bottom_sheet_title">La confidentialité de vos échanges garantie</string>
<string name="conversation_end_to_end_encrypted_bottom_sheet_message">Grâce à la technologie de chiffrement de bout en bout de &appName;, la confidentialité de vos messages, appels et réunions avec vos correspondants est garantie. Personne ne pourra déchiffrer vos conversations, pas même &appName;.</string>
<string name="conversation_end_to_end_encrypted_bottom_sheet_link"><u>https://linphone.org/security</u></string>
<string name="conversation_warning_disabled_because_not_secured_title">Cette conversation n\'est pas chiffrée !</string>
<string name="conversation_warning_disabled_because_not_secured_subtitle">Cette conversation a été désactivée pour garantir votre sécurité.</string>
<string name="conversation_warning_disabled_encrypted_bottom_sheet_title">Chiffrement obligatoire</string>
@ -473,6 +445,16 @@
<string name="conversation_failed_to_create_toast">Échec de la création de la conversation !</string>
<string name="conversation_invalid_participant_due_to_security_mode_toast">Pour des raisons de sécurité, la création d\'une conversation avec un participant d\'un domaine tiers est désactivé.</string>
<string name="conversation_media_not_found_toast">Le média selectionné est introuvable !</string>
<string name="conversation_subject_changed_toast">Le nom de la conversation a changé</string>
<string name="conversation_ephemeral_messages_enabled_toast">Les messages éphémères ont été activés</string>
<string name="conversation_ephemeral_messages_disabled_toast">Les messages éphémères ont été désactivés</string>
<string name="conversation_ephemeral_messages_lifetime_changed_toast">La durée des messages éphémères a changé</string>
<string name="conversation_voice_recording_max_duration_reached_toast">Durée maximale atteinte</string>
<string name="conversation_failed_to_add_participant_to_group_conversation_toast">Un ou plusieurs participants n\'ont pû être ajoutés</string>
<string name="conversation_deleted_toast">Conversation supprimée</string>
<string name="conversation_group_left_toast">Vous avez quitté la conversation</string>
<string name="conversation_no_app_registered_to_handle_content_type_error_toast">Aucune application trouvée pour lire ce fichier</string>
<string name="conversation_to_display_no_found_toast">Conversation non trouvée</string>
<string name="conversation_info_participants_list_title">Membres du groupe</string>
<string name="conversation_info_add_participants_label">Ajouter des membres</string>
@ -486,6 +468,12 @@
<string name="conversation_info_dialog_delete_all_call_logs_title">Voulez-vous tout supprimer ?</string>
<string name="conversation_info_dialog_delete_all_message">Tout les messages de cette conversation seront supprimés.</string>
<string name="conversation_info_history_deleted_toast">Historique supprimé</string>
<string name="conversation_info_participant_added_to_conversation_toast">%s a rejoint la conversation</string>
<string name="conversation_info_participant_removed_from_conversation_toast">%s a quitté la conversation</string>
<string name="conversation_info_participant_has_been_granted_admin_rights_toast">%s is now admin</string>
<string name="conversation_info_participant_no_longer_has_admin_rights_toast">%s is no longer admin</string>
<string name="conversation_info_cant_find_contact_to_display_toast">Contact non trouvé</string>
<string name="conversation_info_no_address_to_add_to_contact_toast">Aucune adresse à ajouter au contact</string>
<string name="conversation_event_conference_created">Vous avez rejoint le groupe</string>
<string name="conversation_event_conference_destroyed">Vous avez quitté le groupe</string>
@ -549,11 +537,13 @@
<string name="meeting_schedule_mandatory_field_not_filled_toast">Au moins un champ obligatoire n\'a pas été rempli</string>
<string name="meeting_failed_to_send_invites_toast">Échec de l\'envoi des invitations à la réunion !</string>
<string name="meeting_failed_to_send_part_of_invites_toast">Échec de l\'envoi des invitations à la réunion pour certains des participants !</string>
<string name="meeting_address_copied_to_clipboard_toast">L\'adresse de la réunion a été copiée</string>
<string name="meeting_waiting_room_join">Rejoindre</string>
<string name="meeting_waiting_room_cancel">Annuler</string>
<string name="meeting_waiting_room_joining_title">Connexion à la réunion</string>
<string name="meeting_waiting_room_joining_subtitle">Vous allez rejoindre la réunion dans quelques instants…</string>
<string name="meeting_waiting_room_failed_to_join_toast">Echec lors de la connexion à la conférence!</string>
<!-- Call related -->
<string name="call_outgoing">Appel sortant</string>
@ -617,7 +607,19 @@
<string name="call_stats_zrtp_key_agreement_algo">Algorithme d\'accord de clé : %s</string>
<string name="call_stats_zrtp_hash_algo">Algorithme de hachage : %s</string>
<string name="call_stats_zrtp_auth_tag_algo">Algorithme d\'authentification : %s</string>
<string name="call_stats_zrtp_sas_algo">Algorithm SAS: %s</string>
<string name="call_stats_zrtp_sas_algo">Algorithme SAS : %s</string>
<string name="call_history_deleted_toast">L\'historique des appels a été supprimé</string>
<string name="call_can_be_trusted_toast">Cet appel est complètement sécurisé</string>
<string name="call_transfer_in_progress_toast">Appel en cours de transfert</string>
<string name="call_transfer_successful_toast">L\'appel a été transferré</string>
<string name="call_transfer_failed_toast">Le transfert a échoué !</string>
<string name="call_error_user_busy_toast">L\'utilisateur est occupé</string>
<string name="call_error_user_not_found_toast">L\'utilisateur n\'a pu être trouvé</string>
<string name="call_error_incompatible_media_params_toast">Paramètres media incompatibles</string>
<string name="call_error_io_error_toast">Service indisponible ou erreur réseau</string>
<string name="call_error_server_timeout_toast">Délai d\'attente du serveur dépassé</string>
<string name="call_error_temporarily_unavailable_toast">Temporairement indisponible</string>
<!-- Conference (in-call) -->
<string name="conference_share_link_title">Partager le lien</string>
@ -704,4 +706,81 @@
<string name="content_description_contact_away">Contact is not online</string>
<string name="content_description_open_drawer_menu_icon">Open drawer menu</string>
<string name="content_description_go_back_icon">Go back</string>
<string name="content_description_dismiss_notification">Dismiss notification</string>
<string name="content_description_save_changes">Save changes</string>
<string name="content_description_show_popup_menu">Show menu</string>
<string name="content_description_confirm_new_participants_list">Confirm new participants list</string>
<string name="content_description_click_for_more_info">Click to have more information</string>
<string name="content_description_click_to_remove_participant">Click to remove participant</string>
<string name="content_description_toggle_password_visibility">Toggles password visibility</string>
<string name="content_description_toggle_bottom_sheet">Expands/retracts bottom sheet</string>
<string name="content_description_hang_up_call">Terminates the call</string>
<string name="content_description_answer_call">Answers the call</string>
<string name="content_description_call_start">Starts a call</string>
<string name="content_description_call_start_video">Starts a video call</string>
<string name="content_description_toggle_video">Enables/disables sending your camera feed</string>
<string name="content_description_toggle_microphone">Mute/un-mute your microphone</string>
<string name="content_description_change_output_audio_device">Changes output audio device</string>
<string name="content_description_change_camera">Changes camera (front/back) being used</string>
<string name="content_description_paused_call">Call is in paused state</string>
<string name="content_description_show_call_statistics">Shows call statistics</string>
<string name="content_description_call_is_being_recorded">You are recording this call</string>
<string name="content_description_erase_last_input">Removes the last digit or character</string>
<string name="content_description_merge_calls_into_conference">Merges calls into a conference</string>
<string name="content_description_open_filter">Opens filter area</string>
<string name="content_description_cancel_filter">Closes filter area</string>
<string name="content_description_clear_filter">Clear current filter</string>
<string name="content_description_create_group_conversation">Creates the group conversation</string>
<string name="content_description_create_group_call">Starts the group call</string>
<string name="content_description_show_numpad">Shows the numpad</string>
<string name="content_description_spinner_caret">Click to show all available options</string>
<string name="content_description_conference_participant_muted">Participant is muted</string>
<string name="content_description_conference_participant_speaking">Participant is speaking</string>
<string name="content_description_add_participants">Add participants</string>
<string name="content_description_play_pause_audio_playback">Plays/pauses the audio playback</string>
<string name="content_description_play_pause_video_playback">Plays/pauses the video playback</string>
<string name="content_description_share_file">Share file</string>
<string name="content_description_save_file">Save file</string>
<string name="content_description_chat_bubble_image">Image attached to message</string>
<string name="content_description_chat_bubble_video">Video attached to message</string>
<string name="content_description_chat_bubble_file">File attached to message</string>
<string name="content_description_chat_bubble_reply">This message is a reply to a previous message</string>
<string name="content_description_chat_bubble_forward">This message was forwarded from another conversation</string>
<string name="content_description_chat_bubble_delivery_status">Click to have delivery status</string>
<string name="content_description_chat_bubble_toggle_voice_message_play_pause">Plays/pauses the voice message playback</string>
<string name="content_description_chat_remove_attachments">Close attachments</string>
<string name="content_description_chat_muted">Conversation has been silenced</string>
<string name="content_description_chat_ephemeral_enabled">Ephemeral messages are enabled</string>
<string name="content_description_chat_scroll_to_bottom_or_first_unread">Scrolls to first unread message or to the bottom</string>
<string name="content_description_chat_close_participants_list">Closes participants list</string>
<string name="content_description_cancel_voice_message_recording">Cancels voice message recording</string>
<string name="content_description_stop_voice_message_recording">Stops voice message recording</string>
<string name="content_description_chat_start_voice_message_recording">Starts recording a voice message</string>
<string name="content_description_chat_send_message">Sends message in conversation</string>
<string name="content_description_chat_cancel_reply">Message will no longer be a reply to a previous message</string>
<string name="content_description_chat_open_emoji_picker">Opens emoji picker</string>
<string name="content_description_chat_open_attach_media">Opens media picker</string>
<string name="content_description_chat_take_picture">Opens camera to take a picture</string>
<string name="content_description_chat_edit_conversation_subject">Click to edit the subject of this conversation</string>
<string name="content_description_chat_toggle_mute">Silences on/off this conversation</string>
<string name="content_description_chat_removal_in_progress">Conversation is being removed</string>
<string name="content_description_chat_unsecured">This conversation isn\'t secured</string>
<string name="content_description_chat_create">Start a new conversation</string>
<string name="content_description_meeting_today">Scroll to today</string>
<string name="content_description_schedule_meeting">Schedule a meeting</string>
<string name="content_description_meeting_schedule">Schedule the meeting</string>
<string name="content_description_meeting_edit">Edit the meeting</string>
<string name="content_description_meeting_share">Share meeting address</string>
<string name="content_description_meeting_participants_list">Participants list</string>
<string name="content_description_contact_device_trusted">Device is trusted</string>
<string name="content_description_contact_edit">Edit contact</string>
<string name="content_description_contact_remove_field">Remove field</string>
<string name="content_description_contacts_list_filters">Show contacts list filters</string>
<string name="content_description_contact_create">Create a contact</string>
<string name="content_description_join_conference">Join the conference</string>
<string name="content_description_carddav_delete">Delete this CardDAV configuration</string>
<string name="content_description_carddav_save">Save CardDAV configuration</string>
<string name="content_description_ldap_delete">Delete this LDAP configuration</string>
<string name="content_description_ldap_save">Save LDAP configuration</string>
<string name="content_description_play_call_recording">Plays the call recording</string>
</resources>

View file

@ -37,6 +37,7 @@
<string name="web_platform_forgotten_password_url" translatable="false">https://subscribe.linphone.org/</string>
<string name="website_translate_weblate_url" translatable="false">https://weblate.linphone.org/</string>
<string name="website_open_source_licences_usage_url" translatable="false">https://wiki.linphone.org/xwiki/wiki/public/view/Linphone/Third%20party%20components%20/#Hlinphone-android</string>
<string name="conversation_end_to_end_encrypted_bottom_sheet_link" translatable="false"><u>https://linphone.org/security</u></string>
<string name="conversation_one_to_one_hidden_subject" translatable="false">Dummy subject</string>
@ -103,53 +104,17 @@
<string name="welcome_page_3_title">Open source</string>
<string name="welcome_page_3_message">A <b>free</b> and open source application since <b>2001</b>.</string>
<string name="toast_assistant_qr_code_invalid">Invalid QR code!</string>
<string name="toast_sip_address_copied_to_clipboard">SIP address copied into clipboard</string>
<string name="toast_meeting_address_copied_to_clipboard">Meeting address copied into clipboard</string>
<string name="toast_phone_number_copied_to_clipboard">Number copied into clipboard</string>
<string name="toast_call_history_deleted">History has been deleted</string>
<string name="toast_call_can_be_trusted">This call can be trusted</string>
<string name="toast_new_account_configured">Connection successful</string>
<string name="toast_default_account_connection_state_error">Connection error!</string>
<string name="toast_file_successfully_exported_to_media_store">File has been exported to native gallery</string>
<string name="toast_export_file_to_media_store_error">Error trying to export file to native gallery</string>
<string name="toast_file_successfully_exported_to_documents">File has been exported to documents</string>
<string name="toast_export_file_to_documents_error">Error trying to export file to documents</string>
<string name="toast_participant_added_to_conversation">%s joined the conversation</string>
<string name="toast_participant_removed_from_conversation">%s left the conversation</string>
<string name="toast_participant_has_been_granted_admin_rights">%s is now admin</string>
<string name="toast_participant_no_longer_has_admin_rights">%s is no longer admin</string>
<string name="toast_conversation_subject_changed">Conversation subject has changed</string>
<string name="toast_conversation_ephemeral_messages_enabled">Ephemeral messages have been enabled</string>
<string name="toast_conversation_ephemeral_messages_disabled">Ephemeral messages have been disabled</string>
<string name="toast_conversation_ephemeral_messages_lifetime_changed">Ephemeral messages lifetime changed</string>
<string name="toast_cant_find_contact_to_display">Contact was not found</string>
<string name="toast_no_address_to_add_to_contact">No address to add to contact</string>
<string name="toast_cant_find_conversation_to_display">Conversation was not found</string>
<string name="toast_voice_recording_max_duration_reached">Max duration reached</string>
<string name="toast_failed_to_add_participant_to_group_conversation">Failed to add participant(s) to conversation</string>
<string name="toast_conversation_deleted">Conversation was successfully deleted</string>
<string name="toast_group_conversation_left">You have left the group</string>
<string name="toast_low_media_volume">Media volume is low, you may not hear anything!</string>
<string name="toast_no_app_registered_to_handle_content_type_error">No app found to open this kind of file</string>
<plurals name="toast_files_waiting_to_be_shared">
<item quantity="one">%s file waiting to be shared</item>
<item quantity="other">%s files waiting to be shared</item>
</plurals>
<string name="toast_text_waiting_to_be_shared">Text is waiting to be shared</string>
<string name="toast_message_waiting_to_be_forwarded">A message is waiting to be forwarded</string>
<string name="toast_call_transfer_in_progress">Call is being transferred</string>
<string name="toast_call_transfer_successful">Call has been successfully transferred</string>
<string name="toast_call_transfer_failed">Call transfer failed!</string>
<string name="toast_failed_to_join_conference">Failed to join conference!</string>
<string name="toast_remote_provisioning_config_applied">Configuration successfully applied</string>
<string name="toast_remote_provisioning_config_failed">Error while trying to download and apply remote configuration</string>
<string name="toast_call_error_user_busy">User is busy</string>
<string name="toast_call_error_user_not_found">User has not been found</string>
<string name="toast_call_error_incompatible_media_params">Incompatible media parameters</string>
<string name="toast_call_error_io_error">Service unavailable or network error</string>
<string name="toast_call_error_server_timeout">Server timeout</string>
<string name="toast_call_error_temporarily_unavailable">Temporarily unavailable</string>
<!-- Generic toasts -->
<string name="sip_address_copied_to_clipboard_toast">SIP address copied into clipboard</string>
<string name="new_account_configured_toast">Connection successful</string>
<string name="default_account_connection_state_error_toast">Connection error!</string>
<string name="file_successfully_exported_to_media_store_toast">File has been exported to native gallery</string>
<string name="export_file_to_media_store_error_toast">Error trying to export file to native gallery</string>
<string name="file_successfully_exported_to_documents_toast">File has been exported to documents</string>
<string name="export_file_to_documents_error_toast">Error trying to export file to documents</string>
<string name="media_playback_low_volume_warning_toast">Media volume is low, you may not hear anything!</string>
<string name="remote_provisioning_config_applied_toast">Configuration successfully applied</string>
<string name="remote_provisioning_config_failed_toast">Error while trying to download and apply remote configuration</string>
<!-- Assistant related string (account register / login / etc...) -->
<string name="assistant_dialog_general_terms_and_privacy_policy_title">General terms &amp; privacy policy</string>
@ -160,6 +125,7 @@
<string name="assistant_dialog_confirm_phone_number_message">Are you sure you want to use this phone number?</string>
<string name="assistant_account_login">Login</string>
<string name="assistant_scan_qr_code">Scan QR code</string>
<string name="assistant_qr_code_invalid_toast">Invalid QR code!</string>
<string name="assistant_login_third_party_sip_account">Use a third party SIP account</string>
<string name="assistant_login_using_single_sign_on">Single sign on</string>
<string name="assistant_login_cant_parse_address_toast">SIP address is invalid!</string>
@ -423,6 +389,7 @@
<string name="contact_details_delete">Delete</string>
<string name="contact_sms_invite_content">Hello, join me on &appName;! You can download it for free at %s</string>
<string name="contact_deleted_toast">Contact has been removed</string>
<string name="contact_details_phone_number_copied_to_clipboard_toast">Number copied into clipboard</string>
<string name="contact_dialog_increase_trust_level_title">Increase trust level</string>
<string name="contact_dialog_increase_trust_level_message">You\'re about to make a call to $1%s\'s device $2%s.\nDo you want to make the call?</string>
@ -448,6 +415,13 @@
<string name="conversations_list_empty">No conversation for the moment…</string>
<string name="conversations_list_is_being_removed_label">Removal in progress…</string>
<string name="conversations_last_message_format">%s:</string>
<string name="conversations_message_waiting_to_be_forwarded_toast">A message is waiting to be forwarded</string>
<plurals name="conversations_files_waiting_to_be_shared_toast">
<item quantity="one">%s file waiting to be shared</item>
<item quantity="other">%s files waiting to be shared</item>
</plurals>
<string name="conversations_text_waiting_to_be_shared_toast">Text is waiting to be shared</string>
<string name="conversation_action_mark_as_read">Mark as read</string>
<string name="conversation_action_mute">Mute</string>
<string name="conversation_action_unmute">Un-mute</string>
@ -490,7 +464,6 @@
<string name="conversation_end_to_end_encrypted_event_subtitle">Messages in this conversation are e2e encrypted. Only your correspondent can decrypt them.</string>
<string name="conversation_end_to_end_encrypted_bottom_sheet_title">Guaranteed confidentiality</string>
<string name="conversation_end_to_end_encrypted_bottom_sheet_message">Thanks to end-to-end encryption technology in &appName;, messages, calls and meetings confidentiality are guaranteed. No-one can decrypt exchanged data, not even ourselves.</string>
<string name="conversation_end_to_end_encrypted_bottom_sheet_link"><u>https://linphone.org/security</u></string>
<string name="conversation_warning_disabled_because_not_secured_title">This conversation is not encrypted!</string>
<string name="conversation_warning_disabled_because_not_secured_subtitle">For your safety, this conversation was disabled.</string>
<string name="conversation_warning_disabled_encrypted_bottom_sheet_title">Mandatory encryption</string>
@ -509,6 +482,16 @@
<string name="conversation_failed_to_create_toast">Failed to create conversation!</string>
<string name="conversation_invalid_participant_due_to_security_mode_toast">Can\'t create conversation with a participant not on the same domain due to security restrictions!</string>
<string name="conversation_media_not_found_toast">Selected media wasn\'t found</string>
<string name="conversation_subject_changed_toast">Conversation subject has changed</string>
<string name="conversation_ephemeral_messages_enabled_toast">Ephemeral messages have been enabled</string>
<string name="conversation_ephemeral_messages_disabled_toast">Ephemeral messages have been disabled</string>
<string name="conversation_ephemeral_messages_lifetime_changed_toast">Ephemeral messages lifetime changed</string>
<string name="conversation_voice_recording_max_duration_reached_toast">Max duration reached</string>
<string name="conversation_failed_to_add_participant_to_group_conversation_toast">Failed to add participant(s) to conversation</string>
<string name="conversation_deleted_toast">Conversation was successfully deleted</string>
<string name="conversation_group_left_toast">You have left the group</string>
<string name="conversation_no_app_registered_to_handle_content_type_error_toast">No app found to open this kind of file</string>
<string name="conversation_to_display_no_found_toast">Conversation was not found</string>
<string name="conversation_info_participants_list_title">Group members</string>
<string name="conversation_info_add_participants_label">Add participants</string>
@ -522,6 +505,12 @@
<string name="conversation_info_dialog_delete_all_call_logs_title">Do you really want to delete all messages?</string>
<string name="conversation_info_dialog_delete_all_message">All messages will be removed from the history</string>
<string name="conversation_info_history_deleted_toast">History has been successfully deleted</string>
<string name="conversation_info_participant_added_to_conversation_toast">%s joined the conversation</string>
<string name="conversation_info_participant_removed_from_conversation_toast">%s left the conversation</string>
<string name="conversation_info_participant_has_been_granted_admin_rights_toast">%s is now admin</string>
<string name="conversation_info_participant_no_longer_has_admin_rights_toast">%s is no longer admin</string>
<string name="conversation_info_cant_find_contact_to_display_toast">Contact was not found</string>
<string name="conversation_info_no_address_to_add_to_contact_toast">No address to add to contact</string>
<string name="conversation_event_conference_created">You have joined the group</string>
<string name="conversation_event_conference_destroyed">You have left the group</string>
@ -585,11 +574,13 @@
<string name="meeting_schedule_mandatory_field_not_filled_toast">A least a mandatory field wasn\'t filled</string>
<string name="meeting_failed_to_send_invites_toast">Failed to send all invites to meeting!</string>
<string name="meeting_failed_to_send_part_of_invites_toast">Failed to send invites to some participants of the meeting!</string>
<string name="meeting_address_copied_to_clipboard_toast">Meeting address copied into clipboard</string>
<string name="meeting_waiting_room_join">Join</string>
<string name="meeting_waiting_room_cancel">Cancel</string>
<string name="meeting_waiting_room_joining_title">Connection in progress</string>
<string name="meeting_waiting_room_joining_subtitle">You\'ll be joining in a short moment</string>
<string name="meeting_waiting_room_failed_to_join_toast">Failed to join meeting!</string>
<!-- Call related -->
<string name="call_outgoing">Outgoing call</string>
@ -655,6 +646,18 @@
<string name="call_stats_zrtp_auth_tag_algo">Authentication algorithm: %s</string>
<string name="call_stats_zrtp_sas_algo">SAS algorithm: %s</string>
<string name="call_history_deleted_toast">History has been deleted</string>
<string name="call_can_be_trusted_toast">This call can be trusted</string>
<string name="call_transfer_in_progress_toast">Call is being transferred</string>
<string name="call_transfer_successful_toast">Call has been successfully transferred</string>
<string name="call_transfer_failed_toast">Call transfer failed!</string>
<string name="call_error_user_busy_toast">User is busy</string>
<string name="call_error_user_not_found_toast">User has not been found</string>
<string name="call_error_incompatible_media_params_toast">Incompatible media parameters</string>
<string name="call_error_io_error_toast">Service unavailable or network error</string>
<string name="call_error_server_timeout_toast">Server timeout</string>
<string name="call_error_temporarily_unavailable_toast">Temporarily unavailable</string>
<!-- Conference (in-call) -->
<string name="conference_share_link_title">Share invitation</string>
<string name="conference_call_empty">Waiting for other participants…</string>