Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3ed8fcd7 authored by Qinmei Du's avatar Qinmei Du Committed by Android (Google) Code Review
Browse files

Merge "Finalize the strings"

parents dabe718b 248a9fdc
Loading
Loading
Loading
Loading
+21 −35
Original line number Diff line number Diff line
@@ -5,63 +5,49 @@
  <string name="app_name">Credential Manager</string>

  <!-- Strings for the create flow. -->
  <!-- Button label to close the dialog when the user does not want to create the credential. [CHAR LIMIT=40] -->
  <!-- Button label to close the dialog when the user does not want to create the credential. [CHAR LIMIT=20] -->
  <string name="string_cancel">Cancel</string>
  <!-- Button label to confirm choosing the default dialog information and continue. [CHAR LIMIT=40] -->
  <!-- This is a label for a button that takes user to the next screen. [CHAR LIMIT=20] -->
  <string name="string_continue">Continue</string>
  <!-- Button label to create this credential in other available places. [CHAR LIMIT=40] -->
  <!-- This is a label for a button that links to different places where the user can save their passkeys. [CHAR LIMIT=20] -->
  <string name="string_more_options">More options</string>
  <!-- This appears as a text button where users can click to create this passkey in other available places. [CHAR LIMIT=80] -->
  <string name="string_create_in_another_place">Create in another place</string>
  <!-- This appears as a text button where users can click to create this password or other credential types in other available places. [CHAR LIMIT=80] -->
  <string name="string_save_to_another_place">Save to another place</string>
  <!-- This appears as a text button where users can click to use another device to create this credential. [CHAR LIMIT=80] -->
  <string name="string_use_another_device">Use another device</string>
  <!-- This appears as a text button where users can click to save this credential to another device. [CHAR LIMIT=80] -->
  <string name="string_save_to_another_device">Save to another device</string>
  <!-- This appears as the title of the modal bottom sheet introducing what is passkey to users. [CHAR LIMIT=200] -->
  <!-- This string introduces passkeys to the users for the first time they use this method. Tip: to avoid gendered language patterns, this header could be translated as if the original string were "More safety with passkeys". [CHAR LIMIT=200] -->
  <string name="passkey_creation_intro_title">Safer with passkeys</string>
  <!-- This appears as the description body of the modal bottom sheet introducing why passkey beneficial on the passwords side. [CHAR LIMIT=200] -->
  <!-- These strings highlight passkey benefits. [CHAR LIMIT=200] -->
  <string name="passkey_creation_intro_body_password">With passkeys, you don’t need to create or remember complex passwords</string>
  <!-- This appears as the description body of the modal bottom sheet introducing why passkey beneficial on the safety side. [CHAR LIMIT=200] -->
  <string name="passkey_creation_intro_body_fingerprint">Passkeys are encrypted digital keys you create using your fingerprint, face, or screen lock</string>
  <!-- This appears as the description body of the modal bottom sheet introducing why passkey beneficial on the using other devices side. [CHAR LIMIT=200] -->
  <string name="passkey_creation_intro_body_device">They are saved to a password manager, so you can sign in on other devices</string>
  <!-- This appears as the title of the modal bottom sheet which provides all available providers for users to choose. [CHAR LIMIT=200] -->
  <string name="choose_provider_title">Choose where to <xliff:g id="createTypes" example="create your passkeys">%1$s</xliff:g></string>
  <!-- Create types which are inserted as a placeholder for string choose_provider_title. [CHAR LIMIT=200] -->
  <string name="create_your_passkeys">create your passkeys</string>
  <string name="save_your_password">save your password</string>
  <string name="save_your_sign_in_info">save your sign-in info</string>

  <!-- This appears as the title of the modal bottom sheet which provides all available providers for users to choose. [CHAR LIMIT=200] -->
  <string name="choose_provider_title">Choose where to save your <xliff:g id="createTypes" example="passkeys">%1$s</xliff:g></string>
  <!-- This appears as the description body of the modal bottom sheet which provides all available providers for users to choose. [CHAR LIMIT=200] -->
  <string name="choose_provider_body">Select a password manager to save your info and sign in faster next time.</string>
  <string name="choose_provider_body">Select a password manager to save your info and sign in faster next time</string>
  <!-- This appears as the title of the modal bottom sheet for users to choose the create option inside a provider when the credential type is passkey. [CHAR LIMIT=200] -->
  <string name="choose_create_option_passkey_title">Create passkey for <xliff:g id="appName" example="Tribank">%1$s</xliff:g>?</string>
  <!-- This appears as the title of the modal bottom sheet for users to choose the create option inside a provider when the credential type is password. [CHAR LIMIT=200] -->
  <string name="choose_create_option_password_title">Save password for <xliff:g id="appName" example="Tribank">%1$s</xliff:g>?</string>
  <!-- This appears as the title of the modal bottom sheet for users to choose the create option inside a provider when the credential type is others. [CHAR LIMIT=200] -->
  <string name="choose_create_option_sign_in_title">Save sign-in info for <xliff:g id="appName" example="Tribank">%1$s</xliff:g>?</string>
  <!-- This appears as the description body of the modal bottom sheet for users to choose the create option inside a provider. [CHAR LIMIT=200] -->
  <string name="choose_create_option_description">You can use your <xliff:g id="appDomainName" example="Tribank">%1$s</xliff:g> <xliff:g id="credentialTypes" example="passkey">%2$s</xliff:g> on any device. It is saved to <xliff:g id="providerInfoDisplayName" example="Google Password Manager">%3$s</xliff:g> for <xliff:g id="createInfoDisplayName" example="elisa.beckett@gmail.com">%4$s</xliff:g>.</string>
  <!-- Types which are inserted as a placeholder as credentialTypes for other strings. [CHAR LIMIT=200] -->
  <string name="passkey">passkey</string>
  <string name="password">password</string>
  <string name="passkeys">passkeys</string>
  <string name="passwords">passwords</string>
  <string name="sign_ins">sign-ins</string>
  <string name="sign_in_info">sign-in info</string>

  <!-- This appears as the title of the modal bottom sheet for users to choose other available places the created password can be saved to. [CHAR LIMIT=200] -->
  <!-- This text is followed by a list of one or more options. [CHAR LIMIT=200] -->
  <string name="save_credential_to_title">Save <xliff:g id="credentialTypes" example="passkey">%1$s</xliff:g> to</string>
  <!-- This appears as the title of the modal bottom sheet for users to choose to create a passkey on another device. [CHAR LIMIT=200] -->
  <string name="create_passkey_in_other_device_title">Create a passkey in another device?</string>
  <string name="create_passkey_in_other_device_title">Create passkey in another device?</string>
  <!-- This appears as the title of the modal bottom sheet for users to confirm whether they should use the selected provider as default or not. [CHAR LIMIT=200] -->
  <string name="use_provider_for_all_title">Use <xliff:g id="providerInfoDisplayName" example="Google Password Manager">%1$s</xliff:g> for all your sign-ins?</string>
  <!-- TODO: Check the wording here. -->
  <!-- This appears as the description body of the modal bottom sheet for users to confirm whether they should use the selected provider as default or not. [CHAR LIMIT=200] -->
  <string name="use_provider_for_all_description">This password manager will store your passwords and passkeys to help you easily sign in.</string>
  <!-- Button label to set the selected provider on the modal bottom sheet as default. [CHAR LIMIT=40] -->
  <string name="use_provider_for_all_description">This password manager will store your passwords and passkeys to help you easily sign in</string>
  <!-- This is a label for a button that sets this password manager as the default. [CHAR LIMIT=20] -->
  <string name="set_as_default">Set as default</string>
  <!-- Button label to set the selected provider on the modal bottom sheet not as default but just use once. [CHAR LIMIT=40] -->
  <!-- This is a label for a button that makes this password manager be used just in this specific case. [CHAR LIMIT=20] -->
  <string name="use_once">Use once</string>
  <!-- Appears as an option row subtitle to show how many passwords and passkeys are saved in this option when there are passwords and passkeys. [CHAR LIMIT=80] -->
  <string name="more_options_usage_passwords_passkeys"><xliff:g id="passwordsNumber" example="1">%1$s</xliff:g> passwords • <xliff:g id="passkeysNumber" example="2">%2$s</xliff:g> passkeys</string>
@@ -73,7 +59,7 @@
  <string name="more_options_usage_credentials"><xliff:g id="totalCredentialsNumber" example="5">%1$s</xliff:g> credentials</string>
  <!-- Appears before a request display name when the credential type is passkey . [CHAR LIMIT=80] -->
  <string name="passkey_before_subtitle">Passkey</string>
  <!-- Appears as an option row title that users can choose to use another device for this creation. [CHAR LIMIT=80] -->
  <!-- This is a label for a button that lets users save their passkey to a different device. [CHAR LIMIT=80] -->
  <string name="another_device">Another device</string>
  <!-- Appears as an option row title that users can choose to view other disabled providers. [CHAR LIMIT=80] -->
  <string name="other_password_manager">Other password managers</string>
@@ -91,15 +77,15 @@
  <string name="get_dialog_title_use_sign_in_for">Use your saved sign-in for <xliff:g id="app_name" example="YouTube">%1$s</xliff:g>?</string>
  <!-- This appears as the title of the dialog asking for user to make a choice from various previously saved credentials to sign in to the app. [CHAR LIMIT=200] -->
  <string name="get_dialog_title_choose_sign_in_for">Choose a saved sign-in for <xliff:g id="app_name" example="YouTube">%1$s</xliff:g></string>
  <!-- Appears as an option row for viewing all the available sign-in options. [CHAR LIMIT=80] -->
  <!-- This is a label for a button that links the user to different sign-in methods . [CHAR LIMIT=80] -->
  <string name="get_dialog_use_saved_passkey_for">Sign in another way</string>
  <!-- Appears as a text button in the snackbar for users to click to view all options. [CHAR LIMIT=80] -->
  <!-- This is a label for a button that links the user to different sign-in methods. [CHAR LIMIT=80] -->
  <string name="snackbar_action">View options</string>
  <!-- Button label to continue with the selected sign-in. [CHAR LIMIT=40] -->
  <!-- This is a label for a button that takes user to the next screen. [CHAR LIMIT=20] -->
  <string name="get_dialog_button_label_continue">Continue</string>
  <!-- Separator for sign-in type and username in a sign-in entry. -->
  <string name="get_dialog_sign_in_type_username_separator" translatable="false">" - "</string>
  <!-- Modal bottom sheet title for displaying all the available sign-in options. [CHAR LIMIT=80] -->
  <!-- This text is followed by a list of one or more options. [CHAR LIMIT=80] -->
  <string name="get_dialog_title_sign_in_options">Sign-in options</string>
  <!-- Column heading for displaying sign-ins for a specific username. [CHAR LIMIT=80] -->
  <string name="get_dialog_heading_for_username">For <xliff:g id="username" example="becket@gmail.com">%1$s</xliff:g></string>
@@ -111,6 +97,6 @@
  <string name="get_dialog_heading_manage_sign_ins">Manage sign-ins</string>
  <!-- Column heading for displaying option to use sign-ins saved on a different device. [CHAR LIMIT=80] -->
  <string name="get_dialog_heading_from_another_device">From another device</string>
  <!-- Headline text for an option to use sign-ins saved on a different device. [CHAR LIMIT=120] -->
  <!-- This is a label for a button that takes the user to other available devices. [CHAR LIMIT=120] -->
  <string name="get_dialog_option_headline_use_a_different_device">Use a different device</string>
</resources>
 No newline at end of file
+10 −5
Original line number Diff line number Diff line
@@ -176,9 +176,11 @@ class CredentialManagerRepo(
              .setSaveEntries(
                  listOf<Entry>(
                      newCreateEntry("key1", "subkey-1", "elisa.beckett@gmail.com",
                          20, 7, 27, 10L),
                          20, 7, 27, 10L,
                          "Optional footer description"),
                      newCreateEntry("key1", "subkey-2", "elisa.work@google.com",
                          20, 7, 27, 12L),
                          20, 7, 27, 12L,
                      null),
                  )
              )
              .setRemoteEntry(
@@ -190,9 +192,11 @@ class CredentialManagerRepo(
              .setSaveEntries(
                  listOf<Entry>(
                      newCreateEntry("key1", "subkey-3", "elisa.beckett@dashlane.com",
                          20, 7, 27, 11L),
                          20, 7, 27, 11L,
                          null),
                      newCreateEntry("key1", "subkey-4", "elisa.work@dashlane.com",
                          20, 7, 27, 14L),
                          20, 7, 27, 14L,
                          null),
                  )
              )
              .build(),
@@ -337,6 +341,7 @@ class CredentialManagerRepo(
            passkeyCount: Int,
            totalCredentialCount: Int,
            lastUsedTimeMillis: Long,
            footerDescription: String?,
    ): Entry {
        val intent = Intent("com.androidauth.androidvault.CONFIRM_PASSWORD")
                .setPackage("com.androidauth.androidvault")
@@ -360,7 +365,7 @@ class CredentialManagerRepo(
                listOf(
                        CredentialCountInformation.createPasswordCountInformation(passwordCount),
                        CredentialCountInformation.createPublicKeyCountInformation(passkeyCount),
                ))
                ), footerDescription)
        return Entry(
                key,
                subkey,
+1 −0
Original line number Diff line number Diff line
@@ -431,6 +431,7 @@ class CreateFlowUtils {
                totalCredentialCount = CredentialCountInformation.getTotalCount(
                        createEntry.credentialCountInformationList) ?: 0,
                lastUsedTimeMillis = createEntry.lastUsedTimeMillis ?: 0,
                footerDescription = createEntry.footerDescription?.toString()
        )
      }
    }
+14 −23
Original line number Diff line number Diff line
@@ -264,11 +264,12 @@ fun ProviderSelectionCard(
                text = stringResource(
                    R.string.choose_provider_title,
                    when (requestDisplayInfo.type) {
                        TYPE_PUBLIC_KEY_CREDENTIAL -> stringResource(R.string.create_your_passkeys)
                        TYPE_PASSWORD_CREDENTIAL -> stringResource(R.string.save_your_password)
                        else -> stringResource(R.string.save_your_sign_in_info)
                    },
                ),
                        TYPE_PUBLIC_KEY_CREDENTIAL ->
                            stringResource(R.string.passkeys)
                        TYPE_PASSWORD_CREDENTIAL ->
                            stringResource(R.string.passwords)
                        else -> stringResource(R.string.sign_in_info)
                    }),
                style = MaterialTheme.typography.titleMedium,
                modifier = Modifier.padding(horizontal = 24.dp)
                    .align(alignment = Alignment.CenterHorizontally),
@@ -604,27 +605,17 @@ fun CreationSelectionCard(
                    onClick = onConfirm
                )
            }
            if (createOptionInfo.footerDescription != null) {
                Divider(
                    thickness = 1.dp,
                    color = Color.LightGray,
                    modifier = Modifier.padding(start = 24.dp, end = 24.dp, top = 18.dp)
                )
            if (createOptionInfo.userProviderDisplayName != null) {
                TextSecondary(
                    text = stringResource(
                        R.string.choose_create_option_description,
                        requestDisplayInfo.appName,
                        when (requestDisplayInfo.type) {
                            TYPE_PUBLIC_KEY_CREDENTIAL -> stringResource(R.string.passkey)
                            TYPE_PASSWORD_CREDENTIAL -> stringResource(R.string.password)
                            else -> stringResource(R.string.sign_ins)
                        },
                        providerInfo.displayName,
                        createOptionInfo.userProviderDisplayName
                    ),
                    text = createOptionInfo.footerDescription,
                    style = MaterialTheme.typography.bodyLarge,
                    modifier = Modifier.padding(
                        start = 24.dp, top = 8.dp, bottom = 18.dp, end = 24.dp)
                        start = 29.dp, top = 8.dp, bottom = 18.dp, end = 28.dp)
                )
            }
            Divider(
+1 −0
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ class CreateOptionInfo(
  val passkeyCount: Int?,
  val totalCredentialCount: Int?,
  val lastUsedTimeMillis: Long?,
  val footerDescription: String?,
) : EntryInfo(providerId, entryKey, entrySubkey, pendingIntent, fillInIntent)

class RemoteInfo(
Loading