diff --git a/app/src/main/java/org/linphone/ui/assistant/AssistantActivity.kt b/app/src/main/java/org/linphone/ui/assistant/AssistantActivity.kt index 41b6de5f1..37651a4ce 100644 --- a/app/src/main/java/org/linphone/ui/assistant/AssistantActivity.kt +++ b/app/src/main/java/org/linphone/ui/assistant/AssistantActivity.kt @@ -20,8 +20,6 @@ package org.linphone.ui.assistant import android.os.Bundle -import android.view.LayoutInflater -import android.view.View import android.view.ViewGroup import androidx.annotation.DrawableRes import androidx.annotation.UiThread @@ -32,8 +30,7 @@ import androidx.lifecycle.lifecycleScope import org.linphone.LinphoneApplication import org.linphone.R import org.linphone.databinding.AssistantActivityBinding -import org.linphone.databinding.ToastGreenBinding -import org.linphone.databinding.ToastRedBinding +import org.linphone.utils.AppUtils import org.linphone.utils.slideInToastFromTopForDuration @UiThread @@ -53,15 +50,7 @@ class AssistantActivity : AppCompatActivity() { } fun showGreenToast(message: String, @DrawableRes icon: Int) { - val greenToast: ToastGreenBinding = DataBindingUtil.inflate( - LayoutInflater.from(this), - R.layout.toast_green, - binding.toastsArea, - false - ) - greenToast.message = message - greenToast.icon = icon - greenToast.root.visibility = View.GONE + val greenToast = AppUtils.getGreenToast(this, binding.toastsArea, message, icon) binding.toastsArea.addView(greenToast.root) greenToast.root.slideInToastFromTopForDuration( @@ -71,15 +60,7 @@ class AssistantActivity : AppCompatActivity() { } fun showRedToast(message: String, @DrawableRes icon: Int) { - val redToast: ToastRedBinding = DataBindingUtil.inflate( - LayoutInflater.from(this), - R.layout.toast_red, - binding.toastsArea, - false - ) - redToast.message = message - redToast.icon = icon - redToast.root.visibility = View.GONE + val redToast = AppUtils.getRedToast(this, binding.toastsArea, message, icon) binding.toastsArea.addView(redToast.root) redToast.root.slideInToastFromTopForDuration( diff --git a/app/src/main/java/org/linphone/ui/assistant/fragment/QrCodeScannerFragment.kt b/app/src/main/java/org/linphone/ui/assistant/fragment/QrCodeScannerFragment.kt index 477b4db87..d264c285b 100644 --- a/app/src/main/java/org/linphone/ui/assistant/fragment/QrCodeScannerFragment.kt +++ b/app/src/main/java/org/linphone/ui/assistant/fragment/QrCodeScannerFragment.kt @@ -84,15 +84,13 @@ class QrCodeScannerFragment : Fragment() { viewModel.qrCodeFoundEvent.observe(viewLifecycleOwner) { it.consume { isValid -> if (isValid) { - // TODO FIXME: show translated string (requireActivity() as AssistantActivity).showGreenToast( - "QR code validated!", + getString(R.string.toast_assistant_qr_code_valid), R.drawable.check_fat_fill ) } else { - // TODO FIXME: show translated string (requireActivity() as AssistantActivity).showRedToast( - "Invalid QR code!", + getString(R.string.toast_assistant_qr_code_invalid), R.drawable.warning_circle ) } diff --git a/app/src/main/java/org/linphone/ui/assistant/viewmodel/AccountCreationViewModel.kt b/app/src/main/java/org/linphone/ui/assistant/viewmodel/AccountCreationViewModel.kt index f2da59699..befb070ad 100644 --- a/app/src/main/java/org/linphone/ui/assistant/viewmodel/AccountCreationViewModel.kt +++ b/app/src/main/java/org/linphone/ui/assistant/viewmodel/AccountCreationViewModel.kt @@ -34,6 +34,7 @@ import org.json.JSONException import org.json.JSONObject import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.LinphoneApplication.Companion.corePreferences +import org.linphone.R import org.linphone.core.AccountCreator import org.linphone.core.AccountCreatorListenerStub import org.linphone.core.Core @@ -288,8 +289,10 @@ class AccountCreationViewModel @UiThread constructor() : ViewModel(), CountryPic if (status == AccountCreator.PhoneNumberStatus.Ok.toInt()) { val normalizedPhoneNumber = accountCreator.phoneNumber - // TODO FIXME: use translated string - val message = "We have sent a verification code on your phone number “$normalizedPhoneNumber”.\n\nPlease enter the verification code below:" + val message = coreContext.context.getString( + R.string.assistant_account_creation_sms_confirmation_explanation, + normalizedPhoneNumber + ) confirmationMessage.postValue(message) Log.i( diff --git a/app/src/main/java/org/linphone/ui/main/MainActivity.kt b/app/src/main/java/org/linphone/ui/main/MainActivity.kt index d73b45384..19a34ce08 100644 --- a/app/src/main/java/org/linphone/ui/main/MainActivity.kt +++ b/app/src/main/java/org/linphone/ui/main/MainActivity.kt @@ -38,7 +38,7 @@ import androidx.navigation.findNavController import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.R import org.linphone.databinding.MainActivityBinding -import org.linphone.databinding.ToastGreenBinding +import org.linphone.databinding.ToastBinding import org.linphone.utils.slideInToastFromTopForDuration @UiThread @@ -95,18 +95,19 @@ class MainActivity : AppCompatActivity() { RECORD_AUDIO_PERMISSION_REQUEST ) } + if (checkSelfPermission(Manifest.permission.MANAGE_OWN_CALLS) != PackageManager.PERMISSION_GRANTED) { + requestPermissions( + arrayOf(Manifest.permission.MANAGE_OWN_CALLS), + MANAGE_OWN_CALLS_PERMISSION_REQUEST + ) + } + // TODO FIXME : use compatibility if (checkSelfPermission(Manifest.permission.POST_NOTIFICATIONS) != PackageManager.PERMISSION_GRANTED) { requestPermissions( arrayOf(Manifest.permission.POST_NOTIFICATIONS), POST_NOTIFICATIONS_PERMISSION_REQUEST ) } - if (checkSelfPermission(Manifest.permission.MANAGE_OWN_CALLS) != PackageManager.PERMISSION_GRANTED) { - requestPermissions( - arrayOf(Manifest.permission.POST_NOTIFICATIONS), - MANAGE_OWN_CALLS_PERMISSION_REQUEST - ) - } } override fun onRequestPermissionsResult( @@ -139,14 +140,16 @@ class MainActivity : AppCompatActivity() { } fun showGreenToast(message: String, @DrawableRes icon: Int) { - val greenToast: ToastGreenBinding = DataBindingUtil.inflate( + val greenToast: ToastBinding = DataBindingUtil.inflate( LayoutInflater.from(this), - R.layout.toast_green, + R.layout.toast, binding.toastsArea, false ) greenToast.message = message greenToast.icon = icon + greenToast.shadowColor = R.drawable.shape_toast_green_shadow + greenToast.textColor = R.color.green_online greenToast.root.visibility = View.GONE binding.toastsArea.addView(greenToast.root) diff --git a/app/src/main/java/org/linphone/ui/main/calls/fragment/CallFragment.kt b/app/src/main/java/org/linphone/ui/main/calls/fragment/CallFragment.kt index 5628e3472..056816af2 100644 --- a/app/src/main/java/org/linphone/ui/main/calls/fragment/CallFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/calls/fragment/CallFragment.kt @@ -118,9 +118,8 @@ class CallFragment : GenericFragment() { it.consume { sharedViewModel.forceRefreshCallLogsListEvent.value = Event(true) - // TODO FIXME: show translated string (requireActivity() as MainActivity).showGreenToast( - "Historique supprimé", + getString(R.string.toast_call_history_deleted), R.drawable.check_fat_fill ) goBack() // TODO FIXME : issue with tablet when pane can't be closed @@ -133,9 +132,8 @@ class CallFragment : GenericFragment() { val label = "SIP address" clipboard.setPrimaryClip(ClipData.newPlainText(label, value)) - // TODO FIXME: show translated string (requireActivity() as MainActivity).showGreenToast( - "Numéro copié dans le presse-papier", + getString(R.string.toast_sip_address_copied_to_clipboard), R.drawable.check_fat_fill ) } diff --git a/app/src/main/java/org/linphone/ui/main/calls/fragment/CallsListFragment.kt b/app/src/main/java/org/linphone/ui/main/calls/fragment/CallsListFragment.kt index 1e8846a66..1f1ae4c2a 100644 --- a/app/src/main/java/org/linphone/ui/main/calls/fragment/CallsListFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/calls/fragment/CallsListFragment.kt @@ -160,10 +160,9 @@ class CallsListFragment : GenericFragment() { listViewModel.historyDeletedEvent.observe(viewLifecycleOwner) { it.consume { - Log.w("$TAG Deleting all call history") - // TODO FIXME: show translated string + Log.w("$TAG All call logs have been deleted") (requireActivity() as MainActivity).showGreenToast( - "Historique supprimé", + getString(R.string.toast_call_history_deleted), R.drawable.check_fat_fill ) } @@ -231,9 +230,8 @@ class CallsListFragment : GenericFragment() { val label = "SIP address" clipboard.setPrimaryClip(ClipData.newPlainText(label, value)) - // TODO FIXME: show translated string (requireActivity() as MainActivity).showGreenToast( - "Numéro copié dans le presse-papier", + getString(R.string.toast_sip_address_copied_to_clipboard), R.drawable.check_fat_fill ) } diff --git a/app/src/main/java/org/linphone/ui/main/contacts/fragment/ContactFragment.kt b/app/src/main/java/org/linphone/ui/main/contacts/fragment/ContactFragment.kt index 0eb5f6cfd..438c403dc 100644 --- a/app/src/main/java/org/linphone/ui/main/contacts/fragment/ContactFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/contacts/fragment/ContactFragment.kt @@ -212,9 +212,13 @@ class ContactFragment : GenericFragment() { val label = if (isSip) "SIP address" else "Phone number" clipboard.setPrimaryClip(ClipData.newPlainText(label, value)) - // TODO FIXME: show translated string + val message = if (isSip) { + getString(R.string.toast_sip_address_copied_to_clipboard) + } else { + getString(R.string.toast_phone_number_copied_to_clipboard) + } (requireActivity() as MainActivity).showGreenToast( - "Numéro copié dans le presse-papier", + message, R.drawable.check_fat_fill ) } diff --git a/app/src/main/java/org/linphone/ui/main/contacts/model/ContactAvatarModel.kt b/app/src/main/java/org/linphone/ui/main/contacts/model/ContactAvatarModel.kt index ee41b66d3..5eaf879d8 100644 --- a/app/src/main/java/org/linphone/ui/main/contacts/model/ContactAvatarModel.kt +++ b/app/src/main/java/org/linphone/ui/main/contacts/model/ContactAvatarModel.kt @@ -24,10 +24,12 @@ import android.net.Uri import android.provider.ContactsContract import androidx.annotation.WorkerThread import androidx.lifecycle.MutableLiveData +import org.linphone.R import org.linphone.core.ConsolidatedPresence import org.linphone.core.Friend import org.linphone.core.FriendListenerStub import org.linphone.core.tools.Log +import org.linphone.utils.AppUtils import org.linphone.utils.LinphoneUtils import org.linphone.utils.TimestampUtils @@ -113,7 +115,7 @@ class ContactAvatarModel @WorkerThread constructor(val friend: Friend) { val presenceString = when (presence) { ConsolidatedPresence.Online -> { - "Online" + AppUtils.getString(R.string.friend_presence_status_online) } ConsolidatedPresence.Busy -> { val timestamp = friend.presenceModel?.latestActivityTimestamp ?: -1L @@ -124,16 +126,20 @@ class ContactAvatarModel @WorkerThread constructor(val friend: Friend) { timestamp, timestampInSecs = true ) - val text = "Online today at" - "$text $time" + AppUtils.getFormattedString( + R.string.friend_presence_status_was_online_today_at, + time + ) } TimestampUtils.isYesterday(timestamp) -> { val time = TimestampUtils.timeToString( timestamp, timestampInSecs = true ) - val text = "Online yesterday at" - "$text $time" + AppUtils.getFormattedString( + R.string.friend_presence_status_was_online_yesterday_at, + time + ) } else -> { val date = TimestampUtils.toString( @@ -142,16 +148,18 @@ class ContactAvatarModel @WorkerThread constructor(val friend: Friend) { shortDate = false, hideYear = true ) - val text = "Online on" - "$text $date" + AppUtils.getFormattedString( + R.string.friend_presence_status_was_online_on, + date + ) } } } else { - "Away" + AppUtils.getString(R.string.friend_presence_status_away) } } ConsolidatedPresence.DoNotDisturb -> { - "Do not disturb" + AppUtils.getString(R.string.friend_presence_status_do_not_disturb) } else -> "" } diff --git a/app/src/main/java/org/linphone/ui/main/conversations/ConversationMenuDialogFragment.kt b/app/src/main/java/org/linphone/ui/main/conversations/ConversationMenuDialogFragment.kt index c970b907f..24ad25cec 100644 --- a/app/src/main/java/org/linphone/ui/main/conversations/ConversationMenuDialogFragment.kt +++ b/app/src/main/java/org/linphone/ui/main/conversations/ConversationMenuDialogFragment.kt @@ -52,7 +52,6 @@ class ConversationMenuDialogFragment( container: ViewGroup?, savedInstanceState: Bundle? ): View { - // TODO FIXME: use a viewmodel and use core thread val view = ChatRoomMenuBinding.inflate(layoutInflater) view.isMuted = chatRoom.muted diff --git a/app/src/main/java/org/linphone/ui/main/model/AccountModel.kt b/app/src/main/java/org/linphone/ui/main/model/AccountModel.kt index d83b0e051..aed57118b 100644 --- a/app/src/main/java/org/linphone/ui/main/model/AccountModel.kt +++ b/app/src/main/java/org/linphone/ui/main/model/AccountModel.kt @@ -24,10 +24,12 @@ import androidx.annotation.UiThread import androidx.annotation.WorkerThread import androidx.lifecycle.MutableLiveData import org.linphone.LinphoneApplication.Companion.coreContext +import org.linphone.R import org.linphone.core.Account import org.linphone.core.AccountListenerStub import org.linphone.core.RegistrationState import org.linphone.core.tools.Log +import org.linphone.utils.AppUtils import org.linphone.utils.LinphoneUtils class AccountModel @WorkerThread constructor( @@ -135,11 +137,21 @@ class AccountModel @WorkerThread constructor( isDefault.postValue(coreContext.core.defaultAccount == account) val state = when (account.state) { - RegistrationState.None, RegistrationState.Cleared -> "Disabled" - RegistrationState.Progress -> "Connection..." - RegistrationState.Failed -> "Error" - RegistrationState.Ok -> "Connected" - RegistrationState.Refreshing -> "Refreshing" + RegistrationState.None, RegistrationState.Cleared -> AppUtils.getString( + R.string.drawer_menu_account_connection_status_cleared + ) + RegistrationState.Progress -> AppUtils.getString( + R.string.drawer_menu_account_connection_status_progress + ) + RegistrationState.Failed -> AppUtils.getString( + R.string.drawer_menu_account_connection_status_failed + ) + RegistrationState.Ok -> AppUtils.getString( + R.string.drawer_menu_account_connection_status_connected + ) + RegistrationState.Refreshing -> AppUtils.getString( + R.string.drawer_menu_account_connection_status_refreshing + ) else -> "${account.state}" } diff --git a/app/src/main/java/org/linphone/ui/voip/VoipActivity.kt b/app/src/main/java/org/linphone/ui/voip/VoipActivity.kt index 6ba630a76..36bd012ff 100644 --- a/app/src/main/java/org/linphone/ui/voip/VoipActivity.kt +++ b/app/src/main/java/org/linphone/ui/voip/VoipActivity.kt @@ -20,8 +20,6 @@ package org.linphone.ui.voip import android.os.Bundle -import android.view.LayoutInflater -import android.view.View import android.view.ViewGroup import androidx.annotation.DrawableRes import androidx.annotation.UiThread @@ -38,9 +36,6 @@ import androidx.navigation.fragment.findNavController import org.linphone.LinphoneApplication import org.linphone.R import org.linphone.core.tools.Log -import org.linphone.databinding.ToastBlueBinding -import org.linphone.databinding.ToastGreenBinding -import org.linphone.databinding.ToastRedBinding import org.linphone.databinding.VoipActivityBinding import org.linphone.ui.voip.fragment.ActiveCallFragmentDirections import org.linphone.ui.voip.fragment.AudioDevicesMenuDialogFragment @@ -50,6 +45,7 @@ import org.linphone.ui.voip.model.AudioDeviceModel import org.linphone.ui.voip.viewmodel.CallsViewModel import org.linphone.ui.voip.viewmodel.CurrentCallViewModel import org.linphone.ui.voip.viewmodel.SharedCallViewModel +import org.linphone.utils.AppUtils import org.linphone.utils.slideInToastFromTop import org.linphone.utils.slideInToastFromTopForDuration @@ -141,12 +137,16 @@ class VoipActivity : AppCompatActivity() { callsViewModel.showLowSignalEvent.observe(this) { it.consume { show -> if (show) { - // TODO FIXME: show translated string - showRedToast("Low Wi-Fi signal!", R.drawable.wifi_low) + showRedToast( + getString(R.string.toast_alert_low_wifi_signal), + R.drawable.wifi_low + ) } else { hideRedToast() - // TODO FIXME: show translated string - showGreenToast("Wi-Fi signal no longer low", R.drawable.wifi_high) + showGreenToast( + getString(R.string.toast_alert_low_wifi_signal_cleared), + R.drawable.wifi_high + ) } } } @@ -159,15 +159,7 @@ class VoipActivity : AppCompatActivity() { } fun showBlueToast(message: String, @DrawableRes icon: Int) { - val blueToast: ToastBlueBinding = DataBindingUtil.inflate( - LayoutInflater.from(this), - R.layout.toast_blue, - binding.toastsArea, - false - ) - blueToast.message = message - blueToast.icon = icon - blueToast.root.visibility = View.GONE + val blueToast = AppUtils.getBlueToast(this, binding.toastsArea, message, icon) binding.toastsArea.addView(blueToast.root) blueToast.root.slideInToastFromTopForDuration( @@ -177,15 +169,7 @@ class VoipActivity : AppCompatActivity() { } private fun showRedToast(message: String, @DrawableRes icon: Int) { - val redToast: ToastRedBinding = DataBindingUtil.inflate( - LayoutInflater.from(this), - R.layout.toast_red, - binding.toastsArea, - false - ) - redToast.message = message - redToast.icon = icon - redToast.root.visibility = View.GONE + val redToast = AppUtils.getRedToast(this, binding.toastsArea, message, icon) binding.toastsArea.addView(redToast.root) redToast.root.slideInToastFromTop( @@ -200,15 +184,7 @@ class VoipActivity : AppCompatActivity() { } private fun showGreenToast(message: String, @DrawableRes icon: Int) { - val greenToast: ToastGreenBinding = DataBindingUtil.inflate( - LayoutInflater.from(this), - R.layout.toast_green, - binding.toastsArea, - false - ) - greenToast.message = message - greenToast.icon = icon - greenToast.root.visibility = View.GONE + val greenToast = AppUtils.getGreenToast(this, binding.toastsArea, message, icon) binding.toastsArea.addView(greenToast.root) greenToast.root.slideInToastFromTopForDuration( diff --git a/app/src/main/java/org/linphone/ui/voip/fragment/ActiveCallFragment.kt b/app/src/main/java/org/linphone/ui/voip/fragment/ActiveCallFragment.kt index 7ad092934..96f0975c6 100644 --- a/app/src/main/java/org/linphone/ui/voip/fragment/ActiveCallFragment.kt +++ b/app/src/main/java/org/linphone/ui/voip/fragment/ActiveCallFragment.kt @@ -111,12 +111,12 @@ class ActiveCallFragment : GenericCallFragment() { callViewModel.isRemoteDeviceTrusted.observe(viewLifecycleOwner) { trusted -> if (trusted) { (requireActivity() as VoipActivity).showBlueToast( - "This call can be trusted", + getString(R.string.toast_call_can_be_trusted), R.drawable.trusted ) // TODO: improve binding.avatar.avatarBorderColor = resources.getColor( - R.color.trusted_blue, + R.color.blue_trusted, requireContext().theme ) binding.avatar.avatarBorderWidth = AppUtils.getDimension( diff --git a/app/src/main/java/org/linphone/utils/AppUtils.kt b/app/src/main/java/org/linphone/utils/AppUtils.kt index e70e32bb4..c370c1ac1 100644 --- a/app/src/main/java/org/linphone/utils/AppUtils.kt +++ b/app/src/main/java/org/linphone/utils/AppUtils.kt @@ -19,14 +19,98 @@ */ package org.linphone.utils +import android.content.Context +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup import androidx.annotation.AnyThread +import androidx.annotation.DimenRes +import androidx.annotation.DrawableRes +import androidx.annotation.MainThread +import androidx.annotation.StringRes +import androidx.databinding.DataBindingUtil import org.linphone.LinphoneApplication.Companion.coreContext +import org.linphone.R +import org.linphone.databinding.ToastBinding class AppUtils { companion object { @AnyThread - fun getDimension(id: Int): Float { + fun getDimension(@DimenRes id: Int): Float { return coreContext.context.resources.getDimension(id) } + + @AnyThread + fun getString(@StringRes id: Int): String { + return coreContext.context.getString(id) + } + + @AnyThread + fun getFormattedString(@StringRes id: Int, args: Any): String { + return coreContext.context.getString(id, args) + } + + @MainThread + fun getRedToast( + context: Context, + parent: ViewGroup, + message: String, + @DrawableRes icon: Int + ): ToastBinding { + val redToast: ToastBinding = DataBindingUtil.inflate( + LayoutInflater.from(context), + R.layout.toast, + parent, + false + ) + redToast.message = message + redToast.icon = icon + redToast.shadowColor = R.drawable.shape_toast_red_shadow + redToast.textColor = R.color.red_danger + redToast.root.visibility = View.GONE + return redToast + } + + @MainThread + fun getGreenToast( + context: Context, + parent: ViewGroup, + message: String, + @DrawableRes icon: Int + ): ToastBinding { + val greenToast: ToastBinding = DataBindingUtil.inflate( + LayoutInflater.from(context), + R.layout.toast, + parent, + false + ) + greenToast.message = message + greenToast.icon = icon + greenToast.shadowColor = R.drawable.shape_toast_green_shadow + greenToast.textColor = R.color.green_online + greenToast.root.visibility = View.GONE + return greenToast + } + + @MainThread + fun getBlueToast( + context: Context, + parent: ViewGroup, + message: String, + @DrawableRes icon: Int + ): ToastBinding { + val blueToast: ToastBinding = DataBindingUtil.inflate( + LayoutInflater.from(context), + R.layout.toast, + parent, + false + ) + blueToast.message = message + blueToast.icon = icon + blueToast.shadowColor = R.drawable.shape_toast_blue_shadow + blueToast.textColor = R.color.blue_trusted + blueToast.root.visibility = View.GONE + return blueToast + } } } diff --git a/app/src/main/java/org/linphone/utils/DataBindingUtils.kt b/app/src/main/java/org/linphone/utils/DataBindingUtils.kt index f33dae9a2..1bf99d394 100644 --- a/app/src/main/java/org/linphone/utils/DataBindingUtils.kt +++ b/app/src/main/java/org/linphone/utils/DataBindingUtils.kt @@ -20,6 +20,7 @@ package org.linphone.utils import android.content.Context +import android.graphics.PorterDuff import android.text.Editable import android.text.TextWatcher import android.view.LayoutInflater @@ -31,10 +32,12 @@ import android.view.inputmethod.InputMethodManager import android.widget.EditText import android.widget.ImageView import androidx.annotation.ColorInt +import androidx.annotation.ColorRes import androidx.annotation.UiThread import androidx.appcompat.widget.AppCompatEditText import androidx.appcompat.widget.AppCompatTextView import androidx.constraintlayout.widget.ConstraintLayout +import androidx.core.content.ContextCompat import androidx.core.view.ViewCompat import androidx.core.view.WindowCompat import androidx.core.view.WindowInsetsCompat @@ -205,6 +208,16 @@ fun ImageView.setPresenceIcon(presence: ConsolidatedPresence?) { setImageResource(icon) } +@BindingAdapter("tint") +fun ImageView.setTintColor(@ColorRes color: Int) { + setColorFilter(ContextCompat.getColor(context, color), PorterDuff.Mode.SRC_IN) +} + +@BindingAdapter("textColor") +fun AppCompatTextView.setColor(@ColorRes color: Int) { + setTextColor(ContextCompat.getColor(context, color)) +} + @UiThread @BindingAdapter("avatarInitials") fun AvatarView.loadInitials(initials: String?) { @@ -230,7 +243,7 @@ fun AvatarView.loadAccountAvatar(account: AccountModel?) { if (account.showTrust.value == true) { avatarBorderColor = - resources.getColor(R.color.trusted_blue, context.theme) + resources.getColor(R.color.blue_trusted, context.theme) avatarBorderWidth = AppUtils.getDimension(R.dimen.avatar_trust_border_width).toInt() } else { @@ -251,7 +264,7 @@ fun AvatarView.loadAccountAvatar(account: AccountModel?) { avatarInitials = account.initials.value.orEmpty() if (account.showTrust.value == true) { - avatarBorderColor = resources.getColor(R.color.trusted_blue, context.theme) + avatarBorderColor = resources.getColor(R.color.blue_trusted, context.theme) avatarBorderWidth = AppUtils.getDimension(R.dimen.avatar_trust_border_width).toInt() } else { avatarBorderWidth = AppUtils.getDimension(R.dimen.zero).toInt() @@ -281,7 +294,7 @@ fun AvatarView.loadContactAvatar(contact: ContactAvatarModel?) { if (contact.showTrust.value == true) { avatarBorderColor = - resources.getColor(R.color.trusted_blue, context.theme) + resources.getColor(R.color.blue_trusted, context.theme) avatarBorderWidth = AppUtils.getDimension(R.dimen.avatar_trust_border_width).toInt() } else { diff --git a/app/src/main/res/drawable/shape_toast_blue_shadow.xml b/app/src/main/res/drawable/shape_toast_blue_shadow.xml index 7a286b6c4..3b7aeac5f 100644 --- a/app/src/main/res/drawable/shape_toast_blue_shadow.xml +++ b/app/src/main/res/drawable/shape_toast_blue_shadow.xml @@ -4,7 +4,7 @@ - + diff --git a/app/src/main/res/layout-land/bottom_nav_bar.xml b/app/src/main/res/layout-land/bottom_nav_bar.xml index 6f674583a..267faf642 100644 --- a/app/src/main/res/layout-land/bottom_nav_bar.xml +++ b/app/src/main/res/layout-land/bottom_nav_bar.xml @@ -38,7 +38,7 @@ android:drawablePadding="10dp" android:drawableTint="@{viewModel.contactsSelected ? @color/primary_color : @color/gray_9, default=@color/gray_9}" android:onClick="@{onContactsClicked}" - android:text="Contacts" + android:text="@string/bottom_navigation_contacts_label" android:textStyle="@{viewModel.contactsSelected ? Typeface.BOLD : Typeface.NORMAL}" app:layout_constraintBottom_toTopOf="@id/calls" app:layout_constraintStart_toStartOf="parent" @@ -54,7 +54,7 @@ android:drawableTop="@drawable/phone" android:drawableTint="@{viewModel.callsSelected ? @color/primary_color : @color/gray_9, default=@color/gray_9}" android:drawablePadding="10dp" - android:text="Calls" + android:text="@string/bottom_navigation_calls_label" android:textStyle="@{viewModel.callsSelected ? Typeface.BOLD : Typeface.NORMAL}" app:layout_constraintBottom_toTopOf="@id/conversations" app:layout_constraintStart_toStartOf="parent" @@ -86,7 +86,7 @@ android:drawablePadding="10dp" android:drawableTint="@{viewModel.conversationsSelected ? @color/primary_color : @color/gray_9, default=@color/gray_9}" android:onClick="@{onConversationsClicked}" - android:text="Conversations" + android:text="@string/bottom_navigation_conversations_label" android:textStyle="@{viewModel.conversationsSelected ? Typeface.BOLD : Typeface.NORMAL}" app:layout_constraintBottom_toTopOf="@id/meetings" app:layout_constraintStart_toStartOf="parent" @@ -103,7 +103,7 @@ android:drawableTop="@drawable/users_three" android:drawablePadding="10dp" android:drawableTint="@{viewModel.meetingsSelected ? @color/primary_color : @color/gray_9, default=@color/gray_9}" - android:text="Meetings" + android:text="@string/bottom_navigation_meetings_label" android:textStyle="@{viewModel.meetingsSelected ? Typeface.BOLD : Typeface.NORMAL}" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/app/src/main/res/layout-land/calls_list_fragment.xml b/app/src/main/res/layout-land/calls_list_fragment.xml index 520f84902..40fb2f14d 100644 --- a/app/src/main/res/layout-land/calls_list_fragment.xml +++ b/app/src/main/res/layout-land/calls_list_fragment.xml @@ -85,7 +85,7 @@ android:id="@+id/no_calls_label" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="No calls for the moment..." + android:text="@string/calls_list_empty_history" android:textSize="16sp" app:layout_constraintBottom_toTopOf="@id/background" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout-land/contacts_list_fragment.xml b/app/src/main/res/layout-land/contacts_list_fragment.xml index 2b07447c4..697e89678 100644 --- a/app/src/main/res/layout-land/contacts_list_fragment.xml +++ b/app/src/main/res/layout-land/contacts_list_fragment.xml @@ -89,7 +89,7 @@ android:id="@+id/no_contacts_label" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="No contacts for the moment..." + android:text="@string/contacts_list_empty" android:textSize="16sp" app:layout_constraintBottom_toTopOf="@id/background" app:layout_constraintEnd_toEndOf="parent" @@ -106,7 +106,7 @@ android:layout_marginStart="16dp" android:layout_marginEnd="16dp" android:layout_marginTop="20dp" - android:text="Favourites" + android:text="@string/contacts_list_favourites_title" android:drawableEnd="@drawable/caret_up" android:drawableTint="@color/gray_9" android:textSize="16sp" @@ -135,7 +135,7 @@ android:layout_marginStart="16dp" android:layout_marginEnd="16dp" android:layout_marginTop="16dp" - android:text="All contacts" + android:text="@string/contacts_list_all_contacts_title" android:textSize="16sp" app:layout_constraintStart_toEndOf="@id/bottom_nav_bar" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/account_list_cell.xml b/app/src/main/res/layout/account_list_cell.xml index ec490c250..7e13c2109 100644 --- a/app/src/main/res/layout/account_list_cell.xml +++ b/app/src/main/res/layout/account_list_cell.xml @@ -82,7 +82,7 @@ android:paddingBottom="4dp" android:background="@drawable/shape_chip_gray_background" android:gravity="center" - android:text="@{model.registrationState, default=`Connected`}" + android:text="@{model.registrationState, default=@string/drawer_menu_account_connection_status_connected}" android:textColor="@{model.isConnected ? @color/green_online : model.inError ? @color/red_danger : @color/gray_1, default=@color/green_online}" android:textSize="12sp" app:layout_constraintStart_toStartOf="@id/name" @@ -94,7 +94,7 @@ android:visibility="@{model.isDefault ? View.VISIBLE : View.GONE}" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="Default" + android:text="@string/drawer_menu_default_account_label" android:textSize="12sp" android:gravity="center" android:drawableStart="@drawable/check_fat_fill" diff --git a/app/src/main/res/layout/account_popup_menu.xml b/app/src/main/res/layout/account_popup_menu.xml index 478e7686d..0f366a4c3 100644 --- a/app/src/main/res/layout/account_popup_menu.xml +++ b/app/src/main/res/layout/account_popup_menu.xml @@ -22,7 +22,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dp" - android:text="Manage the profile" + android:text="@string/drawer_menu_manage_account" android:textSize="14sp" android:textColor="@color/gray_1" android:drawableStart="@drawable/user_gear" diff --git a/app/src/main/res/layout/account_profile_fragment.xml b/app/src/main/res/layout/account_profile_fragment.xml index 3ed0d612b..4c73ef802 100644 --- a/app/src/main/res/layout/account_profile_fragment.xml +++ b/app/src/main/res/layout/account_profile_fragment.xml @@ -43,7 +43,7 @@ android:layout_marginStart="10dp" android:layout_marginEnd="10dp" android:gravity="center_vertical" - android:text="Account profile" + android:text="@string/manage_account_title" android:textColor="@color/primary_color" android:textSize="16sp" app:layout_constraintEnd_toEndOf="parent" @@ -79,7 +79,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" - android:text="Add a picture" + android:text="@string/manage_account_add_picture" android:textSize="14sp" app:layout_constraintTop_toBottomOf="@id/avatar" app:layout_constraintStart_toStartOf="parent" @@ -92,7 +92,7 @@ android:layout_height="wrap_content" android:layout_marginTop="30dp" android:layout_marginEnd="16dp" - android:text="SIP address" + android:text="@string/sip_address" android:textSize="13sp" app:layout_constraintWidth_max="@dimen/text_input_max_width" app:layout_constraintStart_toStartOf="@id/sip_uri" @@ -127,7 +127,7 @@ android:layout_height="wrap_content" android:layout_marginTop="16dp" android:layout_marginEnd="16dp" - android:text="Display Name" + android:text="@string/sip_address_display_name" android:textSize="13sp" app:layout_constraintWidth_max="@dimen/text_input_max_width" app:layout_constraintStart_toStartOf="@id/first_name" @@ -161,7 +161,7 @@ android:layout_height="wrap_content" android:layout_marginTop="30dp" android:layout_marginEnd="16dp" - android:text="International Prefix" + android:text="@string/manage_account_international_prefix" android:textSize="13sp" app:layout_constraintWidth_max="@dimen/text_input_max_width" app:layout_constraintStart_toStartOf="@id/international_prefix" diff --git a/app/src/main/res/layout/assistant_country_picker_fragment.xml b/app/src/main/res/layout/assistant_country_picker_fragment.xml index 46e0c4727..da53fc54b 100644 --- a/app/src/main/res/layout/assistant_country_picker_fragment.xml +++ b/app/src/main/res/layout/assistant_country_picker_fragment.xml @@ -26,7 +26,7 @@ android:layout_height="match_parent" android:gravity="center_vertical|center" android:singleLine="true" - android:text="Choose your country"/> + android:text="@string/assistant_country_picker_title"/> @@ -39,7 +39,7 @@ android:layout_toLeftOf="@id/clear_field" android:layout_width="match_parent" android:layout_height="wrap_content" - android:hint="Country name"> + android:hint="@string/assistant_country_picker_hint"> diff --git a/app/src/main/res/layout/assistant_login_fragment.xml b/app/src/main/res/layout/assistant_login_fragment.xml index 9e1bf59d4..db053e78d 100644 --- a/app/src/main/res/layout/assistant_login_fragment.xml +++ b/app/src/main/res/layout/assistant_login_fragment.xml @@ -66,7 +66,7 @@ android:layout_height="wrap_content" android:layout_marginTop="100dp" android:paddingBottom="30dp" - android:text="Login" + android:text="@string/assistant_account_login" android:textSize="20sp" android:textColor="@color/white" app:layout_constraintTop_toTopOf="parent" @@ -80,7 +80,7 @@ android:layout_height="wrap_content" android:layout_marginTop="18dp" android:layout_marginEnd="16dp" - android:text="Username*" + android:text="@{@string/username + `*`}" android:textSize="13sp" android:textColor="@color/gray_9" app:layout_constraintTop_toBottomOf="@id/title" @@ -100,7 +100,7 @@ android:textColor="@color/gray_9" android:background="@drawable/edit_text_background" android:inputType="text" - android:hint="Username" + android:hint="@string/username" app:layout_constraintWidth_max="@dimen/text_input_max_width" app:layout_constraintTop_toBottomOf="@id/username_label" app:layout_constraintStart_toStartOf="parent" @@ -113,7 +113,7 @@ android:layout_height="wrap_content" android:layout_marginEnd="16dp" android:layout_marginTop="16dp" - android:text="Password*" + android:text="@{@string/password + `*`}" android:textSize="13sp" android:textColor="@color/gray_9" app:layout_constraintWidth_max="@dimen/text_input_max_width" @@ -133,7 +133,7 @@ android:textSize="14sp" android:textColor="@color/gray_9" android:background="@drawable/edit_text_background" - android:hint="Password" + android:hint="@string/password" app:layout_constraintWidth_max="@dimen/text_input_max_width" android:inputType="@{viewModel.showPassword ? InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD : InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD, default=textPassword}" app:layout_constraintTop_toBottomOf="@id/password_label" @@ -167,7 +167,7 @@ android:paddingBottom="@dimen/primary_secondary_buttons_label_padding" android:paddingStart="20dp" android:paddingEnd="20dp" - android:text="Login" + android:text="@string/assistant_account_login" android:textSize="18sp" android:textColor="@color/primary_button_label_color" android:gravity="center" @@ -203,7 +203,7 @@ android:layout_marginTop="28dp" android:paddingStart="10dp" android:paddingEnd="10dp" - android:text="or" + android:text="@string/or" android:textSize="14sp" android:textColor="@color/gray_1" app:layout_constraintStart_toStartOf="parent" @@ -243,7 +243,7 @@ android:paddingBottom="@dimen/primary_secondary_buttons_label_padding" android:paddingStart="20dp" android:paddingEnd="20dp" - android:text="Scan QR code" + android:text="@string/assistant_scan_qr_code" android:textSize="18sp" android:textColor="@color/secondary_button_label_color" android:gravity="center" @@ -269,7 +269,7 @@ android:paddingBottom="@dimen/primary_secondary_buttons_label_padding" android:paddingStart="20dp" android:paddingEnd="20dp" - android:text="Use third party SIP account" + android:text="@string/assistant_login_third_party_sip_account" android:textSize="18sp" android:textColor="@color/secondary_button_label_color" android:gravity="center" @@ -286,7 +286,7 @@ android:layout_height="wrap_content" android:paddingStart="20dp" android:paddingEnd="20dp" - android:text="No account yet?" + android:text="@string/assistant_no_account_yet" android:textSize="14sp" android:textColor="@color/gray_8" app:layout_constraintHorizontal_chainStyle="packed" @@ -308,7 +308,7 @@ android:paddingBottom="@dimen/primary_secondary_buttons_label_padding" android:paddingStart="20dp" android:paddingEnd="20dp" - android:text="Register" + android:text="@string/assistant_account_register" android:textSize="18sp" android:textColor="@color/secondary_button_label_color" android:gravity="center" diff --git a/app/src/main/res/layout/assistant_qr_code_scanner_fragment.xml b/app/src/main/res/layout/assistant_qr_code_scanner_fragment.xml index a72fab4df..3cb37546b 100644 --- a/app/src/main/res/layout/assistant_qr_code_scanner_fragment.xml +++ b/app/src/main/res/layout/assistant_qr_code_scanner_fragment.xml @@ -48,7 +48,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_marginTop="100dp" - android:text="Scan a QR Code" + android:text="@string/assistant_scan_qr_code_title" android:textSize="20sp" android:textColor="@color/white" android:gravity="center" diff --git a/app/src/main/res/layout/assistant_register_confirm_sms_code_fragment.xml b/app/src/main/res/layout/assistant_register_confirm_sms_code_fragment.xml index 2b8c91094..1ff064f8e 100644 --- a/app/src/main/res/layout/assistant_register_confirm_sms_code_fragment.xml +++ b/app/src/main/res/layout/assistant_register_confirm_sms_code_fragment.xml @@ -53,7 +53,7 @@ android:layout_height="wrap_content" android:layout_marginTop="100dp" android:paddingBottom="30dp" - android:text="Register" + android:text="@string/assistant_account_register" android:textSize="20sp" android:textColor="@color/white" app:layout_constraintTop_toTopOf="parent" @@ -68,7 +68,7 @@ android:layout_marginTop="100dp" android:layout_marginStart="16dp" android:layout_marginEnd="16dp" - android:text="@{viewModel.confirmationMessage, default=`We have sent a verification code on your phone number.\n\nPlease enter the verification code below:`}" + android:text="@{viewModel.confirmationMessage, default=@string/assistant_account_creation_sms_confirmation_explanation}" android:textSize="14sp" android:textColor="@color/gray_9" android:gravity="center_horizontal" @@ -184,7 +184,7 @@ android:paddingBottom="6dp" android:paddingStart="12dp" android:paddingEnd="12dp" - android:text="Wrong number?" + android:text="@string/assistant_account_creation_wrong_phone_number" android:textSize="13sp" android:textColor="@color/secondary_button_label_color" android:gravity="center" diff --git a/app/src/main/res/layout/assistant_register_fragment.xml b/app/src/main/res/layout/assistant_register_fragment.xml index 148293de8..f86e197b1 100644 --- a/app/src/main/res/layout/assistant_register_fragment.xml +++ b/app/src/main/res/layout/assistant_register_fragment.xml @@ -70,7 +70,7 @@ android:layout_height="wrap_content" android:layout_marginTop="100dp" android:paddingBottom="30dp" - android:text="Register" + android:text="@string/assistant_account_register" android:textSize="20sp" android:textColor="@color/white" app:layout_constraintTop_toTopOf="parent" @@ -84,7 +84,7 @@ android:layout_height="wrap_content" android:layout_marginTop="48dp" android:layout_marginEnd="16dp" - android:text="Username*" + android:text="@{@string/username + `*`}" android:textSize="13sp" android:textColor="@color/gray_9" app:layout_constraintTop_toBottomOf="@id/title" @@ -104,7 +104,7 @@ android:textColor="@color/gray_9" android:background="@{viewModel.usernameError.length() > 0 ? @drawable/shape_edit_text_error_background : @drawable/edit_text_background, default=@drawable/edit_text_background}" android:inputType="text" - android:hint="Username" + android:hint="@string/username" app:layout_constraintWidth_max="@dimen/text_input_max_width" app:layout_constraintTop_toBottomOf="@id/username_label" app:layout_constraintStart_toStartOf="parent" @@ -130,7 +130,7 @@ android:layout_height="wrap_content" android:layout_marginEnd="16dp" android:layout_marginTop="16dp" - android:text="Phone Number*" + android:text="@{@string/phone_number + `*`}" android:textSize="13sp" android:textColor="@color/gray_9" app:layout_constraintTop_toBottomOf="@id/username_error" @@ -150,7 +150,7 @@ android:inputType="phone" android:drawableStart="@drawable/separator" android:drawablePadding="10dp" - android:hint="Phone number" + android:hint="@string/phone_number" app:layout_constraintWidth_max="@dimen/text_input_max_width" app:layout_constraintTop_toBottomOf="@id/phone_number_label" app:layout_constraintStart_toStartOf="@id/username" @@ -193,7 +193,7 @@ android:layout_height="wrap_content" android:layout_marginEnd="16dp" android:layout_marginTop="16dp" - android:text="Password*" + android:text="@{@string/password + `*`}" android:textSize="13sp" android:textColor="@color/gray_9" app:layout_constraintTop_toBottomOf="@id/phone_number_error" @@ -212,7 +212,7 @@ android:textSize="14sp" android:textColor="@color/gray_9" android:background="@drawable/edit_text_background" - android:hint="Password" + android:hint="@string/password" android:inputType="@{viewModel.showPassword ? InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD : InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD, default=textPassword}" app:layout_constraintWidth_max="@dimen/text_input_max_width" app:layout_constraintTop_toBottomOf="@id/password_label" @@ -244,7 +244,7 @@ android:paddingBottom="@dimen/primary_secondary_buttons_label_padding" android:layout_marginStart="16dp" android:layout_marginEnd="16dp" - android:text="Create" + android:text="@string/assistant_account_create" android:textSize="18sp" android:textColor="@color/primary_button_label_color" android:gravity="center" @@ -261,7 +261,7 @@ android:layout_height="wrap_content" android:layout_marginTop="34dp" android:gravity="center" - android:text="Create an account with your email on:" + android:text="@string/assistant_create_account_using_email_on_our_web_platform" android:textSize="14sp" android:textColor="@color/gray_8" app:layout_constraintTop_toBottomOf="@id/create" @@ -279,7 +279,7 @@ android:paddingBottom="6dp" android:paddingStart="12dp" android:paddingEnd="12dp" - android:text="subscribe.linphone.org" + android:text="@string/assistant_web_platform_link" android:textSize="13sp" android:textColor="@color/secondary_button_label_color" android:gravity="center" @@ -295,7 +295,7 @@ android:layout_height="wrap_content" android:paddingStart="20dp" android:paddingEnd="20dp" - android:text="Already an account?" + android:text="@string/assistant_already_have_an_account" android:textSize="14sp" android:textColor="@color/gray_8" app:layout_constraintHorizontal_chainStyle="packed" @@ -317,7 +317,7 @@ android:paddingBottom="@dimen/primary_secondary_buttons_label_padding" android:paddingStart="20dp" android:paddingEnd="20dp" - android:text="Login" + android:text="@string/assistant_account_login" android:textSize="18sp" android:textColor="@color/secondary_button_label_color" android:gravity="center" diff --git a/app/src/main/res/layout/assistant_third_party_sip_account_login_fragment.xml b/app/src/main/res/layout/assistant_third_party_sip_account_login_fragment.xml index 37f1454c3..08fa7ff40 100644 --- a/app/src/main/res/layout/assistant_third_party_sip_account_login_fragment.xml +++ b/app/src/main/res/layout/assistant_third_party_sip_account_login_fragment.xml @@ -41,7 +41,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="100dp" - android:text="Use a third party SIP Account" + android:text="@string/assistant_login_third_party_sip_account" android:textSize="20sp" android:textColor="@color/gray_9" app:layout_constraintTop_toTopOf="parent" @@ -56,7 +56,7 @@ android:layout_marginTop="38dp" android:layout_marginStart="16dp" android:layout_marginEnd="16dp" - android:text="Username*" + android:text="@{@string/username + `*`}" android:textSize="13sp" android:textColor="@color/gray_9" app:layout_constraintTop_toBottomOf="@id/title" @@ -76,7 +76,7 @@ android:textColor="@color/gray_9" android:background="@drawable/edit_text_background" android:inputType="text" - android:hint="Username" + android:hint="@string/username" app:layout_constraintWidth_max="@dimen/text_input_max_width" app:layout_constraintTop_toBottomOf="@id/username_label" app:layout_constraintStart_toStartOf="parent" @@ -90,7 +90,7 @@ android:layout_marginStart="16dp" android:layout_marginEnd="16dp" android:layout_marginTop="16dp" - android:text="Password*" + android:text="@{@string/password + `*`}" android:textSize="13sp" android:textColor="@color/gray_9" app:layout_constraintTop_toBottomOf="@id/username" @@ -109,7 +109,7 @@ android:textSize="14sp" android:textColor="@color/gray_9" android:background="@drawable/edit_text_background" - android:hint="Password" + android:hint="@string/password" android:inputType="@{viewModel.showPassword ? InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD : InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD, default=textPassword}" app:layout_constraintWidth_max="@dimen/text_input_max_width" app:layout_constraintTop_toBottomOf="@id/password_label" @@ -137,7 +137,7 @@ android:layout_marginTop="18dp" android:layout_marginStart="16dp" android:layout_marginEnd="16dp" - android:text="Domain*" + android:text="@{@string/sip_address_domain + `*`}" android:textSize="13sp" android:textColor="@color/gray_9" app:layout_constraintTop_toBottomOf="@id/password" @@ -157,7 +157,7 @@ android:textColor="@color/gray_9" android:background="@drawable/edit_text_background" android:inputType="text|textUri" - android:hint="Domain" + android:hint="@string/sip_address_domain" app:layout_constraintWidth_max="@dimen/text_input_max_width" app:layout_constraintTop_toBottomOf="@id/domain_label" app:layout_constraintStart_toStartOf="parent" @@ -171,7 +171,7 @@ android:layout_marginTop="18dp" android:layout_marginStart="16dp" android:layout_marginEnd="16dp" - android:text="Display Name" + android:text="@string/sip_address_display_name" android:textSize="13sp" android:textColor="@color/gray_9" app:layout_constraintTop_toBottomOf="@id/domain" @@ -191,7 +191,7 @@ android:textColor="@color/gray_9" android:background="@drawable/edit_text_background" android:inputType="text|textPersonName" - android:hint="Display Name" + android:hint="@string/sip_address_display_name" app:layout_constraintWidth_max="@dimen/text_input_max_width" app:layout_constraintTop_toBottomOf="@id/display_name_label" app:layout_constraintStart_toStartOf="parent" @@ -205,7 +205,7 @@ android:layout_marginTop="18dp" android:layout_marginStart="16dp" android:layout_marginEnd="16dp" - android:text="Transport*" + android:text="@{@string/assistant_sip_account_transport_protocol + `*`}" android:textSize="13sp" android:textColor="@color/gray_9" app:layout_constraintTop_toBottomOf="@id/display_name" @@ -249,7 +249,7 @@ android:paddingBottom="@dimen/primary_secondary_buttons_label_padding" android:paddingStart="20dp" android:paddingEnd="20dp" - android:text="Login" + android:text="@string/assistant_account_login" android:textSize="18sp" android:textColor="@color/primary_button_label_color" android:gravity="center" diff --git a/app/src/main/res/layout/assistant_third_party_sip_account_warning_fragment.xml b/app/src/main/res/layout/assistant_third_party_sip_account_warning_fragment.xml index df9ba1fea..4380054e7 100644 --- a/app/src/main/res/layout/assistant_third_party_sip_account_warning_fragment.xml +++ b/app/src/main/res/layout/assistant_third_party_sip_account_warning_fragment.xml @@ -48,7 +48,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="100dp" - android:text="Use a third party SIP Account" + android:text="@string/assistant_login_third_party_sip_account" android:textSize="20sp" android:textColor="@color/gray_9" app:layout_constraintTop_toTopOf="parent" @@ -91,7 +91,7 @@ android:layout_marginTop="42dp" android:layout_marginStart="16dp" android:layout_marginEnd="16dp" - android:text="Some features require a Linphone account, such as group messaging, video conferences...\n\nThese features are hidden when you register with a third party SIP account.\n\nTo enable it in a commercial projet, please contact us. " + android:text="@string/assistant_third_party_sip_account_warning_explanation" android:textSize="14sp" android:gravity="center" app:layout_constraintWidth_max="@dimen/text_input_max_width" @@ -110,7 +110,7 @@ android:paddingBottom="6dp" android:paddingStart="12dp" android:paddingEnd="12dp" - android:text="linphone.org/contact" + android:text="@string/assistant_linphone_contact_us_link" android:textSize="13sp" android:textColor="@color/secondary_button_label_color" android:gravity="center" @@ -133,7 +133,7 @@ android:paddingBottom="@dimen/primary_secondary_buttons_label_padding" android:paddingStart="20dp" android:paddingEnd="20dp" - android:text="I prefer to create an account" + android:text="@string/assistant_third_party_sip_account_create_linphone_account" android:textSize="18sp" android:textColor="@color/secondary_button_label_color" android:gravity="center" @@ -158,7 +158,7 @@ android:paddingBottom="@dimen/primary_secondary_buttons_label_padding" android:paddingStart="20dp" android:paddingEnd="20dp" - android:text="I understand" + android:text="@string/assistant_third_party_sip_account_warning_ok" android:textSize="18sp" android:textColor="@color/primary_button_label_color" android:gravity="center" diff --git a/app/src/main/res/layout/bottom_nav_bar.xml b/app/src/main/res/layout/bottom_nav_bar.xml index c0b4fcbb7..aa4921464 100644 --- a/app/src/main/res/layout/bottom_nav_bar.xml +++ b/app/src/main/res/layout/bottom_nav_bar.xml @@ -40,7 +40,7 @@ android:drawableTop="@drawable/address_book" android:drawablePadding="10dp" android:drawableTint="@{viewModel.contactsSelected ? @color/primary_color : @color/gray_9, default=@color/gray_9}" - android:text="Contacts" + android:text="@string/bottom_navigation_contacts_label" android:textStyle="@{viewModel.contactsSelected ? Typeface.BOLD : Typeface.NORMAL}" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@id/calls" @@ -59,7 +59,7 @@ android:drawableTop="@drawable/phone" android:drawablePadding="10dp" android:drawableTint="@{viewModel.callsSelected ? @color/primary_color : @color/gray_9, default=@color/gray_9}" - android:text="Calls" + android:text="@string/bottom_navigation_calls_label" android:textStyle="@{viewModel.callsSelected ? Typeface.BOLD : Typeface.NORMAL}" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@id/conversations" @@ -97,7 +97,7 @@ android:drawableTop="@drawable/chat_text" android:drawablePadding="10dp" android:drawableTint="@{viewModel.conversationsSelected ? @color/primary_color : @color/gray_9, default=@color/gray_9}" - android:text="Conversations" + android:text="@string/bottom_navigation_conversations_label" android:textStyle="@{viewModel.conversationsSelected ? Typeface.BOLD : Typeface.NORMAL}" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@id/meetings" @@ -117,7 +117,7 @@ android:drawableTop="@drawable/users_three" android:drawablePadding="10dp" android:drawableTint="@{viewModel.meetingsSelected ? @color/primary_color : @color/gray_9, default=@color/gray_9}" - android:text="Meetings" + android:text="@string/bottom_navigation_meetings_label" android:textStyle="@{viewModel.meetingsSelected ? Typeface.BOLD : Typeface.NORMAL}" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/call_fragment.xml b/app/src/main/res/layout/call_fragment.xml index 5f8e35ff5..51d6affaa 100644 --- a/app/src/main/res/layout/call_fragment.xml +++ b/app/src/main/res/layout/call_fragment.xml @@ -44,7 +44,7 @@ android:layout_marginStart="10dp" android:layout_marginEnd="10dp" android:gravity="center_vertical" - android:text="Call history" + android:text="@string/call_history_title" android:textColor="@color/primary_color" android:textSize="16sp" app:layout_constraintEnd_toStartOf="@id/menu" @@ -134,7 +134,7 @@ android:visibility="@{viewModel.callLogModel.avatarModel.presenceStatus == ConsolidatedPresence.Offline ? View.GONE : View.VISIBLE}" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="@{viewModel.callLogModel.avatarModel.lastPresenceInfo, default=`En ligne`}" + android:text="@{viewModel.callLogModel.avatarModel.lastPresenceInfo, default=@string/friend_presence_status_online}" android:textColor="@{viewModel.callLogModel.avatarModel.presenceStatus == ConsolidatedPresence.Online ? @color/green_online : @color/orange_away, default=@color/green_online}" android:textSize="14sp" app:layout_constraintEnd_toEndOf="parent" @@ -162,7 +162,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8dp" - android:text="Call" + android:text="@string/friend_call_action" android:textSize="14sp" app:layout_constraintTop_toBottomOf="@id/call" app:layout_constraintStart_toStartOf="@id/call" @@ -189,7 +189,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8dp" - android:text="Message" + android:text="@string/friend_message_action" android:textSize="14sp" app:layout_constraintTop_toBottomOf="@id/chat" app:layout_constraintStart_toStartOf="@id/chat" @@ -216,7 +216,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8dp" - android:text="Video Call" + android:text="@string/friend_video_call_action" android:textSize="14sp" app:layout_constraintTop_toBottomOf="@id/video_call" app:layout_constraintStart_toStartOf="@id/video_call" diff --git a/app/src/main/res/layout/call_history_list_cell.xml b/app/src/main/res/layout/call_history_list_cell.xml index 61bdeb7de..62c6ed419 100644 --- a/app/src/main/res/layout/call_history_list_cell.xml +++ b/app/src/main/res/layout/call_history_list_cell.xml @@ -33,7 +33,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="8dp" - android:text="@{model.isOutgoing() ? `Appel sortant` : `Appel entrant`, default=`Appel sortant`}" + android:text="@{model.isOutgoing() ? @string/call_outgoing : @string/call_incoming, default=@string/call_outgoing}" android:textSize="14sp" android:textColor="@color/gray_8" app:layout_constraintStart_toEndOf="@id/call_status" @@ -48,7 +48,7 @@ android:layout_marginBottom="16dp" android:layout_marginStart="5dp" android:gravity="center" - android:text="@{model.dateTime, default=`13 aout 2023 | 19:47`}" + android:text="@{model.dateTime, default=`August 13th 2023 | 07:47 PM`}" android:textSize="12sp" android:textColor="@{model.isSuccessful ? @color/gray_9 : @color/red_danger, default=@color/gray_9}" app:layout_constraintStart_toEndOf="@id/call_status" diff --git a/app/src/main/res/layout/call_popup_menu.xml b/app/src/main/res/layout/call_popup_menu.xml index e65b4dcda..f8824369b 100644 --- a/app/src/main/res/layout/call_popup_menu.xml +++ b/app/src/main/res/layout/call_popup_menu.xml @@ -39,7 +39,7 @@ android:layout_marginStart="20dp" android:layout_marginEnd="20dp" android:gravity="left|center_vertical" - android:text="Ajouter aux contacts" + android:text="@string/menu_add_address_to_contacts" android:textSize="14sp" android:textColor="@color/gray_1" android:drawableStart="@drawable/plus_circle" @@ -62,7 +62,7 @@ android:layout_marginStart="20dp" android:layout_marginEnd="20dp" android:gravity="left|center_vertical" - android:text="Voir le contact" + android:text="@string/menu_see_existing_contact" android:textSize="14sp" android:textColor="@color/gray_1" android:drawableStart="@drawable/user_circle" @@ -83,7 +83,7 @@ android:layout_marginStart="20dp" android:layout_marginEnd="20dp" android:gravity="left|center_vertical" - android:text="Copier le numéro" + android:text="@string/menu_copy_sip_address" android:textSize="14sp" android:textColor="@color/gray_1" android:drawableStart="@drawable/copy" @@ -105,7 +105,7 @@ android:layout_marginStart="20dp" android:layout_marginEnd="20dp" android:gravity="left|center_vertical" - android:text="Delete all history" + android:text="@string/menu_delete_history" android:textSize="14sp" android:textColor="@color/red_danger" android:drawableStart="@drawable/trash_simple" diff --git a/app/src/main/res/layout/call_start_fragment.xml b/app/src/main/res/layout/call_start_fragment.xml index 027a1266b..400b529ba 100644 --- a/app/src/main/res/layout/call_start_fragment.xml +++ b/app/src/main/res/layout/call_start_fragment.xml @@ -47,7 +47,7 @@ android:layout_marginStart="10dp" android:layout_marginEnd="10dp" android:gravity="center_vertical" - android:text="New call" + android:text="@string/call_start_title" android:textColor="@color/primary_color" android:textSize="16sp" app:layout_constraintEnd_toEndOf="parent" @@ -76,7 +76,7 @@ android:drawableStart="@drawable/magnifying_glass" android:drawablePadding="10dp" android:drawableTint="@color/gray_9" - android:hint="Search contact or history call" + android:hint="@string/call_start_search_bar_filter_hint" android:inputType="textPersonName|textNoSuggestions" android:paddingStart="15dp" android:paddingTop="10dp" @@ -150,7 +150,7 @@ android:layout_marginEnd="16dp" android:drawableEnd="@drawable/caret_right" android:padding="5dp" - android:text="Create a group call" + android:text="@string/call_start_create_group_call" android:textColor="@color/black" android:textSize="16sp" android:visibility="@{viewModel.searchFilter.length() > 0 ? View.GONE : View.VISIBLE}" @@ -179,7 +179,7 @@ style="@style/default_text_style_800" android:layout_width="0dp" android:layout_height="wrap_content" - android:text="No suggestion and no contact for the moment..." + android:text="@string/call_start_no_suggestion_nor_contact" android:textSize="16sp" android:gravity="center" android:visibility="@{viewModel.emptyContactsList && viewModel.suggestionsList.size() == 0 ? View.VISIBLE : View.GONE}" @@ -196,7 +196,7 @@ android:layout_marginTop="16dp" android:layout_marginEnd="16dp" android:padding="5dp" - android:text="Contacts" + android:text="@string/contacts_list_title" android:textSize="16sp" android:visibility="@{viewModel.emptyContactsList ? View.GONE : View.VISIBLE}" app:layout_constraintVertical_chainStyle="packed" @@ -234,7 +234,7 @@ android:layout_marginTop="16dp" android:layout_marginEnd="16dp" android:padding="5dp" - android:text="Suggestions" + android:text="@string/call_start_suggestions_list_title" android:textSize="16sp" android:visibility="@{viewModel.suggestionsList.size() == 0 ? View.GONE : View.VISIBLE}" app:layout_constraintStart_toStartOf="parent" diff --git a/app/src/main/res/layout/calls_list_fragment.xml b/app/src/main/res/layout/calls_list_fragment.xml index 63dc048b6..3ebc5bf13 100644 --- a/app/src/main/res/layout/calls_list_fragment.xml +++ b/app/src/main/res/layout/calls_list_fragment.xml @@ -85,7 +85,7 @@ android:id="@+id/no_calls_label" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="No calls for the moment..." + android:text="@string/calls_list_empty_history" android:textSize="16sp" app:layout_constraintBottom_toTopOf="@id/background" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/calls_list_long_press_menu.xml b/app/src/main/res/layout/calls_list_long_press_menu.xml index d03b912f8..79d17c4e2 100644 --- a/app/src/main/res/layout/calls_list_long_press_menu.xml +++ b/app/src/main/res/layout/calls_list_long_press_menu.xml @@ -32,7 +32,7 @@ android:visibility="@{contactExists ? View.GONE : View.VISIBLE}" android:layout_width="0dp" android:layout_height="wrap_content" - android:text="Ajouter aux contacts" + android:text="@string/menu_add_address_to_contacts" style="@style/context_menu_action_label_style" android:background="@drawable/menu_item_background" android:layout_marginBottom="1dp" @@ -47,7 +47,7 @@ android:visibility="@{contactExists ? View.VISIBLE : View.GONE}" android:layout_width="0dp" android:layout_height="wrap_content" - android:text="Voir le contact" + android:text="@string/menu_see_existing_contact" style="@style/context_menu_action_label_style" android:background="@drawable/menu_item_background" android:layout_marginBottom="1dp" @@ -61,7 +61,7 @@ android:onClick="@{copyNumberClickListener}" android:layout_width="0dp" android:layout_height="wrap_content" - android:text="Copier le numéro" + android:text="@string/menu_copy_sip_address" style="@style/context_menu_action_label_style" android:background="@drawable/menu_item_background" android:layout_marginBottom="1dp" @@ -75,7 +75,7 @@ android:onClick="@{deleteClickListener}" android:layout_width="0dp" android:layout_height="wrap_content" - android:text="Supprimer" + android:text="@string/menu_delete_selected_item" style="@style/context_menu_danger_action_label_style" android:background="@drawable/menu_item_background" android:layout_marginBottom="1dp" diff --git a/app/src/main/res/layout/calls_list_popup_menu.xml b/app/src/main/res/layout/calls_list_popup_menu.xml index dd7b4fdc4..6caaf2aa2 100644 --- a/app/src/main/res/layout/calls_list_popup_menu.xml +++ b/app/src/main/res/layout/calls_list_popup_menu.xml @@ -22,7 +22,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="20dp" - android:text="Delete all history" + android:text="@string/menu_delete_history" android:textSize="14sp" android:textColor="@color/red_danger" android:drawableStart="@drawable/trash_simple" diff --git a/app/src/main/res/layout/contact_device_trust_list_cell.xml b/app/src/main/res/layout/contact_device_trust_list_cell.xml index 53237df00..08f0da561 100644 --- a/app/src/main/res/layout/contact_device_trust_list_cell.xml +++ b/app/src/main/res/layout/contact_device_trust_list_cell.xml @@ -68,7 +68,7 @@ android:gravity="center" android:drawableStart="@drawable/warning_circle" android:drawablePadding="8dp" - android:text="Vérifier l'appareil" + android:text="@string/friend_make_call_check_device_trust" android:textColor="@color/tertiary_button_label_color" android:textSize="13sp" android:maxLines="1" diff --git a/app/src/main/res/layout/contact_fragment.xml b/app/src/main/res/layout/contact_fragment.xml index aaa2df83b..93e1ca83a 100644 --- a/app/src/main/res/layout/contact_fragment.xml +++ b/app/src/main/res/layout/contact_fragment.xml @@ -149,7 +149,7 @@ android:visibility="@{viewModel.contact.presenceStatus == ConsolidatedPresence.Offline ? View.GONE : View.VISIBLE}" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="@{viewModel.contact.lastPresenceInfo, default=`En ligne`}" + android:text="@{viewModel.contact.lastPresenceInfo, default=@string/friend_presence_status_online}" android:textColor="@{viewModel.contact.presenceStatus == ConsolidatedPresence.Online ? @color/green_online : @color/orange_away, default=@color/green_online}" android:textSize="14sp" app:layout_constraintEnd_toEndOf="parent" @@ -177,7 +177,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8dp" - android:text="Call" + android:text="@string/friend_call_action" android:textSize="14sp" app:layout_constraintTop_toBottomOf="@id/call" app:layout_constraintStart_toStartOf="@id/call" @@ -204,7 +204,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8dp" - android:text="Message" + android:text="@string/friend_message_action" android:textSize="14sp" app:layout_constraintTop_toBottomOf="@id/chat" app:layout_constraintStart_toStartOf="@id/chat" @@ -231,7 +231,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="8dp" - android:text="Video Call" + android:text="@string/friend_video_call_action" android:textSize="14sp" app:layout_constraintTop_toBottomOf="@id/video_call" app:layout_constraintStart_toStartOf="@id/video_call" @@ -247,7 +247,7 @@ android:layout_marginStart="26dp" android:layout_marginEnd="26dp" android:layout_marginTop="32dp" - android:text="Numbers & addresses" + android:text="@string/contact_details_numbers_and_addresses_title" android:drawableEnd="@{viewModel.expandNumbersAndAddresses ? @drawable/caret_up : @drawable/caret_down, default=@drawable/caret_up}" android:drawableTint="@color/gray_9" android:textSize="16sp" @@ -294,7 +294,7 @@ android:layout_marginStart="10dp" android:paddingTop="8dp" android:paddingBottom="8dp" - android:text="Company :" + android:text="@string/contact_details_company_name" android:textSize="14sp" app:layout_constraintStart_toStartOf="@id/info_background" app:layout_constraintTop_toTopOf="@id/info_background"/> @@ -323,7 +323,7 @@ android:layout_marginStart="10dp" android:paddingTop="8dp" android:paddingBottom="8dp" - android:text="Title :" + android:text="@string/contact_details_job_title" android:textSize="14sp" app:layout_constraintStart_toStartOf="@id/info_background" app:layout_constraintTop_toBottomOf="@id/company"/> @@ -353,7 +353,7 @@ android:layout_marginStart="26dp" android:layout_marginTop="16dp" android:padding="5dp" - android:text="Trust" + android:text="@string/contact_details_trust_title" android:textSize="16sp" android:drawableEnd="@drawable/question" android:drawableTint="@color/gray_9" @@ -399,7 +399,7 @@ android:layout_marginEnd="17dp" android:layout_marginTop="20dp" android:textSize="14sp" - android:text="Nombre d'appareils vérifiés :" + android:text="@string/contact_details_trusted_devices_count" app:layout_constraintStart_toStartOf="@id/trust_background" app:layout_constraintEnd_toEndOf="@id/trust_background" app:layout_constraintTop_toTopOf="@id/trust_background" /> @@ -414,7 +414,7 @@ app:trackCornerRadius="50dp" app:trackThickness="22dp" app:trackColor="@color/gray_3" - app:indicatorColor="@color/trusted_blue" + app:indicatorColor="@color/blue_trusted" android:max="100" android:progress="75" app:layout_constraintStart_toStartOf="@id/trust_background" @@ -458,7 +458,7 @@ android:layout_marginStart="26dp" android:layout_marginEnd="26dp" android:layout_marginTop="16dp" - android:text="Other actions" + android:text="@string/contact_details_actions_title" android:textSize="16sp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" @@ -485,7 +485,7 @@ android:layout_height="wrap_content" android:layout_marginStart="17dp" android:layout_marginEnd="17dp" - android:text="Edit" + android:text="@string/contact_details_edit" android:drawableStart="@drawable/pencil_simple" android:background="@drawable/action_background" app:layout_constraintTop_toTopOf="@id/actions_background" @@ -511,7 +511,7 @@ android:layout_marginStart="17dp" android:layout_marginEnd="17dp" android:background="@drawable/action_background" - android:text="@{viewModel.isFavourite ? `Remove from favourites` : `Add to favourites`, default=`Add to favourites`}" + android:text="@{viewModel.isFavourite ? @string/contact_details_remove_from_favourites : @string/contact_details_add_to_favourites, default=@string/contact_details_add_to_favourites}" android:drawableStart="@{viewModel.isFavourite ? @drawable/heart_fill : @drawable/heart, default=@drawable/heart_fill}" android:drawableTint="@{viewModel.isFavourite ? @color/red_danger : @color/gray_1, default=@color/gray_1}" app:layout_constraintTop_toBottomOf="@id/action_edit" @@ -537,7 +537,7 @@ android:layout_marginStart="17dp" android:layout_marginEnd="17dp" android:background="@drawable/action_background" - android:text="Share" + android:text="@string/contact_details_share" android:drawableStart="@drawable/share_network" app:layout_constraintTop_toBottomOf="@id/action_favorite" app:layout_constraintStart_toStartOf="parent" @@ -562,7 +562,7 @@ android:layout_marginStart="17dp" android:layout_marginEnd="17dp" android:background="@drawable/action_background" - android:text="Delete" + android:text="@string/contact_details_delete" android:drawableStart="@drawable/trash_simple" app:layout_constraintTop_toBottomOf="@id/action_share" app:layout_constraintStart_toStartOf="parent" diff --git a/app/src/main/res/layout/contact_new_or_edit_cell.xml b/app/src/main/res/layout/contact_new_or_edit_cell.xml index e46aeef2b..664d6540f 100644 --- a/app/src/main/res/layout/contact_new_or_edit_cell.xml +++ b/app/src/main/res/layout/contact_new_or_edit_cell.xml @@ -22,7 +22,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" - android:text="@{model.isSip ? `SIP address` : `Phone number`, default=`SIP address`}" + android:text="@{model.isSip ? @string/sip_address : @string/phone_number, default=@string/sip_address}" android:textSize="13sp" app:layout_constraintStart_toStartOf="@id/field" app:layout_constraintTop_toTopOf="parent"/> diff --git a/app/src/main/res/layout/contact_new_or_edit_fragment.xml b/app/src/main/res/layout/contact_new_or_edit_fragment.xml index f9c5dc5e9..8b96c8909 100644 --- a/app/src/main/res/layout/contact_new_or_edit_fragment.xml +++ b/app/src/main/res/layout/contact_new_or_edit_fragment.xml @@ -43,7 +43,7 @@ android:layout_marginStart="10dp" android:layout_marginEnd="10dp" android:gravity="center_vertical" - android:text="@{viewModel.isEdit ? `Edit contact` : `New contact`, default=`New contact`}" + android:text="@{viewModel.isEdit ? @string/contact_edit_title : @string/contact_new_title, default=@string/contact_new_title}" android:textColor="@color/primary_color" android:textSize="16sp" app:layout_constraintEnd_toStartOf="@id/save" @@ -107,7 +107,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" - android:text="Add a picture" + android:text="@string/manage_account_add_picture" android:textSize="14sp" app:layout_constraintTop_toBottomOf="@id/avatar" app:layout_constraintStart_toStartOf="parent" @@ -120,7 +120,7 @@ android:layout_height="wrap_content" android:layout_marginTop="30dp" android:layout_marginEnd="16dp" - android:text="First Name" + android:text="@string/contact_editor_first_name" android:textSize="13sp" app:layout_constraintStart_toStartOf="@id/first_name" app:layout_constraintTop_toBottomOf="@id/add_picture_label"/> @@ -153,7 +153,7 @@ android:layout_height="wrap_content" android:layout_marginTop="16dp" android:layout_marginEnd="16dp" - android:text="Last Name" + android:text="@string/contact_editor_last_name" android:textSize="13sp" app:layout_constraintStart_toStartOf="@id/last_name" app:layout_constraintTop_toBottomOf="@id/first_name"/> @@ -212,7 +212,7 @@ android:layout_height="wrap_content" android:layout_marginTop="30dp" android:layout_marginEnd="16dp" - android:text="Company" + android:text="@string/contact_editor_company" android:textSize="13sp" app:layout_constraintStart_toStartOf="@id/company" app:layout_constraintTop_toBottomOf="@id/phone_numbers"/> @@ -245,7 +245,7 @@ android:layout_height="wrap_content" android:layout_marginTop="16dp" android:layout_marginEnd="16dp" - android:text="Job" + android:text="@string/contact_editor_job_title" android:textSize="13sp" app:layout_constraintStart_toStartOf="@id/job_title" app:layout_constraintTop_toBottomOf="@id/company"/> diff --git a/app/src/main/res/layout/contact_number_address_list_cell.xml b/app/src/main/res/layout/contact_number_address_list_cell.xml index 8725a9f5c..1f34d43bc 100644 --- a/app/src/main/res/layout/contact_number_address_list_cell.xml +++ b/app/src/main/res/layout/contact_number_address_list_cell.xml @@ -26,7 +26,7 @@ android:layout_height="wrap_content" android:layout_marginTop="10dp" android:layout_marginStart="10dp" - android:text="@{model.sip ? `SIP address` : model.label.length() > 0 ? `Phone (` + model.label + `)` : `Phone`, default=`Phone (Home)`}" + android:text="@{model.sip ? @string/sip_address : model.label.length() > 0 ? @string/phone_number + ` (` + model.label + `)` : @string/phone_number, default=`Phone number (Home)`}" android:textSize="14sp" android:maxLines="1" android:ellipsize="end" diff --git a/app/src/main/res/layout/contact_number_or_address_long_press_menu.xml b/app/src/main/res/layout/contact_number_or_address_long_press_menu.xml index 7a5387292..71c1c86c1 100644 --- a/app/src/main/res/layout/contact_number_or_address_long_press_menu.xml +++ b/app/src/main/res/layout/contact_number_or_address_long_press_menu.xml @@ -29,7 +29,7 @@ android:id="@+id/copy" android:layout_width="0dp" android:layout_height="wrap_content" - android:text="Copier le numéro" + android:text="@string/menu_copy_sip_address" android:background="@drawable/menu_item_background" android:layout_marginBottom="1dp" android:drawableStart="@drawable/copy" @@ -44,7 +44,7 @@ android:id="@+id/invite" android:layout_width="0dp" android:layout_height="wrap_content" - android:text="Inviter" + android:text="@string/menu_invite" android:background="@drawable/menu_item_background" android:layout_marginBottom="1dp" android:drawableStart="@drawable/qr_code" diff --git a/app/src/main/res/layout/contacts_list_fragment.xml b/app/src/main/res/layout/contacts_list_fragment.xml index 336c25d96..2b84130c8 100644 --- a/app/src/main/res/layout/contacts_list_fragment.xml +++ b/app/src/main/res/layout/contacts_list_fragment.xml @@ -79,7 +79,7 @@ android:id="@+id/no_contacts_label" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="No contacts for the moment..." + android:text="" android:textSize="16sp" app:layout_constraintBottom_toTopOf="@id/background" app:layout_constraintEnd_toEndOf="parent" @@ -97,7 +97,7 @@ android:layout_marginStart="16dp" android:layout_marginEnd="16dp" android:layout_marginTop="15dp" - android:text="Favourites" + android:text="@string/contacts_list_favourites_title" android:drawableEnd="@{viewModel.showFavourites ? @drawable/caret_up : @drawable/caret_down, default=@drawable/caret_up}" android:drawableTint="@color/gray_9" android:textSize="16sp" @@ -127,7 +127,7 @@ android:layout_marginStart="16dp" android:layout_marginEnd="16dp" android:layout_marginTop="20dp" - android:text="All contacts" + android:text="@string/contacts_list_all_contacts_title" android:textSize="16sp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/contacts_list_long_press_menu.xml b/app/src/main/res/layout/contacts_list_long_press_menu.xml index 5c9ecd925..16951ede1 100644 --- a/app/src/main/res/layout/contacts_list_long_press_menu.xml +++ b/app/src/main/res/layout/contacts_list_long_press_menu.xml @@ -34,7 +34,7 @@ android:layout_height="wrap_content" android:layout_marginBottom="1dp" android:background="@drawable/menu_item_background" - android:text="@{isFavourite ? `Remove from favourites` : `Add to favourites`, default=`Add to favourites`}" + android:text="@{isFavourite ? @string/contact_details_remove_from_favourites : @string/contact_details_add_to_favourites, default=@string/contact_details_add_to_favourites}" android:drawableStart="@{isFavourite ? @drawable/heart_fill : @drawable/heart, default=@drawable/heart_fill}" android:drawableTint="@{isFavourite ? @color/red_danger : @color/gray_1, default=@color/gray_1}" app:layout_constraintBottom_toTopOf="@id/share" @@ -46,7 +46,7 @@ android:onClick="@{shareClickListener}" android:layout_width="0dp" android:layout_height="wrap_content" - android:text="Partager" + android:text="@string/contact_details_share" style="@style/context_menu_action_label_style" android:background="@drawable/menu_item_background" android:layout_marginBottom="1dp" @@ -60,7 +60,7 @@ android:onClick="@{deleteClickListener}" android:layout_width="0dp" android:layout_height="wrap_content" - android:text="Supprimer" + android:text="@string/contact_details_delete" style="@style/context_menu_danger_action_label_style" android:background="@drawable/menu_item_background" android:layout_marginBottom="1dp" diff --git a/app/src/main/res/layout/dialog_assistant_accept_conditions_and_policy.xml b/app/src/main/res/layout/dialog_assistant_accept_conditions_and_policy.xml index 2760cb085..3e002d22e 100644 --- a/app/src/main/res/layout/dialog_assistant_accept_conditions_and_policy.xml +++ b/app/src/main/res/layout/dialog_assistant_accept_conditions_and_policy.xml @@ -48,7 +48,7 @@ android:layout_height="wrap_content" android:layout_marginStart="15dp" android:paddingTop="@dimen/dialog_top_bottom_margin" - android:text="Conditions de service" + android:text="@string/dialog_general_terms_and_privacy_policy_title" android:textSize="16sp" app:layout_constraintVertical_chainStyle="packed" app:layout_constraintBottom_toTopOf="@id/message" @@ -64,7 +64,7 @@ android:layout_marginStart="15dp" android:layout_marginEnd="15dp" android:layout_marginTop="10dp" - android:text="@{viewModel.message, default=`En continuant, vous notre politique de confidentialité et nos conditions d'utilisation.`}" + android:text="@{viewModel.message, default=@string/dialog_general_terms_and_privacy_policy_message}" android:textSize="14sp" android:autoLink="web" app:layout_constraintBottom_toTopOf="@id/cancel" @@ -85,7 +85,7 @@ android:paddingTop="@dimen/primary_secondary_buttons_label_padding" android:gravity="center" android:background="@drawable/secondary_button_background" - android:text="Deny" + android:text="@string/dialog_deny" android:textSize="18sp" android:textColor="@color/secondary_button_label_color" app:layout_constraintStart_toStartOf="@id/dialog_background" @@ -106,7 +106,7 @@ android:paddingTop="@dimen/primary_secondary_buttons_label_padding" android:gravity="center" android:background="@drawable/primary_button_background" - android:text="Accept" + android:text="@string/dialog_accept" android:textSize="18sp" android:textColor="@color/primary_button_label_color" app:layout_constraintStart_toStartOf="@id/dialog_background" diff --git a/app/src/main/res/layout/dialog_assistant_create_account_confirm_phone_number.xml b/app/src/main/res/layout/dialog_assistant_create_account_confirm_phone_number.xml index 1727415dd..1fbc3f70a 100644 --- a/app/src/main/res/layout/dialog_assistant_create_account_confirm_phone_number.xml +++ b/app/src/main/res/layout/dialog_assistant_create_account_confirm_phone_number.xml @@ -46,7 +46,7 @@ android:layout_height="wrap_content" android:layout_marginStart="15dp" android:paddingTop="@dimen/dialog_top_bottom_margin" - android:text="Confirm phone number" + android:text="@string/dialog_confirm_phone_number_title" android:textSize="16sp" app:layout_constraintVertical_chainStyle="packed" app:layout_constraintBottom_toTopOf="@id/message" @@ -62,7 +62,7 @@ android:layout_marginStart="15dp" android:layout_marginEnd="15dp" android:layout_marginTop="10dp" - android:text="@{viewModel.message, default=`Are you sure you want to use this phone number?`}" + android:text="@{viewModel.message, default=@string/dialog_confirm_phone_number_message}" android:textSize="14sp" app:layout_constraintBottom_toTopOf="@id/cancel" app:layout_constraintStart_toStartOf="@id/dialog_background" @@ -82,7 +82,7 @@ android:paddingTop="@dimen/primary_secondary_buttons_label_padding" android:gravity="center" android:background="@drawable/secondary_button_background" - android:text="Cancel" + android:text="@string/dialog_cancel" android:textSize="18sp" android:textColor="@color/secondary_button_label_color" app:layout_constraintStart_toStartOf="@id/dialog_background" @@ -103,7 +103,7 @@ android:paddingTop="@dimen/primary_secondary_buttons_label_padding" android:gravity="center" android:background="@drawable/primary_button_background" - android:text="Continue" + android:text="@string/dialog_continue" android:textSize="18sp" android:textColor="@color/primary_button_label_color" app:layout_constraintStart_toStartOf="@id/dialog_background" diff --git a/app/src/main/res/layout/dialog_cancel_contact_changes.xml b/app/src/main/res/layout/dialog_cancel_contact_changes.xml index f6f05ca62..a5cd92f61 100644 --- a/app/src/main/res/layout/dialog_cancel_contact_changes.xml +++ b/app/src/main/res/layout/dialog_cancel_contact_changes.xml @@ -47,7 +47,7 @@ android:layout_height="wrap_content" android:layout_marginStart="15dp" android:paddingTop="@dimen/dialog_top_bottom_margin" - android:text="Don't save changes?" + android:text="@string/dialog_contact_new_or_edit_abort_confirmation_title" android:textSize="16sp" app:layout_constraintVertical_chainStyle="packed" app:layout_constraintBottom_toTopOf="@id/message" @@ -63,7 +63,7 @@ android:layout_marginStart="15dp" android:layout_marginEnd="15dp" android:layout_marginTop="10dp" - android:text="All changes will be lost" + android:text="@string/dialog_contact_new_or_edit_abort_confirmation_message" android:textSize="14sp" app:layout_constraintBottom_toTopOf="@id/cancel" app:layout_constraintStart_toStartOf="@id/dialog_background" @@ -83,7 +83,7 @@ android:paddingTop="13dp" android:gravity="center" android:background="@drawable/secondary_button_background" - android:text="Cancel" + android:text="@string/dialog_cancel" android:textSize="18sp" android:textColor="@color/secondary_button_label_color" app:layout_constraintStart_toStartOf="@id/dialog_background" @@ -104,7 +104,7 @@ android:paddingTop="@dimen/primary_secondary_buttons_label_padding" android:gravity="center" android:background="@drawable/primary_button_background" - android:text="Ok" + android:text="@string/dialog_ok" android:textSize="18sp" android:textColor="@color/primary_button_label_color" app:layout_constraintStart_toStartOf="@id/dialog_background" diff --git a/app/src/main/res/layout/dialog_confirm_zrtp_sas.xml b/app/src/main/res/layout/dialog_confirm_zrtp_sas.xml index 5506761c2..618eac29a 100644 --- a/app/src/main/res/layout/dialog_confirm_zrtp_sas.xml +++ b/app/src/main/res/layout/dialog_confirm_zrtp_sas.xml @@ -48,7 +48,7 @@ android:layout_marginStart="15dp" android:layout_marginEnd="15dp" android:paddingTop="@dimen/dialog_top_bottom_margin" - android:text="Vérifiez l'appareil" + android:text="@string/dialog_zrtp_validate_trust_title" android:textSize="16sp" app:layout_constraintVertical_chainStyle="packed" app:layout_constraintBottom_toTopOf="@id/message" @@ -64,7 +64,7 @@ android:layout_marginStart="15dp" android:layout_marginEnd="15dp" android:layout_marginTop="10dp" - android:text="@{viewModel.message}" + android:text="@{viewModel.message, default=@string/dialog_zrtp_validate_trust_message}" android:textSize="14sp" app:layout_constraintBottom_toTopOf="@id/letters_1" app:layout_constraintStart_toStartOf="@id/dialog_background" @@ -168,7 +168,7 @@ android:paddingTop="@dimen/primary_secondary_buttons_label_padding" android:gravity="center" android:background="@drawable/shape_red_outlined_button_background" - android:text="Letters don't match!" + android:text="@string/dialog_zrtp_validate_trust_letters_do_not_match" android:textSize="18sp" android:textColor="@color/red_danger" app:layout_constraintStart_toStartOf="@id/dialog_background" diff --git a/app/src/main/res/layout/dialog_contact_confirm_trust_call.xml b/app/src/main/res/layout/dialog_contact_confirm_trust_call.xml index 252605b87..6a325e79e 100644 --- a/app/src/main/res/layout/dialog_contact_confirm_trust_call.xml +++ b/app/src/main/res/layout/dialog_contact_confirm_trust_call.xml @@ -46,7 +46,7 @@ android:layout_height="wrap_content" android:layout_marginStart="15dp" android:paddingTop="@dimen/dialog_top_bottom_margin" - android:text="Increase trust level" + android:text="@string/dialog_contact_increase_trust_level_title" android:textSize="16sp" app:layout_constraintVertical_chainStyle="packed" app:layout_constraintBottom_toTopOf="@id/message" @@ -62,7 +62,7 @@ android:layout_marginStart="15dp" android:layout_marginEnd="15dp" android:layout_marginTop="10dp" - android:text="@{viewModel.message, default=`You're about to make a call to %s's device %s.\nDo you want to make the call?`}" + android:text="@{viewModel.message, default=@string/dialog_contact_increase_trust_level_message}" android:textSize="14sp" app:layout_constraintBottom_toTopOf="@id/cancel" app:layout_constraintStart_toStartOf="@id/dialog_background" @@ -82,7 +82,7 @@ android:paddingTop="@dimen/primary_secondary_buttons_label_padding" android:gravity="center" android:background="@drawable/secondary_button_background" - android:text="Cancel" + android:text="@string/dialog_cancel" android:textSize="18sp" android:textColor="@color/secondary_button_label_color" app:layout_constraintStart_toStartOf="@id/dialog_background" @@ -103,7 +103,7 @@ android:paddingTop="@dimen/primary_secondary_buttons_label_padding" android:gravity="center" android:background="@drawable/primary_button_background" - android:text="Call" + android:text="@string/dialog_call" android:textSize="18sp" android:textColor="@color/primary_button_label_color" app:layout_constraintStart_toStartOf="@id/dialog_background" @@ -119,7 +119,7 @@ android:layout_marginTop="16dp" android:layout_marginStart="15dp" android:layout_marginEnd="15dp" - android:text="Don't show this dialog anymore" + android:text="@string/dialog_do_not_show_anymore" android:textSize="14sp" android:checked="@={viewModel.doNotShowAnymore}" app:buttonTint="@color/primary_color" diff --git a/app/src/main/res/layout/dialog_contact_trust_process.xml b/app/src/main/res/layout/dialog_contact_trust_process.xml index 2acdc75d5..2a3198141 100644 --- a/app/src/main/res/layout/dialog_contact_trust_process.xml +++ b/app/src/main/res/layout/dialog_contact_trust_process.xml @@ -46,7 +46,7 @@ android:layout_height="wrap_content" android:layout_marginStart="15dp" android:paddingTop="@dimen/dialog_top_bottom_margin" - android:text="What does it mean?" + android:text="@string/dialog_contact_devices_trust_help_title" android:textSize="16sp" app:layout_constraintVertical_chainStyle="packed" app:layout_constraintBottom_toTopOf="@id/message" @@ -62,7 +62,7 @@ android:layout_marginStart="15dp" android:layout_marginEnd="15dp" android:layout_marginTop="10dp" - android:text="Lorem ipsum dolot sit amet" + android:text="@string/dialog_contact_devices_trust_help_message" android:textSize="14sp" app:layout_constraintBottom_toTopOf="@id/confirm" app:layout_constraintStart_toStartOf="@id/dialog_background" @@ -82,7 +82,7 @@ android:paddingTop="@dimen/primary_secondary_buttons_label_padding" android:gravity="center" android:background="@drawable/primary_button_background" - android:text="Ok" + android:text="@string/dialog_ok" android:textSize="18sp" android:textColor="@color/primary_button_label_color" app:layout_constraintStart_toStartOf="@id/dialog_background" diff --git a/app/src/main/res/layout/dialog_number_address_list_cell.xml b/app/src/main/res/layout/dialog_number_address_list_cell.xml index 15de1bcb2..e84846a4d 100644 --- a/app/src/main/res/layout/dialog_number_address_list_cell.xml +++ b/app/src/main/res/layout/dialog_number_address_list_cell.xml @@ -25,7 +25,7 @@ android:layout_height="wrap_content" android:layout_marginTop="10dp" android:layout_marginStart="10dp" - android:text="@{model.sip ? `SIP address` : model.label.length() > 0 ? `Phone (` + model.label + `)` : `Phone`, default=`Phone (Home)`}" + android:text="@{model.sip ? @string/sip_address : model.label.length() > 0 ? @string/phone_number + ` (` + model.label + `)` : @string/phone_number, default=`Phone number (Home)`}" android:textSize="14sp" android:maxLines="1" android:ellipsize="end" diff --git a/app/src/main/res/layout/dialog_pick_number_or_address.xml b/app/src/main/res/layout/dialog_pick_number_or_address.xml index ec531041a..42ef53022 100644 --- a/app/src/main/res/layout/dialog_pick_number_or_address.xml +++ b/app/src/main/res/layout/dialog_pick_number_or_address.xml @@ -47,7 +47,7 @@ android:layout_height="wrap_content" android:layout_marginStart="15dp" android:paddingTop="@dimen/dialog_top_bottom_margin" - android:text="Which canal do you choose?" + android:text="@string/dialog_pick_phone_number_or_sip_address_title" android:textSize="16sp" app:layout_constraintVertical_chainStyle="packed" app:layout_constraintBottom_toTopOf="@id/numbers_and_addresses" diff --git a/app/src/main/res/layout/dialog_remove_all_call_logs.xml b/app/src/main/res/layout/dialog_remove_all_call_logs.xml index 4c3c8c2d6..427acda6e 100644 --- a/app/src/main/res/layout/dialog_remove_all_call_logs.xml +++ b/app/src/main/res/layout/dialog_remove_all_call_logs.xml @@ -47,7 +47,7 @@ android:layout_height="wrap_content" android:layout_marginStart="15dp" android:paddingTop="@dimen/dialog_top_bottom_margin" - android:text="Do you really want to delete all calls history?" + android:text="@string/dialog_delete_all_call_logs_title" android:textSize="16sp" app:layout_constraintVertical_chainStyle="packed" app:layout_constraintBottom_toTopOf="@id/message" @@ -63,7 +63,7 @@ android:layout_marginStart="15dp" android:layout_marginEnd="15dp" android:layout_marginTop="10dp" - android:text="All calls will be deleted of the history" + android:text="@string/dialog_delete_all_call_logs_message" android:textSize="14sp" app:layout_constraintBottom_toTopOf="@id/cancel" app:layout_constraintStart_toStartOf="@id/dialog_background" @@ -83,7 +83,7 @@ android:paddingTop="@dimen/primary_secondary_buttons_label_padding" android:gravity="center" android:background="@drawable/secondary_button_background" - android:text="Cancel" + android:text="@string/dialog_cancel" android:textSize="18sp" android:textColor="@color/secondary_button_label_color" app:layout_constraintStart_toStartOf="@id/dialog_background" @@ -104,7 +104,7 @@ android:paddingTop="@dimen/primary_secondary_buttons_label_padding" android:gravity="center" android:background="@drawable/primary_button_background" - android:text="Ok" + android:text="@string/dialog_delete" android:textSize="18sp" android:textColor="@color/primary_button_label_color" app:layout_constraintStart_toStartOf="@id/dialog_background" diff --git a/app/src/main/res/layout/drawer_menu.xml b/app/src/main/res/layout/drawer_menu.xml index 243b0c794..351dbb330 100644 --- a/app/src/main/res/layout/drawer_menu.xml +++ b/app/src/main/res/layout/drawer_menu.xml @@ -80,7 +80,7 @@ style="@style/default_text_style" android:layout_width="match_parent" android:layout_height="match_parent" - android:text="No account configured yet" /> + android:text="@string/drawer_menu_no_account_configured_yet" /> @@ -99,7 +99,7 @@ android:paddingBottom="@dimen/primary_secondary_buttons_label_padding" android:paddingStart="20dp" android:paddingEnd="20dp" - android:text="Add an account" + android:text="@string/drawer_menu_add_account" android:textSize="18sp" android:textColor="@color/secondary_button_label_color" android:gravity="center" @@ -133,7 +133,7 @@ android:layout_marginBottom="20dp" android:layout_marginStart="16dp" android:layout_marginEnd="16dp" - android:text="Settings" + android:text="@string/settings_title" android:textSize="13sp" android:drawableStart="@drawable/gear" android:drawableEnd="@drawable/caret_right" @@ -152,7 +152,7 @@ android:layout_marginBottom="20dp" android:layout_marginStart="16dp" android:layout_marginEnd="16dp" - android:text="Recordings" + android:text="@string/recordings_title" android:textSize="13sp" android:drawableStart="@drawable/recordings" android:drawableEnd="@drawable/caret_right" @@ -171,7 +171,7 @@ android:layout_marginBottom="20dp" android:layout_marginStart="16dp" android:layout_marginEnd="16dp" - android:text="Help" + android:text="@string/help_title" android:textSize="13sp" android:drawableStart="@drawable/question" android:drawableEnd="@drawable/caret_right" diff --git a/app/src/main/res/layout/help_fragment.xml b/app/src/main/res/layout/help_fragment.xml index 365216a88..4f9b12fb6 100644 --- a/app/src/main/res/layout/help_fragment.xml +++ b/app/src/main/res/layout/help_fragment.xml @@ -37,7 +37,7 @@ android:layout_marginStart="10dp" android:layout_marginEnd="10dp" android:gravity="center_vertical" - android:text="Help" + android:text="@string/help_title" android:textColor="@color/primary_color" android:textSize="16sp" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/operation_in_progress.xml b/app/src/main/res/layout/operation_in_progress.xml index 4a76dab1c..95817220b 100644 --- a/app/src/main/res/layout/operation_in_progress.xml +++ b/app/src/main/res/layout/operation_in_progress.xml @@ -27,7 +27,7 @@ style="@style/default_text_style_800" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:text="Operation in progress, please wait" + android:text="@string/operation_in_progress_overlay" android:textColor="@color/primary_color" android:textSize="18sp" android:layout_below="@id/progress" diff --git a/app/src/main/res/layout/recordings_fragment.xml b/app/src/main/res/layout/recordings_fragment.xml index 5937a585b..e3ec7f622 100644 --- a/app/src/main/res/layout/recordings_fragment.xml +++ b/app/src/main/res/layout/recordings_fragment.xml @@ -37,7 +37,7 @@ android:layout_marginStart="10dp" android:layout_marginEnd="10dp" android:gravity="center_vertical" - android:text="Recordings" + android:text="@string/recordings_title" android:textColor="@color/primary_color" android:textSize="16sp" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/settings_fragment.xml b/app/src/main/res/layout/settings_fragment.xml index b7e639ae5..159772c0c 100644 --- a/app/src/main/res/layout/settings_fragment.xml +++ b/app/src/main/res/layout/settings_fragment.xml @@ -37,7 +37,7 @@ android:layout_marginStart="10dp" android:layout_marginEnd="10dp" android:gravity="center_vertical" - android:text="Settings" + android:text="@string/settings_title" android:textColor="@color/primary_color" android:textSize="16sp" app:layout_constraintEnd_toEndOf="parent" diff --git a/app/src/main/res/layout/toast_blue.xml b/app/src/main/res/layout/toast.xml similarity index 84% rename from app/src/main/res/layout/toast_blue.xml rename to app/src/main/res/layout/toast.xml index 51d464ab8..cad136366 100644 --- a/app/src/main/res/layout/toast_blue.xml +++ b/app/src/main/res/layout/toast.xml @@ -12,6 +12,12 @@ + + - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/toast_red.xml b/app/src/main/res/layout/toast_red.xml deleted file mode 100644 index a2bdff942..000000000 --- a/app/src/main/res/layout/toast_red.xml +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/res/layout/voip_active_call_fragment.xml b/app/src/main/res/layout/voip_active_call_fragment.xml index ff5518735..8d7d52077 100644 --- a/app/src/main/res/layout/voip_active_call_fragment.xml +++ b/app/src/main/res/layout/voip_active_call_fragment.xml @@ -40,7 +40,7 @@ android:layout_marginTop="10dp" android:layout_marginBottom="10dp" android:visibility="@{viewModel.fullScreenMode ? View.GONE : View.VISIBLE}" - android:text="@{viewModel.isOutgoing ? `Outgoing call` : `Incoming call`, default=`Outgoing call`}" + android:text="@{viewModel.isOutgoing ? @string/call_outgoing : @string/call_incoming, default=@string/call_outgoing}" android:textColor="@color/white" android:textSize="16sp" app:layout_constraintStart_toEndOf="@id/call_direction_icon" diff --git a/app/src/main/res/layout/voip_incoming_call_fragment.xml b/app/src/main/res/layout/voip_incoming_call_fragment.xml index 3d65e54a1..b7b08e61e 100644 --- a/app/src/main/res/layout/voip_incoming_call_fragment.xml +++ b/app/src/main/res/layout/voip_incoming_call_fragment.xml @@ -34,7 +34,7 @@ android:layout_marginStart="10dp" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" - android:text="Incoming call" + android:text="@string/call_incoming" android:textColor="@color/white" android:textSize="16sp" app:layout_constraintStart_toEndOf="@id/call_direction_icon" diff --git a/app/src/main/res/layout/voip_outgoing_call_fragment.xml b/app/src/main/res/layout/voip_outgoing_call_fragment.xml index f6606fb6a..1f6d07e24 100644 --- a/app/src/main/res/layout/voip_outgoing_call_fragment.xml +++ b/app/src/main/res/layout/voip_outgoing_call_fragment.xml @@ -34,7 +34,7 @@ android:layout_marginStart="10dp" android:layout_marginTop="10dp" android:layout_marginBottom="10dp" - android:text="Outgoing call" + android:text="@string/call_outgoing" android:textColor="@color/white" android:textSize="16sp" app:layout_constraintStart_toEndOf="@id/call_direction_icon" diff --git a/app/src/main/res/layout/welcome_activity.xml b/app/src/main/res/layout/welcome_activity.xml index a540ad1c3..81eebe6c2 100644 --- a/app/src/main/res/layout/welcome_activity.xml +++ b/app/src/main/res/layout/welcome_activity.xml @@ -79,7 +79,7 @@ android:paddingBottom="@dimen/primary_secondary_buttons_label_padding" android:paddingStart="20dp" android:paddingEnd="20dp" - android:text="Next" + android:text="@string/next" android:textSize="18sp" android:textColor="@color/primary_button_label_color" android:gravity="center" diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 4046720a6..59bfcfd93 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -13,7 +13,7 @@ #09C5F4 #DFECF2 #F4F4F7 - #4AA8FF + #4AA8FF #FFA645 #E1E1E1 #FFEACB diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4438d2d9f..9b6457779 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -7,19 +7,162 @@ Linphone - | - + | + subscribe.linphone.org + linphone.org/contact linphone_notification_call_id - &appName; incoming calls notifications linphone_notification_service_id + + SIP address + Display name + Domain + Cancel + Username + Password + Phone number + or + next + + &appName; incoming calls notifications &appName; service notification - Skip - - Forgotten password? - Hangup Answer + Contacts + Calls + Conversations + Meetings + + Deny + Accept + Cancel + Continue + Ok + Call + Delete + Do not show this dialog anymore + General terms & privacy policy + blah blah blah + Confirm phone number + Are you sure you want to use this phone number? + Don\'t save changes? + All changes will be lost + Validate the device + Blah + Letters don\'t match! + Increase trust level + You\'re about to make a call to $1%s\'s device $2%s.\nDo you want to make the call? + What does it mean? + Blah blah blah + Which canal do you choose? + Do you really want to delete all calls history? + All calls will be deleted of the history + + QR code validated! + Invalid QR code! + SIP address copied into clipboard + Number copied into clipboard + History has been deleted + Low Wi-Fi signal! + Wi-Fi signal no longer low + This call can be trusted + + Choose your country + Country name + Login + Scan QR code + Use a third party SIP account + No account yet? + Register + Scan a QR code + We have sent a verification code on your phone number %1$s.\n\nPlease enter the verification code below: + Wrong number? + Create + Create an account with your email on: + Already have an account? + Transport + Some features require a Linphone account, such as group messaging, video conferences…\n\nThese features are hidden when you register with a third party SIP account.\n\nTo enable it in a commercial project, please contact us. + I prefer to create an account + I understand + + Default + Manage the profile + Connected + Refreshing + Disabled + Connecting… + Error + No account configured yet + Add an account + + Settings + Recordings + Help + + Account profile + Add a picture + Edit picture + International Prefix + + Online + Online on $1%s + Online today at $1%s + Online yesterday at $1%s + Away + Do not disturb + Call + Message + Video Call + Verify device + + Add to contacts + See contact + Copy SIP address + Delete history + Delete + Invite + + Call history + New call + Search contact or history call + Create a group call + No suggestion and no contact for the moment… + Suggestions + + No call for the moment… + + Contacts + No contact for the moment… + Favourites + All contacts + + New contact + Edit contact + First name + Last name + Company + Job title + + Phone numbers & SIP addresses + Company: + Job title: + Trust + Number of trusted devices: + Trust + Edit + Add to favourites + Remove from favourites + Share + Delete + + Outgoing call + Incoming call + + Operation in progress, please wait + + + Skip + Forgotten password? Skip \ No newline at end of file