From e3a8c485455ad2a6df90f8fdbc3355f1957a9bad Mon Sep 17 00:00:00 2001 From: Tao Wang Date: Thu, 14 Jun 2018 00:29:56 +1000 Subject: [PATCH] i18n: externalize strings from 'app/views/profiles' Signed-off-by: Tao Wang --- app/views/profiles/_event_table.html.haml | 6 +- app/views/profiles/accounts/show.html.haml | 35 +- .../active_sessions/_active_session.html.haml | 13 +- .../profiles/active_sessions/index.html.haml | 4 +- app/views/profiles/audit_log.html.haml | 4 +- .../profiles/chat_names/_chat_name.html.haml | 6 +- app/views/profiles/chat_names/index.html.haml | 18 +- app/views/profiles/chat_names/new.html.haml | 10 +- app/views/profiles/emails/index.html.haml | 33 +- app/views/profiles/gpg_keys/_form.html.haml | 4 +- app/views/profiles/gpg_keys/_key.html.haml | 14 +- .../profiles/gpg_keys/_key_table.html.haml | 4 +- app/views/profiles/gpg_keys/index.html.haml | 12 +- app/views/profiles/keys/_key.html.haml | 8 +- .../profiles/keys/_key_details.html.haml | 14 +- app/views/profiles/keys/_key_table.html.haml | 4 +- app/views/profiles/keys/index.html.haml | 8 +- app/views/profiles/keys/show.html.haml | 4 +- .../profiles/notifications/show.html.haml | 18 +- app/views/profiles/passwords/edit.html.haml | 18 +- app/views/profiles/passwords/new.html.haml | 12 +- .../personal_access_tokens/index.html.haml | 47 +- app/views/profiles/preferences/show.html.haml | 28 +- app/views/profiles/show.html.haml | 49 +- .../two_factor_auths/_codes.html.haml | 7 +- .../profiles/two_factor_auths/codes.html.haml | 4 +- .../two_factor_auths/create.html.haml | 4 +- .../profiles/two_factor_auths/show.html.haml | 53 +- .../_personal_access_tokens_form.html.haml | 8 +- locale/gitlab.pot | 516 ++++++++++++++++++ qa/qa/page/profile/personal_access_tokens.rb | 2 +- 31 files changed, 737 insertions(+), 230 deletions(-) diff --git a/app/views/profiles/_event_table.html.haml b/app/views/profiles/_event_table.html.haml index 9f525547dd9a5c..076f94bf624eaa 100644 --- a/app/views/profiles/_event_table.html.haml +++ b/app/views/profiles/_event_table.html.haml @@ -1,14 +1,12 @@ %h5.prepend-top-0 - History of authentications + = _("History of authentications") %ul.content-list - events.each do |event| %li %span.description = audit_icon(event.details[:with], class: "append-right-5") - Signed in with - = event.details[:with] - authentication + = _("Signed in with %{event_details} authentication") % { event_details: event.details[:with] } %span.float-right= time_ago_with_tooltip(event.created_at) = paginate events, theme: "gitlab" diff --git a/app/views/profiles/accounts/show.html.haml b/app/views/profiles/accounts/show.html.haml index 2220b4eee96e3f..5e4c8e2f6695ae 100644 --- a/app/views/profiles/accounts/show.html.haml +++ b/app/views/profiles/accounts/show.html.haml @@ -1,37 +1,38 @@ -- page_title "Account" +- page_title _("Account") - @content_class = "limit-container-width" unless fluid_layout - if current_user.ldap_user? .alert.alert-info - Some options are unavailable for LDAP accounts + = _('Some options are unavailable for LDAP accounts') .row.prepend-top-default .col-lg-4.profile-settings-sidebar %h4.prepend-top-0 - Two-Factor Authentication + = _('Two-Factor Authentication') %p - Increase your account's security by enabling Two-Factor Authentication (2FA). + = _("Increase your account's security by enabling Two-Factor Authentication (2FA).") .col-lg-8 %p - Status: #{current_user.two_factor_enabled? ? 'Enabled' : 'Disabled'} + = _("Status:") + #{current_user.two_factor_enabled? ? _('Enabled') : _('Disabled')} - if current_user.two_factor_enabled? - = link_to 'Manage two-factor authentication', profile_two_factor_auth_path, class: 'btn btn-info' + = link_to _('Manage two-factor authentication'), profile_two_factor_auth_path, class: 'btn btn-info' - else .append-bottom-10 - = link_to 'Enable two-factor authentication', profile_two_factor_auth_path, class: 'btn btn-success' + = link_to _('Enable two-factor authentication'), profile_two_factor_auth_path, class: 'btn btn-success' %hr - if button_based_providers.any? .row.prepend-top-default .col-lg-4.profile-settings-sidebar %h4.prepend-top-0 - Social sign-in + = _('Social sign-in') %p - Activate signin with one of the following services + = _('Activate signin with one of the following services') .col-lg-8 %label.label-bold - Connected Accounts - %p Click on icon to activate signin with one of the following services + = _('Connected Accounts') + %p= _('Click on icon to activate signin with one of the following services') - button_based_providers.each do |provider| .provider-btn-group .provider-btn-image @@ -39,23 +40,23 @@ - if auth_active?(provider) - if unlink_allowed?(provider) = link_to unlink_profile_account_path(provider: provider), method: :delete, class: 'provider-btn' do - Disconnect + = _('Disconnect') - else %a.provider-btn - Active + = _('Active') - else = link_to omniauth_authorize_path(:user, provider), method: :post, class: 'provider-btn not-active' do - Connect + = _('Connect') %hr - if current_user.can_change_username? .row.prepend-top-default .col-lg-4.profile-settings-sidebar %h4.prepend-top-0.warning-title - Change username + = _('Change username') %p - Changing your username can have unintended side effects. + = _('Changing your username can have unintended side effects.') = succeed '.' do - = link_to 'Learn more', help_page_path('user/profile/index', anchor: 'changing-your-username'), target: '_blank' + = link_to _('Learn more'), help_page_path('user/profile/index', anchor: 'changing-your-username'), target: '_blank' .col-lg-8 - data = { initial_username: current_user.username, root_url: root_url, action_url: update_username_profile_path(format: :json) } #update-username{ data: data } diff --git a/app/views/profiles/active_sessions/_active_session.html.haml b/app/views/profiles/active_sessions/_active_session.html.haml index 23ef31a0c85d7d..70b7d0326bc416 100644 --- a/app/views/profiles/active_sessions/_active_session.html.haml +++ b/app/views/profiles/active_sessions/_active_session.html.haml @@ -8,10 +8,10 @@ %div %strong= active_session.ip_address - if is_current_session - %div This is your current session + %div= _('This is your current session') - else %div - Last accessed on + = _('Last accessed on') = l(active_session.updated_at, format: :short) %div @@ -20,12 +20,11 @@ %strong= active_session.os %div - %strong Signed in - on + = _("%{strong_start}Signed in%{strong_end} on").html_safe % { strong_start: ''.html_safe, strong_end: ''.html_safe } = l(active_session.created_at, format: :short) - unless is_current_session .float-right - = link_to profile_active_session_path(active_session.session_id), data: { confirm: 'Are you sure? The device will be signed out of GitLab.' }, method: :delete, class: "btn btn-danger prepend-left-10" do - %span.sr-only Revoke - Revoke + = link_to profile_active_session_path(active_session.session_id), data: { confirm: _('Are you sure? The device will be signed out of GitLab.') }, method: :delete, class: "btn btn-danger prepend-left-10" do + %span.sr-only= _('Revoke') + = _('Revoke') diff --git a/app/views/profiles/active_sessions/index.html.haml b/app/views/profiles/active_sessions/index.html.haml index 8688a52843d84e..d651319fc3f1fd 100644 --- a/app/views/profiles/active_sessions/index.html.haml +++ b/app/views/profiles/active_sessions/index.html.haml @@ -1,4 +1,4 @@ -- page_title 'Active Sessions' +- page_title _('Active Sessions') - @content_class = "limit-container-width" unless fluid_layout .row.prepend-top-default @@ -6,7 +6,7 @@ %h4.prepend-top-0 = page_title %p - This is a list of devices that have logged into your account. Revoke any sessions that you do not recognize. + = _('This is a list of devices that have logged into your account. Revoke any sessions that you do not recognize.') .col-lg-8 .append-bottom-default diff --git a/app/views/profiles/audit_log.html.haml b/app/views/profiles/audit_log.html.haml index a924369050bf7d..571f7e4ff1190b 100644 --- a/app/views/profiles/audit_log.html.haml +++ b/app/views/profiles/audit_log.html.haml @@ -1,4 +1,4 @@ -- page_title "Authentication log" +- page_title _("Authentication log") - @content_class = "limit-container-width" unless fluid_layout .row.prepend-top-default @@ -6,6 +6,6 @@ %h4.prepend-top-0 = page_title %p - This is a security log of important events involving your account. + = _("This is a security log of important events involving your account.") .col-lg-8 = render 'event_table', events: @events diff --git a/app/views/profiles/chat_names/_chat_name.html.haml b/app/views/profiles/chat_names/_chat_name.html.haml index 9e82e47c1e17d6..6c976e80c9dad9 100644 --- a/app/views/profiles/chat_names/_chat_name.html.haml +++ b/app/views/profiles/chat_names/_chat_name.html.haml @@ -6,7 +6,7 @@ - if can?(current_user, :read_project, project) = link_to project.full_name, project_path(project) - else - .light N/A + .light= _('N/A') %td %strong - if can?(current_user, :admin_project, project) @@ -21,7 +21,7 @@ - if chat_name.last_used_at = time_ago_with_tooltip(chat_name.last_used_at) - else - Never + = _('Never') %td - = link_to 'Remove', profile_chat_name_path(chat_name), method: :delete, class: 'btn btn-danger float-right', data: { confirm: 'Are you sure you want to revoke this nickname?' } + = link_to _('Remove'), profile_chat_name_path(chat_name), method: :delete, class: 'btn btn-danger float-right', data: { confirm: _('Are you sure you want to revoke this nickname?') } diff --git a/app/views/profiles/chat_names/index.html.haml b/app/views/profiles/chat_names/index.html.haml index 4b6e419af502b1..d0052fd23cd8b4 100644 --- a/app/views/profiles/chat_names/index.html.haml +++ b/app/views/profiles/chat_names/index.html.haml @@ -1,4 +1,4 @@ -- page_title 'Chat' +- page_title _('Chat') - @content_class = "limit-container-width" unless fluid_layout .row.prepend-top-default @@ -6,25 +6,25 @@ %h4.prepend-top-0 = page_title %p - You can see your Chat accounts. + = _('You can see your Chat accounts.') .col-lg-8 - %h5 Active chat names (#{@chat_names.size}) + %h5= _('Active chat names (%{size})') % { size: @chat_names.size } - if @chat_names.present? .table-responsive %table.table.chat-names %thead %tr - %th Project - %th Service - %th Team domain - %th Nickname - %th Last used + %th= _('Project') + %th= _('Service') + %th= _('Team domain') + %th= _('Nickname') + %th= _('Last used') %th %tbody = render @chat_names - else .settings-message.text-center - You don't have any active chat names. + = _("You don't have any active chat names.") diff --git a/app/views/profiles/chat_names/new.html.haml b/app/views/profiles/chat_names/new.html.haml index d86941b7a29dd5..632d90ce176f4d 100644 --- a/app/views/profiles/chat_names/new.html.haml +++ b/app/views/profiles/chat_names/new.html.haml @@ -1,15 +1,15 @@ -%h3.page-title Authorization required +%h3.page-title= _('Authorization required') %main{ :role => "main" } %p.h4 - Authorize + = _("Authorize") %strong.text-info= @chat_name_params[:chat_name] - to use your account? + = s_("Authorize|to use your account?") %hr .actions = form_tag profile_chat_names_path, method: :post do = hidden_field_tag :token, @chat_name_token.token - = submit_tag "Authorize", class: "btn btn-success wide float-left" + = submit_tag _("Authorize"), class: "btn btn-success wide float-left" = form_tag deny_profile_chat_names_path, method: :delete do = hidden_field_tag :token, @chat_name_token.token - = submit_tag "Deny", class: "btn btn-danger prepend-left-10" + = submit_tag _("Deny"), class: "btn btn-danger prepend-left-10" diff --git a/app/views/profiles/emails/index.html.haml b/app/views/profiles/emails/index.html.haml index 04a19ab14dd0fe..bd9e57a0037532 100644 --- a/app/views/profiles/emails/index.html.haml +++ b/app/views/profiles/emails/index.html.haml @@ -1,4 +1,4 @@ -- page_title "Emails" +- page_title _("Emails") - @content_class = "limit-container-width" unless fluid_layout .row.prepend-top-default @@ -6,50 +6,51 @@ %h4.prepend-top-0 = page_title %p - Control emails linked to your account + = _('Control emails linked to your account') .col-lg-8 %h4.prepend-top-0 - Add email address + = _('Add email address') = form_for 'email', url: profile_emails_path do |f| .form-group = f.label :email, class: 'label-bold' = f.text_field :email, class: 'form-control' .prepend-top-default - = f.submit 'Add email address', class: 'btn btn-create' + = f.submit _('Add email address'), class: 'btn btn-create' %hr %h4.prepend-top-0 Linked emails (#{@emails.count + 1}) .account-well.append-bottom-default %ul %li - Your Primary Email will be used for avatar detection and web based operations, such as edits and merges. + = _("Your Primary Email will be used for avatar detection and web based operations, such as edits and merges.") %li - Your Notification Email will be used for account notifications. + = _("Your Notification Email will be used for account notifications.") %li - Your Public Email will be displayed on your public profile. + = _("Your Public Email will be displayed on your public profile.") %li - All email addresses will be used to identify your commits. + = _("All email addresses will be used to identify your commits.") %ul.content-list %li = render partial: 'shared/email_with_badge', locals: { email: @primary_email, verified: current_user.confirmed? } %span.float-right - %span.badge.badge-success Primary email + %span.badge.badge-success= _("Primary email") - if @primary_email === current_user.public_email - %span.badge.badge-info Public email + %span.badge.badge-info= _("Public email") - if @primary_email === current_user.notification_email - %span.badge.badge-info Notification email + %span.badge.badge-info= _("Notification email") - @emails.each do |email| %li = render partial: 'shared/email_with_badge', locals: { email: email.email, verified: email.confirmed? } %span.float-right - if email.email === current_user.public_email - %span.badge.badge-info Public email + %span.badge.badge-info= _("Public email") - if email.email === current_user.notification_email - %span.badge.badge-info Notification email + %span.badge.badge-info= _("Notification email") - unless email.confirmed? - - confirm_title = "#{email.confirmation_sent_at ? 'Resend' : 'Send'} confirmation email" + - confirm_action = email.confirmation_sent_at ? _('Resend') : _('Send') + - confirm_title = _("%{confirm_action} confirmation email") % { confirm_action: confirm_action } = link_to confirm_title, resend_confirmation_instructions_profile_email_path(email), method: :put, class: 'btn btn-sm btn-warning prepend-left-10' - = link_to profile_email_path(email), data: { confirm: 'Are you sure?'}, method: :delete, class: 'btn btn-sm btn-danger prepend-left-10' do - %span.sr-only Remove + = link_to profile_email_path(email), data: { confirm: _('Are you sure?')}, method: :delete, class: 'btn btn-sm btn-danger prepend-left-10' do + %span.sr-only= _("Remove") = icon('trash') diff --git a/app/views/profiles/gpg_keys/_form.html.haml b/app/views/profiles/gpg_keys/_form.html.haml index aa9b0aad034a37..63ecbdce64117d 100644 --- a/app/views/profiles/gpg_keys/_form.html.haml +++ b/app/views/profiles/gpg_keys/_form.html.haml @@ -4,7 +4,7 @@ .form-group = f.label :key, class: 'label-bold' - = f.text_area :key, class: "form-control", rows: 8, required: true, placeholder: "Don't paste the private part of the GPG key. Paste the public part which begins with '-----BEGIN PGP PUBLIC KEY BLOCK-----'." + = f.text_area :key, class: "form-control", rows: 8, required: true, placeholder: _("Don't paste the private part of the GPG key. Paste the public part which begins with '-----BEGIN PGP PUBLIC KEY BLOCK-----'.") .prepend-top-default - = f.submit 'Add key', class: "btn btn-create" + = f.submit _('Add key'), class: "btn btn-create" diff --git a/app/views/profiles/gpg_keys/_key.html.haml b/app/views/profiles/gpg_keys/_key.html.haml index d1fd7bc8e71f62..6e5b96eb2c1291 100644 --- a/app/views/profiles/gpg_keys/_key.html.haml +++ b/app/views/profiles/gpg_keys/_key.html.haml @@ -9,17 +9,17 @@ %code= key.fingerprint - if key.subkeys.present? .subkeys - %span.bold Subkeys: + %span.bold= _("Subkeys:") %ul.subkeys-list - key.subkeys.each do |subkey| %li %code= subkey.fingerprint .float-right %span.key-created-at - created #{time_ago_with_tooltip(key.created_at)} - = link_to profile_gpg_key_path(key), data: { confirm: 'Are you sure? Removing this GPG key does not affect already signed commits.' }, method: :delete, class: "btn btn-danger prepend-left-10" do - %span.sr-only Remove + = _("created %{time_ago}").html_safe % { time_ago: time_ago_with_tooltip(key.created_at) } + = link_to profile_gpg_key_path(key), data: { confirm: _('Are you sure? Removing this GPG key does not affect already signed commits.') }, method: :delete, class: "btn btn-danger prepend-left-10" do + %span.sr-only= _("Remove") = icon('trash') - = link_to revoke_profile_gpg_key_path(key), data: { confirm: 'Are you sure? All commits that were signed with this GPG key will be unverified.' }, method: :put, class: "btn btn-danger prepend-left-10" do - %span.sr-only Revoke - Revoke + = link_to revoke_profile_gpg_key_path(key), data: { confirm: _('Are you sure? All commits that were signed with this GPG key will be unverified.') }, method: :put, class: "btn btn-danger prepend-left-10" do + %span.sr-only= _("Revoke") + = _("Revoke") diff --git a/app/views/profiles/gpg_keys/_key_table.html.haml b/app/views/profiles/gpg_keys/_key_table.html.haml index b9b60c218fd622..4117f56ce385fe 100644 --- a/app/views/profiles/gpg_keys/_key_table.html.haml +++ b/app/views/profiles/gpg_keys/_key_table.html.haml @@ -6,6 +6,6 @@ - else %p.settings-message.text-center - if is_admin - There are no GPG keys associated with this account. + = _("There are no GPG keys associated with this account.") - else - There are no GPG keys with access to your account. + = _("There are no GPG keys with access to your account.") diff --git a/app/views/profiles/gpg_keys/index.html.haml b/app/views/profiles/gpg_keys/index.html.haml index 1d2e41cb437d4d..3c8508d598cc33 100644 --- a/app/views/profiles/gpg_keys/index.html.haml +++ b/app/views/profiles/gpg_keys/index.html.haml @@ -1,4 +1,4 @@ -- page_title "GPG Keys" +- page_title _("GPG Keys") - @content_class = "limit-container-width" unless fluid_layout .row.prepend-top-default @@ -6,16 +6,16 @@ %h4.prepend-top-0 = page_title %p - GPG keys allow you to verify signed commits. + = _("GPG keys allow you to verify signed commits.") .col-lg-8 %h5.prepend-top-0 - Add a GPG key + = _("Add a GPG key") %p.profile-settings-content - Before you can add a GPG key you need to - = link_to 'generate it.', help_page_path('user/project/repository/gpg_signed_commits/index.md') + - link_to_generate = link_to(_('generate it'), help_page_path('user/project/repository/gpg_signed_commits/index.md')) + = _("Before you can add a GPG key you need to %{link_to_generate}.").html_safe % { link_to_generate: link_to_generate } = render 'form' %hr %h5 - Your GPG keys (#{@gpg_keys.count}) + = _("Your GPG keys (%{count})") % { count: @gpg_keys.count } .append-bottom-default = render 'key_table' diff --git a/app/views/profiles/keys/_key.html.haml b/app/views/profiles/keys/_key.html.haml index 6941aca7243f30..156cdb24697b5a 100644 --- a/app/views/profiles/keys/_key.html.haml +++ b/app/views/profiles/keys/_key.html.haml @@ -13,12 +13,12 @@ .description = key.fingerprint .last-used-at - last used: + = _("last used:") = key.last_used_at ? time_ago_with_tooltip(key.last_used_at) : 'n/a' .float-right %span.key-created-at - created #{time_ago_with_tooltip(key.created_at)} + = _("created %{time_ago}").html_safe % { time_ago: time_ago_with_tooltip(key.created_at) } - unless key.is_a? LDAPKey - = link_to path_to_key(key, is_admin), data: { confirm: 'Are you sure?'}, method: :delete, class: "btn btn-transparent prepend-left-10" do - %span.sr-only Remove + = link_to path_to_key(key, is_admin), data: { confirm: _('Are you sure?')}, method: :delete, class: "btn btn-transparent prepend-left-10" do + %span.sr-only= _("Remove") = icon('trash') diff --git a/app/views/profiles/keys/_key_details.html.haml b/app/views/profiles/keys/_key_details.html.haml index 61c2634e9f22fb..4addd995ebf407 100644 --- a/app/views/profiles/keys/_key_details.html.haml +++ b/app/views/profiles/keys/_key_details.html.haml @@ -3,26 +3,26 @@ .col-md-4 .card .card-header - SSH Key + = _("SSH Key") %ul.content-list %li - %span.light Title: + %span.light= _("Title:") %strong= @key.title %li - %span.light Created on: + %span.light= _("Created on:") %strong= @key.created_at.to_s(:medium) %li - %span.light Last used on: - %strong= @key.last_used_at.try(:to_s, :medium) || 'N/A' + %span.light= _("Last used on:") + %strong= @key.last_used_at.try(:to_s, :medium) || _('N/A') .col-md-8 = form_errors(@key, type: 'key') unless @key.valid? %p - %span.light Fingerprint: + %span.light= _("Fingerprint:") %code.key-fingerprint= @key.fingerprint %pre.well-pre = @key.key .col-md-12 .float-right - unless @key.is_a? LDAPKey - = link_to 'Remove', path_to_key(@key, is_admin), data: {confirm: 'Are you sure?'}, method: :delete, class: "btn btn-remove delete-key" + = link_to 'Remove', path_to_key(@key, is_admin), data: {confirm: _('Are you sure?')}, method: :delete, class: "btn btn-remove delete-key" diff --git a/app/views/profiles/keys/_key_table.html.haml b/app/views/profiles/keys/_key_table.html.haml index e088140fdd2aeb..e24f2e41c4e41b 100644 --- a/app/views/profiles/keys/_key_table.html.haml +++ b/app/views/profiles/keys/_key_table.html.haml @@ -6,6 +6,6 @@ - else %p.settings-message.text-center - if is_admin - There are no SSH keys associated with this account. + = _("There are no SSH keys associated with this account.") - else - There are no SSH keys with access to your account. + = _("There are no SSH keys with access to your account.") diff --git a/app/views/profiles/keys/index.html.haml b/app/views/profiles/keys/index.html.haml index 55ca8d0ebd483c..33ca7208903530 100644 --- a/app/views/profiles/keys/index.html.haml +++ b/app/views/profiles/keys/index.html.haml @@ -1,4 +1,4 @@ -- page_title "SSH Keys" +- page_title _("SSH Keys") - @content_class = "limit-container-width" unless fluid_layout .row.prepend-top-default @@ -6,10 +6,10 @@ %h4.prepend-top-0 = page_title %p - SSH keys allow you to establish a secure connection between your computer and GitLab. + = _("SSH keys allow you to establish a secure connection between your computer and GitLab.") .col-lg-8 %h5.prepend-top-0 - Add an SSH key + = _("Add an SSH key") %p.profile-settings-content - generate_link_url = help_page_path("ssh/README", anchor: 'generating-a-new-ssh-key-pair') - existing_link_url = help_page_path("ssh/README", anchor: 'locating-an-existing-ssh-key-pair') @@ -19,6 +19,6 @@ = render 'form' %hr %h5 - Your SSH keys (#{@keys.count}) + = _("Your SSH keys (%{count})") % { count: @keys.count } .append-bottom-default = render 'key_table' diff --git a/app/views/profiles/keys/show.html.haml b/app/views/profiles/keys/show.html.haml index 28be6172219acf..b8dd743c6b81d1 100644 --- a/app/views/profiles/keys/show.html.haml +++ b/app/views/profiles/keys/show.html.haml @@ -1,5 +1,5 @@ -- add_to_breadcrumbs "SSH Keys", profile_keys_path +- add_to_breadcrumbs _("SSH Keys"), profile_keys_path - breadcrumb_title @key.title -- page_title @key.title, "SSH Keys" +- page_title @key.title, _("SSH Keys") - @content_class = "limit-container-width" unless fluid_layout = render "key_details" diff --git a/app/views/profiles/notifications/show.html.haml b/app/views/profiles/notifications/show.html.haml index 712eb2a4573f91..d7bedd80e36da2 100644 --- a/app/views/profiles/notifications/show.html.haml +++ b/app/views/profiles/notifications/show.html.haml @@ -1,4 +1,4 @@ -- page_title "Notifications" +- page_title _("Notifications") - @content_class = "limit-container-width" unless fluid_layout %div @@ -14,19 +14,19 @@ %h4.prepend-top-0 = page_title %p - You can specify notification level per group or per project. + = _("You can specify notification level per group or per project.") %p - By default, all projects and groups will use the global notifications setting. + = _("By default, all projects and groups will use the global notifications setting.") .col-lg-8 %h5.prepend-top-0 - Global notification settings + = _("Global notification settings") = form_for @user, url: profile_notifications_path, method: :put, html: { class: 'update-notifications prepend-top-default' } do |f| .form-group = f.label :notification_email, class: "label-bold" = f.select :notification_email, @user.all_emails, { include_blank: false }, class: "select2" - = label_tag :global_notification_level, "Global notification level", class: "label-bold" + = label_tag :global_notification_level, _("Global notification level"), class: "label-bold" %br .clearfix .form-group.float-left.global-notification-setting @@ -37,19 +37,19 @@ = form_for @user, url: profile_notifications_path, method: :put do |f| %label{ for: 'user_notified_of_own_activity' } = f.check_box :notified_of_own_activity - %span Receive notifications about your own activity + %span= _("Receive notifications about your own activity") %hr %h5 - Groups (#{@group_notifications.count}) + = _("Groups (%{count})") % { count: @group_notifications.count } %div %ul.bordered-list - @group_notifications.each do |setting| = render 'group_settings', setting: setting, group: setting.source %h5 - Projects (#{@project_notifications.count}) + = _("Projects (%{count})") % { count: @project_notifications.count } %p.account-well - To specify the notification level per project of a group you belong to, you need to visit project page and change notification level there. + = _("To specify the notification level per project of a group you belong to, you need to visit project page and change notification level there.") .append-bottom-default %ul.bordered-list - @project_notifications.each do |setting| diff --git a/app/views/profiles/passwords/edit.html.haml b/app/views/profiles/passwords/edit.html.haml index 9c8cc9c059be24..f66c965edbe5dc 100644 --- a/app/views/profiles/passwords/edit.html.haml +++ b/app/views/profiles/passwords/edit.html.haml @@ -1,5 +1,5 @@ -- breadcrumb_title "Edit Password" -- page_title "Password" +- breadcrumb_title _("Edit Password") +- page_title _("Password") - @content_class = "limit-container-width" unless fluid_layout .row.prepend-top-default @@ -7,12 +7,12 @@ %h4.prepend-top-0 = page_title %p - After a successful password update, you will be redirected to the login page where you can log in with your new password. + = _("After a successful password update, you will be redirected to the login page where you can log in with your new password.") .col-lg-8 %h5.prepend-top-0 - Change your password + = _("Change your password") - unless @user.password_automatically_set? - or recover your current one + = _("or recover your current one") = form_for @user, url: profile_password_path, method: :put, html: {class: "update-password"} do |f| = form_errors(@user) @@ -21,14 +21,14 @@ = f.label :current_password, class: 'label-bold' = f.password_field :current_password, required: true, class: 'form-control' %p.form-text.text-muted - You must provide your current password in order to change it. + = _("You must provide your current password in order to change it.") .form-group - = f.label :password, 'New password', class: 'label-bold' + = f.label :password, _('New password'), class: 'label-bold' = f.password_field :password, required: true, class: 'form-control' .form-group = f.label :password_confirmation, class: 'label-bold' = f.password_field :password_confirmation, required: true, class: 'form-control' .prepend-top-default.append-bottom-default - = f.submit 'Save password', class: "btn btn-create append-right-10" + = f.submit _('Save password'), class: "btn btn-create append-right-10" - unless @user.password_automatically_set? - = link_to "I forgot my password", reset_profile_password_path, method: :put, class: "account-btn-link" + = link_to _("I forgot my password"), reset_profile_password_path, method: :put, class: "account-btn-link" diff --git a/app/views/profiles/passwords/new.html.haml b/app/views/profiles/passwords/new.html.haml index 2176d7f8a31313..ea4d45baae6689 100644 --- a/app/views/profiles/passwords/new.html.haml +++ b/app/views/profiles/passwords/new.html.haml @@ -1,12 +1,10 @@ -- page_title "New Password" -- header_title "New Password" -%h3.page-title Setup new password +- page_title _("New Password") +- header_title _("New Password") +%h3.page-title= _("Setup new password") %hr = form_for @user, url: profile_password_path, method: :post do |f| %p.slead - Please set a new password before proceeding. - %br - After a successful password update you will be redirected to login screen. + = _("Please set a new password before proceeding. %{newline} After a successful password update you will be redirected to login screen.").html_safe % { newline: '
'.html_safe } = form_errors(@user) @@ -22,4 +20,4 @@ .col-sm-10 = f.password_field :password_confirmation, required: true, class: 'form-control' .form-actions - = f.submit 'Set new password', class: "btn btn-create" + = f.submit _('Set new password'), class: "btn btn-create" diff --git a/app/views/profiles/personal_access_tokens/index.html.haml b/app/views/profiles/personal_access_tokens/index.html.haml index c10d4ea1a4df04..10f28e665ec73d 100644 --- a/app/views/profiles/personal_access_tokens/index.html.haml +++ b/app/views/profiles/personal_access_tokens/index.html.haml @@ -1,5 +1,5 @@ -- breadcrumb_title "Access Tokens" -- page_title "Personal Access Tokens" +- breadcrumb_title _("Access Tokens") +- page_title _("Personal Access Tokens") - @content_class = "limit-container-width" unless fluid_layout .row.prepend-top-default @@ -7,22 +7,22 @@ %h4.prepend-top-0 = page_title %p - You can generate a personal access token for each application you use that needs access to the GitLab API. + = _("You can generate a personal access token for each application you use that needs access to the GitLab API.") %p - You can also use personal access tokens to authenticate against Git over HTTP. - They are the only accepted password when you have Two-Factor Authentication (2FA) enabled. + = _("You can also use personal access tokens to authenticate against Git over HTTP. They are the only accepted password when you have Two-Factor Authentication (2FA) enabled.") .col-lg-8 - if @new_personal_access_token .created-personal-access-token-container %h5.prepend-top-0 - Your New Personal Access Token + = _("Your New Personal Access Token") .form-group .input-group = text_field_tag 'created-personal-access-token', @new_personal_access_token, readonly: true, class: "form-control js-select-on-focus", 'aria-describedby' => "created-personal-access-token-help-block" %span.input-group-append - = clipboard_button(text: @new_personal_access_token, title: "Copy personal access token to clipboard", placement: "left", class: "input-group-text btn-default btn-clipboard") - %span#created-personal-access-token-help-block.form-text.text-muted.text-danger Make sure you save it - you won't be able to access it again. + = clipboard_button(text: @new_personal_access_token, title: _("Copy personal access token to clipboard"), placement: "left", class: "input-group-text btn-default btn-clipboard") + %span#created-personal-access-token-help-block.form-text.text-muted.text-danger + = _("Make sure you save it - you won't be able to access it again.") %hr @@ -34,35 +34,34 @@ .row.prepend-top-default .col-lg-4.profile-settings-sidebar %h4.prepend-top-0 - Feed token + = _("Feed token") %p - Your feed token is used to authenticate you when your RSS reader loads a personalized RSS feed or when when your calendar application loads a personalized calendar, and is included in those feed URLs. + = _("Your feed token is used to authenticate you when your RSS reader loads a personalized RSS feed or when when your calendar application loads a personalized calendar, and is included in those feed URLs.") %p - It cannot be used to access any other data. + = _("It cannot be used to access any other data.") .col-lg-8.feed-token-reset - = label_tag :feed_token, 'Feed token', class: "label-bold" + = label_tag :feed_token, _('Feed token'), class: "label-bold" = text_field_tag :feed_token, current_user.feed_token, class: 'form-control', readonly: true, onclick: 'this.select()' %p.form-text.text-muted - Keep this token secret. Anyone who gets ahold of it can read activity and issue RSS feeds or your calendar feed as if they were you. - You should - = link_to 'reset it', [:reset, :feed_token, :profile], method: :put, data: { confirm: 'Are you sure? Any RSS or calendar URLs currently in use will stop working.' } - if that ever happens. + = _("Keep this token secret. Anyone who gets ahold of it can read activity and issue RSS feeds or your calendar feed as if they were you.") + - link_to_reset_it = link_to(_('reset it'), [:reset, :feed_token, :profile], method: :put, data: { confirm: _('Are you sure? Any RSS or calendar URLs currently in use will stop working.') }) + = _("You should %{link_to_reset_it} if that ever happens.").html_safe % { link_to_reset_it: link_to_reset_it } + - if incoming_email_token_enabled? %hr .row.prepend-top-default .col-lg-4.profile-settings-sidebar %h4.prepend-top-0 - Incoming email token + = _("Incoming email token") %p - Your incoming email token is used to authenticate you when you create a new issue by email, and is included in your personal project-specific email addresses. + = _("Your incoming email token is used to authenticate you when you create a new issue by email, and is included in your personal project-specific email addresses.") %p - It cannot be used to access any other data. + = _("It cannot be used to access any other data.") .col-lg-8.incoming-email-token-reset - = label_tag :incoming_email_token, 'Incoming email token', class: "label-bold" + = label_tag :incoming_email_token, _('Incoming email token'), class: "label-bold" = text_field_tag :incoming_email_token, current_user.incoming_email_token, class: 'form-control', readonly: true, onclick: 'this.select()' %p.form-text.text-muted - Keep this token secret. Anyone who gets ahold of it can create issues as if they were you. - You should - = link_to 'reset it', [:reset, :incoming_email_token, :profile], method: :put, data: { confirm: 'Are you sure? Any issue email addresses currently in use will stop working.' } - if that ever happens. + = _("Keep this token secret. Anyone who gets ahold of it can create issues as if they were you.") + - link_to_reset_it = link_to(_('reset it'), [:reset, :incoming_email_token, :profile], method: :put, data: { confirm: _('Are you sure? Any issue email addresses currently in use will stop working.') }) + = _("You should %{link_to_reset_it} if that ever happens.").html_safe % { link_to_reset_it: link_to_reset_it } diff --git a/app/views/profiles/preferences/show.html.haml b/app/views/profiles/preferences/show.html.haml index fd6dd74e1c50ec..f35261df12f6d4 100644 --- a/app/views/profiles/preferences/show.html.haml +++ b/app/views/profiles/preferences/show.html.haml @@ -1,11 +1,11 @@ -- page_title 'Preferences' +- page_title _('Preferences') - @content_class = "limit-container-width" unless fluid_layout = form_for @user, url: profile_preferences_path, remote: true, method: :put, html: { class: 'row prepend-top-default js-preferences-form' } do |f| .col-lg-4.application-theme %h4.prepend-top-0 = s_('Preferences|Navigation theme') - %p Customize the appearance of the application header and navigation sidebar. + %p= _("Customize the appearance of the application header and navigation sidebar.") .col-lg-8.application-theme - Gitlab::Themes.each do |theme| = label_tag do @@ -18,11 +18,11 @@ .col-lg-4.profile-settings-sidebar %h4.prepend-top-0 - Syntax highlighting theme + = _("Syntax highlighting theme") %p - This setting allows you to customize the appearance of the syntax. + = _("This setting allows you to customize the appearance of the syntax.") = succeed '.' do - = link_to 'Learn more', help_page_path('user/profile/preferences', anchor: 'syntax-highlighting-theme'), target: '_blank' + = link_to _('Learn more'), help_page_path('user/profile/preferences', anchor: 'syntax-highlighting-theme'), target: '_blank' .col-lg-8.syntax-theme - Gitlab::ColorSchemes.each do |scheme| = label_tag do @@ -35,27 +35,27 @@ .col-lg-4.profile-settings-sidebar %h4.prepend-top-0 - Behavior + = _("Behavior") %p - This setting allows you to customize the behavior of the system layout and default views. + = _("This setting allows you to customize the behavior of the system layout and default views.") = succeed '.' do - = link_to 'Learn more', help_page_path('user/profile/preferences', anchor: 'behavior'), target: '_blank' + = link_to _('Learn more'), help_page_path('user/profile/preferences', anchor: 'behavior'), target: '_blank' .col-lg-8 .form-group = f.label :layout, class: 'label-bold' do - Layout width + = _("Layout width") = f.select :layout, layout_choices, {}, class: 'form-control' .form-text.text-muted - Choose between fixed (max. 1200px) and fluid (100%) application layout. + = _('Choose between fixed (max. 1200px) and fluid (100%%) application layout.') .form-group = f.label :dashboard, class: 'label-bold' do - Default dashboard + = _("Default dashboard") = f.select :dashboard, dashboard_choices, {}, class: 'form-control' .form-group = f.label :project_view, class: 'label-bold' do - Project overview content + = _("Project overview content") = f.select :project_view, project_view_choices, {}, class: 'form-control' .form-text.text-muted - Choose what content you want to see on a project’s overview page + = _("Choose what content you want to see on a project’s overview page") .form-group - = f.submit 'Save changes', class: 'btn btn-save' + = f.submit _('Save changes'), class: 'btn btn-save' diff --git a/app/views/profiles/show.html.haml b/app/views/profiles/show.html.haml index 6f08a294c5d98b..df3850de767922 100644 --- a/app/views/profiles/show.html.haml +++ b/app/views/profiles/show.html.haml @@ -1,4 +1,4 @@ -- breadcrumb_title "Edit Profile" +- breadcrumb_title _("Edit Profile") - @content_class = "limit-container-width" unless fluid_layout = bootstrap_form_for @user, url: profile_path, method: :put, html: { multipart: true, class: 'edit-user prepend-top-default js-quick-submit' }, authenticity_token: true do |f| @@ -7,16 +7,16 @@ .row .col-lg-4.profile-settings-sidebar %h4.prepend-top-0 - Public Avatar + = _("Public Avatar") %p - if @user.avatar? - You can change your avatar here + = _("You can change your avatar here") - if gravatar_enabled? - or remove the current avatar to revert to #{link_to Gitlab.config.gravatar.host, 'https://' + Gitlab.config.gravatar.host} + #{ _("or remove the current avatar to revert to") } #{link_to Gitlab.config.gravatar.host, 'https://' + Gitlab.config.gravatar.host} - else - You can upload an avatar here + = _("You can upload an avatar here") - if gravatar_enabled? - or change it at #{link_to Gitlab.config.gravatar.host, 'https://' + Gitlab.config.gravatar.host} + #{ _("or change it at") } #{link_to Gitlab.config.gravatar.host, 'https://' + Gitlab.config.gravatar.host} .col-lg-8 .clearfix.avatar-image.append-bottom-default = link_to avatar_icon_for_user(@user, 400), target: '_blank', rel: 'noopener noreferrer' do @@ -66,57 +66,56 @@ .row .col-lg-4.profile-settings-sidebar %h4.prepend-top-0 - Main settings + = _("Main settings") %p - This information will appear on your profile. + = _("This information will appear on your profile.") - if current_user.ldap_user? - Some options are unavailable for LDAP accounts + = _("Some options are unavailable for LDAP accounts") .col-lg-8 .row - if @user.read_only_attribute?(:name) - = f.text_field :name, required: true, readonly: true, wrapper: { class: 'col-md-9' }, - help: "Your name was automatically set based on your #{ attribute_provider_label(:name) } account, so people you know can recognize you." + = f.text_field :name, required: true, readonly: true, wrapper: { class: 'col-md-9' }, help: _("Your name was automatically set based on your %{name} account, so people you know can recognize you.") % { name: attribute_provider_label(:name) } - else - = f.text_field :name, required: true, wrapper: { class: 'col-md-9' }, help: "Enter your name, so people you know can recognize you." - = f.text_field :id, readonly: true, label: 'User ID', wrapper: { class: 'col-md-3' } + = f.text_field :name, required: true, wrapper: { class: 'col-md-9' }, help: _("Enter your name, so people you know can recognize you.") + = f.text_field :id, readonly: true, label: _('User ID'), wrapper: { class: 'col-md-3' } - if @user.read_only_attribute?(:email) - = f.text_field :email, required: true, readonly: true, help: "Your email address was automatically set based on your #{ attribute_provider_label(:email) } account." + = f.text_field :email, required: true, readonly: true, help: _("Your email address was automatically set based on your %{email} account.") % { email: attribute_provider_label(:email) } - else = f.text_field :email, required: true, value: (@user.email unless @user.temp_oauth_email?), help: user_email_help_text(@user) = f.select :public_email, options_for_select(@user.all_emails, selected: @user.public_email), - { help: 'This email will be displayed on your public profile.', include_blank: 'Do not show on profile' }, + { help: _('This email will be displayed on your public profile.'), include_blank: _('Do not show on profile') }, control_class: 'select2' = f.select :preferred_language, Gitlab::I18n::AVAILABLE_LANGUAGES.map { |value, label| [label, value] }, - { help: 'This feature is experimental and translations are not complete yet.' }, + { help: _('This feature is experimental and translations are not complete yet.') }, control_class: 'select2' = f.text_field :skype = f.text_field :linkedin = f.text_field :twitter - = f.text_field :website_url, label: 'Website' + = f.text_field :website_url, label: _('Website') - if @user.read_only_attribute?(:location) - = f.text_field :location, readonly: true, help: "Your location was automatically set based on your #{ attribute_provider_label(:location) } account." + = f.text_field :location, readonly: true, help: _("Your location was automatically set based on your %{location} account.") % { location: attribute_provider_label(:location) } - else = f.text_field :location = f.text_field :organization - = f.text_area :bio, rows: 4, maxlength: 250, help: 'Tell us about yourself in fewer than 250 characters.' + = f.text_area :bio, rows: 4, maxlength: 250, help: _('Tell us about yourself in fewer than 250 characters.') %hr - %h5 Private profile + %h5= _("Private profile") - private_profile_label = capture do - Don't display activity-related personal information on your profile + = _("Don't display activity-related personal information on your profile") = link_to icon('question-circle'), help_page_path('user/profile/index.md', anchor: 'private-profile') = f.check_box :private_profile, label: private_profile_label .prepend-top-default.append-bottom-default - = f.submit 'Update profile settings', class: 'btn btn-success' - = link_to 'Cancel', user_path(current_user), class: 'btn btn-cancel' + = f.submit _('Update profile settings'), class: 'btn btn-success' + = link_to _('Cancel'), user_path(current_user), class: 'btn btn-cancel' .modal.modal-profile-crop .modal-dialog .modal-content .modal-header %h4.modal-title - Position and size your new avatar + = _("Position and size your new avatar") %button.close{ type: "button", "data-dismiss": "modal", "aria-label" => _('Close') } %span{ "aria-hidden": true } × .modal-body @@ -130,4 +129,4 @@ %span.fa.fa-search-minus .modal-footer %button.btn.btn-primary.js-upload-user-avatar{ type: 'button' } - Set new profile picture + = _("Set new profile picture") diff --git a/app/views/profiles/two_factor_auths/_codes.html.haml b/app/views/profiles/two_factor_auths/_codes.html.haml index 93722d7b034349..98bc83c9ddc6cb 100644 --- a/app/views/profiles/two_factor_auths/_codes.html.haml +++ b/app/views/profiles/two_factor_auths/_codes.html.haml @@ -1,8 +1,5 @@ %p.slead - Should you ever lose your phone, each of these recovery codes can be used one - time each to regain access to your account. Please save them in a safe place, or you - %b will - lose access to your account. + = _("Should you ever lose your phone, each of these recovery codes can be used one time each to regain access to your account. Please save them in a safe place, or you %{bold_start}will%{bold_end} lose access to your account.").html_safe % { bold_start: ''.html_safe, bold_end: ''.html_safe } .codes.card %ul @@ -10,4 +7,4 @@ %li %span.monospace= code -= link_to 'Proceed', profile_account_path, class: 'btn btn-success' += link_to _('Proceed'), profile_account_path, class: 'btn btn-success' diff --git a/app/views/profiles/two_factor_auths/codes.html.haml b/app/views/profiles/two_factor_auths/codes.html.haml index addf356697ad4f..5ce95fe4c13ead 100644 --- a/app/views/profiles/two_factor_auths/codes.html.haml +++ b/app/views/profiles/two_factor_auths/codes.html.haml @@ -1,5 +1,5 @@ -- page_title 'Recovery Codes', 'Two-factor Authentication' +- page_title _('Recovery Codes'), _('Two-factor Authentication') -%h3.page-title Two-factor Authentication Recovery codes +%h3.page-title= _('Two-factor Authentication Recovery codes') %hr = render 'codes' diff --git a/app/views/profiles/two_factor_auths/create.html.haml b/app/views/profiles/two_factor_auths/create.html.haml index e330aadac133eb..44d96afecc5023 100644 --- a/app/views/profiles/two_factor_auths/create.html.haml +++ b/app/views/profiles/two_factor_auths/create.html.haml @@ -1,6 +1,6 @@ -- page_title 'Two-factor Authentication', 'Account' +- page_title _('Two-factor Authentication'), _('Account') .alert.alert-success - Congratulations! You have enabled Two-factor Authentication! + = _("Congratulations! You have enabled Two-factor Authentication!") = render 'codes' diff --git a/app/views/profiles/two_factor_auths/show.html.haml b/app/views/profiles/two_factor_auths/show.html.haml index cd10b8758f6091..7fa2e00a102429 100644 --- a/app/views/profiles/two_factor_auths/show.html.haml +++ b/app/views/profiles/two_factor_auths/show.html.haml @@ -1,49 +1,50 @@ -- page_title 'Two-Factor Authentication', 'Account' -- add_to_breadcrumbs("Two-Factor Authentication", profile_account_path) +- page_title _('Two-Factor Authentication'), _('Account') +- add_to_breadcrumbs(_("Two-Factor Authentication"), profile_account_path) - @content_class = "limit-container-width" unless fluid_layout .js-two-factor-auth{ 'data-two-factor-skippable' => "#{two_factor_skippable?}", 'data-two_factor_skip_url' => skip_profile_two_factor_auth_path } .row.prepend-top-default .col-lg-4 %h4.prepend-top-0 - Register Two-Factor Authentication App + = _("Register Two-Factor Authentication App") %p - Use an app on your mobile device to enable two-factor authentication (2FA). + = _("Use an app on your mobile device to enable two-factor authentication (2FA).") .col-lg-8 - if current_user.two_factor_otp_enabled? %p - You've already enabled two-factor authentication using mobile authenticator applications. In order to register a different device, you must first disable two-factor authentication. + = _("You've already enabled two-factor authentication using mobile authenticator applications. In order to register a different device, you must first disable two-factor authentication.") %p - If you lose your recovery codes you can generate new ones, invalidating all previous codes. + = _("If you lose your recovery codes you can generate new ones, invalidating all previous codes.") %div - = link_to 'Disable two-factor authentication', profile_two_factor_auth_path, + = link_to _('Disable two-factor authentication'), profile_two_factor_auth_path, method: :delete, - data: { confirm: "Are you sure? This will invalidate your registered applications and U2F devices." }, + data: { confirm: _("Are you sure? This will invalidate your registered applications and U2F devices.") }, class: 'btn btn-danger append-right-10' = form_tag codes_profile_two_factor_auth_path, {style: 'display: inline-block', method: :post} do |f| - = submit_tag 'Regenerate recovery codes', class: 'btn' + = submit_tag _('Regenerate recovery codes'), class: 'btn' - else %p - Download the Google Authenticator application from App Store or Google Play Store and scan this code. - More information is available in the #{link_to('documentation', help_page_path('user/profile/account/two_factor_authentication'))}. + = _("Download the Google Authenticator application from App Store or Google Play Store and scan this code.") + - link_to_documentation = link_to(_('documentation'), help_page_path('user/profile/account/two_factor_authentication')) + = _("More information is available in the %{link_to_documentation}.").html_safe % { link_to_documentation: link_to_documentation } .row.append-bottom-10 .col-md-4 = raw @qr_code .col-md-8 .account-well %p.prepend-top-0.append-bottom-0 - Can't scan the code? + = _("Can't scan the code?") %p.prepend-top-0.append-bottom-0 - To add the entry manually, provide the following details to the application on your phone. + = _("To add the entry manually, provide the following details to the application on your phone.") %p.prepend-top-0.append-bottom-0 - Account: + = _("Account:") = @account_string %p.prepend-top-0.append-bottom-0 - Key: + = _("Key:") = current_user.otp_secret.scan(/.{4}/).join(' ') %p.two-factor-new-manual-content - Time based: Yes + = _("Time based: Yes") = form_tag profile_two_factor_auth_path, method: :post do |f| - if @error .alert.alert-danger @@ -52,20 +53,18 @@ = label_tag :pin_code, nil, class: "label-bold" = text_field_tag :pin_code, nil, class: "form-control", required: true .prepend-top-default - = submit_tag 'Register with two-factor app', class: 'btn btn-success' + = submit_tag _('Register with two-factor app'), class: 'btn btn-success' %hr .row.prepend-top-default .col-lg-4 %h4.prepend-top-0 - Register Universal Two-Factor (U2F) Device + = _("Register Universal Two-Factor (U2F) Device") %p - Use a hardware device to add the second factor of authentication. + = _("Use a hardware device to add the second factor of authentication.") %p - As U2F devices are only supported by a few browsers, we require that you set up a - two-factor authentication app before a U2F device. That way you'll always be able to - log in - even when you're using an unsupported browser. + = _("As U2F devices are only supported by a few browsers, we require that you set up a two-factor authentication app before a U2F device. That way you'll always be able to log in - even when you're using an unsupported browser.") .col-lg-8 - if @u2f_registration.errors.present? = form_errors(@u2f_registration) @@ -73,7 +72,7 @@ %hr - %h5 U2F Devices (#{@u2f_registrations.length}) + %h5= _("U2F Devices (%{length})") % { length: @u2f_registrations.length } - if @u2f_registrations.present? .table-responsive @@ -84,16 +83,16 @@ %col{ width: "20%" } %thead %tr - %th Name - %th Registered On + %th= _('Name') + %th= _('Registered On') %th %tbody - @u2f_registrations.each do |registration| %tr %td= registration.name.presence || "" %td= registration.created_at.to_date.to_s(:medium) - %td= link_to "Delete", profile_u2f_registration_path(registration), method: :delete, class: "btn btn-danger float-right", data: { confirm: "Are you sure you want to delete this device? This action cannot be undone." } + %td= link_to _("Delete"), profile_u2f_registration_path(registration), method: :delete, class: "btn btn-danger float-right", data: { confirm: _("Are you sure you want to delete this device? This action cannot be undone.") } - else .settings-message.text-center - You don't have any U2F devices registered yet. + = _("You don't have any U2F devices registered yet.") diff --git a/app/views/shared/_personal_access_tokens_form.html.haml b/app/views/shared/_personal_access_tokens_form.html.haml index 58d310fac16b59..d6b8fd50060cfd 100644 --- a/app/views/shared/_personal_access_tokens_form.html.haml +++ b/app/views/shared/_personal_access_tokens_form.html.haml @@ -1,9 +1,9 @@ -- type = impersonation ? "impersonation" : "personal access" +- type = impersonation ? _("impersonation") : _("personal access") %h5.prepend-top-0 - Add a #{type} token + = _("Add a %{type} token") % {type: type} %p.profile-settings-content - Pick a name for the application, and we'll give you a unique #{type} token. + = _("Pick a name for the application, and we'll give you a unique %{type} token.") % {type: type} = form_for token, url: path, method: :post, html: { class: 'js-requires-input' } do |f| @@ -26,4 +26,4 @@ = render 'shared/tokens/scopes_form', prefix: 'personal_access_token', token: token, scopes: scopes .prepend-top-default - = f.submit "Create #{type} token", class: "btn btn-create" + = f.submit _("Create %{type} token") % {type: type}, class: "btn btn-create" diff --git a/locale/gitlab.pot b/locale/gitlab.pot index 0ea8789d6cbfc5..90051586b76dcd 100644 --- a/locale/gitlab.pot +++ b/locale/gitlab.pot @@ -108,6 +108,9 @@ msgstr "" msgid "%{commit_author_link} authored %{commit_timeago}" msgstr "" +msgid "%{confirm_action} confirmation email" +msgstr "" + msgid "%{counter_storage} (%{counter_repositories} repositories, %{counter_build_artifacts} build artifacts, %{counter_lfs_objects} LFS)" msgstr "" @@ -154,6 +157,9 @@ msgid_plural "%{storage_name}: %{failed_attempts} failed storage access attempts msgstr[0] "" msgstr[1] "" +msgid "%{strong_start}Signed in%{strong_end} on" +msgstr "" + msgid "%{text} %{files}" msgid_plural "%{text} %{files} files" msgstr[0] "" @@ -369,12 +375,21 @@ msgstr "" msgid "Account and limit" msgstr "" +msgid "Account:" +msgstr "" + +msgid "Activate signin with one of the following services" +msgstr "" + msgid "Active" msgstr "" msgid "Active Sessions" msgstr "" +msgid "Active chat names (%{size})" +msgstr "" + msgid "Activity" msgstr "" @@ -399,9 +414,24 @@ msgstr "" msgid "Add Readme" msgstr "" +msgid "Add a %{type} token" +msgstr "" + +msgid "Add a GPG key" +msgstr "" + msgid "Add additional text to appear in all email communications. %{character_limit} character limit" msgstr "" +msgid "Add an SSH key" +msgstr "" + +msgid "Add email address" +msgstr "" + +msgid "Add key" +msgstr "" + msgid "Add new application" msgstr "" @@ -498,12 +528,18 @@ msgstr "" msgid "Advanced settings" msgstr "" +msgid "After a successful password update, you will be redirected to the login page where you can log in with your new password." +msgstr "" + msgid "All" msgstr "" msgid "All changes are committed" msgstr "" +msgid "All email addresses will be used to identify your commits." +msgstr "" + msgid "All features are enabled for blank projects, from templates, or when importing, but you can disable them afterward in the project settings." msgstr "" @@ -705,6 +741,9 @@ msgstr "" msgid "Archived project! Repository and other project resources are read-only" msgstr "" +msgid "Are you sure you want to delete this device? This action cannot be undone." +msgstr "" + msgid "Are you sure you want to delete this pipeline schedule?" msgstr "" @@ -726,15 +765,39 @@ msgstr "" msgid "Are you sure you want to reset the health check token?" msgstr "" +msgid "Are you sure you want to revoke this nickname?" +msgstr "" + msgid "Are you sure you want to unlock %{path_lock_path}?" msgstr "" msgid "Are you sure?" msgstr "" +msgid "Are you sure? All commits that were signed with this GPG key will be unverified." +msgstr "" + +msgid "Are you sure? Any RSS or calendar URLs currently in use will stop working." +msgstr "" + +msgid "Are you sure? Any issue email addresses currently in use will stop working." +msgstr "" + +msgid "Are you sure? Removing this GPG key does not affect already signed commits." +msgstr "" + +msgid "Are you sure? The device will be signed out of GitLab." +msgstr "" + +msgid "Are you sure? This will invalidate your registered applications and U2F devices." +msgstr "" + msgid "Artifacts" msgstr "" +msgid "As U2F devices are only supported by a few browsers, we require that you set up a two-factor authentication app before a U2F device. That way you'll always be able to log in - even when you're using an unsupported browser." +msgstr "" + msgid "Ascending" msgstr "" @@ -807,6 +870,9 @@ msgstr "" msgid "Authorization code:" msgstr "" +msgid "Authorization required" +msgstr "" + msgid "Authorization was granted by entering your username and password in the application." msgstr "" @@ -822,6 +888,9 @@ msgstr "" msgid "Authorized applications (%{size})" msgstr "" +msgid "Authorize|to use your account?" +msgstr "" + msgid "Authors: %{authors}" msgstr "" @@ -969,9 +1038,15 @@ msgstr "" msgid "Badges|Your badges" msgstr "" +msgid "Before you can add a GPG key you need to %{link_to_generate}." +msgstr "" + msgid "Begin with the selected commit" msgstr "" +msgid "Behavior" +msgstr "" + msgid "Below are examples of regex for existing tools:" msgstr "" @@ -1223,6 +1298,9 @@ msgstr "" msgid "Business metrics (Custom)" msgstr "" +msgid "By default, all projects and groups will use the global notifications setting." +msgstr "" + msgid "ByAuthor|by" msgstr "" @@ -1295,6 +1373,9 @@ msgstr "" msgid "Can't find HEAD commit for this branch" msgstr "" +msgid "Can't scan the code?" +msgstr "" + msgid "Cancel" msgstr "" @@ -1319,6 +1400,12 @@ msgstr "" msgid "Change this value to influence how frequently the GitLab UI polls for updates." msgstr "" +msgid "Change username" +msgstr "" + +msgid "Change your password" +msgstr "" + msgid "ChangeTypeActionLabel|Pick into branch" msgstr "" @@ -1340,6 +1427,9 @@ msgstr "" msgid "Changes are shown as if the source revision was being merged into the target revision." msgstr "" +msgid "Changing your username can have unintended side effects." +msgstr "" + msgid "Charts" msgstr "" @@ -1379,12 +1469,18 @@ msgstr "" msgid "Choose between clone or fetch to get the recent application code" msgstr "" +msgid "Choose between fixed (max. 1200px) and fluid (100%%) application layout." +msgstr "" + msgid "Choose file..." msgstr "" msgid "Choose the top-level group for your repository imports." msgstr "" +msgid "Choose what content you want to see on a project’s overview page" +msgstr "" + msgid "Choose which groups you wish to synchronize to this secondary node." msgstr "" @@ -1499,6 +1595,9 @@ msgstr "" msgid "Click any project name in the project list below to navigate to the project milestone." msgstr "" +msgid "Click on icon to activate signin with one of the following services" +msgstr "" + msgid "Click the Download button and wait for downloading to complete." msgstr "" @@ -2079,6 +2178,9 @@ msgstr "" msgid "Configure the way a user creates a new account." msgstr "" +msgid "Congratulations! You have enabled Two-factor Authentication!" +msgstr "" + msgid "Connect" msgstr "" @@ -2091,6 +2193,9 @@ msgstr "" msgid "Connect your external repositories, and CI/CD pipelines will run for new commits. A GitLab project will be created with only CI/CD features enabled." msgstr "" +msgid "Connected Accounts" +msgstr "" + msgid "Connecting..." msgstr "" @@ -2178,6 +2283,9 @@ msgstr "" msgid "ContributorsPage|Please wait a moment, this page will automatically refresh when ready." msgstr "" +msgid "Control emails linked to your account" +msgstr "" + msgid "Control the display of third party offers." msgstr "" @@ -2214,6 +2322,9 @@ msgstr "" msgid "Copy incoming email address to clipboard" msgstr "" +msgid "Copy personal access token to clipboard" +msgstr "" + msgid "Copy reference to clipboard" msgstr "" @@ -2226,6 +2337,9 @@ msgstr "" msgid "Create" msgstr "" +msgid "Create %{type} token" +msgstr "" + msgid "Create New Directory" msgstr "" @@ -2364,6 +2478,9 @@ msgstr "" msgid "Customize how Google Code email addresses and usernames are imported into GitLab. In the next step, you'll be able to select the projects you want to import." msgstr "" +msgid "Customize the appearance of the application header and navigation sidebar." +msgstr "" + msgid "Cycle Analytics" msgstr "" @@ -2412,6 +2529,9 @@ msgstr "" msgid "Default classification label" msgstr "" +msgid "Default dashboard" +msgstr "" + msgid "Default: Directly import the Google Code email address or username" msgstr "" @@ -2609,12 +2729,21 @@ msgstr "" msgid "Disable group Runners" msgstr "" +msgid "Disable two-factor authentication" +msgstr "" + +msgid "Disabled" +msgstr "" + msgid "Discard changes" msgstr "" msgid "Discard draft" msgstr "" +msgid "Disconnect" +msgstr "" + msgid "Discover GitLab Geo." msgstr "" @@ -2630,6 +2759,9 @@ msgstr "" msgid "Dismiss Merge Request promotion" msgstr "" +msgid "Do not show on profile" +msgstr "" + msgid "Do you want to customize how Google Code email addresses and usernames are imported into GitLab?" msgstr "" @@ -2639,6 +2771,12 @@ msgstr "" msgid "Domain" msgstr "" +msgid "Don't display activity-related personal information on your profile" +msgstr "" + +msgid "Don't paste the private part of the GPG key. Paste the public part which begins with '-----BEGIN PGP PUBLIC KEY BLOCK-----'." +msgstr "" + msgid "Don't show again" msgstr "" @@ -2657,6 +2795,9 @@ msgstr "" msgid "Download tar.gz" msgstr "" +msgid "Download the Google Authenticator application from App Store or Google Play Store and scan this code." +msgstr "" + msgid "Download zip" msgstr "" @@ -2690,9 +2831,15 @@ msgstr "" msgid "Edit Label" msgstr "" +msgid "Edit Password" +msgstr "" + msgid "Edit Pipeline Schedule %{id}" msgstr "" +msgid "Edit Profile" +msgstr "" + msgid "Edit Snippet" msgstr "" @@ -2771,6 +2918,9 @@ msgstr "" msgid "Enable the Performance Bar for a given group." msgstr "" +msgid "Enable two-factor authentication" +msgstr "" + msgid "Enabled" msgstr "" @@ -2780,6 +2930,9 @@ msgstr "" msgid "Enter in your Bitbucket Server URL and personal access token below" msgstr "" +msgid "Enter your name, so people you know can recognize you." +msgstr "" + msgid "Environments" msgstr "" @@ -3053,6 +3206,9 @@ msgstr "" msgid "February" msgstr "" +msgid "Feed token" +msgstr "" + msgid "Fields on this page are now uneditable, you can configure" msgstr "" @@ -3083,6 +3239,9 @@ msgstr "" msgid "Find the newly extracted Takeout/Google Code Project Hosting/GoogleCodeProjectHosting.json file." msgstr "" +msgid "Fingerprint:" +msgstr "" + msgid "Fingerprints" msgstr "" @@ -3178,6 +3337,9 @@ msgstr "" msgid "GPG Keys" msgstr "" +msgid "GPG keys allow you to verify signed commits." +msgstr "" + msgid "General" msgstr "" @@ -3523,6 +3685,12 @@ msgstr "" msgid "Gitea Import" msgstr "" +msgid "Global notification level" +msgstr "" + +msgid "Global notification settings" +msgstr "" + msgid "Go Back" msgstr "" @@ -3646,6 +3814,9 @@ msgstr "" msgid "Groups" msgstr "" +msgid "Groups (%{count})" +msgstr "" + msgid "Groups can also be nested by creating %{subgroup_docs_link_start}subgroups%{subgroup_docs_link_end}." msgstr "" @@ -3759,6 +3930,9 @@ msgstr "" msgid "History" msgstr "" +msgid "History of authentications" +msgstr "" + msgid "Housekeeping successfully started" msgstr "" @@ -3768,6 +3942,9 @@ msgstr "" msgid "I accept the|Terms of Service and Privacy Policy" msgstr "" +msgid "I forgot my password" +msgstr "" + msgid "ID" msgstr "" @@ -3834,6 +4011,9 @@ msgstr "" msgid "If you already have files you can push them using the %{link_to_cli} below." msgstr "" +msgid "If you lose your recovery codes you can generate new ones, invalidating all previous codes." +msgstr "" + msgid "If your HTTP repository is not publicly accessible, add authentication information to the URL: https://username:password@gitlab.company.com/group/project.git." msgstr "" @@ -3918,9 +4098,15 @@ msgstr "" msgid "Include the username in the URL if required: https://username@gitlab.company.com/group/project.git." msgstr "" +msgid "Incoming email token" +msgstr "" + msgid "Incompatible Project" msgstr "" +msgid "Increase your account's security by enabling Two-Factor Authentication (2FA)." +msgstr "" + msgid "Inline" msgstr "" @@ -3995,6 +4181,9 @@ msgstr "" msgid "Issues closed" msgstr "" +msgid "It cannot be used to access any other data." +msgstr "" + msgid "Jan" msgstr "" @@ -4022,6 +4211,15 @@ msgstr "" msgid "June" msgstr "" +msgid "Keep this token secret. Anyone who gets ahold of it can create issues as if they were you." +msgstr "" + +msgid "Keep this token secret. Anyone who gets ahold of it can read activity and issue RSS feeds or your calendar feed as if they were you." +msgstr "" + +msgid "Key:" +msgstr "" + msgid "Koding" msgstr "" @@ -4108,6 +4306,9 @@ msgstr[1] "" msgid "Last Pipeline" msgstr "" +msgid "Last accessed on" +msgstr "" + msgid "Last commit" msgstr "" @@ -4123,6 +4324,12 @@ msgstr "" msgid "Last updated" msgstr "" +msgid "Last used" +msgstr "" + +msgid "Last used on:" +msgstr "" + msgid "LastPushEvent|You pushed to" msgstr "" @@ -4132,6 +4339,9 @@ msgstr "" msgid "Latest changes" msgstr "" +msgid "Layout width" +msgstr "" + msgid "Learn more" msgstr "" @@ -4278,9 +4488,15 @@ msgstr "" msgid "Logs" msgstr "" +msgid "Main settings" +msgstr "" + msgid "Make everyone on your team more productive regardless of their location. GitLab Geo creates read-only mirrors of your GitLab instance so you can reduce the time it takes to clone and fetch large repos." msgstr "" +msgid "Make sure you save it - you won't be able to access it again." +msgstr "" + msgid "Make sure you're logged into the account that owns the projects you'd like to import." msgstr "" @@ -4311,6 +4527,9 @@ msgstr "" msgid "Manage project labels" msgstr "" +msgid "Manage two-factor authentication" +msgstr "" + msgid "Manage your group’s membership while adding another level of security with SAML." msgstr "" @@ -4611,6 +4830,9 @@ msgstr "" msgid "More information" msgstr "" +msgid "More information is available in the %{link_to_documentation}." +msgstr "" + msgid "More information is available|here" msgstr "" @@ -4626,6 +4848,9 @@ msgstr "" msgid "Multiple issue boards" msgstr "" +msgid "N/A" +msgstr "" + msgid "Name" msgstr "" @@ -4676,6 +4901,9 @@ msgstr[1] "" msgid "New Label" msgstr "" +msgid "New Password" +msgstr "" + msgid "New Pipeline Schedule" msgstr "" @@ -4715,6 +4943,9 @@ msgstr "" msgid "New merge request" msgstr "" +msgid "New password" +msgstr "" + msgid "New pipelines will cancel older, pending pipelines on the same branch" msgstr "" @@ -4736,6 +4967,9 @@ msgstr "" msgid "New..." msgstr "" +msgid "Nickname" +msgstr "" + msgid "No" msgstr "" @@ -4856,6 +5090,9 @@ msgstr "" msgid "Notes|Are you sure you want to cancel creating this comment?" msgstr "" +msgid "Notification email" +msgstr "" + msgid "Notification events" msgstr "" @@ -5086,6 +5323,12 @@ msgstr "" msgid "Personal Access Token" msgstr "" +msgid "Personal Access Tokens" +msgstr "" + +msgid "Pick a name for the application, and we'll give you a unique %{type} token." +msgstr "" + msgid "Pipeline" msgstr "" @@ -5278,6 +5521,9 @@ msgstr "" msgid "Please select at least one filter to see results" msgstr "" +msgid "Please set a new password before proceeding. %{newline} After a successful password update you will be redirected to login screen." +msgstr "" + msgid "Please solve the reCAPTCHA" msgstr "" @@ -5290,6 +5536,9 @@ msgstr "" msgid "Please wait while we import the repository for you. Refresh at will." msgstr "" +msgid "Position and size your new avatar" +msgstr "" + msgid "Preferences" msgstr "" @@ -5302,6 +5551,9 @@ msgstr "" msgid "Primary" msgstr "" +msgid "Primary email" +msgstr "" + msgid "Prioritize" msgstr "" @@ -5320,9 +5572,15 @@ msgstr "" msgid "Private - The group and its projects can only be viewed by members." msgstr "" +msgid "Private profile" +msgstr "" + msgid "Private projects can be created in your personal namespace with:" msgstr "" +msgid "Proceed" +msgstr "" + msgid "Profile" msgstr "" @@ -5470,6 +5728,9 @@ msgstr "" msgid "Project name" msgstr "" +msgid "Project overview content" +msgstr "" + msgid "ProjectActivityRSS|Subscribe" msgstr "" @@ -5527,6 +5788,9 @@ msgstr "" msgid "Projects" msgstr "" +msgid "Projects (%{count})" +msgstr "" + msgid "Projects shared with %{group_name}" msgstr "" @@ -5698,6 +5962,12 @@ msgstr "" msgid "Public - The project can be accessed without any authentication." msgstr "" +msgid "Public Avatar" +msgstr "" + +msgid "Public email" +msgstr "" + msgid "Public pipelines" msgstr "" @@ -5746,6 +6016,12 @@ msgstr "" msgid "Real-time features" msgstr "" +msgid "Receive notifications about your own activity" +msgstr "" + +msgid "Recovery Codes" +msgstr "" + msgid "Reference:" msgstr "" @@ -5760,15 +6036,30 @@ msgstr[1] "" msgid "Regenerate key" msgstr "" +msgid "Regenerate recovery codes" +msgstr "" + msgid "Register / Sign In" msgstr "" +msgid "Register Two-Factor Authentication App" +msgstr "" + +msgid "Register Universal Two-Factor (U2F) Device" +msgstr "" + msgid "Register and see your runners for this group." msgstr "" msgid "Register and see your runners for this project." msgstr "" +msgid "Register with two-factor app" +msgstr "" + +msgid "Registered On" +msgstr "" + msgid "Registry" msgstr "" @@ -5889,6 +6180,9 @@ msgstr "" msgid "Require all users to accept Terms of Service and Privacy Policy when they access GitLab." msgstr "" +msgid "Resend" +msgstr "" + msgid "Reset git storage health information" msgstr "" @@ -5984,12 +6278,18 @@ msgstr "" msgid "SHA1 fingerprint of the SAML token signing certificate. Get this from your identity provider, where it can also be called \"Thumbprint\"." msgstr "" +msgid "SSH Key" +msgstr "" + msgid "SSH Keys" msgstr "" msgid "SSH host keys" msgstr "" +msgid "SSH keys allow you to establish a secure connection between your computer and GitLab." +msgstr "" + msgid "SSH public key" msgstr "" @@ -6005,6 +6305,9 @@ msgstr "" msgid "Save changes" msgstr "" +msgid "Save password" +msgstr "" + msgid "Save pipeline schedule" msgstr "" @@ -6172,6 +6475,9 @@ msgstr "" msgid "Selective synchronization" msgstr "" +msgid "Send" +msgstr "" + msgid "Send email" msgstr "" @@ -6184,6 +6490,9 @@ msgstr "" msgid "Server version" msgstr "" +msgid "Service" +msgstr "" + msgid "Service Desk" msgstr "" @@ -6205,6 +6514,12 @@ msgstr "" msgid "Set max session time for web terminal." msgstr "" +msgid "Set new password" +msgstr "" + +msgid "Set new profile picture" +msgstr "" + msgid "Set notification email for abuse reports." msgstr "" @@ -6232,6 +6547,9 @@ msgstr "" msgid "Setup a specific Runner automatically" msgstr "" +msgid "Setup new password" +msgstr "" + msgid "Share" msgstr "" @@ -6253,6 +6571,9 @@ msgstr "" msgid "Sherlock Transactions" msgstr "" +msgid "Should you ever lose your phone, each of these recovery codes can be used one time each to regain access to your account. Please save them in a safe place, or you %{bold_start}will%{bold_end} lose access to your account." +msgstr "" + msgid "Show command" msgstr "" @@ -6315,6 +6636,9 @@ msgstr "" msgid "Sign-up restrictions" msgstr "" +msgid "Signed in with %{event_details} authentication" +msgstr "" + msgid "Size and domain settings for static websites" msgstr "" @@ -6330,6 +6654,12 @@ msgstr "" msgid "Snippets" msgstr "" +msgid "Social sign-in" +msgstr "" + +msgid "Some options are unavailable for LDAP accounts" +msgstr "" + msgid "Something went wrong on our end" msgstr "" @@ -6552,6 +6882,9 @@ msgstr "" msgid "Status" msgstr "" +msgid "Status:" +msgstr "" + msgid "Stop impersonation" msgstr "" @@ -6570,6 +6903,9 @@ msgstr "" msgid "Subgroups" msgstr "" +msgid "Subkeys:" +msgstr "" + msgid "Submit as spam" msgstr "" @@ -6591,6 +6927,9 @@ msgstr "" msgid "Sync information" msgstr "" +msgid "Syntax highlighting theme" +msgstr "" + msgid "System Hooks" msgstr "" @@ -6692,6 +7031,12 @@ msgstr "" msgid "Team" msgstr "" +msgid "Team domain" +msgstr "" + +msgid "Tell us about yourself in fewer than 250 characters." +msgstr "" + msgid "Template" msgstr "" @@ -6830,6 +7175,18 @@ msgstr "" msgid "The value lying at the midpoint of a series of observed values. E.g., between 3, 5, 9, the median is 5. Between 3, 5, 7, 8, the median is (5+7)/2 = 6." msgstr "" +msgid "There are no GPG keys associated with this account." +msgstr "" + +msgid "There are no GPG keys with access to your account." +msgstr "" + +msgid "There are no SSH keys associated with this account." +msgstr "" + +msgid "There are no SSH keys with access to your account." +msgstr "" + msgid "There are no issues to show" msgstr "" @@ -6893,6 +7250,12 @@ msgstr "" msgid "This directory" msgstr "" +msgid "This email will be displayed on your public profile." +msgstr "" + +msgid "This feature is experimental and translations are not complete yet." +msgstr "" + msgid "This group" msgstr "" @@ -6902,12 +7265,24 @@ msgstr "" msgid "This group does not provide any group Runners yet." msgstr "" +msgid "This information will appear on your profile." +msgstr "" + msgid "This is a confidential issue." msgstr "" +msgid "This is a list of devices that have logged into your account. Revoke any sessions that you do not recognize." +msgstr "" + +msgid "This is a security log of important events involving your account." +msgstr "" + msgid "This is the author's first Merge Request to this project." msgstr "" +msgid "This is your current session" +msgstr "" + msgid "This issue is confidential" msgstr "" @@ -6974,6 +7349,12 @@ msgstr "" msgid "This repository" msgstr "" +msgid "This setting allows you to customize the appearance of the syntax." +msgstr "" + +msgid "This setting allows you to customize the behavior of the system layout and default views." +msgstr "" + msgid "This source diff could not be displayed because it is too large." msgstr "" @@ -6992,6 +7373,9 @@ msgstr "" msgid "Those emails automatically become issues (with the comments becoming the email conversation) listed here." msgstr "" +msgid "Time based: Yes" +msgstr "" + msgid "Time before an issue gets scheduled" msgstr "" @@ -7173,12 +7557,18 @@ msgstr "" msgid "Title" msgstr "" +msgid "Title:" +msgstr "" + msgid "To GitLab" msgstr "" msgid "To add an SSH key you need to %{generate_link_start}generate one%{link_end} or use an %{existing_link_start}existing key%{link_end}." msgstr "" +msgid "To add the entry manually, provide the following details to the application on your phone." +msgstr "" + msgid "To connect GitHub repositories, you can use a %{personal_access_token_link}. When you create your Personal Access Token, you will need to select the repo scope, so we can display a list of your public and private repositories which are available to connect." msgstr "" @@ -7212,6 +7602,9 @@ msgstr "" msgid "To set up SAML authentication for your group through an identity provider like Azure, Okta, Onelogin, Ping Identity, or your custom SAML 2.0 provider:" msgstr "" +msgid "To specify the notification level per project of a group you belong to, you need to visit project page and change notification level there." +msgstr "" + msgid "To start serving your jobs you can add Runners to your group" msgstr "" @@ -7299,6 +7692,18 @@ msgstr "" msgid "Twitter" msgstr "" +msgid "Two-Factor Authentication" +msgstr "" + +msgid "Two-factor Authentication" +msgstr "" + +msgid "Two-factor Authentication Recovery codes" +msgstr "" + +msgid "U2F Devices (%{length})" +msgstr "" + msgid "Unable to load the diff. %{button_try_again}" msgstr "" @@ -7359,6 +7764,9 @@ msgstr "" msgid "Update now" msgstr "" +msgid "Update profile settings" +msgstr "" + msgid "Update your group name, description, avatar, and other general settings." msgstr "" @@ -7407,6 +7815,12 @@ msgstr "" msgid "Use Service Desk to connect with your users (e.g. to offer customer support) through email right inside GitLab" msgstr "" +msgid "Use a hardware device to add the second factor of authentication." +msgstr "" + +msgid "Use an app on your mobile device to enable two-factor authentication (2FA)." +msgstr "" + msgid "Use group milestones to manage issues from multiple projects in the same milestone." msgstr "" @@ -7425,6 +7839,9 @@ msgstr "" msgid "Used by members to sign in to your group in GitLab" msgstr "" +msgid "User ID" +msgstr "" + msgid "User Settings" msgstr "" @@ -7536,6 +7953,9 @@ msgstr "" msgid "Webhooks allow you to trigger a URL if, for example, new code is pushed or a new issue is created. You can configure webhooks to listen for specific events like pushes, issues or merge requests. Group webhooks will apply to all projects in a group, allowing you to standardize webhook functionality across your entire group." msgstr "" +msgid "Website" +msgstr "" + msgid "Weeks" msgstr "" @@ -7737,12 +8157,21 @@ msgstr "" msgid "You can also test your .gitlab-ci.yml in the %{linkStart}Lint%{linkEnd}" msgstr "" +msgid "You can also use personal access tokens to authenticate against Git over HTTP. They are the only accepted password when you have Two-Factor Authentication (2FA) enabled." +msgstr "" + +msgid "You can change your avatar here" +msgstr "" + msgid "You can easily contribute to them by requesting to join these groups." msgstr "" msgid "You can easily install a Runner on a Kubernetes cluster. %{link_to_help_page}" msgstr "" +msgid "You can generate a personal access token for each application you use that needs access to the GitLab API." +msgstr "" + msgid "You can move around the graph by using the arrow keys." msgstr "" @@ -7755,6 +8184,15 @@ msgstr "" msgid "You can resolve the merge conflict using either the Interactive mode, by choosing %{use_ours} or %{use_theirs} buttons, or by editing the files directly. Commit these changes into %{branch_name}" msgstr "" +msgid "You can see your Chat accounts." +msgstr "" + +msgid "You can specify notification level per group or per project." +msgstr "" + +msgid "You can upload an avatar here" +msgstr "" + msgid "You cannot write to a read-only secondary GitLab Geo instance. Please use %{link_to_primary_node} instead." msgstr "" @@ -7764,6 +8202,12 @@ msgstr "" msgid "You do not have the correct permissions to override the settings from the LDAP group sync." msgstr "" +msgid "You don't have any U2F devices registered yet." +msgstr "" + +msgid "You don't have any active chat names." +msgstr "" + msgid "You don't have any applications" msgstr "" @@ -7782,6 +8226,9 @@ msgstr "" msgid "You must have maintainer access to force delete a lock" msgstr "" +msgid "You must provide your current password in order to change it." +msgstr "" + msgid "You must sign in to star a project" msgstr "" @@ -7794,6 +8241,9 @@ msgstr "" msgid "You need permission." msgstr "" +msgid "You should %{link_to_reset_it} if that ever happens." +msgstr "" + msgid "You will not get any notifications via email" msgstr "" @@ -7830,21 +8280,42 @@ msgstr "" msgid "You're receiving this email because of your account on %{host}. %{manage_notifications_link} · %{help_link}" msgstr "" +msgid "You've already enabled two-factor authentication using mobile authenticator applications. In order to register a different device, you must first disable two-factor authentication." +msgstr "" + msgid "YouTube" msgstr "" +msgid "Your GPG keys (%{count})" +msgstr "" + msgid "Your Groups" msgstr "" msgid "Your Kubernetes cluster information on this page is still editable, but you are advised to disable and reconfigure" msgstr "" +msgid "Your New Personal Access Token" +msgstr "" + +msgid "Your Notification Email will be used for account notifications." +msgstr "" + +msgid "Your Primary Email will be used for avatar detection and web based operations, such as edits and merges." +msgstr "" + msgid "Your Projects (default)" msgstr "" msgid "Your Projects' Activity" msgstr "" +msgid "Your Public Email will be displayed on your public profile." +msgstr "" + +msgid "Your SSH keys (%{count})" +msgstr "" + msgid "Your Todos" msgstr "" @@ -7863,12 +8334,27 @@ msgstr "" msgid "Your comment will not be visible to the public." msgstr "" +msgid "Your email address was automatically set based on your %{email} account." +msgstr "" + +msgid "Your feed token is used to authenticate you when your RSS reader loads a personalized RSS feed or when when your calendar application loads a personalized calendar, and is included in those feed URLs." +msgstr "" + msgid "Your groups" msgstr "" +msgid "Your incoming email token is used to authenticate you when you create a new issue by email, and is included in your personal project-specific email addresses." +msgstr "" + +msgid "Your location was automatically set based on your %{location} account." +msgstr "" + msgid "Your name" msgstr "" +msgid "Your name was automatically set based on your %{name} account, so people you know can recognize you." +msgstr "" + msgid "Your projects" msgstr "" @@ -8131,6 +8617,9 @@ msgstr "" msgid "could not read private key, is the passphrase correct?" msgstr "" +msgid "created %{time_ago}" +msgstr "" + msgid "customize" msgstr "" @@ -8158,6 +8647,9 @@ msgstr "" msgid "disabled" msgstr "" +msgid "documentation" +msgstr "" + msgid "done" msgstr "" @@ -8170,12 +8662,18 @@ msgstr "" msgid "for this project" msgstr "" +msgid "generate it" +msgstr "" + msgid "here" msgstr "" msgid "https://your-bitbucket-server" msgstr "" +msgid "impersonation" +msgstr "" + msgid "import flow" msgstr "" @@ -8191,6 +8689,9 @@ msgstr "" msgid "is not a valid X509 certificate." msgstr "" +msgid "last used:" +msgstr "" + msgid "latest version" msgstr "" @@ -8443,6 +8944,15 @@ msgstr "" msgid "or" msgstr "" +msgid "or change it at" +msgstr "" + +msgid "or recover your current one" +msgstr "" + +msgid "or remove the current avatar to revert to" +msgstr "" + msgid "out of %d total test" msgid_plural "out of %d total tests" msgstr[0] "" @@ -8456,6 +8966,9 @@ msgstr[1] "" msgid "password" msgstr "" +msgid "personal access" +msgstr "" + msgid "personal access token" msgstr "" @@ -8471,6 +8984,9 @@ msgstr "" msgid "remove weight" msgstr "" +msgid "reset it" +msgstr "" + msgid "source" msgstr "" diff --git a/qa/qa/page/profile/personal_access_tokens.rb b/qa/qa/page/profile/personal_access_tokens.rb index f5ae47dadd055e..ce46a3fc5f5824 100644 --- a/qa/qa/page/profile/personal_access_tokens.rb +++ b/qa/qa/page/profile/personal_access_tokens.rb @@ -4,7 +4,7 @@ module Profile class PersonalAccessTokens < Page::Base view 'app/views/shared/_personal_access_tokens_form.html.haml' do element :personal_access_token_name_field, 'text_field :name' - element :create_token_button, 'submit "Create #{type} token"' # rubocop:disable Lint/InterpolationCheck + element :create_token_button, 'submit _("Create %{type} token") % {type: type}' element :scopes_api_radios, "label :scopes" end -- GitLab