Release OpenProject 11.1.4

release/11.2 v11.1.4
Oliver Günther 4 years ago
commit 4c56518de9
No known key found for this signature in database
GPG Key ID: 88872239EB414F99
  1. 2
      app/controllers/authentication_controller.rb
  2. 1
      app/controllers/users_settings_controller.rb
  3. 1
      app/controllers/work_packages/settings_controller.rb
  4. 2
      app/uploaders/fog_file_uploader.rb
  5. 89
      config/locales/crowdin/ja.yml
  6. 104
      config/locales/crowdin/js-ja.yml
  7. 28
      config/locales/crowdin/js-no.yml
  8. 6
      config/locales/crowdin/js-sl.yml
  9. 6
      config/locales/crowdin/no.yml
  10. 18
      config/locales/crowdin/sl.yml
  11. 8
      docs/development/report-a-bug/README.md
  12. 8
      docs/development/submit-feature-idea/README.md
  13. 156
      docs/system-admin-guide/users-permissions/users/README.md
  14. 11
      lib/api/helpers/attachment_renderer.rb
  15. 2
      lib/open_project/version.rb
  16. 32
      modules/backlogs/config/locales/crowdin/sl.yml
  17. 6
      modules/bim/config/locales/crowdin/ja.yml
  18. 30
      modules/bim/config/locales/crowdin/js-ja.yml
  19. 8
      modules/bim/spec/requests/api/bcf/v2_1/viewpoints_api_spec.rb
  20. 44
      modules/boards/config/locales/crowdin/js-ja.yml
  21. 4
      modules/boards/config/locales/crowdin/js-no.yml
  22. 6
      modules/boards/config/locales/crowdin/no.yml
  23. 4
      modules/boards/config/locales/crowdin/sl.yml
  24. 2
      modules/budgets/config/locales/crowdin/ja.yml
  25. 6
      modules/budgets/config/locales/crowdin/sl.yml
  26. 2
      modules/costs/config/locales/crowdin/ja.yml
  27. 2
      modules/grids/config/locales/crowdin/ja.yml
  28. 4
      modules/grids/config/locales/crowdin/js-ja.yml
  29. 2
      modules/grids/config/locales/crowdin/js-no.yml
  30. 2
      modules/grids/config/locales/crowdin/js-sl.yml
  31. 20
      modules/job_status/config/locales/crowdin/js-ja.yml
  32. 42
      modules/ldap_groups/config/locales/crowdin/ja.yml
  33. 6
      modules/meeting/config/locales/crowdin/ja.yml
  34. 4
      modules/meeting/config/locales/crowdin/sl.yml
  35. 2
      modules/overviews/config/locales/crowdin/ja.yml
  36. 16
      spec/requests/api/v3/attachments/attachment_resource_shared_examples.rb
  37. 1
      spec/support/pages/projects/destroy.rb

@ -28,7 +28,7 @@
#++ #++
class AuthenticationController < ApplicationController class AuthenticationController < ApplicationController
before_action :require_login before_action :require_admin
layout 'admin' layout 'admin'
menu_item :authentication_settings menu_item :authentication_settings

@ -30,6 +30,7 @@
class UsersSettingsController < ::ApplicationController class UsersSettingsController < ::ApplicationController
layout 'admin' layout 'admin'
before_action :require_admin
menu_item :user_settings menu_item :user_settings
def index def index

@ -30,6 +30,7 @@
class WorkPackages::SettingsController < ::ApplicationController class WorkPackages::SettingsController < ::ApplicationController
layout 'admin' layout 'admin'
before_action :require_admin
current_menu_item :index do current_menu_item :index do
:work_packages_setting :work_packages_setting
end end

@ -60,7 +60,7 @@ class FogFileUploader < CarrierWave::Uploader::Base
## ##
# This is necessary for carrierwave to set the Content-Type in the S3 metadata for instance. # This is necessary for carrierwave to set the Content-Type in the S3 metadata for instance.
def fog_attributes def fog_attributes
content_type = model.content_type content_type = model.respond_to?(:content_type) ? model.content_type : ""
return super if content_type.blank? return super if content_type.blank?

@ -63,16 +63,16 @@ ja:
main-menu-bg-color: "左サイドメニューの背景色。" main-menu-bg-color: "左サイドメニューの背景色。"
theme_warning: テーマを変更した場合、カスタムスタイルが上書きされ、失われます。本当に続けますか? theme_warning: テーマを変更した場合、カスタムスタイルが上書きされ、失われます。本当に続けますか?
enterprise: enterprise:
upgrade_to_ee: "Upgrade to the Enterprise Edition" upgrade_to_ee: "エンタープライズ版にアップグレード"
add_token: "エンタープライズ版サポートのトークンをアップロード" add_token: "エンタープライズ版サポートのトークンをアップロード"
replace_token: "現在のサポート トークンを置き換え" replace_token: "現在のサポート トークンを置き換え"
order: "エンタープライズ版を注文" order: "エンタープライズ版を注文"
paste: "エンタープライズ版サポートのトークンを貼り付け" paste: "エンタープライズ版サポートのトークンを貼り付け"
required_for_feature: "この機能は、アクティブなエンタープライズ版のサポート トークンでのみ利用可能です。" required_for_feature: "この機能は、アクティブなエンタープライズ版のサポート トークンでのみ利用可能です。"
enterprise_link: "詳細については、ここをクリックしてください。" enterprise_link: "詳細については、ここをクリックしてください。"
start_trial: 'Start free trial' start_trial: '無料トライアルを開始'
book_now: 'Book now' book_now: '今すぐ予約'
get_quote: 'Get a quote' get_quote: '見積もりの入手'
announcements: announcements:
show_until: までを表示 show_until: までを表示
is_active: 現在表示されています is_active: 現在表示されています
@ -113,16 +113,17 @@ ja:
OpenProject は、このサブツリー内の指定されたユーザー名のみをフィルタリングします。 OpenProject は、このサブツリー内の指定されたユーザー名のみをフィルタリングします。
: ou=users,dc=example,dc=com : ou=users,dc=example,dc=com
filter_string: | filter_string: |
Add an optional RFC4515 filter to apply to the results returned for users filtered in the LDAP. LDAPでフィルタされたユーザーに対して返された結果に適用するオプションのRFC4515フィルタを追加します。
This can be used to restrict the set of users that are found by OpenProject for authentication and group synchronization. これは、OpenProjectによって検出された認証とグループ同期のためのユーザーのセットを制限するために使用することができます。
filter_string_concat: | filter_string_concat: |
OpenProject will always filter for the login attribute provided by the user to identify the record. If you provide a filter here,
it will be concatenated with an AND. By default, a catch-all (objectClass=*) will be used as a filter. OpenProjectはレコードを識別するために、ユーザーが提供するログイン属性を常にフィルタリングします。ここにフィルタを指定すると、
ANDで連結されます。デフォルトではキャッチオール(objectClass = *)がフィルタとして使用されます。
onthefly_register: | onthefly_register: |
チェックを入れると、OpenProjectは初回認証時に自動的にLDAPエントリーに新規ユーザー登録します。LDAPの既存ユーザーのみ許可する場合はチェックを外してください。 チェックを入れると、OpenProjectは初回認証時に自動的にLDAPエントリーに新規ユーザー登録します。LDAPの既存ユーザーのみ許可する場合はチェックを外してください。
onthefly_group_sync: | onthefly_group_sync: |
If you enable group synchronization for this LDAP connection, users will also be automatically created この LDAP 接続のグループ同期を有効にすると、同期されたグループのユーザーも OpenProject に自動的に作成されます。
in OpenProject for synchronized groups. Without it, only existing accounts in OpenProject will be added to groups. これがなければ OpenProjec 内tの既存のアカウントのみがグループに追加されます。
connection_encryption: '接続の暗号化' connection_encryption: '接続の暗号化'
system_account: 'システムアカウント' system_account: 'システムアカウント'
system_account_legend: | system_account_legend: |
@ -201,7 +202,7 @@ ja:
index: index:
open_as_gantt: 'ガントビューとして開く' open_as_gantt: 'ガントビューとして開く'
open_as_gantt_title: "このボタンを使用して、このページに表示されているプロジェクトのワークパッケージをフィルタリングするガントビューを生成します。" open_as_gantt_title: "このボタンを使用して、このページに表示されているプロジェクトのワークパッケージをフィルタリングするガントビューを生成します。"
open_as_gantt_title_admin: "You can modify the view settings (such as selected work package types) in the administration under project settings." open_as_gantt_title_admin: "プロジェクト設定で、表示設定 (選択した作業項目の種類など) を変更できます。"
no_results_title_text: 現在、プロジェクトはありません no_results_title_text: 現在、プロジェクトはありません
no_results_content_text: プロジェクトを新規作成 no_results_content_text: プロジェクトを新規作成
settings: settings:
@ -236,8 +237,8 @@ ja:
no_results_content_text: ニュース項目を追加 no_results_content_text: ニュース項目を追加
users: users:
groups: groups:
member_in_these_groups: 'This user is currently a member of the following groups:' member_in_these_groups: 'このユーザーは現在以下のグループのメンバーです:'
no_results_title_text: This user is currently not a member in any group. no_results_title_text: このユーザーは現在どのグループのメンバーでもありません。
memberships: memberships:
no_results_title_text: このユーザは現在プロジェクトのメンバーではありません。 no_results_title_text: このユーザは現在プロジェクトのメンバーではありません。
prioritiies: prioritiies:
@ -279,7 +280,7 @@ ja:
overview: overview:
no_results_title_text: このバージョンに割り当てられている作業項目はありません。 no_results_title_text: このバージョンに割り当てられている作業項目はありません。
wiki: wiki:
page_not_editable_index: The requested page does not (yet) exist. You have been redirected to the index of all wiki pages. page_not_editable_index: 要求されたページは (まだ) 存在しません。すべてのwikiページの索引にリダイレクトされました。
no_results_title_text: 現在、Wikiページはありません。 no_results_title_text: 現在、Wikiページはありません。
index: index:
no_results_content_text: 新しいWikiページを追加 no_results_content_text: 新しいWikiページを追加
@ -362,7 +363,7 @@ ja:
attr_mail: "メール" attr_mail: "メール"
base_dn: "ベースDN" base_dn: "ベースDN"
host: "ホスト" host: "ホスト"
onthefly: "Automatic user creation" onthefly: "ユーザーの自動作成"
port: "ポート番号" port: "ポート番号"
changeset: changeset:
repository: "リポジトリ" repository: "リポジトリ"
@ -487,7 +488,7 @@ ja:
parent_work_package: "親項目" parent_work_package: "親項目"
priority: "優先度" priority: "優先度"
progress: "進行状況 (%)" progress: "進行状況 (%)"
schedule_manually: "Manual scheduling" schedule_manually: "手動スケジュール"
spent_hours: "作業時間の記録" spent_hours: "作業時間の記録"
spent_time: "作業時間の記録" spent_time: "作業時間の記録"
subproject: "子プロジェクト" subproject: "子プロジェクト"
@ -513,7 +514,7 @@ ja:
cant_link_a_work_package_with_a_descendant: "親子関係にある作業項目間で関連設定できません。" cant_link_a_work_package_with_a_descendant: "親子関係にある作業項目間で関連設定できません。"
circular_dependency: "この関係は循環依存になります。" circular_dependency: "この関係は循環依存になります。"
confirmation: "は%{attribute} と一致しません。" confirmation: "は%{attribute} と一致しません。"
could_not_be_copied: "%{dependency} could not be (fully) copied." could_not_be_copied: "%{dependency} を(完全に)コピーできませんでした。"
does_not_exist: "は存在しません。" does_not_exist: "は存在しません。"
error_unauthorized: "アクセスできません。" error_unauthorized: "アクセスできません。"
error_readonly: "書けませんでした。" error_readonly: "書けませんでした。"
@ -530,7 +531,7 @@ ja:
invalid_url: 'は有効な URL ではありません。' invalid_url: 'は有効な URL ではありません。'
invalid_url_scheme: 'はサポートされたプロトコルではありません (可能: %{allowed_schemes})。' invalid_url_scheme: 'はサポートされたプロトコルではありません (可能: %{allowed_schemes})。'
less_than_or_equal_to: "は%{count}以下の値にしてください。" less_than_or_equal_to: "は%{count}以下の値にしてください。"
not_current_user: "is not the current user." not_current_user: "現在のユーザーではありません。"
not_a_date: "は有効な日付ではありません。" not_a_date: "は有効な日付ではありません。"
not_a_datetime: "は有効な日時ではありません。" not_a_datetime: "は有効な日時ではありません。"
not_a_number: "は数値にしてください。" not_a_number: "は数値にしてください。"
@ -610,7 +611,7 @@ ja:
queries/filters/base: queries/filters/base:
attributes: attributes:
values: values:
inclusion: "filter has invalid values." inclusion: "フィルタの値が無効です"
format: "%{message}" format: "%{message}"
relation: relation:
typed_dag: typed_dag:
@ -695,7 +696,7 @@ ja:
version: version:
undeletable_work_packages_attached: "作業パッケージが添付されているため、バージョンを削除できません。" undeletable_work_packages_attached: "作業パッケージが添付されているため、バージョンを削除できません。"
status: status:
readonly_default_exlusive: "can not be activated for statuses that are marked default." readonly_default_exlusive: "デフォルトとしてマークされている状態では有効にできません。"
template: template:
body: "次のフィールドをチェックしてください:" body: "次のフィールドをチェックしてください:"
header: header:
@ -750,9 +751,9 @@ ja:
date: "日付" date: "日付"
default_columns: "既定の列" default_columns: "既定の列"
description: "説明" description: "説明"
derived_due_date: "Derived finish date" derived_due_date: "派生終了日"
derived_estimated_time: "Derived estimated time" derived_estimated_time: "派生予定工数"
derived_start_date: "Derived start date" derived_start_date: "派生開始日"
display_sums: "合計を表示" display_sums: "合計を表示"
due_date: "終了日" due_date: "終了日"
estimated_hours: "予定工数" estimated_hours: "予定工数"
@ -1079,7 +1080,7 @@ ja:
error_cookie_missing: 'OpenProject のcookieが見つかりません。cookieが有効であることを確認してください。そうしないとこのアプリケーションは正しく動作しません。' error_cookie_missing: 'OpenProject のcookieが見つかりません。cookieが有効であることを確認してください。そうしないとこのアプリケーションは正しく動作しません。'
error_custom_option_not_found: "オプションが存在しません。" error_custom_option_not_found: "オプションが存在しません。"
error_enterprise_activation_user_limit: "あなたのアカウントを有効にすることができませんでした(ユーザー制限に達しました)。アクセスするには管理者に連絡してください。" error_enterprise_activation_user_limit: "あなたのアカウントを有効にすることができませんでした(ユーザー制限に達しました)。アクセスするには管理者に連絡してください。"
error_enterprise_token_invalid_domain: "The Enterprise Edition is not active. Your Enterprise token's domain (%{actual}) does not match the system's host name (%{expected})." error_enterprise_token_invalid_domain: "Enterprise Edition がアクティブではありません。Enterprise トークンのドメイン (%{actual}) がシステムのホスト名(%{expected}) と一致しません。"
error_failed_to_delete_entry: 'このエントリを削除できませんでした。' error_failed_to_delete_entry: 'このエントリを削除できませんでした。'
error_in_dependent: "依存オブジェクトを変更しようとしてエラーが発生しました: %{dependent_class} #%{related_id} - %{related_subject}: %{error}" error_in_dependent: "依存オブジェクトを変更しようとしてエラーが発生しました: %{dependent_class} #%{related_id} - %{related_subject}: %{error}"
error_invalid_selected_value: "選択された値が無効です。" error_invalid_selected_value: "選択された値が無効です。"
@ -1095,7 +1096,7 @@ ja:
error_no_default_work_package_status: "作業項目の既定のステータスが定義されていません。 設定をご確認してください(管理→作業項目ステータス)。" error_no_default_work_package_status: "作業項目の既定のステータスが定義されていません。 設定をご確認してください(管理→作業項目ステータス)。"
error_no_type_in_project: "このプロジェクトには関連付けている作業項目の型がありません。プロジェクトの設定をご確認してください。" error_no_type_in_project: "このプロジェクトには関連付けている作業項目の型がありません。プロジェクトの設定をご確認してください。"
error_omniauth_registration_timed_out: "外部認証プロバイダーを経由して登録がタイムアウトしました。もう一度やり直してください。" error_omniauth_registration_timed_out: "外部認証プロバイダーを経由して登録がタイムアウトしました。もう一度やり直してください。"
error_omniauth_invalid_auth: "The authentication information returned from the identity provider was invalid. Please contact your administrator for further help." error_omniauth_invalid_auth: "IDプロバイダーから返された認証情報が無効です。詳細については管理者に連絡してください"
error_scm_command_failed: "「%{value}」リポジトリにアクセスしようとしてエラーが発生しました。" error_scm_command_failed: "「%{value}」リポジトリにアクセスしようとしてエラーが発生しました。"
error_scm_not_found: "リポジトリに、エントリ/リビジョンが存在しません。" error_scm_not_found: "リポジトリに、エントリ/リビジョンが存在しません。"
error_unable_delete_status: "一つ以上の作業項目によって使用されているため、作業項目のステータスを削除できません。" error_unable_delete_status: "一つ以上の作業項目によって使用されているため、作業項目のステータスを削除できません。"
@ -1123,8 +1124,8 @@ ja:
work_package_edit: '仕事項目が編集されました。' work_package_edit: '仕事項目が編集されました。'
work_package_note: '仕事項目の注記が追加されました。' work_package_note: '仕事項目の注記が追加されました。'
export: export:
your_work_packages_export: "Your work packages export" your_work_packages_export: "作業項目をエクスポート"
succeeded: "The export has completed successfully." succeeded: "エクスポートが正常に完了しました。"
format: format:
atom: "Atom" atom: "Atom"
csv: "CSV" csv: "CSV"
@ -1179,10 +1180,10 @@ ja:
image_conversion: image_conversion:
imagemagick: 'Imagemagick' imagemagick: 'Imagemagick'
journals: journals:
changes_retracted: "The changes were retracted." changes_retracted: "変更は取り下げられました。"
links: links:
configuration_guide: '設定ガイド' configuration_guide: '設定ガイド'
get_in_touch: "You have questions? Get in touch with us." get_in_touch: "ご質問がありますか?ご連絡ください。"
instructions_after_registration: "%{signin}をクリックして、アカウントが有効された後にログインできます。" instructions_after_registration: "%{signin}をクリックして、アカウントが有効された後にログインできます。"
instructions_after_logout: "%{signin}をクリックして再びログインできます。" instructions_after_logout: "%{signin}をクリックして再びログインできます。"
instructions_after_error: "%{signin} をクリックして再びログインを試行できます。エラーが解決しない場合は、管理者にお問い合わせください。" instructions_after_error: "%{signin} をクリックして再びログインを試行できます。エラーが解決しない場合は、管理者にお問い合わせください。"
@ -1321,7 +1322,7 @@ ja:
label_delete_project: "プロジェクトを削除" label_delete_project: "プロジェクトを削除"
label_deleted: "削除された" label_deleted: "削除された"
label_deleted_custom_field: "(削除されたカスタムフィールド)" label_deleted_custom_field: "(削除されたカスタムフィールド)"
label_deleted_custom_option: "(deleted option)" label_deleted_custom_option: "(削除されたオプション)"
label_descending: "降順" label_descending: "降順"
label_details: "詳細" label_details: "詳細"
label_development_roadmap: "開発ロードマップ" label_development_roadmap: "開発ロードマップ"
@ -1339,7 +1340,7 @@ ja:
label_duplicate: "重複" label_duplicate: "重複"
label_duplicates: "次と重複" label_duplicates: "次と重複"
label_edit: "編集" label_edit: "編集"
label_edit_x: "Edit: %{x}" label_edit_x: "編集: %{x}"
label_enable_multi_select: "複数選択の切り替え" label_enable_multi_select: "複数選択の切り替え"
label_enabled_project_custom_fields: '有効なカスタム フィールド' label_enabled_project_custom_fields: '有効なカスタム フィールド'
label_enabled_project_modules: '有効なモジュール' label_enabled_project_modules: '有効なモジュール'
@ -1760,15 +1761,15 @@ ja:
mail_body_account_information: "アカウント情報" mail_body_account_information: "アカウント情報"
mail_body_account_information_external: "%{value} アカウントを使ってログインできます。" mail_body_account_information_external: "%{value} アカウントを使ってログインできます。"
mail_body_lost_password: "パスワードを変更するには、以下のリンクをクリックしてください:" mail_body_lost_password: "パスワードを変更するには、以下のリンクをクリックしてください:"
mail_body_register: "Welcome to OpenProject. Please activate your account by clicking on this link:" mail_body_register: "OpenProjectへようこそ。このリンクをクリックしてアカウントを有効化してください:"
mail_body_register_header_title: "Project member invitation email" mail_body_register_header_title: "プロジェクトへの招待メール"
mail_body_register_user: "Dear %{name}, " mail_body_register_user: "%{name}さん"
mail_body_register_links_html: | mail_body_register_links_html: |
Please feel free to browse our youtube channel (%{youtube_link}) where we provide a webinar (%{webinar_link}) Please feel free to browse our youtube channel (%{youtube_link}) where we provide a webinar (%{webinar_link})
and “Get started” videos (%{get_started_link}) to make your first steps in OpenProject as easy as possible. and “Get started” videos (%{get_started_link}) to make your first steps in OpenProject as easy as possible.
<br /> <br />
If you have any further questions, consult our documentation (%{documentation_link}) or contact us (%{contact_us_link}). If you have any further questions, consult our documentation (%{documentation_link}) or contact us (%{contact_us_link}).
mail_body_register_closing: "Your OpenProject team" mail_body_register_closing: "あなたのOpenProjectチーム"
mail_body_register_ending: "Stay connected! Kind regards," mail_body_register_ending: "Stay connected! Kind regards,"
mail_body_reminder: "担当している%{count}件の作業項目が%{days}日内に予定日になっています:" mail_body_reminder: "担当している%{count}件の作業項目が%{days}日内に予定日になっています:"
mail_body_group_reminder: "グループ \"%{group}\" に割り当てられた%{count}件の作業項目が%{days}日内に期限が到来します:" mail_body_group_reminder: "グループ \"%{group}\" に割り当てられた%{count}件の作業項目が%{days}日内に期限が到来します:"
@ -1923,7 +1924,7 @@ ja:
permission_manage_project_activities: "プロジェクト活動の管理" permission_manage_project_activities: "プロジェクト活動の管理"
permission_manage_public_queries: "公開ビューの管理" permission_manage_public_queries: "公開ビューの管理"
permission_manage_repository: "リポジトリの管理" permission_manage_repository: "リポジトリの管理"
permission_manage_subtasks: "Manage work package hierarchies" permission_manage_subtasks: "作業項目階層の管理"
permission_manage_versions: "バージョンの管理" permission_manage_versions: "バージョンの管理"
permission_manage_wiki: "Wiki の管理" permission_manage_wiki: "Wiki の管理"
permission_manage_wiki_menu: "Wikiメニューの管理" permission_manage_wiki_menu: "Wikiメニューの管理"
@ -1962,8 +1963,8 @@ ja:
copying: > copying: >
Your project is being created from the selected template project. You will be notified by mail as soon as the project is available. Your project is being created from the selected template project. You will be notified by mail as soon as the project is available.
use_template: 'テンプレートを使用' use_template: 'テンプレートを使用'
make_template: 'Set as template' make_template: 'テンプレートとして設定'
remove_from_templates: 'Remove from templates' remove_from_templates: 'テンプレートから削除'
archive: archive:
are_you_sure: "プロジェクト '%{name}' をアーカイブしてもよろしいですか?" are_you_sure: "プロジェクト '%{name}' をアーカイブしてもよろしいですか?"
archived: "アーカイブ済み" archived: "アーカイブ済み"
@ -1983,7 +1984,7 @@ ja:
assigned_to_role: "担当者のロール" assigned_to_role: "担当者のロール"
member_of_group: "担当者のグループ" member_of_group: "担当者のグループ"
assignee_or_group: "割り当てまたは所属するグループ" assignee_or_group: "割り当てまたは所属するグループ"
subproject_id: "Including Subproject" subproject_id: "サブプロジェクトを含む"
only_subproject_id: "サブプロジェクトのみ" only_subproject_id: "サブプロジェクトのみ"
name_or_identifier: "名前または ID" name_or_identifier: "名前または ID"
repositories: repositories:
@ -2141,7 +2142,7 @@ ja:
setting_emails_header: "電子メールのヘッダー" setting_emails_header: "電子メールのヘッダー"
setting_email_login: "メールアドレスをログインに使用する" setting_email_login: "メールアドレスをログインに使用する"
setting_enabled_scm: "使用するバージョン管理システム" setting_enabled_scm: "使用するバージョン管理システム"
setting_enabled_projects_columns: "Visible in project list" setting_enabled_projects_columns: "プロジェクトリストに表示する"
setting_feeds_enabled: "フィードを有効にする" setting_feeds_enabled: "フィードを有効にする"
setting_feeds_limit: "フィードの項目数の上限" setting_feeds_limit: "フィードの項目数の上限"
setting_file_max_size_displayed: "画面表示するテキストファイルの最大サイズ" setting_file_max_size_displayed: "画面表示するテキストファイルの最大サイズ"
@ -2172,8 +2173,8 @@ ja:
setting_per_page_options: "オプションページごとの項目数" setting_per_page_options: "オプションページごとの項目数"
setting_plain_text_mail: "テキストメール(HTMLなし)" setting_plain_text_mail: "テキストメール(HTMLなし)"
setting_protocol: "プロトコル" setting_protocol: "プロトコル"
setting_project_gantt_query: "Project portfolio Gantt view" setting_project_gantt_query: "プロジェクトポートフォリオガントビュー"
setting_project_gantt_query_text: "You can modify the query that is used to display Gantt chart from the project overview page." setting_project_gantt_query_text: "プロジェクトの概要ページからガントチャートを表示するために使用するクエリを変更できます。"
setting_security_badge_displayed: "セキュリティバッジを表示する" setting_security_badge_displayed: "セキュリティバッジを表示する"
setting_registration_footer: "登録フッター" setting_registration_footer: "登録フッター"
setting_repositories_automatic_managed_vendor: "自動リポジトリ ベンダー種類" setting_repositories_automatic_managed_vendor: "自動リポジトリ ベンダー種類"
@ -2214,7 +2215,7 @@ ja:
brute_force_prevention: "自動的にユーザをロック" brute_force_prevention: "自動的にユーザをロック"
projects: projects:
section_new_projects: "新規プロジェクトの設定" section_new_projects: "新規プロジェクトの設定"
section_project_overview: "Settings for project overview list" section_project_overview: "プロジェクト概要リストの設定"
user: user:
default_preferences: "デフォルト設定" default_preferences: "デフォルト設定"
deletion: "削除" deletion: "削除"
@ -2545,7 +2546,7 @@ ja:
mail_self_notified: "自分自身による変更の通知を希望" mail_self_notified: "自分自身による変更の通知を希望"
status_user_and_brute_force: "%{user}かつ%{brute_force}" status_user_and_brute_force: "%{user}かつ%{brute_force}"
status_change: "ステータスの変更" status_change: "ステータスの変更"
text_change_disabled_for_provider_login: "The name is set by your login provider and can thus not be changed." text_change_disabled_for_provider_login: "名前はログインプロバイダーによって設定されるため、変更できません。"
unlock: "ロックを解除" unlock: "ロックを解除"
unlock_and_reset_failed_logins: "ロックを解除して、失敗したログイン数をリセットする" unlock_and_reset_failed_logins: "ロックを解除して、失敗したログイン数をリセットする"
version_status_closed: "完了" version_status_closed: "完了"

@ -77,7 +77,7 @@ ja:
button_export-atom: "Atomをダウンロード" button_export-atom: "Atomをダウンロード"
calendar: calendar:
title: 'カレンダー' title: 'カレンダー'
too_many: '光景で %{count} の作業項目がありますが %{max} のみ表示されます。' too_many: '合計 %{count} の作業項目がありますが %{max} のみ表示されます。'
card: card:
add_new: '新規カード追加' add_new: '新規カード追加'
highlighting: highlighting:
@ -119,11 +119,11 @@ ja:
manual: 'Markdownソースに切り替える' manual: 'Markdownソースに切り替える'
wysiwyg: 'WYSIWYGエディタに切り替えます' wysiwyg: 'WYSIWYGエディタに切り替えます'
macro: macro:
error: 'Cannot expand macro: %{message}' error: 'マクロを展開できません: %{message}'
attribute_reference: attribute_reference:
macro_help_tooltip: 'This text segment is being dynamically rendered by a macro.' macro_help_tooltip: 'このテキストセグメントはマクロによって動的にレンダリングされています。'
not_found: 'Requested resource could not be found' not_found: '要求されたリソースが見つかりませんでした'
invalid_attribute: "The selected attribute '%{name}' does not exist." invalid_attribute: "選択した属性 '%{name}' は存在しません。"
child_pages: child_pages:
button: '子ページへのリンク' button: '子ページへのリンク'
include_parent: '親を含める' include_parent: '親を含める'
@ -174,58 +174,58 @@ ja:
reset_to_defaults: 'デフォルトに戻す' reset_to_defaults: 'デフォルトに戻す'
enterprise: enterprise:
trial: trial:
confirmation: "Confirmation of email address" confirmation: "メールアドレスの確認"
confirmation_info: > confirmation_info: >
We sent you an email on %{date} to %{email}. Please check your inbox and click the confirmation link provided to start your 14 days trial. %{date} に %{email} へメールを送信しました。 14日間のトライアルを開始するには、受信トレイを確認し、確認リンクをクリックしてください。
form: form:
general_consent: > general_consent: >
I agree with the <a target="_blank" href="%{link_terms}">terms of service</a> and the <a target="_blank" href="%{link_privacy}">privacy policy</a>. <a target="_blank" href="%{link_terms}">利用規約</a>と<a target="_blank" href="%{link_privacy}">プライバシー ポリシー</a>に同意します。
invalid_email: "Invalid email address" invalid_email: "無効なメールアドレス"
label_company: "Company" label_company: "会社名"
label_first_name: "名前" label_first_name: "名前"
label_last_name: "苗字" label_last_name: "苗字"
label_email: "電子メールアドレス" label_email: "電子メールアドレス"
label_domain: "Domain" label_domain: "ドメイン"
label_subscriber: "購入者" label_subscriber: "購入者"
label_maximum_users: "アクティブなユーザーの最大数" label_maximum_users: "アクティブなユーザーの最大数"
label_starts_at: "Starts at" label_starts_at: "開始"
label_expires_at: "有効期限" label_expires_at: "有効期限"
receive_newsletter: I want to receive the OpenProject <a target="_blank" href="%{link}">newsletter</a>. receive_newsletter: OpenProject <a target="_blank" href="%{link}">ニュースレター</a> を受け取りたい。
taken_domain: There can only be one active trial per domain. taken_domain: 有効なトライアルはドメインごとに1つしかありません。
taken_email: Each user can only create one trial. taken_email: 各ユーザーはトライアルを1回のみ作成できます。
email_not_received: "You did not receive an email? You can resend the email with the link on the right." email_not_received: "メールが届きませんでしたか?右側のリンクでメールを再送信できます。"
try_another_email: "Or try it with another email address." try_another_email: "または別のメールアドレスでお試しください。"
next_steps: "Next steps" next_steps: "次のステップ"
resend_link: "再送信" resend_link: "再送信"
resend_success: "Email has been resent. Please check your emails and click the confirmation link provided." resend_success: "メールが再送信されました。メールを確認し、確認リンクをクリックしてください。"
resend_warning: "Could not resend email." resend_warning: "メールを再送信できませんでした。"
session_timeout: "Your session timed out. Please try to reload the page or resend email." session_timeout: "セッションがタイムアウトしました。ページを再読み込みするか、メールを再送信してください。"
status_label: "Status:" status_label: "ステータス:"
status_confirmed: "confirmed" status_confirmed: "確認済み"
status_waiting: "email sent - waiting for confirmation" status_waiting: "メールが送信されました - 確認待ちです"
test_ee: "Test the Enterprise Edition 14 days for free" test_ee: "エンタープライズ版を14日間無料でテストする"
quick_overview: "Get a quick overview of project management and team collaboration with OpenProject Enterprise Edition." quick_overview: "Get a quick overview of project management and team collaboration with OpenProject Enterprise Edition."
upsale: upsale:
become_hero: "ヒーローになる!" become_hero: "ヒーローになる!"
benefits: benefits:
description: "メリットは何ですか?" description: "メリットは何ですか?"
high_security: "Security features" high_security: "セキュリティ機能"
high_security_text: "Single sign on (SAML, OpenID Connect, CAS), two-factor authentication and automatic sync of LDAP groups." high_security_text: "シングルサインオン(SAML、OpenID Connect、CAS)、2要素認証、LDAPグループの自動同期。"
installation: "Installation support" installation: "インストールサポート"
installation_text: "Experienced software engineers guide you through the complete installation and setup process in your own infrastructure." installation_text: "Experienced software engineers guide you through the complete installation and setup process in your own infrastructure."
premium_features: "Premium features" premium_features: "プレミアム機能"
premium_features_text: "Agile boards, custom theme and logo, graphs, intelligent workflows with custom actions, full text search for work package attachments and multi-select custom fields." premium_features_text: "Agile boards, custom theme and logo, graphs, intelligent workflows with custom actions, full text search for work package attachments and multi-select custom fields."
professional_support: "プロフェッショナルサポート" professional_support: "プロフェッショナルサポート"
professional_support_text: "Get reliable, high-touch support from senior support engineers with expert knowledge about running OpenProject in business-critical environments." professional_support_text: "Get reliable, high-touch support from senior support engineers with expert knowledge about running OpenProject in business-critical environments."
button_start_trial: "Start free trial" button_start_trial: "無料トライアルを開始"
button_book_now: "Book now" button_book_now: "今すぐ予約"
confidence: > confidence: >
We deliver the confidence of a tested and supported enterprise-class project management software - with Open Source and an open mind. テストおよびサポートされているエンタープライズクラスのプロジェクト管理ソフトウェアの信頼性を提供します。オープンソースとオープンマインドとともに。
link_quote: "Get a quote" link_quote: "見積もりの入手"
text: > text: >
The OpenProject Enterprise Edition builds on top of the Community Edition. It includes premium features and professional support mainly aimed at organizations with more than 10 users that manage business critical projects with OpenProject. OpenProject Enterprise Edition は、Community Edition の上に構築されます。 OpenProjectでビジネスクリティカルなプロジェクトを管理する10人以上のユーザーを抱える組織を中心としたプレミアム機能とプロフェッショナルサポートが含まれています。
unlimited: "Unlimited" unlimited: "無制限"
you_contribute: "Developers need to pay their bills, too. With the Enterprise Edition, you substantially contribute to this Open Source community effort." you_contribute: "開発者も請求書を支払う必要があります。Enterprise Edition では、このオープンソースコミュニティの取り組みに実質的に貢献します。"
custom_actions: custom_actions:
date: date:
specific: 'オン' specific: 'オン'
@ -289,7 +289,7 @@ ja:
label_add_row_before: "前に行を追加" label_add_row_before: "前に行を追加"
label_add_selected_columns: "選択した列を追加" label_add_selected_columns: "選択した列を追加"
label_added_by: "追加した人" label_added_by: "追加した人"
label_added_time_by: "Added by <a href=%{authorLink}>%{author}</a> at %{age}" label_added_time_by: "<a href=%{authorLink}>%{author}</a> によって %{age}に追加されました"
label_ago: "○日前" label_ago: "○日前"
label_all: "全て" label_all: "全て"
label_all_work_packages: "全ての作業項目" label_all_work_packages: "全ての作業項目"
@ -330,7 +330,7 @@ ja:
label_expand_all: "全てを展開" label_expand_all: "全てを展開"
label_expand_project_menu: "プロジェクトメニューを展開" label_expand_project_menu: "プロジェクトメニューを展開"
label_export: "外部出力" label_export: "外部出力"
label_export_preparing: "The export is being prepared and will be downloaded shortly." label_export_preparing: "エクスポートは準備中です。まもなくダウンロードされます。"
label_filename: "ファイル" label_filename: "ファイル"
label_filesize: "サイズ" label_filesize: "サイズ"
label_general: "概要" label_general: "概要"
@ -364,7 +364,7 @@ ja:
label_next: "次へ" label_next: "次へ"
label_no_color: "色なし" label_no_color: "色なし"
label_no_data: "表示できるデータがありません。" label_no_data: "表示できるデータがありません。"
label_no_due_date: "no finish date" label_no_due_date: "終了日なし"
label_no_start_date: "開始日なし" label_no_start_date: "開始日なし"
label_no_value: "値なし" label_no_value: "値なし"
label_none: "なし" label_none: "なし"
@ -406,7 +406,7 @@ ja:
label_sum_for: "合計" label_sum_for: "合計"
label_subject: "題名" label_subject: "題名"
label_this_week: "今週" label_this_week: "今週"
label_today: "Today" label_today: "今日"
label_time_entry_plural: "作業時間の記録" label_time_entry_plural: "作業時間の記録"
label_up: "アップ" label_up: "アップ"
label_user_plural: "ユーザ" label_user_plural: "ユーザ"
@ -416,10 +416,10 @@ ja:
label_total_amount: "合計: %{amount}" label_total_amount: "合計: %{amount}"
label_updated_on: "更新日時" label_updated_on: "更新日時"
label_value_derived_from_children: "(子から派生した値)" label_value_derived_from_children: "(子から派生した値)"
label_children_derived_duration: "Work package's children derived duration" label_children_derived_duration: "子作業項目のの派生期間"
label_warning: "注意" label_warning: "注意"
label_work_package: "ワーク パッケージ" label_work_package: "ワーク パッケージ"
label_work_package_parent: "Parent work package" label_work_package_parent: "親の作業項目"
label_work_package_plural: "作業項目" label_work_package_plural: "作業項目"
label_watch: "ウォッチする" label_watch: "ウォッチする"
label_watch_work_package: "作業項目をウォッチ" label_watch_work_package: "作業項目をウォッチ"
@ -506,7 +506,7 @@ ja:
context: 'プロジェクトのコンテキスト' context: 'プロジェクトのコンテキスト'
work_package_belongs_to: 'このワークパッケージは、プロジェクト %{projectname} に属しています。' work_package_belongs_to: 'このワークパッケージは、プロジェクト %{projectname} に属しています。'
click_to_switch_context: 'このワークパッケージをそのプロジェクトで開きます。' click_to_switch_context: 'このワークパッケージをそのプロジェクトで開きます。'
confirm_template_load: 'Switching the template will reload the page and you will lose all input to this form. Continue?' confirm_template_load: 'テンプレートを切り替えるとページが再読み込みされ、すべての入力が失われます。続行しますか?'
autocompleter: autocompleter:
label: 'プロジェクト名の入力補完' label: 'プロジェクト名の入力補完'
text_are_you_sure: "よろしいですか?" text_are_you_sure: "よろしいですか?"
@ -530,7 +530,7 @@ ja:
time_entry: time_entry:
project: 'プロジェクト' project: 'プロジェクト'
work_package: 'ワーク パッケージ' work_package: 'ワーク パッケージ'
work_package_required: 'Requires selecting a work package first.' work_package_required: '最初に作業項目を選択する必要があります。'
activity: '活動' activity: '活動'
comment: 'コメント' comment: 'コメント'
duration: '期間' duration: '期間'
@ -598,8 +598,8 @@ ja:
field_value_enter_prompt: "'%{field}'の値を入力" field_value_enter_prompt: "'%{field}'の値を入力"
project_menu_details: "詳細" project_menu_details: "詳細"
scheduling: scheduling:
manual: 'Manual scheduling' manual: '手動スケジュール'
automatic: 'Automatic scheduling' automatic: '自動スケジュール'
sort: sort:
sorted_asc: '昇順の並べ替えを適用しました。 ' sorted_asc: '昇順の並べ替えを適用しました。 '
sorted_dsc: '降順の並べ替えを適用しました。 ' sorted_dsc: '降順の並べ替えを適用しました。 '
@ -812,8 +812,8 @@ ja:
duplicate_query_title: "このビューの名前は既に存在します。 とにかく変更しますか?" duplicate_query_title: "このビューの名前は既に存在します。 とにかく変更しますか?"
text_no_results: "一致するビューは見つかりませんでした。" text_no_results: "一致するビューは見つかりませんでした。"
scheduling: scheduling:
is_parent: "The dates of this work package are automatically deduced from its children. Activate 'Manual scheduling' to set the dates." is_parent: "この作業項目の日付は、その子から自動的に推定されます。日付を設定するには、「手動スケジューリング」を有効にします。"
is_switched_from_manual_to_automatic: "The dates of this work package may need to be recalculated after switching from manual to automatic scheduling due to relationships with other work packages." is_switched_from_manual_to_automatic: "他の作業項目との関連により、手動スケジューリングから自動スケジューリングに切り替えた後に、このワークパッケージの日付を再計算する必要がある場合があります。"
table: table:
configure_button: 'ワークパッケージテーブルを設定する' configure_button: 'ワークパッケージテーブルを設定する'
summary: "作業項目の行と、作業項目の属性の列から成る表。" summary: "作業項目の行と、作業項目の属性の列から成る表。"
@ -847,13 +847,13 @@ ja:
automatic: '自動' automatic: '自動'
manually: '手動' manually: '手動'
warning: '自動並び替えモードをアクティブにすると、以前のソートが失われます。' warning: '自動並び替えモードをアクティブにすると、以前のソートが失われます。'
columns_help_text: "Use the input above to add columns to your table view. You can drag and drop the columns to reorder them." columns_help_text: "上記の入力を使用して、テーブルビューに列を追加します。列をドラッグアンドドロップして並べ替えることができます。"
upsale: upsale:
attribute_highlighting: '全体から目立つように特定の作業項目が必要ですか?' attribute_highlighting: '全体から目立つように特定の作業項目が必要ですか?'
relation_columns: 'ワークパッケージリストに関係を表示する必要がありますか?' relation_columns: 'ワークパッケージリストに関係を表示する必要がありますか?'
check_out_link: 'エンタープライズ版をチェックしてください。' check_out_link: 'エンタープライズ版をチェックしてください。'
relation_filters: relation_filters:
filter_work_packages_by_relation_type: 'Filter work packages by relation type' filter_work_packages_by_relation_type: '関係タイプで作業項目をフィルタ'
tabs: tabs:
overview: 概要 overview: 概要
activity: 活動 activity: 活動
@ -903,8 +903,8 @@ ja:
confirm_deletion_children: "列挙された作業項目のすべての子孫が再帰的に削除されることを承認します。" confirm_deletion_children: "列挙された作業項目のすべての子孫が再帰的に削除されることを承認します。"
deletes_children: "すべての子作業項目とその子孫も再帰的に削除されます。" deletes_children: "すべての子作業項目とその子孫も再帰的に削除されます。"
destroy_time_entry: destroy_time_entry:
title: "Confirm deletion of time entry" title: "タイムエントリの削除を確認"
text: "Are you sure you want to delete the following time entry?" text: "次のタイムエントリを削除してもよろしいですか?"
notice_no_results_to_display: "表示結果はありません。" notice_no_results_to_display: "表示結果はありません。"
notice_successful_create: "正常に作成しました。" notice_successful_create: "正常に作成しました。"
notice_successful_delete: "正常に削除しました。" notice_successful_delete: "正常に削除しました。"

@ -297,9 +297,9 @@
label_author: "Author: %{user}" label_author: "Author: %{user}"
label_avatar: "Profilbilde" label_avatar: "Profilbilde"
label_between: "mellom" label_between: "mellom"
label_board: "Board" label_board: "Tavle"
label_board_locked: "Låst" label_board_locked: "Låst"
label_board_plural: "Boards" label_board_plural: "Tavler"
label_board_sticky: "Sticky" label_board_sticky: "Sticky"
label_create: "Opprett" label_create: "Opprett"
label_create_work_package: "Opprett ny arbeidspakke" label_create_work_package: "Opprett ny arbeidspakke"
@ -320,7 +320,7 @@
label_committed_at: "%{committed_revision_link} at %{date}" label_committed_at: "%{committed_revision_link} at %{date}"
label_committed_link: "committed revision %{revision_identifier}" label_committed_link: "committed revision %{revision_identifier}"
label_contains: "inneholder" label_contains: "inneholder"
label_created_on: "created on" label_created_on: "Opprettet"
label_edit_comment: "Edit this comment" label_edit_comment: "Edit this comment"
label_edit_status: "Edit the status of the work package" label_edit_status: "Edit the status of the work package"
label_equals: "er" label_equals: "er"
@ -347,7 +347,7 @@
label_incoming_emails: "Inkommende e-post" label_incoming_emails: "Inkommende e-post"
label_information_plural: "Informasjon" label_information_plural: "Informasjon"
label_import: "Importer" label_import: "Importer"
label_latest_activity: "Latest activity" label_latest_activity: "Siste aktivitet"
label_last_updated_on: "Sist oppdatert" label_last_updated_on: "Sist oppdatert"
label_learn_more_link: "Mer informasjon" label_learn_more_link: "Mer informasjon"
label_less_or_equal: "<=" label_less_or_equal: "<="
@ -398,7 +398,7 @@
label_sort_lower: "Flytt ned" label_sort_lower: "Flytt ned"
label_sorting: "Sortering" label_sorting: "Sortering"
label_spent_time: "Tid brukt" label_spent_time: "Tid brukt"
label_star_query: "Favored" label_star_query: "Favorittisert"
label_press_enter_to_save: "Press enter to save." label_press_enter_to_save: "Press enter to save."
label_public_query: "Offentlig" label_public_query: "Offentlig"
label_sum: "Sum" label_sum: "Sum"
@ -428,9 +428,9 @@
label_unwatch: "Stopp overvåking" label_unwatch: "Stopp overvåking"
label_unwatch_work_package: "Stopp overvåking av arbeidspakke" label_unwatch_work_package: "Stopp overvåking av arbeidspakke"
label_uploaded_by: "Opplastet av" label_uploaded_by: "Opplastet av"
label_default_queries: "Default views" label_default_queries: "Standardvisninger"
label_starred_queries: "Favorite views" label_starred_queries: "Favorittvisninger"
label_global_queries: "Public views" label_global_queries: "Offentlige visninger"
label_custom_queries: "Private views" label_custom_queries: "Private views"
label_columns: "Kolonner" label_columns: "Kolonner"
label_attachments: Filer label_attachments: Filer
@ -769,11 +769,11 @@
versionName: "Versjon" versionName: "Versjon"
version: "Versjon" version: "Versjon"
default_queries: default_queries:
latest_activity: "Latest activity" latest_activity: "Siste aktivitet"
created_by_me: "Created by me" created_by_me: "Opprettet av meg"
assigned_to_me: "Assigned to me" assigned_to_me: "Tildelt meg"
recently_created: "Recently created" recently_created: "Nylig opprettet"
all_open: "All open" all_open: "Alle åpne"
summary: "Sammendrag" summary: "Sammendrag"
jump_marks: jump_marks:
pagination: "Jump to table pagination" pagination: "Jump to table pagination"
@ -800,7 +800,7 @@
confirm_edit_cancel: "Are you sure you want to cancel editing the name of this view? Title will be set back to previous value." confirm_edit_cancel: "Are you sure you want to cancel editing the name of this view? Title will be set back to previous value."
click_to_edit_query_name: "Click to edit title of this view." click_to_edit_query_name: "Click to edit title of this view."
rename_query_placeholder: "Name of this view" rename_query_placeholder: "Name of this view"
star_text: "Mark this view as favorite and add to the saved views sidebar on the left." star_text: "Marker denne visningen som favoritt og legg til i visnings meny på venstre side."
public_text: > public_text: >
Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results. Publish this view, allowing other users to access your view. Users with the 'Manage public views' permission can modify or remove public query. This does not affect the visibility of work package results in that view and depending on their permissions, users may see different results.
errors: errors:

@ -272,11 +272,11 @@ sl:
standard: standard:
learn_about_link: https://www.openproject.org/openproject-11-1-release learn_about_link: https://www.openproject.org/openproject-11-1-release
current_new_feature_html: > current_new_feature_html: >
The release contains various new features and improvements: <br> <ul class="%{list_styling_class}"> <li><b>Improved stylings</b> of the WYSIWYG editor.</li> <li>Direct display of <b>user name for @notifications</b> while editing.</li> <li>Extended authentication profile with an <b>OpenID Connect provider.</b></li> <li>Display project <b>milestones aggregated</b> in single row in Gantt chart.</li> <li><b>Collapse all button for groups</b> in the work packages list.</li> <li><b>Optimization for printing,</b> e.g. wiki pages, via the browser print function.</li> </ul> Verzija vsebuje veliko novih funkcij in izboljšav:br> <ul class="%{list_styling_class}"> <li><b>Izboljšani stili</b> WYSIWYG urednika.</li> <li>Direkten prikaz <b>uporabniškega imena za @obvestila</b> med urejanjem.</li> <li>Extended authentication profile with an <b>OpenID Connect provider.</b></li> <li>Display project <b>milestones aggregated</b> in single row in Gantt chart.</li> <li><b>Collapse all button for groups</b> in the work packages list.</li> <li><b>Optimization for printing,</b> e.g. wiki pages, via the browser print function.</li> </ul>
bim: bim:
learn_about_link: https://www.openproject.org/openproject-11-0-release learn_about_link: https://www.openproject.org/openproject-11-0-release
current_new_feature_html: > current_new_feature_html: >
The release contains various new features and improvements: <br> <ul class="%{list_styling_class}"> <li><b>Improved stylings</b> of the WYSIWYG editor.</li> <li>Direct display of <b>user name for @notifications</b> while editing.</li> <li>Extended authentication profile with an <b>OpenID Connect provider.</b></li> <li>Display project <b>milestones aggregated</b> in single row in Gantt chart.</li> <li><b>Collapse all button for groups</b> in the work packages list.</li> <li><b>Optimization for printing,</b> e.g. wiki pages, via the browser print function.</li> </ul> Verzija vsebuje veliko novih funkcij in izboljšav:br> <ul class="%{list_styling_class}"> <li><b>Izboljšani stili</b> WYSIWYG urednika.</li> <li>Direkten prikaz <b>uporabniškega imena za @obvestila</b> med urejanjem.</li> <li>Extended authentication profile with an <b>OpenID Connect provider.</b></li> <li>Display project <b>milestones aggregated</b> in single row in Gantt chart.</li> <li><b>Collapse all button for groups</b> in the work packages list.</li> <li><b>Optimization for printing,</b> e.g. wiki pages, via the browser print function.</li> </ul>
label_activate: "Aktiviraj" label_activate: "Aktiviraj"
label_add_column_after: "Dodaj stolpec za" label_add_column_after: "Dodaj stolpec za"
label_add_column_before: "Dodaj stolpec pred" label_add_column_before: "Dodaj stolpec pred"
@ -332,7 +332,7 @@ sl:
label_filename: "Datoteka" label_filename: "Datoteka"
label_filesize: "Velikost" label_filesize: "Velikost"
label_general: "Splošno" label_general: "Splošno"
label_global_roles: "Globalna pravila" label_global_roles: "Globalne vloge"
label_greater_or_equal: ">=" label_greater_or_equal: ">="
label_group: 'Skupina' label_group: 'Skupina'
label_group_by: "Razvrsti po" label_group_by: "Razvrsti po"

@ -598,7 +598,7 @@
project: project:
error_not_found: "not found" error_not_found: "not found"
public: public:
error_unauthorized: "- The user has no permission to create public views." error_unauthorized: "- Brukeren har ikke tillatelse til å opprette offentlige visninger."
group_by: group_by:
invalid: "Kan ikke gruppere av: %{value}" invalid: "Kan ikke gruppere av: %{value}"
format: "%{message}" format: "%{message}"
@ -1240,7 +1240,7 @@
label_all: "alle" label_all: "alle"
label_all_time: "alle tidspunkt" label_all_time: "alle tidspunkt"
label_all_words: "Alle ord" label_all_words: "Alle ord"
label_all_open_wps: "All open" label_all_open_wps: "Alle åpne"
label_always_visible: "Vises alltid" label_always_visible: "Vises alltid"
label_announcement: "Kunngjøring" label_announcement: "Kunngjøring"
label_api_access_key: "API adgangsnøkkel" label_api_access_key: "API adgangsnøkkel"
@ -1947,7 +1947,7 @@
permission_manage_members: "Administrere medlemmer" permission_manage_members: "Administrere medlemmer"
permission_manage_news: "Administrere nyheter" permission_manage_news: "Administrere nyheter"
permission_manage_project_activities: "Administrere prosjektaktiviteter" permission_manage_project_activities: "Administrere prosjektaktiviteter"
permission_manage_public_queries: "Manage public views" permission_manage_public_queries: "Administrer offentlige visninger"
permission_manage_repository: "Administrere pakkebrønner" permission_manage_repository: "Administrere pakkebrønner"
permission_manage_subtasks: "Manage work package hierarchies" permission_manage_subtasks: "Manage work package hierarchies"
permission_manage_versions: "Administrere versjoner" permission_manage_versions: "Administrere versjoner"

@ -37,12 +37,12 @@ sl:
primary-color-dark: "Primarna (temna)" primary-color-dark: "Primarna (temna)"
header-bg-color: "Ozadje glave" header-bg-color: "Ozadje glave"
header-item-bg-hover-color: "Ozadje glave, ko smo z miško na vsebini" header-item-bg-hover-color: "Ozadje glave, ko smo z miško na vsebini"
header-item-font-color: "Font glave" header-item-font-color: "Pisava glave"
header-item-font-hover-color: "pisava glave, ko smo z miško na vsebini" header-item-font-hover-color: "pisava glave, ko smo z miško na vsebini"
header-border-bottom-color: "Rob glave" header-border-bottom-color: "Rob glave"
main-menu-bg-color: "Ozadje glavnega menija" main-menu-bg-color: "Ozadje glavnega menija"
main-menu-bg-selected-background: "Glavni meni, ko se izbere" main-menu-bg-selected-background: "Glavni meni, ko je izbran"
main-menu-bg-hover-background: "Glavni meni ob nastavitvi kazalca" main-menu-bg-hover-background: "Glavni meni, ko smo z miško na vsebini"
main-menu-font-color: "Pisava glavnega menija" main-menu-font-color: "Pisava glavnega menija"
main-menu-selected-font-color: "Pisava glavnega menija, ko je izbrana" main-menu-selected-font-color: "Pisava glavnega menija, ko je izbrana"
main-menu-hover-font-color: "Pisava glavnega menija, ko z miško lebdimo nad vsebino" main-menu-hover-font-color: "Pisava glavnega menija, ko z miško lebdimo nad vsebino"
@ -57,11 +57,11 @@ sl:
primary-color: "Glavna barva." primary-color: "Glavna barva."
primary-color-dark: "Običajno temnejša različica glavne barve, ki se uporablja za učinke lebdenja." primary-color-dark: "Običajno temnejša različica glavne barve, ki se uporablja za učinke lebdenja."
header-item-bg-hover-color: "Barva ozadja enot v glavi katere je mogoče klikniti, ko se z miško premaknete na njih." header-item-bg-hover-color: "Barva ozadja enot v glavi katere je mogoče klikniti, ko se z miško premaknete na njih."
header-item-font-color: "Barva pisave klikajočih enot v glavi." header-item-font-color: "Barva pisave enot v glavi, na katere lahko kliknemo."
header-item-font-hover-color: "Barva pisave klikajočih elementov v glavi, ko se z miško premaknemo na njih." header-item-font-hover-color: "Barva pisave elementov v glavi, na katere lahko kliknemo, ko se z miško premaknemo na njih."
header-border-bottom-color: "Tanka črta pod glavo. Pustite to polje prazno, če ne želite črte." header-border-bottom-color: "Tanka črta pod glavo. Pustite to polje prazno, če ne želite črte."
main-menu-bg-color: "Barva ozadja levega menija." main-menu-bg-color: "Barva ozadja levega menija."
theme_warning: "Sprememba teme bo nadomestilo vaš slog po meri. Oblikovanje bo tkao izgubljeno. Ali ste prepričani, da bi radi nadaljevali?\n" theme_warning: "Sprememba teme bo nadomestilo vaš slog po meri. Oblikovanje bo tako izgubljeno. Ali ste prepričani, da bi radi nadaljevali?\n"
enterprise: enterprise:
upgrade_to_ee: "Nadgradite v Enterprise Edition" upgrade_to_ee: "Nadgradite v Enterprise Edition"
add_token: "Naloži Enterprise Edition podporni žeton" add_token: "Naloži Enterprise Edition podporni žeton"
@ -79,7 +79,7 @@ sl:
is_inactive: trenutno ni prikazano is_inactive: trenutno ni prikazano
attribute_help_texts: attribute_help_texts:
note_public: 'Any text and images you add to this field is publically visible to all logged in users!' note_public: 'Any text and images you add to this field is publically visible to all logged in users!'
text_overview: 'V tem pogledu lahko ustvarite besedila pomoči po meri za pogled atributov. Ko je definirano, lahko ta besedila prikažemo s klikom ikone pomoči poleg pripadajočega atributa.' text_overview: 'V tem pogledu lahko ustvarite besedila pomoči po meri za pogled atributov. Ob definiciji lahko ta besedila prikažemo s klikom ikone pomoči poleg pripadajočega atributa.'
label_plural: 'Tekst pomoči atributa' label_plural: 'Tekst pomoči atributa'
show_preview: 'Predogled besedila' show_preview: 'Predogled besedila'
add_new: 'Dodajte besedilo pomoči' add_new: 'Dodajte besedilo pomoči'
@ -536,7 +536,7 @@ sl:
invalid_url: 'ni veljaven URL. ' invalid_url: 'ni veljaven URL. '
invalid_url_scheme: 'ni podprt protokol (dovoljeno:%{allowed_schemes}).' invalid_url_scheme: 'ni podprt protokol (dovoljeno:%{allowed_schemes}).'
less_than_or_equal_to: "mora biti manjše ali enako %{count}. " less_than_or_equal_to: "mora biti manjše ali enako %{count}. "
not_current_user: "is not the current user." not_current_user: "ni trenutni uporabnik"
not_a_date: "ni veljaven datum" not_a_date: "ni veljaven datum"
not_a_datetime: "ni veljaven datum." not_a_datetime: "ni veljaven datum."
not_a_number: "ni število." not_a_number: "ni število."
@ -1791,7 +1791,7 @@ sl:
label_yesterday: "včeraj" label_yesterday: "včeraj"
label_role_type: "Vrsta" label_role_type: "Vrsta"
label_member_role: "Projektne vloge" label_member_role: "Projektne vloge"
label_global_role: "Globalne vloge" label_global_role: "Globalna vloga"
label_not_changeable: "(ne spremenljivo)" label_not_changeable: "(ne spremenljivo)"
label_global: "Globalno" label_global: "Globalno"
auth_source: auth_source:

@ -9,13 +9,13 @@ keywords: bug report, bug, error, not working
If you find a bug please create a bug report. If you find a bug please create a bug report.
1. Login to or register at the [OpenProject community platform](https://community.openproject.com/login). It's fast and free. 1. Login to or register at the [OpenProject community platform](https://community.openproject.org/login). It's fast and free.
2. Look for an existing bug report using the search bar in the header navigation on top. If there's one, please leave a comment or add additional information. Otherwise: 2. Look for an existing bug report using the search bar in the header navigation on top. If there's one, please leave a comment or add additional information. Otherwise:
3. Open the [bug form](https://community.openproject.com/projects/openproject/work_packages/new?type=1). 3. Open the [bug form](https://community.openproject.org/projects/openproject/work_packages/new?type=1).
4. Add a precise subject. 4. Add a precise subject.
5. Add a detailed description. 5. Add a detailed description using the template.
6. Attach a file (optional). 6. Attach a file (optional).
7. Press Create. 7. Press **Create**.
# Information you should add to the bug description # Information you should add to the bug description

@ -9,13 +9,13 @@ keywords: feature requests, ideas, open feature request
## How to submit a feature idea? ## How to submit a feature idea?
1. Login to or register at the [OpenProject community platform](https://community.openproject.com/login). It's fast and free. 1. Login to or register at the [OpenProject community platform](https://community.openproject.org/login). It's fast and free.
2. Use the search bar in the header navigation on top to look for similar feature requests. If there's one, please leave a comment or add additional information. Otherwise: 2. Use the search bar in the header navigation on top to look for similar feature requests. If there's one, please leave a comment or add additional information. Otherwise:
3. Open the [feature create form](https://community.openproject.com/projects/openproject/work_packages/create_new?type=6). 3. Open the [feature create form](https://community.openproject.org/projects/openproject/work_packages/new?type=6).
4. Add a subject and detailed description. 4. Add a subject and detailed description using the template.
5. Attach a file (optional). 5. Attach a file (optional).
6. Set version to "Wish List". 6. Set version to "Wish List".
7. Press Create. 7. Press **Create**.
## Feature idea guideline ## Feature idea guideline

@ -7,150 +7,178 @@ robots: index, follow
keywords: manage users, lock, unlock, invite, language keywords: manage users, lock, unlock, invite, language
--- ---
# Manage Users # Manage users
The users list provides an overview of all users in OpenProject. You can create new users, make changes to existing user accounts, block or delete users from the system. The number of users for your subscription is thus not bound to names. For example, if you block a user you can add a new one without upgrading. The users list provides an overview of all users in OpenProject. You can create new users, make changes to existing user accounts, block or delete users from the system. The number of users for your subscription is thus not bound to names. For example, if you block a user you can add a new one without upgrading. To manage users click on your avatar (top right corner) and select *Administration*. Select *Users and Permissions -> Users*. The list of current users is shown.
<div class="glossary"> <div class="glossary">
**User** is defined as a person (described by an identifier) who uses OpenProject. New users can be created in the admin settings. Users can become project members by assigning them a role and adding them via the project settings. **User** is defined as a person (described by an identifier) who uses OpenProject. Users can become project members by assigning them a role and adding them via the project settings.
</div> </div>
In the Community Edition there is no limit to the number of users. In Enterprise editions (cloud and on-premises) the user limit is based on your subscription.
| Topic | Content | | Topic | Content |
| ----------------------------------------------- | ------------------------------------------------------------ | | ----------------------------------------------- | ------------------------------------------------------------ |
| [User list](#user-list) | Manage all users in OpenProject. | | [User list](#user-list) | Manage all users in OpenProject. |
| [Lock and unlock users](#lock-and-unlock-users) | Block a user permanently in the system or unlock a user. |
| [Filter users](#filter-users) | Filter users in the list. | | [Filter users](#filter-users) | Filter users in the list. |
| [Invite new users](#invite-new-users) | Add new users to your OpenProject and invite them via email. Resend and delete user invitations. | | [Lock and unlock users](#lock-and-unlock-users) | Block a user permanently in the system or unlock a user. |
| [Manage user settings](#manage-user-settings) | Manage user settings, e.g. language, projects, groups, global roles, rate history, avatar, two-factor authentication. | | [Create users](#create-users) | Create new users. |
| [Manage user settings](#manage-user-settings) | Manage user details. |
| [Authentication](#authentication) | Set and use authentication methods. |
| [Delete users](#delete-users) | Delete a user from the system. | | [Delete users](#delete-users) | Delete a user from the system. |
## User list ## User list
You will see the list of all users in your OpenProject with detailed information, such as user name, first name, last name, e-mail address. The User List is where users are managed. They can be added, edited or deleted from this list, which can be filtered if required.
![user list](image-20200211141841492.png)
You will also see if a user is an Administrator in the system. Column headers can be clicked to toggle sort direction. Arrows indicate sort order, up for ascending (a-z/0-9) and down for descending (z-a/9-0). Paging controls are shown at the bottom of the list. You will also see whether a user is a system administrator in OpenProject.
Also, you get the information when the user has been created, and when the user had his last login. ## Filter users
![user list](image-20200211141841492.png) At the top of the user list is a filter box. Filter by Status or Name, then click the blue **Apply** button to filter the list. Click the **Clear** button to reset the filter fields and refresh the list.
* **Status** - select from Active, All or Locked Temporarily. Each selection shows the number of users.
* **Name** - enter any text; this can contain a "%" wild card for 0 or more characters. The filter applies to username, first name, last name and email address.
![filter users](image-20200115155456033.png)
## Lock and unlock users ## Lock and unlock users
If you want to **block users permanently** in the system, you can click the **Lock permanently** link next to a user. Handling locked users is also done from the list. To disable a user's access click the **Lock permanently** link next to a user. Use the **Unlock** link to restore the user's access.
If you are using [Enterprise cloud](../../../cloud-edition-guide) or [Enterprise on-premises](../../../enterprise-edition-guide) you will then have a new user available to add to the system within your booked plan. If you are using [Enterprise cloud](../../../cloud-edition-guide) or [Enterprise on-premises](../../../enterprise-edition-guide) locking a user will make a new user available to add to the system within your booked plan.
<div class="alert alert-info" role="alert"> <div class="alert alert-info" role="alert">
**Note**: The previous activities from these locked users will still be displayed in the system. **Note**: The previous activities from a locked user will still be displayed in the system.
</div> </div>
![System-admin-guide_lock-users](System-admin-guide_lock-users.png) ![System-admin-guide_lock-users](System-admin-guide_lock-users.png)
The way to unlock users is basically the same. Use the **Unlock** link at the right. If a user has repeated failed logins the user will be locked and a "Reset failed logins" link is shown in the user list. Click the link to unlock it now, or wait and it will be unlocked automatically. See [Other authentication settings](../../authentication/authentication-settings/#other-authentication-settings) for failed attempts and time blocked.
Here you can also **unlock users who have been locked temporarily due to multiple failed login attempts**.
## Filter users ## Create users
Especiall if you have a very long user list, it is essential to filter in this list. New users can be created and configured by an administrator, a single user or multiple users. A person can create their own user from the home page by clicking on the "Sign in" button (top right), then on the "Create a new account" link in the sign in box.
At the top of the list, you can choose to filter for all, altive, or locked users. ### Create user (Sign in link)
You can then search for the name or email of a user. Click the blue **Apply** button to filter the list.
![filter users](image-20200115155456033.png) Click the "Create a new account" link in the sign in box. In the "Create a new account" window, enter values in all fields (they cannot be left blank). The Email field must be a valid email address that is not used in this system. Click the **Create** button. Your account is created but must be activated by the administrator.
## Invite new users ### Create user (Administration)
To invite new users to your system, click the green **+ User** button at the top right. From the user list, click the "+User" button to open the "New user" form.
![Sys-admin-add-users](Sys-admin-add-users.png) ![new user](image-20200115155855409.png)
Enter the Email address, first name, and last name of the new user. Check whether the new user should get system administration rights. Enter the Email address, First name, and Last name of the new user. Tick the box to make them an administrator user.
Click the blue **Create** button in order to invite the new user via email. Note: the Email field must be a valid format and be unique or it will be rejected on clicking the button.
![new user](image-20200115155855409.png) Click the **Create** button to add the user and show that users details page. Click the **Create and continue** button to add the user and stay on the new user form to add another user. When adding the last of multiple users you can click on **Create** or click the **Users** link. The users list is shown. Click each user in turn to edit their details.
The **Create and continue** button will bring you to the form to add another new user. ### Set initial details
### Resend user invitation via email You can edit the details of a newly created user. Useful fields might be **Username**, **Language** and **Time zone**. You might also fill **Projects**, **Groups** and **Rates**, or leave these to the "Project creator".
If a user did not receive the email invitation, you can send the invitation to the user again if needed. In the user list, click on the user name to whom you want to resend the email with the invitation link to the system. Also consider the **[authentication](#authentication) settings**. See [Manage user settings](#manage-user-settings) for full details.
In the top right, click the **Send invitation** button in order to send the email once again. ### Activate users
![Sys-admin-resend-invitation](Sys-admin-resend-invitation.png) Open the user list. If a user has created their own account it is shown in the list with an "Activate" link on the right. Click this link and continue to add details to this user as above. There is also an "Activate" button at the top of the user details page.
## Manage user settings
You can manage individual user details if you click on the user name in the list. These settings will overwrite the individual user's settings set in their My Account settings.
### General settings
### Delete user invitations On the General tab the following fields are shown:
To invalidate or revoke a user's invitation click on the user name and then on **Delete** in the upper right corner. This will prevent the invited user from logging in.
Please note: This only works for users who haven't logged in yet. If the user is already active this will delete his/her whole profile and account. Deleting users can't be easily revoked.
## View user profile * **Status** - this is set by the system.
* **Username** - this defaults to the email address for a new user (unless the user used the self registration). It can be changed on this page. Users cannot change their own username.
* **First name**, **Last name**, **Email** - these fields are filled from the new user page. Users can change them on their Profile page; they are mandatory.
* **Language** - this defaults from the [user settings](../settings/#default-preferences). Users can change this on their Profile page.
* **Administrator** - Activate or deactivate this global role. Users cannot change this.
* **Custom Fields** - if these have been created they are shown here.
* **User consent** - if this has been [configured](../settings/#user-consent) the consent status is shown here.
* **Authentication** - the content of this section depends on the type of [authentication method](#authentication) being used.
* **Email notifications** - this defaults from the [Email notification settings](../../email/#email-notifications-settings). Users can change this on their Profile page.
* **Preferences** - users can change these on their Profile page. Time zone defaults from chosen language.
If you want to see the user profile, click on the user name in the user list to display the activities across all projects from a certain user. Click the **Profile** button on the top right of a user. Do not forget to **Save** your changes.
![Sys-admin-profile](Sys-admin-profile.png) ![Sys-admin-user-settings](Sys-admin-user-settings.png)
### Add users to a project
In order to see and work in a project, a user has to be a member of a project and needs to be added with a certain role to this project.
You will see all the Activities across all projects from this user, as well as the amount of reported work packages in the system. On the **Projects** tab, select the new project from the drop-down list, choose the **roles** for this project and click the blue **Add** button.
![user profile](image-20200115162109669.png) ![Sys-admin-add-project](Sys-admin-add-project.gif)
## Manage user settings ### Add users to groups
### General settings On the **Groups** tab you can see the groups the user belongs to. If a group is shown, click a group name link. If no groups are shown, click the **Manage groups** link to [edit groups](../groups).
You can manage individual user settings if you click on the user name in the list. The settings will overwrite the individual user settings set in the [My Account settings](../../../getting-started/my-account/). ![add users to a group](image-20200115165406439.png)
(1) Change username, first name, last name, email address or language. Activate or deactivate **Administrator** permission. ### Global roles
(2) See user based custom fields. In order to add a global role to a user, at least [one global role needs to be created](../roles-permissions) in the system (a role with the "Global role" field ticked).
(3) Display last given [user consent](../settings/#user-consent). On the **Global roles** tab, select or de-select the global role(s) for this user. Click the **Add** button.
(4) Display **authentication provider**. ### Rate history
(5) Change e-mail **notification** settings. The rate history shows the hourly rates that have been defined for the user. The "Default rate" is applied to projects with no rate defined. All projects that the user is a member of are listed with the user's rates.
(6) Set **preferences** for time zone and display of comments. ### Avatar
(7) Do not forget to **Save** your changes. The **Avatar** tab shows the default icon to be shown for this user. A custom image can be uploaded as the avatar. In addition, the users can also use their [Gravatar](https://en.wikipedia.org/wiki/Gravatar). The user can manage this in their Profile. These features can be disabled in the [avatar settings](../avatars).
![Sys-admin-user-settings](Sys-admin-user-settings.png) ## Authentication
### Add users to a project The available authentication methods affect the content of the Authentication section in the user details. See [authentication settings](../../authentication/authentication-settings/) for details.
In order to see and work in a project, a user has to be a member of a project and needs to be added with a certain role to this project. Use the **self-registration** field to give the following controls over a new user's access.
On the **Projects** tab, select the new project from the drop-down list, choose a **role** for this project and click the blue **Add** button. ### Manual account activation
![Sys-admin-add-project](Sys-admin-add-project.gif) The user details Authentication section has fields **Assign random password**, **Password**, **Confirmation** and **Enforce password change**.
### Add users to groups * If you are near the new user, you can enter a password and confirmation then tell the user what it is. They can then sign in. It is recommended that you also tick the enforce password change tickbox, so that the user is prompted to change their password after they sign in.
* You can phone the new user or send them an email, not using OpenProject, to give them the password. In this case it is more important to tick the enforce password change tickbox.
* Tick the Assign random password, and probably the enforce password change tickbox. When the details are saved OpenProject will send an email to the new user with their password.
In order to add a user to a group, at least [one group needs to be created](../groups) in the system. ### Account activation by email
Select or de-select the groups a user should be a member of. Click the blue **Save** button. Leave all fields blank. When the details are saved OpenProject will send an email to the new user with a link inviting the user to OpenProject. They click the link to get the registration page to complete creating their account.
![add users to a group](image-20200115165406439.png) ### Resend user invitation via email
If a user did not receive the email invitation, you can send the invitation to the user again if needed. In the user list, click on the user name to whom you want to resend the email with the invitation link to the system.
In the top right, click the **Send invitation** button in order to send the email once again.
## Delete users ![Sys-admin-resend-invitation](Sys-admin-resend-invitation.png)
In order to delete users from the system, open the [user list](#user-list). ## Delete users
Click on the **user name** of the user which you want to delete. Two [settings](../settings/#user-deletion/) allow users to be deleted from the system:
* **User accounts deletable by admins** - if ticked, a "Delete" button is shown on the user details page.
* **Users allowed to delete their accounts** - if ticked, a "Delete account" menu entry is shown in the "My Account" page.
To delete a user permanently from the system, press the **Delete** button at the top right. To delete another user's account open the [user list](#user-list). Click on the **user name** of the user which you want to delete. Click the **Delete** button at the top right.
![Sys-admin-delete-user](Sys-admin-delete-user.png) ![Sys-admin-delete-user](Sys-admin-delete-user.png)
You will then be asked to type in the user's email address in order to delete the user permanently from the system. You will then be asked to type in the username in order to delete the user permanently from the system, then confirm this with your password.
![delete user](image-20200115162533470.png) ![delete user](image-20200115162533470.png)
<div class="alert alert-info" role="alert"> <div class="alert alert-info" role="alert">
**Note**: Deleting a user account is an irreversible action and cannot easily be restored via the frontend. **Note**: Deleting a user account is an irreversible action and cannot be reversed. The previous activities from this user will still be displayed in the system but reassigned to "deleted user".
</div> </div>

@ -43,9 +43,7 @@ module API
get do get do
attachment = instance_exec(&block) attachment = instance_exec(&block)
# Cache that value at max 604799 seconds, which is the max respond_with_attachment attachment, cache_seconds: fog_cache_seconds
# allowed expiry time for AWS generated links
respond_with_attachment attachment, cache_seconds: max_aws_cache_seconds
end end
} }
end end
@ -100,8 +98,11 @@ module API
end end
end end
def max_aws_cache_seconds def fog_cache_seconds
604799 [
0,
OpenProject::Configuration.fog_download_url_expires_in.to_i - 10
].max
end end
def avatar_link_expires_in def avatar_link_expires_in

@ -34,7 +34,7 @@ module OpenProject
module VERSION #:nodoc: module VERSION #:nodoc:
MAJOR = 11 MAJOR = 11
MINOR = 1 MINOR = 1
PATCH = 3 PATCH = 4
TINY = PATCH # Redmine compat TINY = PATCH # Redmine compat
class << self class << self

@ -27,14 +27,14 @@ sl:
remaining_hours: "Preostale ure" remaining_hours: "Preostale ure"
remaining_time: "Preostale ure" remaining_time: "Preostale ure"
story_points: "Točke v zgodbi" story_points: "Točke v zgodbi"
backlogs_work_package_type: "Backlog tip" backlogs_work_package_type: "Tip opravila na čakanju"
errors: errors:
models: models:
work_package: work_package:
attributes: attributes:
blocks_ids: blocks_ids:
can_only_contain_work_packages_of_current_sprint: "izberete lahko samo opravila iz trenutnega sprinta" can_only_contain_work_packages_of_current_sprint: "izberete lahko samo delovne pakete iz trenutnega teka"
must_block_at_least_one_work_package: "vsebovati mora ID vsaj enega opravila" must_block_at_least_one_work_package: "vsebovati mora ID vsaj enega zahtevka"
parent_id: parent_id:
parent_child_relationship_across_projects: "je neveljaven, ker je delovni paket '%{work_package_name}' opravilo zaostankov in zato ne more imeti nadrejenega zunaj trenutnega projekta." parent_child_relationship_across_projects: "je neveljaven, ker je delovni paket '%{work_package_name}' opravilo zaostankov in zato ne more imeti nadrejenega zunaj trenutnega projekta."
type_must_be_one_of_the_following: "Dovoljeni tipi so sledeči: %{type_names}" type_must_be_one_of_the_following: "Dovoljeni tipi so sledeči: %{type_names}"
@ -44,22 +44,22 @@ sl:
cannot_end_before_it_starts: "Tek se ne mora končati preden se začne" cannot_end_before_it_starts: "Tek se ne mora končati preden se začne"
backlogs: backlogs:
add_new_story: "Nova zgodba" add_new_story: "Nova zgodba"
any: "katerkoli" any: "katerikoli"
backlog_settings: "Backlog nastavitve" backlog_settings: "Nastavitve opravil na čakanju"
burndown_graph: "Graf burndown" burndown_graph: "Graf burndown"
card_paper_size: "Velikost papirja za tiskanje" card_paper_size: "Velikost papirja za tiskanje kartic"
chart_options: "Možnosti grafikona" chart_options: "Možnosti grafikona"
close: "Zapri" close: "Zapri"
column_width: "Širina stolpca" column_width: "Širina stolpca"
date: "Dan" date: "Dan"
definition_of_done: "Definicija izrazov" definition_of_done: "Opredelitev opravljenega"
generating_chart: "Generiranje grafa" generating_chart: "Generiranje grafa"
hours: "Ure" hours: "Ure"
impediment: "Ovira" impediment: "Ovira"
label_versions_default_fold_state: "Prikazne različice so zložene." label_versions_default_fold_state: "Pokaži različice zložene"
work_package_is_closed: "Opravilo je končano ko" work_package_is_closed: "Delovni paket je končan, ko"
label_is_done_status: "Status %{status_name} pomeni zaključeno" label_is_done_status: "Status %{status_name} pomeni zaključeno"
no_burndown_data: "Podatkov o zagonu ni na voljo. Potrebno je določiti začetne in končne datume sprinta." no_burndown_data: "Podatkov o zagonu ni na voljo. Potrebno je določiti začetne in končne datume teka."
points: "Točke" points: "Točke"
positions_could_not_be_rebuilt: "Položajev ni bilo mogoče obnoviti" positions_could_not_be_rebuilt: "Položajev ni bilo mogoče obnoviti"
positions_rebuilt_successfully: "Položaj je uspešno spremenjen!" positions_rebuilt_successfully: "Položaj je uspešno spremenjen!"
@ -77,18 +77,18 @@ sl:
unassigned: "Nedodeljeno" unassigned: "Nedodeljeno"
x_more: "%{count} več..." x_more: "%{count} več..."
backlogs_active: "aktiven" backlogs_active: "aktiven"
backlogs_any: "katerkoli" backlogs_any: "katerikoli"
backlogs_card_specification: "Vrste nalepk za tiskanje kartic" backlogs_card_specification: "Vrste nalepk za tiskanje kartic"
backlogs_inactive: "Na projektu ni aktivnosti" backlogs_inactive: "Na projektu ni aktivnosti"
backlogs_points_burn_direction: "Točke gorijo gor/dol" backlogs_points_burn_direction: "Točke gorijo gor/dol"
backlogs_product_backlog: "Priotiziran seznam vseh funkcij ter funkcionalnosti, ki so potrebne, da se projekt zaključi." backlogs_product_backlog: "Priotiziran seznam vseh funkcij ter funkcionalnosti, ki so potrebne, da se projekt zaključi."
backlogs_product_backlog_is_empty: "Priotiziran seznam vseh funkcij ter funkcionalnosti, ki so potrebne, da se projekt zaključi je prazen" backlogs_product_backlog_is_empty: "Priotiziran seznam vseh funkcij ter funkcionalnosti, ki so potrebne, da se projekt zaključi, je prazen"
backlogs_product_backlog_unsized: "Vrh priotiziranega seznama vseh funkcij ter funkcionalnosti, ki so potrebne, da se projekt zaključi ima nerazširjene zgodbe" backlogs_product_backlog_unsized: "Vrh priotiziranega seznama vseh funkcij ter funkcionalnosti, ki so potrebne, da se projekt zaključi ima nerazširjene zgodbe"
backlogs_sizing_inconsistent: "Velikosti zgodb se razlikujejo glede na njihove ocene" backlogs_sizing_inconsistent: "Velikosti zgodb se razlikujejo glede na njihove ocene"
backlogs_sprint_notes_missing: "Zaprti šprinti brez retrospektivnih / preglednih opomb\n" backlogs_sprint_notes_missing: "Zaprti teki brez retrospektivnih / preglednih opomb\n"
backlogs_sprint_unestimated: "Zaprti ali aktivni šprinti z neocenjenimi zgodbami" backlogs_sprint_unestimated: "Zaprti ali aktivni teki z neocenjenimi zgodbami"
backlogs_sprint_unsized: "Projekt ima zgodbe o aktivnih ali nedavno zaprtih šprintih, ki niso bili zajeti" backlogs_sprint_unsized: "Projekt ima zgodbe o aktivnih ali nedavno zaprtih tekih, ki niso bili zajeti"
backlogs_sprints: "Tek" backlogs_sprints: "Teki"
backlogs_story: "Zgodba" backlogs_story: "Zgodba"
backlogs_story_type: "Vrsta zgodbe" backlogs_story_type: "Vrsta zgodbe"
backlogs_task: "Opravilo" backlogs_task: "Opravilo"

@ -22,7 +22,7 @@ ja:
export: '外部出力' export: '外部出力'
import_update_comment: '(BCF インポートで更新済)' import_update_comment: '(BCF インポートで更新済)'
import_failed: 'BCF ファイルをインポートできません: %{error}' import_failed: 'BCF ファイルをインポートできません: %{error}'
import_failed_unsupported_bcf_version: 'Failed to read the BCF file: The BCF version is not supported. Please ensure the version is at least %{minimal_version} or higher.' import_failed_unsupported_bcf_version: 'BCF ファイルの読み取りに失敗しました: BCF バージョンはサポートされていません。少なくとも %{minimal_version} 以上のバージョンであることを確認してください。'
import_successful: '%{count} BCF チケットをインポートしました' import_successful: '%{count} BCF チケットをインポートしました'
import_canceled: 'BCF-XML インポートをキャンセルしました。' import_canceled: 'BCF-XML インポートをキャンセルしました。'
type_not_active: "チケットの形式がこのプロジェクトで有効になっていません。" type_not_active: "チケットの形式がこのプロジェクトで有効になっていません。"
@ -30,7 +30,7 @@ ja:
num_issues_found: '%{x_bcf_issues} は BCF-XML ファイルに含まれています。詳細は下に一覧表示されます。' num_issues_found: '%{x_bcf_issues} は BCF-XML ファイルに含まれています。詳細は下に一覧表示されます。'
button_prepare: 'インポートの準備' button_prepare: 'インポートの準備'
button_perform_import: 'インポートの確認' button_perform_import: 'インポートの確認'
button_proceed: 'Proceed with import' button_proceed: 'インポートを続ける'
button_back_to_list: 'リストに戻る' button_back_to_list: 'リストに戻る'
no_permission_to_add_members: 'プロジェクトにメンバーとして追加するための十分な権限がありません。' no_permission_to_add_members: 'プロジェクトにメンバーとして追加するための十分な権限がありません。'
contact_project_admin: 'プロジェクト管理者に連絡してメンバーとして追加し、このインポートをもう一度開始してください。' contact_project_admin: 'プロジェクト管理者に連絡してメンバーとして追加し、このインポートをもう一度開始してください。'
@ -56,7 +56,7 @@ ja:
import_as_system_user: 'それらを "システム" ユーザーとしてインポート' import_as_system_user: 'それらを "システム" ユーザーとしてインポート'
what_to_do: "どれかを選択して下さい。" what_to_do: "どれかを選択して下さい。"
work_package_has_newer_changes: "期限切れです! サーバー上の前回の変更がインポートされたトピックの「更新日付」よりも新しいため、このトピックは更新されませんでした。 ただし、トピックへのコメントはインポートされました。" work_package_has_newer_changes: "期限切れです! サーバー上の前回の変更がインポートされたトピックの「更新日付」よりも新しいため、このトピックは更新されませんでした。 ただし、トピックへのコメントはインポートされました。"
bcf_file_not_found: "Failed to locate BCF file. Please start the upload process again." bcf_file_not_found: "BCFファイルが見つかりませんでした。再度アップロードを開始してください。"
export: export:
format: format:
bcf: "BCF-XML" bcf: "BCF-XML"

@ -4,24 +4,24 @@ ja:
bcf: bcf:
label_bcf: 'BCF' label_bcf: 'BCF'
import: 'インポート' import: 'インポート'
import_bcf_xml_file: 'Import BCF XML file (BCF version 2.1)' import_bcf_xml_file: 'BCF XML ファイルをインポート (BCF バージョン 2.1)'
export: '外部出力' export: '外部出力'
export_bcf_xml_file: 'Export BCF XML file (BCF version 2.1)' export_bcf_xml_file: 'BCF XML ファイルをエクスポート (BCF バージョン 2.1)'
viewpoint: 'Viewpoint' viewpoint: 'ビューポイント'
add_viewpoint: 'Add viewpoint' add_viewpoint: 'ビューポイントを追加'
show_viewpoint: 'Show viewpoint' show_viewpoint: 'ビューポイントを表示'
delete_viewpoint: 'Delete viewpoint' delete_viewpoint: 'ビューポイントを削除'
management: 'BCF management' management: 'BCF 管理'
ifc_models: ifc_models:
empty_warning: "This project does not yet have any IFC models." empty_warning: "このプロジェクトにはまだIFCモデルはありません。"
use_this_link_to_manage: "Use this link to upload and manage your IFC models" use_this_link_to_manage: "リンクを使用して IFC モデルをアップロードして管理します"
keyboard_input_disabled: "Viewer does not have keyboard controls. Click on the viewer to give keyboard control to the viewer." keyboard_input_disabled: "ビューアにはキーボードコントロールがありません。ビューアをクリックするとキーボードコントロールが表示されます。"
models: models:
ifc_models: 'IFCモデル' ifc_models: 'IFCモデル'
views: views:
viewer: 'Viewer' viewer: 'ビューア'
split: 'Viewer and table' split: 'ビューアとテーブル'
split_cards: 'Viewer and cards' split_cards: 'ビューアーとカード'
revit: revit:
revit_add_in: "Revit Add-In" revit_add_in: "アドインを編集"
revit_add_in_settings: "Revit Add-In settings" revit_add_in_settings: "アドインの設定を変更する"

@ -204,13 +204,15 @@ describe 'BCF 2.1 viewpoints resource', type: :request, content_type: :json, wit
expect(subject.status).to eq 200 expect(subject.status).to eq 200
expect(subject.headers['Content-Type']).to eq 'image/jpeg' expect(subject.headers['Content-Type']).to eq 'image/jpeg'
expect(subject.headers["Cache-Control"]).to eq "public, max-age=604799" max_age = OpenProject::Configuration.fog_download_url_expires_in - 10
expect(subject.headers["Cache-Control"]).to eq "public, max-age=#{max_age}"
expect(subject.headers["Expires"]).to be_present expect(subject.headers["Expires"]).to be_present
expires_time = Time.parse response.headers["Expires"] expires_time = Time.parse response.headers["Expires"]
expect(expires_time < Time.now.utc + 604799).to be_truthy expect(expires_time < Time.now.utc + max_age).to be_truthy
expect(expires_time > Time.now.utc + 604799 - 60).to be_truthy expect(expires_time > Time.now.utc + max_age - 60).to be_truthy
end end
end end

@ -24,60 +24,60 @@ ja:
locked: 'ロックされている' locked: 'ロックされている'
closed: '終了' closed: '終了'
new_board: '新しいボード' new_board: '新しいボード'
add_list: 'Add list to board' add_list: 'ボードにリストを追加'
add_card: 'カードを追加' add_card: 'カードを追加'
error_attribute_not_writable: "作業項目を移動できません。 %{attribute} は書き込みできません。" error_attribute_not_writable: "作業項目を移動できません。 %{attribute} は書き込みできません。"
error_loading_the_list: "リストの読み込み中にエラーが発生しました: %{error_message}" error_loading_the_list: "リストの読み込み中にエラーが発生しました: %{error_message}"
error_permission_missing: "公開クエリを作成するアクセス許可が見つかりません。" error_permission_missing: "公開クエリを作成するアクセス許可が見つかりません。"
error_cannot_move_into_self: "You can not move a work package into its own column." error_cannot_move_into_self: "作業項目を自身の列に移動することはできません。"
click_to_remove_list: "クリックしてこのリストを削除" click_to_remove_list: "クリックしてこのリストを削除"
board_type: board_type:
text: 'ボードの形式' text: 'ボードの形式'
free: 'basic' free: '基本'
select_board_type: 'Please choose the type of board you need.' select_board_type: '必要なボードの種類を選択してください。'
free_text: > free_text: >
Start from scratch with a blank board. Manually add cards and columns to this board. 空白のボードで一からスタートします。カードと列を手動で追加します。
action: 'アクションボード' action: 'アクションボード'
action_by_attribute: 'アクションボード (%{attribute})' action_by_attribute: 'アクションボード (%{attribute})'
action_text: > action_text: >
A board with filtered lists on %{attribute} attribute. Moving work packages to other lists will update their attribute. %{attribute} 属性のリストをフィルタリングしたボード。作業項目を他のリストに移動すると、それらの属性が更新されます。
action_text_subprojects: > action_text_subprojects: >
Board with automated columns for subprojects. Dragging work packages to other lists updates the (sub-)project accordingly. サブプロジェクトの列が自動化されたボード。作業項目を他のリストにドラッグすると、それに応じて(サブ)プロジェクトが更新されます。
action_text_subtasks: > action_text_subtasks: >
Board with automated columns for sub-elements. Dragging work packages to other lists updates the parent accordingly. Board with automated columns for sub-elements. Dragging work packages to other lists updates the parent accordingly.
action_text_status: > action_text_status: >
Basic kanban style board with columns for status such as To Do, In Progress, Done. To Do、進行中、完了などのステータスの列を持つ基本的なカンバンスタイルボード。
action_text_assignee: > action_text_assignee: >
Board with automated columns based on assigned users. Ideal for dispatching work packages. Board with automated columns based on assigned users. Ideal for dispatching work packages.
action_text_version: > action_text_version: >
Board with automated columns based on the version attribute. Ideal for planning product development. Board with automated columns based on the version attribute. Ideal for planning product development.
action_type: action_type:
assignee: assignee assignee: 担当者
status: status status: ステータス
version: version version: バージョン
subproject: subproject subproject: サブプロジェクト
subtasks: parent-child subtasks: 親子
board_type_title: board_type_title:
assignee: 担当者 assignee: 担当者
status: ステータス status: ステータス
version: バージョン version: バージョン
subproject: 子プロジェクト subproject: 子プロジェクト
subtasks: Parent-Child subtasks: 親子
basic: Basic basic: 基本
select_attribute: "アクション属性" select_attribute: "アクション属性"
add_list_modal: add_list_modal:
labels: labels:
assignee: Select user to add as a new assignee list assignee: 新しい担当者リストとして追加するユーザーを選択します
status: Select status to add as a new list status: 新しいリストとして追加するステータスを選択
version: Select version to add as a new list version: 新しいリストとして追加するバージョンを選択してください
subproject: Select subproject to add as a new list subproject: 新しいリストとして追加するサブプロジェクトを選択します
subtasks: Select work package to add as a new list subtasks: 新しいリストとして追加する作業項目を選択
warning: warning:
status: | status: |
利用可能な状態ではありません。<br> 利用可能な状態ではありません。<br>
または、既にボードに追加されています。 または、既にボードに追加されています。
assignee: There isn't any member matched with your filter value. <br> assignee: フィルター値と一致するメンバーがいません。 <br>
no_member: This project currently does not have any members that can be added. <br> no_member: このプロジェクトには現在追加できるメンバーはいません。 <br>
add_members: <a href="%{link}">プロジェクトに新規メンバーを追加し</a> 、再度ユーザーを選択してください。 add_members: <a href="%{link}">プロジェクトに新規メンバーを追加し</a> 、再度ユーザーを選択してください。
configuration_modal: configuration_modal:
title: 'このボードの設定' title: 'このボードの設定'

@ -4,7 +4,7 @@
boards: boards:
label_unnamed_board: 'Unnamed board' label_unnamed_board: 'Unnamed board'
label_unnamed_list: 'Unnamed list' label_unnamed_list: 'Unnamed list'
label_board_type: 'Board type' label_board_type: 'Tavle type'
upsale: upsale:
teaser_text: 'Improve your agile project management with this flexible Boards view. Create as many boards as you like for anything you would like to keep track of.' teaser_text: 'Improve your agile project management with this flexible Boards view. Create as many boards as you like for anything you would like to keep track of.'
upgrade_to_ee_text: 'Boards is an Enterprise feature. Please upgrade to a paid plan.' upgrade_to_ee_text: 'Boards is an Enterprise feature. Please upgrade to a paid plan.'
@ -32,7 +32,7 @@
error_cannot_move_into_self: "You can not move a work package into its own column." error_cannot_move_into_self: "You can not move a work package into its own column."
click_to_remove_list: "Click to remove this list" click_to_remove_list: "Click to remove this list"
board_type: board_type:
text: 'Board type' text: 'Tavle type'
free: 'basic' free: 'basic'
select_board_type: 'Please choose the type of board you need.' select_board_type: 'Please choose the type of board you need.'
free_text: > free_text: >

@ -2,7 +2,7 @@
"no": "no":
permission_show_board_views: "View boards" permission_show_board_views: "View boards"
permission_manage_board_views: "Manage boards" permission_manage_board_views: "Manage boards"
project_module_board_view: "Boards" project_module_board_view: "Tavler"
boards: boards:
label_board: "Board" label_board: "Tavle"
label_boards: "Boards" label_boards: "Tavler"

@ -1,7 +1,7 @@
#English strings go here #English strings go here
sl: sl:
permission_show_board_views: "Prikaži deske" permission_show_board_views: "Prikaži tabele"
permission_manage_board_views: "Upravljaj deske" permission_manage_board_views: "Upravljaj tabele"
project_module_board_view: "Boardi" project_module_board_view: "Boardi"
boards: boards:
label_board: "Board" label_board: "Board"

@ -60,7 +60,7 @@ ja:
label_budget_plural: "予算" label_budget_plural: "予算"
label_budget_id: "予算 #%{id}" label_budget_id: "予算 #%{id}"
label_deliverable: "予算" label_deliverable: "予算"
label_example_placeholder: 'e.g., %{decimal}' label_example_placeholder: '例: %{decimal}'
label_view_all_budgets: "全ての予算を表示" label_view_all_budgets: "全ての予算を表示"
label_yes: "はい" label_yes: "はい"
notice_budget_conflict: "作業項目は同一プロジェクトである必要があります。" notice_budget_conflict: "作業項目は同一プロジェクトである必要があります。"

@ -49,7 +49,7 @@ sl:
caption_labor: "Delo" caption_labor: "Delo"
caption_labor_costs: "Dejanski stroški dela" caption_labor_costs: "Dejanski stroški dela"
caption_material_costs: "Dejanski stroški enote" caption_material_costs: "Dejanski stroški enote"
budgets_title: "Proračun" budgets_title: "Proračuni"
events: events:
budget: "Proračun urejen" budget: "Proračun urejen"
help_click_to_edit: "Kliknite tukaj, za urejanje" help_click_to_edit: "Kliknite tukaj, za urejanje"
@ -57,7 +57,7 @@ sl:
help_override_rate: "Vnesite vrednost, da nadomestite privzeto stopnjo." help_override_rate: "Vnesite vrednost, da nadomestite privzeto stopnjo."
label_budget: "Proračun" label_budget: "Proračun"
label_budget_new: "Nov proračun" label_budget_new: "Nov proračun"
label_budget_plural: "Proračun" label_budget_plural: "Proračuni"
label_budget_id: "Proračun #%{id}" label_budget_id: "Proračun #%{id}"
label_deliverable: "Proračun" label_deliverable: "Proračun"
label_example_placeholder: 'npr., %{decimal}' label_example_placeholder: 'npr., %{decimal}'
@ -67,4 +67,4 @@ sl:
notice_no_budgets_available: "Proračuni niso na voljo." notice_no_budgets_available: "Proračuni niso na voljo."
permission_edit_budgets: "Uredi proračun" permission_edit_budgets: "Uredi proračun"
permission_view_budgets: "Oglejte si proračune" permission_view_budgets: "Oglejte si proračune"
project_module_budgets: "Proračun" project_module_budgets: "Proračuni"

@ -79,7 +79,7 @@ ja:
label_costlog: "単価を記録" label_costlog: "単価を記録"
label_cost_plural: "コスト" label_cost_plural: "コスト"
label_cost_type_plural: "コスト種類" label_cost_type_plural: "コスト種類"
label_cost_type_specific: "Cost type #%{id}: %{name}" label_cost_type_specific: "コスト種類 #%{id}: %{name}"
label_costs_per_page: "1ページあたりのコスト" label_costs_per_page: "1ページあたりのコスト"
label_currency: "通貨" label_currency: "通貨"
label_currency_format: "通貨の形式" label_currency_format: "通貨の形式"

@ -1,6 +1,6 @@
ja: ja:
grids: grids:
label_widget_in_grid: "Widget contained in Grid %{grid_name}" label_widget_in_grid: "グリッド %{grid_name} に含まれるウィジェット"
activerecord: activerecord:
attributes: attributes:
grids/grid: grids/grid:

@ -3,7 +3,7 @@ ja:
grid: grid:
add_widget: 'ウィジェットを追加' add_widget: 'ウィジェットを追加'
remove: 'ウィジェットを削除' remove: 'ウィジェットを削除'
configure: 'Configure widget' configure: 'ウィジェットの設定'
upsale: upsale:
text: "作業項目グラフウィジェットなどの一部のウィジェットは、次のみ利用可能です " text: "作業項目グラフウィジェットなどの一部のウィジェットは、次のみ利用可能です "
link: 'エンタープライズ版。' link: 'エンタープライズ版。'
@ -40,7 +40,7 @@ ja:
no_results: '子プロジェクトはありません。' no_results: '子プロジェクトはありません。'
time_entries_current_user: time_entries_current_user:
title: '自分の作業時間' title: '自分の作業時間'
displayed_days: 'Days displayed in the widget:' displayed_days: 'ウィジェットに表示される日数:'
time_entries_list: time_entries_list:
title: '経過時間(過去7日)' title: '経過時間(過去7日)'
no_results: '過去7日間の時間エントリはありません。' no_results: '過去7日間の時間エントリはありません。'

@ -49,7 +49,7 @@
work_packages_assigned: work_packages_assigned:
title: 'Arbeidspakker tildelt meg' title: 'Arbeidspakker tildelt meg'
work_packages_created: work_packages_created:
title: 'Work packages created by me' title: 'Arbeidspakker laget av meg'
work_packages_watched: work_packages_watched:
title: 'Work packages watched by me' title: 'Work packages watched by me'
work_packages_table: work_packages_table:

@ -39,7 +39,7 @@ sl:
title: 'Podprojekti' title: 'Podprojekti'
no_results: 'Ni podprojektov. ' no_results: 'Ni podprojektov. '
time_entries_current_user: time_entries_current_user:
title: 'Poglej porabljen čas' title: 'Moj porabljen čas'
displayed_days: 'Days displayed in the widget:' displayed_days: 'Days displayed in the widget:'
time_entries_list: time_entries_list:
title: 'Porabljen čas (zadnjih 7 dni) ' title: 'Porabljen čas (zadnjih 7 dni) '

@ -1,17 +1,17 @@
ja: ja:
js: js:
job_status: job_status:
download_starts: 'The download should start automatically.' download_starts: 'ダウンロードは自動的に開始されます。'
click_to_download: 'Or click here to download.' click_to_download: 'またはここをクリックしてダウンロードしてください。'
title: 'Background job status' title: 'バックグラウンドジョブの状態'
redirect: 'You are being redirected.' redirect: 'リダイレクトされています。'
redirect_link: '続行するにはここをクリックしてください。' redirect_link: '続行するにはここをクリックしてください。'
redirect_errors: 'これらのエラーのため、自動的にリダイレクトされません。' redirect_errors: 'これらのエラーのため、自動的にリダイレクトされません。'
errors: 'エラーが発生しました。' errors: 'エラーが発生しました。'
generic_messages: generic_messages:
not_found: 'This job could not be found.' not_found: 'ジョブが見つかりませんでした。'
in_queue: 'The job has been queued and will be processed shortly.' in_queue: 'ジョブはキューに追加されました。まもなく実行されます。'
in_process: 'The job is currently being processed.' in_process: 'ジョブは現在実行中です。'
error: 'The job has failed to complete.' error: 'ジョブは失敗しました。'
cancelled: 'The job has been cancelled due to an error.' cancelled: 'エラーのためジョブがキャンセルされました。'
success: 'The job completed successfully.' success: 'ジョブは正常終了しました。'

@ -5,31 +5,31 @@ ja:
dn: 'DN' dn: 'DN'
auth_source: 'LDAP 接続' auth_source: 'LDAP 接続'
ldap_groups/synchronized_filter: ldap_groups/synchronized_filter:
filter_string: 'LDAP filter' filter_string: 'LDAPフィルタ'
auth_source: 'LDAP 接続' auth_source: 'LDAP 接続'
group_name_attribute: "Group name attribute" group_name_attribute: "グループ名属性"
models: models:
ldap_groups/synchronized_group: '同期済 LDAP グループ' ldap_groups/synchronized_group: '同期済 LDAP グループ'
ldap_groups/synchronized_filter: 'LDAP Group synchronization filter' ldap_groups/synchronized_filter: 'LDAP グループ同期フィルター'
ldap_groups: ldap_groups:
label_menu_item: 'LDAP グループの同期' label_menu_item: 'LDAP グループの同期'
label_group_key: 'LDAP グループ フィルターキー' label_group_key: 'LDAP グループ フィルターキー'
label_synchronize: 'Synchronize' label_synchronize: '同期する'
settings: settings:
name_attribute: 'LDAP groups name attribute' name_attribute: 'LDAPグループ名属性'
name_attribute_text: 'The LDAP attribute used for naming the OpenProject group when created by a filter' name_attribute_text: 'フィルタによって作成されたときに OpenProject グループに名前を付けるために使用されるLDAP属性'
synchronized_filters: synchronized_filters:
add_new: 'Add synchronized LDAP filter' add_new: '同期LDAPフィルタを追加'
singular: 'LDAP Group synchronization filter' singular: 'LDAP グループ同期フィルター'
plural: 'LDAP Group synchronization filters' plural: 'LDAP グループ同期フィルタ'
destroy: destroy:
title: 'Remove synchronized filter %{name}' title: '同期されたフィルター %{name} を削除'
confirmation: "If you continue, the synchronized filter %{name} and all groups %{groups_count} created through it will be removed." confirmation: "続行すると、同期フィルター %{name} とそれを通して作成されたすべてのグループ %{groups_count} が削除されます。"
removed_groups: "Warning: This will remove the following groups from OpenProject and remove it from all projects!" removed_groups: "警告: 以下のグループを OpenProject から削除し、すべてのプロジェクトから削除します!"
verification: "Enter the filter name %{name} to verify the deletion." verification: "確認のため、削;除するフィルタ名 %{name} を入力します。"
form: form:
group_name_attribute_text: 'Enter the attribute of the LDAP group used for setting the OpenProject group name.' group_name_attribute_text: 'OpenProject グループ名の設定に使用する LDAP グループの属性を入力します。'
filter_string_text: 'Enter the RFC4515 LDAP filter that returns groups in your LDAP to synchronize with OpenProject.' filter_string_text: 'OpenProject と同期するための LDAP グループを返すRFC4515 LDAP フィルタを入力します。'
synchronized_groups: synchronized_groups:
add_new: '同期済 LDAP グループを追加' add_new: '同期済 LDAP グループを追加'
destroy: destroy:
@ -38,17 +38,17 @@ ja:
info: "注: OpenProject グループ自体と、この LDAP 同期外で追加されたメンバーは削除されません。" info: "注: OpenProject グループ自体と、この LDAP 同期外で追加されたメンバーは削除されません。"
verification: "削除を確認するため、グループの名前 %{name} を入力してください。" verification: "削除を確認するため、グループの名前 %{name} を入力してください。"
help_text_html: | help_text_html: |
This module allows you to set up a synchronization between LDAP and OpenProject groups. このモジュールは LDAP グループと OpenProject グループ間の同期を可能にします。
It depends on LDAP groups need to use the <em>groupOfNames / memberOf</em> attribute set to be working with OpenProject. これは LDAPグループ が OpenProject で動作するように設定された<em> groupOfNames / memberOf </em>属性を使用する必要があるかどうかに依存します。
<br/> <br/>
Groups are synchronized hourly through a cron job. グループは、cronジョブを介して1時間ごとに同期されます。
<a href="https://www.openproject.org/help/administration/manage-ldap-authentication/">Please see our documentation on this topic</a>. <a href="https://www.openproject.org/help/administration/manage-ldap-authentication/">このトピックに関するドキュメントを参照下さい</a>。
no_results: '同期されたグループが見つかりません。' no_results: '同期されたグループが見つかりません。'
no_members: 'このグループはまだ同期済のメンバーがありません。' no_members: 'このグループはまだ同期済のメンバーがありません。'
plural: '同期済 LDAP グループ' plural: '同期済 LDAP グループ'
singular: '同期済 LDAP グループ' singular: '同期済 LDAP グループ'
form: form:
auth_source_text: 'Select which LDAP connection should be used.' auth_source_text: '使用するLDAP接続を選択します。'
dn_text: 'Enter the full DN of the group in LDAP' dn_text: 'グループの完全な DN をLDAP に入力します。'
group_text: 'LDAP グループのメンバーを同期する既存の OpenProject グループを選択' group_text: 'LDAP グループのメンバーを同期する既存の OpenProject グループを選択'

@ -74,14 +74,14 @@ ja:
permission_send_meeting_agendas_notification: "議題のレビュー通知を送信する" permission_send_meeting_agendas_notification: "議題のレビュー通知を送信する"
permission_create_meeting_minutes: "議事録の管理" permission_create_meeting_minutes: "議事録の管理"
permission_send_meeting_minutes_notification: "議事録のレビュー通知を送信する" permission_send_meeting_minutes_notification: "議事録のレビュー通知を送信する"
permission_meetings_send_invite: "Invite users to meetings" permission_meetings_send_invite: "ユーザーを会議に招待する"
permission_send_meeting_agendas_icalendar: "Send meeting agenda as calendar entry" permission_send_meeting_agendas_icalendar: "カレンダーエントリとして議題を送信する"
project_module_meetings: "会議" project_module_meetings: "会議"
text_duration_in_hours: "期間(時間)" text_duration_in_hours: "期間(時間)"
text_in_hours: "数時間以内" text_in_hours: "数時間以内"
text_meeting_agenda_for_meeting: '会議の議題 "%{meeting}"' text_meeting_agenda_for_meeting: '会議の議題 "%{meeting}"'
text_meeting_closing_are_you_sure: "会議を終了してもよろしいですか?" text_meeting_closing_are_you_sure: "会議を終了してもよろしいですか?"
text_meeting_agenda_open_are_you_sure: "This will overwrite all changes in the minutes! Do you want to continue?" text_meeting_agenda_open_are_you_sure: "数分内のすべての変更が上書きされます!続けますか?"
text_meeting_minutes_for_meeting: '会議の議事録 "%{meeting}"' text_meeting_minutes_for_meeting: '会議の議事録 "%{meeting}"'
text_review_meeting_agenda: "%{author} はレビューのために %{link} をアップしました。" text_review_meeting_agenda: "%{author} はレビューのために %{link} をアップしました。"
text_review_meeting_minutes: "%{author} はレビューのために %{link} をアップしました。" text_review_meeting_minutes: "%{author} はレビューのために %{link} をアップしました。"

@ -75,13 +75,13 @@ sl:
permission_create_meeting_minutes: "Uredi minute" permission_create_meeting_minutes: "Uredi minute"
permission_send_meeting_minutes_notification: "Pošlji obvestilo o pregledu minut" permission_send_meeting_minutes_notification: "Pošlji obvestilo o pregledu minut"
permission_meetings_send_invite: "Povabite uporabnike na sestanke" permission_meetings_send_invite: "Povabite uporabnike na sestanke"
permission_send_meeting_agendas_icalendar: "ošlji dnevni red sestanka kot vnos v koledar" permission_send_meeting_agendas_icalendar: "Pošlji dnevni red sestanka kot vnos v koledar"
project_module_meetings: "Sestanki" project_module_meetings: "Sestanki"
text_duration_in_hours: "Trajanje v urah" text_duration_in_hours: "Trajanje v urah"
text_in_hours: "v urah" text_in_hours: "v urah"
text_meeting_agenda_for_meeting: 'dnevni red za sestanek "%{meeting}"' text_meeting_agenda_for_meeting: 'dnevni red za sestanek "%{meeting}"'
text_meeting_closing_are_you_sure: "Ali ste prepričani, da želite zapreti sestanek?" text_meeting_closing_are_you_sure: "Ali ste prepričani, da želite zapreti sestanek?"
text_meeting_agenda_open_are_you_sure: "To bo prepisalo vse spremembe v minutah! Ali želite nadaljevati?" text_meeting_agenda_open_are_you_sure: "To bo prepisalo vse spremembe v zapisniku! Ali želite nadaljevati?"
text_meeting_minutes_for_meeting: 'minute za sestanek "%{meeting}"' text_meeting_minutes_for_meeting: 'minute za sestanek "%{meeting}"'
text_review_meeting_agenda: "%{author} je dal %{link} v pregled." text_review_meeting_agenda: "%{author} je dal %{link} v pregled."
text_review_meeting_minutes: "%{author} je dal %{link} v pregled." text_review_meeting_minutes: "%{author} je dal %{link} v pregled."

@ -1,4 +1,4 @@
ja: ja:
overviews: overviews:
label: '概要' label: '概要'
permission_manage_overview: 'Manage overview page' permission_manage_overview: '概要ページの管理'

@ -415,13 +415,15 @@ shared_examples 'an APIv3 attachment resource', type: :request, content_type: :j
expect(subject.headers['Content-Type']) expect(subject.headers['Content-Type'])
.to eql mock_file.content_type .to eql mock_file.content_type
expect(subject.headers["Cache-Control"]).to eq "public, max-age=604799" max_age = OpenProject::Configuration.fog_download_url_expires_in.to_i - 10
expect(subject.headers["Cache-Control"]).to eq "public, max-age=#{max_age}"
expect(subject.headers["Expires"]).to be_present expect(subject.headers["Expires"]).to be_present
expires_time = Time.parse response.headers["Expires"] expires_time = Time.parse response.headers["Expires"]
expect(expires_time < Time.now.utc + 604799).to be_truthy expect(expires_time < Time.now.utc + max_age).to be_truthy
expect(expires_time > Time.now.utc + 604799 - 60).to be_truthy expect(expires_time > Time.now.utc + max_age - 60).to be_truthy
end end
it 'sends the file in binary' do it 'sends the file in binary' do
@ -472,13 +474,15 @@ shared_examples 'an APIv3 attachment resource', type: :request, content_type: :j
expect(subject.headers['Location']) expect(subject.headers['Location'])
.to eql external_url .to eql external_url
expect(subject.headers["Cache-Control"]).to eq "public, max-age=604799" max_age = OpenProject::Configuration.fog_download_url_expires_in.to_i - 10
expect(subject.headers["Cache-Control"]).to eq "public, max-age=#{max_age}"
expect(subject.headers["Expires"]).to be_present expect(subject.headers["Expires"]).to be_present
expires_time = Time.parse response.headers["Expires"] expires_time = Time.parse response.headers["Expires"]
expect(expires_time < Time.now.utc + 604799).to be_truthy expect(expires_time < Time.now.utc + max_age).to be_truthy
expect(expires_time > Time.now.utc + 604799 - 60).to be_truthy expect(expires_time > Time.now.utc + max_age - 60).to be_truthy
end end
end end
end end

@ -25,6 +25,7 @@
# #
# See docs/COPYRIGHT.rdoc for more details. # See docs/COPYRIGHT.rdoc for more details.
#++ #++
require_relative '../page'
module Pages module Pages
module Projects module Projects

Loading…
Cancel
Save