summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Wortschack <mwortschack@gitlab.com>2019-04-16 21:28:52 +0200
committerMartin Wortschack <mwortschack@gitlab.com>2019-04-16 21:29:10 +0200
commit6d20be4d3e3deb1bf3b19996ceb0168a74eaa259 (patch)
tree2e6b1db1eb292283dfefed3915f9e75e012e5866
parenta67b1c17a1284daf6e7f12d3f9c4a80fae59dde9 (diff)
downloadgitlab-ce-6d20be4d3e3deb1bf3b19996ceb0168a74eaa259.tar.gz
Externalize several strings in /lib
- Update PO file
-rw-r--r--lib/file_size_validator.rb8
-rw-r--r--lib/gitlab/access.rb8
-rw-r--r--lib/gitlab/auth/ldap/adapter.rb6
-rw-r--r--lib/gitlab/auth/user_access_denied_reason.rb8
-rw-r--r--lib/gitlab/bitbucket_import/importer.rb4
-rw-r--r--lib/gitlab/bitbucket_server_import/importer.rb2
-rw-r--r--lib/gitlab/config/entry/attributable.rb2
-rw-r--r--lib/gitlab/git/push.rb2
-rw-r--r--lib/gitlab/git_access.rb32
-rw-r--r--lib/gitlab/legacy_github_import/client.rb2
-rw-r--r--lib/gitlab/legacy_github_import/importer.rb4
-rw-r--r--lib/gitlab/manifest_import/manifest.rb6
-rw-r--r--lib/gitlab/omniauth_initializer.rb2
-rw-r--r--lib/gitlab/quick_actions/merge_request_actions.rb10
-rw-r--r--lib/gitlab/untrusted_regexp/ruby_syntax.rb4
-rw-r--r--lib/gitlab/utils.rb4
-rw-r--r--lib/mattermost/session.rb2
-rw-r--r--locale/gitlab.pot150
18 files changed, 203 insertions, 53 deletions
diff --git a/lib/file_size_validator.rb b/lib/file_size_validator.rb
index 70a145cd5bd..cc7d4a127c7 100644
--- a/lib/file_size_validator.rb
+++ b/lib/file_size_validator.rb
@@ -9,7 +9,7 @@ class FileSizeValidator < ActiveModel::EachValidator
def initialize(options)
if range = (options.delete(:in) || options.delete(:within))
- raise ArgumentError, ":in and :within must be a Range" unless range.is_a?(Range)
+ raise ArgumentError, _(":in and :within must be a Range") unless range.is_a?(Range)
options[:minimum], options[:maximum] = range.begin, range.end
options[:maximum] -= 1 if range.exclude_end?
@@ -22,21 +22,21 @@ class FileSizeValidator < ActiveModel::EachValidator
keys = CHECKS.keys & options.keys
if keys.empty?
- raise ArgumentError, 'Range unspecified. Specify the :within, :maximum, :minimum, or :is option.'
+ raise ArgumentError, _('Range unspecified. Specify the :within, :maximum, :minimum, or :is option.')
end
keys.each do |key|
value = options[key]
unless (value.is_a?(Integer) && value >= 0) || value.is_a?(Symbol)
- raise ArgumentError, ":#{key} must be a nonnegative Integer or symbol"
+ raise ArgumentError, _(":%{key} must be a nonnegative Integer or symbol") % { key: key }
end
end
end
# rubocop: disable CodeReuse/ActiveRecord
def validate_each(record, attribute, value)
- raise(ArgumentError, "A CarrierWave::Uploader::Base object was expected") unless value.is_a? CarrierWave::Uploader::Base
+ raise(ArgumentError, _("A CarrierWave::Uploader::Base object was expected")) unless value.is_a? CarrierWave::Uploader::Base
value = (options[:tokenizer] || DEFAULT_TOKENIZER).call(value) if value.is_a?(String)
diff --git a/lib/gitlab/access.rb b/lib/gitlab/access.rb
index 6eb08f674c2..264bd2225f4 100644
--- a/lib/gitlab/access.rb
+++ b/lib/gitlab/access.rb
@@ -72,10 +72,10 @@ module Gitlab
def protection_options
{
- "Not protected: Both developers and maintainers can push new commits, force push, or delete the branch." => PROTECTION_NONE,
- "Protected against pushes: Developers cannot push new commits, but are allowed to accept merge requests to the branch. Maintainers can push to the branch." => PROTECTION_DEV_CAN_MERGE,
- "Partially protected: Both developers and maintainers can push new commits, but cannot force push or delete the branch." => PROTECTION_DEV_CAN_PUSH,
- "Fully protected: Developers cannot push new commits, but maintainers can. No-one can force push or delete the branch." => PROTECTION_FULL
+ _("ProjectProtectionLevel|Not protected: Both developers and maintainers can push new commits, force push, or delete the branch.") => PROTECTION_NONE,
+ _("ProjectProtectionLevel|Protected against pushes: Developers cannot push new commits, but are allowed to accept merge requests to the branch. Maintainers can push to the branch.") => PROTECTION_DEV_CAN_MERGE,
+ _("ProjectProtectionLevel|Partially protected: Both developers and maintainers can push new commits, but cannot force push or delete the branch.") => PROTECTION_DEV_CAN_PUSH,
+ _("ProjectProtectionLevel|Fully protected: Developers cannot push new commits, but maintainers can. No-one can force push or delete the branch.") => PROTECTION_FULL
}
end
diff --git a/lib/gitlab/auth/ldap/adapter.rb b/lib/gitlab/auth/ldap/adapter.rb
index 15b9d5ad6e9..ba0019cb023 100644
--- a/lib/gitlab/auth/ldap/adapter.rb
+++ b/lib/gitlab/auth/ldap/adapter.rb
@@ -102,7 +102,7 @@ module Gitlab
options[:size] = limit if limit
if fields.include?('dn')
- raise ArgumentError, 'It is not currently possible to search the DN and other fields at the same time.' if fields.size > 1
+ raise ArgumentError, _('It is not currently possible to search the DN and other fields at the same time.') if fields.size > 1
options[:base] = value
options[:scope] = Net::LDAP::SearchScope_BaseObject
@@ -127,9 +127,9 @@ module Gitlab
def connection_error_message(exception)
if exception.is_a?(Timeout::Error)
- "LDAP search timed out after #{config.timeout} seconds"
+ _("LDAP search timed out after %{config_timeout} seconds") % { config_timeout: config.timeout }
else
- "LDAP search raised exception #{exception.class}: #{exception.message}"
+ _("LDAP search raised exception %{exception_class}: %{exception_message}") % { exception_class: exception.class, exception_message: exception.message }
end
end
diff --git a/lib/gitlab/auth/user_access_denied_reason.rb b/lib/gitlab/auth/user_access_denied_reason.rb
index fd09fe76c02..4f37bad0604 100644
--- a/lib/gitlab/auth/user_access_denied_reason.rb
+++ b/lib/gitlab/auth/user_access_denied_reason.rb
@@ -10,12 +10,12 @@ module Gitlab
def rejection_message
case rejection_type
when :internal
- "This action cannot be performed by internal users"
+ _("This action cannot be performed by internal users")
when :terms_not_accepted
- "You (#{@user.to_reference}) must accept the Terms of Service in order to perform this action. "\
- "Please access GitLab from a web browser to accept these terms."
+ _("You (%{user_to_reference}) must accept the Terms of Service in order to perform this action. "\
+ "Please access GitLab from a web browser to accept these terms.") % { user_to_reference: @user.to_reference }
else
- "Your account has been blocked."
+ _("Your account has been blocked.")
end
end
diff --git a/lib/gitlab/bitbucket_import/importer.rb b/lib/gitlab/bitbucket_import/importer.rb
index 769d3279f91..11d837888f4 100644
--- a/lib/gitlab/bitbucket_import/importer.rb
+++ b/lib/gitlab/bitbucket_import/importer.rb
@@ -36,7 +36,7 @@ module Gitlab
return unless errors.any?
project.import_state.update_column(:last_error, {
- message: 'The remote data could not be fully imported.',
+ message: _('The remote data could not be fully imported.'),
errors: errors
}.to_json)
end
@@ -139,7 +139,7 @@ module Gitlab
if label.valid?
@labels[label_params[:title]] = label
else
- raise "Failed to create label \"#{label_params[:title]}\" for project \"#{project.full_name}\""
+ raise _("Failed to create label \"%{label}\" for project \"%{project_full_name}\"") % { label: label_params[:title], project_full_name: project.full_name }
end
end
end
diff --git a/lib/gitlab/bitbucket_server_import/importer.rb b/lib/gitlab/bitbucket_server_import/importer.rb
index 1d3ddeeb0f1..ef27fb23e16 100644
--- a/lib/gitlab/bitbucket_server_import/importer.rb
+++ b/lib/gitlab/bitbucket_server_import/importer.rb
@@ -55,7 +55,7 @@ module Gitlab
return unless errors.any?
project.import_state.update_column(:last_error, {
- message: 'The remote data could not be fully imported.',
+ message: _('The remote data could not be fully imported.'),
errors: errors
}.to_json)
end
diff --git a/lib/gitlab/config/entry/attributable.rb b/lib/gitlab/config/entry/attributable.rb
index 560fe63df0e..b651819a56c 100644
--- a/lib/gitlab/config/entry/attributable.rb
+++ b/lib/gitlab/config/entry/attributable.rb
@@ -10,7 +10,7 @@ module Gitlab
def attributes(*attributes)
attributes.flatten.each do |attribute|
if method_defined?(attribute)
- raise ArgumentError, 'Method already defined!'
+ raise ArgumentError, _('Method already defined!')
end
define_method(attribute) do
diff --git a/lib/gitlab/git/push.rb b/lib/gitlab/git/push.rb
index b6577ba17f1..11073a12ba3 100644
--- a/lib/gitlab/git/push.rb
+++ b/lib/gitlab/git/push.rb
@@ -44,7 +44,7 @@ module Gitlab
def modified_paths
unless branch_updated?
- raise ArgumentError, 'Unable to calculate modified paths!'
+ raise ArgumentError, _('Unable to calculate modified paths!')
end
strong_memoize(:modified_paths) do
diff --git a/lib/gitlab/git_access.rb b/lib/gitlab/git_access.rb
index cb80ed64eff..0f014d1d6b0 100644
--- a/lib/gitlab/git_access.rb
+++ b/lib/gitlab/git_access.rb
@@ -17,19 +17,19 @@ module Gitlab
ANY = '_any'
ERROR_MESSAGES = {
- upload: 'You are not allowed to upload code for this project.',
- download: 'You are not allowed to download code from this project.',
- auth_upload: 'You are not allowed to upload code.',
- auth_download: 'You are not allowed to download code.',
- deploy_key_upload: 'This deploy key does not have write access to this project.',
- no_repo: 'A repository for this project does not exist yet.',
- project_not_found: 'The project you were looking for could not be found.',
- command_not_allowed: "The command you're trying to execute is not allowed.",
- upload_pack_disabled_over_http: 'Pulling over HTTP is not allowed.',
- receive_pack_disabled_over_http: 'Pushing over HTTP is not allowed.',
- read_only: 'The repository is temporarily read-only. Please try again later.',
- cannot_push_to_read_only: "You can't push code to a read-only GitLab instance.",
- push_code: 'You are not allowed to push code to this project.'
+ upload: _('You are not allowed to upload code for this project.'),
+ download: _('You are not allowed to download code from this project.'),
+ auth_upload: _('You are not allowed to upload code.'),
+ auth_download: _('You are not allowed to download code.'),
+ deploy_key_upload: _('This deploy key does not have write access to this project.'),
+ no_repo: _('A repository for this project does not exist yet.'),
+ project_not_found: _('The project you were looking for could not be found.'),
+ command_not_allowed: _('The command you\'re trying to execute is not allowed.'),
+ upload_pack_disabled_over_http: _('Pulling over HTTP is not allowed.'),
+ receive_pack_disabled_over_http: _('Pushing over HTTP is not allowed.'),
+ read_only: _('The repository is temporarily read-only. Please try again later.'),
+ cannot_push_to_read_only: _('You can\'t push code to a read-only GitLab instance.'),
+ push_code: _('You are not allowed to push code to this project.')
}.freeze
INTERNAL_TIMEOUT = 50.seconds.freeze
@@ -124,7 +124,7 @@ module Gitlab
return unless actor.is_a?(Key)
unless actor.valid?
- raise UnauthorizedError, "Your SSH key #{actor.errors[:key].first}."
+ raise UnauthorizedError, _("Your SSH key %{first_actor_error}.") % { first_actor_error: actor.errors[:key].first }
end
end
@@ -132,7 +132,7 @@ module Gitlab
return if request_from_ci_build?
unless protocol_allowed?
- raise UnauthorizedError, "Git access over #{protocol.upcase} is not allowed"
+ raise UnauthorizedError, _("Git access over %{protocol} is not allowed") % { protocol: protocol.upcase }
end
end
@@ -223,7 +223,7 @@ module Gitlab
project = Projects::CreateService.new(user, project_params).execute
unless project.saved?
- raise ProjectCreationError, "Could not create project: #{project.errors.full_messages.join(', ')}"
+ raise ProjectCreationError, _("Could not create project: %{project_errors_full_messages}") % { project_errors_full_messages: project.errors.full_messages.join(', ') }
end
@project = project
diff --git a/lib/gitlab/legacy_github_import/client.rb b/lib/gitlab/legacy_github_import/client.rb
index bbdd094e33b..53a8f0b46d8 100644
--- a/lib/gitlab/legacy_github_import/client.rb
+++ b/lib/gitlab/legacy_github_import/client.rb
@@ -34,7 +34,7 @@ module Gitlab
def client
unless config
raise Projects::ImportService::Error,
- 'OAuth configuration for GitHub missing.'
+ _('OAuth configuration for GitHub missing.')
end
@client ||= ::OAuth2::Client.new(
diff --git a/lib/gitlab/legacy_github_import/importer.rb b/lib/gitlab/legacy_github_import/importer.rb
index 70b18221a66..a7aee4759e9 100644
--- a/lib/gitlab/legacy_github_import/importer.rb
+++ b/lib/gitlab/legacy_github_import/importer.rb
@@ -24,7 +24,7 @@ module Gitlab
unless credentials
raise Projects::ImportService::Error,
- "Unable to find project import data credentials for project ID: #{@project.id}"
+ _("Unable to find project import data credentials for project ID: %{project_id}") % { project_id: @project.id }
end
opts = {}
@@ -81,7 +81,7 @@ module Gitlab
return unless errors.any?
project.import_state.update_column(:last_error, {
- message: 'The remote data could not be fully imported.',
+ message: _('The remote data could not be fully imported.'),
errors: errors
}.to_json)
end
diff --git a/lib/gitlab/manifest_import/manifest.rb b/lib/gitlab/manifest_import/manifest.rb
index 7208fe5bbc5..f1252e450cf 100644
--- a/lib/gitlab/manifest_import/manifest.rb
+++ b/lib/gitlab/manifest_import/manifest.rb
@@ -22,7 +22,7 @@ module Gitlab
@parsed_xml = Nokogiri::XML(file) { |config| config.strict }
@errors = []
rescue Nokogiri::XML::SyntaxError
- @errors = ['The uploaded file is not a valid XML file.']
+ @errors = [_('The uploaded file is not a valid XML file.')]
end
def projects
@@ -40,11 +40,11 @@ module Gitlab
return false if @errors.any?
unless validate_remote
- @errors << 'Make sure a <remote> tag is present and is valid.'
+ @errors << _('Make sure a <remote> tag is present and is valid.')
end
unless validate_projects
- @errors << 'Make sure every <project> tag has name and path attributes.'
+ @errors << _('Make sure every <project> tag has name and path attributes.')
end
@errors.empty?
diff --git a/lib/gitlab/omniauth_initializer.rb b/lib/gitlab/omniauth_initializer.rb
index e0ac9eec1f2..15985446ed9 100644
--- a/lib/gitlab/omniauth_initializer.rb
+++ b/lib/gitlab/omniauth_initializer.rb
@@ -58,7 +58,7 @@ module Gitlab
def cas3_signout_handler
lambda do |request|
ticket = request.params[:session_index]
- raise "Service Ticket not found." unless Gitlab::Auth::OAuth::Session.valid?(:cas3, ticket)
+ raise _("Service Ticket not found.") unless Gitlab::Auth::OAuth::Session.valid?(:cas3, ticket)
Gitlab::Auth::OAuth::Session.destroy(:cas3, ticket)
true
diff --git a/lib/gitlab/quick_actions/merge_request_actions.rb b/lib/gitlab/quick_actions/merge_request_actions.rb
index bade59182a1..4ef2231a7cc 100644
--- a/lib/gitlab/quick_actions/merge_request_actions.rb
+++ b/lib/gitlab/quick_actions/merge_request_actions.rb
@@ -8,8 +8,8 @@ module Gitlab
included do
# MergeRequest only quick actions definitions
- desc 'Merge (when the pipeline succeeds)'
- explanation 'Merges this merge request when the pipeline succeeds.'
+ desc _('Merge (when the pipeline succeeds)')
+ explanation _('Merges this merge request when the pipeline succeeds.')
types MergeRequest
condition do
last_diff_sha = params && params[:merge_request_diff_head_sha]
@@ -20,7 +20,7 @@ module Gitlab
@updates[:merge] = params[:merge_request_diff_head_sha]
end
- desc 'Toggle the Work In Progress status'
+ desc _('Toggle the Work In Progress status')
explanation do
verb = quick_action_target.work_in_progress? ? 'Unmarks' : 'Marks'
noun = quick_action_target.to_ability_name.humanize(capitalize: false)
@@ -36,9 +36,9 @@ module Gitlab
@updates[:wip_event] = quick_action_target.work_in_progress? ? 'unwip' : 'wip'
end
- desc 'Set target branch'
+ desc _('Set target branch')
explanation do |branch_name|
- "Sets target branch to #{branch_name}."
+ _("Sets target branch to %{branch_name}.") % { branch_name: branch_name }
end
params '<Local branch name>'
types MergeRequest
diff --git a/lib/gitlab/untrusted_regexp/ruby_syntax.rb b/lib/gitlab/untrusted_regexp/ruby_syntax.rb
index 6adf119aa75..fc247c15d1e 100644
--- a/lib/gitlab/untrusted_regexp/ruby_syntax.rb
+++ b/lib/gitlab/untrusted_regexp/ruby_syntax.rb
@@ -27,10 +27,10 @@ module Gitlab
end
def self.fabricate!(pattern, fallback: false)
- raise RegexpError, 'Pattern is not string!' unless pattern.is_a?(String)
+ raise RegexpError, _('Pattern is not string!') unless pattern.is_a?(String)
matches = pattern.match(PATTERN)
- raise RegexpError, 'Invalid regular expression!' if matches.nil?
+ raise RegexpError, _('Invalid regular expression!') if matches.nil?
begin
create_untrusted_regexp(matches[:regexp], matches[:flags])
diff --git a/lib/gitlab/utils.rb b/lib/gitlab/utils.rb
index 16ec8a8bb28..e10a6a704d2 100644
--- a/lib/gitlab/utils.rb
+++ b/lib/gitlab/utils.rb
@@ -26,8 +26,8 @@ module Gitlab
end
def ensure_utf8_size(str, bytes:)
- raise ArgumentError, 'Empty string provided!' if str.empty?
- raise ArgumentError, 'Negative string size provided!' if bytes.negative?
+ raise ArgumentError, _('Empty string provided!') if str.empty?
+ raise ArgumentError, _('Negative string size provided!') if bytes.negative?
truncated = str.each_char.each_with_object(+'') do |char, object|
if object.bytesize + char.bytesize > bytes
diff --git a/lib/mattermost/session.rb b/lib/mattermost/session.rb
index e2083848a8d..c83a1cec213 100644
--- a/lib/mattermost/session.rb
+++ b/lib/mattermost/session.rb
@@ -3,7 +3,7 @@
module Mattermost
class NoSessionError < Mattermost::Error
def message
- 'No session could be set up, is Mattermost configured with Single Sign On?'
+ _('No session could be set up, is Mattermost configured with Single Sign On?')
end
end
diff --git a/locale/gitlab.pot b/locale/gitlab.pot
index c2e1f3dcce3..3d05e1f240a 100644
--- a/locale/gitlab.pot
+++ b/locale/gitlab.pot
@@ -321,6 +321,12 @@ msgstr ""
msgid "8 hours"
msgstr ""
+msgid ":%{key} must be a nonnegative Integer or symbol"
+msgstr ""
+
+msgid ":in and :within must be a Range"
+msgstr ""
+
msgid "<code>\"johnsmith@example.com\": \"@johnsmith\"</code> will add \"By <a href=\"#\">@johnsmith</a>\" to all issues and comments originally created by johnsmith@example.com, and will set <a href=\"#\">@johnsmith</a> as the assignee on all issues originally assigned to johnsmith@example.com."
msgstr ""
@@ -348,6 +354,9 @@ msgstr ""
msgid "A .NET Core console application template, customizable for any .NET Core project"
msgstr ""
+msgid "A CarrierWave::Uploader::Base object was expected"
+msgstr ""
+
msgid "A GitBook site that uses Netlify for CI/CD instead of GitLab, but still with all the other great GitLab features."
msgstr ""
@@ -396,6 +405,9 @@ msgstr ""
msgid "A regular expression that will be used to find the test coverage output in the job trace. Leave blank to disable"
msgstr ""
+msgid "A repository for this project does not exist yet."
+msgstr ""
+
msgid "A user with write access to the source branch selected this option"
msgstr ""
@@ -2699,6 +2711,9 @@ msgstr ""
msgid "Could not create Wiki Repository at this time. Please try again later."
msgstr ""
+msgid "Could not create project: %{project_errors_full_messages}"
+msgstr ""
+
msgid "Could not delete chat nickname %{chat_name}."
msgstr ""
@@ -3421,6 +3436,9 @@ msgstr ""
msgid "Empty file"
msgstr ""
+msgid "Empty string provided!"
+msgstr ""
+
msgid "Enable"
msgstr ""
@@ -3931,6 +3949,9 @@ msgstr ""
msgid "Failed to check related branches."
msgstr ""
+msgid "Failed to create label \"%{label}\" for project \"%{project_full_name}\""
+msgstr ""
+
msgid "Failed to create repository via gitlab-shell"
msgstr ""
@@ -4218,6 +4239,9 @@ msgstr ""
msgid "Git LFS is not enabled on this GitLab server, contact your admin."
msgstr ""
+msgid "Git access over %{protocol} is not allowed"
+msgstr ""
+
msgid "Git global setup"
msgstr ""
@@ -4883,6 +4907,9 @@ msgstr ""
msgid "Invalid pin code"
msgstr ""
+msgid "Invalid regular expression!"
+msgstr ""
+
msgid "Invalid repository path"
msgstr ""
@@ -4934,6 +4961,9 @@ msgstr ""
msgid "Issues, merge requests, pushes, and comments."
msgstr ""
+msgid "It is not currently possible to search the DN and other fields at the same time."
+msgstr ""
+
msgid "It must have a header row and at least two columns: the first column is the issue title and the second column is the issue description. The separator is automatically detected."
msgstr ""
@@ -5120,6 +5150,12 @@ msgstr ""
msgid "Kubernetes service integration has been deprecated. %{deprecated_message_content} your Kubernetes clusters using the new <a href=\"%{url}\"/>Kubernetes Clusters</a> page"
msgstr ""
+msgid "LDAP search raised exception %{exception_class}: %{exception_message}"
+msgstr ""
+
+msgid "LDAP search timed out after %{config_timeout} seconds"
+msgstr ""
+
msgid "LFS"
msgstr ""
@@ -5349,6 +5385,12 @@ msgstr ""
msgid "Make issue confidential."
msgstr ""
+msgid "Make sure a <remote> tag is present and is valid."
+msgstr ""
+
+msgid "Make sure every <project> tag has name and path attributes."
+msgstr ""
+
msgid "Make sure you're logged into the account that owns the projects you'd like to import."
msgstr ""
@@ -5469,6 +5511,9 @@ msgstr ""
msgid "Members of <strong>%{project_name}</strong>"
msgstr ""
+msgid "Merge (when the pipeline succeeds)"
+msgstr ""
+
msgid "Merge Request"
msgstr ""
@@ -5574,9 +5619,15 @@ msgstr ""
msgid "Merged branches are being deleted. This can take some time depending on the number of branches. Please refresh the page to see changes."
msgstr ""
+msgid "Merges this merge request when the pipeline succeeds."
+msgstr ""
+
msgid "Messages"
msgstr ""
+msgid "Method already defined!"
+msgstr ""
+
msgid "Metrics"
msgstr ""
@@ -5790,6 +5841,9 @@ msgstr ""
msgid "Nav|Sign out and sign in with a different account"
msgstr ""
+msgid "Negative string size provided!"
+msgstr ""
+
msgid "Network"
msgstr ""
@@ -5996,6 +6050,9 @@ msgstr ""
msgid "No schedules"
msgstr ""
+msgid "No session could be set up, is Mattermost configured with Single Sign On?"
+msgstr ""
+
msgid "No, directly import the existing email addresses and usernames."
msgstr ""
@@ -6128,6 +6185,9 @@ msgstr ""
msgid "November"
msgstr ""
+msgid "OAuth configuration for GitHub missing."
+msgstr ""
+
msgid "Object does not exist on the server or you don't have permissions to access it"
msgstr ""
@@ -6307,6 +6367,9 @@ msgstr ""
msgid "Path:"
msgstr ""
+msgid "Pattern is not string!"
+msgstr ""
+
msgid "Pause"
msgstr ""
@@ -7063,6 +7126,18 @@ msgstr ""
msgid "ProjectPage|Project ID: %{project_id}"
msgstr ""
+msgid "ProjectProtectionLevel|Fully protected: Developers cannot push new commits, but maintainers can. No-one can force push or delete the branch."
+msgstr ""
+
+msgid "ProjectProtectionLevel|Not protected: Both developers and maintainers can push new commits, force push, or delete the branch."
+msgstr ""
+
+msgid "ProjectProtectionLevel|Partially protected: Both developers and maintainers can push new commits, but cannot force push or delete the branch."
+msgstr ""
+
+msgid "ProjectProtectionLevel|Protected against pushes: Developers cannot push new commits, but are allowed to accept merge requests to the branch. Maintainers can push to the branch."
+msgstr ""
+
msgid "ProjectSettings|Badges"
msgstr ""
@@ -7219,6 +7294,9 @@ msgstr ""
msgid "Public pipelines"
msgstr ""
+msgid "Pulling over HTTP is not allowed."
+msgstr ""
+
msgid "Push"
msgstr ""
@@ -7237,6 +7315,9 @@ msgstr ""
msgid "Push to create a project"
msgstr ""
+msgid "Pushing over HTTP is not allowed."
+msgstr ""
+
msgid "PushoverService|%{user_name} deleted branch \"%{ref}\"."
msgstr ""
@@ -7285,6 +7366,9 @@ msgstr ""
msgid "Rake Tasks Help"
msgstr ""
+msgid "Range unspecified. Specify the :within, :maximum, :minimum, or :is option."
+msgstr ""
+
msgid "Read more"
msgstr ""
@@ -7982,6 +8066,9 @@ msgstr ""
msgid "Service Templates"
msgstr ""
+msgid "Service Ticket not found."
+msgstr ""
+
msgid "Service URL"
msgstr ""
@@ -8015,6 +8102,9 @@ msgstr ""
msgid "Set requirements for a user to sign-in. Enable mandatory two-factor authentication."
msgstr ""
+msgid "Set target branch"
+msgstr ""
+
msgid "Set the default expiration time for each job's artifacts. 0 for unlimited. The default unit is in seconds, but you can define an alternative. For example: <code>4 mins 2 sec</code>, <code>2h42min</code>."
msgstr ""
@@ -8072,6 +8162,9 @@ msgstr ""
msgid "SetStatusModal|What's your status?"
msgstr ""
+msgid "Sets target branch to %{branch_name}."
+msgstr ""
+
msgid "Sets the due date to %{due_date}."
msgstr ""
@@ -8793,6 +8886,9 @@ msgstr ""
msgid "The collection of events added to the data gathered for that stage."
msgstr ""
+msgid "The command you're trying to execute is not allowed."
+msgstr ""
+
msgid "The content of this page is not encoded in UTF-8. Edits can only be made via the Git repository."
msgstr ""
@@ -8910,6 +9006,12 @@ msgstr ""
msgid "The project was successfully imported."
msgstr ""
+msgid "The project you were looking for could not be found."
+msgstr ""
+
+msgid "The remote data could not be fully imported."
+msgstr ""
+
msgid "The remote mirror took to long to complete."
msgstr ""
@@ -8922,6 +9024,9 @@ msgstr ""
msgid "The repository for this project is empty"
msgstr ""
+msgid "The repository is temporarily read-only. Please try again later."
+msgstr ""
+
msgid "The repository must be accessible over <code>http://</code>, <code>https://</code> or <code>git://</code>."
msgstr ""
@@ -8964,6 +9069,9 @@ msgstr ""
msgid "The uploaded file is not a valid Google Takeout archive."
msgstr ""
+msgid "The uploaded file is not a valid XML file."
+msgstr ""
+
msgid "The usage ping is disabled, and cannot be configured through this form."
msgstr ""
@@ -9063,6 +9171,9 @@ msgstr ""
msgid "This action can lead to data loss. To prevent accidental actions we ask you to confirm your intention."
msgstr ""
+msgid "This action cannot be performed by internal users"
+msgstr ""
+
msgid "This application was created by %{link_to_owner}."
msgstr ""
@@ -9090,6 +9201,9 @@ msgstr ""
msgid "This container registry has been scheduled for deletion."
msgstr ""
+msgid "This deploy key does not have write access to this project."
+msgstr ""
+
msgid "This diff is collapsed."
msgstr ""
@@ -9550,6 +9664,9 @@ msgstr ""
msgid "Toggle navigation"
msgstr ""
+msgid "Toggle the Work In Progress status"
+msgstr ""
+
msgid "ToggleButton|Toggle Status: OFF"
msgstr ""
@@ -9670,9 +9787,15 @@ msgstr ""
msgid "Type"
msgstr ""
+msgid "Unable to calculate modified paths!"
+msgstr ""
+
msgid "Unable to connect to server: %{error}"
msgstr ""
+msgid "Unable to find project import data credentials for project ID: %{project_id}"
+msgstr ""
+
msgid "Unable to load the diff. %{button_try_again}"
msgstr ""
@@ -10335,6 +10458,9 @@ msgstr ""
msgid "You"
msgstr ""
+msgid "You (%{user_to_reference}) must accept the Terms of Service in order to perform this action. Please access GitLab from a web browser to accept these terms."
+msgstr ""
+
msgid "You are an admin, which means granting access to <strong>%{client_name}</strong> will allow them to interact with GitLab as an admin as well. Proceed with caution."
msgstr ""
@@ -10353,6 +10479,21 @@ msgstr ""
msgid "You are going to transfer %{project_full_name} to another owner. Are you ABSOLUTELY sure?"
msgstr ""
+msgid "You are not allowed to download code from this project."
+msgstr ""
+
+msgid "You are not allowed to download code."
+msgstr ""
+
+msgid "You are not allowed to push code to this project."
+msgstr ""
+
+msgid "You are not allowed to upload code for this project."
+msgstr ""
+
+msgid "You are not allowed to upload code."
+msgstr ""
+
msgid "You are now impersonating %{username}"
msgstr ""
@@ -10419,6 +10560,9 @@ msgstr ""
msgid "You can test your .gitlab-ci.yml in %{linkStart}CI Lint%{linkEnd}."
msgstr ""
+msgid "You can't push code to a read-only GitLab instance."
+msgstr ""
+
msgid "You cannot impersonate a blocked user"
msgstr ""
@@ -10566,6 +10710,9 @@ msgstr ""
msgid "Your Projects' Activity"
msgstr ""
+msgid "Your SSH key %{first_actor_error}."
+msgstr ""
+
msgid "Your Todos"
msgstr ""
@@ -10581,6 +10728,9 @@ msgstr ""
msgid "Your access request to the %{source_type} has been withdrawn."
msgstr ""
+msgid "Your account has been blocked."
+msgstr ""
+
msgid "Your account uses dedicated credentials for the \"%{group_name}\" group and can only be updated through SSO."
msgstr ""