parent
1c9fd11f81
commit
856e59e6d3
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,15 @@ |
||||
#English strings go here |
||||
vi: |
||||
js: |
||||
label_preview: 'Xem trước' |
||||
button_update: 'Cập Nhật' |
||||
avatars: |
||||
label_choose_avatar: "Choose Avatar from file" |
||||
uploading_avatar: "Uploading your avatar." |
||||
text_upload_instructions: | |
||||
Upload your own custom avatar of 128 by 128 pixels. Larger files will be resized and cropped to match. |
||||
A preview of your avatar will be shown before uploading, once you selected an image. |
||||
error_image_too_large: "Image is too large." |
||||
wrong_file_format: "Allowed formats are jpg, png, gif" |
||||
empty_file_error: "Please upload a valid image (jpg, png, gif)" |
||||
|
@ -0,0 +1,40 @@ |
||||
#English strings go here |
||||
vi: |
||||
label_avatar: "Avatar" |
||||
label_avatar_plural: "Avatars" |
||||
label_current_avatar: "Current Avatar" |
||||
label_choose_avatar: "Choose Avatar from file" |
||||
message_avatar_uploaded: "Avatar changed successfully." |
||||
error_image_upload: "Error saving the image." |
||||
error_image_size: "The image is too large." |
||||
button_change_avatar: "Change avatar" |
||||
are_you_sure_delete_avatar: "Are you sure you want to delete your avatar?" |
||||
avatar_deleted: "Avatar deleted successfully." |
||||
unable_to_delete_avatar: "Avatar could not be deleted." |
||||
wrong_file_format: "Allowed formats are jpg, png, gif" |
||||
empty_file_error: "Please upload a valid image (jpg, png, gif)" |
||||
avatars: |
||||
label_avatar: "Avatar" |
||||
label_gravatar: 'Gravatar' |
||||
label_current_avatar: 'Current avatar' |
||||
label_local_avatar: 'Custom avatar' |
||||
text_current_avatar: | |
||||
The following image shows the current avatar. |
||||
text_upload_instructions: | |
||||
Upload your own custom avatar of 128 by 128 pixels. Larger files will be resized and cropped to match. |
||||
A preview of your avatar will be shown before uploading, once you selected an image. |
||||
text_change_gravatar_html: 'To change or add the Gravatar for your mail address, go to %{gravatar_url}.' |
||||
text_your_local_avatar: | |
||||
OpenProject allows you to upload your own custom avatar. |
||||
text_local_avatar_over_gravatar: | |
||||
If you set one, this custom avatar is used in precedence over the gravatar above. |
||||
text_your_current_gravatar: | |
||||
OpenProject uses your gravatar if you registered one, or a default image or icon if one exists. |
||||
The current gravatar is as follows: |
||||
settings: |
||||
enable_gravatars: 'Enable user gravatars' |
||||
gravatar_default: "Default Gravatar image" |
||||
enable_local_avatars: 'Enable user custom avatars' |
||||
|
||||
|
||||
|
@ -0,0 +1,27 @@ |
||||
#-- copyright |
||||
#OpenProject is an open source project management software. |
||||
#Copyright (C) 2012-2020 the OpenProject GmbH |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License version 3. |
||||
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
#Copyright (C) 2006-2017 Jean-Philippe Lang |
||||
#Copyright (C) 2010-2013 the ChiliProject Team |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License |
||||
#as published by the Free Software Foundation; either version 2 |
||||
#of the License, or (at your option) any later version. |
||||
#This program is distributed in the hope that it will be useful, |
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
#GNU General Public License for more details. |
||||
#You should have received a copy of the GNU General Public License |
||||
#along with this program; if not, write to the Free Software |
||||
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
#See docs/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
vi: |
||||
js: |
||||
work_packages: |
||||
properties: |
||||
storyPoints: "Story Points" |
||||
remainingTime: "Remaining Hours" |
@ -0,0 +1,166 @@ |
||||
#-- copyright |
||||
#OpenProject is an open source project management software. |
||||
#Copyright (C) 2012-2020 the OpenProject GmbH |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License version 3. |
||||
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
#Copyright (C) 2006-2017 Jean-Philippe Lang |
||||
#Copyright (C) 2010-2013 the ChiliProject Team |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License |
||||
#as published by the Free Software Foundation; either version 2 |
||||
#of the License, or (at your option) any later version. |
||||
#This program is distributed in the hope that it will be useful, |
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
#GNU General Public License for more details. |
||||
#You should have received a copy of the GNU General Public License |
||||
#along with this program; if not, write to the Free Software |
||||
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
#See docs/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
#--- |
||||
vi: |
||||
activerecord: |
||||
attributes: |
||||
work_package: |
||||
position: "Vị trí" |
||||
remaining_hours: "Remaining Hours" |
||||
remaining_time: "Remaining hours" |
||||
story_points: "Story Points" |
||||
backlogs_work_package_type: "Backlog type" |
||||
errors: |
||||
models: |
||||
work_package: |
||||
attributes: |
||||
blocks_ids: |
||||
can_only_contain_work_packages_of_current_sprint: "can only contain IDs of work packages in the current sprint." |
||||
must_block_at_least_one_work_package: "must contain the ID of at least one ticket." |
||||
parent_id: |
||||
type_must_be_one_of_the_following: "Type must be one of the following: %{type_names}." |
||||
sprint: |
||||
cannot_end_before_it_starts: "Sprint cannot end before it starts." |
||||
activemodel: |
||||
errors: |
||||
models: |
||||
work_package: |
||||
attributes: |
||||
fixed_version_id: |
||||
task_version_must_be_the_same_as_story_version: "must be the same as the parent story's version." |
||||
parent_id: |
||||
parent_child_relationship_across_projects: "is invalid because the work package '%{work_package_name}' is a backlog task and therefore cannot have a parent outside of the current project." |
||||
backlogs: |
||||
add_new_story: "New Story" |
||||
any: "any" |
||||
backlog_settings: "Lịch sử cài đặt" |
||||
burndown_graph: "Burndown Graph" |
||||
card_paper_size: "Paper size for card printing" |
||||
chart_options: "Chart options" |
||||
close: "Đóng" |
||||
column_width: "Column width:" |
||||
date: "Day" |
||||
definition_of_done: "Definition of Done" |
||||
generating_chart: "Generating Graph..." |
||||
hours: "Giờ" |
||||
impediment: "Impediment" |
||||
label_versions_default_fold_state: "Show versions folded" |
||||
work_package_is_closed: "Work package is done, when" |
||||
label_is_done_status: "Status %{status_name} means done" |
||||
no_burndown_data: "No burndown data available. It is necessary to have the sprint start- and end dates set." |
||||
points: "Points" |
||||
positions_could_not_be_rebuilt: "Positions could not be rebuilt." |
||||
positions_rebuilt_successfully: "Positions rebuilt successfully." |
||||
properties: "Properties" |
||||
rebuild: "Rebuild" |
||||
rebuild_positions: "Rebuild positions" |
||||
remaining_hours: "Remaining hours" |
||||
remaining_hours_ideal: "Remaining hours (ideal)" |
||||
show_burndown_chart: "Burndown Chart" |
||||
story: "Story" |
||||
story_points: "Story Points" |
||||
story_points_ideal: "Story Points (ideal)" |
||||
task: "Nhiệm vụ" |
||||
task_color: "Task color" |
||||
unassigned: "Unassigned" |
||||
x_more: "%{count} more..." |
||||
backlogs_active: "active" |
||||
backlogs_any: "any" |
||||
backlogs_card_specification: "Label types for card printing" |
||||
backlogs_inactive: "Project shows no activity" |
||||
backlogs_points_burn_direction: "Points burn up/down" |
||||
backlogs_product_backlog: "Product backlog" |
||||
backlogs_product_backlog_is_empty: "Product backlog is empty" |
||||
backlogs_product_backlog_unsized: "The top of the product backlog has unsized stories" |
||||
backlogs_sizing_inconsistent: "Story sizes vary against their estimates" |
||||
backlogs_sprint_notes_missing: "Closed sprints without retrospective/review notes" |
||||
backlogs_sprint_unestimated: "Closed or active sprints with unestimated stories" |
||||
backlogs_sprint_unsized: "Project has stories on active or recently closed sprints that were not sized" |
||||
backlogs_sprints: "Sprints" |
||||
backlogs_story: "Story" |
||||
backlogs_story_type: "Story types" |
||||
backlogs_task: "Nhiệm vụ" |
||||
backlogs_task_type: "Task type" |
||||
backlogs_velocity_missing: "No velocity could be calculated for this project" |
||||
backlogs_velocity_varies: "Velocity varies significantly over sprints" |
||||
backlogs_wiki_template: "Template for sprint wiki page" |
||||
backlogs_empty_title: "No versions are defined to be used in backlogs" |
||||
backlogs_empty_action_text: "To get started with backlogs, create a new version and assign it to a backlogs column." |
||||
button_edit_wiki: "Edit wiki page" |
||||
error_intro_plural: "The following errors were encountered:" |
||||
error_intro_singular: "The following error was encountered:" |
||||
error_outro: "Please correct the above errors before submitting again." |
||||
event_sprint_description: "%{summary}: %{url}\n%{description}" |
||||
event_sprint_summary: "%{project}: %{summary}" |
||||
ideal: "ideal" |
||||
inclusion: "is not included in the list" |
||||
label_back_to_project: "Back to project page" |
||||
label_backlog: "Backlog" |
||||
label_backlogs: "Backlogs" |
||||
label_backlogs_unconfigured: "You have not configured Backlogs yet. Please go to %{administration} > %{plugins}, then click on the %{configure} link for this plugin. Once you have set the fields, come back to this page to start using the tool." |
||||
label_blocks_ids: "ID của các work package bị chặn" |
||||
label_burndown: "Burndown" |
||||
label_column_in_backlog: "Column in backlog" |
||||
label_hours: "hours" |
||||
label_work_package_hierarchy: "Work package Hierarchy" |
||||
label_master_backlog: "Master Backlog" |
||||
label_not_prioritized: "not prioritized" |
||||
label_points: "points" |
||||
label_points_burn_down: "Down" |
||||
label_points_burn_up: "Lên" |
||||
label_product_backlog: "product backlog" |
||||
label_select_all: "Select all" |
||||
label_sprint_backlog: "sprint backlog" |
||||
label_sprint_cards: "Export cards" |
||||
label_sprint_impediments: "Sprint Impediments" |
||||
label_sprint_name: "Sprint \"%{name}\"" |
||||
label_sprint_velocity: "Velocity %{velocity}, based on %{sprints} sprints with an average %{days} days" |
||||
label_stories: "Stories" |
||||
label_stories_tasks: "Stories/Tasks" |
||||
label_task_board: "Task board" |
||||
label_version_setting: "Các phiên bản" |
||||
label_version: 'Phiên bản' |
||||
label_webcal: "Webcal Feed" |
||||
label_wiki: "Wiki" |
||||
permission_view_master_backlog: "View master backlog" |
||||
permission_view_taskboards: "View taskboards" |
||||
permission_update_sprints: "Update sprints" |
||||
points_accepted: "points accepted" |
||||
points_committed: "points committed" |
||||
points_resolved: "points resolved" |
||||
points_to_accept: "points not accepted" |
||||
points_to_resolve: "points not resolved" |
||||
project_module_backlogs: "Backlogs" |
||||
rb_label_copy_tasks: "Copy work packages" |
||||
rb_label_copy_tasks_all: "All" |
||||
rb_label_copy_tasks_none: "None" |
||||
rb_label_copy_tasks_open: "Open" |
||||
rb_label_link_to_original: "Include link to original story" |
||||
remaining_hours: "remaining hours" |
||||
required_burn_rate_hours: "required burn rate (hours)" |
||||
required_burn_rate_points: "required burn rate (points)" |
||||
todo_work_package_description: "%{summary}: %{url}\n%{description}" |
||||
todo_work_package_summary: "%{type}: %{summary}" |
||||
version_settings_display_label: "Column in backlog" |
||||
version_settings_display_option_left: "left" |
||||
version_settings_display_option_none: "không" |
||||
version_settings_display_option_right: "right" |
@ -0,0 +1,6 @@ |
||||
#English strings go here |
||||
vi: |
||||
js: |
||||
bcf: |
||||
import: 'Import' |
||||
export: 'Xuất' |
@ -0,0 +1,83 @@ |
||||
#English strings go here for Rails i18n |
||||
vi: |
||||
bcf: |
||||
label_bcf: 'BCF' |
||||
label_imported_failed: 'Failed imports of BCF topics' |
||||
label_imported_successfully: 'Successfully imported BCF topics' |
||||
issues: "Issues" |
||||
recommended: 'recommended' |
||||
not_recommended: 'not recommended' |
||||
no_viewpoints: 'No viewpoints' |
||||
new_badge: "Mới" |
||||
exceptions: |
||||
file_invalid: "BCF file invalid" |
||||
x_bcf_issues: |
||||
zero: 'Không có vấn đề BCF' |
||||
other: '%{count} BCF issues' |
||||
bcf_xml: |
||||
xml_file: 'BCF XML File' |
||||
import_title: 'Import' |
||||
export: 'Xuất' |
||||
import_update_comment: '(Updated in BCF import)' |
||||
import_failed: 'Cannot import BCF file: %{error}' |
||||
import_successful: 'Imported %{count} BCF issues' |
||||
import_canceled: 'BCF-XML import canceled.' |
||||
type_not_active: "The issue type is not activated for this project." |
||||
import: |
||||
num_issues_found: '%{x_bcf_issues} are contained in the BCF-XML file, their details are listed below.' |
||||
button_prepare: 'Prepare import' |
||||
button_perform_import: 'Confirm import' |
||||
button_proceed: 'Proceed' |
||||
button_back_to_list: 'Back to list' |
||||
no_permission_to_add_members: 'You do not have sufficient permissions to add them as members to the project.' |
||||
contact_project_admin: 'Contact your project admin to add them as members and start this import again.' |
||||
continue_anyways: 'Do you want to proceed and finish the import anyways?' |
||||
description: "Provide a BCF-XML v2.1 file to import into this project. You can examine its contents before performing the import." |
||||
invalid_types_found: 'Invalid topic type names found' |
||||
invalid_statuses_found: 'Invalid status names found' |
||||
invalid_priorities_found: 'Invalid priority names found' |
||||
invalid_emails_found: 'Invalid email addresses found' |
||||
unknown_emails_found: 'Unknown email addresses found' |
||||
unknown_property: 'Unknown property' |
||||
non_members_found: 'Non project members found' |
||||
import_types_as: 'Set all these types to' |
||||
import_statuses_as: 'Set all these statuses to' |
||||
import_priorities_as: 'Set all these priorities to' |
||||
invite_as_members_with_role: 'Invite them as members to the project "%{project}" with role' |
||||
add_as_members_with_role: 'Add them as members to the project "%{project}" with role' |
||||
no_type_provided: 'No type provided' |
||||
no_status_provided: 'No status provided' |
||||
no_priority_provided: 'No priority provided' |
||||
perform_description: "Do you want to import or update the issues listed above?" |
||||
replace_with_system_user: 'Replace them with "System" user' |
||||
import_as_system_user: 'Import them as "System" user.' |
||||
what_to_do: "What do you want to do?" |
||||
work_package_has_newer_changes: "Outdated! This topic was not updated as the latest changes on the server were newer than the \"ModifiedDate\" of the imported topic. However, comments to the topic were imported." |
||||
export: |
||||
format: |
||||
bcf: "BCF-XML" |
||||
attributes: |
||||
bcf_thumbnail: "BCF snapshot" |
||||
project_module_bcf: "BCF" |
||||
permission_view_linked_issues: "View BCF issues" |
||||
permission_manage_bcf: "Import and manage BCF issues" |
||||
oauth: |
||||
scopes: |
||||
bcf_v2_1: "Truy cập đầy đủ vào API BCF v2.1" |
||||
bcf_v2_1_text: "Ứng dụng sẽ nhận được toàn quyền truy cập đọc & ghi vào API OpenFject BCF v2.1 để thực hiện các hành động thay mặt bạn." |
||||
activerecord: |
||||
errors: |
||||
models: |
||||
bcf/viewpoint: |
||||
bitmaps_not_writable: "hình ảnh không thể ghi được vì nó chưa được thực hiện." |
||||
index_not_integer: "chỉ số(index) không phải là một số nguyên." |
||||
invalid_clipping_planes: "clipping_planes không hợp lệ" |
||||
invalid_components: "các thành phần không hợp lệ" |
||||
invalid_lines: "dòng không hợp lệ." |
||||
invalid_orthogonal_camera: "orthogonal_camera không hợp lệ" |
||||
invalid_perspective_camera: "perspective_camera không hợp lệ" |
||||
mismatching_guid: "Hướng dẫn trong json_viewpoint không khớp với hướng dẫn của mô hình." |
||||
no_json: "Không phải là một json có cấu trúc tốt." |
||||
snapshot_type_unsupported: "snapshot_type cần phải là 'png' hoặc 'jpg'." |
||||
snapshot_data_blank: "snapshot_data không được để trống." |
||||
unsupported_key: "Một thuộc tính json không được hỗ trợ được bao gồm." |
@ -0,0 +1,46 @@ |
||||
#English strings go here |
||||
vi: |
||||
js: |
||||
boards: |
||||
label_unnamed_board: 'Unnamed board' |
||||
label_unnamed_list: 'Unnamed list' |
||||
label_board_type: 'Board type' |
||||
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.' |
||||
upgrade_to_ee_text: 'Boards is an Enterprise feature. Please upgrade to a paid plan.' |
||||
upgrade: 'Upgrade now' |
||||
personal_demo: 'Get a personal demo' |
||||
lists: |
||||
delete: 'Delete list' |
||||
version: |
||||
is_locked: 'Version is locked. No items can be added to this version.' |
||||
is_closed: 'Version is closed. No items can be added to this version.' |
||||
close_version: 'Close version' |
||||
open_version: 'Open version' |
||||
lock_version: 'Lock version' |
||||
unlock_version: 'Unlock version' |
||||
edit_version: 'Edit version' |
||||
show_version: 'Show version' |
||||
locked: 'Đã khóa' |
||||
closed: 'Đã đóng' |
||||
new_board: 'New board' |
||||
add_list: 'Add list' |
||||
add_card: 'Add card' |
||||
error_attribute_not_writable: "Cannot move the work package, %{attribute} is not writable." |
||||
error_loading_the_list: "Error loading the list: %{error_message}" |
||||
error_permission_missing: "The permission to create public queries is missing" |
||||
click_to_remove_list: "Click to remove this list" |
||||
board_type: |
||||
free: 'Basic board' |
||||
free_text: > |
||||
Create a board in which you can freely create lists and order your work packages within. Moving work packages between lists do not change the work package itself. |
||||
action: 'Action board' |
||||
action_by_attribute: 'Action board (%{attribute})' |
||||
action_text: > |
||||
Create a board with filtered lists on a single attribute. Moving work packages to other lists will update their attribute. |
||||
select_attribute: "Action attribute" |
||||
configuration_modal: |
||||
title: 'Configure this board' |
||||
display_settings: |
||||
card_mode: "Display as cards" |
||||
table_mode: "Display as table" |
@ -0,0 +1,7 @@ |
||||
#English strings go here |
||||
vi: |
||||
permission_show_board_views: "View boards" |
||||
permission_manage_board_views: "Manage boards" |
||||
project_module_board_view: "Boards" |
||||
boards: |
||||
label_boards: "Boards" |
@ -0,0 +1,33 @@ |
||||
#-- copyright |
||||
#OpenProject is an open source project management software. |
||||
#Copyright (C) 2012-2020 the OpenProject GmbH |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License version 3. |
||||
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
#Copyright (C) 2006-2017 Jean-Philippe Lang |
||||
#Copyright (C) 2010-2013 the ChiliProject Team |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License |
||||
#as published by the Free Software Foundation; either version 2 |
||||
#of the License, or (at your option) any later version. |
||||
#This program is distributed in the hope that it will be useful, |
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
#GNU General Public License for more details. |
||||
#You should have received a copy of the GNU General Public License |
||||
#along with this program; if not, write to the Free Software |
||||
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
#See docs/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
vi: |
||||
js: |
||||
work_packages: |
||||
property_groups: |
||||
costs: "Costs" |
||||
properties: |
||||
costObject: "Budget" |
||||
overallCosts: "Overall costs" |
||||
spentUnits: "Spent units" |
||||
button_log_costs: "Log unit costs" |
||||
label_hour: "hour" |
||||
label_hours: "hours" |
@ -0,0 +1,192 @@ |
||||
#-- copyright |
||||
#OpenProject is an open source project management software. |
||||
#Copyright (C) 2012-2020 the OpenProject GmbH |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License version 3. |
||||
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
#Copyright (C) 2006-2017 Jean-Philippe Lang |
||||
#Copyright (C) 2010-2013 the ChiliProject Team |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License |
||||
#as published by the Free Software Foundation; either version 2 |
||||
#of the License, or (at your option) any later version. |
||||
#This program is distributed in the hope that it will be useful, |
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
#GNU General Public License for more details. |
||||
#You should have received a copy of the GNU General Public License |
||||
#along with this program; if not, write to the Free Software |
||||
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
#See docs/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
#--- |
||||
vi: |
||||
activerecord: |
||||
attributes: |
||||
cost_entry: |
||||
work_package: "Work Package" |
||||
overridden_costs: "Overridden costs" |
||||
spent: "Spent" |
||||
spent_on: "Ngày" |
||||
cost_object: |
||||
author: "Tác giả" |
||||
available: "Available" |
||||
budget: "Planned" |
||||
budget_ratio: "Spent (ratio)" |
||||
created_on: "Tạo ngày" |
||||
description: "Mô tả" |
||||
fixed_date: "Fixed date" |
||||
spent: "Spent" |
||||
status: "Trạng thái" |
||||
subject: "Chủ đề" |
||||
type: "Cost type" |
||||
updated_on: "Được cập nhật vào lúc" |
||||
cost_type: |
||||
unit: "Unit name" |
||||
unit_plural: "Pluralized unit name" |
||||
work_package: |
||||
costs_by_type: "Spent units" |
||||
cost_object_subject: "Budget title" |
||||
labor_costs: "Labor costs" |
||||
material_costs: "Unit costs" |
||||
overall_costs: "Overall costs" |
||||
spent_costs: "Spent costs" |
||||
spent_units: "Spent units" |
||||
rate: |
||||
rate: "Rate" |
||||
user: |
||||
default_rates: "Default rates" |
||||
variable_cost_object: |
||||
labor_budget: "Planned labor costs" |
||||
material_budget: "Planned unit costs" |
||||
models: |
||||
cost_object: "Budget" |
||||
cost_type: |
||||
other: "Cost types" |
||||
material_budget_item: "Unit" |
||||
rate: "Rate" |
||||
errors: |
||||
models: |
||||
work_package: |
||||
is_not_a_valid_target_for_cost_entries: "Work package #%{id} is not a valid target for reassigning the cost entries." |
||||
nullify_is_not_valid_for_cost_entries: "Cost entries can not be assigned to a project." |
||||
attributes: |
||||
budget: "Planned costs" |
||||
comment: "Nhận xét" |
||||
cost_object: "Budget" |
||||
cost_type: "Cost type" |
||||
costs: "Costs" |
||||
current_rate: "Current rate" |
||||
hours: "Giờ" |
||||
units: "Units" |
||||
valid_from: "Valid from" |
||||
button_add_budget_item: "Add planned costs" |
||||
button_add_cost_object: "Add budget" |
||||
button_add_cost_type: "Add cost type" |
||||
button_add_rate: "Add rate" |
||||
button_cancel_edit_budget: "Cancel editing budget" |
||||
button_cancel_edit_costs: "Cancel editing costs" |
||||
button_log_costs: "Log unit costs" |
||||
button_log_time: "Thời gian truy cập" |
||||
caption_booked_on_project: "Booked on project" |
||||
caption_default: "Mặc định" |
||||
caption_default_rate_history_for: "Default rate history for %{user}" |
||||
caption_labor: "Labor" |
||||
caption_labor_costs: "Actual labor costs" |
||||
caption_locked_on: "Locked on" |
||||
caption_material_costs: "Actual unit costs" |
||||
caption_materials: "Units" |
||||
caption_rate_history: "Rate history" |
||||
caption_rate_history_for: "Rate history for %{user}" |
||||
caption_rate_history_for_project: "Rate history for %{user} in project %{project}" |
||||
caption_save_rate: "Save rate" |
||||
caption_set_rate: "Set current rate" |
||||
caption_show_locked: "Show locked types" |
||||
cost_objects_title: "Budgets" |
||||
description_date_for_new_rate: "Date for new rate" |
||||
events: |
||||
cost_object: "Budget edited" |
||||
group_by_others: "not in any group" |
||||
help_click_to_edit: "Click here to edit." |
||||
help_currency_format: "Format of displayed currency values. %n is replaced with the currency value, %u ist replaced with the currency unit." |
||||
help_override_rate: "Enter a value here to override the default rate." |
||||
label_between: "between" |
||||
label_cost_filter_add: "Add cost entry filter" |
||||
label_costlog: "Logged unit costs" |
||||
label_cost_object: "Budget" |
||||
label_cost_object_id: "Budget #%{id}" |
||||
label_cost_object_new: "New budget" |
||||
label_cost_object_plural: "Budgets" |
||||
label_cost_plural: "Costs" |
||||
label_cost_report: "Cost report" |
||||
label_cost_type_specific: "Budget #%{id}: %{name}" |
||||
label_cost_type_plural: "Cost types" |
||||
label_costs_per_page: "Costs per page" |
||||
label_currency: "Currency" |
||||
label_currency_format: "Format of currency" |
||||
label_current_default_rate: "Current default rate" |
||||
label_date_on: "lúc" |
||||
label_deleted_cost_types: "Deleted cost types" |
||||
label_locked_cost_types: "Locked cost types" |
||||
label_deliverable: "Budget" |
||||
label_display_cost_entries: "Display unit costs" |
||||
label_display_time_entries: "Display reported hours" |
||||
label_display_types: "Display types" |
||||
label_edit: "Chỉnh sửa" |
||||
label_fixed_cost_object: "Fixed budget" |
||||
label_fixed_date: "Fixed date" |
||||
label_generic_user: "Generic user" |
||||
label_greater_or_equal: ">=" |
||||
label_group_by: "Nhóm theo" |
||||
label_group_by_add: "Add grouping field" |
||||
label_hourly_rate: "Hourly rate" |
||||
label_include_deleted: "Include deleted" |
||||
label_work_package_filter_add: "Add work package filter" |
||||
label_kind: "Kiểu" |
||||
label_less_or_equal: "<=" |
||||
label_log_costs: "Log unit costs" |
||||
label_no: "Không" |
||||
label_option_plural: "Tuỳ chọn" |
||||
label_overall_costs: "Overall costs" |
||||
label_rate: "Rate" |
||||
label_rate_plural: "Rates" |
||||
label_status_finished: "Finished" |
||||
label_units: "Cost units" |
||||
label_user: "Người dùng" |
||||
label_until: "until" |
||||
label_valid_from: "Valid from" |
||||
label_variable_cost_object: "Variable rate based budget" |
||||
label_view_all_cost_objects: "View all budgets" |
||||
label_yes: "Có" |
||||
notice_cost_object_conflict: "WorkPackages must be of the same project." |
||||
notice_no_cost_objects_available: "No budgets available." |
||||
notice_something_wrong: "Something went wrong. Please try again." |
||||
notice_successful_restore: "Successful restore." |
||||
notice_successful_lock: "Locked successfully." |
||||
notice_cost_logged_successfully: 'Unit cost logged successfully.' |
||||
permission_edit_cost_entries: "Edit booked unit costs" |
||||
permission_edit_cost_objects: "Edit budgets" |
||||
permission_edit_own_cost_entries: "Edit own booked unit costs" |
||||
permission_edit_hourly_rates: "Edit hourly rates" |
||||
permission_edit_own_hourly_rate: "Edit own hourly rates" |
||||
permission_edit_rates: "Edit rates" |
||||
permission_log_costs: "Book unit costs" |
||||
permission_log_own_costs: "Book unit costs for oneself" |
||||
permission_view_cost_entries: "View booked costs" |
||||
permission_view_cost_objects: "View budgets" |
||||
permission_view_cost_rates: "View cost rates" |
||||
permission_view_hourly_rates: "View all hourly rates" |
||||
permission_view_own_cost_entries: "View own booked costs" |
||||
permission_view_own_hourly_rate: "View own hourly rate" |
||||
permission_view_own_time_entries: "View own spent time" |
||||
project_module_costs_module: "Budgets" |
||||
text_assign_time_and_cost_entries_to_project: "Assign reported hours and costs to the project" |
||||
text_cost_object_change_type_confirmation: "Are you sure? This operation will destroy information of the specific budget type." |
||||
text_destroy_cost_entries_question: "%{cost_entries} were reported on the work packages you are about to delete. What do you want to do ?" |
||||
text_destroy_time_and_cost_entries: "Delete reported hours and costs" |
||||
text_destroy_time_and_cost_entries_question: "%{hours} hours, %{cost_entries} were reported on the work packages you are about to delete. What do you want to do ?" |
||||
text_reassign_time_and_cost_entries: "Reassign reported hours and costs to this work package:" |
||||
text_warning_hidden_elements: "Some entries may have been excluded from the aggregation." |
||||
week: "week" |
||||
js: |
||||
text_are_you_sure: "Are you sure?" |
@ -0,0 +1,4 @@ |
||||
vi: |
||||
js: |
||||
dashboards: |
||||
label: 'Dashboard' |
@ -0,0 +1,5 @@ |
||||
vi: |
||||
dashboards: |
||||
label: 'Dashboards' |
||||
menu_badge: 'Alpha' |
||||
project_module_dashboards: 'Dashboards' |
@ -0,0 +1,42 @@ |
||||
#-- copyright |
||||
#OpenProject is an open source project management software. |
||||
#Copyright (C) 2012-2020 the OpenProject GmbH |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License version 3. |
||||
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
#Copyright (C) 2006-2017 Jean-Philippe Lang |
||||
#Copyright (C) 2010-2013 the ChiliProject Team |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License |
||||
#as published by the Free Software Foundation; either version 2 |
||||
#of the License, or (at your option) any later version. |
||||
#This program is distributed in the hope that it will be useful, |
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
#GNU General Public License for more details. |
||||
#You should have received a copy of the GNU General Public License |
||||
#along with this program; if not, write to the Free Software |
||||
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
#See docs/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
vi: |
||||
activerecord: |
||||
models: |
||||
document: "Document" |
||||
default_doc_category_tech: "Technical documentation" |
||||
default_doc_category_user: "User documentation" |
||||
enumeration_doc_categories: "Document categories" |
||||
enumeration: |
||||
document_category: |
||||
documentation: Documentation |
||||
specification: Đặc điểm kỹ thuật |
||||
other: Khác |
||||
documents: |
||||
label_attachment_author: "Attachment author" |
||||
label_document_added: "Document added" |
||||
label_document_new: "New document" |
||||
label_document_plural: "Tài liệu" |
||||
label_documents: "Tài liệu" |
||||
permission_manage_documents: "Manage documents" |
||||
permission_view_documents: "View documents" |
||||
project_module_documents: "Tài liệu" |
@ -0,0 +1,31 @@ |
||||
#-- copyright |
||||
#OpenProject is an open source project management software. |
||||
#Copyright (C) 2012-2020 the OpenProject GmbH |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License version 3. |
||||
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
#Copyright (C) 2006-2017 Jean-Philippe Lang |
||||
#Copyright (C) 2010-2013 the ChiliProject Team |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License |
||||
#as published by the Free Software Foundation; either version 2 |
||||
#of the License, or (at your option) any later version. |
||||
#This program is distributed in the hope that it will be useful, |
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
#GNU General Public License for more details. |
||||
#You should have received a copy of the GNU General Public License |
||||
#along with this program; if not, write to the Free Software |
||||
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
#See docs/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
vi: |
||||
github_integration: |
||||
pull_request_opened_comment: > |
||||
**PR Opened:** Pull request %{pr_number} [%{pr_title}](%{pr_url}) for [%{repository}](%{repository_url}) has been opened by [%{github_user}](%{github_user_url}). |
||||
pull_request_closed_comment: > |
||||
**PR Closed:** Pull request %{pr_number} [%{pr_title}](%{pr_url}) for [%{repository}](%{repository_url}) has been closed by [%{github_user}](%{github_user_url}). |
||||
pull_request_merged_comment: > |
||||
**PR Merged:** Pull request %{pr_number} [%{pr_title}](%{pr_url}) for [%{repository}](%{repository_url}) has been merged by [%{github_user}](%{github_user_url}). |
||||
pull_request_referenced_comment: > |
||||
**Referenced in PR:** [%{github_user}](%{github_user_url}) referenced this work package in Pull request %{pr_number} [%{pr_title}](%{pr_url}) on [%{repository}](%{repository_url}). |
@ -0,0 +1,32 @@ |
||||
#-- copyright |
||||
#OpenProject is an open source project management software. |
||||
#Copyright (C) 2012-2020 the OpenProject GmbH |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License version 3. |
||||
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
#Copyright (C) 2006-2017 Jean-Philippe Lang |
||||
#Copyright (C) 2010-2013 the ChiliProject Team |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License |
||||
#as published by the Free Software Foundation; either version 2 |
||||
#of the License, or (at your option) any later version. |
||||
#This program is distributed in the hope that it will be useful, |
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
#GNU General Public License for more details. |
||||
#You should have received a copy of the GNU General Public License |
||||
#along with this program; if not, write to the Free Software |
||||
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
#See docs/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
vi: |
||||
error_can_not_be_assigned: The role can not be assigned to this user |
||||
global_roles: Global Roles |
||||
label_role_type: Kiểu |
||||
label_member_role: Project Role |
||||
label_global_role: Global Role |
||||
label_not_changeable: (not changeable) |
||||
label_no_assignable_role: No global role available for assignment |
||||
label_global: Global |
||||
seeders: |
||||
default_role_project_creator: 'Project creator' |
@ -0,0 +1,61 @@ |
||||
vi: |
||||
js: |
||||
grid: |
||||
add_widget: 'Add widget' |
||||
remove: 'Remove widget' |
||||
upsale: |
||||
text: "Một số widget, như widget biểu đồ gói công việc, chỉ có sẵn trong" |
||||
link: 'Phiên bản doanh nghiệp.' |
||||
widgets: |
||||
custom_text: |
||||
title: 'Custom text' |
||||
documents: |
||||
title: 'Tài liệu' |
||||
no_results: 'Chưa có tài liệu.' |
||||
members: |
||||
title: 'Members' |
||||
no_results: 'No visible members.' |
||||
view_all_members: 'View all members' |
||||
add: 'Thành viên' |
||||
too_many: 'Displaying %{count} of %{total} members.' |
||||
news: |
||||
title: 'Tin tức' |
||||
at: 'tại' |
||||
no_results: 'Không có gì mới để báo cáo.' |
||||
project_description: |
||||
title: 'Project description' |
||||
no_results: "No description has been written yet. One can be provided in the 'Project settings'." |
||||
project_details: |
||||
title: 'Project details' |
||||
no_results: 'No custom fields have been defined for projects.' |
||||
project_status: |
||||
title: 'Tình trạng dự án' |
||||
on_track: 'Theo dõi' |
||||
off_track: 'Không theo dõi' |
||||
at_risk: 'Có rủi ro' |
||||
not_set: 'Không được thiết lập' |
||||
subprojects: |
||||
title: 'Dự án con' |
||||
no_results: 'No subprojects.' |
||||
time_entries_current_user: |
||||
title: 'Thời gian hiện tại (My spent time)' |
||||
time_entries_list: |
||||
title: 'Thời gian làm việc (trong 7 ngày gần nhất)' |
||||
no_results: 'Không có ghi nhận thời gian làm việc trong 7 ngày gần nhất.' |
||||
work_packages_accountable: |
||||
title: "Gói công việc mà tôi có trách nhiệm" |
||||
work_packages_assigned: |
||||
title: 'Work package được chỉ định cho tôi' |
||||
work_packages_created: |
||||
title: 'Công việc tạo bởi tôi' |
||||
work_packages_watched: |
||||
title: 'Công việc có liên quan tới tôi' |
||||
work_packages_table: |
||||
title: 'Work packages table' |
||||
work_packages_graph: |
||||
title: 'Work packages graph' |
||||
work_packages_calendar: |
||||
title: 'Lịch' |
||||
work_packages_overview: |
||||
title: 'Work packages overview' |
||||
placeholder: 'Click to edit ...' |
@ -0,0 +1,14 @@ |
||||
vi: |
||||
activerecord: |
||||
attributes: |
||||
grids/grid: |
||||
page: "Trang" |
||||
row_count: "Số dòng" |
||||
column_count: "Số cột" |
||||
widgets: "Tiện ích" |
||||
errors: |
||||
models: |
||||
grids/grid: |
||||
overlaps: 'chồng lấn.' |
||||
outside: 'nằm ngoài bảng dữ liệu.' |
||||
end_before_start: 'giá trị kết thúc cần lớn hơn giá trị bắt đầu.' |
@ -0,0 +1,6 @@ |
||||
vi: |
||||
js: |
||||
ifc_models: |
||||
models: |
||||
default: 'Các mô hình IFC mặc định' |
||||
manage: 'Quản lý mô hình' |
@ -0,0 +1,43 @@ |
||||
#English strings go here for Rails i18n |
||||
vi: |
||||
ifc_models: |
||||
label_ifc_models: 'Mô hình IFC' |
||||
label_new_ifc_model: 'Mô hình IFC mới' |
||||
label_show_defaults: 'Hiển thị mặc định' |
||||
label_default_ifc_models: 'Các mô hình IFC mặc định' |
||||
label_edit_defaults: 'Chỉnh sửa mặc định' |
||||
label_manage_models: 'Quản lý mô hình' |
||||
no_defaults_warning: |
||||
title: 'Không có mô hình IFC nào được đặt làm mặc định cho dự án này.' |
||||
check_1: 'Kiểm tra xem bạn đã tải lên ít nhất một mô hình IFC.' |
||||
check_2: 'Kiểm tra xem ít nhất một mô hình IFC được đặt thành "Mặc định".' |
||||
no_results: "Không có mô hình IFC đã được tải lên trong dự án này." |
||||
processing_state: |
||||
label: 'Đang xử lý…' |
||||
in_progress: 'Đang xử lý' |
||||
completed: 'Đã Hoàn tất' |
||||
processing_notice: |
||||
processing_default: 'Các mô hình IFC mặc định sau đây vẫn đang được xử lý và do đó không có sẵn:' |
||||
flash_messages: |
||||
upload_successful: 'Tải lên thành công. Bây giờ nó sẽ được xử lý và sẽ sẵn sàng để sử dụng trong vài phút nữa.' |
||||
conversion: |
||||
missing_commands: "Các lệnh chuyển đổi IFC sau bị thiếu trên hệ thống này: %{names}" |
||||
project_module_ifc_models: "Mô hình IFC" |
||||
permission_view_ifc_models: "Xem các mô hình IFC" |
||||
permission_manage_ifc_models: "Nhập và quản lý các mô hình IFC" |
||||
extraction: |
||||
available: |
||||
ifc_convert: "Đường ống chuyển đổi IFC có sẵn" |
||||
activerecord: |
||||
attributes: |
||||
ifc_models/ifc_model: |
||||
ifc_attachment: "Tập tin IFC" |
||||
is_default: "Mô hình mặc định" |
||||
attachments: "Tập tin IFC" |
||||
errors: |
||||
models: |
||||
ifc_models/ifc_model: |
||||
attributes: |
||||
base: |
||||
ifc_attachment_missing: "Không có tập tin ifc đính kèm." |
||||
invalid_ifc_file: "Tệp được cung cấp không phải là tệp IFC hợp lệ." |
@ -0,0 +1,38 @@ |
||||
vi: |
||||
activerecord: |
||||
attributes: |
||||
ldap_groups/synchronized_group: |
||||
entry: 'Entry identifier' |
||||
auth_source: 'LDAP connection' |
||||
models: |
||||
ldap_groups/synchronized_group: 'Synchronized LDAP group' |
||||
ldap_groups: |
||||
label_menu_item: 'LDAP group synchronization' |
||||
label_group_key: 'LDAP group filter key' |
||||
settings: |
||||
group_key: 'LDAP group attribute' |
||||
group_key_text: 'The LDAP attribute name used to identify the groups.' |
||||
group_base: 'LDAP group base' |
||||
group_base_text: 'LDAP group base used to search for group entries.' |
||||
synchronized_groups: |
||||
add_new: 'Add synchronized LDAP group' |
||||
destroy: |
||||
title: 'Remove synchronized group %{name}' |
||||
confirmation: "If you continue, the synchronized group %{name} and all %{users_count} users synchronized through it will be removed." |
||||
info: "Note: The OpenProject group itself and members added outside this LDAP synchronization will not be removed." |
||||
verification: "Enter the group's name %{name} to verify the deletion." |
||||
help_text_html: | |
||||
Mô-đun này cho phép bạn thiết lập đồng bộ hóa giữa các nhóm LDAP và OpenProject. |
||||
Nó phụ thuộc vào các nhóm LDAP cần sử dụng thuộc tính <em>groupOfNames / memberOf</em> để hoạt động với OpenProject. |
||||
<br/> |
||||
Các nhóm được đồng bộ hóa hàng giờ thông qua một công việc định kỳ. |
||||
<a href="https://www.openproject.org/help/administration/manage-ldap-authentication/">Xin vui lòng xem tài liệu của chúng tôi về chủ đề này</a>. |
||||
no_results: 'No synchronized groups found.' |
||||
no_members: 'This group has no synchronized members yet.' |
||||
plural: 'Synchronized LDAP groups' |
||||
singular: 'Synchronized LDAP group' |
||||
form: |
||||
auth_source_text: 'Select which LDAP authentication mode is used.' |
||||
entry_text: 'Define the LDAP group identifier.' |
||||
group_text: 'Select an existing OpenProject group that members of the LDAP group shall be synchronized with' |
||||
|
@ -0,0 +1,86 @@ |
||||
#-- copyright |
||||
#OpenProject is an open source project management software. |
||||
#Copyright (C) 2012-2020 the OpenProject GmbH |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License version 3. |
||||
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
#Copyright (C) 2006-2017 Jean-Philippe Lang |
||||
#Copyright (C) 2010-2013 the ChiliProject Team |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License |
||||
#as published by the Free Software Foundation; either version 2 |
||||
#of the License, or (at your option) any later version. |
||||
#This program is distributed in the hope that it will be useful, |
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
#GNU General Public License for more details. |
||||
#You should have received a copy of the GNU General Public License |
||||
#along with this program; if not, write to the Free Software |
||||
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
#See docs/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
#English strings go here for Rails i18n |
||||
vi: |
||||
activerecord: |
||||
attributes: |
||||
meeting: |
||||
location: "Location" |
||||
duration: "Duration" |
||||
participants: "Participants" |
||||
participants_attended: "Attendees" |
||||
participants_invited: "Invitees" |
||||
start_time: "Time" |
||||
start_time_hour: "Starting time" |
||||
errors: |
||||
messages: |
||||
invalid_time_format: "is not a valid time. Required format: HH:MM" |
||||
models: |
||||
meeting_agenda: "Agenda" |
||||
meeting_minutes: "Minutes" |
||||
description_attended: "attended" |
||||
description_invite: "invited" |
||||
events: |
||||
meeting: Meeting edited |
||||
meeting_agenda: Meeting agenda edited |
||||
meeting_agenda_closed: Meeting agenda closed |
||||
meeting_agenda_opened: Meeting agenda opened |
||||
meeting_minutes: Meeting minutes edited |
||||
meeting_minutes_created: Meeting minutes created |
||||
error_notification_with_errors: "Failed to send notification. The following recipients could not be notified: %{recipients}" |
||||
label_meeting: "Meeting" |
||||
label_meeting_plural: "Meetings" |
||||
label_meeting_new: "New Meeting" |
||||
label_meeting_edit: "Edit Meeting" |
||||
label_meeting_agenda: "Agenda" |
||||
label_meeting_minutes: "Minutes" |
||||
label_meeting_close: "Đóng" |
||||
label_meeting_open: "Open" |
||||
label_meeting_agenda_close: "Close the agenda to begin the Minutes" |
||||
label_meeting_date_time: "Date/Time" |
||||
label_meeting_diff: "Diff" |
||||
label_notify: "Send for review" |
||||
label_icalendar: "Send iCalendar" |
||||
label_version: "Phiên bản" |
||||
label_time_zone: "Múi giờ" |
||||
label_start_date: "Ngày bắt đầu" |
||||
notice_successful_notification: "Notification sent successfully" |
||||
notice_timezone_missing: No time zone is set and %{zone} is assumed. To choose your time zone, please click here. |
||||
permission_create_meetings: "Create meetings" |
||||
permission_edit_meetings: "Edit meetings" |
||||
permission_delete_meetings: "Delete meetings" |
||||
permission_view_meetings: "View meetings" |
||||
permission_create_meeting_agendas: "Manage agendas" |
||||
permission_close_meeting_agendas: "Close agendas" |
||||
permission_send_meeting_agendas_notification: "Send review notification for agendas" |
||||
permission_create_meeting_minutes: "Manage minutes" |
||||
permission_send_meeting_minutes_notification: "Send review notification for minutes" |
||||
project_module_meetings: "Meetings" |
||||
text_duration_in_hours: "Duration in hours" |
||||
text_in_hours: "in hours" |
||||
text_meeting_agenda_for_meeting: 'agenda for the meeting "%{meeting}"' |
||||
text_meeting_closing_are_you_sure: "Are you sure you want to close the meeting?" |
||||
text_meeting_agenda_open_are_you_sure: "Unsaved content in the minutes will be lost! Continue?" |
||||
text_meeting_minutes_for_meeting: 'minutes for the meeting "%{meeting}"' |
||||
text_review_meeting_agenda: "%{author} has put the %{link} up for review." |
||||
text_review_meeting_minutes: "%{author} has put the %{link} up for review." |
||||
text_notificiation_invited: "This mail contains an ics entry for the meeting below:" |
@ -0,0 +1,4 @@ |
||||
vi: |
||||
js: |
||||
my_page: |
||||
label: "Trang của tôi" |
@ -0,0 +1,19 @@ |
||||
vi: |
||||
logout_warning: > |
||||
You have been logged out. The contents of any form you submit may be lost. Please [log in]. |
||||
activemodel: |
||||
attributes: |
||||
openid_connect/provider: |
||||
name: Tên |
||||
display_name: Display name |
||||
identifier: Định danh |
||||
secret: Secret |
||||
scope: Scope |
||||
openid_connect: |
||||
menu_title: OpenID providers |
||||
providers: |
||||
label_add_new: Add a new OpenID provider |
||||
label_edit: Edit OpenID provider %{name} |
||||
no_results_table: No providers have been defined yet. |
||||
plural: OpenID providers |
||||
singular: OpenID provider |
@ -0,0 +1,51 @@ |
||||
#-- copyright |
||||
#OpenProject is an open source project management software. |
||||
#Copyright (C) 2012-2020 the OpenProject GmbH |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License version 3. |
||||
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
#Copyright (C) 2006-2017 Jean-Philippe Lang |
||||
#Copyright (C) 2010-2013 the ChiliProject Team |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License |
||||
#as published by the Free Software Foundation; either version 2 |
||||
#of the License, or (at your option) any later version. |
||||
#This program is distributed in the hope that it will be useful, |
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
#GNU General Public License for more details. |
||||
#You should have received a copy of the GNU General Public License |
||||
#along with this program; if not, write to the Free Software |
||||
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
#See docs/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
vi: |
||||
error_can_not_delete_export_card_configuration: "This config cannot be deleted." |
||||
error_can_not_change_name_of_default_configuration: "The name of the default config cannot be changed." |
||||
label_backlogs_export_card_config_select: "Select export card configuration" |
||||
label_backlogs_export_card_export: "Xuất" |
||||
label_export_card_configuration_new: "New Export Card Config" |
||||
label_export_card_configuration: "Export Card Config" |
||||
label_export_card_configuration_plural: "Export Card Configs" |
||||
label_export_card_activate: "Activate" |
||||
label_export_card_deactivate: "De-activate" |
||||
notice_export_card_configuration_activated: "Cấu hình đã được kích hoạt thành công" |
||||
notice_export_card_configuration_deactivated: "Cấu hình đã hủy kích hoạt" |
||||
error_can_not_activate_export_card_configuration: "This config cannot be activated" |
||||
error_can_not_deactivate_export_card_configuration: "This config cannot be de-activated" |
||||
validation_error_required_keys_not_present: "Required key(s) not present:" |
||||
validation_error_yaml_is_badly_formed: "không có định dạng YAML hợp lệ." |
||||
validation_error_uknown_key: "Unknown key:" |
||||
yaml_error: "YAML error:" |
||||
help_link_rows_format: "Rows Formatting" |
||||
export_config_per_page: "Mỗi trang" |
||||
export_config_page_size: "Page size" |
||||
export_config_orientation: "Orientation" |
||||
export_config_rows: "Rows" |
||||
activerecord: |
||||
attributes: |
||||
export_card_configuration: |
||||
rows: "Rows" |
||||
per_page: "Mỗi trang" |
||||
page_size: "Page size" |
||||
orientation: "Orientation" |
@ -0,0 +1,18 @@ |
||||
#English strings go here for Rails i18n |
||||
vi: |
||||
recaptcha: |
||||
label_recaptcha: "reCAPTCHA" |
||||
button_please_wait: 'Please wait ...' |
||||
verify_account: "Verify your account" |
||||
error_captcha: "Your account could not be verified. Please contact an administrator." |
||||
settings: |
||||
website_key: 'Website key' |
||||
website_key_text: 'Enter the website key you created on the reCAPTCHA admin console for this domain.' |
||||
secret_key: 'Secret key' |
||||
secret_key_text: 'Enter the secret key you created on the reCAPTCHA admin console.' |
||||
type: 'Use reCAPTCHA' |
||||
type_disabled: 'Disable reCAPTCHA' |
||||
type_v2: 'reCAPTCHA v2' |
||||
type_v3: 'reCAPTCHA v3' |
||||
recaptcha_description_html: > |
||||
reCAPTCHA is a free service by Google that can be enabled for your OpenProject instance. If enabled, a captcha form will be rendered upon login for all users that have not verified a captcha yet. <br/> Please see the following link for more details on reCAPTCHA and their versions, and how to create the website and secret keys: %{recaptcha_link} |
@ -0,0 +1,71 @@ |
||||
#-- copyright |
||||
#OpenProject is an open source project management software. |
||||
#Copyright (C) 2012-2020 the OpenProject GmbH |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License version 3. |
||||
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
#Copyright (C) 2006-2017 Jean-Philippe Lang |
||||
#Copyright (C) 2010-2013 the ChiliProject Team |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License |
||||
#as published by the Free Software Foundation; either version 2 |
||||
#of the License, or (at your option) any later version. |
||||
#This program is distributed in the hope that it will be useful, |
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
#GNU General Public License for more details. |
||||
#You should have received a copy of the GNU General Public License |
||||
#along with this program; if not, write to the Free Software |
||||
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
#See docs/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
#--- |
||||
vi: |
||||
button_save_as: "Save report as..." |
||||
comments: "Nhận xét" |
||||
cost_reports_title: "Cost reports" |
||||
label_cost_report: "Cost report" |
||||
description_drill_down: "Show details" |
||||
description_filter_selection: "Selection" |
||||
description_multi_select: "Show multiselect" |
||||
description_remove_filter: "Remove filter" |
||||
information_restricted_depending_on_permission: "Depending on your permissions this page might contain restricted information." |
||||
label_click_to_edit: "Click to edit." |
||||
label_closed: "đã đóng" |
||||
label_columns: "Cột" |
||||
label_cost_entry_attributes: "Cost entry attributes" |
||||
label_days_ago: "during the last days" |
||||
label_entry: "Cost entry" |
||||
label_filter_text: "Filter text" |
||||
label_filter_value: "Giá trị" |
||||
label_filters: "Bộ lọc" |
||||
label_greater: ">" |
||||
label_is_not_project_with_subprojects: "is not (includes subprojects)" |
||||
label_is_project_with_subprojects: "is (includes subprojects)" |
||||
label_work_package_attributes: "Work package attributes" |
||||
label_less: "<" |
||||
label_money: "Cash value" |
||||
label_month_reporting: "Month (Spent)" |
||||
label_new_report: "New cost report" |
||||
label_open: "mở" |
||||
label_operator: "Operator" |
||||
label_private_report_plural: "Private cost reports" |
||||
label_progress_bar_explanation: "Generating report..." |
||||
label_public_report_plural: "Public cost reports" |
||||
label_really_delete_question: "Are you sure you want to delete this report?" |
||||
label_rows: "Rows" |
||||
label_saving: "Saving ..." |
||||
label_spent_on_reporting: "Date (Spent)" |
||||
label_sum: "Sum" |
||||
label_units: "Units" |
||||
label_week_reporting: "Week (Spent)" |
||||
label_year_reporting: "Year (Spent)" |
||||
load_query_question: "Report will have %{size} table cells and may take some time to render. Do you still want to try rendering it?" |
||||
permission_save_cost_reports: "Save public cost reports" |
||||
permission_save_private_cost_reports: "Save private cost reports" |
||||
project_module_reporting_module: "Cost reports" |
||||
text_costs_are_rounded_note: "Displayed values are rounded. All calculations are based on the non-rounded values." |
||||
toggle_multiselect: "activate/deactivate multiselect" |
||||
units: "Units" |
||||
validation_failure_date: "is not a valid date" |
||||
validation_failure_integer: "is not a valid integer" |
@ -0,0 +1,26 @@ |
||||
#-- copyright |
||||
#OpenProject is an open source project management software. |
||||
#Copyright (C) 2012-2020 the OpenProject GmbH |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License version 3. |
||||
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
#Copyright (C) 2006-2017 Jean-Philippe Lang |
||||
#Copyright (C) 2010-2013 the ChiliProject Team |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License |
||||
#as published by the Free Software Foundation; either version 2 |
||||
#of the License, or (at your option) any later version. |
||||
#This program is distributed in the hope that it will be useful, |
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
#GNU General Public License for more details. |
||||
#You should have received a copy of the GNU General Public License |
||||
#along with this program; if not, write to the Free Software |
||||
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
#See docs/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
vi: |
||||
js: |
||||
reporting_engine: |
||||
label_remove: "Xoá" |
||||
label_response_error: "There was an error handling the query." |
@ -0,0 +1,52 @@ |
||||
#-- copyright |
||||
#OpenProject is an open source project management software. |
||||
#Copyright (C) 2012-2020 the OpenProject GmbH |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License version 3. |
||||
#OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows: |
||||
#Copyright (C) 2006-2017 Jean-Philippe Lang |
||||
#Copyright (C) 2010-2013 the ChiliProject Team |
||||
#This program is free software; you can redistribute it and/or |
||||
#modify it under the terms of the GNU General Public License |
||||
#as published by the Free Software Foundation; either version 2 |
||||
#of the License, or (at your option) any later version. |
||||
#This program is distributed in the hope that it will be useful, |
||||
#but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
#GNU General Public License for more details. |
||||
#You should have received a copy of the GNU General Public License |
||||
#along with this program; if not, write to the Free Software |
||||
#Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
#See docs/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
#--- |
||||
vi: |
||||
description_drill_down: "Show details" |
||||
label_click_to_edit: "Click to edit." |
||||
label_columns: "Cột" |
||||
label_count: "Count" |
||||
label_filter: "Bộ lọc" |
||||
label_filter_add: "Add Filter" |
||||
label_filter_plural: "Bộ lọc" |
||||
label_greater: ">" |
||||
label_group_by: "Nhóm theo" |
||||
label_group_by_add: "Add Group-by Attribute" |
||||
label_inactive: "«inactive»" |
||||
label_less: "<" |
||||
label_no: "Không" |
||||
label_none: "(no data)" |
||||
label_progress_bar_explanation: "Generating report..." |
||||
label_really_delete_question: "Are you sure you want to delete this report?" |
||||
label_report: "Báo cáo" |
||||
label_rows: "Rows" |
||||
label_saving: "Saving ..." |
||||
label_sum: "Sum" |
||||
label_yes: "Có" |
||||
load_query_question: "Report will have %{size} table cells and may take some time to render. Do you still want to try rendering it?" |
||||
units: "Units" |
||||
validation_failure_date: "is not a valid date" |
||||
validation_failure_integer: "is not a valid integer" |
||||
reporting: |
||||
group_by: |
||||
selected_columns: "Selected columns" |
||||
selected_rows: "Selected rows" |
@ -0,0 +1,176 @@ |
||||
#English strings go here for Rails i18n |
||||
vi: |
||||
activerecord: |
||||
attributes: |
||||
two_factor_authentication/device: |
||||
identifier: 'Định danh' |
||||
default: 'Giữ nguyên mặc định' |
||||
two_factor_authentication/device/sms: |
||||
phone_number: "Số điện thoại" |
||||
errors: |
||||
models: |
||||
two_factor_authentication/device: |
||||
default_already_exists: 'đã được thiết lập cho một thiết bị khác OTP.' |
||||
two_factor_authentication/device/sms: |
||||
attributes: |
||||
phone_number: |
||||
error_phone_number_format: "phải có định dạng +XX XXXXXXXXX" |
||||
models: |
||||
two_factor_authentication/device: "Thiết bị 2FA" |
||||
two_factor_authentication/device/sms: "Số di động" |
||||
two_factor_authentication/device/totp: "Ứng dụng xác thực" |
||||
two_factor_authentication: |
||||
error_2fa_disabled: "Phương thức 2FA đã bị vô hiệu." |
||||
error_no_device: "Không có thiết bị 2FA đăng ký cho người dùng này, mặc dù được yêu cầu cho trường hợp này được tìm thấy." |
||||
error_no_matching_strategy: "Không có chiến lược 2FA sẵn có nào phù hợp với người dùng này. Xin vui lòng liên hệ với administratior của bạn." |
||||
error_is_enforced_not_active: 'Lỗi cấu hình: xác thực 2 yếu tố đã được thi hành, nhưng không có chiến lược nào đang được sử dụng.' |
||||
error_invalid_backup_code: 'Mã sao lưu 2FA không hợp lệ' |
||||
channel_unavailable: "Kênh phân phối %{channel} là không có sẵn." |
||||
no_valid_phone_number: "Số điện thoại hợp lệ không tồn tại." |
||||
label_pwd_confirmation: "Mật khẩu" |
||||
notice_pwd_confirmation: "Bạn cần phải xác nhận mật khẩu của bạn khi thực hiện thay đổi các thiết đặt này." |
||||
label_device_type: "Kiểu thiết bị" |
||||
label_default_device: "Thiết bị 2FA mặc định" |
||||
label_device: "Thiết bị 2FA" |
||||
label_devices: "Các thiết bị 2FA" |
||||
label_one_time_password: 'Mật khẩu sử dụng một lần' |
||||
label_2fa_enabled: 'Xác thực 2 nhân tố đang được sử dụng' |
||||
label_2fa_disabled: 'Xác thực 2 yếu tố không hoạt động' |
||||
text_otp_delivery_message_sms: "Mật khẩu một lần cho ứng dụng %{app_title} là %{token}" |
||||
text_otp_delivery_message_voice: "Mật khẩu một lần cho ứng dụng %{app_title} là: %{pause} %{token}. %{pause}. Lặp lại: %{pause} %{token}" |
||||
text_enter_2fa: 'Vui lòng nhập mật khẩu một lần từ diện thoại của bạn.' |
||||
text_2fa_enabled: 'Sau khi mỗi đăng nhập, bạn sẽ được yêu cầu để nhập một mã thông báo OTP từ thiết bị 2FA mặc định của bạn.' |
||||
text_2fa_disabled: 'Để kích hoạt xác thực 2 yếu tố, sử dụng các nút ở trên để đăng ký thiết bị 2FA mới. Nếu bạn đã có một thiết bị, bạn cần để làm cho nó một mặc định.' |
||||
login: |
||||
enter_backup_code_title: Nhập mã dự phòng |
||||
enter_backup_code_text: Vui lòng nhập mã dự phòng hợp lệ từ danh sách các mã số trong trường hợp bạn không còn có thể truy cập vào thiết bị của bạn đã đăng ký 2FA. |
||||
other_device: 'Sử dụng một thiết bị khác hoặc mã dự phòng' |
||||
settings: |
||||
title: 'Cài đặt 2FA' |
||||
current_configuration: 'Cấu hình hiện tại' |
||||
label_active_strategies: 'Chiến lược 2FA đang dùng' |
||||
label_enforced: 'Bắt buộc sử dụng 2FA' |
||||
label_remember: 'Nhớ Đăng nhập của Tôi' |
||||
text_configuration: | |
||||
Lưu ý: Các giá trị này đại diện cho cấu hình phạm vi ứng dụng hiện tại. Bạn không thể tắt được thi hành bởi cấu hình cài đặt hoặc thay đổi chiến lược hoạt động hiện nay, kể từ khi họ yêu cầu khởi động lại máy chủ. |
||||
text_configuration_guide: Để biết thêm chi tiết, hãy kiểm tra hướng dẫn cấu hình. |
||||
text_enforced: 'Cho phép thiết đặt này để buộc tất cả người dùng để đăng ký thiết bị 2FA trên đăng nhập tiếp theo của họ. Có thể chỉ bị tắt khi không được thi hành bởi cấu hình.' |
||||
text_remember: | |
||||
Hãy đặt số ngày ghi nhớ mã F2Alớn hơn 0 để cho phép người sử dụng nhớ mã 2FA của họ. |
||||
Sẽ không yêu cầu nhập mã trong thời giannày. Chỉ có thể đặt nếu không bị thiết lập bắt buộc trong cấu hình. |
||||
error_invalid_settings: 'Phương án mã 2FA bạn lựa chon không hợp lệ' |
||||
failed_to_save_settings: 'Failed to update 2FA settings: %{message}' |
||||
admin: |
||||
self_edit_path: 'To add or modify your own 2FA devices, please go to %{self_edit_link}' |
||||
self_edit_link_name: 'Two-factor authentication on your account page' |
||||
self_edit_forbidden: 'You may not edit your own 2FA devices on this path. Go to My Account > Two factor authentication instead.' |
||||
no_devices_for_user: 'No 2FA device has been registered for this user.' |
||||
all_devices_deleted: 'All 2FA devices of this user have been deleted' |
||||
delete_all_are_you_sure: 'Are you sure you want to delete all 2FA devices for this user?' |
||||
button_delete_all_devices: 'Delete registered 2FA devices' |
||||
button_register_mobile_phone_for_user: 'Register mobile phone' |
||||
text_2fa_enabled: 'Upon every login, this user will be requested to enter a OTP token from his default 2FA device.' |
||||
text_2fa_disabled: "The user did not set up a 2FA device through his 'My account page'" |
||||
upsale: |
||||
title: 'Two-factor authentication is an enterprise feature' |
||||
description: 'Strenghten your internal or external authentication mechanisms with a second factor.' |
||||
backup_codes: |
||||
none_found: No backup codes exist for this account. |
||||
singular: Backup code |
||||
plural: Backup codes |
||||
your_codes: for your %{app_name} account %{login} |
||||
overview_description: | |
||||
If you are unable to access your two factor devices, you can use a backup code to regain access to your account. |
||||
Use the following button to generate a new set of backup codes. |
||||
generate: |
||||
title: Generate backup codes |
||||
keep_safe_as_password: 'Important! Treat these codes as passwords.' |
||||
keep_safe_warning: 'Either save them in your password manager, or print this page and put in a safe place.' |
||||
regenerate_warning: 'Warning: If you have created backup codes before, they will be invalidated and will no longer work.' |
||||
devices: |
||||
add_new: 'Add new 2FA device' |
||||
register: 'Register device' |
||||
confirm_default: 'Confirm changing default device' |
||||
confirm_device: 'Confirm device' |
||||
confirm_now: 'Not confirmed, click here to activate' |
||||
cannot_delete_default: 'Cannot delete default device' |
||||
make_default_are_you_sure: 'Are you sure you want to make this 2FA device your default?' |
||||
make_default_failed: 'Failed to update the default 2FA device.' |
||||
deletion_are_you_sure: 'Are you sure you want to delete this 2FA device?' |
||||
registration_complete: '2FA device registration complete!' |
||||
registration_failed_token_invalid: '2FA device registration failed, the token was invalid.' |
||||
registration_failed_update: '2FA device registration failed, the token was valid but the device could not be updated.' |
||||
confirm_send_failed: 'Confirmation of your 2FA device failed.' |
||||
button_complete_registration: 'Complete 2FA registration' |
||||
text_confirm_to_complete_html: "Please complete the registration of your device <strong>%{identifier}</strong> by entering a one-time password from your default device." |
||||
text_confirm_to_change_default_html: "Please confirm changing your default device to <strong>%{new_identifier}</strong> by entering a one-time password from your current default device." |
||||
text_identifier: 'You can give the device a custom identifier using this field.' |
||||
failed_to_delete: 'Failed to delete 2FA device.' |
||||
is_default_cannot_delete: 'The device is marked as default and cannot be deleted due to an active security policy. Mark another device as default before deleting.' |
||||
not_existing: 'No 2FA device has been registered for your account.' |
||||
request_2fa: Please enter the code from your %{device_name} to verify your identity. |
||||
totp: |
||||
title: 'Use your app-based authenticator' |
||||
provisioning_uri: 'Provisioning URI' |
||||
secret_key: 'Secret key' |
||||
time_based: 'Time based' |
||||
account: 'Account name / Issuer' |
||||
setup: | |
||||
For setting up two-factor authentication with Google Authenticator, download the application from the Apple App store or Google Play Store. |
||||
After opening the app, you can scan the following QR code to register the device. |
||||
question_cannot_scan: | |
||||
Unable to scan the code using your application? |
||||
text_cannot_scan: | |
||||
If you can't scan the code, you can enter the entry manually using the following details: |
||||
description: | |
||||
Register an application authenticator for use with OpenProject using the time-based one-time password authentication standard. |
||||
Common examples are Google Authenticator or Authy. |
||||
sms: |
||||
title: 'Use your mobile phone' |
||||
redacted_identifier: 'Mobile device (%{redacted_number})' |
||||
request_2fa_identifier: '%{redacted_identifier}, we sent you an authentication code via %{delivery_channel}' |
||||
description: | |
||||
Register your mobile phone number for delivery of OpenProject one-time passwords. |
||||
sns: |
||||
delivery_failed: 'SNS delivery failed:' |
||||
message_bird: |
||||
sms_delivery_failed: 'MessageBird SMS delivery failed.' |
||||
voice_delivery_failed: 'MessageBird voice call failed.' |
||||
restdt: |
||||
delivery_failed_with_code: 'Token delivery failed. (Error code %{code})' |
||||
strategies: |
||||
totp: 'Ứng dụng xác thực' |
||||
sns: 'Amazon SNS' |
||||
resdt: 'SMS Rest API' |
||||
mobile_transmit_notification: "A one-time password has been sent to your cell phone." |
||||
label_two_factor_authentication: 'Two-factor authentication' |
||||
forced_registration: |
||||
required_to_add_device: 'An active security policy requires you to enable two-factor authentication. Please use the following form to register a device.' |
||||
remember: |
||||
active_session_notice: > |
||||
Your account has an active remember cookie valid until %{expires_on}. This cookie allows you to log in without a second factor to your account until that time. |
||||
other_active_session_notice: Your account has an active remember cookie on another session. |
||||
label: 'Remember' |
||||
clear_cookie: 'Click here to remove all remembered 2FA sessions.' |
||||
cookie_removed: 'All remembered 2FA sessions have been removed.' |
||||
dont_ask_again: "Create cookie to remember 2FA authentication on this client for %{days} days." |
||||
field_phone: "Cell phone" |
||||
field_otp: "Mật khẩu sử dụng một lần" |
||||
notice_account_otp_invalid: "Invalid one-time password." |
||||
notice_account_otp_expired: "The one-time password you entered expired." |
||||
notice_developer_strategy_otp: "Developer strategy generated the following one-time password: %{token} (Channel: %{channel})" |
||||
notice_account_otp_send_failed: "Your one-time password could not be sent." |
||||
notice_account_has_no_phone: "No cell phone number is associated with your account." |
||||
label_expiration_hint: "%{date} or on logout" |
||||
label_actions: 'Actions' |
||||
label_confirmed: 'Đã xác nhận' |
||||
button_continue: 'Continue' |
||||
button_make_default: 'Mark as default' |
||||
label_unverified_phone: "Cell phone not yet verified" |
||||
notice_phone_number_format: "Please enter the number in the following format: +XX XXXXXXXX." |
||||
text_otp_not_receive: "Other verification methods" |
||||
text_send_otp_again: "Resend one-time password by:" |
||||
button_resend_otp_form: "Resend" |
||||
button_otp_by_voice: "Voice call" |
||||
button_otp_by_sms: "SMS" |
||||
label_otp_channel: "Delivery channel" |
@ -0,0 +1,59 @@ |
||||
vi: |
||||
activerecord: |
||||
attributes: |
||||
webhooks/webhook: |
||||
url: 'Payload URL' |
||||
secret: 'Chữ ký bí mật' |
||||
events: 'Sự kiện' |
||||
projects: 'Enabled projects' |
||||
webhooks/log: |
||||
event_name: 'Tên sự kiện' |
||||
url: 'Payload URL' |
||||
response_code: 'Thông điệp phản hồi' |
||||
response_body: 'Phản hồi' |
||||
models: |
||||
webhooks/outgoing_webhook: "Outgoing webhook" |
||||
webhooks: |
||||
singular: Webhook |
||||
plural: Webhooks |
||||
resources: |
||||
time_entry: |
||||
name: "Thời gian nhập" |
||||
outgoing: |
||||
no_results_table: No webhooks have been defined yet. |
||||
label_add_new: Add new webhook |
||||
label_edit: Edit webhook |
||||
label_event_resources: Event resources |
||||
events: |
||||
created: "Đã tạo" |
||||
updated: "Updated" |
||||
status: |
||||
enabled: 'Webhook is enabled' |
||||
disabled: 'Webhook is disabled' |
||||
enabled_text: 'The webhook will emit payloads for the defined events below.' |
||||
disabled_text: 'Click the edit button to activate the webhook.' |
||||
deliveries: |
||||
no_results_table: No deliveries have been made for this webhook. |
||||
title: 'Recent deliveries' |
||||
time: 'Delivery time' |
||||
form: |
||||
introduction: > |
||||
Send a POST request to the payload URL below for any event in the project your subscribe. Payload will correspond to the APIv3 representation of the object being modified. |
||||
apiv3_doc_url: For more information, visit the API documentation |
||||
description: |
||||
placeholder: 'Optional description for the webhook.' |
||||
enabled: |
||||
description: > |
||||
When checked, the webhook will trigger on the selected events. Uncheck to disable the webhook. |
||||
events: |
||||
title: 'Enabled events' |
||||
project_ids: |
||||
title: 'Enabled projects' |
||||
description: 'Select for which projects this webhook should be executed for.' |
||||
all: 'All projects' |
||||
selected: 'Selected projects only' |
||||
selected_project_ids: |
||||
title: 'Selected projects' |
||||
secret: |
||||
description: > |
||||
If set, this secret value is used by OpenProject to sign the webhook payload. |
@ -0,0 +1,13 @@ |
||||
vi: |
||||
export_to_excel: "Xuất sang XLS" |
||||
print_with_description: "Print preview with description" |
||||
sentence_separator_or: "hoặc" |
||||
different_formats: Định dạng khác |
||||
export: |
||||
format: |
||||
xls: "XLS" |
||||
xls_with_descriptions: "XLS có mô tả" |
||||
xls_with_relations: "XLS with relations" |
||||
xls_export: |
||||
child_of: child of |
||||
parent_of: parent of |
Loading…
Reference in new issue