Merge branch 'bvl-translate-project-pages' into 'master'

Translate project & repository pages

See merge request !11183
This commit is contained in:
Douwe Maan 2017-06-07 20:13:47 +00:00
commit 359a8f1fc8
58 changed files with 2776 additions and 242 deletions

View File

@ -3,6 +3,11 @@
import timeago from 'timeago.js';
import dateFormat from 'vendor/date.format';
import {
lang,
s__,
} from '../../locale';
window.timeago = timeago;
window.dateFormat = dateFormat;
@ -48,26 +53,45 @@ window.dateFormat = dateFormat;
var locale;
if (!timeagoInstance) {
const localeRemaining = function(number, index) {
return [
[s__('Timeago|less than a minute ago'), s__('Timeago|a while')],
[s__('Timeago|less than a minute ago'), s__('Timeago|%s seconds remaining')],
[s__('Timeago|about a minute ago'), s__('Timeago|1 minute remaining')],
[s__('Timeago|%s minutes ago'), s__('Timeago|%s minutes remaining')],
[s__('Timeago|about an hour ago'), s__('Timeago|1 hour remaining')],
[s__('Timeago|about %s hours ago'), s__('Timeago|%s hours remaining')],
[s__('Timeago|a day ago'), s__('Timeago|1 day remaining')],
[s__('Timeago|%s days ago'), s__('Timeago|%s days remaining')],
[s__('Timeago|a week ago'), s__('Timeago|1 week remaining')],
[s__('Timeago|%s weeks ago'), s__('Timeago|%s weeks remaining')],
[s__('Timeago|a month ago'), s__('Timeago|1 month remaining')],
[s__('Timeago|%s months ago'), s__('Timeago|%s months remaining')],
[s__('Timeago|a year ago'), s__('Timeago|1 year remaining')],
[s__('Timeago|%s years ago'), s__('Timeago|%s years remaining')]
][index];
};
locale = function(number, index) {
return [
['less than a minute ago', 'a while'],
['less than a minute ago', 'in %s seconds'],
['about a minute ago', 'in 1 minute'],
['%s minutes ago', 'in %s minutes'],
['about an hour ago', 'in 1 hour'],
['about %s hours ago', 'in %s hours'],
['a day ago', 'in 1 day'],
['%s days ago', 'in %s days'],
['a week ago', 'in 1 week'],
['%s weeks ago', 'in %s weeks'],
['a month ago', 'in 1 month'],
['%s months ago', 'in %s months'],
['a year ago', 'in 1 year'],
['%s years ago', 'in %s years']
[s__('Timeago|less than a minute ago'), s__('Timeago|a while')],
[s__('Timeago|less than a minute ago'), s__('Timeago|in %s seconds')],
[s__('Timeago|about a minute ago'), s__('Timeago|in 1 minute')],
[s__('Timeago|%s minutes ago'), s__('Timeago|in %s minutes')],
[s__('Timeago|about an hour ago'), s__('Timeago|in 1 hour')],
[s__('Timeago|about %s hours ago'), s__('Timeago|in %s hours')],
[s__('Timeago|a day ago'), s__('Timeago|in 1 day')],
[s__('Timeago|%s days ago'), s__('Timeago|in %s days')],
[s__('Timeago|a week ago'), s__('Timeago|in 1 week')],
[s__('Timeago|%s weeks ago'), s__('Timeago|in %s weeks')],
[s__('Timeago|a month ago'), s__('Timeago|in 1 month')],
[s__('Timeago|%s months ago'), s__('Timeago|in %s months')],
[s__('Timeago|a year ago'), s__('Timeago|in 1 year')],
[s__('Timeago|%s years ago'), s__('Timeago|in %s years')]
][index];
};
timeago.register('gl_en', locale);
timeago.register(lang, locale);
timeago.register(`${lang}-remaining`, localeRemaining);
timeagoInstance = timeago();
}
@ -79,13 +103,11 @@ window.dateFormat = dateFormat;
if (!time) {
return '';
}
suffix || (suffix = 'remaining');
expiredLabel || (expiredLabel = 'Past due');
timefor = gl.utils.getTimeago().format(time).replace('in', '');
if (timefor.indexOf('ago') > -1) {
if (new Date(time) < new Date()) {
expiredLabel || (expiredLabel = s__('Timeago|Past due'));
timefor = expiredLabel;
} else {
timefor = timefor.trim() + ' ' + suffix;
timefor = gl.utils.getTimeago().format(time, `${lang}-remaining`).trim();
}
return timefor;
};
@ -102,7 +124,7 @@ window.dateFormat = dateFormat;
};
w.gl.utils.updateTimeagoText = function(el) {
const formattedDate = gl.utils.getTimeago().format(el.getAttribute('datetime'), 'gl_en');
const formattedDate = gl.utils.getTimeago().format(el.getAttribute('datetime'), lang);
if (el.textContent !== formattedDate) {
el.textContent = formattedDate;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -34,7 +34,7 @@ class ProjectsController < Projects::ApplicationController
redirect_to(
project_path(@project),
notice: "Project '#{@project.name}' was successfully created."
notice: _("Project '%{project_name}' was successfully created.") % { project_name: @project.name }
)
else
render 'new'
@ -49,7 +49,7 @@ class ProjectsController < Projects::ApplicationController
respond_to do |format|
if result[:status] == :success
flash[:notice] = "Project '#{@project.name}' was successfully updated."
flash[:notice] = _("Project '%{project_name}' was successfully updated.") % { project_name: @project.name }
format.html do
redirect_to(edit_project_path(@project))
end
@ -76,7 +76,7 @@ class ProjectsController < Projects::ApplicationController
return access_denied! unless can?(current_user, :remove_fork_project, @project)
if ::Projects::UnlinkForkService.new(@project, current_user).execute
flash[:notice] = 'The fork relationship has been removed.'
flash[:notice] = _('The fork relationship has been removed.')
end
end
@ -97,7 +97,7 @@ class ProjectsController < Projects::ApplicationController
end
if @project.pending_delete?
flash[:alert] = "Project #{@project.name} queued for deletion."
flash[:alert] = _("Project '%{project_name}' queued for deletion.") % { project_name: @project.name }
end
respond_to do |format|
@ -117,7 +117,7 @@ class ProjectsController < Projects::ApplicationController
return access_denied! unless can?(current_user, :remove_project, @project)
::Projects::DestroyService.new(@project, current_user, {}).async_execute
flash[:alert] = "Project '#{@project.name_with_namespace}' will be deleted."
flash[:alert] = _("Project '%{project_name}' will be deleted.") % { project_name: @project.name_with_namespace }
redirect_to dashboard_projects_path, status: 302
rescue Projects::DestroyService::DestroyError => ex
@ -156,7 +156,7 @@ class ProjectsController < Projects::ApplicationController
redirect_to(
project_path(@project),
notice: "Housekeeping successfully started"
notice: _("Housekeeping successfully started")
)
rescue ::Projects::HousekeepingService::LeaseTaken => ex
redirect_to(
@ -170,7 +170,7 @@ class ProjectsController < Projects::ApplicationController
redirect_to(
edit_project_path(@project),
notice: "Project export started. A download link will be sent by email."
notice: _("Project export started. A download link will be sent by email.")
)
end
@ -182,16 +182,16 @@ class ProjectsController < Projects::ApplicationController
else
redirect_to(
edit_project_path(@project),
alert: "Project export link has expired. Please generate a new export from your project settings."
alert: _("Project export link has expired. Please generate a new export from your project settings.")
)
end
end
def remove_export
if @project.remove_exports
flash[:notice] = "Project export has been deleted."
flash[:notice] = _("Project export has been deleted.")
else
flash[:alert] = "Project export could not be deleted."
flash[:alert] = _("Project export could not be deleted.")
end
redirect_to(edit_project_path(@project))
end
@ -202,7 +202,7 @@ class ProjectsController < Projects::ApplicationController
else
redirect_to(
edit_project_path(@project),
alert: "Project export could not be deleted."
alert: _("Project export could not be deleted.")
)
end
end
@ -220,13 +220,13 @@ class ProjectsController < Projects::ApplicationController
branches = BranchesFinder.new(@repository, params).execute.map(&:name)
options = {
'Branches' => branches.take(100)
s_('RefSwitcher|Branches') => branches.take(100)
}
unless @repository.tag_count.zero?
tags = TagsFinder.new(@repository, params).execute.map(&:name)
options['Tags'] = tags.take(100)
options[s_('RefSwitcher|Tags')] = tags.take(100)
end
# If reference is commit id - we should add it to branch/tag selectbox

View File

@ -61,7 +61,7 @@ module ButtonHelper
html: true,
placement: placement,
container: 'body',
title: "Set a password on your account<br>to pull or push via #{protocol}"
title: _("Set a password on your account to pull or push via %{protocol}") % { protocol: protocol }
}
end
@ -76,7 +76,7 @@ module ButtonHelper
html: true,
placement: placement,
container: 'body',
title: 'Add an SSH key to your profile<br>to pull or push via SSH.'
title: _('Add an SSH key to your profile to pull or push via SSH.')
}
end
end

View File

@ -16,16 +16,18 @@ module CiStatusHelper
return status.label
end
case status
when 'success'
'passed'
when 'success_with_warnings'
'passed with warnings'
when 'manual'
'waiting for manual action'
else
status
end
label = case status
when 'success'
'passed'
when 'success_with_warnings'
'passed with warnings'
when 'manual'
'waiting for manual action'
else
status
end
translation = "CiStatusLabel|#{label}"
s_(translation)
end
def ci_text_for_status(status)
@ -35,13 +37,22 @@ module CiStatusHelper
case status
when 'success'
'passed'
s_('CiStatusText|passed')
when 'success_with_warnings'
'passed'
s_('CiStatusText|passed')
when 'manual'
'blocked'
s_('CiStatusText|blocked')
else
status
# All states are already being translated inside the detailed statuses:
# :running => Gitlab::Ci::Status::Running
# :skipped => Gitlab::Ci::Status::Skipped
# :failed => Gitlab::Ci::Status::Failed
# :success => Gitlab::Ci::Status::Success
# :canceled => Gitlab::Ci::Status::Canceled
# The following states are customized above:
# :manual => Gitlab::Ci::Status::Manual
status_translation = "CiStatusText|#{status}"
s_(status_translation)
end
end

View File

@ -21,30 +21,36 @@ module NotificationsHelper
end
def notification_title(level)
# Can be anything in `NotificationSetting.level:
case level.to_sym
when :participating
'Participate'
s_('NotificationLevel|Participate')
when :mention
'On mention'
s_('NotificationLevel|On mention')
else
level.to_s.titlecase
N_('NotificationLevel|Global')
N_('NotificationLevel|Watch')
N_('NotificationLevel|Disabled')
N_('NotificationLevel|Custom')
level = "NotificationLevel|#{level.to_s.humanize}"
s_(level)
end
end
def notification_description(level)
case level.to_sym
when :participating
'You will only receive notifications for threads you have participated in'
_('You will only receive notifications for threads you have participated in')
when :mention
'You will receive notifications only for comments in which you were @mentioned'
_('You will receive notifications only for comments in which you were @mentioned')
when :watch
'You will receive notifications for any activity'
_('You will receive notifications for any activity')
when :disabled
'You will not get any notifications via email'
_('You will not get any notifications via email')
when :global
'Use your global notification setting'
_('Use your global notification setting')
when :custom
'You will only receive notifications for the events you choose'
_('You will only receive notifications for the events you choose')
end
end
@ -76,11 +82,22 @@ module NotificationsHelper
end
def notification_event_name(event)
# All values from NotificationSetting::EMAIL_EVENTS
case event
when :success_pipeline
'Successful pipeline'
s_('NotificationEvent|Successful pipeline')
else
event.to_s.humanize
N_('NotificationEvent|New note')
N_('NotificationEvent|New issue')
N_('NotificationEvent|Reopen issue')
N_('NotificationEvent|Close issue')
N_('NotificationEvent|Reassign issue')
N_('NotificationEvent|New merge request')
N_('NotificationEvent|Close merge request')
N_('NotificationEvent|Reassign merge request')
N_('NotificationEvent|Merge merge request')
N_('NotificationEvent|Failed pipeline')
s_(event.to_s.humanize)
end
end
end

View File

@ -70,15 +70,18 @@ module ProjectsHelper
end
def remove_project_message(project)
"You are going to remove #{project.name_with_namespace}.\n Removed project CANNOT be restored!\n Are you ABSOLUTELY sure?"
_("You are going to remove %{project_name_with_namespace}.\nRemoved project CANNOT be restored!\nAre you ABSOLUTELY sure?") %
{ project_name_with_namespace: project.name_with_namespace }
end
def transfer_project_message(project)
"You are going to transfer #{project.name_with_namespace} to another owner. Are you ABSOLUTELY sure?"
_("You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?") %
{ project_name_with_namespace: project.name_with_namespace }
end
def remove_fork_project_message(project)
"You are going to remove the fork relationship to source project #{@project.forked_from_project.name_with_namespace}. Are you ABSOLUTELY sure?"
_("You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?") %
{ forked_from_project: @project.forked_from_project.name_with_namespace }
end
def project_nav_tabs
@ -143,7 +146,7 @@ module ProjectsHelper
end
options = options_for_select(
options,
options.invert,
selected: highest_available_option || @project.project_feature.public_send(field),
disabled: disabled_option
)
@ -159,12 +162,13 @@ module ProjectsHelper
end
def link_to_autodeploy_doc
link_to 'About auto deploy', help_page_path('ci/autodeploy/index'), target: '_blank'
link_to _('About auto deploy'), help_page_path('ci/autodeploy/index'), target: '_blank'
end
def autodeploy_flash_notice(branch_name)
"Branch <strong>#{truncate(sanitize(branch_name))}</strong> was created. To set up auto deploy, \
choose a GitLab CI Yaml template and commit your changes. #{link_to_autodeploy_doc}".html_safe
translation = _("Branch <strong>%{branch_name}</strong> was created. To set up auto deploy, choose a GitLab CI Yaml template and commit your changes. %{link_to_autodeploy_doc}") %
{ branch_name: truncate(sanitize(branch_name)), link_to_autodeploy_doc: link_to_autodeploy_doc }
translation.html_safe
end
def project_list_cache_key(project)
@ -250,11 +254,11 @@ module ProjectsHelper
def project_lfs_status(project)
if project.lfs_enabled?
content_tag(:span, class: 'lfs-enabled') do
'Enabled'
s_('LFSStatus|Enabled')
end
else
content_tag(:span, class: 'lfs-disabled') do
'Disabled'
s_('LFSStatus|Disabled')
end
end
end
@ -263,7 +267,7 @@ module ProjectsHelper
if current_user
current_user.name
else
"Your name"
_("Your name")
end
end
@ -300,17 +304,18 @@ module ProjectsHelper
if project.last_activity_at
time_ago_with_tooltip(project.last_activity_at, placement: 'bottom', html_class: 'last_activity_time_ago')
else
"Never"
s_("ProjectLastActivity|Never")
end
end
def add_special_file_path(project, file_name:, commit_message: nil, branch_name: nil, context: nil)
commit_message ||= s_("CommitMessage|Add %{file_name}") % { file_name: file_name.downcase }
namespace_project_new_blob_path(
project.namespace,
project,
project.default_branch || 'master',
file_name: file_name,
commit_message: commit_message || "Add #{file_name.downcase}",
commit_message: commit_message,
branch_name: branch_name,
context: context
)
@ -447,9 +452,9 @@ module ProjectsHelper
def project_feature_options
{
'Disabled' => ProjectFeature::DISABLED,
'Only team members' => ProjectFeature::PRIVATE,
'Everyone with access' => ProjectFeature::ENABLED
ProjectFeature::DISABLED => s_('ProjectFeature|Disabled'),
ProjectFeature::PRIVATE => s_('ProjectFeature|Only team members'),
ProjectFeature::ENABLED => s_('ProjectFeature|Everyone with access')
}
end

View File

@ -29,11 +29,11 @@ module VisibilityLevelHelper
def project_visibility_level_description(level)
case level
when Gitlab::VisibilityLevel::PRIVATE
"Project access must be granted explicitly to each user."
_("Project access must be granted explicitly to each user.")
when Gitlab::VisibilityLevel::INTERNAL
"The project can be accessed by any logged in user."
_("The project can be accessed by any logged in user.")
when Gitlab::VisibilityLevel::PUBLIC
"The project can be accessed without any authentication."
_("The project can be accessed without any authentication.")
end
end
@ -81,7 +81,9 @@ module VisibilityLevelHelper
end
def visibility_level_label(level)
Project.visibility_levels.key(level)
# The visibility level can be:
# 'VisibilityLevel|Private', 'VisibilityLevel|Internal', 'VisibilityLevel|Public'
s_(Project.visibility_levels.key(level))
end
def restricted_visibility_levels(show_all = false)

View File

@ -33,6 +33,7 @@
= webpack_bundle_tag "runtime"
= webpack_bundle_tag "common"
= webpack_bundle_tag "locale"
= webpack_bundle_tag "main"
= webpack_bundle_tag "raven" if current_application_settings.clientside_sentry_enabled
= webpack_bundle_tag "test" if Rails.env.test?

View File

@ -1,3 +1,3 @@
= link_to namespace_project_find_file_path(@project.namespace, @project, @ref), class: 'btn btn-grouped shortcuts-find-file', rel: 'nofollow' do
= icon('search')
%span Find file
%span= _('Find file')

View File

@ -4,17 +4,14 @@
.nav-links.sub-nav.scrolling-tabs
%ul{ class: container_class }
= nav_link(path: 'projects#show') do
= link_to project_path(@project), title: 'Project home', class: 'shortcuts-project' do
%span
Home
= link_to project_path(@project), title: _('Project home'), class: 'shortcuts-project' do
%span= _('Home')
= nav_link(path: 'projects#activity') do
= link_to activity_project_path(@project), title: 'Activity', class: 'shortcuts-project-activity' do
%span
Activity
= link_to activity_project_path(@project), title: _('Activity'), class: 'shortcuts-project-activity' do
%span= _('Activity')
- if can?(current_user, :read_cycle_analytics, @project)
= nav_link(path: 'cycle_analytics#show') do
= link_to project_cycle_analytics_path(@project), title: 'Cycle Analytics', class: 'shortcuts-project-cycle-analytics' do
%span
Cycle Analytics
= link_to project_cycle_analytics_path(@project), title: _('Cycle Analytics'), class: 'shortcuts-project-cycle-analytics' do
%span= _('Cycle Analytics')

View File

@ -14,7 +14,7 @@
- if forked_from_project = @project.forked_from_project
%p
Forked from
#{ s_('ForkedFromProjectPath|Forked from') }
= link_to project_path(forked_from_project) do
= forked_from_project.namespace.try(:name)

View File

@ -15,4 +15,4 @@
.pull-right
= link_to new_mr_path_from_push_event(event), title: "New merge request", class: "btn btn-info btn-sm" do
Create merge request
#{ _('Create merge request') }

View File

@ -3,18 +3,18 @@
.modal-content
.modal-header
%a.close{ href: "#", "data-dismiss" => "modal" } ×
%h3.page-title Create New Directory
%h3.page-title= _('Create New Directory')
.modal-body
= form_tag namespace_project_create_dir_path(@project.namespace, @project, @id), method: :post, remote: false, class: 'form-horizontal js-create-dir-form js-quick-submit js-requires-input' do
.form-group
= label_tag :dir_name, 'Directory name', class: 'control-label'
= label_tag :dir_name, _('Directory name'), class: 'control-label'
.col-sm-10
= text_field_tag :dir_name, params[:dir_name], required: true, class: 'form-control'
= render 'shared/new_commit_form', placeholder: "Add new directory"
= render 'shared/new_commit_form', placeholder: _("Add new directory")
.form-actions
= submit_tag "Create directory", class: 'btn btn-create'
= submit_tag _("Create directory"), class: 'btn btn-create'
= link_to "Cancel", '#', class: "btn btn-cancel", "data-dismiss" => "modal"
- unless can?(current_user, :push_code, @project)

View File

@ -2,29 +2,29 @@
- if !project.empty_repo? && can?(current_user, :download_code, project)
.project-action-button.dropdown.inline>
%button.btn.has-tooltip{ title: 'Download', 'data-toggle' => 'dropdown', 'aria-label' => 'Download' }
%button.btn.has-tooltip{ title: 'Download', 'data-toggle' => 'dropdown', 'aria-label' => s_('DownloadSource|Download') }
= icon('download')
= icon("caret-down")
%span.sr-only
Select Archive Format
%span.sr-only= _('Select Archive Format')
%ul.dropdown-menu.dropdown-menu-align-right{ role: 'menu' }
%li.dropdown-header Source code
%li.dropdown-header
#{ _('Source code') }
%li
= link_to archive_namespace_project_repository_path(project.namespace, project, ref: ref, format: 'zip'), rel: 'nofollow', download: '' do
%i.fa.fa-download
%span Download zip
%span= _('Download zip')
%li
= link_to archive_namespace_project_repository_path(project.namespace, project, ref: ref, format: 'tar.gz'), rel: 'nofollow', download: '' do
%i.fa.fa-download
%span Download tar.gz
%span= _('Download tar.gz')
%li
= link_to archive_namespace_project_repository_path(project.namespace, project, ref: ref, format: 'tar.bz2'), rel: 'nofollow', download: '' do
%i.fa.fa-download
%span Download tar.bz2
%span= _('Download tar.bz2')
%li
= link_to archive_namespace_project_repository_path(project.namespace, project, ref: ref, format: 'tar'), rel: 'nofollow', download: '' do
%i.fa.fa-download
%span Download tar
%span= _('Download tar')
- if pipeline
- artifacts = pipeline.builds.latest.with_artifacts
@ -39,4 +39,5 @@
%li
= link_to latest_succeeded_namespace_project_artifacts_path(project.namespace, project, "#{ref}/download", job: job.name), rel: 'nofollow', download: '' do
%i.fa.fa-download
%span Download '#{job.name}'
%span
#{ s_('DownloadArtifacts|Download') } '#{job.name}'

View File

@ -12,19 +12,19 @@
%li
= link_to new_namespace_project_issue_path(@project.namespace, @project) do
= icon('exclamation-circle fw')
New issue
#{ _('New issue') }
- if merge_project
%li
= link_to new_namespace_project_merge_request_path(merge_project.namespace, merge_project) do
= icon('tasks fw')
New merge request
#{ _('New merge request') }
- if can_create_snippet
%li
= link_to new_namespace_project_snippet_path(@project.namespace, @project) do
= icon('file-text-o fw')
New snippet
#{ _('New snippet') }
- if can_create_issue || merge_project || can_create_snippet
%li.divider
@ -33,20 +33,20 @@
%li
= link_to namespace_project_new_blob_path(@project.namespace, @project, @project.default_branch || 'master') do
= icon('file fw')
New file
#{ _('New file') }
%li
= link_to new_namespace_project_branch_path(@project.namespace, @project) do
= icon('code-fork fw')
New branch
#{ _('New branch') }
%li
= link_to new_namespace_project_tag_path(@project.namespace, @project) do
= icon('tags fw')
New tag
#{ _('New tag') }
- elsif current_user && current_user.already_forked?(@project)
%li
= link_to namespace_project_new_blob_path(@project.namespace, @project, @project.default_branch || 'master') do
= icon('file fw')
New file
#{ _('New file') }
- elsif can?(current_user, :fork_project, @project)
%li
- continue_params = { to: namespace_project_new_blob_path(@project.namespace, @project, @project.default_branch || 'master'),
@ -56,4 +56,4 @@
continue: continue_params)
= link_to fork_path, method: :post do
= icon('file fw')
New file
#{ _('New file') }

View File

@ -1,14 +1,14 @@
- unless @project.empty_repo?
- if current_user && can?(current_user, :fork_project, @project)
- if current_user.already_forked?(@project) && current_user.manageable_namespaces.size < 2
= link_to namespace_project_path(current_user, current_user.fork_of(@project)), title: 'Go to your fork', class: 'btn has-tooltip' do
= link_to namespace_project_path(current_user, current_user.fork_of(@project)), title: _('Go to your fork'), class: 'btn has-tooltip' do
= custom_icon('icon_fork')
%span Fork
%span= s_('GoToYourFork|Fork')
- else
= link_to new_namespace_project_fork_path(@project.namespace, @project), class: 'btn' do
= custom_icon('icon_fork')
%span Fork
%span= s_('CreateNewFork|Fork')
.count-with-arrow
%span.arrow
= link_to namespace_project_forks_path(@project.namespace, @project), title: 'Forks', class: 'count' do
= link_to namespace_project_forks_path(@project.namespace, @project), title: n_('Forks', @project.forks_count), class: 'count' do
= @project.forks_count

View File

@ -1,3 +1,3 @@
- if koding_enabled? && current_user && @repository.koding_yml && can_push_branch?(@project, @project.default_branch)
= link_to koding_project_url(@project), class: 'btn project-action-button inline', target: '_blank', rel: 'noopener noreferrer' do
Run in IDE (Koding)
_('Run in IDE (Koding)')

View File

@ -2,19 +2,19 @@
= link_to toggle_star_namespace_project_path(@project.namespace, @project), { class: 'btn star-btn toggle-star', method: :post, remote: true } do
- if current_user.starred?(@project)
= icon('star')
%span.starred Unstar
%span.starred= _('Unstar')
- else
= icon('star-o')
%span Star
%span= s_('StarProject|Star')
.count-with-arrow
%span.arrow
%span.count.star-count
= @project.star_count
- else
= link_to new_user_session_path, class: 'btn has-tooltip star-btn', title: 'You must sign in to star a project' do
= link_to new_user_session_path, class: 'btn has-tooltip star-btn', title: _('You must sign in to star a project') do
= icon('star')
Star
#{ s_('StarProject|Star') }
.count-with-arrow
%span.arrow
%span.count

View File

@ -31,12 +31,12 @@
= preserve(markdown(commit.description, pipeline: :single_line, author: commit.author))
.commiter
= commit_author_link(commit, avatar: false, size: 24)
committed
#{ _('committed') }
#{time_ago_with_tooltip(commit.committed_date)}
.commit-actions.flex-row.hidden-xs
- if commit.status(ref)
= render_commit_status(commit, ref: ref)
= link_to commit.short_id, namespace_project_commit_path(project.namespace, project, commit), class: "commit-sha btn btn-transparent"
= clipboard_button(text: commit.id, title: "Copy commit SHA to clipboard")
= clipboard_button(text: commit.id, title: _("Copy commit SHA to clipboard"))
= link_to_browse_code(project, commit)

View File

@ -5,32 +5,32 @@
%ul{ class: (container_class) }
= nav_link(controller: %w(tree blob blame edit_tree new_tree find_file)) do
= link_to project_files_path(@project) do
Files
#{ _('Files') }
= nav_link(controller: [:commit, :commits]) do
= link_to namespace_project_commits_path(@project.namespace, @project, current_ref) do
Commits
#{ _('Commits') }
= nav_link(html_options: {class: branches_tab_class}) do
= link_to namespace_project_branches_path(@project.namespace, @project) do
Branches
#{ _('Branches') }
= nav_link(controller: [:tags, :releases]) do
= link_to namespace_project_tags_path(@project.namespace, @project) do
Tags
#{ _('Tags') }
= nav_link(path: 'graphs#show') do
= link_to namespace_project_graph_path(@project.namespace, @project, current_ref) do
Contributors
#{ _('Contributors') }
= nav_link(controller: %w(network)) do
= link_to namespace_project_network_path(@project.namespace, @project, current_ref) do
Graph
#{ s_('ProjectNetworkGraph|Graph') }
= nav_link(controller: :compare) do
= link_to namespace_project_compare_index_path(@project.namespace, @project, from: @repository.root_ref, to: current_ref) do
Compare
#{ _('Compare') }
= nav_link(path: 'graphs#charts') do
= link_to charts_namespace_project_graph_path(@project.namespace, @project, current_ref) do
Charts
#{ _('Charts') }

View File

@ -2,7 +2,6 @@
- page_title "Cycle Analytics"
- content_for :page_specific_javascripts do
= page_specific_javascript_bundle_tag('common_vue')
= page_specific_javascript_bundle_tag('locale')
= page_specific_javascript_bundle_tag('cycle_analytics')
= render "projects/head"

View File

@ -10,7 +10,7 @@
= link_to namespace_project_tree_path(@project.namespace, @project, @ref) do
= @project.path
%li.file-finder
%input#file_find.form-control.file-finder-input{ type: "text", placeholder: 'Find by path', autocomplete: 'off' }
%input#file_find.form-control.file-finder-input{ type: "text", placeholder: _('Find by path'), autocomplete: 'off' }
.tree-content-holder
.table-holder

View File

@ -1,22 +1,22 @@
%h2
%i.fa.fa-warning
No repository
#{ _('No repository') }
%p.slead
The repository for this project does not exist.
#{ _('The repository for this project does not exist.') }
%br
This means you can not push code until you create an empty repository or import existing one.
#{ _('This means you can not push code until you create an empty repository or import existing one.') }
%hr
.no-repo-actions
= link_to namespace_project_repository_path(@project.namespace, @project), method: :post, class: 'btn btn-primary' do
Create empty bare repository
#{ _('Create empty bare repository') }
%strong.prepend-left-10.append-right-10 or
= link_to new_namespace_project_import_path(@project.namespace, @project), class: 'btn' do
Import repository
#{ _('Import repository') }
- if can? current_user, :remove_project, @project
.prepend-top-20
= link_to 'Remove project', project_path(@project), data: { confirm: remove_project_message(@project)}, method: :delete, class: "btn btn-remove pull-right"
= link_to _('Remove project'), project_path(@project), data: { confirm: remove_project_message(@project)}, method: :delete, class: "btn btn-remove pull-right"

View File

@ -17,24 +17,24 @@
%ul.nav
%li
= link_to project_files_path(@project) do
Files (#{storage_counter(@project.statistics.total_repository_size)})
#{_('Files')} (#{storage_counter(@project.statistics.total_repository_size)})
%li
= link_to namespace_project_commits_path(@project.namespace, @project, current_ref) do
#{'Commit'.pluralize(@project.statistics.commit_count)} (#{number_with_delimiter(@project.statistics.commit_count)})
%li
#{n_('Commit', 'Commits', @project.statistics.commit_count)} (#{number_with_delimiter(@project.statistics.commit_count)})
%l
= link_to namespace_project_branches_path(@project.namespace, @project) do
#{'Branch'.pluralize(@repository.branch_count)} (#{number_with_delimiter(@repository.branch_count)})
#{n_('Branch', 'Branches', @repository.branch_count)} (#{number_with_delimiter(@repository.branch_count)})
%li
= link_to namespace_project_tags_path(@project.namespace, @project) do
#{'Tag'.pluralize(@repository.tag_count)} (#{number_with_delimiter(@repository.tag_count)})
#{n_('Tag', 'Tags', @repository.tag_count)} (#{number_with_delimiter(@repository.tag_count)})
- if default_project_view != 'readme' && @repository.readme
%li
= link_to 'Readme', readme_path(@project)
= link_to _('Readme'), readme_path(@project)
- if @repository.changelog
%li
= link_to 'Changelog', changelog_path(@project)
= link_to _('Changelog'), changelog_path(@project)
- if @repository.license_blob
%li
@ -42,43 +42,43 @@
- if @repository.contribution_guide
%li
= link_to 'Contribution guide', contribution_guide_path(@project)
= link_to _('Contribution guide'), contribution_guide_path(@project)
- if @repository.gitlab_ci_yml
%li
= link_to 'CI configuration', ci_configuration_path(@project)
= link_to _('CI configuration'), ci_configuration_path(@project)
- if current_user && can_push_branch?(@project, @project.default_branch)
- unless @repository.changelog
%li.missing
= link_to add_special_file_path(@project, file_name: 'CHANGELOG') do
Add Changelog
#{ _('Add Changelog') }
- unless @repository.license_blob
%li.missing
= link_to add_special_file_path(@project, file_name: 'LICENSE') do
Add License
#{ _('Add License') }
- unless @repository.contribution_guide
%li.missing
= link_to add_special_file_path(@project, file_name: 'CONTRIBUTING.md', commit_message: 'Add contribution guide') do
Add Contribution guide
#{ _('Add Contribution guide') }
- unless @repository.gitlab_ci_yml
%li.missing
= link_to add_special_file_path(@project, file_name: '.gitlab-ci.yml') do
Set up CI
#{ _('Set up CI') }
- if koding_enabled? && @repository.koding_yml.blank?
%li.missing
= link_to 'Set up Koding', add_koding_stack_path(@project)
= link_to _('Set up Koding'), add_koding_stack_path(@project)
- if @repository.gitlab_ci_yml.blank? && @project.deployment_service.present?
%li.missing
= link_to add_special_file_path(@project, file_name: '.gitlab-ci.yml', commit_message: 'Set up auto deploy', branch_name: 'auto-deploy', context: 'autodeploy') do
Set up auto deploy
#{ _('Set up auto deploy') }
%div{ class: container_class }
- if @project.archived?
.text-warning.center.prepend-top-20
%p
= icon("exclamation-triangle fw")
Archived project! Repository is read-only
#{ _('Archived project! Repository is read-only') }
- view_path = default_project_view

View File

@ -3,10 +3,10 @@
%table.table#tree-slider{ class: "table_#{@hex_path} tree-table" }
%thead
%tr
%th Name
%th= s_('ProjectFileTree|Name')
%th.hidden-xs
.pull-left Last commit
%th.text-right Last Update
.pull-left= _('Last commit')
%th.text-right= _('Last Update')
- if @path.present?
%tr.tree-item
%td.tree-item-file-name
@ -20,7 +20,7 @@
= render "projects/tree/readme", readme: tree.readme
- if can_edit_tree?
= render 'projects/blob/upload', title: 'Upload New File', placeholder: 'Upload new file', button_title: 'Upload file', form_path: namespace_project_create_blob_path(@project.namespace, @project, @id), method: :post
= render 'projects/blob/upload', title: _('Upload New File'), placeholder: _('Upload New File'), button_title: _('Upload file'), form_path: namespace_project_create_blob_path(@project.namespace, @project, @id), method: :post
= render 'projects/blob/new_dir'
:javascript

View File

@ -1,7 +1,7 @@
.tree-controls
= render 'projects/find_file_link'
= link_to 'History', namespace_project_commits_path(@project.namespace, @project, @id), class: 'btn btn-grouped'
= link_to s_('Commits|History'), namespace_project_commits_path(@project.namespace, @project, @id), class: 'btn btn-grouped'
= render 'projects/buttons/download', project: @project, ref: @ref
@ -19,7 +19,7 @@
- if current_user
%li
- if !on_top_of_branch?
%span.btn.add-to-tree.disabled.has-tooltip{ title: "You can only add files when you are on a branch", data: { container: 'body' } }
%span.btn.add-to-tree.disabled.has-tooltip{ title: _("You can only add files when you are on a branch"), data: { container: 'body' } }
= icon('plus')
- else
%span.dropdown
@ -30,15 +30,15 @@
%li
= link_to namespace_project_new_blob_path(@project.namespace, @project, @id) do
= icon('pencil fw')
New file
#{ _('New file') }
%li
= link_to '#modal-upload-blob', { 'data-target' => '#modal-upload-blob', 'data-toggle' => 'modal' } do
= icon('file fw')
Upload file
#{ _('Upload file') }
%li
= link_to '#modal-create-new-dir', { 'data-target' => '#modal-create-new-dir', 'data-toggle' => 'modal' } do
= icon('folder fw')
New directory
#{ _('New directory') }
- elsif can?(current_user, :fork_project, @project)
%li
- continue_params = { to: namespace_project_new_blob_path(@project.namespace, @project, @id),
@ -48,7 +48,7 @@
continue: continue_params)
= link_to fork_path, method: :post do
= icon('pencil fw')
New file
#{ _('New file') }
%li
- continue_params = { to: request.fullpath,
notice: edit_in_new_fork_notice + " Try to upload a file again.",
@ -57,7 +57,7 @@
continue: continue_params)
= link_to fork_path, method: :post do
= icon('file fw')
Upload file
#{ _('Upload file') }
%li
- continue_params = { to: request.fullpath,
notice: edit_in_new_fork_notice + " Try to create a new directory again.",
@ -66,14 +66,14 @@
continue: continue_params)
= link_to fork_path, method: :post do
= icon('folder fw')
New directory
#{ _('New directory') }
%li.divider
%li
= link_to new_namespace_project_branch_path(@project.namespace, @project) do
= icon('code-fork fw')
New branch
#{ _('New branch') }
%li
= link_to new_namespace_project_tag_path(@project.namespace, @project) do
= icon('tags fw')
New tag
#{ _('New tag') }

View File

@ -1,6 +1,6 @@
- @no_container = true
- page_title @path.presence || "Files", @ref
- page_title @path.presence || _("Files"), @ref
= content_for :meta_tags do
= auto_discovery_link_tag(:atom, namespace_project_commits_url(@project.namespace, @project, @ref, rss_url_options), title: "#{@project.name}:#{@ref} commits")
= render "projects/commits/head"

View File

@ -19,7 +19,7 @@
= text_field_tag :project_clone, default_url_to_repo(project), class: "js-select-on-focus form-control", readonly: true, aria: { label: 'Project clone URL' }
.input-group-btn
= clipboard_button(target: '#project_clone', title: "Copy URL to clipboard")
= clipboard_button(target: '#project_clone', title: _("Copy URL to clipboard"))
:javascript
$('ul.clone-options-dropdown a').on('click',function(e){

View File

@ -1,8 +1,10 @@
- if cookies[:hide_no_password_message].blank? && !current_user.hide_no_password && current_user.require_password?
.no-password-message.alert.alert-warning
You won't be able to pull or push project code via #{gitlab_config.protocol.upcase} until you #{link_to 'set a password', edit_profile_password_path} on your account
- set_password_link = link_to s_('SetPasswordToCloneLink|set a password'), edit_profile_password_path
- translation_params = { protocol: gitlab_config.protocol.upcase, set_password_link: set_password_link }
- set_password_message = _("You won't be able to pull or push project code via %{protocol} until you %{set_password_link} on your account") % translation_params
.alert-link-group
= link_to "Don't show again", profile_path(user: {hide_no_password: true}), method: :put
= link_to _("Don't show again"), profile_path(user: {hide_no_password: true}), method: :put
|
= link_to 'Remind later', '#', class: 'hide-no-password-message'
= link_to _('Remind later'), '#', class: 'hide-no-password-message'

View File

@ -1,8 +1,9 @@
- if cookies[:hide_no_ssh_message].blank? && !current_user.hide_no_ssh_key && current_user.require_ssh_key?
.no-ssh-key-message.alert.alert-warning
You won't be able to pull or push project code via SSH until you #{link_to 'add an SSH key', profile_keys_path, class: 'alert-link'} to your profile
- add_ssh_key_link = link_to s_('MissingSSHKeyWarningLink|add an SSH key'), profile_keys_path, class: 'alert-link'
- ssh_message = _("You won't be able to pull or push project code via SSH until you %{add_ssh_key_link} to your profile") % { add_ssh_key_link: add_ssh_key_link }
#{ ssh_message.html_safe }
.alert-link-group
= link_to "Don't show again", profile_path(user: {hide_no_ssh_key: true}), method: :put, class: 'alert-link'
= link_to _("Don't show again"), profile_path(user: {hide_no_ssh_key: true}), method: :put, class: 'alert-link'
|
= link_to 'Remind later', '#', class: 'hide-no-ssh-message alert-link'
= link_to _('Remind later'), '#', class: 'hide-no-ssh-message alert-link'

View File

@ -6,9 +6,9 @@
- @options && @options.each do |key, value|
= hidden_field_tag key, value, id: nil
.dropdown
= dropdown_toggle dropdown_toggle_text, { toggle: "dropdown", selected: dropdown_toggle_text, ref: @ref, refs_url: refs_namespace_project_path(@project.namespace, @project), field_name: 'ref', submit_form_on_click: true }, { toggle_class: "js-project-refs-dropdown git-revision-dropdown-toggle" }
= dropdown_toggle dropdown_toggle_text, { toggle: "dropdown", selected: dropdown_toggle_text, ref: @ref, refs_url: refs_namespace_project_path(@project.namespace, @project), field_name: 'ref', submit_form_on_click: true }, { toggle_class: "js-project-refs-dropdown" }
.dropdown-menu.dropdown-menu-selectable.git-revision-dropdown{ class: ("dropdown-menu-align-right" if local_assigns[:align_right]) }
= dropdown_title "Switch branch/tag"
= dropdown_filter "Search branches and tags"
= dropdown_title _("Switch branch/tag")
= dropdown_filter _("Search branches and tags")
= dropdown_content
= dropdown_loading

View File

@ -2,16 +2,17 @@
.project-action-button.inline
- if can?(current_user, :"destroy_#{model_name}_member", source.members.find_by(user_id: current_user.id))
= link_to "Leave #{model_name}", polymorphic_path([:leave, source, :members]),
- link_text = source.is_a?(Group) ? _('Leave group') : _('Leave project')
= link_to link_text, polymorphic_path([:leave, source, :members]),
method: :delete,
data: { confirm: leave_confirmation_message(source) },
class: 'btn'
- elsif requester = source.requesters.find_by(user_id: current_user.id)
= link_to 'Withdraw Access Request', polymorphic_path([:leave, source, :members]),
= link_to _('Withdraw Access Request'), polymorphic_path([:leave, source, :members]),
method: :delete,
data: { confirm: remove_member_message(requester) },
class: 'btn'
- elsif source.request_access_enabled && can?(current_user, :request_access, source)
= link_to 'Request Access', polymorphic_path([:request_access, source, :members]),
= link_to _('Request Access'), polymorphic_path([:request_access, source, :members]),
method: :post,
class: 'btn'

View File

@ -5,7 +5,7 @@
%button.close{ type: "button", "aria-label": "close", data: { dismiss: "modal" } }
%span{ "aria-hidden": "true" } } ×
%h4#custom-notifications-title.modal-title
Custom notification events
#{ _('Custom notification events') }
.modal-body
.container-fluid
@ -13,12 +13,11 @@
= hidden_setting_source_input(notification_setting)
.row
.col-lg-4
%h4.prepend-top-0
Notification events
%h4.prepend-top-0= _('Notification events')
%p
Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out
= succeed "." do
%a{ href: help_page_path('workflow/notifications'), target: "_blank" } notification emails
- notification_link = link_to _('notification emails'), help_page_path('workflow/notifications'), target: '_blank'
- paragraph = _('Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}.') % { notification_link: notification_link.html_safe }
#{ paragraph.html_safe }
.col-lg-8
- NotificationSetting::EMAIL_EVENTS.each_with_index do |event, index|
- field_id = "#{notifications_menu_identifier("modal", notification_setting)}_notification_setting[#{event}]"

View File

@ -0,0 +1,4 @@
---
title: Translate backend for Project & Repository pages
merge_request: 11183
author:

View File

@ -183,15 +183,7 @@ var config = {
// create cacheable common library bundles
new webpack.optimize.CommonsChunkPlugin({
names: ['main', 'common', 'runtime'],
}),
// locale common library
new webpack.optimize.CommonsChunkPlugin({
name: 'locale',
chunks: [
'cycle_analytics',
],
names: ['main', 'locale', 'common', 'runtime'],
}),
],

View File

@ -3,11 +3,11 @@ module Gitlab
module Status
class Canceled < Status::Core
def text
'canceled'
s_('CiStatusText|canceled')
end
def label
'canceled'
s_('CiStatusLabel|canceled')
end
def icon

View File

@ -3,11 +3,11 @@ module Gitlab
module Status
class Created < Status::Core
def text
'created'
s_('CiStatusText|created')
end
def label
'created'
s_('CiStatusLabel|created')
end
def icon

View File

@ -3,11 +3,11 @@ module Gitlab
module Status
class Failed < Status::Core
def text
'failed'
s_('CiStatusText|failed')
end
def label
'failed'
s_('CiStatusLabel|failed')
end
def icon

View File

@ -3,11 +3,11 @@ module Gitlab
module Status
class Manual < Status::Core
def text
'manual'
s_('CiStatusText|manual')
end
def label
'manual action'
s_('CiStatusLabel|manual action')
end
def icon

View File

@ -3,11 +3,11 @@ module Gitlab
module Status
class Pending < Status::Core
def text
'pending'
s_('CiStatusText|pending')
end
def label
'pending'
s_('CiStatusLabel|pending')
end
def icon

View File

@ -4,11 +4,11 @@ module Gitlab
module Pipeline
class Blocked < Status::Extended
def text
'blocked'
s_('CiStatusText|blocked')
end
def label
'waiting for manual action'
s_('CiStatusLabel|waiting for manual action')
end
def self.matches?(pipeline, user)

View File

@ -3,11 +3,11 @@ module Gitlab
module Status
class Running < Status::Core
def text
'running'
s_('CiStatus|running')
end
def label
'running'
s_('CiStatus|running')
end
def icon

View File

@ -3,11 +3,11 @@ module Gitlab
module Status
class Skipped < Status::Core
def text
'skipped'
s_('CiStatusText|skipped')
end
def label
'skipped'
s_('CiStatusLabel|skipped')
end
def icon

View File

@ -3,11 +3,11 @@ module Gitlab
module Status
class Success < Status::Core
def text
'passed'
s_('CiStatusText|passed')
end
def label
'passed'
s_('CiStatusLabel|passed')
end
def icon

View File

@ -7,11 +7,11 @@ module Gitlab
#
class SuccessWarning < Status::Extended
def text
'passed'
s_('CiStatusText|passed')
end
def label
'passed with warnings'
s_('CiStatusLabel|passed with warnings')
end
def icon

View File

@ -41,9 +41,9 @@ module Gitlab
def options
{
'Private' => PRIVATE,
'Internal' => INTERNAL,
'Public' => PUBLIC
N_('VisibilityLevel|Private') => PRIVATE,
N_('VisibilityLevel|Internal') => INTERNAL,
N_('VisibilityLevel|Public') => PUBLIC
}
end

View File

@ -7,24 +7,170 @@ msgid ""
msgstr ""
"Project-Id-Version: gitlab 1.0.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2017-05-09 13:44+0200\n"
"PO-Revision-Date: 2017-06-07 12:17+0200\n"
"Language-Team: German\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"Last-Translator: \n"
"X-Generator: Poedit 2.0.1\n"
"Last-Translator: Bob Van Landuyt <bob@gitlab.com>\n"
"X-Generator: Poedit 2.0.2\n"
msgid "About auto deploy"
msgstr ""
msgid "Activity"
msgstr ""
msgid "Add Changelog"
msgstr ""
msgid "Add Contribution guide"
msgstr ""
msgid "Add License"
msgstr ""
msgid "Add an SSH key to your profile to pull or push via SSH."
msgstr ""
msgid "Add new directory"
msgstr ""
msgid "Archived project! Repository is read-only"
msgstr ""
msgid "Branch"
msgid_plural "Branches"
msgstr[0] ""
msgstr[1] ""
msgid "Branch <strong>%{branch_name}</strong> was created. To set up auto deploy, choose a GitLab CI Yaml template and commit your changes. %{link_to_autodeploy_doc}"
msgstr ""
msgid "Branches"
msgstr ""
msgid "ByAuthor|by"
msgstr "Von"
msgid "CI configuration"
msgstr ""
msgid "Changelog"
msgstr ""
msgid "Charts"
msgstr ""
msgid "CiStatusLabel|canceled"
msgstr ""
msgid "CiStatusLabel|created"
msgstr ""
msgid "CiStatusLabel|failed"
msgstr ""
msgid "CiStatusLabel|manual action"
msgstr ""
msgid "CiStatusLabel|passed"
msgstr ""
msgid "CiStatusLabel|passed with warnings"
msgstr ""
msgid "CiStatusLabel|pending"
msgstr ""
msgid "CiStatusLabel|skipped"
msgstr ""
msgid "CiStatusLabel|waiting for manual action"
msgstr ""
msgid "CiStatusText|blocked"
msgstr ""
msgid "CiStatusText|canceled"
msgstr ""
msgid "CiStatusText|created"
msgstr ""
msgid "CiStatusText|failed"
msgstr ""
msgid "CiStatusText|manual"
msgstr ""
msgid "CiStatusText|passed"
msgstr ""
msgid "CiStatusText|pending"
msgstr ""
msgid "CiStatusText|skipped"
msgstr ""
msgid "CiStatus|running"
msgstr ""
msgid "Commit"
msgid_plural "Commits"
msgstr[0] "Commit"
msgstr[1] "Commits"
msgid "CommitMessage|Add %{file_name}"
msgstr ""
msgid "Commits"
msgstr "Commits"
msgid "Commits|History"
msgstr "Commits"
msgid "Compare"
msgstr ""
msgid "Contribution guide"
msgstr ""
msgid "Contributors"
msgstr ""
msgid "Copy URL to clipboard"
msgstr ""
msgid "Copy commit SHA to clipboard"
msgstr ""
msgid "Create New Directory"
msgstr ""
msgid "Create directory"
msgstr ""
msgid "Create empty bare repository"
msgstr ""
msgid "Create merge request"
msgstr ""
msgid "CreateNewFork|Fork"
msgstr ""
msgid "Custom notification events"
msgstr ""
msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}."
msgstr ""
msgid "Cycle Analytics"
msgstr ""
msgid "Cycle Analytics gives an overview of how much time it takes to go from idea to production in your project."
msgstr "Cycle Analytics liefern einen Überblick darüber, wie viel Zeit in Ihrem Projekt von einer Idee bis zum Produktivdeployment vergeht."
@ -54,26 +200,98 @@ msgid_plural "Deploys"
msgstr[0] "Deployment"
msgstr[1] "Deployments"
msgid "Directory name"
msgstr ""
msgid "Don't show again"
msgstr ""
msgid "Download tar"
msgstr ""
msgid "Download tar.bz2"
msgstr ""
msgid "Download tar.gz"
msgstr ""
msgid "Download zip"
msgstr ""
msgid "DownloadArtifacts|Download"
msgstr ""
msgid "DownloadSource|Download"
msgstr ""
msgid "Files"
msgstr ""
msgid "Find by path"
msgstr ""
msgid "Find file"
msgstr ""
msgid "FirstPushedBy|First"
msgstr "Erster"
msgid "FirstPushedBy|pushed by"
msgstr "gepusht von"
msgid "ForkedFromProjectPath|Forked from"
msgstr ""
msgid "Forks"
msgstr ""
msgid "From issue creation until deploy to production"
msgstr "Vom Anlegen des Issues bis zum Produktivdeployment"
msgid "From merge request merge until deploy to production"
msgstr "Vom Merge Request bis zum Produktivdeployment"
msgid "Go to your fork"
msgstr ""
msgid "GoToYourFork|Fork"
msgstr ""
msgid "Home"
msgstr ""
msgid "Housekeeping successfully started"
msgstr ""
msgid "Import repository"
msgstr ""
msgid "Introducing Cycle Analytics"
msgstr "Was sind Cycle Analytics?"
msgid "LFSStatus|Disabled"
msgstr ""
msgid "LFSStatus|Enabled"
msgstr ""
msgid "Last %d day"
msgid_plural "Last %d days"
msgstr[0] "Letzter %d Tag"
msgstr[1] "Letzten %d Tage"
msgid "Last Update"
msgstr ""
msgid "Last commit"
msgstr ""
msgid "Leave group"
msgstr ""
msgid "Leave project"
msgstr ""
msgid "Limited to showing %d event at most"
msgid_plural "Limited to showing %d events at most"
msgstr[0] "Eingeschränkt auf maximal %d Ereignis"
@ -82,29 +300,167 @@ msgstr[1] "Eingeschränkt auf maximal %d Ereignisse"
msgid "Median"
msgstr "Median"
msgid "MissingSSHKeyWarningLink|add an SSH key"
msgstr ""
msgid "New Issue"
msgid_plural "New Issues"
msgstr[0] "Neues Issue"
msgstr[1] "Neue Issues"
msgid "New branch"
msgstr ""
msgid "New directory"
msgstr ""
msgid "New file"
msgstr ""
msgid "New issue"
msgstr "Neues Issue"
msgid "New merge request"
msgstr ""
msgid "New snippet"
msgstr ""
msgid "New tag"
msgstr ""
msgid "No repository"
msgstr ""
msgid "Not available"
msgstr "Nicht verfügbar"
msgid "Not enough data"
msgstr "Nicht genügend Daten"
msgid "Notification events"
msgstr ""
msgid "NotificationEvent|Close issue"
msgstr ""
msgid "NotificationEvent|Close merge request"
msgstr ""
msgid "NotificationEvent|Failed pipeline"
msgstr ""
msgid "NotificationEvent|Merge merge request"
msgstr ""
msgid "NotificationEvent|New issue"
msgstr ""
msgid "NotificationEvent|New merge request"
msgstr ""
msgid "NotificationEvent|New note"
msgstr ""
msgid "NotificationEvent|Reassign issue"
msgstr ""
msgid "NotificationEvent|Reassign merge request"
msgstr ""
msgid "NotificationEvent|Reopen issue"
msgstr ""
msgid "NotificationEvent|Successful pipeline"
msgstr ""
msgid "NotificationLevel|Custom"
msgstr ""
msgid "NotificationLevel|Disabled"
msgstr ""
msgid "NotificationLevel|Global"
msgstr ""
msgid "NotificationLevel|On mention"
msgstr ""
msgid "NotificationLevel|Participate"
msgstr ""
msgid "NotificationLevel|Watch"
msgstr ""
msgid "OpenedNDaysAgo|Opened"
msgstr "Erstellt"
msgid "Pipeline Health"
msgstr "Pipeline Kennzahlen"
msgid "Project '%{project_name}' queued for deletion."
msgstr ""
msgid "Project '%{project_name}' was successfully created."
msgstr ""
msgid "Project '%{project_name}' was successfully updated."
msgstr ""
msgid "Project '%{project_name}' will be deleted."
msgstr ""
msgid "Project access must be granted explicitly to each user."
msgstr ""
msgid "Project export could not be deleted."
msgstr ""
msgid "Project export has been deleted."
msgstr ""
msgid "Project export link has expired. Please generate a new export from your project settings."
msgstr ""
msgid "Project export started. A download link will be sent by email."
msgstr ""
msgid "Project home"
msgstr ""
msgid "ProjectFeature|Disabled"
msgstr ""
msgid "ProjectFeature|Everyone with access"
msgstr ""
msgid "ProjectFeature|Only team members"
msgstr ""
msgid "ProjectFileTree|Name"
msgstr ""
msgid "ProjectLastActivity|Never"
msgstr ""
msgid "ProjectLifecycle|Stage"
msgstr "Phase"
msgid "ProjectNetworkGraph|Graph"
msgstr ""
msgid "Read more"
msgstr "Mehr"
msgid "Readme"
msgstr ""
msgid "RefSwitcher|Branches"
msgstr ""
msgid "RefSwitcher|Tags"
msgstr ""
msgid "Related Commits"
msgstr "Zugehörige Commits"
@ -123,17 +479,67 @@ msgstr "Zugehörige Merge Requests"
msgid "Related Merged Requests"
msgstr "Zugehörige abgeschlossene Merge Requests"
msgid "Remind later"
msgstr ""
msgid "Remove project"
msgstr ""
msgid "Request Access"
msgstr ""
msgid "Search branches and tags"
msgstr ""
msgid "Select Archive Format"
msgstr ""
msgid "Set a password on your account to pull or push via %{protocol}"
msgstr ""
msgid "Set up CI"
msgstr ""
msgid "Set up Koding"
msgstr ""
msgid "Set up auto deploy"
msgstr ""
msgid "SetPasswordToCloneLink|set a password"
msgstr ""
msgid "Showing %d event"
msgid_plural "Showing %d events"
msgstr[0] "Zeige %d Ereignis"
msgstr[1] "Zeige %d Ereignisse"
msgid "Source code"
msgstr ""
msgid "StarProject|Star"
msgstr ""
msgid "Switch branch/tag"
msgstr ""
msgid "Tag"
msgid_plural "Tags"
msgstr[0] ""
msgstr[1] ""
msgid "Tags"
msgstr ""
msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request."
msgstr "Die Code-Phase stellt die Zeit vom ersten Commit bis zum Erstellen eines Merge Requests dar. Sobald Sie Ihren ersten Merge Request anlegen, werden dessen Daten automatisch ergänzt."
msgid "The collection of events added to the data gathered for that stage."
msgstr "Ereignisse, die für diese Phase ausgewertet wurden."
msgid "The fork relationship has been removed."
msgstr ""
msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage."
msgstr "Die Issue-Phase stellt die Zeit vom Anlegen eines Issues bis zum Zuweisen eines Meilensteins oder Hinzufügen zum Issue Board dar. Erstellen Sie einen Issue, damit dessen Daten hier erscheinen."
@ -146,6 +552,15 @@ msgstr "Die Planungsphase stellt die Zeit von der vorherigen Phase bis zum Pushe
msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle."
msgstr "Die Produktiv-Phase stellt die Gesamtzeit vom Anlegen eines Issues bis zum Deployment auf dem Produktivsystem dar. Sobald Sie den vollständigen Entwicklungszyklus von einer Idee bis zum Produktivdeployment durchlaufen haben, erscheinen die zugehörigen Daten hier."
msgid "The project can be accessed by any logged in user."
msgstr ""
msgid "The project can be accessed without any authentication."
msgstr ""
msgid "The repository for this project does not exist."
msgstr ""
msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request."
msgstr "Die Review-Phase stellt die Zeit vom Anlegen eines Merge Requests bis zum Mergen dar. Sobald Sie Ihren ersten Merge Request abschließen, werden dessen Daten hier automatisch angezeigt."
@ -161,6 +576,9 @@ msgstr "Zeit die für das jeweilige Ereignis in der Phase ermittelt wurde."
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 "Der mittlere aller erfassten Werte. Zum Beispiel ist für 3, 5, 9 der Median 5. Bei 3, 5, 7, 8 ist der Median (5+7)/2 = 6."
msgid "This means you can not push code until you create an empty repository or import existing one."
msgstr ""
msgid "Time before an issue gets scheduled"
msgstr "Zeit bis ein Issue geplant wird"
@ -173,6 +591,129 @@ msgstr "Zeit zwischen Anlegen und Mergen/Schließen eines Merge Requests"
msgid "Time until first merge request"
msgstr "Zeit bis zum ersten Merge Request"
msgid "Timeago|%s days ago"
msgstr ""
msgid "Timeago|%s days remaining"
msgstr ""
msgid "Timeago|%s hours remaining"
msgstr ""
msgid "Timeago|%s minutes ago"
msgstr ""
msgid "Timeago|%s minutes remaining"
msgstr ""
msgid "Timeago|%s months ago"
msgstr ""
msgid "Timeago|%s months remaining"
msgstr ""
msgid "Timeago|%s seconds remaining"
msgstr ""
msgid "Timeago|%s weeks ago"
msgstr ""
msgid "Timeago|%s weeks remaining"
msgstr ""
msgid "Timeago|%s years ago"
msgstr ""
msgid "Timeago|%s years remaining"
msgstr ""
msgid "Timeago|1 day remaining"
msgstr ""
msgid "Timeago|1 hour remaining"
msgstr ""
msgid "Timeago|1 minute remaining"
msgstr ""
msgid "Timeago|1 month remaining"
msgstr ""
msgid "Timeago|1 week remaining"
msgstr ""
msgid "Timeago|1 year remaining"
msgstr ""
msgid "Timeago|Past due"
msgstr ""
msgid "Timeago|a day ago"
msgstr ""
msgid "Timeago|a month ago"
msgstr ""
msgid "Timeago|a week ago"
msgstr ""
msgid "Timeago|a while"
msgstr ""
msgid "Timeago|a year ago"
msgstr ""
msgid "Timeago|about %s hours ago"
msgstr ""
msgid "Timeago|about a minute ago"
msgstr ""
msgid "Timeago|about an hour ago"
msgstr ""
msgid "Timeago|in %s days"
msgstr ""
msgid "Timeago|in %s hours"
msgstr ""
msgid "Timeago|in %s minutes"
msgstr ""
msgid "Timeago|in %s months"
msgstr ""
msgid "Timeago|in %s seconds"
msgstr ""
msgid "Timeago|in %s weeks"
msgstr ""
msgid "Timeago|in %s years"
msgstr ""
msgid "Timeago|in 1 day"
msgstr ""
msgid "Timeago|in 1 hour"
msgstr ""
msgid "Timeago|in 1 minute"
msgstr ""
msgid "Timeago|in 1 month"
msgstr ""
msgid "Timeago|in 1 week"
msgstr ""
msgid "Timeago|in 1 year"
msgstr ""
msgid "Timeago|less than a minute ago"
msgstr ""
msgid "Time|hr"
msgid_plural "Time|hrs"
msgstr[0] "h"
@ -192,16 +733,88 @@ msgstr "Gesamtzeit"
msgid "Total test time for all commits/merges"
msgstr "Gesamte Testlaufzeit für alle Commits/Merges"
msgid "Unstar"
msgstr ""
msgid "Upload New File"
msgstr ""
msgid "Upload file"
msgstr ""
msgid "Use your global notification setting"
msgstr ""
msgid "VisibilityLevel|Internal"
msgstr ""
msgid "VisibilityLevel|Private"
msgstr ""
msgid "VisibilityLevel|Public"
msgstr ""
msgid "Want to see the data? Please ask an administrator for access."
msgstr "Um diese Daten einsehen zu können, wenden Sie sich bitte an Ihren Administrator."
msgid "We don't have enough data to show this stage."
msgstr "Es liegen nicht genügend Daten vor, um diese Phase anzuzeigen."
msgid "Withdraw Access Request"
msgstr ""
msgid ""
"You are going to remove %{project_name_with_namespace}.\n"
"Removed project CANNOT be restored!\n"
"Are you ABSOLUTELY sure?"
msgstr ""
msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?"
msgstr ""
msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?"
msgstr ""
msgid "You can only add files when you are on a branch"
msgstr ""
msgid "You must sign in to star a project"
msgstr ""
msgid "You need permission."
msgstr "Sie benötigen Zugriffsrechte."
msgid "You will not get any notifications via email"
msgstr ""
msgid "You will only receive notifications for the events you choose"
msgstr ""
msgid "You will only receive notifications for threads you have participated in"
msgstr ""
msgid "You will receive notifications for any activity"
msgstr ""
msgid "You will receive notifications only for comments in which you were @mentioned"
msgstr ""
msgid "You won't be able to pull or push project code via %{protocol} until you %{set_password_link} on your account"
msgstr ""
msgid "You won't be able to pull or push project code via SSH until you %{add_ssh_key_link} to your profile"
msgstr ""
msgid "Your name"
msgstr ""
msgid "committed"
msgstr ""
msgid "day"
msgid_plural "days"
msgstr[0] "Tag"
msgstr[1] "Tage"
msgid "notification emails"
msgstr ""

View File

@ -7,24 +7,170 @@ msgid ""
msgstr ""
"Project-Id-Version: gitlab 1.0.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2017-04-12 22:36-0500\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2017-06-07 12:14+0200\n"
"Language-Team: English\n"
"Language: en\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"\n"
"Last-Translator: Bob Van Landuyt <bob@gitlab.com>\n"
"X-Generator: Poedit 2.0.2\n"
msgid "About auto deploy"
msgstr ""
msgid "Activity"
msgstr ""
msgid "Add Changelog"
msgstr ""
msgid "Add Contribution guide"
msgstr ""
msgid "Add License"
msgstr ""
msgid "Add an SSH key to your profile to pull or push via SSH."
msgstr ""
msgid "Add new directory"
msgstr ""
msgid "Archived project! Repository is read-only"
msgstr ""
msgid "Branch"
msgid_plural "Branches"
msgstr[0] ""
msgstr[1] ""
msgid "Branch <strong>%{branch_name}</strong> was created. To set up auto deploy, choose a GitLab CI Yaml template and commit your changes. %{link_to_autodeploy_doc}"
msgstr ""
msgid "Branches"
msgstr ""
msgid "ByAuthor|by"
msgstr ""
msgid "CI configuration"
msgstr ""
msgid "Changelog"
msgstr ""
msgid "Charts"
msgstr ""
msgid "CiStatusLabel|canceled"
msgstr ""
msgid "CiStatusLabel|created"
msgstr ""
msgid "CiStatusLabel|failed"
msgstr ""
msgid "CiStatusLabel|manual action"
msgstr ""
msgid "CiStatusLabel|passed"
msgstr ""
msgid "CiStatusLabel|passed with warnings"
msgstr ""
msgid "CiStatusLabel|pending"
msgstr ""
msgid "CiStatusLabel|skipped"
msgstr ""
msgid "CiStatusLabel|waiting for manual action"
msgstr ""
msgid "CiStatusText|blocked"
msgstr ""
msgid "CiStatusText|canceled"
msgstr ""
msgid "CiStatusText|created"
msgstr ""
msgid "CiStatusText|failed"
msgstr ""
msgid "CiStatusText|manual"
msgstr ""
msgid "CiStatusText|passed"
msgstr ""
msgid "CiStatusText|pending"
msgstr ""
msgid "CiStatusText|skipped"
msgstr ""
msgid "CiStatus|running"
msgstr ""
msgid "Commit"
msgid_plural "Commits"
msgstr[0] ""
msgstr[1] ""
msgid "CommitMessage|Add %{file_name}"
msgstr ""
msgid "Commits"
msgstr ""
msgid "Commits|History"
msgstr ""
msgid "Compare"
msgstr ""
msgid "Contribution guide"
msgstr ""
msgid "Contributors"
msgstr ""
msgid "Copy URL to clipboard"
msgstr ""
msgid "Copy commit SHA to clipboard"
msgstr ""
msgid "Create New Directory"
msgstr ""
msgid "Create directory"
msgstr ""
msgid "Create empty bare repository"
msgstr ""
msgid "Create merge request"
msgstr ""
msgid "CreateNewFork|Fork"
msgstr ""
msgid "Custom notification events"
msgstr ""
msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}."
msgstr ""
msgid "Cycle Analytics"
msgstr ""
msgid "Cycle Analytics gives an overview of how much time it takes to go from idea to production in your project."
msgstr ""
@ -54,26 +200,98 @@ msgid_plural "Deploys"
msgstr[0] ""
msgstr[1] ""
msgid "Directory name"
msgstr ""
msgid "Don't show again"
msgstr ""
msgid "Download tar"
msgstr ""
msgid "Download tar.bz2"
msgstr ""
msgid "Download tar.gz"
msgstr ""
msgid "Download zip"
msgstr ""
msgid "DownloadArtifacts|Download"
msgstr ""
msgid "DownloadSource|Download"
msgstr ""
msgid "Files"
msgstr ""
msgid "Find by path"
msgstr ""
msgid "Find file"
msgstr ""
msgid "FirstPushedBy|First"
msgstr ""
msgid "FirstPushedBy|pushed by"
msgstr ""
msgid "ForkedFromProjectPath|Forked from"
msgstr ""
msgid "Forks"
msgstr ""
msgid "From issue creation until deploy to production"
msgstr ""
msgid "From merge request merge until deploy to production"
msgstr ""
msgid "Go to your fork"
msgstr ""
msgid "GoToYourFork|Fork"
msgstr ""
msgid "Home"
msgstr ""
msgid "Housekeeping successfully started"
msgstr ""
msgid "Import repository"
msgstr ""
msgid "Introducing Cycle Analytics"
msgstr ""
msgid "LFSStatus|Disabled"
msgstr ""
msgid "LFSStatus|Enabled"
msgstr ""
msgid "Last %d day"
msgid_plural "Last %d days"
msgstr[0] ""
msgstr[1] ""
msgid "Last Update"
msgstr ""
msgid "Last commit"
msgstr ""
msgid "Leave group"
msgstr ""
msgid "Leave project"
msgstr ""
msgid "Limited to showing %d event at most"
msgid_plural "Limited to showing %d events at most"
msgstr[0] ""
@ -82,29 +300,167 @@ msgstr[1] ""
msgid "Median"
msgstr ""
msgid "MissingSSHKeyWarningLink|add an SSH key"
msgstr ""
msgid "New Issue"
msgid_plural "New Issues"
msgstr[0] ""
msgstr[1] ""
msgid "New branch"
msgstr ""
msgid "New directory"
msgstr ""
msgid "New file"
msgstr ""
msgid "New issue"
msgstr ""
msgid "New merge request"
msgstr ""
msgid "New snippet"
msgstr ""
msgid "New tag"
msgstr ""
msgid "No repository"
msgstr ""
msgid "Not available"
msgstr ""
msgid "Not enough data"
msgstr ""
msgid "Notification events"
msgstr ""
msgid "NotificationEvent|Close issue"
msgstr ""
msgid "NotificationEvent|Close merge request"
msgstr ""
msgid "NotificationEvent|Failed pipeline"
msgstr ""
msgid "NotificationEvent|Merge merge request"
msgstr ""
msgid "NotificationEvent|New issue"
msgstr ""
msgid "NotificationEvent|New merge request"
msgstr ""
msgid "NotificationEvent|New note"
msgstr ""
msgid "NotificationEvent|Reassign issue"
msgstr ""
msgid "NotificationEvent|Reassign merge request"
msgstr ""
msgid "NotificationEvent|Reopen issue"
msgstr ""
msgid "NotificationEvent|Successful pipeline"
msgstr ""
msgid "NotificationLevel|Custom"
msgstr ""
msgid "NotificationLevel|Disabled"
msgstr ""
msgid "NotificationLevel|Global"
msgstr ""
msgid "NotificationLevel|On mention"
msgstr ""
msgid "NotificationLevel|Participate"
msgstr ""
msgid "NotificationLevel|Watch"
msgstr ""
msgid "OpenedNDaysAgo|Opened"
msgstr ""
msgid "Pipeline Health"
msgstr ""
msgid "Project '%{project_name}' queued for deletion."
msgstr ""
msgid "Project '%{project_name}' was successfully created."
msgstr ""
msgid "Project '%{project_name}' was successfully updated."
msgstr ""
msgid "Project '%{project_name}' will be deleted."
msgstr ""
msgid "Project access must be granted explicitly to each user."
msgstr ""
msgid "Project export could not be deleted."
msgstr ""
msgid "Project export has been deleted."
msgstr ""
msgid "Project export link has expired. Please generate a new export from your project settings."
msgstr ""
msgid "Project export started. A download link will be sent by email."
msgstr ""
msgid "Project home"
msgstr ""
msgid "ProjectFeature|Disabled"
msgstr ""
msgid "ProjectFeature|Everyone with access"
msgstr ""
msgid "ProjectFeature|Only team members"
msgstr ""
msgid "ProjectFileTree|Name"
msgstr ""
msgid "ProjectLastActivity|Never"
msgstr ""
msgid "ProjectLifecycle|Stage"
msgstr ""
msgid "ProjectNetworkGraph|Graph"
msgstr ""
msgid "Read more"
msgstr ""
msgid "Readme"
msgstr ""
msgid "RefSwitcher|Branches"
msgstr ""
msgid "RefSwitcher|Tags"
msgstr ""
msgid "Related Commits"
msgstr ""
@ -123,17 +479,67 @@ msgstr ""
msgid "Related Merged Requests"
msgstr ""
msgid "Remind later"
msgstr ""
msgid "Remove project"
msgstr ""
msgid "Request Access"
msgstr ""
msgid "Search branches and tags"
msgstr ""
msgid "Select Archive Format"
msgstr ""
msgid "Set a password on your account to pull or push via %{protocol}"
msgstr ""
msgid "Set up CI"
msgstr ""
msgid "Set up Koding"
msgstr ""
msgid "Set up auto deploy"
msgstr ""
msgid "SetPasswordToCloneLink|set a password"
msgstr ""
msgid "Showing %d event"
msgid_plural "Showing %d events"
msgstr[0] ""
msgstr[1] ""
msgid "Source code"
msgstr ""
msgid "StarProject|Star"
msgstr ""
msgid "Switch branch/tag"
msgstr ""
msgid "Tag"
msgid_plural "Tags"
msgstr[0] ""
msgstr[1] ""
msgid "Tags"
msgstr ""
msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request."
msgstr ""
msgid "The collection of events added to the data gathered for that stage."
msgstr ""
msgid "The fork relationship has been removed."
msgstr ""
msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage."
msgstr ""
@ -146,6 +552,15 @@ msgstr ""
msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle."
msgstr ""
msgid "The project can be accessed by any logged in user."
msgstr ""
msgid "The project can be accessed without any authentication."
msgstr ""
msgid "The repository for this project does not exist."
msgstr ""
msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request."
msgstr ""
@ -161,6 +576,9 @@ 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 "This means you can not push code until you create an empty repository or import existing one."
msgstr ""
msgid "Time before an issue gets scheduled"
msgstr ""
@ -173,6 +591,129 @@ msgstr ""
msgid "Time until first merge request"
msgstr ""
msgid "Timeago|%s days ago"
msgstr ""
msgid "Timeago|%s days remaining"
msgstr ""
msgid "Timeago|%s hours remaining"
msgstr ""
msgid "Timeago|%s minutes ago"
msgstr ""
msgid "Timeago|%s minutes remaining"
msgstr ""
msgid "Timeago|%s months ago"
msgstr ""
msgid "Timeago|%s months remaining"
msgstr ""
msgid "Timeago|%s seconds remaining"
msgstr ""
msgid "Timeago|%s weeks ago"
msgstr ""
msgid "Timeago|%s weeks remaining"
msgstr ""
msgid "Timeago|%s years ago"
msgstr ""
msgid "Timeago|%s years remaining"
msgstr ""
msgid "Timeago|1 day remaining"
msgstr ""
msgid "Timeago|1 hour remaining"
msgstr ""
msgid "Timeago|1 minute remaining"
msgstr ""
msgid "Timeago|1 month remaining"
msgstr ""
msgid "Timeago|1 week remaining"
msgstr ""
msgid "Timeago|1 year remaining"
msgstr ""
msgid "Timeago|Past due"
msgstr ""
msgid "Timeago|a day ago"
msgstr ""
msgid "Timeago|a month ago"
msgstr ""
msgid "Timeago|a week ago"
msgstr ""
msgid "Timeago|a while"
msgstr ""
msgid "Timeago|a year ago"
msgstr ""
msgid "Timeago|about %s hours ago"
msgstr ""
msgid "Timeago|about a minute ago"
msgstr ""
msgid "Timeago|about an hour ago"
msgstr ""
msgid "Timeago|in %s days"
msgstr ""
msgid "Timeago|in %s hours"
msgstr ""
msgid "Timeago|in %s minutes"
msgstr ""
msgid "Timeago|in %s months"
msgstr ""
msgid "Timeago|in %s seconds"
msgstr ""
msgid "Timeago|in %s weeks"
msgstr ""
msgid "Timeago|in %s years"
msgstr ""
msgid "Timeago|in 1 day"
msgstr ""
msgid "Timeago|in 1 hour"
msgstr ""
msgid "Timeago|in 1 minute"
msgstr ""
msgid "Timeago|in 1 month"
msgstr ""
msgid "Timeago|in 1 week"
msgstr ""
msgid "Timeago|in 1 year"
msgstr ""
msgid "Timeago|less than a minute ago"
msgstr ""
msgid "Time|hr"
msgid_plural "Time|hrs"
msgstr[0] ""
@ -192,16 +733,88 @@ msgstr ""
msgid "Total test time for all commits/merges"
msgstr ""
msgid "Unstar"
msgstr ""
msgid "Upload New File"
msgstr ""
msgid "Upload file"
msgstr ""
msgid "Use your global notification setting"
msgstr ""
msgid "VisibilityLevel|Internal"
msgstr ""
msgid "VisibilityLevel|Private"
msgstr ""
msgid "VisibilityLevel|Public"
msgstr ""
msgid "Want to see the data? Please ask an administrator for access."
msgstr ""
msgid "We don't have enough data to show this stage."
msgstr ""
msgid "Withdraw Access Request"
msgstr ""
msgid ""
"You are going to remove %{project_name_with_namespace}.\n"
"Removed project CANNOT be restored!\n"
"Are you ABSOLUTELY sure?"
msgstr ""
msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?"
msgstr ""
msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?"
msgstr ""
msgid "You can only add files when you are on a branch"
msgstr ""
msgid "You must sign in to star a project"
msgstr ""
msgid "You need permission."
msgstr ""
msgid "You will not get any notifications via email"
msgstr ""
msgid "You will only receive notifications for the events you choose"
msgstr ""
msgid "You will only receive notifications for threads you have participated in"
msgstr ""
msgid "You will receive notifications for any activity"
msgstr ""
msgid "You will receive notifications only for comments in which you were @mentioned"
msgstr ""
msgid "You won't be able to pull or push project code via %{protocol} until you %{set_password_link} on your account"
msgstr ""
msgid "You won't be able to pull or push project code via SSH until you %{add_ssh_key_link} to your profile"
msgstr ""
msgid "Your name"
msgstr ""
msgid "committed"
msgstr ""
msgid "day"
msgid_plural "days"
msgstr[0] ""
msgstr[1] ""
msgid "notification emails"
msgstr ""

View File

@ -7,24 +7,170 @@ msgid ""
msgstr ""
"Project-Id-Version: gitlab 1.0.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2017-05-20 22:37-0500\n"
"PO-Revision-Date: 2017-06-07 12:29-0500\n"
"Language-Team: Spanish\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"Last-Translator: \n"
"X-Generator: Poedit 2.0.1\n"
"Last-Translator: Bob Van Landuyt <bob@gitlab.com>\n"
"X-Generator: Poedit 2.0.2\n"
msgid "About auto deploy"
msgstr "Acerca del auto despliegue"
msgid "Activity"
msgstr "Actividad"
msgid "Add Changelog"
msgstr "Agregar Changelog"
msgid "Add Contribution guide"
msgstr "Agregar guía de contribución"
msgid "Add License"
msgstr "Agregar Licencia"
msgid "Add an SSH key to your profile to pull or push via SSH."
msgstr "Agregar una clave SSH a tu perfil para actualizar o enviar a través de SSH."
msgid "Add new directory"
msgstr "Agregar nuevo directorio"
msgid "Archived project! Repository is read-only"
msgstr "¡Proyecto archivado! El repositorio es de sólo lectura"
msgid "Branch"
msgid_plural "Branches"
msgstr[0] "Rama"
msgstr[1] "Ramas"
msgid "Branch <strong>%{branch_name}</strong> was created. To set up auto deploy, choose a GitLab CI Yaml template and commit your changes. %{link_to_autodeploy_doc}"
msgstr "La rama <strong>%{branch_name}</strong> fue creada. Para configurar el auto despliegue, escoge una plantilla Yaml para GitLab CI y envía tus cambios. %{link_to_autodeploy_doc}"
msgid "Branches"
msgstr "Ramas"
msgid "ByAuthor|by"
msgstr "por"
msgid "CI configuration"
msgstr "Configuración de CI"
msgid "Changelog"
msgstr "Changelog"
msgid "Charts"
msgstr "Gráficos"
msgid "CiStatusLabel|canceled"
msgstr "cancelado"
msgid "CiStatusLabel|created"
msgstr "creado"
msgid "CiStatusLabel|failed"
msgstr "fallado"
msgid "CiStatusLabel|manual action"
msgstr "acción manual"
msgid "CiStatusLabel|passed"
msgstr "pasó"
msgid "CiStatusLabel|passed with warnings"
msgstr "pasó con advertencias"
msgid "CiStatusLabel|pending"
msgstr "pendiente"
msgid "CiStatusLabel|skipped"
msgstr "omitido"
msgid "CiStatusLabel|waiting for manual action"
msgstr "esperando acción manual"
msgid "CiStatusText|blocked"
msgstr "bloqueado"
msgid "CiStatusText|canceled"
msgstr "cancelado"
msgid "CiStatusText|created"
msgstr "creado"
msgid "CiStatusText|failed"
msgstr "fallado"
msgid "CiStatusText|manual"
msgstr "manual"
msgid "CiStatusText|passed"
msgstr "pasó"
msgid "CiStatusText|pending"
msgstr "pendiente"
msgid "CiStatusText|skipped"
msgstr "omitido"
msgid "CiStatus|running"
msgstr "en ejecución"
msgid "Commit"
msgid_plural "Commits"
msgstr[0] "Cambio"
msgstr[1] "Cambios"
msgid "CommitMessage|Add %{file_name}"
msgstr "Agregar %{file_name}"
msgid "Commits"
msgstr "Cambios"
msgid "Commits|History"
msgstr "Historial"
msgid "Compare"
msgstr "Comparar"
msgid "Contribution guide"
msgstr "Guía de contribución"
msgid "Contributors"
msgstr "Contribuidores"
msgid "Copy URL to clipboard"
msgstr "Copiar URL al portapapeles"
msgid "Copy commit SHA to clipboard"
msgstr "Copiar SHA del cambio al portapapeles"
msgid "Create New Directory"
msgstr "Crear Nuevo Directorio"
msgid "Create directory"
msgstr "Crear directorio"
msgid "Create empty bare repository"
msgstr "Crear repositorio vacío"
msgid "Create merge request"
msgstr "Crear solicitud de fusión"
msgid "CreateNewFork|Fork"
msgstr "Bifurcar"
msgid "Custom notification events"
msgstr "Eventos de notificaciones personalizadas"
msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}."
msgstr "Los niveles de notificación personalizados son los mismos que los niveles participantes. Con los niveles de notificación personalizados, también recibirá notificaciones para eventos seleccionados. Para obtener más información, consulte %{notification_link}."
msgid "Cycle Analytics"
msgstr "Cycle Analytics"
msgid "Cycle Analytics gives an overview of how much time it takes to go from idea to production in your project."
msgstr "Cycle Analytics ofrece una visión general de cuánto tiempo tarda en pasar de idea a producción en su proyecto."
@ -43,7 +189,6 @@ msgstr "Producción"
msgid "CycleAnalyticsStage|Review"
msgstr "Revisión"
#, fuzzy
msgid "CycleAnalyticsStage|Staging"
msgstr "Puesta en escena"
@ -55,26 +200,98 @@ msgid_plural "Deploys"
msgstr[0] "Despliegue"
msgstr[1] "Despliegues"
msgid "Directory name"
msgstr "Nombre del directorio"
msgid "Don't show again"
msgstr "No mostrar de nuevo"
msgid "Download tar"
msgstr "Descargar tar"
msgid "Download tar.bz2"
msgstr "Descargar tar.bz2"
msgid "Download tar.gz"
msgstr "Descargar tar.gz"
msgid "Download zip"
msgstr "Descargar zip"
msgid "DownloadArtifacts|Download"
msgstr "Descargar"
msgid "DownloadSource|Download"
msgstr "Descargar"
msgid "Files"
msgstr "Archivos"
msgid "Find by path"
msgstr "Buscar por ruta"
msgid "Find file"
msgstr "Buscar archivo"
msgid "FirstPushedBy|First"
msgstr "Primer"
msgid "FirstPushedBy|pushed by"
msgstr "enviado por"
msgid "ForkedFromProjectPath|Forked from"
msgstr "Bifurcado de"
msgid "Forks"
msgstr "Bifurcaciones"
msgid "From issue creation until deploy to production"
msgstr "Desde la creación de la incidencia hasta el despliegue a producción"
msgid "From merge request merge until deploy to production"
msgstr "Desde la integración de la solicitud de fusión hasta el despliegue a producción"
msgid "Go to your fork"
msgstr "Ir a tu bifurcación"
msgid "GoToYourFork|Fork"
msgstr "Bifurcación"
msgid "Home"
msgstr "Inicio"
msgid "Housekeeping successfully started"
msgstr "Servicio de limpieza iniciado con éxito"
msgid "Import repository"
msgstr "Importar repositorio"
msgid "Introducing Cycle Analytics"
msgstr "Introducción a Cycle Analytics"
msgid "LFSStatus|Disabled"
msgstr "Deshabilitado"
msgid "LFSStatus|Enabled"
msgstr "Habilitado"
msgid "Last %d day"
msgid_plural "Last %d days"
msgstr[0] "Último %d día"
msgstr[1] "Últimos %d días"
msgid "Last Update"
msgstr "Última actualización"
msgid "Last commit"
msgstr "Último cambio"
msgid "Leave group"
msgstr "Abandonar grupo"
msgid "Leave project"
msgstr "Abandonar proyecto"
msgid "Limited to showing %d event at most"
msgid_plural "Limited to showing %d events at most"
msgstr[0] "Limitado a mostrar máximo %d evento"
@ -83,29 +300,167 @@ msgstr[1] "Limitado a mostrar máximo %d eventos"
msgid "Median"
msgstr "Mediana"
msgid "MissingSSHKeyWarningLink|add an SSH key"
msgstr "agregar una clave SSH"
msgid "New Issue"
msgid_plural "New Issues"
msgstr[0] "Nueva incidencia"
msgstr[1] "Nuevas incidencias"
msgid "New branch"
msgstr "Nueva rama"
msgid "New directory"
msgstr "Nuevo directorio"
msgid "New file"
msgstr "Nuevo archivo"
msgid "New issue"
msgstr "Nueva incidencia"
msgid "New merge request"
msgstr "Nueva solicitud de fusión"
msgid "New snippet"
msgstr "Nuevo fragmento de código"
msgid "New tag"
msgstr "Nueva etiqueta"
msgid "No repository"
msgstr "No hay repositorio"
msgid "Not available"
msgstr "No disponible"
msgid "Not enough data"
msgstr "No hay suficientes datos"
msgid "Notification events"
msgstr "Eventos de notificación"
msgid "NotificationEvent|Close issue"
msgstr "Cerrar incidencia"
msgid "NotificationEvent|Close merge request"
msgstr "Cerrar solicitud de fusión"
msgid "NotificationEvent|Failed pipeline"
msgstr "Pipeline fallido"
msgid "NotificationEvent|Merge merge request"
msgstr "Integrar solicitud de fusión"
msgid "NotificationEvent|New issue"
msgstr "Nueva incidencia"
msgid "NotificationEvent|New merge request"
msgstr "Nueva solicitud de fusión"
msgid "NotificationEvent|New note"
msgstr "Nueva nota"
msgid "NotificationEvent|Reassign issue"
msgstr "Reasignar incidencia"
msgid "NotificationEvent|Reassign merge request"
msgstr "Reasignar solicitud de fusión"
msgid "NotificationEvent|Reopen issue"
msgstr "Reabrir incidencia"
msgid "NotificationEvent|Successful pipeline"
msgstr "Pipeline exitoso"
msgid "NotificationLevel|Custom"
msgstr "Personalizado"
msgid "NotificationLevel|Disabled"
msgstr "Deshabilitado"
msgid "NotificationLevel|Global"
msgstr "Global"
msgid "NotificationLevel|On mention"
msgstr "Cuando me mencionan"
msgid "NotificationLevel|Participate"
msgstr "Participación"
msgid "NotificationLevel|Watch"
msgstr "Vigilancia"
msgid "OpenedNDaysAgo|Opened"
msgstr "Abierto"
msgid "Pipeline Health"
msgstr "Estado del Pipeline"
msgid "Project '%{project_name}' queued for deletion."
msgstr "Proyecto %{project_name} en cola para eliminación."
msgid "Project '%{project_name}' was successfully created."
msgstr "Proyecto %{project_name} fue creado satisfactoriamente."
msgid "Project '%{project_name}' was successfully updated."
msgstr "Proyecto %{project_name} fue actualizado satisfactoriamente."
msgid "Project '%{project_name}' will be deleted."
msgstr "Proyecto %{project_name} será eliminado."
msgid "Project access must be granted explicitly to each user."
msgstr "El acceso al proyecto debe concederse explícitamente a cada usuario."
msgid "Project export could not be deleted."
msgstr "No se pudo eliminar la exportación del proyecto."
msgid "Project export has been deleted."
msgstr "La exportación del proyecto ha sido eliminada."
msgid "Project export link has expired. Please generate a new export from your project settings."
msgstr "El enlace de exportación del proyecto ha caducado. Por favor, genera una nueva exportación desde la configuración del proyecto."
msgid "Project export started. A download link will be sent by email."
msgstr "Se inició la exportación del proyecto. Se enviará un enlace de descarga por correo electrónico."
msgid "Project home"
msgstr "Inicio del proyecto"
msgid "ProjectFeature|Disabled"
msgstr "Deshabilitada"
msgid "ProjectFeature|Everyone with access"
msgstr "Todos con acceso"
msgid "ProjectFeature|Only team members"
msgstr "Solo miembros del equipo"
msgid "ProjectFileTree|Name"
msgstr "Nombre"
msgid "ProjectLastActivity|Never"
msgstr "Nunca"
msgid "ProjectLifecycle|Stage"
msgstr "Etapa"
msgid "ProjectNetworkGraph|Graph"
msgstr "Historial gráfico"
msgid "Read more"
msgstr "Leer más"
msgid "Readme"
msgstr "Readme"
msgid "RefSwitcher|Branches"
msgstr "Ramas"
msgid "RefSwitcher|Tags"
msgstr "Etiquetas"
msgid "Related Commits"
msgstr "Cambios Relacionados"
@ -124,17 +479,67 @@ msgstr "Solicitudes de fusión Relacionadas"
msgid "Related Merged Requests"
msgstr "Solicitudes de fusión Relacionadas"
msgid "Remind later"
msgstr "Recordar después"
msgid "Remove project"
msgstr "Eliminar proyecto"
msgid "Request Access"
msgstr "Solicitar acceso"
msgid "Search branches and tags"
msgstr "Buscar ramas y etiquetas"
msgid "Select Archive Format"
msgstr "Seleccionar formato de archivo"
msgid "Set a password on your account to pull or push via %{protocol}"
msgstr "Establezca una contraseña en su cuenta para actualizar o enviar a través de% {protocol}"
msgid "Set up CI"
msgstr "Configurar CI"
msgid "Set up Koding"
msgstr "Configurar Koding"
msgid "Set up auto deploy"
msgstr "Configurar auto despliegue"
msgid "SetPasswordToCloneLink|set a password"
msgstr "establecer una contraseña"
msgid "Showing %d event"
msgid_plural "Showing %d events"
msgstr[0] "Mostrando %d evento"
msgstr[1] "Mostrando %d eventos"
msgid "Source code"
msgstr "Código fuente"
msgid "StarProject|Star"
msgstr "Destacar"
msgid "Switch branch/tag"
msgstr "Cambiar rama/etiqueta"
msgid "Tag"
msgid_plural "Tags"
msgstr[0] "Etiqueta"
msgstr[1] "Etiquetas"
msgid "Tags"
msgstr "Etiquetas"
msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request."
msgstr "La etapa de desarrollo muestra el tiempo desde el primer cambio hasta la creación de la solicitud de fusión. Los datos serán automáticamente incorporados aquí una vez creada tu primera solicitud de fusión."
msgid "The collection of events added to the data gathered for that stage."
msgstr "La colección de eventos agregados a los datos recopilados para esa etapa."
msgid "The fork relationship has been removed."
msgstr "La relación con la bifurcación se ha eliminado."
msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage."
msgstr "La etapa de incidencia muestra el tiempo que toma desde la creación de un tema hasta asignar el tema a un hito, o añadir el tema a una lista en el panel de temas. Empieza a crear temas para ver los datos de esta etapa."
@ -147,6 +552,15 @@ msgstr "La etapa de planificación muestra el tiempo desde el paso anterior hast
msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle."
msgstr "La etapa de producción muestra el tiempo total que tarda entre la creación de una incidencia y el despliegue del código a producción. Los datos se añadirán automáticamente una vez haya finalizado por completo el ciclo de idea a producción."
msgid "The project can be accessed by any logged in user."
msgstr "El proyecto puede ser accedido por cualquier usuario conectado."
msgid "The project can be accessed without any authentication."
msgstr "El proyecto puede accederse sin ninguna autenticación."
msgid "The repository for this project does not exist."
msgstr "El repositorio para este proyecto no existe."
msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request."
msgstr "La etapa de revisión muestra el tiempo desde la creación de la solicitud de fusión hasta que los cambios se fusionaron. Los datos se añadirán automáticamente después de fusionar su primera solicitud de fusión."
@ -162,6 +576,9 @@ msgstr "El tiempo utilizado por cada entrada de datos obtenido por esa etapa."
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 "El valor en el punto medio de una serie de valores observados. Por ejemplo, entre 3, 5, 9, la mediana es 5. Entre 3, 5, 7, 8, la mediana es (5 + 7) / 2 = 6."
msgid "This means you can not push code until you create an empty repository or import existing one."
msgstr "Esto significa que no puede enviar código hasta que cree un repositorio vacío o importe uno existente."
msgid "Time before an issue gets scheduled"
msgstr "Tiempo antes de que una incidencia sea programada"
@ -174,6 +591,129 @@ msgstr "Tiempo entre la creación de la solicitud de fusión y la integración o
msgid "Time until first merge request"
msgstr "Tiempo hasta la primera solicitud de fusión"
msgid "Timeago|%s days ago"
msgstr "hace %s días"
msgid "Timeago|%s days remaining"
msgstr "%s días restantes"
msgid "Timeago|%s hours remaining"
msgstr "%s horas restantes"
msgid "Timeago|%s minutes ago"
msgstr "hace %s minutos"
msgid "Timeago|%s minutes remaining"
msgstr "%s minutos restantes"
msgid "Timeago|%s months ago"
msgstr "hace %s meses"
msgid "Timeago|%s months remaining"
msgstr "%s meses restantes"
msgid "Timeago|%s seconds remaining"
msgstr "%s segundos restantes"
msgid "Timeago|%s weeks ago"
msgstr "hace %s semanas"
msgid "Timeago|%s weeks remaining"
msgstr "%s semanas restantes"
msgid "Timeago|%s years ago"
msgstr "hace %s años"
msgid "Timeago|%s years remaining"
msgstr "%s años restantes"
msgid "Timeago|1 day remaining"
msgstr "1 día restante"
msgid "Timeago|1 hour remaining"
msgstr "1 hora restante"
msgid "Timeago|1 minute remaining"
msgstr "1 minuto restante"
msgid "Timeago|1 month remaining"
msgstr "1 mes restante"
msgid "Timeago|1 week remaining"
msgstr "1 semana restante"
msgid "Timeago|1 year remaining"
msgstr "1 año restante"
msgid "Timeago|Past due"
msgstr "Atrasado"
msgid "Timeago|a day ago"
msgstr "hace un día"
msgid "Timeago|a month ago"
msgstr "hace 1 mes"
msgid "Timeago|a week ago"
msgstr "hace 1 semana"
msgid "Timeago|a while"
msgstr "hace un momento"
msgid "Timeago|a year ago"
msgstr "hace 1 año"
msgid "Timeago|about %s hours ago"
msgstr "hace alrededor de %s horas"
msgid "Timeago|about a minute ago"
msgstr "hace alrededor de 1 minuto"
msgid "Timeago|about an hour ago"
msgstr "hace alrededor de 1 hora"
msgid "Timeago|in %s days"
msgstr "en %s días"
msgid "Timeago|in %s hours"
msgstr "en %s horas"
msgid "Timeago|in %s minutes"
msgstr "en %s minutos"
msgid "Timeago|in %s months"
msgstr "en %s meses"
msgid "Timeago|in %s seconds"
msgstr "en %s segundos"
msgid "Timeago|in %s weeks"
msgstr "en %s semanas"
msgid "Timeago|in %s years"
msgstr "en %s años"
msgid "Timeago|in 1 day"
msgstr "en 1 día"
msgid "Timeago|in 1 hour"
msgstr "en 1 hora"
msgid "Timeago|in 1 minute"
msgstr "en 1 minuto"
msgid "Timeago|in 1 month"
msgstr "en 1 mes"
msgid "Timeago|in 1 week"
msgstr "en 1 semana"
msgid "Timeago|in 1 year"
msgstr "en 1 año"
msgid "Timeago|less than a minute ago"
msgstr "hace menos de 1 minuto"
msgid "Time|hr"
msgid_plural "Time|hrs"
msgstr[0] "hr"
@ -193,16 +733,91 @@ msgstr "Tiempo Total"
msgid "Total test time for all commits/merges"
msgstr "Tiempo total de pruebas para todos los cambios o integraciones"
msgid "Unstar"
msgstr "No Destacar"
msgid "Upload New File"
msgstr "Subir nuevo archivo"
msgid "Upload file"
msgstr "Subir archivo"
msgid "Use your global notification setting"
msgstr "Utiliza tu configuración de notificación global"
msgid "VisibilityLevel|Internal"
msgstr "Interno"
msgid "VisibilityLevel|Private"
msgstr "Privado"
msgid "VisibilityLevel|Public"
msgstr "Público"
msgid "Want to see the data? Please ask an administrator for access."
msgstr "¿Quieres ver los datos? Por favor pide acceso al administrador."
msgid "We don't have enough data to show this stage."
msgstr "No hay suficientes datos para mostrar en esta etapa."
msgid "Withdraw Access Request"
msgstr "Retirar Solicitud de Acceso"
msgid ""
"You are going to remove %{project_name_with_namespace}.\n"
"Removed project CANNOT be restored!\n"
"Are you ABSOLUTELY sure?"
msgstr ""
"Va a eliminar %{project_name_with_namespace}.\n"
"¡El proyecto eliminado NO puede ser restaurado!\n"
"¿Estás TOTALMENTE seguro?"
msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?"
msgstr "Vas a eliminar el enlace de la bifurcación con el proyecto original %{forked_from_project}. ¿Estás TOTALMENTE seguro?"
msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?"
msgstr "Vas a transferir %{project_name_with_namespace} a otro propietario. ¿Estás TOTALMENTE seguro?"
msgid "You can only add files when you are on a branch"
msgstr "Sólo puede agregar archivos cuando estas en una rama"
msgid "You must sign in to star a project"
msgstr "Debes iniciar sesión para destacar un proyecto"
msgid "You need permission."
msgstr "Necesitas permisos."
msgid "You will not get any notifications via email"
msgstr "No recibirás ninguna notificación por correo electrónico"
msgid "You will only receive notifications for the events you choose"
msgstr "Solo recibirás notificaciones de los eventos que elijas"
msgid "You will only receive notifications for threads you have participated in"
msgstr "Solo recibirás notificaciones de los temas en los que has participado"
msgid "You will receive notifications for any activity"
msgstr "Recibirás notificaciones para cualquier actividad"
msgid "You will receive notifications only for comments in which you were @mentioned"
msgstr "Recibirás notificaciones sólo para los comentarios en los que se te mencionó"
msgid "You won't be able to pull or push project code via %{protocol} until you %{set_password_link} on your account"
msgstr "No podrás actualizar o enviar código al proyecto a través de %{protocol} hasta que %{set_password_link} en tu cuenta"
msgid "You won't be able to pull or push project code via SSH until you %{add_ssh_key_link} to your profile"
msgstr "No podrás actualizar o enviar código al proyecto a través de SSH hasta que %{add_ssh_key_link} en su perfil"
msgid "Your name"
msgstr "Tu nombre"
msgid "committed"
msgstr "cambió"
msgid "day"
msgid_plural "days"
msgstr[0] "día"
msgstr[1] "días"
msgid "notification emails"
msgstr "correos electrónicos de notificación"

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gitlab 1.0.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-05-04 19:24-0500\n"
"PO-Revision-Date: 2017-05-04 19:24-0500\n"
"POT-Creation-Date: 2017-06-07 17:36+0200\n"
"PO-Revision-Date: 2017-06-07 17:36+0200\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
@ -18,14 +18,160 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
msgid "About auto deploy"
msgstr ""
msgid "Activity"
msgstr ""
msgid "Add Changelog"
msgstr ""
msgid "Add Contribution guide"
msgstr ""
msgid "Add License"
msgstr ""
msgid "Add an SSH key to your profile to pull or push via SSH."
msgstr ""
msgid "Add new directory"
msgstr ""
msgid "Archived project! Repository is read-only"
msgstr ""
msgid "Branch"
msgid_plural "Branches"
msgstr[0] ""
msgstr[1] ""
msgid "Branch <strong>%{branch_name}</strong> was created. To set up auto deploy, choose a GitLab CI Yaml template and commit your changes. %{link_to_autodeploy_doc}"
msgstr ""
msgid "Branches"
msgstr ""
msgid "ByAuthor|by"
msgstr ""
msgid "CI configuration"
msgstr ""
msgid "Changelog"
msgstr ""
msgid "Charts"
msgstr ""
msgid "CiStatusLabel|canceled"
msgstr ""
msgid "CiStatusLabel|created"
msgstr ""
msgid "CiStatusLabel|failed"
msgstr ""
msgid "CiStatusLabel|manual action"
msgstr ""
msgid "CiStatusLabel|passed"
msgstr ""
msgid "CiStatusLabel|passed with warnings"
msgstr ""
msgid "CiStatusLabel|pending"
msgstr ""
msgid "CiStatusLabel|skipped"
msgstr ""
msgid "CiStatusLabel|waiting for manual action"
msgstr ""
msgid "CiStatusText|blocked"
msgstr ""
msgid "CiStatusText|canceled"
msgstr ""
msgid "CiStatusText|created"
msgstr ""
msgid "CiStatusText|failed"
msgstr ""
msgid "CiStatusText|manual"
msgstr ""
msgid "CiStatusText|passed"
msgstr ""
msgid "CiStatusText|pending"
msgstr ""
msgid "CiStatusText|skipped"
msgstr ""
msgid "CiStatus|running"
msgstr ""
msgid "Commit"
msgid_plural "Commits"
msgstr[0] ""
msgstr[1] ""
msgid "CommitMessage|Add %{file_name}"
msgstr ""
msgid "Commits"
msgstr ""
msgid "Commits|History"
msgstr ""
msgid "Compare"
msgstr ""
msgid "Contribution guide"
msgstr ""
msgid "Contributors"
msgstr ""
msgid "Copy URL to clipboard"
msgstr ""
msgid "Copy commit SHA to clipboard"
msgstr ""
msgid "Create New Directory"
msgstr ""
msgid "Create directory"
msgstr ""
msgid "Create empty bare repository"
msgstr ""
msgid "Create merge request"
msgstr ""
msgid "CreateNewFork|Fork"
msgstr ""
msgid "Custom notification events"
msgstr ""
msgid "Custom notification levels are the same as participating levels. With custom notification levels you will also receive notifications for select events. To find out more, check out %{notification_link}."
msgstr ""
msgid "Cycle Analytics"
msgstr ""
msgid "Cycle Analytics gives an overview of how much time it takes to go from idea to production in your project."
msgstr ""
@ -55,26 +201,98 @@ msgid_plural "Deploys"
msgstr[0] ""
msgstr[1] ""
msgid "Directory name"
msgstr ""
msgid "Don't show again"
msgstr ""
msgid "Download tar"
msgstr ""
msgid "Download tar.bz2"
msgstr ""
msgid "Download tar.gz"
msgstr ""
msgid "Download zip"
msgstr ""
msgid "DownloadArtifacts|Download"
msgstr ""
msgid "DownloadSource|Download"
msgstr ""
msgid "Files"
msgstr ""
msgid "Find by path"
msgstr ""
msgid "Find file"
msgstr ""
msgid "FirstPushedBy|First"
msgstr ""
msgid "FirstPushedBy|pushed by"
msgstr ""
msgid "ForkedFromProjectPath|Forked from"
msgstr ""
msgid "Forks"
msgstr ""
msgid "From issue creation until deploy to production"
msgstr ""
msgid "From merge request merge until deploy to production"
msgstr ""
msgid "Go to your fork"
msgstr ""
msgid "GoToYourFork|Fork"
msgstr ""
msgid "Home"
msgstr ""
msgid "Housekeeping successfully started"
msgstr ""
msgid "Import repository"
msgstr ""
msgid "Introducing Cycle Analytics"
msgstr ""
msgid "LFSStatus|Disabled"
msgstr ""
msgid "LFSStatus|Enabled"
msgstr ""
msgid "Last %d day"
msgid_plural "Last %d days"
msgstr[0] ""
msgstr[1] ""
msgid "Last Update"
msgstr ""
msgid "Last commit"
msgstr ""
msgid "Leave group"
msgstr ""
msgid "Leave project"
msgstr ""
msgid "Limited to showing %d event at most"
msgid_plural "Limited to showing %d events at most"
msgstr[0] ""
@ -83,29 +301,167 @@ msgstr[1] ""
msgid "Median"
msgstr ""
msgid "MissingSSHKeyWarningLink|add an SSH key"
msgstr ""
msgid "New Issue"
msgid_plural "New Issues"
msgstr[0] ""
msgstr[1] ""
msgid "New branch"
msgstr ""
msgid "New directory"
msgstr ""
msgid "New file"
msgstr ""
msgid "New issue"
msgstr ""
msgid "New merge request"
msgstr ""
msgid "New snippet"
msgstr ""
msgid "New tag"
msgstr ""
msgid "No repository"
msgstr ""
msgid "Not available"
msgstr ""
msgid "Not enough data"
msgstr ""
msgid "Notification events"
msgstr ""
msgid "NotificationEvent|Close issue"
msgstr ""
msgid "NotificationEvent|Close merge request"
msgstr ""
msgid "NotificationEvent|Failed pipeline"
msgstr ""
msgid "NotificationEvent|Merge merge request"
msgstr ""
msgid "NotificationEvent|New issue"
msgstr ""
msgid "NotificationEvent|New merge request"
msgstr ""
msgid "NotificationEvent|New note"
msgstr ""
msgid "NotificationEvent|Reassign issue"
msgstr ""
msgid "NotificationEvent|Reassign merge request"
msgstr ""
msgid "NotificationEvent|Reopen issue"
msgstr ""
msgid "NotificationEvent|Successful pipeline"
msgstr ""
msgid "NotificationLevel|Custom"
msgstr ""
msgid "NotificationLevel|Disabled"
msgstr ""
msgid "NotificationLevel|Global"
msgstr ""
msgid "NotificationLevel|On mention"
msgstr ""
msgid "NotificationLevel|Participate"
msgstr ""
msgid "NotificationLevel|Watch"
msgstr ""
msgid "OpenedNDaysAgo|Opened"
msgstr ""
msgid "Pipeline Health"
msgstr ""
msgid "Project '%{project_name}' queued for deletion."
msgstr ""
msgid "Project '%{project_name}' was successfully created."
msgstr ""
msgid "Project '%{project_name}' was successfully updated."
msgstr ""
msgid "Project '%{project_name}' will be deleted."
msgstr ""
msgid "Project access must be granted explicitly to each user."
msgstr ""
msgid "Project export could not be deleted."
msgstr ""
msgid "Project export has been deleted."
msgstr ""
msgid "Project export link has expired. Please generate a new export from your project settings."
msgstr ""
msgid "Project export started. A download link will be sent by email."
msgstr ""
msgid "Project home"
msgstr ""
msgid "ProjectFeature|Disabled"
msgstr ""
msgid "ProjectFeature|Everyone with access"
msgstr ""
msgid "ProjectFeature|Only team members"
msgstr ""
msgid "ProjectFileTree|Name"
msgstr ""
msgid "ProjectLastActivity|Never"
msgstr ""
msgid "ProjectLifecycle|Stage"
msgstr ""
msgid "ProjectNetworkGraph|Graph"
msgstr ""
msgid "Read more"
msgstr ""
msgid "Readme"
msgstr ""
msgid "RefSwitcher|Branches"
msgstr ""
msgid "RefSwitcher|Tags"
msgstr ""
msgid "Related Commits"
msgstr ""
@ -124,17 +480,67 @@ msgstr ""
msgid "Related Merged Requests"
msgstr ""
msgid "Remind later"
msgstr ""
msgid "Remove project"
msgstr ""
msgid "Request Access"
msgstr ""
msgid "Search branches and tags"
msgstr ""
msgid "Select Archive Format"
msgstr ""
msgid "Set a password on your account to pull or push via %{protocol}"
msgstr ""
msgid "Set up CI"
msgstr ""
msgid "Set up Koding"
msgstr ""
msgid "Set up auto deploy"
msgstr ""
msgid "SetPasswordToCloneLink|set a password"
msgstr ""
msgid "Showing %d event"
msgid_plural "Showing %d events"
msgstr[0] ""
msgstr[1] ""
msgid "Source code"
msgstr ""
msgid "StarProject|Star"
msgstr ""
msgid "Switch branch/tag"
msgstr ""
msgid "Tag"
msgid_plural "Tags"
msgstr[0] ""
msgstr[1] ""
msgid "Tags"
msgstr ""
msgid "The coding stage shows the time from the first commit to creating the merge request. The data will automatically be added here once you create your first merge request."
msgstr ""
msgid "The collection of events added to the data gathered for that stage."
msgstr ""
msgid "The fork relationship has been removed."
msgstr ""
msgid "The issue stage shows the time it takes from creating an issue to assigning the issue to a milestone, or add the issue to a list on your Issue Board. Begin creating issues to see data for this stage."
msgstr ""
@ -147,6 +553,15 @@ msgstr ""
msgid "The production stage shows the total time it takes between creating an issue and deploying the code to production. The data will be automatically added once you have completed the full idea to production cycle."
msgstr ""
msgid "The project can be accessed by any logged in user."
msgstr ""
msgid "The project can be accessed without any authentication."
msgstr ""
msgid "The repository for this project does not exist."
msgstr ""
msgid "The review stage shows the time from creating the merge request to merging it. The data will automatically be added after you merge your first merge request."
msgstr ""
@ -162,6 +577,9 @@ 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 "This means you can not push code until you create an empty repository or import existing one."
msgstr ""
msgid "Time before an issue gets scheduled"
msgstr ""
@ -174,6 +592,129 @@ msgstr ""
msgid "Time until first merge request"
msgstr ""
msgid "Timeago|%s days ago"
msgstr ""
msgid "Timeago|%s days remaining"
msgstr ""
msgid "Timeago|%s hours remaining"
msgstr ""
msgid "Timeago|%s minutes ago"
msgstr ""
msgid "Timeago|%s minutes remaining"
msgstr ""
msgid "Timeago|%s months ago"
msgstr ""
msgid "Timeago|%s months remaining"
msgstr ""
msgid "Timeago|%s seconds remaining"
msgstr ""
msgid "Timeago|%s weeks ago"
msgstr ""
msgid "Timeago|%s weeks remaining"
msgstr ""
msgid "Timeago|%s years ago"
msgstr ""
msgid "Timeago|%s years remaining"
msgstr ""
msgid "Timeago|1 day remaining"
msgstr ""
msgid "Timeago|1 hour remaining"
msgstr ""
msgid "Timeago|1 minute remaining"
msgstr ""
msgid "Timeago|1 month remaining"
msgstr ""
msgid "Timeago|1 week remaining"
msgstr ""
msgid "Timeago|1 year remaining"
msgstr ""
msgid "Timeago|Past due"
msgstr ""
msgid "Timeago|a day ago"
msgstr ""
msgid "Timeago|a month ago"
msgstr ""
msgid "Timeago|a week ago"
msgstr ""
msgid "Timeago|a while"
msgstr ""
msgid "Timeago|a year ago"
msgstr ""
msgid "Timeago|about %s hours ago"
msgstr ""
msgid "Timeago|about a minute ago"
msgstr ""
msgid "Timeago|about an hour ago"
msgstr ""
msgid "Timeago|in %s days"
msgstr ""
msgid "Timeago|in %s hours"
msgstr ""
msgid "Timeago|in %s minutes"
msgstr ""
msgid "Timeago|in %s months"
msgstr ""
msgid "Timeago|in %s seconds"
msgstr ""
msgid "Timeago|in %s weeks"
msgstr ""
msgid "Timeago|in %s years"
msgstr ""
msgid "Timeago|in 1 day"
msgstr ""
msgid "Timeago|in 1 hour"
msgstr ""
msgid "Timeago|in 1 minute"
msgstr ""
msgid "Timeago|in 1 month"
msgstr ""
msgid "Timeago|in 1 week"
msgstr ""
msgid "Timeago|in 1 year"
msgstr ""
msgid "Timeago|less than a minute ago"
msgstr ""
msgid "Time|hr"
msgid_plural "Time|hrs"
msgstr[0] ""
@ -193,16 +734,88 @@ msgstr ""
msgid "Total test time for all commits/merges"
msgstr ""
msgid "Unstar"
msgstr ""
msgid "Upload New File"
msgstr ""
msgid "Upload file"
msgstr ""
msgid "Use your global notification setting"
msgstr ""
msgid "VisibilityLevel|Internal"
msgstr ""
msgid "VisibilityLevel|Private"
msgstr ""
msgid "VisibilityLevel|Public"
msgstr ""
msgid "Want to see the data? Please ask an administrator for access."
msgstr ""
msgid "We don't have enough data to show this stage."
msgstr ""
msgid "Withdraw Access Request"
msgstr ""
msgid ""
"You are going to remove %{project_name_with_namespace}.\n"
"Removed project CANNOT be restored!\n"
"Are you ABSOLUTELY sure?"
msgstr ""
msgid "You are going to remove the fork relationship to source project %{forked_from_project}. Are you ABSOLUTELY sure?"
msgstr ""
msgid "You are going to transfer %{project_name_with_namespace} to another owner. Are you ABSOLUTELY sure?"
msgstr ""
msgid "You can only add files when you are on a branch"
msgstr ""
msgid "You must sign in to star a project"
msgstr ""
msgid "You need permission."
msgstr ""
msgid "You will not get any notifications via email"
msgstr ""
msgid "You will only receive notifications for the events you choose"
msgstr ""
msgid "You will only receive notifications for threads you have participated in"
msgstr ""
msgid "You will receive notifications for any activity"
msgstr ""
msgid "You will receive notifications only for comments in which you were @mentioned"
msgstr ""
msgid "You won't be able to pull or push project code via %{protocol} until you %{set_password_link} on your account"
msgstr ""
msgid "You won't be able to pull or push project code via SSH until you %{add_ssh_key_link} to your profile"
msgstr ""
msgid "Your name"
msgstr ""
msgid "committed"
msgstr ""
msgid "day"
msgid_plural "days"
msgstr[0] ""
msgstr[1] ""
msgid "notification emails"
msgstr ""

View File

@ -17,10 +17,10 @@ feature "New project", feature: true do
expect(find_field("project_visibility_level_#{level}")).to be_checked
end
it 'saves visibility level on validation error' do
it "saves visibility level #{level} on validation error" do
visit new_project_path
choose(key)
choose(s_(key))
click_button('Create project')
expect(find_field("project_visibility_level_#{level}")).to be_checked

View File

@ -12,5 +12,11 @@ describe NotificationsHelper do
describe 'notification_title' do
it { expect(notification_title(:watch)).to match('Watch') }
it { expect(notification_title(:mention)).to match('On mention') }
it { expect(notification_title(:global)).to match('Global') }
end
describe '#notification_event_name' do
it { expect(notification_event_name(:success_pipeline)).to match('Successful pipeline') }
it { expect(notification_event_name(:failed_pipeline)).to match('Failed pipeline') }
end
end

View File

@ -58,7 +58,7 @@ describe('Build', () => {
it('displays the remove date correctly', () => {
const removeDateElement = document.querySelector('.js-artifacts-remove');
expect(removeDateElement.innerText.trim()).toBe('1 year');
expect(removeDateElement.innerText.trim()).toBe('1 year remaining');
});
});

View File

@ -2,6 +2,26 @@ import '~/lib/utils/datetime_utility';
(() => {
describe('Date time utils', () => {
describe('timeFor', () => {
it('returns `past due` when in past', () => {
const date = new Date();
date.setFullYear(date.getFullYear() - 1);
expect(
gl.utils.timeFor(date),
).toBe('Past due');
});
it('returns remaining time when in the future', () => {
const date = new Date();
date.setFullYear(date.getFullYear() + 1);
expect(
gl.utils.timeFor(date),
).toBe('1 year remaining');
});
});
describe('get day name', () => {
it('should return Sunday', () => {
const day = gl.utils.getDayName(new Date('07/17/2016'));

View File

@ -115,7 +115,7 @@ describe Projects::CreateService, '#execute', services: true do
stub_application_setting(restricted_visibility_levels: [Gitlab::VisibilityLevel::PUBLIC])
opts.merge!(
visibility_level: Gitlab::VisibilityLevel.options['Public']
visibility_level: Gitlab::VisibilityLevel::PUBLIC
)
end