Merge remote-tracking branch 'origin/dev' into housekeeping/csp

pull/5884/head
Oliver Günther 7 years ago
commit 2b3aad014c
No known key found for this signature in database
GPG Key ID: 88872239EB414F99
  1. 2
      Gemfile
  2. 4
      Gemfile.lock
  3. 57
      app/assets/stylesheets/content/_forms.sass
  4. 36
      app/assets/stylesheets/content/_hidden.sass
  5. 3
      app/assets/stylesheets/content/_hide_until_initialized.sass
  6. 3
      app/assets/stylesheets/content/_index.sass
  7. 6
      app/assets/stylesheets/content/work_packages/inplace_editing/_edit_fields.sass
  8. 3
      app/assets/stylesheets/openproject/_accessibility.sass
  9. 2
      app/models/custom_actions/actions/strategies/validate_in_range.rb
  10. 1
      app/models/custom_actions/conditions/base.rb
  11. 6
      app/models/queries/filter_serializer.rb
  12. 28
      app/views/custom_actions/_form.html.erb
  13. 26
      config/locales/crowdin/af.yml
  14. 2
      config/locales/crowdin/ar.yml
  15. 2
      config/locales/crowdin/bg.yml
  16. 2
      config/locales/crowdin/ca.yml
  17. 26
      config/locales/crowdin/cs.yml
  18. 2
      config/locales/crowdin/da.yml
  19. 2
      config/locales/crowdin/de.yml
  20. 2
      config/locales/crowdin/es.yml
  21. 2
      config/locales/crowdin/et.yml
  22. 2
      config/locales/crowdin/fa.yml
  23. 322
      config/locales/crowdin/fi.yml
  24. 3053
      config/locales/crowdin/fil.yml
  25. 2
      config/locales/crowdin/fr.yml
  26. 2
      config/locales/crowdin/he.yml
  27. 2
      config/locales/crowdin/hr.yml
  28. 101
      config/locales/crowdin/hu.yml
  29. 2
      config/locales/crowdin/id.yml
  30. 18
      config/locales/crowdin/it.yml
  31. 35
      config/locales/crowdin/ja.yml
  32. 6
      config/locales/crowdin/js-af.yml
  33. 6
      config/locales/crowdin/js-ar.yml
  34. 6
      config/locales/crowdin/js-bg.yml
  35. 6
      config/locales/crowdin/js-ca.yml
  36. 11
      config/locales/crowdin/js-cs.yml
  37. 6
      config/locales/crowdin/js-da.yml
  38. 6
      config/locales/crowdin/js-de.yml
  39. 6
      config/locales/crowdin/js-es.yml
  40. 6
      config/locales/crowdin/js-et.yml
  41. 6
      config/locales/crowdin/js-fa.yml
  42. 29
      config/locales/crowdin/js-fi.yml
  43. 718
      config/locales/crowdin/js-fil.yml
  44. 6
      config/locales/crowdin/js-fr.yml
  45. 6
      config/locales/crowdin/js-he.yml
  46. 6
      config/locales/crowdin/js-hr.yml
  47. 10
      config/locales/crowdin/js-hu.yml
  48. 6
      config/locales/crowdin/js-id.yml
  49. 6
      config/locales/crowdin/js-it.yml
  50. 10
      config/locales/crowdin/js-ja.yml
  51. 6
      config/locales/crowdin/js-ko.yml
  52. 6
      config/locales/crowdin/js-lol.yml
  53. 11
      config/locales/crowdin/js-lt.yml
  54. 6
      config/locales/crowdin/js-lv.yml
  55. 6
      config/locales/crowdin/js-nl.yml
  56. 6
      config/locales/crowdin/js-no.yml
  57. 11
      config/locales/crowdin/js-pl.yml
  58. 6
      config/locales/crowdin/js-pt-BR.yml
  59. 6
      config/locales/crowdin/js-pt.yml
  60. 6
      config/locales/crowdin/js-ro.yml
  61. 13
      config/locales/crowdin/js-ru.yml
  62. 11
      config/locales/crowdin/js-sk.yml
  63. 6
      config/locales/crowdin/js-sv-SE.yml
  64. 6
      config/locales/crowdin/js-th.yml
  65. 16
      config/locales/crowdin/js-tr.yml
  66. 11
      config/locales/crowdin/js-uk.yml
  67. 6
      config/locales/crowdin/js-vi.yml
  68. 11
      config/locales/crowdin/js-zh-TW.yml
  69. 10
      config/locales/crowdin/js-zh.yml
  70. 2
      config/locales/crowdin/ko.yml
  71. 2
      config/locales/crowdin/lol.yml
  72. 26
      config/locales/crowdin/lt.yml
  73. 2
      config/locales/crowdin/lv.yml
  74. 2
      config/locales/crowdin/nl.yml
  75. 2
      config/locales/crowdin/no.yml
  76. 26
      config/locales/crowdin/pl.yml
  77. 2
      config/locales/crowdin/pt-BR.yml
  78. 2
      config/locales/crowdin/pt.yml
  79. 2
      config/locales/crowdin/ro.yml
  80. 26
      config/locales/crowdin/ru.yml
  81. 26
      config/locales/crowdin/sk.yml
  82. 2
      config/locales/crowdin/sv-SE.yml
  83. 2
      config/locales/crowdin/th.yml
  84. 35
      config/locales/crowdin/tr.yml
  85. 30
      config/locales/crowdin/uk.yml
  86. 2
      config/locales/crowdin/vi.yml
  87. 2
      config/locales/crowdin/zh-TW.yml
  88. 62
      config/locales/crowdin/zh.yml
  89. 6
      config/locales/js-en.yml
  90. 17
      config/routes.rb
  91. 4
      db/migrate/20120319135006_add_custom_field_translation_table.rb
  92. 10
      db/migrate/20130807141542_remove_files_attached_to_projects_and_versions.rb
  93. 24
      db/migrate/20131210113056_repair_invalid_default_work_package_custom_values.rb
  94. 4
      db/migrate/20151028063433_boolearlize_bool_custom_values.rb
  95. 4
      db/migrate/20170116105342_add_custom_options.rb
  96. 6
      docs/installation/docker/README.md
  97. 100
      features/work_packages/moves/work_package_moves_new_copy.feature
  98. 7
      frontend/app/angular4-modules.ts
  99. 31
      frontend/app/components/common/autocomplete-select-decoration/autocomplete-select-decoration.component.html
  100. 206
      frontend/app/components/common/autocomplete-select-decoration/autocomplete-select-decoration.component.ts
  101. Some files were not shown because too many files have changed in this diff Show More

@ -182,7 +182,7 @@ group :test do
# Test prof provides factories from code
# and other niceties
gem 'test-prof'
gem 'test-prof', '~> 0.4.0'
gem 'cucumber', '~> 3.0.0'
gem 'cucumber-rails', '~> 1.5.0', require: false

@ -564,7 +564,7 @@ GEM
syck (1.3.0)
sys-filesystem (1.1.8)
ffi
test-prof (0.1.0)
test-prof (0.4.8)
thin (1.7.2)
daemons (~> 1.0, >= 1.0.9)
eventmachine (~> 1.0, >= 1.0.4)
@ -724,7 +724,7 @@ DEPENDENCIES
svg-graph (~> 2.1.0)
syck (~> 1.3.0)
sys-filesystem (~> 1.1.4)
test-prof
test-prof (~> 0.4.0)
thin (~> 1.7.2)
timecop (~> 0.9.0)
transactional_lock!

@ -163,6 +163,9 @@ $form--field-types: (text-field, text-area, select, check-box, radio-button, ran
.form--space
padding-top: 10px
&.-big
padding-top: 20px
.form--row
@include grid-block
@include grid-visible-overflow
@ -377,6 +380,10 @@ fieldset.form--fieldset
line-height: $base-line-height
padding-right: 0.325rem
&.-top
align-self: flex-start
line-height: 2.15rem
.form--label-required
@include default-transition
@include varprop(color, primary-color-dark)
@ -580,6 +587,56 @@ input[readonly].-clickable
.form &
margin-bottom: 0rem
.form--select-autocompleter
max-height: 400px
overflow-y: auto
.form--selected-value
width: calc(100% - 42px)
padding: 3px
line-height: 2
.form--selected-value--container
display: inline-block
border: 1px solid transparent
border-radius: 2px
overflow: visible
width: 100%
position: relative
&:last-of-type
margin-bottom: 0.5rem
&:hover,
&:focus,
&.-focus
text-decoration: none
color: $body-font-color
border-color: $inplace-edit--border-color
.form--selected-value--remover
visibility: visible
a.form--selected-value--remover
text-decoration: none
color: $body-font-color
.form--selected-value--remover
position: absolute
height: 100%
right: 0
text-align: center
width: 32px
background: #F8F8F8
border-left: 1px solid #ddd
color: $body-font-color
visibility: hidden
line-height: 2rem
.form--selected-value--list
margin-left: 0rem
margin-bottom: 0rem
.form--text-area
@extend %input-style

@ -0,0 +1,36 @@
//-- copyright
// OpenProject is a project management system.
// Copyright (C) 2012-2018 the OpenProject Foundation (OPF)
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License version 3.
//
// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
// Copyright (C) 2006-2017 Jean-Philippe Lang
// Copyright (C) 2010-2013 the ChiliProject Team
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//
// See docs/COPYRIGHT.rdoc for more details.
//++
// Overriding the browser's default [hidden] rule to force hiding the element as having a
// more specific rule (and almost everything will be more specific than [hidden]) will prevent using
// the hidden-attribute otherwise:
// "Note: Changing the value of the CSS display property on an element with the hidden attribute overrides the behavior.
// For instance, elements styled display: flex will be displayed despite the hidden attribute's presence."
// https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/hidden
[hidden]
display: none !important

@ -26,7 +26,8 @@
// See docs/COPYRIGHT.rdoc for more details.
//++
hide-section
hide-section,
autocomplete-select-decoration
display: none
&.-initialized

@ -63,6 +63,7 @@
@import content/on_off_status
@import content/custom_actions
@import content/user_mention
@import content/hide_section
@import content/hide_until_initialized
@import content/hidden
@import content/menus/_project_autocompletion

@ -39,6 +39,9 @@
font-size: 14px
margin-bottom: 0
&:last-of-type
margin-bottom: 0
.read-value--html
*
// Adjust size of all members in the html
@ -46,3 +49,6 @@
p
// Add some margin to paragraphs in long-text fields
margin-bottom: 1em
.wp-edit-field--text
width: 100%

@ -35,9 +35,6 @@
height: 1px
overflow: hidden
[hidden]
display: none
// -------------------- Rules for accessibility mode --------------------
body.accessibility-mode
// -------------------- General --------------------

@ -43,7 +43,7 @@ module CustomActions::Actions::Strategies::ValidateInRange
private
def validate_in_interval(errors)
return unless values.length == 1
return unless values.compact.length == 1
validate_greater_than_minimum(errors)
validate_smaller_than_maximum(errors)

@ -44,7 +44,6 @@ class CustomActions::Conditions::Base
def allowed_values
associated
.map { |value, label| { value: value, label: label } }
.unshift(value: nil, label: I18n.t('placeholders.default'))
end
def human_name

@ -34,7 +34,11 @@ module Queries::FilterSerializer
def self.load(serialized_filter_hash)
return [] if serialized_filter_hash.nil?
(YAML.load(serialized_filter_hash) || {}).each_with_object([]) do |(field, options), array|
# yeah, dunno, but apparently '=' may have been serialized as a Syck::DefaultKey instance...
yaml = serialized_filter_hash
.gsub('!ruby/object:Syck::DefaultKey {}', '"="')
(YAML.load(yaml) || {}).each_with_object([]) do |(field, options), array|
options = options.with_indifferent_access
filter = filter_for(field, true)
filter.operator = options['operator']

@ -15,16 +15,20 @@
<% @custom_action.all_conditions.each do |condition| %>
<div class="form--field">
<%= styled_label_tag("custom_action_conditions_#{condition.key}", condition.human_name) %>
<%= styled_label_tag("custom_action_conditions_#{condition.key}", condition.human_name, class: '-top') %>
<% input_name = "custom_action[conditions][#{condition.key}]" %>
<% selected_values = condition.values
select_options = options_for_select(condition.allowed_values.map { |v| [v[:label], v[:value]] },
selected: selected_values) %>
<%= styled_select_tag input_name,
select_options,
multiple: true,
container_class: '-middle' %>
<div class="form--select-container -middle">
<autocomplete-select-decoration>
<%= select_tag input_name,
select_options,
multiple: true %>
</autocomplete-select-decoration>
</div>
</div>
<div class="form--space -big"></div>
<% end %>
</fieldset>
@ -37,17 +41,21 @@
<% @custom_action.all_actions.each do |action| %>
<hide-section section-name="<%= action.key %>">
<div class="form--field">
<%= styled_label_tag("custom_action_actions_#{action.key}", action.human_name) %>
<%= styled_label_tag("custom_action_actions_#{action.key}", action.human_name, class: '-top') %>
<% input_name = "custom_action[actions][#{action.key}]" %>
<% if %i(associated_property boolean).include?(action.type) %>
<% selected_values = action.values
select_options = options_for_select(action.allowed_values.map { |v| [v[:label], v[:value]] },
selected: selected_values) %>
<%= styled_select_tag input_name,
select_options,
multiple: action.multi_value?,
container_class: '-middle' %>
<div class="form--select-container -middle">
<autocomplete-select-decoration
label="<%=action.human_name%>">
<%= select_tag input_name,
select_options,
multiple: action.multi_value? %>
</autocomplete-select-decoration>
</div>
<% elsif %i(date_property).include?(action.type) %>
<op-date-picker>
<%= styled_text_field_tag input_name,

@ -62,12 +62,12 @@ af:
custom_actions:
actions:
name: Actions
add: Add action
conditions: Conditions
plural: Custom actions
new: New custom action
edit: Edit custom action %{name}
execute: Execute %{name}
add: Voeg aksie toe
conditions: Voorwaardes
plural: Pasgemaakte aksies
new: Nuwe pasgemaakte aksie
edit: Wysig pasgemaakte aksie %{name}
execute: Voer %{name} uit
upsale:
title: Custom actions is an Enterprise Edition feature
description: Custom actions streamline everyday work by combining a set of individual
@ -460,6 +460,8 @@ af:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:
@ -1002,10 +1004,10 @@ af:
available:
pdftotext: Pdftotext available (optional)
unrtf: Unrtf available (optional)
catdoc: Catdoc available (optional)
xls2csv: Xls2csv available (optional)
catppt: Catppt available (optional)
tesseract: Tesseract available (optional)
catdoc: Catdoc beskikbaar (opsioneel)
xls2csv: Xls2csv beskikbaar (opsioneel)
catppt: Catppt beskikbaar (opsioneel)
tesseract: Tesseract beskikbaar (opsioneel)
general_csv_decimal_separator: "."
general_csv_encoding: UTF-8
general_csv_separator: ","
@ -2481,8 +2483,8 @@ af:
years: Years
title_remove_and_delete_user: Remove the invited user from the project and delete
him/her.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed
in a user''s settings.
tooltip_user_default_timezone: 'Die verstektydsone vir nuwe gebruikers. Kan in ’n
gebruiker se instellings verander word.
'
tooltip_resend_invitation: 'Sends another invitation email with a fresh token in

@ -452,6 +452,8 @@ ar:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:

@ -461,6 +461,8 @@ bg:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:

@ -468,6 +468,8 @@ ca:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:

@ -461,6 +461,8 @@ cs:
empty: "(%{name}) hodnota nemůže být prázdná."
inclusion: "(%{name}) hodnota není nastavena na jednu z povolených hodnot."
not_an_integer: "(%{name}) není celé číslo."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:
@ -549,6 +551,8 @@ cs:
posledních.
few: bylo již použito. Zvolte takové, které není stejné jako %{count}
posledních.
many: has been used before. Please choose one that is different from
your last %{count}.
match:
confirm: Potvrzení nového hesla.
description: "'Password confirmation' should match the input in the
@ -566,6 +570,7 @@ cs:
one: 1 error prohibited this %{model} from being saved
other: "%{count} chyb zabránilo %{model} v uložení"
few: "%{count} errors prohibited this %{model} from being saved"
many: "%{count} errors prohibited this %{model} from being saved"
models:
attachment: Soubor
attribute_help_text: Attribute help text
@ -584,6 +589,7 @@ cs:
one: Role
other: Role
few: Role
many: Roles
type: Typ
project_type: Typ projektu
user: Uživatel
@ -785,52 +791,64 @@ cs:
one: přibližně 1 hodinu
other: about %{count} hours
few: about %{count} hours
many: about %{count} hours
about_x_months:
one: about 1 month
other: about %{count} months
few: about %{count} months
many: about %{count} months
about_x_years:
one: about 1 year
other: about %{count} years
few: about %{count} years
many: about %{count} years
almost_x_years:
one: almost 1 year
other: almost %{count} years
few: almost %{count} years
many: almost %{count} years
half_a_minute: půl minuty
less_than_x_minutes:
one: less than a minute
other: less than %{count} minutes
few: less than %{count} minutes
many: less than %{count} minutes
less_than_x_seconds:
one: less than 1 second
other: less than %{count} seconds
few: less than %{count} seconds
many: less than %{count} seconds
over_x_years:
one: přes 1 rok
other: over %{count} years
few: over %{count} years
many: over %{count} years
x_days:
one: 1 den
other: "%{count} days"
few: "%{count} days"
many: "%{count} days"
x_minutes:
one: 1 minuta
other: "%{count} minutes"
few: "%{count} minutes"
many: "%{count} minutes"
x_months:
one: 1 month
other: "%{count} months"
few: "%{count} months"
many: "%{count} months"
x_seconds:
one: 1 second
other: "%{count} seconds"
few: "%{count} seconds"
many: "%{count} seconds"
units:
hour:
one: hour
other: hours
few: hours
many: hours
default_activity_development: Vývoj
default_activity_management: Management
default_activity_other: Ostatní
@ -1580,26 +1598,31 @@ cs:
other: "%{count} uzavřeny"
zero: 0 closed
few: "%{count} uzavřeny"
many: "%{count} closed"
label_x_comments:
one: 1 komentář
other: "%{count} komentářů"
zero: no comments
few: "%{count} komentářů"
many: "%{count} comments"
label_x_open_work_packages_abbr:
one: 1 otevřený
other: "%{count} otevřených"
zero: 0 open
few: "%{count} otevřených"
many: "%{count} open"
label_x_open_work_packages_abbr_on_total:
one: 1 otevřený / %{total}
other: "%{count} otevřených / %{total}"
zero: 0 open / %{total}
few: "%{count} otevřených / %{total}"
many: "%{count} open / %{total}"
label_x_projects:
one: 1 projekt
other: "%{count} projektů"
zero: no projects
few: "%{count} projektů"
many: "%{count} projects"
label_year: Rok
label_yesterday: včera
label_keyboard_function: Funkce
@ -1773,6 +1796,7 @@ cs:
one: Byte
other: Bytes
few: Bytes
many: Bytes
gb: GB
kb: kB
mb: MB
@ -2333,6 +2357,7 @@ cs:
one: 1 den
other: "%{count} days"
few: "%{count} days"
many: "%{count} days"
edit_color: Upravit barvy
edit_project_type: Upravit typ projektu
edit_thing: Upravit
@ -2536,6 +2561,7 @@ cs:
one: dočasně uzamčen (jeden pokus o přihlášení se nezdařil)
other: dočasně uzamčen (%{count} pokusů o přihlášení se nezdařilo)
few: dočasně uzamčen (%{count} pokusů o přihlášení se nezdařilo)
many: locked temporarily (%{count} failed login attempts)
confirm_status_change: Chystáte se změnit stav '%{name}'. Opravdu chcete pokračovat?
deleted: Odstraněný uživatel
error_status_change_failed: 'Changing the user status failed due to the following

@ -459,6 +459,8 @@ da:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:

@ -469,6 +469,8 @@ de:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: kann nicht gelesen werden. Ist dies ein Enterprise-Edition Support
Token?

@ -473,6 +473,8 @@ es:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: no se puede leer. ¿Seguro que es un token de apoyo?
parse_schema_filter_params_service:

@ -458,6 +458,8 @@ et:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:

@ -458,6 +458,8 @@ fa:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:

@ -18,22 +18,22 @@ fi:
instructions:
alternative_color: Strong accent color, typically used for most the important
button on a screen.
content_link_color: Font color of most of the links.
content_link_color: Fontin väri eniten linkkejä.
primary_color: Pääväri.
primary_color_dark: Yleensä tummempi versio pääväristä on käytössä valintatehosteissa.
header_bg_color: Background color of the header.
header_item_bg_hover_color: Background color of clickable header items when
hovered with the mouse.
header_item_font_color: Font color of clickable header items.
header_item_font_hover_color: Font color of clickable header items when hovered
with the mouse.
header_item_bg_hover_color: Taustan väri klikattava otsikko eriä kun leijui
hiirellä.
header_item_font_color: Fontin väri klikattava otsikko eriä.
header_item_font_hover_color: Fontin väri klikattava otsikko eriä kun leijui
hiirellä.
header_border_bottom_color: Thin line under the header. Leave this field empty
if you don't want any line.
main_menu_bg_color: Left side menu's background color.
enterprise:
upgrade_to_ee: Päivitä yritysversioon
add_token: Upload an Enterprise Edition support token
replace_token: Replace your current support token
replace_token: Korvata nykyisen tukea poletti
order: Tilaa yritysversio
paste: Paste your Enterprise Edition support token
required_for_feature: This feature is only available with an active Enterprise
@ -61,16 +61,16 @@ fi:
custom_actions:
actions:
name: Actions
add: Add action
conditions: Conditions
add: Lisää toiminto
conditions: Olosuhteet
plural: Custom actions
new: New custom action
edit: Edit custom action %{name}
execute: Execute %{name}
upsale:
title: Custom actions is an Enterprise Edition feature
description: Custom actions streamline everyday work by combining a set of individual
steps into one button.
description: Mukautettuja toimintoja tehostaa jokapäiväistä työtä yhdistämällä
joukko yksittäisiä vaiheita yhdeksi painiketta.
custom_fields:
text_add_new_custom_field: 'Jotta voit lisätä tälle projektille uusia muokattavia
kenttiä, tulee sinun ensin luoda ne.
@ -140,8 +140,8 @@ fi:
failed_to_reset_token: 'Failed to reset access token: %{error}'
notice_reset_token: 'A new %{type} token has been generated. Your access token
is:'
token_value_warning: 'Note: This is the only time you will see this token, make
sure to copy it now.'
token_value_warning: 'Huomautus: Tämä on ainoa kerta kun näet tämän tunnuksen,
varmista että kopio se nyt.'
no_results_title_text: Tällä hetkellä ei ole pääsyavaimia saatavilla.
news:
index:
@ -346,8 +346,8 @@ fi:
repository:
url: URL
role:
assignable: Work packages can be assigned to users and groups in possession
of this role in the respective project
assignable: Toimia paketti voidaan määrittää käyttäjät ja ryhmät hallussaan
tämä rooli kunkin projekti
time_entry:
activity: Aktiviteetti
hours: Tunnit
@ -460,6 +460,8 @@ fi:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:
@ -528,7 +530,7 @@ fi:
type:
attributes:
attribute_groups:
group_without_name: Unnamed groups are not allowed.
group_without_name: Nimeämätön ryhmät eivät ole sallittuja.
duplicate_group: The group name %{group} is used more than once. Group
names must be unique.
attribute_unknown: Invalid work package attribute used.
@ -871,12 +873,12 @@ fi:
default_type_phase: Phase
default_type_task: Task
default_type_user_story: User story
description_active: Active?
description_active: Aktiivinen?
description_attachment_toggle: Show/Hide attachments
description_autocomplete: 'This field uses autocomplete. While typing the title
of a work package you will receive a list of possible candidates. Choose one using
the arrow up and arrow down key and select it with tab or enter. Alternatively
you can enter the work package number directly.
description_autocomplete: 'Tämä kenttä käyttää automaattisen täydennyksen. Kun näppäily
otsikon työtä paketin saat listan mahdollisista ehdokkaista. Valitse yksi käyttäen
nuoli ylös ja nuoli alas näppäintä ja valitse sarkain tai näppäile näppäintä.
Vaihtoehtoisesti voit kirjoittaa työtä paketti numero suoraan.
'
description_available_columns: Käytettävissä olevat sarakkeet
@ -896,21 +898,21 @@ fi:
description_message_content: Viestin sisältö
description_my_project: You are member
description_notes: Muistiinpanot
description_parent_work_package: Parent work package of current
description_parent_work_package: Vanhemman työ paketti nykyinen
description_project_scope: Haun laajuus
description_query_sort_criteria_attribute: Lajittelun perusta
description_query_sort_criteria_direction: Lajittelujärjestys
description_search: Hakukenttä
description_select_work_package: Select work package
description_selected_columns: Valitut sarakkeet
description_sub_work_package: Sub work package of current
description_sub_work_package: Osa työstä paketti nykyinen
description_toc_toggle: Show/Hide table of contents
description_wiki_subpages_reassign: Valitse uusi pääsivun
direction: ltr
ee:
upsale:
form_configuration:
description: 'Customize the form configuration with these additional features:'
description: 'Muokata lomakkeen konfigurointi nämä lisäominaisuudet:'
add_groups: Add new attribute groups
rename_groups: Rename attributes groups
project_filters:
@ -923,12 +925,12 @@ fi:
error_can_not_archive_project: Tätä projektia ei voida arkistoida
error_can_not_delete_entry: Unable to delete entry
error_can_not_delete_custom_field: Mukautettua kenttää ei voi poistaa
error_can_not_delete_type: This type contains work packages and cannot be deleted.
error_can_not_delete_standard_type: Standard types cannot be deleted.
error_can_not_delete_type: Tämä tyyppinen työ sisältää pakettia ja ei voi poistaa.
error_can_not_delete_standard_type: Standardin tyyppiä ei voi poistaa.
error_can_not_invite_user: Kutsun lähettäminen käyttäjälle epäonnistui.
error_can_not_remove_role: Tämä rooli on käytössä joten sitä ei voida poistaa.
error_can_not_reopen_work_package_on_closed_version: A work package assigned to
a closed version cannot be reopened
error_can_not_reopen_work_package_on_closed_version: Työn paketti määritetty suljettu
versio ei voi avata uudelleen
error_check_user_and_role: Please choose a user and a role.
error_cookie_missing: OpenProject evästeen puuttuu. Varmista, että evästeet ovat
käytössä, koska tämä sovellus ei toimi oikein ilman evästeitä.
@ -940,30 +942,31 @@ fi:
error_pdf_export_too_many_columns: Liikaa sarakkeita valittuina PDF-vientiin. Pienennä
sarakkeiden määrää.
error_token_authenticity: Unable to verify Cross-Site Request Forgery token.
error_work_package_done_ratios_not_updated: Work package done ratios not updated.
error_work_package_not_found_in_project: The work package was not found or does
not belong to this project
error_must_be_project_member: must be project member
error_work_package_done_ratios_not_updated: Toimi paketti tehnyt suhdelukuja ei
päivitetä.
error_work_package_not_found_in_project: Toimia paketti ei löydy tai ei kuulu tähän
projektiin
error_must_be_project_member: on oltava projekti jäsen
error_no_default_work_package_status: No default work package status is defined.
Please check your configuration (Go to "Administration -> Work package statuses").
error_no_type_in_project: No type is associated to this project. Please check the
Project settings.
error_omniauth_registration_timed_out: The registration via an external authentication
provider timed out. Please try again.
error_no_type_in_project: Ei tyyppi liittyy tähän projekti. Ole hyvä ja tarkista
Projekti asetuksista.
error_omniauth_registration_timed_out: Rekisteröinnin kautta ulkoinen todennus perheenhuoltaja
aikakatkaistiin. Ole hyvä ja yritä uudelleen.
error_scm_command_failed: 'Tietovarastoon pääsyssä tapahtui virhe: %{value}'
error_scm_not_found: Syötettä ja/tai versiota ei löydy tietovarastosta.
error_unable_delete_status: The work package status cannot be deleted since it is
used by at least one work package.
error_unable_delete_default_status: Unable to delete the default work package status.
Please select another default work package status before deleting the current
one.
error_unable_delete_status: Toimia paketti tila ei voi poistaa koska se on käytössä
vähintään yksi toimia paketti.
error_unable_delete_default_status: Ei voi poistaa oletuksena työ paketti tila.
Ole hyvä ja valitse vielä oletusarvo työ paketti tila ennen poistamalla nykyinen
yksi.
error_unable_to_connect: Ei voi yhdistää (%{value})
error_unable_delete_wiki: Wiki-sivun poistaminen ei onnistu.
error_unable_update_wiki: Wiki-sivun päivittäminen ei onnistu.
error_workflow_copy_source: Valitse lähdetyyppi tai -rooli
error_workflow_copy_target: Valitse kohdetyypit ja -roolit
error_menu_item_not_created: Menu item could not be added
error_menu_item_not_saved: Menu item could not be saved
error_menu_item_not_created: Valikkokohta ei voitu lisätä
error_menu_item_not_saved: Valikkokohta ei voitu tallentaa
error_wiki_root_menu_item_conflict: 'Arvoa "%{old_name}" ei voi uudelleennimetä
arvoksi "%{new_name}" koska se olisi konfliktissa valikkoarvon "%{existing_caption}"
(%{existing_identifier}) kanssa.
@ -1083,7 +1086,7 @@ fi:
label_api_access_key_created_on: API access key created %{value} ago
label_api_access_key_type: API
label_applied_status: Käytetty tila
label_archive_project: Archive project
label_archive_project: Arkisto projekti
label_ascending: Nouseva
label_assigned_to_me_work_packages: Minulle määritetyt työpaketit
label_associated_revisions: Liittyvät versiot
@ -1172,7 +1175,7 @@ fi:
label_day_plural: päivää
label_default: Oletus
label_delete_user: Delete user
label_delete_project: Delete project
label_delete_project: Poista projekti
label_deleted: poistettu
label_deleted_custom_field: "(poistettu mukautettu kenttä)"
label_descending: Laskeva
@ -1478,7 +1481,7 @@ fi:
label_total: Yhteensä
label_type_new: Uusi tyyppi
label_type_plural: Tyypit
label_type_default_new_projects: Type activated for new projects by default
label_type_default_new_projects: Tyyppi aktivoitu uusia hankkeita oletuksena
label_ui: Käyttöliittymä
label_update_work_package_done_ratios: Päivitä työpaketin valmiusasteet
label_updated_time: Päivitetty %{value} sitten
@ -1525,7 +1528,7 @@ fi:
label_wiki_page: Wiki-sivu
label_wiki_page_plural: Wiki sivut
label_wiki_show_index_page_link: Näytä alivalikon vaihtoehto "Sisällysluettelo"
label_wiki_show_menu_item: Show as menu item in project navigation
label_wiki_show_menu_item: Näytä valikon kohta projekti navigaatio
label_wiki_show_new_page_link: Show submenu item 'Create new child page'
label_wiki_show_submenu_item: 'Show as submenu item of '
label_work_package: Työpaketti
@ -1596,7 +1599,7 @@ fi:
label_keyboard_shortcut_go_calendar: Go to project calendar
label_keyboard_shortcut_go_news: Go to project news
label_keyboard_shortcut_go_timelines: Go to timelines
label_keyboard_shortcut_new_work_package: Create new work package
label_keyboard_shortcut_new_work_package: Luo uusi toimia paketti
label_keyboard_shortcut_details_package: Show work packages details pane
label_keyboard_shortcut_go_edit: Go to edit the current item (on detail pages only)
label_keyboard_shortcut_open_more_menu: Open more-menu (on detail pages only)
@ -1608,7 +1611,7 @@ fi:
only)
label_visible_elements: Näkyvät elementit
auth_source:
using_abstract_auth_source: Can't use an abstract authentication source.
using_abstract_auth_source: Voi käyttää abstrakti autentikointi lähde.
ldap_error: 'LDAP-Error: %{error_message}'
ldap_auth_failed: Could not authenticate at the LDAP-Server.
macro_execution_error: Error executing the macro %{macro_name}
@ -1650,12 +1653,12 @@ fi:
notice_account_already_activated: The account has already been activated.
notice_account_invalid_token: Invalid activation token
notice_account_invalid_credentials: Virheellinen käyttäjätunnus tai salasana
notice_account_invalid_credentials_or_blocked: Invalid user or password or the account
is blocked due to multiple failed login attempts. If so, it will be unblocked
automatically in a short time.
notice_account_invalid_credentials_or_blocked: Pätemätön käyttäjä tai salasana tai
tili on tukossa koska useita epäonnistunut kirjautuminen yrityksiä. Jos on, niin
se vapauttaa automaattisesti lyhyessä ajassa.
notice_account_lost_email_sent: Sinulle on lähetetty sähköposti jossa on ohje kuinka
vaihdat salasanasi.
notice_account_new_password_forced: A new password is required.
notice_account_new_password_forced: Uusi salasana on vaaditaan.
notice_account_password_expired: Your password expired after %{days} days. Please
set a new one.
notice_account_password_updated: Salasanan päivitys onnistui.
@ -1667,8 +1670,8 @@ fi:
takaisin tilisi sivulle.
notice_account_updated: Tilin päivitys onnistui.
notice_account_wrong_password: Väärä salasana
notice_account_registered_and_logged_in: Welcome, your account has been activated.
You are logged in now.
notice_account_registered_and_logged_in: Tervetuloa, tilisi on aktivoitu. Olet kirjautunut
sisään nyt.
notice_activation_failed: The account could not be activated.
notice_auth_stage_verification_error: Could not verify stage '%{stage}'.
notice_auth_stage_wrong_stage: Expected to finish authentication stage '%{expected}',
@ -1686,15 +1689,14 @@ fi:
notice_file_not_found: Hakemaasi sivua ei löytynyt tai se on poistettu.
notice_forced_logout: You have been automatically logged out after %{ttl_time} minutes
of inactivity.
notice_internal_server_error: An error occurred on the page you were trying to access.
If you continue to experience problems please contact your %{app_title} administrator
for assistance.
notice_internal_server_error: On tapahtunut virhe sivu jota yritit käyttää. Jos
sinulla on edelleen ongelmia ota yhteyttä %{app_title} hallintomies sillä apua.
notice_work_package_done_ratios_updated: Work package done ratios updated.
notice_locking_conflict: Vähintään yksi muu käyttäjä on päivitetty tiedot sillä
välin.
notice_locking_conflict_additional_information: The update(s) came from %{users}.
notice_locking_conflict_reload_page: Please reload the page, review the changes
and reapply your updates.
notice_locking_conflict_reload_page: Ole hyvä ja päivitä sivu, tarkistaa muutokset
ja uudelleen päivitykset.
notice_member_added: Added %{name} to the project.
notice_members_added: Lisätty %{number} käyttäjää hankkeeseen.
notice_member_removed: Removed %{user} from project.
@ -1703,7 +1705,7 @@ fi:
notice_bad_request: Bad Request.
notice_not_authorized: Sinulla ole oikeuksia käyttää tätä sivua.
notice_not_authorized_archived_project: Haluamasi projekti on arkistoitu.
notice_password_confirmation_failed: Your password is not correct. Cannot continue.
notice_password_confirmation_failed: Salasana ei ole oikea. Ei voi jatkua.
notice_principals_found_multiple: "There are %{number} results found. \n Tab to
focus the first result."
notice_principals_found_single: "There is one result. \n Tab to focus it."
@ -1713,12 +1715,12 @@ fi:
notice_successful_delete: Poisto onnistui.
notice_successful_update: Päivitys onnistui.
notice_to_many_principals_to_display: |-
There are too many results.
Narrow down the search by typing in the name of the new member (or group).
On liian paljon tuloksia.
Rajata hakua kirjoittamalla nimi uuden jäsenen (tai ryhmä).
notice_unable_delete_time_entry: Ei voi poistaa aikakirjausta.
notice_unable_delete_version: Version poisto epäonnistui
notice_user_missing_authentication_method: User has yet to choose a password or
another way to sign in.
notice_user_missing_authentication_method: Käyttäjä on vielä valita salasana tai
toinen tapa kirjautua sisään.
notice_user_invitation_resent: An invitation has been sent to %{email}.
present_access_key_value: 'Your %{key_name} is: %{value}'
notice_automatic_set_of_standard_type: Set standard type automatically.
@ -1874,17 +1876,17 @@ fi:
Note: The base URL is only used for rewriting checkout URLs in managed repositories. Other repositories are not altered.
default_instructions:
git: |-
The data contained in this repository can be downloaded to your computer with Git.
Please consult the documentation of Git if you need more information on the checkout procedure and available clients.
Sisältämät tiedot tämä arkisto voidaan ladata tietokoneeseen Git.
Ota dokumentointi Git jos tarvitset lisätietoja huoneen luovutus menettely ja saatavilla asiakkaille.
subversion: |-
The data contained in this repository can be downloaded to your computer with Subversion.
Please consult the documentation of Subversion if you need more information on the checkout procedure and available clients.
enable_instructions_text: Displays checkout instructions defined below on all
repository-related pages.
enable_instructions_text: Näyttää kassalle ohjeet alla määritellään kaikki säilytyspaikka-liittyviä
sivuja.
instructions: Checkout instructions
show_instructions: Display checkout instructions
text_instructions: This text is displayed alongside the checkout URL for guidance
on how to check out the repository.
text_instructions: Tämä teksti näkyy rinnalla kassalla URL ohjeet siitä miten
tarkistaa säilytyspaikka.
not_available: Checkout instructions are not defined for this repository. Ask
your administrator to enable them for this repository in the system settings.
create_managed_delay: 'Please note: The repository is managed, it is created asynchronously
@ -1892,7 +1894,7 @@ fi:
create_successful: The repository has been registered.
delete_sucessful: The repository has been deleted.
destroy:
confirmation: If you continue, this will permanently delete the managed repository.
confirmation: Jos jatkat, tämän pysyvästi poistaa onnistunut säilytyspaikka.
info: Deleting the repository is an irreversible action.
info_not_managed: 'Note: This will NOT delete the contents of this repository,
as it is not managed by OpenProject.'
@ -1906,8 +1908,7 @@ fi:
title: Delete the %{repository_type}
title_not_managed: Remove the linked %{repository_type}?
errors:
build_failed: Unable to create the repository with the selected configuration.
%{reason}
build_failed: Ei voi luoda säilytyspaikka kanssa valitun kokoonpanon. %{reason}
managed_delete: Unable to delete the managed repository.
managed_delete_local: 'Unable to delete the local repository on filesystem at
''%{path}'': %{error_message}'
@ -1919,8 +1920,8 @@ fi:
not_manageable: This repository vendor cannot be managed by OpenProject.
path_permission_failed: 'An error occurred trying to create the following path:
%{path}. Please ensure that OpenProject may write to that folder.'
unauthorized: You're not authorized to access the repository or the credentials
are invalid.
unauthorized: Sinulla ei ole valtuutetun käyttää säilytyspaikka tai tunnistetiedot
eivät kelpaa.
unavailable: The repository is unavailable.
exception_title: 'Cannot access the repository: %{message}'
disabled_or_unknown_type: The selected type %{type} is disabled or no longer
@ -1929,9 +1930,8 @@ fi:
available.
remote_call_failed: 'Calling the managed remote failed with message ''%{message}''
(Code: %{code})'
remote_invalid_response: Received an invalid response from the managed remote.
remote_save_failed: Could not save the repository with the parameters retrieved
from the remote.
remote_invalid_response: Vastaanotettu virheellinen vastaus onnistui kauko.
remote_save_failed: Ei voitu tallentaa asäilytyspaikka parametrit haetaan kauko.
git:
instructions:
managed_url: This is the URL of the managed (local) Git repository.
@ -1950,7 +1950,7 @@ fi:
path: Path to Git repository
path_encoding: Polun koodaus
go_to_revision: Go to revision
managed_remote: Managed repositories for this vendor are handled remotely.
managed_remote: Onnistunut arkistot tälle toimittajalle hoidetaan etänä.
managed_remote_note: Information on the URL and path of this repository is not
available prior to its creation.
managed_url: Managed URL
@ -1981,8 +1981,8 @@ fi:
Enter the repository URL. This may either target a local repository (starting with %{local_proto} ), or a remote repository.
The following URL schemes are supported:
managed_title: Subversion repository integrated into OpenProject
managed_introduction: Let OpenProject create and integrate a local Subversion
repository automatically.
managed_introduction: Päästää OpenProject luoda ja integroida paikallinen kumouksellisuus
säilytyspaikka automaattisesti.
managed_url: Managed URL
password: Repository Password
username: Repository username
@ -1992,7 +1992,7 @@ fi:
update_settings_successful: The settings have been sucessfully saved.
url: URL to repository
warnings:
cannot_annotate: This file cannot be annotated.
cannot_annotate: Tätä tiedostoa ei voi selityksineen.
search_input_placeholder: Etsi...
setting_email_delivery_method: Sähköpostiviestien toimitustapa
setting_sendmail_location: Location of the sendmail executable
@ -2065,8 +2065,8 @@ fi:
setting_new_project_user_role_id: Rooli joka annetaan projektin luojalle, joka ei
ole hallinnoija (admin)
setting_password_active_rules: Aktiiviset merkistöluokat
setting_password_count_former_banned: Number of most recently used passwords banned
for reuse
setting_password_count_former_banned: Numero viimeksi käytetyt salasanat kielletty
sillä uudelleenkäyttö
setting_password_days_valid: Maksimiaika, jonka jälkeen salasana täytyy vaihtaa
setting_password_min_length: Vähimmäispituus
setting_password_min_adhered_rules: Minimum number of required classes
@ -2088,21 +2088,20 @@ fi:
setting_rest_api_enabled: Ota käyttöön REST-verkkopalvelu
setting_self_registration: Itserekisteröinti
setting_sequential_project_identifiers: Luo peräkkäiset projektien tunnisteet
setting_session_ttl: Session expiry time after inactivity
setting_session_ttl_hint: Value below 5 works like disabled
setting_session_ttl_enabled: Session expires
setting_session_ttl: Istunnon vanhentumisaika jälkeen toimettomuus
setting_session_ttl_hint: Arvo alle 5 toimii kuten käytöstä
setting_session_ttl_enabled: Istunto päättyy
setting_start_of_week: Week starts on
setting_sys_api_enabled: Salli WS tietovaraston hallintaan
setting_sys_api_description: The repository management web service provides integration
and user authorization for accessing repositories.
setting_text_formatting: Tekstin muotoilu
setting_time_format: Aikakormaatti
setting_accessibility_mode_for_anonymous: Enable accessibility mode for anonymous
users
setting_accessibility_mode_for_anonymous: Ota helppokäyttötila anonyymeille käyttäjille
setting_user_format: Käyttäjien esitysmuoto
setting_user_default_timezone: Users default time zone
setting_users_deletable_by_admins: User accounts deletable by admins
setting_users_deletable_by_self: Users allowed to delete their accounts
setting_users_deletable_by_self: Käyttäjille saa poistaa tilinsä
setting_welcome_text: Tervehdysteksti
setting_welcome_title: Tervehdyspalkki
setting_welcome_on_homescreen: Näytä tervehdyspalkki kotinäkymässä
@ -2129,8 +2128,8 @@ fi:
motorically handicaped or have a bad eyesight. For the latter focused elements
are specially highlighted. Please notice, that the Backlogs module is not available
in this mode.
text_access_token_hint: Access tokens allow you to grant external applications access
to resources in OpenProject.
text_access_token_hint: Käyttövaltuuksien avulla voit tuoda ulkoisia sovelluksia
pääsyn resursseja sisään OpenProject.
text_analyze: 'Further analyze: %{subject}'
text_are_you_sure: Oletko varma?
text_are_you_sure_with_children: Delete work package and all child work packages?
@ -2177,7 +2176,7 @@ fi:
text_destroy: Poista
text_destroy_with_associated: 'There are additional objects assossociated with the
work package(s) that are to be deleted. Those objects are of the following types:'
text_destroy_what_to_do: What do you want to do?
text_destroy_what_to_do: Mitä sinä haluat tehdä?
text_diff_truncated: "... Tämä katkaistiin koska suurin mahdollinen näytettävä määrä
tuli täyteen."
text_email_delivery_not_configured: |-
@ -2192,7 +2191,7 @@ fi:
text_hint_disable_with_0: 'Huom: Poista käytöstä syöttämällä 0'
text_hours_between: "%{min}-%{max} tuntia."
text_work_package_added: Work package %{id} has been reported by %{author}.
text_work_package_category_destroy_assignments: Remove category assignments
text_work_package_category_destroy_assignments: Poistaa luokan tehtävät
text_work_package_category_destroy_question: Some work packages (%{count}) are assigned
to this category. What do you want to do?
text_work_package_category_reassign_to: Reassign work packages to this category
@ -2201,8 +2200,8 @@ fi:
henkilön %{watcher_setter} toimesta.
text_work_packages_destroy_confirmation: Are you sure you want to delete the selected
work package(s)?
text_work_packages_ref_in_commit_messages: Referencing and fixing work packages
in commit messages
text_work_packages_ref_in_commit_messages: Vertailemalla ja korjaus toimia paketit
sitoutua viestejä
text_journal_added: "%{label} %{value} lisätty"
text_journal_aggregation_time_explanation: Yhdistele aktiviteettiuutiset jos niiden
julkaisuajan ero on pienempi kuin syötetty aika. Tämä viivästyttää myös aktiviteettiuutisten
@ -2225,12 +2224,12 @@ fi:
Rooleja, tapahtumien tiloja ja työnkulkua ei vielä olla määritelty.
On erittäin suotavaa ladata vakioasetukset. Voit muuttaa sitä latauksen jälkeen.
text_no_notes: Tähän työpakettiin ei ole saatavilla kommentteja.
text_notice_too_many_values_are_inperformant: 'Note: Displaying more than 100 items
per page can increase the page load time.'
text_notice_too_many_values_are_inperformant: 'Huomautus: Näyttää yli 100 kohteita
sivulla voi lisätä sivu kuormitus aika.'
text_own_membership_delete_confirmation: Olet aikeissa poistaa yhden tai useamman
käyttöoikeuden ja et ehkä voi enää muokata tätä projektia sen jälkeen. Haluatko
varmasti jatkaa?
text_plugin_assets_writable: Plugin assets directory writable
text_plugin_assets_writable: Plugin varat hakemisto kirjoitettavissa
text_powered_by: Powered by %{link}
text_project_identifier_info: Vain pienet kirjaimet (a-z), numerot, väliviivat ja
alaviivat ovat sallittuja. Ensimmäisenä tulee olla pieni kirjain.
@ -2247,12 +2246,12 @@ fi:
checkboxes in the table. When clicking on the button below the table the differences
are shown.
text_time_logged_by_changeset: Päivitetty muutosversioon %{value}.
text_tip_work_package_begin_day: work package beginning this day
text_tip_work_package_begin_end_day: work package beginning and ending this day
text_tip_work_package_begin_day: toimia paketti alusta tähän päivään
text_tip_work_package_begin_end_day: toimia paketti alkaa ja päättyy tähän päivään
text_tip_work_package_end_day: work package ending this day
text_type_no_workflow: No workflow defined for this type
text_type_no_workflow: Ei työnkulun määritetty tämä tyyppi
text_unallowed_characters: Kiellettyjä merkkejä
text_user_invited: The user has been invited and is pending registration.
text_user_invited: Käyttäjä on kutsuttu ja on vireillä rekisteröinti.
text_user_wrote: "%{value} kirjoitti:"
text_warn_on_leaving_unsaved: The work package contains unsaved text that will be
lost if you leave this page.
@ -2276,7 +2275,7 @@ fi:
time: "%H:%M"
pm: iltapäivä
timeframe:
show: Show timeframe
show: Näytä aikataulu
end: to
start: from
timelines:
@ -2315,10 +2314,9 @@ fi:
errors:
not_implemented: Aikajanaa ei voitu muodostaa koska se käyttää toimintoa jota
ei ole vielä otettu käyttöön.
report_comparison: The timeline could not render the configured comparisons.
Please check the appropriate section in the configuration, resetting it can
help solve this problem.
report_epicfail: The timeline could not be loaded due to an unexpected error.
report_comparison: Aikajanan voi tehdä määritetty vertailuja. Tarkista oikea
kohta asetukset, nollaa se voi auttaa ratkaisemaan tämän ongelman.
report_epicfail: Aikajana ei voi ladata koska odottamaton virhe.
report_timeout: The timeline could not be loaded in a reasonable amount of time.
filter:
errors:
@ -2378,7 +2376,7 @@ fi:
work_package_filters: Filter work packages
work_package_responsible: Show work packages with responsible
work_package_assignee: Show work packages with assignee
types: Show types
types: Näytä tyypit
status: Näytä tila
project_time_filter: Projects with a work package of a certain type in a certain
timeframe
@ -2389,10 +2387,10 @@ fi:
project_time_filter_relative: "%{start_label} %{startspan}%{startspanunit} ago,
%{end_label} %{endspan}%{endspanunit} from now"
project_filters: Filter projects
project_responsible: Show projects with responsible
project_status: Show project status
project_types: Show project types
timeframe: Show timeframe
project_responsible: Näytä hankkeita joiden tehtävänä
project_status: Näytä projekti tila
project_types: Näytä projekti tyypit
timeframe: Näytä aikataulu
timeframe_end: to
timeframe_start: from
timeline: General Settings
@ -2404,15 +2402,15 @@ fi:
new_project_type: Uusi projektityyppi
new_reporting: New reporting
new_timeline: Uusi aikajana-raportti
no_projects_for_reporting_available: There are no projects to which a reporting
association can be created.
no_right_to_view_timeline: You do not have the necessary permission to view the
linked timeline.
no_projects_for_reporting_available: Ei ole hankkeita joihin raportointi yhdistys
voi olla luotu.
no_right_to_view_timeline: Sinulla ei ole tarvittavaa lupaa tarkastella toisiinsa
aikajanalla.
no_timeline_for_id: There is no timeline with ID %{id}.
notice_successful_deleted_all_elements: Successfully deleted all elements
outline: Reset Outline
notice_successful_deleted_all_elements: Poistettu onnistuneesti kaikki elementit
outline: Nollaa hahmotelma
outlines:
aggregation: Show aggregations only
aggregation: Näyttää koosteita vain
level1: Laajenna taso 1
level2: Laajenna taso 2
level3: Laajenna taso 3
@ -2431,22 +2429,22 @@ fi:
work_packages_are_displayed_in_aggregations: Work packages are displayed in aggregations
project_type_could_not_be_saved: Project type could not be saved
type_could_not_be_saved: Type could not be saved
reporting_could_not_be_saved: Reporting could not be saved
reporting_could_not_be_saved: Raportointi ei voitu tallenneta
properties: Ominaisuudet
really_delete_color: 'Are you sure, you want to delete the following color? Types
using this color will not be deleted.
really_delete_color: 'Oletko varma, että haluat poistaa seuraava väri? Tyypit
käyttää tätä väri ei poisteta.
'
really_delete_project_type: 'Are you sure, you want to delete the following project
type? Projects using this type will not be deleted.
really_delete_project_type: 'Oletko varma, että haluat poistaa seuraavat projekti
tyyppi? Projekti avulla tämä tyyppi ei poisteta.
'
really_delete_timeline: 'Are you sure, you want to delete the following timeline
report? Work packages shown in this timeline report will not be deleted.
really_delete_timeline: 'Oletko varma, että haluat poistaa seuraavat aikajana
raportti? toimia paketti näkyy tämä aikajana raportti ei poisteta.
'
really_delete_reporting: 'Are you sure, you want to delete the following reporting?
Previous reporting statuses will be deleted, too.
really_delete_reporting: 'Oletko varma, että haluat poistaa seuraavat raportointia?
Edellisen raportoinnin statukset poistetaan, liian.
'
start: Aloita
@ -2455,12 +2453,12 @@ fi:
settings: Aikataulut
vertical_work_package: Vertical work packages
without_project_type: Without project type
you_are_viewing_the_selected_timeline: You are viewing the selected timeline report
you_are_viewing_the_selected_timeline: Sinä olet katselu valittu aikajana raportti
zoom:
in: Lähennä
out: Loitonna
days: Days
weeks: Weeks
days: Päivää
weeks: Viikkoa
months: Months
quarters: Quarters
years: Years
@ -2495,9 +2493,9 @@ fi:
activate: Aktivoi
activate_and_reset_failed_logins: Activate and reset failed logins
authentication_provider: Authentication Provider
authentication_settings_disabled_due_to_external_authentication: 'This user authenticates
via an external authentication provider, so there is no password in OpenProject
to be changed.
authentication_settings_disabled_due_to_external_authentication: 'Tämä käyttäjä
autentikoi kautta ulkoisen autentikointi perheenhuoltaja, joten ei ole salasana
OpenProject olla muutettu.
'
authorization_rejected: You are not allowed to sign in.
@ -2509,15 +2507,15 @@ fi:
confirm_status_change: You are about to change the status of '%{name}'. Are you
sure you want to continue?
deleted: Poista käyttäjä
error_status_change_failed: 'Changing the user status failed due to the following
errors: %{errors}'
error_status_change_failed: 'Muuttaminen käyttäjän tila epäonnistui koska seuraavia
virheitä: %{errors}'
invite: Invite user via email
invited: kutsuttu
lock: Lock permanently
lock: Lukko vakinaisesti
locked: locked permanently
no_login: This user authenticates through login by password. Since it is disabled,
they cannot log in.
password_change_unsupported: Change of password is not supported.
no_login: Tämä käyttäjä todentaa kautta kirjautuminen salasanalla. Koska se on
poistettu käytöstä, he ei voi loki sisään.
password_change_unsupported: Muutos salasana ei tueta.
registered: registered
reset_failed_logins: Reset failed logins
settings:
@ -2525,7 +2523,7 @@ fi:
mail_project_explanaition: For unselected projects, you will only receive notifications
about things you watch or you're involved in (e.g. work packages you're the
author or assignee of).
mail_self_notified: I want to be notified of changes that I make myself
mail_self_notified: Haluan ilmoituksen muutoksista jotka teen itse
status_user_and_brute_force: "%{user} and %{brute_force}"
status_change: Status change
unlock: Vapauta
@ -2544,13 +2542,12 @@ fi:
menu_item_setting: Visibility
wiki_menu_item_for: Menu item for wikipage "%{title}"
wiki_menu_item_setting: Visibility
wiki_menu_item_new_main_item_explanation: 'You are deleting the only main wiki menu
item. You now have to choose a wiki page for which a new main item will be generated.
To delete the wiki the wiki module can be deactivated by project administrators.
wiki_menu_item_new_main_item_explanation: 'Sinä olet poistat vain tärkeimmät wiki
valikosta. Sinun täytyy nyt valita wiki sivu joista tärkein uusi kohde luodaan.
Poistaa wiki wiki moduuli voidaan kytkeä pois päältä hankkeen ylläpitäjät.
'
wiki_menu_item_delete_not_permitted: The wiki menu item of the only wiki page cannot
be deleted.
wiki_menu_item_delete_not_permitted: Wiki valikosta vain wiki sivu voi olla Poistetaan.
query_menu_item_for: Menu item for query "%{title}"
work_package:
updated_automatically_by_child_changes: '_Päivitetty automaattisesti muutoksella
@ -2565,11 +2562,11 @@ fi:
attributes:
lock_version: Lock Version
errors:
code_401: You need to be authenticated to access this resource.
code_401_wrong_credentials: You did not provide the correct credentials.
code_403: You are not authorized to access this resource.
code_401: Sinun täytyy olla todennettu pääsy tähän resurssiin.
code_401_wrong_credentials: Et ole antanut oikeita käyttäjätietoja.
code_403: Sinulla ei ole oikeutta käyttää tätä resurssia.
code_404: The requested resource could not be found.
code_409: Couldn't update the resource because of conflicting modifications.
code_409: Ei voinut päivittää resurssi koska ristiriitaisia muutoksia.
code_500: An internal error has occured.
expected:
date: YYYY-MM-DD (ISO 8601 date only)
@ -2578,29 +2575,28 @@ fi:
'%{actual}'.
invalid_format: 'Invalid format for property ''%{property}'': Expected format
like ''%{expected_format}'', but got ''%{actual}''.'
invalid_json: The request could not be parsed as JSON.
invalid_relation: The relation is invalid.
invalid_json: Pyyntöä ei voitu jäsentää JSON.
invalid_relation: Suhde on virheellinen.
invalid_resource: For property '%{property}' a link like '%{expected}' is expected,
but got '%{actual}'.
invalid_user_status_transition: The current user account status does not allow
this operation.
invalid_user_status_transition: Nykyisen käyttäjän tilin tila ei salli tätä
operaatio.
missing_content_type: not specified
missing_request_body: There was no request body.
missing_request_body: Ei ollut pyyntö kehon.
missing_or_malformed_parameter: Kyselyparametri "%{parameter}" puuttuu tai on
virheellinen.
multipart_body_error: The request body did not contain the expected multipart
parts.
multiple_errors: Multiple field constraints have been violated.
multipart_body_error: Pyynnön elin ei sisällä odotettavissa moniosaisia osat.
multiple_errors: Useita kenttä rajoituksia on rikottu.
unable_to_create_attachment: The attachment could not be created
render:
context_not_parsable: The context provided is not a link to a resource.
unsupported_context: The resource given is not supported as context.
context_not_parsable: Yhteydessä edellyttäen ei ole linkki resurssi.
unsupported_context: Resurssi koska ei ole tuettu yhteydessä.
context_object_not_found: Cannot find the resource given as the context.
validation:
done_ratio: Done ratio cannot be set on parent work packages, when it is inferred
by status or when it is disabled.
due_date: Due date cannot be set on parent work packages.
estimated_hours: Estimated hours cannot be set on parent work packages.
estimated_hours: Arvioitu tuntia ei voi asettaa vanhemman toimia paketti.
invalid_user_assigned_to_work_package: The chosen user is not allowed to be
'%{property}' for this work package.
start_date: Start date cannot be set on parent work packages.

File diff suppressed because it is too large Load Diff

@ -466,6 +466,8 @@ fr:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: ne peut être lu. Êtes-vous sûr qu'il s'agisse d'une licence
Entreprise ?

@ -457,6 +457,8 @@ he:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:

@ -461,6 +461,8 @@ hr:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:

@ -16,8 +16,8 @@ hu:
Verziót használó előfizetők számára.
manage_colors: A színválasztás beállításainak módosítása
instructions:
alternative_color: Strong accent color, typically used for most the important
button on a screen.
alternative_color: Erős akcentus színe, amelyet általában a képernyő fontos
gombjához használnak.
content_link_color: A legtöbb hivatkozás színe.
primary_color: Fő szín.
primary_color_dark: Általában az alap szín sötétebb verzióját használjuk a
@ -60,16 +60,16 @@ hu:
custom_actions:
actions:
name: Műveletek
add: Add action
conditions: Conditions
plural: Custom actions
new: New custom action
edit: Edit custom action %{name}
execute: Execute %{name}
add: Művelet hozzáadása
conditions: Körülmények
plural: Egyéni műveletek
new: Új egyedi művelet
edit: Egyéni művelet szerkesztése %{name}
execute: Végrehajt %{name}
upsale:
title: Custom actions is an Enterprise Edition feature
description: Custom actions streamline everyday work by combining a set of individual
steps into one button.
title: Az egyéni műveletek egy Enterprise Edition szolgáltatás
description: Az egyéni műveletek egyszerűsítik a mindennapi munkát egyes lépések
egyesítésével egyetlen gombhoz.
custom_fields:
text_add_new_custom_field: 'Új egyéni mezők hozzáadásához először létre kell hozni
őket, még mielőtt felvenné azokat a projekthez.
@ -269,8 +269,8 @@ hu:
announcements:
show_until: Megjelenít eddig
attachment:
attachment_content: Attachment content
attachment_file_name: Attachment file name
attachment_content: Melléklettartalom
attachment_file_name: Melléklet fájl neve
downloads: Letöltés
file: Fájl
filename: Fájl
@ -342,8 +342,8 @@ hu:
repository:
url: URL
role:
assignable: Work packages can be assigned to users and groups in possession
of this role in the respective project
assignable: Munkacsomagok hozzárendelhetők a szerephez tartozó felhasználókhoz
és csoportokhoz az adott projektben
time_entry:
activity: Tevékenység
hours: Óra
@ -451,10 +451,13 @@ hu:
custom_field:
at_least_one_custom_option: Minimum egy opciónak elérhetőnek kell lennie.
custom_actions:
only_one_allowed: "(%{name}) only one value is allowed."
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
only_one_allowed: "(%{name}) csak egy érték megengedett."
empty: "(%{name}) az érték nem lehet üres."
inclusion: "(%{name}) érték nincs beállítva az engedélyezett értékek egyikére."
not_an_integer: "(%{name}) nem egész szám."
smaller_than_or_equal_to: "(%{name}) kisebb vagy egyenlő, mint %{count}."
greater_than_or_equal_to: "(%{name}) nagyobbnak vagy egyenlőnek kell lennie
%{count} értékkel."
enterprise_token:
unreadable: nem olvasható. Biztos vagy benne, hogy ez támogatási token?
parse_schema_filter_params_service:
@ -474,12 +477,12 @@ hu:
public:
error_unauthorized: "- A felhasználó nem jogosult nyilvános lekérdezéseket
létrehozni."
group_by_hierarchies_exclusive: is mutually exclusive with group by '%{group_by}'.
You cannot activate both.
group_by_hierarchies_exclusive: kölcsönösen kizárja a csoportot a '%{group_by}'
csoporttal. Nem aktiválhatja mindkettőt.
filters:
custom_fields:
inexistent: Nincs egyedi mező ehhez a szűrőhöz.
invalid: The custom field is not valid in the given context.
invalid: Az egyéni mező érvénytelen az adott környezetben.
relation:
typed_dag:
circular_dependency: A kapcsolat körkörös függőséget hoz létre.
@ -564,7 +567,7 @@ hu:
attribute_help_text: Attribútum-súgószöveg
board: Fórum
comment: Vélemény
custom_action: Custom action
custom_action: Egyéni művelet
custom_field: Választható mező
group: Csoport
category: Kategória
@ -912,7 +915,7 @@ hu:
ee:
upsale:
form_configuration:
description: 'Customize the form configuration with these additional features:'
description: 'Az űrlap-konfiguráció testreszabása ezekkel a kiegészítő funkciókkal:'
add_groups: Attribútum-csoport hozzáadása
rename_groups: Attribútum-csoportok átnevezése
project_filters:
@ -995,12 +998,12 @@ hu:
pdf_with_descriptions: PDF leírásokkal
extraction:
available:
pdftotext: Pdftotext available (optional)
unrtf: Unrtf available (optional)
catdoc: Catdoc available (optional)
xls2csv: Xls2csv available (optional)
catppt: Catppt available (optional)
tesseract: Tesseract available (optional)
pdftotext: Pdftotext elérhető (opcionális)
unrtf: Unrtf elérhető (opcionális)
catdoc: Catdoc elérhető (opcionális)
xls2csv: Xls2csv elérhető (opcionális)
catppt: Catppt elérhető (opcionális)
tesseract: Tesseract elérhető (opcionális)
general_csv_decimal_separator: "."
general_csv_encoding: UTF-8
general_csv_separator: ","
@ -1039,7 +1042,7 @@ hu:
boards: Közösségi fórum
newsletter: Biztonsági figyelmeztetések / hírlevél
links:
configuration_guide: Configuration guide
configuration_guide: Konfigurációs útmutató
instructions_after_registration: Be tud jelentkezni, amint fiókját aktiválta ide
%{signin} kattintva.
instructions_after_logout: Újra be tud jelentkezni ide %{signin} kattintva.
@ -1627,8 +1630,8 @@ hu:
macros:
create_work_package_link:
errors:
no_project_context: Calling create_work_package_link macro from outside project
context.
no_project_context: A create_work_package_link makró hívása külső projektek
környezetéből.
invalid_type: 'Nem található ''%{type}%'' nevű típus ebben a projektben: ''%{project}''.'
link_name: Új munkacsomag
link_name_type: Új %{type_name}
@ -2051,7 +2054,7 @@ hu:
setting_feeds_limit: Tartalom szintjének a korlátja
setting_file_max_size_displayed: A szöveg fájl sorainak maximum mérete megjelenítéskor
setting_host_name: Gazdagép neve
setting_invitation_expiration_days: Activation E-Mail expires after
setting_invitation_expiration_days: Aktiválási e-mail lejár
setting_work_package_done_ratio: A munkacsomag elkészült arányainak kiszámítása
setting_work_package_done_ratio_field: A munkacsomag mező használata
setting_work_package_done_ratio_status: Használja a munkacsomag állapotát
@ -2112,7 +2115,7 @@ hu:
setting_accessibility_mode_for_anonymous: Engedélyezi a kisegítő módot a névtelen
felhasználók számára
setting_user_format: A felhasználók a megjelenítési formátuma
setting_user_default_timezone: Users default time zone
setting_user_default_timezone: A felhasználók alapértelmezett időzónája
setting_users_deletable_by_admins: A felhasználói fiókok az adminok által törölhetőek
setting_users_deletable_by_self: Engedélyezi, hogy a felhasználók törölhessék a
saját fiókjukat
@ -2184,7 +2187,7 @@ hu:
iOS-en hibásan jelenhet meg.
'
text_database_allows_tsv: Database allows TSVector (optional)
text_database_allows_tsv: Az adatbázis lehetővé teszi a TSVector (opcionális)
text_default_administrator_account_changed: Az alapértelmezett rendszergazdai fiók
megváltozott
text_default_encoding: 'Alapértelmezett érték: UTF-8'
@ -2260,10 +2263,10 @@ hu:
text_select_mail_notifications: Válassza ki a tevékenységeket, amelyekről e-mail
értesítést kell küldeni.
text_status_changed_by_changeset: A %{value} commit-ban hozzáadva.
text_table_difference_description: In this table the single %{entries} are shown.
You can view the difference between any two entries by first selecting the according
checkboxes in the table. When clicking on the button below the table the differences
are shown.
text_table_difference_description: Ebben a táblázatban látható az egyszeri %{entries}.
Megtekintheti a két bejegyzés közötti különbséget azáltal, hogy először kiválasztja
a megfelelő jelölőnégyzeteket a táblázatban. A táblázat alatti gombra kattintva
a különbségek jelennek meg.
text_time_logged_by_changeset: A %{value} commit-ban hozzáadva.
text_tip_work_package_begin_day: ezen a napon kezdődik a munkacsomag
text_tip_work_package_begin_end_day: Ezen a napon kezdődik és zárodik a munkacsomag
@ -2486,8 +2489,8 @@ hu:
years: Évek
title_remove_and_delete_user: Távolítsa el a meghívott felhasználót a projektből,
és törölje őt.
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed
in a user''s settings.
tooltip_user_default_timezone: 'Az új felhasználók alapértelmezett időzónája. A
felhasználó beállításai megváltoztathatók.
'
tooltip_resend_invitation: 'Új meghívó e-mail küldése egy új tokennel. Ez abban
@ -2545,9 +2548,9 @@ hu:
reset_failed_logins: A sikertelen bejelentkezés alaphelyzetbe állitása
settings:
mail_notifications: E-mail értesítések
mail_project_explanaition: For unselected projects, you will only receive notifications
about things you watch or you're involved in (e.g. work packages you're the
author or assignee of).
mail_project_explanaition: A nem kijelölt projektekhez csak olyan dolgokat kapsz
értesítésekkel kapcsolatban, amelyeket nézel, vagy amelyekkel Ön részt vesz
(például olyan munkacsomagoknál, amelyek a szerző vagy megbízottjai).
mail_self_notified: Értesítést szeretnék kapni a változásokról, amelyeket magam
hozok létre
status_user_and_brute_force: "%{user} és %{brute_force}"
@ -2563,8 +2566,8 @@ hu:
warning: Figyelem
warning_attachments_not_saved: "%{count} fájl nem menthető."
warning_registration_token_expired: |
The activation email has expired. We sent you a new one to %{email}.
Please click the link inside of it to activate your account.
Az aktiváló e-mail lejárt. Új levelet küldtünk Önnek %{email} részére.
Kérjük, kattintson a belsejében lévő linkre a fiók aktiválásához.
menu_item: Menüpont
menu_item_setting: Látható
wiki_menu_item_for: Wikipage "%{title}" menüeleme
@ -2610,8 +2613,8 @@ hu:
lehetővé ezt a műveletet.
missing_content_type: nincs megadva
missing_request_body: Nem volt kérelem.
missing_or_malformed_parameter: The query parameter '%{parameter}' is missing
or malformed.
missing_or_malformed_parameter: A(z) '%{parameter}' lekérdezési paraméter hiányzik
vagy hibás.
multipart_body_error: A kérelem nem tartalmazott várható többrészes elemet.
multiple_errors: Több mező megszorítás is megszegésre került.
unable_to_create_attachment: Csatolmány mentése sikertelen

@ -457,6 +457,8 @@ id:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: tidak dapat dibaca. Apakah Anda yakin ini adalah token pendukung?
parse_schema_filter_params_service:

@ -63,14 +63,14 @@ it:
custom_actions:
actions:
name: Azioni
add: Add action
conditions: Conditions
plural: Custom actions
new: New custom action
edit: Edit custom action %{name}
execute: Execute %{name}
add: Aggiungi un'azione
conditions: Condizioni
plural: Azioni personalizzate
new: Nuova azione personalizzata
edit: Modifica l'azione personalizzata %{name}
execute: Esegui %{name}
upsale:
title: Custom actions is an Enterprise Edition feature
title: Le azioni personalizzate sono una funzionalità dell' Enterprise Edition
description: Custom actions streamline everyday work by combining a set of individual
steps into one button.
custom_fields:
@ -465,6 +465,8 @@ it:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: non può essere letto. Sei sicuro che si tratta di un token di
assistenza?
@ -580,7 +582,7 @@ it:
attribute_help_text: Testo guida dell'attributo
board: Forum
comment: Commento
custom_action: Custom action
custom_action: Azione personalizzata
custom_field: Campo personalizzato
group: Gruppo
category: Categoria

@ -56,7 +56,7 @@ ja:
plural: カスタムアクション
new: 新しいカスタムアクション
edit: カスタムアクション %{name} の編集
execute: Execute %{name}
execute: "%{name} を実行"
upsale:
title: カスタムアクションは、エンタープライズ版の機能です
description: カスタムアクションは、1 つのボタンに個々のステップを組み合わせて日々の作業を合理化します。
@ -232,8 +232,8 @@ ja:
announcements:
show_until: までを表示
attachment:
attachment_content: Attachment content
attachment_file_name: Attachment file name
attachment_content: 添付ファイルのコンテンツ
attachment_file_name: 添付ファイル名
downloads: ダウンロード数
file: ファイル
filename: ファイル
@ -413,6 +413,8 @@ ja:
empty: "(%{name}) 値を空にすることはできません。"
inclusion: "(%{name}) は、許可されている値ではありません。"
not_an_integer: "(%{name}) が整数ではありません。"
smaller_than_or_equal_to: "(%{name}) は %{count} 以下にする必要があります。"
greater_than_or_equal_to: "(%{name}) は %{count} 以上にする必要があります。"
enterprise_token:
unreadable: 読み取りできません。サポート トークンですか?
parse_schema_filter_params_service:
@ -919,12 +921,12 @@ ja:
pdf_with_descriptions: 説明付きPDF
extraction:
available:
pdftotext: Pdftotext available (optional)
unrtf: Unrtf available (optional)
catdoc: Catdoc available (optional)
xls2csv: Xls2csv available (optional)
catppt: Catppt available (optional)
tesseract: Tesseract available (optional)
pdftotext: Pdftotextが利用可能 (オプション)
unrtf: Unrtfが利用可能 (オプション)
catdoc: Catdocが利用可能 (オプション)
xls2csv: Xls2csvが利用可能 (オプション)
catppt: Catpptが利用可能 (オプション)
tesseract: Tesseractが利用可能 (オプション)
general_csv_decimal_separator: "."
general_csv_encoding: UTF-8
general_csv_separator: ","
@ -1897,7 +1899,7 @@ ja:
setting_feeds_limit: フィードの項目数の上限
setting_file_max_size_displayed: 画面表示するテキストファイルの最大サイズ
setting_host_name: ホスト名
setting_invitation_expiration_days: Activation E-Mail expires after
setting_invitation_expiration_days: アクティベーションのメールは次で有効期限切れ
setting_work_package_done_ratio: 進捗率の算出方法
setting_work_package_done_ratio_field: 作業項目のフィールドを使用する
setting_work_package_done_ratio_status: 作業項目のステータスを使用する
@ -1949,7 +1951,7 @@ ja:
setting_time_format: 時刻の形式
setting_accessibility_mode_for_anonymous: 匿名ユーザ向けにアクセシビリティモードを有効
setting_user_format: ユーザ情報の形式
setting_user_default_timezone: Users default time zone
setting_user_default_timezone: ユーザーのデフォルトのタイム ゾーン
setting_users_deletable_by_admins: 管理者によるユーザアカウントが削除可能
setting_users_deletable_by_self: ユーザによる自分のアカウント削除を許可
setting_welcome_text: ようこそブロックのテキスト
@ -2009,7 +2011,7 @@ ja:
x 180 ピクセルサイズの PNG イメージファイルにする必要があります。iOS での表示が悪くなるため、画像の背景を透明にしないでください。
'
text_database_allows_tsv: Database allows TSVector (optional)
text_database_allows_tsv: データベースはTSVectorが利用可能 (オプション)
text_default_administrator_account_changed: 管理者アカウントでデフォルト設定が変更済み
text_default_encoding: '既定値: UTF-8'
text_destroy: 削除
@ -2273,8 +2275,7 @@ ja:
quarters: 四半期ごと
years: " 年"
title_remove_and_delete_user: プロジェクトから招待済のユーザを削除し、彼/彼女を削除します。
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed
in a user''s settings.
tooltip_user_default_timezone: '新しいユーザーのデフォルトのタイム ゾーン。ユーザーの設定で変更できます。
'
tooltip_resend_invitation: '古いメールの有効期限が切れた、またはユーザーが元のメールを受け取っていない場合に、新しいトークンで別の招待メールを送信します。アクティブなユーザーに新しい認証方法を選択するために使用することもできます。アクティブなユーザーに使用する場合、彼らの
@ -2333,9 +2334,9 @@ ja:
note_password_login_disabled: パスワードを利用してログインは%{configuration}によって無効にされています。
warning: 注意
warning_attachments_not_saved: "%{count} 件のファイルを保存できませんでした。"
warning_registration_token_expired: |
The activation email has expired. We sent you a new one to %{email}.
Please click the link inside of it to activate your account.
warning_registration_token_expired: 'アクティベーションメールの有効期限が切れています。%{email} に新しいものを送りました。その中のリンクをクリックして、アカウントを有効にしてください。
'
menu_item: メニュー項目
menu_item_setting: 可視性
wiki_menu_item_for: Wikiページ"%{title}"のメニュー項目

@ -4,6 +4,12 @@ af:
ajax:
hide: Versteek
loading: Loading ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Close popup
close_filter_title: Close filter
close_form_title: Close form

@ -4,6 +4,12 @@ ar:
ajax:
hide: إخفاء
loading: جاري التحميل ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: إغلاق النافذة المنبثقة
close_filter_title: إغلاق عامل التصفية
close_form_title: إغلاق النموذج

@ -4,6 +4,12 @@ bg:
ajax:
hide: Скрий
loading: Зареждане ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Затвори изкачащият прозорец
close_filter_title: Close filter
close_form_title: Close form

@ -4,6 +4,12 @@ ca:
ajax:
hide: Amagar
loading: Carregant ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Tanca el popup
close_filter_title: Close filter
close_form_title: Close form

@ -4,6 +4,12 @@ cs:
ajax:
hide: Skrýt
loading: Načítání ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Zavřít okno
close_filter_title: Zavřít filtr
close_form_title: Zavřít formulář
@ -298,6 +304,7 @@ cs:
other: Prosím, zadejte {{count}} nebo více znaků
zero: Please enter more characters
few: Prosím, zadejte {{count}} nebo více znaků
many: Please enter {{count}} more characters
load_more: Načíst další výsledky...
no_matches: Nenalezena žádná shoda
searching: Vyhledávání ...
@ -306,6 +313,7 @@ cs:
other: You can only select {{limit}} items
zero: You cannot select any items
few: You can only select {{limit}} items
many: You can only select {{limit}} items
sort:
sorted_asc: 'Ascending sort applied, '
sorted_dsc: 'Descending sort applied, '
@ -622,15 +630,18 @@ cs:
one: pracovní balíček
other: pracovní balíčky
few: pracovní balíčky
many: work packages
child_work_packages:
one: jeden podřazený pracovní balíček
other: "%{count} podřazených pracovních balíčků"
few: "%{count} podřazených pracovních balíčků"
many: "%{count} work package children"
hour:
one: 1 hodina
other: "%{count} hodiny"
zero: 0 hours
few: "%{count} hodiny"
many: "%{count} hours"
zen_mode:
button_activate: Activate zen mode
button_deactivate: Deactivate zen mode

@ -4,6 +4,12 @@ da:
ajax:
hide: Gem
loading: Henter...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Luk popup
close_filter_title: Luk filter
close_form_title: Luk formular

@ -4,6 +4,12 @@ de:
ajax:
hide: Verbergen
loading: Lädt ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Dialog schließen
close_filter_title: Filter schließen
close_form_title: Formular schließen

@ -4,6 +4,12 @@ es:
ajax:
hide: Ocultar
loading: Cargando ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Cerrar ventana emergente
close_filter_title: Cerrar filtro
close_form_title: Cerrar formulario

@ -4,6 +4,12 @@ et:
ajax:
hide: Peida
loading: Laadimine ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Sulge hüpikaken
close_filter_title: Close filter
close_form_title: Close form

@ -4,6 +4,12 @@ fa:
ajax:
hide: Hide
loading: در حال بارگذاری ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: بستن پنجره بازشو
close_filter_title: Close filter
close_form_title: Close form

@ -4,6 +4,12 @@ fi:
ajax:
hide: Piilota
loading: Ladataan...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Sulje ponnahdus-ikkuna
close_filter_title: Sulje suodatin
close_form_title: Sulje lomake
@ -90,7 +96,7 @@ fi:
label_between: between
label_board_locked: Lukittu
label_board_sticky: Pysyvä
label_create_work_package: Create new work package
label_create_work_package: Luo uusi toimia paketti
label_created_by: Luonut
label_date: Päivä
label_date_with_format: 'Kirjoita %{date_attribute} seuraavassa muodossa: %{format}'
@ -318,8 +324,8 @@ fi:
gantt_chart: Gantt chart
labels:
bar: Bar labels
left: Left
right: Right
left: Vasen
right: Oikea
farRight: Far right
showNone: "-- No label --"
description: 'Select the attributes you want to be shown in the respective
@ -337,10 +343,9 @@ fi:
errors:
not_implemented: Aikajanaa ei voitu muodostaa koska se käyttää toimintoa jota
ei ole vielä otettu käyttöön.
report_comparison: The timeline could not render the configured comparisons.
Please check the appropriate section in the configuration, resetting it
can help solve this problem.
report_epicfail: The timeline could not be loaded due to an unexpected error.
report_comparison: Aikajanan voi tehdä määritetty vertailuja. Tarkista oikea
kohta asetukset, nollaa se voi auttaa ratkaisemaan tämän ongelman.
report_epicfail: Aikajana ei voi ladata koska odottamaton virhe.
report_timeout: The timeline could not be loaded in a reasonable amount of
time.
filter:
@ -356,9 +361,9 @@ fi:
noneSelection: "(none)"
name: Nimi
new_work_package: Uusi työpaketti
outline: Reset Outline
outline: Nollaa hahmotelma
outlines:
aggregation: Show aggregations only
aggregation: Näyttää koosteita vain
level1: Laajenna taso 1
level2: Laajenna taso 2
level3: Laajenna taso 3
@ -380,8 +385,8 @@ fi:
in: Lähennä
out: Loitonna
auto: Auto zoom
days: Days
weeks: Weeks
days: Päivää
weeks: Viikkoa
months: Months
quarters: Quarters
years: Years
@ -576,7 +581,7 @@ fi:
form_submit:
title: Vahvista jatkaaksesi
text: Oletko varma, että haluat suorittaa tämän toiminnon?
upsale_relation_columns: Need to see relations in the work package list?
upsale_relation_columns: Täytyy nähdä suhteet toimia paketti lista?
upsale_relation_columns_link: Check out the Enterprise Edition.
destroy_work_package:
title: Confirm deletion of %{label}

@ -2,59 +2,64 @@
fil:
js:
ajax:
hide: Hide
loading: Loading ...
close_popup_title: Close popup
hide: Itago
loading: Naglo-load ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Isara ang popup
close_filter_title: Isara ang filter
close_form_title: Isara ang form
clipboard:
browser_error: Your browser doesn't support copying to clipboard. Please copy
the selected text manually.
copied_successful: Sucessfully copied to clipboard!
button_add_watcher: Add watcher
browser_error: Ang iyong browser ay hindi suporta ang pagkokopya sa clipboard.
Mangayaring kopyahin ng manu-mano ang napiling teksto.
copied_successful: Matagumpay na kinopya sa clipboard!
button_add_watcher: Magdagdag ng manunuod
button_back_to_list_view: Bumalik sa listahan ng view
button_cancel: Cancel
button_close: Close
button_check_all: Check all
button_cancel: Kanselahin
button_close: Isara
button_check_all: Suriin lahat
button_configure-form: Configure form
button_confirm: Kumpirmahin
button_continue: Magpatuloy
button_copy: Copy
button_copy: Kopyahin
button_custom-fields: Mga pasadyang patlang
button_delete: Delete
button_delete_watcher: Delete watcher
button_details_view: Details view
button_duplicate: Duplicate
button_edit: Edit
button_filter: Filter
button_list_view: List view
button_show_view: Fullscreen view
button_delete: Burahin
button_delete_watcher: Burahin ang manunuod
button_details_view: Tingnan ang mga detalye
button_duplicate: Kapareha
button_edit: I-edit
button_filter: Salain
button_list_view: Tingnan ang listahan
button_show_view: Tanawin sa buong screen
button_log_time: Ang oras ng tala
button_more: More
button_move: Move
button_open_details: Open details view
button_more: Iba pa
button_move: Ilipat
button_open_details: Buksan ang detalyeng view
button_close_details: Isara ang mga detalye na view
button_open_fullscreen: Buksan ang view ng buong screen
button_quote: Quote
button_save: Save
button_settings: Settings
button_uncheck_all: Uncheck all
button_save: I-save
button_settings: Mga setting
button_uncheck_all: I-uncheck lahat
button_update: I-update
button_export-pdf: I-download ang PDF
button_export-atom: I-download ang atom
description_available_columns: Available Columns
description_current_position: 'You are here:'
description_available_columns: Ang mga hanay na magagamit
description_current_position: 'Nandito ka na:'
description_select_work_package: 'Piliin ang work package #%{id}'
description_selected_columns: Selected Columns
description_selected_columns: Napiling mga hanay
description_subwork_package: 'Bata ng work package #%{id}'
error:
internal: Isang internal error ang naganap.
filter:
description:
text_open_filter: Open this filter with 'ALT' and arrow keys.
text_close_filter: To select an entry leave the focus for example by pressing
enter. To leave without filter select the first (empty) entry.
noneElement: "(none)"
text_open_filter: Buksan ang filter na ito sa 'ALT' at ang mga arrow key.
text_close_filter: Upang pumili ng isang iniwang entry ng.
noneElement: "(wala)"
time_zone_converted:
two_values: "%{from} - %{to} sa iyong lokal na oras."
only_start: Mula sa %{from} sa iyong lokal na oras.
@ -62,150 +67,151 @@ fil:
value_spacer: "-"
sorting:
criteria:
one: First sorting criteria
two: Second sorting criteria
three: Third sorting criteria
upsale_for_more: For more advanced filters, check out the
one: Ang unang pamantayang pagkasunod-sunod
two: Ang pangalawang pamantayang pagkasunod-sunod
three: Ang pangatlong pamantayang pagkasunod-sunod
upsale_for_more: Para sa mga karagdagang advanced fikter, suriin ang
upsale_link: Enterprise Edition.
general_text_no: 'no'
general_text_yes: 'yes'
general_text_No: 'No'
general_text_Yes: 'Yes'
label_activate: Activate
label_activity_no: Activity entry number %{activityNo}
label_activity_with_comment_no: Activity entry number %{activityNo}. Has a user
comment.
general_text_no: hindi
general_text_yes: oo
general_text_No: Hindi
general_text_Yes: Oo
label_activate: Aktibo
label_activity_no: Bilang ng aktibidad entry %{activityNo}
label_activity_with_comment_no: Bilang ng aktibidad entry %{activityNo}. Mayroong
komento ng gumagamit.
label_add_columns: Magdagdag ng hanay
label_add_comment: Add comment
label_add_comment_title: Comment and type @ to notify other people
label_add_selected_columns: Add selected columns
label_added_by: added by
label_added_time_by: Added by %{author} %{age}
label_ago: days ago
label_all: all
label_all_work_packages: all work packages
label_and: and
label_ascending: Ascending
label_author: 'Author: %{user}'
label_add_comment: Magdagdag ng komento
label_add_comment_title: Mag-komento at mag-type ng @ upang ipaalam sa ibang tao
label_add_selected_columns: Magdagdag ng napiling hanay
label_added_by: idinagdag ni
label_added_time_by: Idinagdag ni %{author} %{age}
label_ago: ang mga araw nakalipas
label_all: lahat
label_all_work_packages: lahat ng mga work package
label_and: at
label_ascending: Pataas
label_author: 'May-Akda: %{user}'
label_between: sa pagitan ng
label_board_locked: Locked
label_board_sticky: Sticky
label_create_work_package: Create new work package
label_board_locked: Naka-lock
label_board_sticky: Malagkit
label_create_work_package: Lumikha ng bagong work package
label_created_by: Nilikha ni
label_date: Petsa
label_date_with_format: 'Ipasok anv %{date_attribute} gamit ang sumusunod na format:
%{format}'
label_deactivate: Deactivate
label_descending: Descending
label_deactivate: I-deactivate
label_descending: Pababa
label_description: Deskripsyon
label_cancel_comment: Ikansela ang komento
label_closed_work_packages: closed
label_collapse: Collapse
label_collapsed: collapsed
label_collapse_all: Collapse all
label_closed_work_packages: isinara
label_collapse: Bumagsak
label_collapsed: bumagsak
label_collapse_all: Bumagsak lahat
label_comment: Komento
label_committed_at: "%{committed_revision_link} at %{date}"
label_committed_link: committed revision %{revision_identifier}
label_contains: contains
label_created_on: created on
label_edit_comment: Edit this comment
label_edit_status: Edit the status of the work package
label_equals: is
label_expand: Expand
label_expanded: expanded
label_expand_all: Expand all
label_export: Export
label_filename: Payl
label_committed_at: "%{committed_revision_link} sa %{date}"
label_committed_link: nakatuon rebisyon %{revision_identifier}
label_contains: naglalaman
label_created_on: nilikha sa
label_edit_comment: I-edit ang komentong ito
label_edit_status: I-edit ang estado ng work package
label_equals: ay
label_expand: Palawakin
label_expanded: pinalawak
label_expand_all: Malakihin lahat
label_export: I-export
label_filename: File
label_filesize: Sukat
label_greater_or_equal: ">="
label_group_by: Group by
label_greater_or_equal: ">=="
label_group_by: Pangkat sa
label_hide_attributes: Magpakita ng mas kaunti
label_hide_column: Hide column
label_in: in
label_in_less_than: in less than
label_in_more_than: in more than
label_latest_activity: Latest Activity
label_last_updated_on: Last updated on
label_hide_column: Itago ang mga hanay
label_in: sa
label_in_less_than: mas mababa kaysa
label_in_more_than: mahigit sa
label_latest_activity: Pinakamabagong aktibidad
label_last_updated_on: Huking naka-update sa
label_less_or_equal: "<="
label_less_than_ago: less than days ago
label_loading: Loading...
label_me: me
label_menu_collapse: collapse
label_menu_expand: expand
label_more_than_ago: more than days ago
label_next: Next
label_no_data: No data to display
label_no_due_date: no end date
label_no_start_date: no start date
label_none: none
label_not_contains: doesn't contain
label_not_equals: is not
label_on: 'on'
label_open_menu: Open menu
label_open_work_packages: open
label_less_than_ago: mas mababa kaysa sa mga araw na lumipas
label_loading: Naglo-load...
label_me: ako
label_menu_collapse: bumagsak
label_menu_expand: palawakin
label_more_than_ago: mahigit sa araw nakalipas
label_next: Susunod
label_no_data: Walang data upang ipakita
label_no_due_date: walang katapusan petsa
label_no_start_date: walang simulang petsa
label_none: wala
label_not_contains: hindi naglalaman
label_not_equals: ay hindi
label_on: sa
label_open_menu: Buksan ang pagpipilian
label_open_work_packages: buksan
label_password: Password
label_previous: Previous
label_per_page: 'Per page:'
label_previous: Nakaraan
label_per_page: 'Bawat pahina:'
label_please_wait: Pakiusap maghantay
label_visibility_settings: Visibility settings
label_quote_comment: Quote this comment
label_reset: Reset
label_remove_columns: Remove selected columns
label_save_as: Save as
label_select_watcher: Select a watcher...
label_selected_filter_list: Selected filters
label_show_attributes: Show all attributes
label_show_in_menu: Show page in menu
label_sort_by: Sort by
label_sorted_by: sorted by
label_sort_higher: Move up
label_sort_lower: Move down
label_sorting: Sorting
label_sum_for: Sum for
label_subject: Subject
label_this_week: this week
label_today: today
label_activity_show_only_comments: Show activities with comments only
label_activity_show_all: Show all activities
label_total_progress: "%{percent}% Total progress"
label_visible_for_others: Page visible for others
label_updated_on: updated on
label_warning: Warning
label_visibility_settings: Ang mga setting ng katanyagan
label_quote_comment: I-quote ang komentong ito
label_reset: I-reset
label_remove_columns: Tanggalin ang mga napiling hanay
label_save_as: I-save bilang
label_select_watcher: Pumili ng manunuod...
label_selected_filter_list: Napiling mga filter
label_show_attributes: Ipakita ang lahat ng mga katangian
label_show_in_menu: Ipakita ang pahina ng pagpipilian
label_sort_by: Pag-uuri sa pamamagitan ng
label_sorted_by: pinagsunod-sunod ayon sa
label_sort_higher: Lumipat pataas
label_sort_lower: Ilipat sa ibaba
label_sorting: Pag-aayos
label_sum_for: Halaga para sa
label_subject: Paksa
label_this_week: ngayong semana
label_today: ngayon
label_activity_show_only_comments: Magpakita ng mga aktibidad sa komento lamang
label_activity_show_all: Ipakita lahat ang mga aktibidad
label_total_progress: "%{percent}% Kabuang progreso"
label_visible_for_others: Pahina na makikita sa iba
label_updated_on: i-update sa
label_warning: Babala
label_work_package: Work package
label_work_package_plural: Work packages
label_work_package_plural: Ang mga work package
label_watch: Tumingin
label_watch_work_package: Watch work package
label_watcher_added_successfully: Watcher successfully added!
label_watcher_deleted_successfully: Watcher successfully deleted!
label_work_package_details_you_are_here: You're on the %{tab} tab for %{type}
%{subject}.
label_unwatch: Unwatch
label_unwatch_work_package: Unwatch work package
label_uploaded_by: Uploaded by
label_global_queries: Shared queries
label_custom_queries: Private queries
label_watch_work_package: Tingnan ang work package
label_watcher_added_successfully: Ang mga manunuod ay matagunoay naidagdag!
label_watcher_deleted_successfully: Ang manunuod ay matagumpay naibura!
label_work_package_details_you_are_here: Nasa ka tab ka ng %{tab} tab para sa
%{type}%{subject}.
label_unwatch: I-unwatch
label_unwatch_work_package: I-unwatch ang work package
label_uploaded_by: Naka-upload sa pamamagitan ng
label_global_queries: Ibinahaging mga query
label_custom_queries: Pribadong mga query
label_columns: Mga hanay
label_attachments: Files
label_drop_files: Drop files here
label_drop_files_hint: or click to add files
label_attachments: Mga file
label_drop_files: Ihulog ang mga file dito
label_drop_files_hint: o pindutin upang magdagdag ng mga file
label_add_attachments: Magdagdag ng mga nakalakip
label_formattable_attachment_hint: Attach and link files by dropping on this field,
or pasting from the clipboard.
label_remove_file: Delete %{fileName}
label_remove_watcher: Remove watcher %{name}
label_remove_all_files: Delete all files
label_add_description: Add a description for %{file}
label_upload_notification: 'Uploading files for Work package #%{id}: %{subject}'
label_files_to_upload: 'These files will be uploaded:'
label_rejected_files: 'These files cannot be uploaded:'
label_rejected_files_reason: These files cannot be uploaded as their size is greater
than %{maximumFilesize}
label_wait: Please wait for configuration...
label_upload_counter: "%{done} of %{count} files finished"
label_validation_error: 'The work package could not be saved due to the following
errors:'
label_formattable_attachment_hint: Idijit at i-link ang mga file sa pamamagitan
ng paghulog sa patlang na ito, o idikit mula sa clipboard.
label_remove_file: Burahin ang %{fileName}
label_remove_watcher: Alisin ang watcher %{name}
label_remove_all_files: Burahin ang lahat ang mga file
label_add_description: Magdagdag ng deskripsyon para sa %{file}
label_upload_notification: 'Pag-upload ng mga file para sa Work package #%{id}:
%{subject}'
label_files_to_upload: 'Itong mga file ay naka-upload:'
label_rejected_files: 'Itong mga fike ay hindi ma-upload:'
label_rejected_files_reason: Itong mga file ay hindi ma-upload kung ang laki ay
mas malaki kayda %{maximumFilesize}
label_wait: Mangyaring maghintay para sa kompigurasyon...
label_upload_counter: "%{done} ng %{count} mga file ay natapos"
label_validation_error: 'Ang work package ay hindo maaring o-save dahil sa mga
sumusunod na mali:'
help_texts:
show_modal: Show attribute help text entry
show_modal: Magpakita ng katangian tekstong tulong entry
password_confirmation:
field_description: Kailangan mong ipasok ang iyong akwant password upang kumpirmahin
ang pagbabago niito.
@ -217,19 +223,20 @@ fil:
previous: Bunalik sa nakaraang pahina
placeholders:
default: "-"
subject: Enter subject here
subject: Ipasok ang paksa dito
selection: Pakiusap pumili
relation_description: Pindutin upang magdagdag ng deskripsyon sa kaugnay na
ito
project:
required_outside_context: You are not within a project context. Please choose
the project context first in order to select type and status
context: Project context
work_package_belongs_to: This work package belongs to project %{projectname}.
click_to_switch_context: Open this work package in that project.
required_outside_context: Wala ka sa loob ng kontesktong proyekto. Mangyaring
pumili ng kontekstong proyekto sa unang pagkasunod-sunod upang piliin ang
uri at estado
context: Kontekstong proyekto
work_package_belongs_to: Itong work packge ay nabibilang sa proyekto %{projectname}.
click_to_switch_context: Buksan ang work package sa proyekto na iyan.
autocompleter:
label: Project autocompletion
text_are_you_sure: Are you sure?
label: Proyektong autocompletion
text_are_you_sure: Sigurado ka ba?
types:
attribute_groups:
error_duplicate_group_name: Ang pangalan ng %{group} ay ginamit higit pa sa
@ -248,22 +255,22 @@ fil:
more_information: Karagdagang impornasyon
nevermind: Hindi bale
watchers:
label_loading: loading watchers...
label_error_loading: An error occurred while loading the watchers
label_search_watchers: Search watchers
label_add: Add watchers
label_discard: Discard selection
label_loading: naglo-load ang mga manunuod...
label_error_loading: Isang mali ang naganap habang naglo-load ng mga manunuod
label_search_watchers: Hanapin ang mga manunuod
label_add: Magdagdag ng manunuod
label_discard: Itapon ang napili
typeahead_placeholder: Maghanap ng posibleng watchers
relation_labels:
parent: Peyrent
children: Children
relates: Related To
duplicates: Duplicates
duplicated: Duplicated by
blocks: Blocks
blocked: Blocked by
precedes: Precedes
follows: Follows
parent: Magulang
children: Ang mga bata
relates: Nauugnay sa
duplicates: Mga kopya
duplicated: Nakakopya sa
blocks: Mga block
blocked: Naka-block sa
precedes: Ang mga nauna
follows: Sumusunod
includes: Kasama
partof: Bahagi ng
requires: Kinakailangan
@ -272,7 +279,7 @@ fil:
relations_hierarchy:
hierarchy_headline: hierarchy
relation_buttons:
change_parent: Change parent
change_parent: Palitan ng magulang
remove_parent: Alisin ang magulang
group_by_wp_type: Grupo sa pamamagitan ng uri ng work package
group_by_relation_type: Grupo sa pamamagitan ng uri ng pakikipag-ugnayan
@ -286,26 +293,26 @@ fil:
update_relation: Pindutin upang baguhin ang uri ng kaugnayan
add_follower: Magdagdag ng follower
add_predecessor: Magdagdag ng predecessor
remove: Remove relation
remove: Alisin ang relasyon
save: I-save ang pakipag-ugnayan
abort: Huwag ituloy
relations_autocomplete:
placeholder: Ipasok ang Id ng kauganay sa work package
repositories:
select_tag: Select tag
select_branch: Select branch
field_value_enter_prompt: Enter a value for '%{field}'
select_tag: Pumiling ng tag
select_branch: Pumili ng sangay
field_value_enter_prompt: Ipasok ang halaga para sa %{field}
select2:
input_too_short:
one: Please enter one more character
other: Please enter {{count}} more characters
one: Mangyaring ipasok ang higit isang karakter
other: Mangyaring ipasok ang {{count}} maraming karakter
zero: Please enter more characters
load_more: Loading more results ...
no_matches: No matches found
searching: Searching ...
load_more: Naglo-load ng ibang resulta ...
no_matches: Walang magkatugmang natagpuan
searching: Naghahanap ...
selection_too_big:
one: You can only select one item
other: You can only select {{limit}} items
one: Maari ka lamang oumili ng isang aytem
other: Maari ka lamang pumili ng mga {{limit}} aytem
zero: You cannot select any items
sort:
sorted_asc: 'Pataas na paayos ang inilapat '
@ -315,151 +322,155 @@ fil:
activate_asc: aktibo upang ilapat sa isang pataas na pagsaayos
activate_dsc: aktibo upang ilapat sa pababa na pagsaayos
activate_no: aktibk upang alisin ang pagsaayos
text_work_packages_destroy_confirmation: Are you sure you want to delete the selected
work package(s)?
text_query_destroy_confirmation: Are you sure you want to delete the selected
text_work_packages_destroy_confirmation: Sigurado ka ba na gusto mong burahin
ang napiling work package?
text_query_destroy_confirmation: Sigurado ka ba na gusto mong burahin ang napiling
query?
text_attachment_destroy_confirmation: Are you sure you want to delete the attachment?
text_attachment_destroy_confirmation: Sigurado ka ba na gusto mong burahin ang
nakalakip?
timelines:
gantt_chart: Gantt chart
gantt_chart: Gantt tsart
labels:
bar: Bar labels
left: Left
right: Right
farRight: Far right
showNone: "-- No label --"
description: 'Select the attributes you want to be shown in the respective
positions of the Gantt chart at all times. Note that when hovering an element,
its date labels will be shown instead of these attributes.
bar: Mga label ng bar
left: Kaliwa
right: Kanan
farRight: Dulong kanan
showNone: "-- Walang label --"
description: 'Piliin ang mga katangian na gusto mong ipakita sa kani-kanilang
posisyon ng Gant tsart sa lahat ng mga oras. Tandaan kung nagho-hover ang
isang elemento, ito ang mga petsa na label ipinapakit sa halip ang mga katangian
ito.
'
button_activate: I-aktibo ang timeline mode
button_deactivate: I-deactivate ang timeline mode
cancel: Cancel
change: Change in planning
cancel: Kanselahin
change: Baguhin ang pagpaplano
due_date: Takdang petsa
empty: "(empty)"
error: An error has occurred.
empty: "(walang laman)"
error: Isang mali ang naganap.
errors:
not_implemented: The timeline could not be rendered because it uses a feature
that is not yet implemented.
report_comparison: The timeline could not render the configured comparisons.
Please check the appropriate section in the configuration, resetting it
can help solve this problem.
report_epicfail: The timeline could not be loaded due to an unexpected error.
report_timeout: The timeline could not be loaded in a reasonable amount of
time.
not_implemented: Ang timeline ay hindi dapat naka-render dahil ito ay gumagamit
ng tampok na hindi pa naipapatupad.
report_comparison: Ang timeline ay dapathindi naka-render ang nakaayos na
paghahambing na ito. Mangyaring suriin ang nararapat na seksyon sa kumpigurasyo,
pag-resetting ay maaring makatulog sa pag resolba ng problema.
report_epicfail: Ang timeline ay hindi maipupuno sa kadahilanang may di inaasahang
pagkakamali.
report_timeout: Ang timeline ay hindi maipupuno dahil sa isang makatwirang
halaga ng oras.
filter:
column:
assigned_to: Naitalaga
type: Uri
due_date: End date
due_date: Ang pagtatapos ng petsa
name: Pangalan
status: Status
status: Estado
responsible: Responsable
start_date: Petsa ng pagsimula
grouping_other: Other
noneSelection: "(none)"
grouping_other: Iba pa
noneSelection: "(wala)"
name: Pangalan
new_work_package: New work package
outline: Reset Outline
new_work_package: Bagong work package
outline: I-reset ang balangkas
outlines:
aggregation: Show aggregations only
level1: Expand level 1
level2: Expand level 2
level3: Expand level 3
level4: Expand level 4
level5: Expand level 5
all: Show all
aggregation: Ipakita lamang ang mga pinagsama-sama
level1: Palawakin ang ika-1 na antas
level2: Palawakin ang ika-2 antas
level3: Palawakin ang ika-3 na antas
level4: Palawakin ang ika-4 na antas
level5: Palawakin ang ika-5 na antas
all: Ipakita ang lahat
project_status: Estado ng proyekto
project_type: Uri ng proyekto
really_close_dialog: Do you really want to close the dialog and lose the entered
data?
really_close_dialog: Sigurado ka na ba na gusto mong isara ang dialogo at mawala
lahat ang ipanasok na data?
responsible: Responsable
save: Save
save: I-save
start_date: Petsa ng pagsimula
tooManyProjects: More than %{count} Projects. Please use a better filter!
tooManyProjects: Higit sa %{count} mga Proyekto. Mangyaring gumamit ng mas magandang
filter!
selection_mode:
notification: Pumindot sa kahit anong naka-highlight na work package upang
lumikha ng kaugnayan. Pindutin ang escape upang kanselahin.
zoom:
in: Zoom in
in: Palakihin
out: Zoom out
auto: Auto zoom
days: Days
weeks: Weeks
months: Months
quarters: Quarters
years: Years
slider: Zoom slider
days: Mga araw
weeks: Mga linggo
months: Mga buwan
quarters: Mga quarter
years: Mga taon
slider: Zoom Slider
tl_toolbar:
zooms: Zoom level
outlines: Hierarchy level
unsupported_browser:
title: Your browser version is not supported
title: Ang iyong bersyong browser ay hindi suportado
message: Ang bersyon ng browser na ginagamit mo ay hindi na suportado ng OpenProject.
update_message: Magyaring i-update ang iyong broswer.
update_ie_user: Mangyaring lumipat sa Mozilla Firefox o Google Chromw, o i-upgrade
sa Microsoft Edge.
learn_more: Learn more
learn_more: Matuto ng higit pa
close_warning: Huwag pansinin ang babala ito.
wiki_formatting:
strong: Strong
strong: Malakas
italic: Italic
underline: Underline
deleted: Deleted
underline: Salungguhitan
deleted: Binura
code: Inline Code
heading1: Heading 1
heading2: Heading 2
heading3: Heading 3
unordered_list: Unordered List
ordered_list: Ordered List
heading1: Pamuhatan 1
heading2: Pamuhatan 2
heading3: Pamuhatan 3
unordered_list: Listahan ng hindi pagkasunod-sunod
ordered_list: Listahan ng pagkasunod-sunod
quote: Quote
unquote: Unquote
preformatted_text: Preformatted Text
wiki_link: Link to a Wiki page
image: Image
preformatted_text: Tekstong naka-preformat
wiki_link: Ang link sa pahinang wiki
image: Larawan
work_packages:
bulk_actions:
move: Bulk move
edit: Bulk edit
copy: Bulk copy
delete: Bulk delete
button_clear: Clear
comment_added: The comment was successfully added.
comment_send_failed: An error has occurred. Could not submit the comment.
comment_updated: The comment was successfully updated.
move: Ilipat ang bulk
edit: I-edit ang bulk
copy: Kopyahin ang bulk
delete: Burahin ang bulk
button_clear: Linisin
comment_added: Ang komento ay matagumpay naidagdag.
comment_send_failed: Isang mali ang naganal. Hindi maaring magpasa ng komento.
comment_updated: Ang komento ay matagumpay na i-update.
confirm_edit_cancel: Sigurado ka ba na gusto mong kanselahin ang pag-edit ng
work package?
description_filter: Filter
description_enter_text: Enter text
description_options_hide: Hide options
description_options_show: Show options
description_filter: Salain
description_enter_text: Ipasok ang teksto
description_options_hide: Itago ang mga opsyon
description_options_show: Ipakita ang mga opsyon
error:
edit_prohibited: Ang pag-iedit ng %{attribute} ay naka-block para sa work
package na ito. Alinman sa katangian ito ay nagmula sa relasyon (hal. mga
bata) o kung hindi man hindi ito naka-configure.
format:
date: "%{attribute} ay hindi wasto ang petsa YYYY-MM-DDi inaasahan."
general: An error has occurred.
edit_attribute: "%{attribute} - Edit"
general: Isang mali ang naganap.
edit_attribute: "%{attribute} - I-edit"
key_value: "%{key}: %{value}"
label_enable_multi_select: Enable multiselect
label_disable_multi_select: Disable multiselect
label_filter_add: Add filter
label_options: Options
label_column_multiselect: 'Combined dropdown field: Select with arrow keys,
confirm selection with enter, delete with backspace'
label_enable_multi_select: Paganahin ang mga pagpipilian
label_disable_multi_select: Hindi pinagana ang maraming pagpipilian
label_filter_add: Magdagdag ng filter
label_options: Mga opsyon
label_column_multiselect: 'Pagsamahin ang dropdown na patlang: Piliin na may
mga arrow key, kumpirmahin ang pinili gamit ang enter, burahin gamit ang backspace'
label_switch_to_single_select: Lumipat sa napiling solo
label_switch_to_multi_select: Lumipat sa maramihang pagpili
message_error_during_bulk_delete: An error occurred while trying to delete work
packages.
message_successful_bulk_delete: Successfully deleted work packages.
message_error_during_bulk_delete: Isang mali ang naganap habang sinusubukan
burahin ang mga work package.
message_successful_bulk_delete: Matagumpay naibura ang mga work package.
message_successful_show_in_fullscreen: Pindutin dito upang buksan ang work package
na ito sa fullscreen view.
message_view_spent_time: Magpakita ng oras na nagamit para sa work package na
ito
no_value: No value
no_value: Walang halaga
inline_create:
title: Pindutin dito upang magdagdag ng bagong work package sa listahan na
ito
@ -467,7 +478,7 @@ fil:
header: Bago %{type}
header_no_type: Bagong work package ( Uri ay hindi pa naitakda)
header_with_parent: 'Bago %{type} ( Anak ng %{parent_type} #%{id})'
button: Create
button: Lumikha
hierarchy:
show: Magpakita ng hierarchy mode
hide: Itahi ang hierarcy mode
@ -485,10 +496,10 @@ fil:
description: Alinman sa walang ang nilikha o mga work package ay naka-filter
out.
property_groups:
details: Details
people: People
estimatesAndTime: Estimates & Time
other: Other
details: Mga detalye
people: Mga tao
estimatesAndTime: Ang mga pagtatantya at oras
other: Iba pa
properties:
assignee: Naitalaga
author: May-akda
@ -499,16 +510,16 @@ fil:
estimatedTime: Tinantyang oras
spentTime: Nauubos na oras
category: Kategorya
percentageDone: Percentage done
percentageDone: Porsyentong natapos
priority: Ang prayoridad
projectName: Proyekto
responsible: Responsable
startDate: Petsa ng pagsimula
status: Status
subject: Subject
title: Title
status: Estado
subject: Paksa
title: Pamagat
type: Uri
updatedAt: Updated on
updatedAt: Naka-update sa
versionName: Bersyon
version: Bersyon
jump_marks:
@ -520,26 +531,26 @@ fil:
nilalaman
placeholders:
default: "-"
description: Click to enter description...
description: Pindutin uoang ipasok ang paglalarawan...
query:
column_names: Mga hanay
group_by: Mga resulta sa grupo sa pamamagitan ng
group: Group by
group: Pangkat sa
group_by_disabled_by_hierarchy: Grupo ng ay hindi pinagana dahil sa pagiging
aktibo ng hierarchy mode.
hierarchy_disabled_by_group_by: Ang Hierarchy mode ay hindi pinagana dahil
sa mga resulta na pag-grupo sa pamamagitan ng %{column}.
hierarchy_mode: Hierarchy mode
sort_ascending: Sort ascending
sort_descending: Sort descending
move_column_left: Move column left
move_column_right: Move column right
hide_column: Hide column
insert_columns: Insert columns ...
sort_ascending: Ayusin pataas
sort_descending: Ayusin pababa
move_column_left: Ilipat ang hanay sa kaliwa
move_column_right: Ilipat ang hanay sa kanan
hide_column: Itago ang mga hanay
insert_columns: Isingit ang mga hanay...
filters: Mga nasala
display_sums: Ipakita ang mga sum
errors:
unretrievable_query: Unable to retrieve query from URL
unretrievable_query: Hindi mabalik ang query mula sa URL
not_found: Walang ganitong query
text_no_results: Walang mga nagkakatugmang query ay natagpuan.
table:
@ -547,94 +558,95 @@ fil:
work package.
text_inline_edit: Karamihan sa mga cell ng talaan na ito ay nga pindutan na
aktibo sa pag-andar ng inline-editing sa katangian na iyon.
text_sort_hint: With the links in the table headers you can sort, group, reorder,
remove and add table columns.
text_sort_hint: Kasama ang mga link sa talaan ng mga header na maari mong
ayusin, i-grupo, alisin at idagdag sa talaan ng mga hanay.
text_select_hint: Pumili ng mga kahon na maaring mabukasan sa 'ALT' at mga
arrow key.
tabs:
overview: Overview
overview: Buod
activity: Aktibidad
relations: Relations
watchers: Watchers
relations: Mga relasyon
watchers: Manonood
attachments: Mga kalakip
time_relative:
days: days
weeks: weeks
months: months
days: mga araw
weeks: mga linggo
months: mga buwan
toolbar:
settings:
columns: Columns ...
sort_by: Sort by ...
group_by: Group by ...
display_sums: Display sums
columns: Mga hanay ...
sort_by: Ayusin sa ...
group_by: Grupohin sa ...
display_sums: Ipakita ang kabuuan
display_hierarchy: Ipakita ang hierarchy
hide_hierarchy: Itago anh hierarchy
hide_sums: Hide sums
save: Save
save_as: Save as ...
export: Export ...
publish: Publish ...
page_settings: Rename query ...
delete: Delete
filter: Filter
hide_sums: Itago ang kabuuan
save: I-save
save_as: I-save bilang ...
export: I-export ...
publish: Ipalabas...
page_settings: Palitan ng pangalan ang query...
delete: Burahin
filter: Salain
unselected_title: Work package
search_query_label: Search saved filter queries
search_query_title: Click to search saved filter queries
search_query_label: Hanapin ang mga naka-save na query
search_query_title: Pindutin upang hanapin ang mga naka-save na filter query
modals:
label_settings: Rename query
label_settings: Palitan ng pangalan ang query
label_name: Pangalan
label_delete_page: Delete current page
button_apply: Apply
button_save: Save
button_submit: Submit
button_cancel: Cancel
label_delete_page: Burahin ang kasukuyang pahina
button_apply: Ilagay
button_save: I-save
button_submit: Sumite
button_cancel: Kanselahin
form_submit:
title: Kumpirmahin upang magpatuloy
text: Sigurado ka bang na gusto mong magtanghal ng aksyon ito?
upsale_relation_columns: Need to see relations in the work package list?
upsale_relation_columns_link: Check out the Enterprise Edition.
upsale_relation_columns: Kailangan tingnan ang mga relasyon sa listahan ng work
package?
upsale_relation_columns_link: Suriin ang Enterprise Edition.
destroy_work_package:
title: Confirm deletion of %{label}
text: Are you sure you want to delete the following %{label} ?
has_children: 'The work package has %{childUnits}:'
deletes_children: All child work packages will also be deleted.
notice_successful_create: Successful creation.
notice_successful_delete: Successful deletion.
notice_successful_update: Successful update.
notice_bad_request: Bad Request.
title: Kumpirmahin ang pagbubura ng %{label}
text: Sigurado ka ba na gusto mong burahin ang sumusunod na %{label}?
has_children: 'Ang work package ay mayroong %{childUnits}:'
deletes_children: Lahat ng mga batang work package ay maari rin burahin.
notice_successful_create: Matagumpay pagkalikha.
notice_successful_delete: Matagumpay ang pagtanggal.
notice_successful_update: Matagumpay nai-update.
notice_bad_request: Masamang kahilingan.
relations:
empty: No relation exists
remove: Remove relation
empty: Walang relasyon ang umiiral
remove: Alisin ang relasyon
inplace:
button_edit: "%{attribute}: Edit"
button_save: "%{attribute}: Save"
button_cancel: "%{attribute}: Cancel"
button_save_all: Save
button_cancel_all: Cancel
link_formatting_help: Text formatting help
btn_preview_enable: Preview
btn_preview_disable: Disable preview
null_value_label: No value
button_edit: "%{attribute}: I-edit"
button_save: "%{attribute}: I-save"
button_cancel: "%{attribute}: Kanselahin"
button_save_all: I-save
button_cancel_all: Kanselahin
link_formatting_help: Ang tekstong pagfo-format ng tulong
btn_preview_enable: Tanawin ulit
btn_preview_disable: Hindi pinagana ang preview
null_value_label: Walang halaga
clear_value_label: "-"
errors:
required: "%{field} cannot be empty"
number: "%{field} is not a valid number"
required: "%{field} hindi maaring walang laman"
number: "%{field} ay hindi balidong numero"
maxlength: "%{field} hindi maaring maglaman na mas higit pa sa %{maxLength}
mga digit"
minlength: "%{field} hindi maaaring mas kaunti sa %{minLength} mga digit"
messages_on_field: 'Ito patlang ay hindi balido: %{messages}'
error_could_not_resolve_version_name: Couldn't resolve version name
error_could_not_resolve_user_name: Couldn't resolve user name
error_could_not_resolve_version_name: Hindi ma resolba ang bersyon na pangalan
error_could_not_resolve_user_name: Hindi mairesolba ang pangalan ng gumagamit
units:
workPackage:
one: work package
other: work packages
other: mga work package
child_work_packages:
one: one child work package
other: "%{count} work package children"
one: isang bata work package
other: "%{count} work package mga bata"
hour:
one: 1 hour
other: "%{count} hours"
one: Isang oras
other: "%{count} mga oras"
zero: 0 hours
zen_mode:
button_activate: I-aktibo ang zen mode

@ -4,6 +4,12 @@ fr:
ajax:
hide: Masquer
loading: Chargement…
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Fermer popup
close_filter_title: Fermer le filtre
close_form_title: Fermer le formulaire

@ -4,6 +4,12 @@ he:
ajax:
hide: הסתר
loading: טוען ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: סגור פופ-אפ
close_filter_title: Close filter
close_form_title: Close form

@ -4,6 +4,12 @@ hr:
ajax:
hide: Sakrij
loading: Učitavanje ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Popup izbornik
close_filter_title: Zatvori filtar
close_form_title: Zatvori obrazac

@ -4,6 +4,12 @@ hu:
ajax:
hide: Elrejt
loading: Betöltés folyamatban… ...
autocomplete_select:
placeholder:
multi: '"%{name}" hozzáadása'
single: '"%{name}" kiválasztása'
remove: "%{name} törlése"
active: "%{label} %{name} aktiválása"
close_popup_title: Előugró ablak bezárása
close_filter_title: Szűrő bezárása
close_form_title: Űrlap bezárása
@ -65,8 +71,8 @@ hu:
one: Első rendezési feltétel
two: Második rendezési feltétel
three: Harmadik rendezési feltétel
upsale_for_more: For more advanced filters, check out the
upsale_link: Enterprise Edition.
upsale_for_more: A fejlettebb szűrők esetén nézze meg a
upsale_link: Vállalati kiadás.
general_text_no: nem
general_text_yes: igen
general_text_No: Nem

@ -4,6 +4,12 @@ id:
ajax:
hide: Sembunyikan
loading: Loading ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Tutup
close_filter_title: Tutup Penyaring
close_form_title: Tutup formulir

@ -4,6 +4,12 @@ it:
ajax:
hide: Nascondi
loading: Caricamento ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Chiudi popup
close_filter_title: Chiudi il filtro
close_form_title: Chiudi il modulo

@ -4,6 +4,12 @@ ja:
ajax:
hide: 非表示
loading: ロード中...
autocomplete_select:
placeholder:
multi: '"%{name}" を追加'
single: '"%{name}" を選択'
remove: "%{name} を削除"
active: アクティブ %{label} %{name}
close_popup_title: ポップアップを閉じる
close_filter_title: フィルタを閉じる
close_form_title: フォームを閉じる
@ -64,8 +70,8 @@ ja:
one: 最初の並べ替え条件
two: 2 番目の並べ替え基準
three: 3 番目の並べ替え条件
upsale_for_more: For more advanced filters, check out the
upsale_link: Enterprise Edition.
upsale_for_more: 詳細なフィルターについて、ご確認ください
upsale_link: エンタープライズ版。
general_text_no: いいえ
general_text_yes: はい
general_text_No: いいえ

@ -4,6 +4,12 @@ ko:
ajax:
hide: 숨기기
loading: 불러오는 중 ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: 팝업 닫기
close_filter_title: 필터 닫기
close_form_title: 폼 닫기

@ -4,6 +4,12 @@ lol:
ajax:
hide: crwdns98333:0crwdne98333:0
loading: crwdns98334:0crwdne98334:0
autocomplete_select:
placeholder:
multi: crwdns98881:0%{name}crwdne98881:0
single: crwdns98882:0%{name}crwdne98882:0
remove: crwdns98883:0%{name}crwdne98883:0
active: crwdns98884:0%{label}crwdnd98884:0%{name}crwdne98884:0
close_popup_title: crwdns98335:0crwdne98335:0
close_filter_title: crwdns98336:0crwdne98336:0
close_form_title: crwdns98337:0crwdne98337:0

@ -4,6 +4,12 @@ lt:
ajax:
hide: Paslėpti
loading: Įkeliama ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Užverti iškylantį langą
close_filter_title: Užverti filtrą
close_form_title: Užverti formą
@ -297,6 +303,7 @@ lt:
other: Prašome įvesti dar {{count}} simbolius (-į, -ių)
zero: Please enter more characters
few: Prašome įvesti dar {{count}} simbolius (-į, -ių)
many: Please enter {{count}} more characters
load_more: Įkeliama daugiau rezultatų ...
no_matches: Atitikmenų nerasta
searching: Ieškoma ...
@ -305,6 +312,7 @@ lt:
other: Jūs galite pasirinkti tik {{limit}} elementus (-ą, -ų)
zero: You cannot select any items
few: Jūs galite pasirinkti tik {{limit}} elementus (-ą, -ų)
many: You can only select {{limit}} items
sort:
sorted_asc: 'Pritaikyta didėjimo tvarka, '
sorted_dsc: 'Pritaikyta mažėjimo tvarka, '
@ -623,15 +631,18 @@ lt:
one: darbų paketas
other: darbų paketai
few: darbų paketai
many: work packages
child_work_packages:
one: darbų paketas su vienu vaiku
other: "%{count} darbų paketo vaikų"
few: "%{count} darbų paketo vaikai"
many: "%{count} work package children"
hour:
one: valanda
other: "%{count} valandos (-a, -ų)"
zero: 0 hours
few: "%{count} valandos (-a, -ų)"
many: "%{count} hours"
zen_mode:
button_activate: Įjungti Zen režimą
button_deactivate: Išjungti Zen režimą

@ -4,6 +4,12 @@ lv:
ajax:
hide: Hide
loading: Notiek ielāde...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Aizvērt logu
close_filter_title: Close filter
close_form_title: Close form

@ -4,6 +4,12 @@ nl:
ajax:
hide: Verbergen
loading: Bezig met laden ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Popup sluiten
close_filter_title: Sluit filter
close_form_title: Sluit formulier

@ -4,6 +4,12 @@
ajax:
hide: Skjul
loading: Laster inn ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Lukk sprettoppvindu
close_filter_title: Close filter
close_form_title: Close form

@ -4,6 +4,12 @@ pl:
ajax:
hide: Ukryj
loading: Ładowanie ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Zamknij okno
close_filter_title: Zamknij filtr
close_form_title: Zamknij formularz
@ -295,6 +301,7 @@ pl:
other: Wprowadź jeszcze {{count}} znaków
zero: Please enter more characters
few: Wprowadź jeszcze {{count}} znaków
many: Please enter {{count}} more characters
load_more: Ładowanie większej liczby wyników ...
no_matches: Nie znaleziono dopasowań
searching: Wyszukiwanie ...
@ -303,6 +310,7 @@ pl:
other: Możesz wybrać tylko {{limit}} elementów
zero: You cannot select any items
few: Możesz wybrać tylko {{limit}} elementów
many: You can only select {{limit}} items
sort:
sorted_asc: 'Zastosowano sortowanie rosnące, '
sorted_dsc: 'Zastosowano sortowanie malejące, '
@ -618,15 +626,18 @@ pl:
one: pakiet roboczy
other: pakiety robocze
few: pakiety robocze
many: work packages
child_work_packages:
one: jeden potomny pakiet roboczy
other: "%{count} potomnych pakietów roboczych"
few: "%{count} potomnych pakietów roboczych"
many: "%{count} work package children"
hour:
one: 1 godzina
other: "%{count} godzin"
zero: 0 hours
few: "%{count} godzin"
many: "%{count} hours"
zen_mode:
button_activate: Włącz tryb zen
button_deactivate: Wyłącz tryb zen

@ -4,6 +4,12 @@ pt-BR:
ajax:
hide: Ocultar
loading: Carregando ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Fechar pop-up
close_filter_title: Fechar filtro
close_form_title: Fechar formulário

@ -4,6 +4,12 @@ pt:
ajax:
hide: Ocultar
loading: A carregar...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Fechar janela
close_filter_title: Fechar filtro
close_form_title: Fechar formulário

@ -4,6 +4,12 @@ ro:
ajax:
hide: Ascundere
loading: Se încarcă...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Închidere pop-up
close_filter_title: Închide filtrul
close_form_title: Închide formularul

@ -4,6 +4,12 @@ ru:
ajax:
hide: Скрыть
loading: Загрузка ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Закрыть всплывающее
close_filter_title: Закрыть фильтр
close_form_title: Закрыть форму
@ -66,7 +72,7 @@ ru:
two: Второй критерий сортировки
three: Третий критерий сортировки
upsale_for_more: For more advanced filters, check out the
upsale_link: Enterprise Edition.
upsale_link: Корпоративная версия.
general_text_no: нет
general_text_yes: да
general_text_No: Нет
@ -296,6 +302,7 @@ ru:
other: Пожалуйста, введите более {{count}} символов
zero: Please enter more characters
few: Пожалуйста, введите более {{count}} символов
many: Please enter {{count}} more characters
load_more: Загрузка дополнительных результатов ...
no_matches: Совпадения не найдены
searching: Поиск ...
@ -304,6 +311,7 @@ ru:
other: Вы можете выбрать только {{limit}} элементов
zero: You cannot select any items
few: Вы можете выбрать только {{limit}} элемента
many: You can only select {{limit}} items
sort:
sorted_asc: 'Применяется сортировка по возрастанию, '
sorted_dsc: 'Применяется сортировка по убыванию, '
@ -621,15 +629,18 @@ ru:
one: пакет работ
other: пакеты работ
few: пакеты работ
many: work packages
child_work_packages:
one: пакет работ с одним дочерним
other: пакет работ с %{count} дочерними
few: пакет работ с %{count} дочерними
many: "%{count} work package children"
hour:
one: 1 час
other: "%{count} часов"
zero: 0 hours
few: "%{count} часа"
many: "%{count} hours"
zen_mode:
button_activate: Включить дзен-режим
button_deactivate: Отключить дзен-режим

@ -4,6 +4,12 @@ sk:
ajax:
hide: Skryť
loading: Načítava sa ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Zavrieť okno
close_filter_title: Close filter
close_form_title: Close form
@ -296,6 +302,7 @@ sk:
other: Zadajte ešte minimálne {{count}} znakov
zero: Please enter more characters
few: Zadajte ešte minimálne {{count}} znaky
many: Please enter {{count}} more characters
load_more: Načítanie ďalších záznamov ...
no_matches: Nenašli sa žiadne záznamy
searching: Vyhľadávanie ...
@ -304,6 +311,7 @@ sk:
other: Môžete vybrať maximálne {{limit}} položiek
zero: You cannot select any items
few: Môžete vybrať maximálne {{limit}} položky
many: You can only select {{limit}} items
sort:
sorted_asc: 'Ascending sort applied, '
sorted_dsc: 'Descending sort applied, '
@ -620,15 +628,18 @@ sk:
one: pracovný balíček
other: pracovný balíček
few: pracovné balíčky
many: work packages
child_work_packages:
one: one child work package
other: "%{count} work package children"
few: "%{count} work package children"
many: "%{count} work package children"
hour:
one: 1 hodina
other: "%{count} hodín"
zero: 0 hours
few: "%{count} hodiny"
many: "%{count} hours"
zen_mode:
button_activate: Activate zen mode
button_deactivate: Deactivate zen mode

@ -4,6 +4,12 @@ sv-SE:
ajax:
hide: Dölj
loading: Laddar ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Stäng popup
close_filter_title: Stäng filter
close_form_title: Stäng formulär

@ -4,6 +4,12 @@ th:
ajax:
hide: อน
loading: กำลงโหลด...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: ดปอปอ
close_filter_title: ดตวกรอง
close_form_title: ดแบบฟอร

@ -4,6 +4,12 @@ tr:
ajax:
hide: Gizle
loading: Yükleniyor ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Pencereyi kapat
close_filter_title: Filtreyi kapat
close_form_title: Formu kapat
@ -360,11 +366,11 @@ tr:
outline: Reset Outline
outlines:
aggregation: Show aggregations only
level1: Expand level 1
level2: Expand level 2
level3: Expand level 3
level4: Expand level 4
level5: Expand level 5
level1: Düzey 1 genişletin
level2: Düzey 2 genişletin
level3: Düzey 3 genişletin
level4: Seviye 4 genişletin
level5: Seviye 5 genişletin
all: Tümünü göster
project_status: Proje Durumu
project_type: Proje türü

@ -4,6 +4,12 @@ uk:
ajax:
hide: Hide
loading: Завантаження ...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Закрити вспливаюче вікно
close_filter_title: Закрити фільтр
close_form_title: Закрити форму
@ -299,6 +305,7 @@ uk:
other: Будь ласка, введіть ще {{count}} символів
zero: Please enter more characters
few: Будь ласка, введіть ще {{count}} символи
many: Please enter {{count}} more characters
load_more: Завантаження додаткових результатів ...
no_matches: Збігів не знайдено
searching: Шукаємо ...
@ -307,6 +314,7 @@ uk:
other: Ви можете вибрати тільки {{limit}} елементів
zero: You cannot select any items
few: Ви можете вибрати тільки {{limit}} елементи
many: You can only select {{limit}} items
sort:
sorted_asc: 'Ascending sort applied, '
sorted_dsc: 'Descending sort applied, '
@ -622,15 +630,18 @@ uk:
one: work package
other: work packages
few: work packages
many: work packages
child_work_packages:
one: one child work package
other: "%{count} work package children"
few: "%{count} work package children"
many: "%{count} work package children"
hour:
one: 1 година
other: "%{count} годин"
zero: 0 hours
few: "%{count} години"
many: "%{count} hours"
zen_mode:
button_activate: Activate zen mode
button_deactivate: Deactivate zen mode

@ -4,6 +4,12 @@ vi:
ajax:
hide: Ẩn
loading: Đang tải...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: Đóng
close_filter_title: Close filter
close_form_title: Close form

@ -4,6 +4,12 @@ zh-TW:
ajax:
hide: 隱藏
loading: 正在載入…
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: 關閉彈出窗口
close_filter_title: Close filter
close_form_title: 關閉表單
@ -235,7 +241,7 @@ zh-TW:
nevermind: Nevermind
watchers:
label_loading: 正在載入關注者...
label_error_loading: An error occurred while loading the watchers
label_error_loading: 而發生錯誤裝載的觀察家
label_search_watchers: 搜尋關注者
label_add: 新增監看者
label_discard: 放棄選擇
@ -527,8 +533,7 @@ zh-TW:
summary: Table with rows of work package and columns of work package attributes.
text_inline_edit: Most cells of this table are buttons that activate inline-editing
functionality of that attribute.
text_sort_hint: With the links in the table headers you can sort, group, reorder,
remove and add table columns.
text_sort_hint: 通過表格標題中的鏈接,您可以排序,分組,重新排序,刪除和添加表格列。
text_select_hint: Select boxes should be opened with 'ALT' and arrow keys.
tabs:
overview: 概要

@ -4,6 +4,12 @@ zh:
ajax:
hide: 隐藏
loading: 加载中...
autocomplete_select:
placeholder:
multi: Add "%{name}"
single: Select "%{name}"
remove: Remove %{name}
active: Active %{label} %{name}
close_popup_title: 关闭弹出窗口
close_filter_title: 关闭过滤器
close_form_title: 关闭表单
@ -63,8 +69,8 @@ zh:
one: 第一个排序条件
two: 第二个排序条件
three: 第三个排序条件
upsale_for_more: For more advanced filters, check out the
upsale_link: Enterprise Edition.
upsale_for_more: 有关更高级的筛选器, 请查看
upsale_link: 企业版
general_text_no:
general_text_yes:
general_text_No:

@ -426,6 +426,8 @@ ko:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: 읽을 수 없습니다. 지원하는 토큰이 확실한가요?
parse_schema_filter_params_service:

@ -411,6 +411,8 @@ lol:
empty: crwdns98849:0%{name}crwdne98849:0
inclusion: crwdns98850:0%{name}crwdne98850:0
not_an_integer: crwdns98851:0%{name}crwdne98851:0
smaller_than_or_equal_to: crwdns98871:0%{name}crwdnd98871:0%{count}crwdne98871:0
greater_than_or_equal_to: crwdns98872:0%{name}crwdnd98872:0%{count}crwdne98872:0
enterprise_token:
unreadable: crwdns96639:0crwdne96639:0
parse_schema_filter_params_service:

@ -457,6 +457,8 @@ lt:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: neįmanoma perskaityti. Ar tai tikrai yra paramos raktas?
parse_schema_filter_params_service:
@ -544,6 +546,8 @@ lt:
nuo paskutinių %{count}.
few: jau buvo naudotas. Prašome pasirinkti tokį, kuris skiriasi nuo
paskutinių %{count}.
many: has been used before. Please choose one that is different from
your last %{count}.
match:
confirm: Patvirtinkite naują slaptažodį.
description: "„Slaptažodžio patvirtinimas“ turi sutapti su įvestu
@ -561,6 +565,7 @@ lt:
one: 1 klaida neleido, kad šis %{model} būtų išsaugotas
other: "%{count} klaidos (-a, -ų) neleido, kad šis %{model} būtų išsaugotas"
few: "%{count} klaidos (-a, -ų) neleido, kad šis %{model} būtų išsaugotas"
many: "%{count} errors prohibited this %{model} from being saved"
models:
attachment: Failas
attribute_help_text: Atributo pagalbos tekstas
@ -579,6 +584,7 @@ lt:
one: Rolė
other: Rolės (-ė, -ių)
few: Rolės (-ė, -ių)
many: Roles
type: Tipas
project_type: Projekto tipas
user: Vartotojas
@ -781,52 +787,64 @@ lt:
one: apie 1 valandą
other: apie %{count} valandos (-a, -ų)
few: apie %{count} valandos (-a, -ų)
many: about %{count} hours
about_x_months:
one: apie 1 mėnesį
other: apie %{count} mėnesius (-į, -ių)
few: apie %{count} mėnesius (-į, -ių)
many: about %{count} months
about_x_years:
one: apie 1 metus
other: apie %{count} metus (-ų)
few: apie %{count} metus (-ų)
many: about %{count} years
almost_x_years:
one: beveik 1 metus
other: beveik %{count} metus (-ų)
few: beveik %{count} metus (-ų)
many: almost %{count} years
half_a_minute: pusę minutės
less_than_x_minutes:
one: mažiau nei 1 minutę
other: mažiau nei %{count} minutes (-ę, -ių)
few: mažiau nei %{count} minutes (-ę, -ių)
many: less than %{count} minutes
less_than_x_seconds:
one: mažiau nei 1 sekundę
other: mažiau nei %{count} sekundžių (-ę, -es)
few: mažiau nei %{count} sekundžių (-ę, -es)
many: less than %{count} seconds
over_x_years:
one: daugiau nei 1 metus
other: daugiau nei %{count} metus (-ų)
few: daugiau nei %{count} metus (-ų)
many: over %{count} years
x_days:
one: 1 dieną
other: "%{count} dienas (-ą, -ų)"
few: "%{count} dienas (-ą, -ų)"
many: "%{count} days"
x_minutes:
one: 1 minutę
other: "%{count} minutes (-ę, -ių)"
few: "%{count} minutes (-ę, -ių)"
many: "%{count} minutes"
x_months:
one: 1 mėnesį
other: "%{count} mėnesius (-į, -ių)"
few: "%{count} mėnesius (-į, -ių)"
many: "%{count} months"
x_seconds:
one: 1 sekundę
other: "%{count} sekundes (-ę, -ių)"
few: "%{count} sekundes (-ę, -ių)"
many: "%{count} seconds"
units:
hour:
one: valanda
other: valandos (-a, -ų)
few: valandos (-a, -ų)
many: hours
default_activity_development: Kūrimas
default_activity_management: Valdymas
default_activity_other: Kita
@ -1582,26 +1600,31 @@ lt:
other: "%{count} uždaryti (-as, -ų)"
zero: 0 closed
few: "%{count} uždaryti (-as, -ų)"
many: "%{count} closed"
label_x_comments:
one: 1 komentatas
other: "%{count} komentarai (-as, -ų)"
zero: no comments
few: "%{count} komentarai (-as, -ų)"
many: "%{count} comments"
label_x_open_work_packages_abbr:
one: 1 atidarytas
other: "%{count} atidaryti (-as, -ų)"
zero: 0 open
few: "%{count} atidaryti (-as, -ų)"
many: "%{count} open"
label_x_open_work_packages_abbr_on_total:
one: 1 atidarytas / %{total}
other: "%{count} atidaryti (-as, -ų) / %{total}"
zero: 0 open / %{total}
few: "%{count} atidaryti (-as, -ų) / %{total}"
many: "%{count} open / %{total}"
label_x_projects:
one: 1 projektas
other: "%{count} projektai (-as, -ų)"
zero: no projects
few: "%{count} projektai (-as, -ų)"
many: "%{count} projects"
label_year: Metai
label_yesterday: vakar
label_keyboard_function: Funkcija
@ -1782,6 +1805,7 @@ lt:
one: Baitas
other: Baitai (-as, -ų)
few: Baitai (-as, -ų)
many: Bytes
gb: GB
kb: kB
mb: MB
@ -2360,6 +2384,7 @@ lt:
one: 1 dieną
other: "%{count} dienas (-ą, -ų)"
few: "%{count} dienas (-ą, -ų)"
many: "%{count} days"
edit_color: Redaguoti spalvą
edit_project_type: Redaguoti projekto tipą
edit_thing: Redaguoti
@ -2563,6 +2588,7 @@ lt:
other: laikinai užrakintas (%{count} nesėkmingi(-as, -ų) prisijungimai(-as,
-ų))
few: laikinai užrakintas (%{count} nesėkmingi(-as, -ų) prisijungimai(-as, -ų))
many: locked temporarily (%{count} failed login attempts)
confirm_status_change: Jūs pakeisti „%{name}“ būseną. Ar tikrai norite tęsti?
deleted: Ištrintas vartotojas
error_status_change_failed: 'Vartotojo būsenos keitimas nepavyko dėl šių klaidų:

@ -455,6 +455,8 @@ lv:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:

@ -465,6 +465,8 @@ nl:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: kan niet worden gelezen. Weet u zeer dat het een support token
is?

@ -458,6 +458,8 @@
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:

@ -455,6 +455,8 @@ pl:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: nie można odczytać. Czy na pewno jest to token wsparcia?
parse_schema_filter_params_service:
@ -543,6 +545,8 @@ pl:
one: było użyte wcześniej. Proszę wybrać inne niż poprzednie.
other: było użyte wcześniej. Proszę wybrać inne niż %{count} poprzednich.
few: było użyte wcześniej. Proszę wybrać inne niż %{count} poprzednich.
many: has been used before. Please choose one that is different from
your last %{count}.
match:
confirm: Potwierdź nowe hasło.
description: '"Potwierdzenie hasła" powinno być zgodne z wartością
@ -560,6 +564,7 @@ pl:
one: 1 błąd uniemożliwia zapisanie %{model}
other: "%{count} błędów uniemożliwia zapisanie %{model}"
few: "%{count} błędów uniemożliwia zapisanie %{model}"
many: "%{count} errors prohibited this %{model} from being saved"
models:
attachment: Plik
attribute_help_text: Tekst pomocy atrybutu
@ -578,6 +583,7 @@ pl:
one: Rola
other: Role
few: Role
many: Roles
type: Typ
project_type: Typ projektu
user: Użytkownik
@ -779,52 +785,64 @@ pl:
one: około 1 godziny
other: około %{count} godzin
few: około %{count} godzin
many: about %{count} hours
about_x_months:
one: około 1 miesiąca
other: około %{count} miesięcy
few: około %{count} miesięcy
many: about %{count} months
about_x_years:
one: około 1 roku
other: około %{count} lat
few: około %{count} lat
many: about %{count} years
almost_x_years:
one: prawie 1 rok
other: prawie %{count} lat
few: prawie %{count} lat
many: almost %{count} years
half_a_minute: pół minuty
less_than_x_minutes:
one: mniej niż minutę
other: mniej niż %{count} minut
few: mniej niż %{count} minut
many: less than %{count} minutes
less_than_x_seconds:
one: mniej niż 1 sekundę
other: mniej niż %{count} sekund
few: mniej niż %{count} sekund
many: less than %{count} seconds
over_x_years:
one: ponad 1 rok
other: ponad %{count} lat
few: ponad %{count} lat
many: over %{count} years
x_days:
one: 1 dzień
other: "%{count} dni"
few: "%{count} dni"
many: "%{count} days"
x_minutes:
one: 1 minuta
other: "%{count} minut"
few: "%{count} minut"
many: "%{count} minutes"
x_months:
one: 1 miesiąc
other: "%{count} miesięcy"
few: "%{count} miesięcy"
many: "%{count} months"
x_seconds:
one: 1 sekunda
other: "%{count} sekund"
few: "%{count} sekund"
many: "%{count} seconds"
units:
hour:
one: godzina
other: godziny
few: godziny
many: hours
default_activity_development: Rozwój
default_activity_management: Zarządzanie
default_activity_other: Inne
@ -1581,26 +1599,31 @@ pl:
other: "%{count} zamkniętych"
zero: 0 closed
few: "%{count} zamkniętych"
many: "%{count} closed"
label_x_comments:
one: 1 komentarz
other: "%{count} komentarzy"
zero: no comments
few: "%{count} komentarzy"
many: "%{count} comments"
label_x_open_work_packages_abbr:
one: 1 otwarty
other: "%{count} otwartych"
zero: 0 open
few: "%{count} otwartych"
many: "%{count} open"
label_x_open_work_packages_abbr_on_total:
one: 1 otwarty / %{total}
other: "%{count} otwartych / %{total}"
zero: 0 open / %{total}
few: "%{count} otwartych / %{total}"
many: "%{count} open / %{total}"
label_x_projects:
one: 1 projekt
other: "%{count} projektów"
zero: no projects
few: "%{count} projektów"
many: "%{count} projects"
label_year: Rok
label_yesterday: wczoraj
label_keyboard_function: Funkcja
@ -1781,6 +1804,7 @@ pl:
one: Bajt
other: Bajty
few: Bajty
many: Bytes
gb: GB
kb: kB
mb: MB
@ -2348,6 +2372,7 @@ pl:
one: 1 dzień
other: "%{count} dni"
few: "%{count} dni"
many: "%{count} days"
edit_color: Edycja koloru
edit_project_type: Edycja typu projektu
edit_thing: Edycja
@ -2552,6 +2577,7 @@ pl:
one: tymczasowo zablokowane (jedna nieudana próba zalogowania)
other: tymczasowo zablokowane (%{count} nieudanych prób zalogowania)
few: tymczasowo zablokowane (%{count} nieudanych prób zalogowania)
many: locked temporarily (%{count} failed login attempts)
confirm_status_change: Zamierzasz zmienić status „%{name}”. Na pewno chcesz kontynuować?
deleted: Usunięty uźytkownik
error_status_change_failed: 'Zmiana statusu użytkownika nie powiodło się z powodu

@ -456,6 +456,8 @@ pt-BR:
empty: "(%{name}) valor não pode ser vazio."
inclusion: "(%{name}) valor não está definido como um dos valores permitidos."
not_an_integer: "(%{name}) não é um número inteiro."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: não pode ser lido. Tem certeza que é um token de suporte?
parse_schema_filter_params_service:

@ -468,6 +468,8 @@ pt:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: não foi possível ler. Tem a certeza que é um token de suporte?
parse_schema_filter_params_service:

@ -468,6 +468,8 @@ ro:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:

@ -459,6 +459,8 @@ ru:
empty: "(%{name}) не может быть пустым."
inclusion: "(%{name}) не задано ни одно из допустимых значений."
not_an_integer: "(%{name}) не является целым числом."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: невозможно прочитать. Вы уверены, что это маркер поддержки?
parse_schema_filter_params_service:
@ -550,6 +552,8 @@ ru:
few: |-
использовался ранее. Пожалуйста, выберите отличный от ваших
последних %{count}.
many: has been used before. Please choose one that is different from
your last %{count}.
match:
confirm: Подтвердите новый пароль.
description: "«Подтвержденный пароль» должен совпадать с введенным
@ -568,6 +572,7 @@ ru:
one: 1 ошибка препятствует сохранению %{model}
other: "%{count} ошибок препятствуют сохранению %{model}"
few: "%{count} ошибки препятствует сохранению %{model}"
many: "%{count} errors prohibited this %{model} from being saved"
models:
attachment: Файл
attribute_help_text: Атрибут текста справки
@ -586,6 +591,7 @@ ru:
one: Роль
other: Роли
few: Роли
many: Roles
type: Тип
project_type: Тип проекта
user: Пользователь
@ -787,52 +793,64 @@ ru:
one: около часа
other: около %{count} часов
few: около %{count} часов
many: about %{count} hours
about_x_months:
one: около месяца
other: около %{count} месяцев
few: около %{count} месяцев
many: about %{count} months
about_x_years:
one: около года
other: около %{count} лет
few: около %{count} лет
many: about %{count} years
almost_x_years:
one: почти год
other: почти %{count} лет
few: почти %{count} года
many: almost %{count} years
half_a_minute: полминуты
less_than_x_minutes:
one: менее минуты
other: менее %{count} минут
few: менее %{count} минут
many: less than %{count} minutes
less_than_x_seconds:
one: меньше секунды
other: меньше %{count} секунд
few: меньше %{count} секунд
many: less than %{count} seconds
over_x_years:
one: более года
other: более %{count} лет
few: более %{count} лет
many: over %{count} years
x_days:
one: 1 день
other: "%{count} дней"
few: "%{count} дня"
many: "%{count} days"
x_minutes:
one: 1 минута
other: "%{count} минут"
few: "%{count} минуты"
many: "%{count} minutes"
x_months:
one: 1 месяц
other: "%{count} месяцев"
few: "%{count} месяца"
many: "%{count} months"
x_seconds:
one: 1 секунда
other: "%{count} секунд"
few: "%{count} секунды"
many: "%{count} seconds"
units:
hour:
one: час
other: часов
few: часа
many: hours
default_activity_development: Разработка
default_activity_management: Управление
default_activity_other: Другие
@ -1589,26 +1607,31 @@ ru:
other: "%{count} закрыто"
zero: 0 closed
few: "%{count} закрыто"
many: "%{count} closed"
label_x_comments:
one: 1 комментарий
other: "%{count} комментариев"
zero: no comments
few: "%{count} комментария"
many: "%{count} comments"
label_x_open_work_packages_abbr:
one: 1 открыт
other: "%{count} открыто"
zero: 0 open
few: "%{count} открыто"
many: "%{count} open"
label_x_open_work_packages_abbr_on_total:
one: 1 открыт / %{total}
other: "%{count} открыто / %{total}"
zero: 0 open / %{total}
few: "%{count} открыто / %{total}"
many: "%{count} open / %{total}"
label_x_projects:
one: 1 проект
other: "%{count} проектов"
zero: no projects
few: "%{count} проекта"
many: "%{count} projects"
label_year: Год
label_yesterday: вчера
label_keyboard_function: Функция
@ -1785,6 +1808,7 @@ ru:
one: Байт
other: Байтов
few: Байта
many: Bytes
gb: ГБ
kb: кБ
mb: МБ
@ -2359,6 +2383,7 @@ ru:
one: 1 день
other: "%{count} дней"
few: "%{count} дня"
many: "%{count} days"
edit_color: Изменить цвет
edit_project_type: Редактировать тип проекта
edit_thing: Правка
@ -2563,6 +2588,7 @@ ru:
one: временно заблокирован (одна неудачная попытка авторизации)
other: временно заблокирован (%{count} неудачных попыток авторизации)
few: временно заблокирован (%{count} неудачные попытки авторизации)
many: locked temporarily (%{count} failed login attempts)
confirm_status_change: Вы собираетесь изменить статус '%{name}'. Хотите продолжить?
deleted: Удалённый пользователь
error_status_change_failed: 'Изменение статуса пользователя не удалось из-за следующей

@ -464,6 +464,8 @@ sk:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:
@ -556,6 +558,8 @@ sk:
ktorá bola zvolená posledných %{count} krát.
few: už bol použitý predtým. Prosím, vyberte odlišnú voľbu ako tú,
ktorá bola zvolená posledných %{count} krát.
many: has been used before. Please choose one that is different from
your last %{count}.
match:
confirm: Potvrdiť nové heslo.
description: '"Potvrdenie hesla" musí byť rovnaké ako v poli "Nové
@ -573,6 +577,7 @@ sk:
one: 1 chyba zabránila uloženiu tohto %{model}
other: "%{count} chýb zabránilo uloženiu tohto %{model}"
few: "%{count} chyby zabránili uloženiu tohto %{model}"
many: "%{count} errors prohibited this %{model} from being saved"
models:
attachment: Súbor
attribute_help_text: Attribute help text
@ -591,6 +596,7 @@ sk:
one: Rola
other: Rolí
few: Roly
many: Roles
type: Typ
project_type: Typ projektu
user: Užívateľ(ka)
@ -793,52 +799,64 @@ sk:
one: približne 1 hodina
other: približne %{count} hodín
few: približne %{count} hodiny
many: about %{count} hours
about_x_months:
one: približne 1 mesiac
other: približne %{count} mesiacov
few: približne %{count} mesiace
many: about %{count} months
about_x_years:
one: približne 1 rok
other: približne %{count} rokov
few: približne %{count} roky
many: about %{count} years
almost_x_years:
one: skoro 1 rok
other: skoro %{count} rokov
few: skoro %{count} roky
many: almost %{count} years
half_a_minute: pol minúty
less_than_x_minutes:
one: menej než 1 minúta
other: menej než %{count} minút
few: menej než %{count} minúty
many: less than %{count} minutes
less_than_x_seconds:
one: menej než 1 sekunda
other: menej než %{count} sekúnd
few: menej než %{count} sekundy
many: less than %{count} seconds
over_x_years:
one: viac ako 1 rok
other: viac ako %{count} rokov
few: viac ako %{count} roky
many: over %{count} years
x_days:
one: 1 deň
other: "%{count} dní"
few: "%{count} dni"
many: "%{count} days"
x_minutes:
one: 1 minúta
other: "%{count} minút"
few: "%{count} minúty"
many: "%{count} minutes"
x_months:
one: 1 mesiac
other: "%{count} mesiacov"
few: "%{count} mesiace"
many: "%{count} months"
x_seconds:
one: 1 sekunda
other: "%{count} sekúnd"
few: "%{count} sekundy"
many: "%{count} seconds"
units:
hour:
one: hodina
other: hodín
few: hodiny
many: hours
default_activity_development: Vývoj
default_activity_management: Riadenie
default_activity_other: Ostatné
@ -1591,26 +1609,31 @@ sk:
other: "%{count} uzatvorených"
zero: 0 closed
few: "%{count} uzatvorené"
many: "%{count} closed"
label_x_comments:
one: 1 komentár
other: "%{count} komentárov"
zero: no comments
few: "%{count} komentáre"
many: "%{count} comments"
label_x_open_work_packages_abbr:
one: 1 otvorený
other: "%{count} otvorených"
zero: 0 open
few: "%{count} otvorené"
many: "%{count} open"
label_x_open_work_packages_abbr_on_total:
one: otvorený 1 / %{total}
other: otvorených %{count} / %{total}
zero: 0 open / %{total}
few: otvorené %{count} / %{total}
many: "%{count} open / %{total}"
label_x_projects:
one: 1 projekt
other: "%{count} projektov"
zero: no projects
few: "%{count} projekty"
many: "%{count} projects"
label_year: Rok
label_yesterday: včera
label_keyboard_function: Funkcia
@ -1788,6 +1811,7 @@ sk:
one: Bajt
other: Bajtov
few: Bajty
many: Bytes
gb: GB
kb: kB
mb: MB
@ -2349,6 +2373,7 @@ sk:
one: 1 deň
other: "%{count} dní"
few: "%{count} dni"
many: "%{count} days"
edit_color: Upraviť farbu
edit_project_type: Upraviť typ projektu
edit_thing: Upraviť
@ -2553,6 +2578,7 @@ sk:
one: dočasne zamknuté (jeden neúspešný pokus o prihlásenie)
other: dočasne zamknuté (%{count} neúspešných pokusov o prihlásenie)
few: dočasne zamknuté (%{count} neúspešné pokusy o prihlásenie)
many: locked temporarily (%{count} failed login attempts)
confirm_status_change: Chystáte sa zmeniť stav "%{name}". Naozaj chcete pokračovať?
deleted: Odstránený používateľ
error_status_change_failed: 'Changing the user status failed due to the following

@ -457,6 +457,8 @@ sv-SE:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: kan inte läsas. Är du säker på att det är en support-nyckel?
parse_schema_filter_params_service:

@ -456,6 +456,8 @@ th:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:

@ -455,6 +455,8 @@ tr:
empty: "(%{name}) değeri boş olamaz."
inclusion: "(%{name}) değer izin verilen değerlerden birine ayarlı değil."
not_an_integer: "(%{name}) bir tamsayı değil."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: okunamıyor. Desteklenen bir destek anahtarı olduğuna emin misiniz?
parse_schema_filter_params_service:
@ -2382,7 +2384,7 @@ tr:
noneSelection: "(yok)"
outline: Initial outline expansion
parent: Show subprojects of
work_package_filters: Filter work packages
work_package_filters: İş paketlerini filtrele
work_package_responsible: Show work packages with responsible
work_package_assignee: Show work packages with assignee
types: Türleri göster
@ -2396,8 +2398,8 @@ tr:
project_time_filter_relative: "%{start_label} %{startspan}%{startspanunit} ago,
%{end_label} %{endspan}%{endspanunit} from now"
project_filters: Projeleri filtrele
project_responsible: Show projects with responsible
project_status: Show project status
project_responsible: Projeleri sorumlu ile göster
project_status: Proje durumunu göster
project_types: Proje türlerini göster
timeframe: Zaman aralığını göster
timeframe_end: bitiş
@ -2413,23 +2415,23 @@ tr:
new_timeline: Yeni zaman çizelgesi raporu
no_projects_for_reporting_available: There are no projects to which a reporting
association can be created.
no_right_to_view_timeline: You do not have the necessary permission to view the
linked timeline.
no_right_to_view_timeline: Bağlantılı zaman çizelgesi görüntülemek için gerekli
izniniz yok.
no_timeline_for_id: "%{id} kimlik numaralı bir zaman akışı yok."
notice_successful_deleted_all_elements: Tüm elementler başarıyla silindi
outline: Reset Outline
outlines:
aggregation: Show aggregations only
level1: Expand level 1
level2: Expand level 2
level3: Expand level 3
level4: Expand level 4
level5: Expand level 5
level1: Düzey 1 genişletin
level2: Düzey 2 genişletin
level3: Düzey 3 genişletin
level4: Seviye 4 genişletin
level5: Seviye 5 genişletin
all: Tümünü göster
reporting_for_project:
show: 'Status reported to project: %{title}'
edit_delete: 'status report for project: %{title}'
history: 'History for status for project: %{title}'
edit_delete: 'proje durum raporu: %{title}'
history: 'Proje durum geçmişi: %{title}'
reporting:
delete: 'Silinme durumu: %{comment}'
edit: 'Düzenleme durumu: %{comment}'
@ -2452,8 +2454,8 @@ tr:
emin misiniz? Zaman akışı raporunda görünen iş paketleri silinmeyecek.
'
really_delete_reporting: 'Are you sure, you want to delete the following reporting?
Previous reporting statuses will be deleted, too.
really_delete_reporting: 'Aşağıdaki raporlama silmek istediğinizden emin misiniz?
Önceki raporlama durumları da silinir.
'
start: Başla
@ -2462,7 +2464,7 @@ tr:
settings: Zaman çizelgeleri
vertical_work_package: Dikey iş paketleri
without_project_type: Proje türü olmadan
you_are_viewing_the_selected_timeline: You are viewing the selected timeline report
you_are_viewing_the_selected_timeline: Seçili zaman çizelgesi raporu görüntüleme
zoom:
in: Yakınlaştır
out: Uzaklaştır
@ -2499,7 +2501,8 @@ tr:
all: tüm
active: etkin
activate: Etkinleştir
activate_and_reset_failed_logins: Activate and reset failed logins
activate_and_reset_failed_logins: Başarısız oturum açma işlemlerinin kilidini
aç ve sıfırla
authentication_provider: Kimlik doğrulama sağlayıcısı
authentication_settings_disabled_due_to_external_authentication: 'This user authenticates
via an external authentication provider, so there is no password in OpenProject

@ -265,7 +265,7 @@ uk:
Будь ласка, зверніться до адміністратора, щоб створити обліковий запис для вас.
'
login_with_auth_provider: or sign in with your existing account
login_with_auth_provider: або ввійдіть у свій існуючий обліковий запис
signup_with_auth_provider: or sign up using
auth_source_login: Please login as <em>%{login}</em> to activate your account.
omniauth_login: Please login to activate your account.
@ -308,7 +308,7 @@ uk:
min_length: Мінімальна довжина
multi_value: Allow multi-select
possible_values: Можливі значення
regexp: Regular expression
regexp: Регулярний вираз
searchable: Searchable
visible: Visible
custom_value:
@ -461,6 +461,8 @@ uk:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:
@ -549,6 +551,8 @@ uk:
your last %{count}.
few: has been used before. Please choose one that is different from
your last %{count}.
many: has been used before. Please choose one that is different from
your last %{count}.
match:
confirm: Confirm new password.
description: "'Password confirmation' should match the input in the
@ -566,6 +570,7 @@ uk:
one: 1 error prohibited this %{model} from being saved
other: "%{count} errors prohibited this %{model} from being saved"
few: "%{count} errors prohibited this %{model} from being saved"
many: "%{count} errors prohibited this %{model} from being saved"
models:
attachment: Файл
attribute_help_text: Attribute help text
@ -584,6 +589,7 @@ uk:
one: Role
other: Roles
few: Roles
many: Roles
type: Type
project_type: Тип проекту
user: User
@ -786,52 +792,64 @@ uk:
one: about 1 hour
other: about %{count} hours
few: about %{count} hours
many: about %{count} hours
about_x_months:
one: about 1 month
other: about %{count} months
few: about %{count} months
many: about %{count} months
about_x_years:
one: about 1 year
other: about %{count} years
few: about %{count} years
many: about %{count} years
almost_x_years:
one: almost 1 year
other: almost %{count} years
few: almost %{count} years
many: almost %{count} years
half_a_minute: half a minute
less_than_x_minutes:
one: less than a minute
other: less than %{count} minutes
few: less than %{count} minutes
many: less than %{count} minutes
less_than_x_seconds:
one: less than 1 second
other: less than %{count} seconds
few: less than %{count} seconds
many: less than %{count} seconds
over_x_years:
one: over 1 year
other: over %{count} years
few: over %{count} years
many: over %{count} years
x_days:
one: 1 day
other: "%{count} days"
few: "%{count} days"
many: "%{count} days"
x_minutes:
one: 1 minute
other: "%{count} minutes"
few: "%{count} minutes"
many: "%{count} minutes"
x_months:
one: 1 month
other: "%{count} months"
few: "%{count} months"
many: "%{count} months"
x_seconds:
one: 1 second
other: "%{count} seconds"
few: "%{count} seconds"
many: "%{count} seconds"
units:
hour:
one: hour
other: hours
few: hours
many: hours
default_activity_development: Development
default_activity_management: Налаштування
default_activity_other: Other
@ -1579,26 +1597,31 @@ uk:
other: "%{count} closed"
zero: 0 closed
few: "%{count} closed"
many: "%{count} closed"
label_x_comments:
one: 1 comment
other: "%{count} comments"
zero: no comments
few: "%{count} comments"
many: "%{count} comments"
label_x_open_work_packages_abbr:
one: 1 open
other: "%{count} open"
zero: 0 open
few: "%{count} open"
many: "%{count} open"
label_x_open_work_packages_abbr_on_total:
one: 1 open / %{total}
other: "%{count} open / %{total}"
zero: 0 open / %{total}
few: "%{count} open / %{total}"
many: "%{count} open / %{total}"
label_x_projects:
one: 1 project
other: "%{count} projects"
zero: no projects
few: "%{count} projects"
many: "%{count} projects"
label_year: Year
label_yesterday: yesterday
label_keyboard_function: Function
@ -1774,6 +1797,7 @@ uk:
one: Byte
other: Bytes
few: Bytes
many: Bytes
gb: GB
kb: kB
mb: MB
@ -2332,6 +2356,7 @@ uk:
one: 1 day
other: "%{count} days"
few: "%{count} days"
many: "%{count} days"
edit_color: Edit color
edit_project_type: Edit project type
edit_thing: Edit
@ -2535,6 +2560,7 @@ uk:
one: locked temporarily (one failed login attempt)
other: locked temporarily (%{count} failed login attempts)
few: locked temporarily (%{count} failed login attempts)
many: locked temporarily (%{count} failed login attempts)
confirm_status_change: You are about to change the status of '%{name}'. Are you
sure you want to continue?
deleted: Deleted user

@ -460,6 +460,8 @@ vi:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:

@ -425,6 +425,8 @@ zh-TW:
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: can't be read. Are you sure it is a support token?
parse_schema_filter_params_service:

@ -51,16 +51,15 @@ zh:
custom_actions:
actions:
name: 操作
add: Add action
conditions: Conditions
plural: Custom actions
new: New custom action
edit: Edit custom action %{name}
execute: Execute %{name}
add: 添加操作
conditions: 条件
plural: 自定义操作
new: 添加自定义操作
edit: 编辑自定义操作 %{name}
execute: 执行 %{name}
upsale:
title: Custom actions is an Enterprise Edition feature
description: Custom actions streamline everyday work by combining a set of individual
steps into one button.
title: 自定义操作是企业版功能
description: 自定义操作通过将一组单独的步骤组合成一个按钮来简化日常工作。
custom_fields:
text_add_new_custom_field: '要向项目添加新的自定义字段,您需要先创建字段,然后才能将其添加到此项目中。
@ -231,8 +230,8 @@ zh:
announcements:
show_until: 显示截止日期
attachment:
attachment_content: Attachment content
attachment_file_name: Attachment file name
attachment_content: 附件内容
attachment_file_name: 附件文件名
downloads: 下载
file: 文件
filename: 文件
@ -408,10 +407,12 @@ zh:
custom_field:
at_least_one_custom_option: 至少有需要一个可用选项。
custom_actions:
only_one_allowed: "(%{name}) only one value is allowed."
empty: "(%{name}) value can't be empty."
inclusion: "(%{name}) value is not set to one of the allowed values."
not_an_integer: "(%{name}) is not an integer."
only_one_allowed: "(%{name}) 只允许一个值。"
empty: "(%{name}) 值不能为空。"
inclusion: "(%{name}) 的值未设置为允许的值之一。"
not_an_integer: "(%{name}) 不是整数。"
smaller_than_or_equal_to: "(%{name}) must be smaller than or equal to %{count}."
greater_than_or_equal_to: "(%{name}) must be greater than or equal to %{count}."
enterprise_token:
unreadable: 无法读取。是否确定为支持令牌?
parse_schema_filter_params_service:
@ -509,7 +510,7 @@ zh:
attribute_help_text: 属性帮助文本
board: 论坛
comment: 评论
custom_action: Custom action
custom_action: 自定义操作
custom_field: 自定义字段
group:
category: 类别
@ -918,12 +919,12 @@ zh:
pdf_with_descriptions: 带描述的PDF
extraction:
available:
pdftotext: Pdftotext available (optional)
unrtf: Unrtf available (optional)
catdoc: Catdoc available (optional)
xls2csv: Xls2csv available (optional)
catppt: Catppt available (optional)
tesseract: Tesseract available (optional)
pdftotext: Pdftotext 可用 (可选)
unrtf: Unrtf 可用 (可选)
catdoc: Catdoc 可用 (可选)
xls2csv: Xls2csv 可用 (可选)
catppt: Catppt 可用 (可选)
tesseract: Tesseract 可用 (可选)
general_csv_decimal_separator: "."
general_csv_encoding: UTF-8
general_csv_separator: ","
@ -961,7 +962,7 @@ zh:
boards: 社区论坛
newsletter: 安全警报/通信
links:
configuration_guide: Configuration guide
configuration_guide: 配置指南
instructions_after_registration: 只要您的帐户已被激活您可以点击 %{signin} 登录。
instructions_after_logout: 你可以点击 %{signin} 重新登录。
instructions_after_error: 你可以尝试点击 %{signin} 重新登录。如果错误仍然存在,请向您的管理员寻求帮助。
@ -1886,7 +1887,7 @@ zh:
setting_feeds_limit: Feed内容限制
setting_file_max_size_displayed: 内联显示的文本文件的最大文件大小
setting_host_name: 主机名
setting_invitation_expiration_days: Activation E-Mail expires after
setting_invitation_expiration_days: 激活电子邮件的过期时间为
setting_work_package_done_ratio: 计算工作包完成比率
setting_work_package_done_ratio_field: 使用工作包字段
setting_work_package_done_ratio_status: 使用工作包状态
@ -1938,7 +1939,7 @@ zh:
setting_time_format: 时间格式
setting_accessibility_mode_for_anonymous: 为匿名用户启用辅助功能模式
setting_user_format: 用户显示格式
setting_user_default_timezone: Users default time zone
setting_user_default_timezone: 用户默认时区
setting_users_deletable_by_admins: 可由管理员删除用户帐户
setting_users_deletable_by_self: 允许用户删除其帐户
setting_welcome_text: 欢迎块文本
@ -1994,7 +1995,7 @@ zh:
text_custom_touch_icon_instructions: '如果你在主屏幕上建立了一个标签,这个小图标将会显示在你的手机或平板电脑上。
'
text_database_allows_tsv: Database allows TSVector (optional)
text_database_allows_tsv: 数据库允许 TSVector (可选)
text_default_administrator_account_changed: 更改默认管理员帐户
text_default_encoding: 默认值: UTF-8
text_destroy: 删除
@ -2250,8 +2251,7 @@ zh:
quarters: 季度
years:
title_remove_and_delete_user: 从项目中移除所邀请的用户并删除他/她。
tooltip_user_default_timezone: 'The default time zone for new users. Can be changed
in a user''s settings.
tooltip_user_default_timezone: '新用户的默认时区。可以在用户设置中更改。
'
tooltip_resend_invitation: '旧邀请电子邮件过期或用户未收到之前的电子邮件时,再发送一封邀请电子邮件。也可由活跃用户用于选择新的身份验证方法。活跃用户使用时,状态会更改为“已邀请”。
@ -2310,9 +2310,9 @@ zh:
note_password_login_disabled: 密码登录已被 %{configuration} 禁用。
warning: 警告
warning_attachments_not_saved: "%{count} 文件不能被保存。"
warning_registration_token_expired: |
The activation email has expired. We sent you a new one to %{email}.
Please click the link inside of it to activate your account.
warning_registration_token_expired: '激活邮件已过期,我们给您发送了一封新邮件到%{email}。请单击内部的链接以激活您的帐户。
'
menu_item: 菜单项
menu_item_setting: 可见性
wiki_menu_item_for: wiki页面” %{title} “的菜单项

@ -31,6 +31,12 @@ en:
ajax:
hide: "Hide"
loading: "Loading ..."
autocomplete_select:
placeholder:
multi: "Add \"%{name}\""
single: "Select \"%{name}\""
remove: "Remove %{name}"
active: "Active %{label} %{name}"
close_popup_title: "Close popup"
close_filter_title: "Close filter"
close_form_title: "Close form"

@ -281,22 +281,23 @@ OpenProject::Application.routes.draw do
get '(/revisions/:rev)/:format/*path', action: :entry,
format: /raw/,
rev: /[a-z0-9\.\-_]+/
rev: /[\w0-9\.\-_]+/
%w{diff annotate changes entry browse}.each do |action|
get "(/revisions/:rev)/#{action}(/*path)", format: false,
action: action,
rev: /[a-z0-9\.\-_]+/,
as: "#{action}_revision"
get "(/revisions/:rev)/#{action}(/*path)",
format: 'html',
action: action,
constraints: { rev: /[\w0-9\.\-_]+/, path: /.*/ },
as: "#{action}_revision"
end
get '/revision(/:rev)', rev: /[a-z0-9\.\-_]+/,
get '/revision(/:rev)', rev: /[\w0-9\.\-_]+/,
action: :revision,
as: 'show_revision'
get '(/revisions/:rev)(/*path)', action: :show,
format: false,
rev: /[a-z0-9\.\-_]+/,
format: 'html',
constraints: { rev: /[\w0-9\.\-_]+/, path: /.*/ },
as: 'show_revisions_path'
end
end

@ -46,9 +46,11 @@ class AddCustomFieldTranslationTable < ActiveRecord::Migration[4.2]
I18n.locale = Setting.default_language.to_sym
OldCustomField.all.each do |f|
pvs = f.read_attribute(:possible_values)
f.name = f.read_attribute(:name)
f.default_value = f.read_attribute(:default_value)
f.possible_values = YAML::load(f.read_attribute(:possible_values))
f.possible_values = YAML::load(pvs) if pvs
f.save
end

@ -29,7 +29,7 @@
class RemoveFilesAttachedToProjectsAndVersions < ActiveRecord::Migration[4.2]
def up
if Attachment.where(container_type: ['Version', 'Project']).any?
if !skip? && Attachment.where(container_type: ['Version', 'Project']).any?
raise 'Error: There are still attachments attached to Versions or Projects!'\
"\n\n"\
"Consider possible solutions under the rake namespace 'migrations:attachments'."\
@ -39,10 +39,18 @@ class RemoveFilesAttachedToProjectsAndVersions < ActiveRecord::Migration[4.2]
"\n\n"\
"You can also move all attachments to newly created wiki pages using:\n"\
"'migrations:attachments:move_to_wiki'\n\n"\
"Note: Moving the attachments to a wiki will only work after all migrations are done.\n"\
" Rerun the migrations with IGNORE_PROJECT_AND_VERSIONS_ATTACHMENTS=true\n"\
" in the environment to skip this check. Then run the rake task above to move\n"\
" the attachments to wiki pages."
"\n\n\n"
end
end
def skip?
String(ENV["IGNORE_PROJECT_AND_VERSIONS_ATTACHMENTS"]) == "true"
end
def down
end
end

@ -28,6 +28,28 @@
#++
class RepairInvalidDefaultWorkPackageCustomValues < ActiveRecord::Migration[4.2]
class CurrentCustomField < ActiveRecord::Base
self.table_name = "custom_fields"
def self.find_sti_class(type_name)
type_name = "Current#{type_name}"
super
end
translates :name, :default_value, :possible_values
end
[
:user, :group, :work_package, :project, :version,
:time_entry_activity, :time_entry, :issue_priority,
]
.each do |name|
Kernel.const_set(
"Current#{name.to_s.camelize}CustomField",
Class.new(CurrentCustomField)
)
end
def up
unless custom_field_default_values.empty?
create_missing_work_package_custom_values
@ -86,7 +108,7 @@ class RepairInvalidDefaultWorkPackageCustomValues < ActiveRecord::Migration[4.2]
end
def custom_field_default_values
@custom_field_default_values ||= CustomField.select { |c| !(c.default_value.blank?) }
@custom_field_default_values ||= CurrentCustomField.select { |c| !(c.default_value.blank?) }
.each_with_object({}) { |c, h| h[c.id] = c.default_value unless h[c.id] }
end

@ -27,6 +27,10 @@ class BoolearlizeBoolCustomValues < ActiveRecord::Migration[4.2]
query.filters.each do |filter|
update_filter(filter, old_true, new_true, old_false, new_false)
end
query.column_names = [] if query.column_names == ""
query.sort_criteria = [] if query.sort_criteria == ""
query.save(validate: false) # if we validate new code is run depending on role_permissions which do not exist yet
end
end

@ -114,6 +114,10 @@ class AddCustomOptions < ActiveRecord::Migration[5.0]
# we don't support translations anymore, assume first as canonical
translation = translations.first
if translation.possible_values.is_a? String
translation.possible_values = YAML.load translation.possible_values
end
translation.possible_values.each_with_index.map do |value, i|
custom_field.custom_options.create!(
value: value,

@ -35,7 +35,7 @@ the logs to your terminal, which helps with debugging if anything goes wrong.
For normal usage you probably want to start it in the background, which can be
achieved with the `-d` flag:
docker run -d -p 8080:80 -e SECRET_KEY_BASE=secret openproject/community:5.0
docker run -d -p 8080:80 -e SECRET_KEY_BASE=secret openproject/community:7
### Recommended usage
@ -55,7 +55,7 @@ those directories mounted:
sudo mkdir -p /var/lib/openproject/{pgdata,logs,static}
docker run -d -p 8080:80 --name openproject -e SECRET_KEY_BASE=secret \
-v /var/lib/openproject/pgdata:/var/lib/postgresql/9.4/main \
-v /var/lib/openproject/pgdata:/var/lib/postgresql/9.6/main \
-v /var/lib/openproject/logs:/var/log/supervisor \
-v /var/lib/openproject/static:/var/db/openproject \
openproject/community:7
@ -143,7 +143,7 @@ Yes. You can simply pass a custom `DATABASE_URL` environment variable on the
command-line, which could point to an external database. You can even choose to
use MySQL instead of PostgreSQL if you wish. Here is how you would do it:
docker run -d ... -e DATABASE_URL=mysql2://user:pass@host:port/dbname openproject/community:5.0
docker run -d ... -e DATABASE_URL=mysql2://user:pass@host:port/dbname openproject/community:7
The container will make sure that the database gets the migrations and demo
data as well.

@ -1,100 +0,0 @@
#-- copyright
# OpenProject is a project management system.
# Copyright (C) 2012-2018 the OpenProject Foundation (OPF)
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License version 3.
#
# OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
# Copyright (C) 2006-2017 Jean-Philippe Lang
# Copyright (C) 2010-2013 the ChiliProject Team
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# See docs/COPYRIGHT.rdoc for more details.
#++
Feature: Copying a work package
Background:
Given there is 1 project with the following:
| identifier | project_1 |
| name | project_1 |
Given there is 1 project with the following:
| identifier | project_2 |
| name | project_2 |
And I am working in project "project_2"
And there are the following issue status:
| name | is_closed | is_default |
| New | false | true |
And the project "project_2" has the following types:
| name | position |
| Bug | 1 |
| Feature | 2 |
And there is a default issuepriority with:
| name | Normal |
And there is a issuepriority with:
| name | High |
And there is a issuepriority with:
| name | Immediate |
And I am working in project "project_1"
And the project "project_1" has the following types:
| name | position |
| Bug | 1 |
And there is a role "member"
And the role "member" may have the following rights:
| view_work_packages |
| move_work_packages |
| add_work_packages |
| manage_subtasks |
And there is 1 user with the following:
| login | bob |
And the user "bob" is a "member" in the project "project_1"
And the user "bob" is a "member" in the project "project_2"
And there are the following issues in project "project_1":
| subject | type | assignee | responsible |
| issue1 | Bug | bob | bob |
| issue2 | Bug | bob | bob |
And there are the following issues in project "project_2":
| subject | type |
| issue3 | Feature |
And the work package "issue1" has the following children:
| issue2 |
And I am already logged in as "bob"
@javascript @selenium
Scenario: Copy an issue
When I go to the move new page of the work package "issue1"
And I select "project_2" from "Project"
When I click "Copy and follow"
Then I should see "Successful creation."
Then I should see "issue1" within ".wp-edit-field.subject"
And I should see "project_2" within "#projects-menu"
@javascript @selenium
Scenario: Issue children are moved
Given the "cross_project_work_package_relations" setting is set to true
When I go to the move page of the work package "issue1"
And I select "project_2" from "Project"
When I click "Move and follow"
#Then I should see "Successful update."
Then I should see "issue1" within ".wp-edit-field.subject"
And I should see "project_2" within "#projects-menu"
Scenario: Move an issue to project with missing type
When I go to the move page of the work package "issue3"
And I select "project_1" from "Project"
When I click "Move and follow"
Then I should see "Failed to save 1 work package(s) on 1 selected:"

@ -148,6 +148,7 @@ import {WorkPackageNewSplitViewComponent} from 'core-components/wp-new/wp-new-sp
import {WorkPackageCopySplitViewComponent} from 'core-components/wp-copy/wp-copy-split-view.component';
import {FocusWithinDirective} from 'core-components/common/focus-within/focus-within.upgraded.directive';
import {ClickOnKeypressComponent} from 'core-app/ui_components/click-on-keypress-upgraded.component';
import {AutocompleteSelectDecorationComponent} from 'core-components/common/autocomplete-select-decoration/autocomplete-select-decoration.component';
@NgModule({
imports: [
@ -235,9 +236,12 @@ import {ClickOnKeypressComponent} from 'core-app/ui_components/click-on-keypress
SortHeaderDirective,
HasDropdownMenuDirective,
WpInlineCreateDirectiveUpgraded,
// Add functionality to rails rendered templates
HideSectionComponent,
HideSectionLinkComponent,
AddSectionDropdownComponent,
AutocompleteSelectDecorationComponent,
// Split view
WorkPackageSplitViewComponent,
@ -299,9 +303,12 @@ import {ClickOnKeypressComponent} from 'core-app/ui_components/click-on-keypress
WorkPackagesTableController,
TablePaginationComponent,
WpCustomActionsComponent,
// Add functionality to rails rendered templates
HideSectionComponent,
HideSectionLinkComponent,
AddSectionDropdownComponent,
AutocompleteSelectDecorationComponent,
// Split view
WorkPackageSplitViewComponent,

@ -0,0 +1,31 @@
<ng-content style="display:none"></ng-content>
<ul class="form--selected-value--list">
<li
*ngFor="let item of selectedItems"
class="form--selected-value--container"
focus-within="accessible-by-keyboard"
tabindex="0"
[attr.ariaLabel]="ariaLabelText(item)"
(click)="editUnlessMulti()" >
<span class="form--selected-value">
{{item.value}}
</span>
<accessible-by-keyboard
*ngIf="isMulti"
(execute)="remove(item)"
[linkAriaLabel]="removeItemText(item)"
[linkTitle]="removeItemText(item)"
linkClass="form--selected-value--remover">
<op-icon icon-classes="icon-remove"
[icon-title]="removeItemText(item)"></op-icon>
</accessible-by-keyboard>
</li>
</ul>
<input
[hidden]="!isMulti && selectedItems.length"
type="text"
class="form--input -autocomplete"
[attr.placeholder]="placeholderText">

@ -0,0 +1,206 @@
// -- copyright
// OpenProject is a project management system.
// Copyright (C) 2012-2018 the OpenProject Foundation (OPF)
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License version 3.
//
// OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
// Copyright (C) 2006-2013 Jean-Philippe Lang
// Copyright (C) 2010-2013 the ChiliProject Team
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
//
// See doc/COPYRIGHT.rdoc for more details.
// ++
import {Component, ElementRef, Inject, Input, OnInit} from '@angular/core';
import {opUiComponentsModule} from 'core-app/angular-modules';
import {downgradeComponent} from '@angular/upgrade/static';
import {I18nToken} from 'core-app/angular4-transition-utils';
interface AutocompleteSelectDecorationItem {
id:number;
label:string;
value:string;
}
@Component({
template: require('!!raw-loader!./autocomplete-select-decoration.component.html'),
selector: 'autocomplete-select-decoration',
})
export class AutocompleteSelectDecorationComponent implements OnInit {
public selectedItems:AutocompleteSelectDecorationItem[] = [];
private allItems:AutocompleteSelectDecorationItem[] = [];
private $select:any = null;
private $input:any = null;
private isMulti:boolean = true;
private label:string;
@Input('label') labelOverride:string|null = null;
constructor(private elementRef:ElementRef,
@Inject(I18nToken) readonly I18n:op.I18n) {
}
public remove(item:AutocompleteSelectDecorationItem) {
_.remove(this.selectedItems, (selected) => selected.id === item.id);
let val = this.$select.val();
_.remove(val, (id) => id === item.id);
this.$select.val(val);
}
public ngOnInit() {
this.setDomElements();
this.switchIds();
this.getItems();
this.setupAutocompleter();
this.setInitialized();
}
public editUnlessMulti() {
if (this.isMulti) {
return;
}
this.setValue(null);
setTimeout(() => { this.$input.focus(); });
}
public get placeholderText() {
let key:string;
if (this.isMulti) {
key = 'js.autocomplete_select.placeholder.multi';
} else {
key = 'js.autocomplete_select.placeholder.single';
}
return I18n.t(key, { name: this.label });
}
public removeItemText(item:AutocompleteSelectDecorationItem) {
return I18n.t('js.autocomplete_select.remove', { name: item.value });
}
public ariaLabelText(item:AutocompleteSelectDecorationItem) {
return I18n.t('js.autocomplete_select.active', { label: this.label, name: item.value });
}
private getItems() {
_.each(this.$select.find('option'), option => {
let $option = jQuery(option);
let text = $option.text();
let item = {
id: $option.prop('value'),
label: text,
value: text
};
this.allItems.push(item);
if ($option.prop('selected')) {
this.selectedItems.push(item);
}
});
}
private setupAutocompleter() {
let autocompleteOptions = {
delay: 100,
minLength: 0,
position: { my: 'left top', at: 'left bottom', collision: 'flip' },
classes: {
'ui-autocomplete': 'form--select-autocompleter'
},
source: (request:{ term:string }, response:Function) => {
let available = _.difference(this.allItems, this.selectedItems);
let withTerm = _.filter(available, (item) =>
item.value.toLowerCase().indexOf(request.term.toLowerCase()) !== -1
);
response(withTerm);
},
select: (evt:JQueryEventObject, ui:any) => {
this.setValue(ui.item);
this.$input.val('');
return false;
}
} as any;
this.$input.autocomplete(autocompleteOptions);
// Disable handling all dashes as dividers
// https://github.com/jquery/jquery-ui/blob/master/ui/widgets/menu.js#L347
// as we use them as placeholders.
(this.$input.autocomplete('instance')as any).menu._isDivider = (item:JQuery) => false;
}
private switchIds() {
let id = this.$select.prop('id');
this.$input.prop('id', id);
this.$select.prop('id', '');
}
private setDomElements() {
const $element = this.thisElement;
this.$input = $element.find('.form--input.-autocomplete');
this.$select = $element.find('select');
this.label = this.labelOverride || jQuery("label[for='" + this.$select.prop('id') + "']").text();
this.isMulti = this.$select.prop('multiple');
}
private setInitialized() {
this.$select.hide();
this.thisElement.addClass('-initialized');
}
private get thisElement() {
return jQuery(this.elementRef.nativeElement);
}
private setValue(item:AutocompleteSelectDecorationItem|null) {
if (item === null) {
this.selectedItems = [];
} else if (this.isMulti) {
this.selectedItems.push(item);
} else {
this.selectedItems = [item];
}
let ids = _.map(this.selectedItems, (item) => item.id);
if (this.isMulti) {
this.$select.val(ids);
} else {
this.$select.val(ids[0]);
}
}
}
opUiComponentsModule.directive(
'autocompleteSelectDecoration',
downgradeComponent({component: AutocompleteSelectDecorationComponent})
);

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save