Add 🇻🇳 Vietnamese locale (#240)

This commit is contained in:
William Vo
2024-01-08 23:13:39 +07:00
committed by GitHub
parent 748df5bcd3
commit 35e7106a93
6 changed files with 418 additions and 3 deletions

View File

@@ -0,0 +1,138 @@
vi:
errors:
unknown: 'Đã xảy ra một lỗi không xác định'
unauthorized: 'Bạn không được ủy quyền'
not_logged_in: 'Bạn phải đăng nhập để truy cập trang này'
not_enough_privileges: 'Bạn không có đủ quyền để truy cập trang này'
user_blocked_or_deleted: 'Bạn không thể truy cập tài khoản của mình vì nó đã bị chặn hoặc xóa.'
o_auth_login_error: 'Có lỗi khi đăng nhập bằng %{name}. Vui lòng liên hệ với quản trị viên trang web hoặc thử một nhà cung cấp khác.'
board:
update_order: 'Đã xảy ra lỗi khi sắp xếp lại các bảng'
post_status:
update_order: 'Đã xảy ra lỗi khi sắp xếp lại các trạng thái'
defaults:
user_full_name: 'Người dùng Ẩn Danh'
mailers:
devise:
welcome_greeting: 'Chào mừng bạn đến với %{site_name}, %{email}!'
opening_greeting: 'Xin chào %{email}!'
confirmation_instructions:
body: 'Bạn có thể xác nhận email tài khoản của bạn qua liên kết dưới đây:'
action: 'Xác nhận tài khoản của tôi'
email_changed:
body: "Chúng tôi liên hệ với bạn để thông báo rằng địa chỉ email của bạn đang được thay đổi thành %{email}."
body2: "Chúng tôi liên hệ với bạn để thông báo rằng địa chỉ email của bạn đã được thay đổi thành %{email}."
password_change:
body: "Chúng tôi liên hệ với bạn để thông báo rằng mật khẩu của bạn đã được thay đổi."
reset_password:
body: 'Ai đó đã yêu cầu một liên kết để đổi mật khẩu của bạn. Bạn có thể làm điều này thông qua liên kết dưới đây.'
body2: "Nếu bạn không yêu cầu điều này, vui lòng bỏ qua email này."
body3: "Mật khẩu của bạn sẽ không thay đổi cho đến khi bạn truy cập vào liên kết trên và tạo một mật khẩu mới."
action: 'Đổi mật khẩu của tôi'
user:
opening_greeting: 'Xin chào!'
closing_greeting: 'Chúc bạn một ngày tốt lành!'
learn_more: 'Nhấn vào đây để tìm hiểu thêm'
unsubscribe: 'Khó chịu? Bạn có thể tắt thông báo tại đây'
notify_post_owner:
subject: '[%{app_name}] Bình luận mới trên %{post}'
body: 'Có một bình luận mới từ %{user} trên bài viết của bạn %{post}'
notify_comment_owner:
subject: '[%{app_name}] Phản hồi mới trên bình luận của bạn từ %{post}'
body: 'Có một phản hồi mới từ %{user} trên bình luận của bạn trên bài viết %{post}'
notify_followers_of_post_update:
subject: '[%{app_name}] Cập nhật mới cho bài viết %{post}'
body: "Có một cập nhật mới trên bài viết bạn đang theo dõi %{post}"
notify_followers_of_post_status_change:
subject: '[%{app_name}] Thay đổi trạng thái trên bài viết %{post}'
body: "Bài viết bạn đang theo dõi %{post} có một trạng thái mới"
activerecord:
models:
board:
one: 'Bảng'
other: 'Các bảng'
comment:
one: 'Bình luận'
other: 'Các bình luận'
like:
one: 'Phiếu bầu'
other: 'Các phiếu bầu'
o_auth:
one: 'Xác thực OAuth'
other: 'Các xác thực OAuth'
post_status:
one: 'Trạng thái'
other: 'Các trạng thái'
post:
one: 'Bài viết'
other: 'Các bài viết'
user:
one: 'Người dùng'
other: 'Các người dùng'
attributes:
board:
name: 'Tên'
description: 'Mô tả'
order: 'Thứ tự'
comment:
body: 'Nội dung'
is_post_update: 'Cập nhật bài viết'
user_id: 'Tác giả'
post_id: 'Bài viết'
parent_id: 'Bình luận cha'
follow:
user_id: 'Người dùng'
post_id: 'Bài viết'
like:
user_id: 'Người dùng'
post_id: 'Bài viết'
o_auth:
name: 'Tên'
logo: 'Logo'
is_enabled: 'Đã bật'
client_id: 'ID Khách hàng'
client_secret: 'Mã bí mật Khách hàng'
authorize_url: 'URL Ủy quyền'
token_url: 'URL Token'
profile_url: 'URL Hồ sơ'
scope: 'Phạm vi'
json_user_name_path: 'Đường dẫn JSON đến tên người dùng'
json_user_email_path: 'Đường dẫn JSON đến email người dùng'
post_status:
name: 'Tên'
color: 'Màu'
order: 'Thứ tự'
show_in_roadmap: 'Hiển thị trong lộ trình'
post:
title: 'Tiêu đề'
description: 'Mô tả'
board_id: 'Bảng của bài viết'
user_id: 'Tác giả bài viết'
post_status_id: 'Trạng thái bài viết'
tenant:
site_name: 'Tên trang web'
site_logo: 'Logo trang web'
subdomain: 'Tên miền phụ'
locale: 'Ngôn ngữ'
tenant_setting:
brand_display: 'Hiển thị'
show_vote_count: 'Hiển thị số phiếu bầu cho người dùng'
show_vote_button_in_board: 'Hiển thị nút phiếu bầu trên trang bảng'
root_board_id: 'Trang gốc'
show_roadmap_in_header: 'Hiển thị liên kết lộ trình trên tiêu đề'
collapse_boards_in_header: 'Thu gọn các bảng trong tiêu đề'
user:
email: 'Email'
full_name: 'Họ và tên'
password: 'Mật khẩu'
password_confirmation: 'Xác nhận mật khẩu'
role: 'Vai trò'
notifications_enabled: 'Cho phép thông báo'
errors:
messages:
invalid: 'không hợp lệ'
required: 'là bắt buộc'
blank: 'không thể để trống'
taken: 'đã tồn tại'
too_short: 'quá ngắn (ít nhất %{count} ký tự)'
too_long: 'quá dài (tối đa %{count} ký tự)'

View File

@@ -0,0 +1,63 @@
vi:
devise:
confirmations:
confirmed: "Địa chỉ email của bạn đã được xác nhận thành công."
send_instructions: "Bạn sẽ nhận được một email hướng dẫn để xác nhận địa chỉ email của bạn trong vài phút."
send_paranoid_instructions: "Nếu địa chỉ email của bạn tồn tại trong cơ sở dữ liệu của chúng tôi, bạn sẽ nhận được một email hướng dẫn để xác nhận địa chỉ email của bạn trong vài phút."
failure:
already_authenticated: "Bạn đã đăng nhập rồi."
inactive: "Tài khoản của bạn chưa được kích hoạt."
invalid: "%{authentication_keys} hoặc mật khẩu không hợp lệ."
locked: "Tài khoản của bạn đã bị khóa."
last_attempt: "Bạn còn một lần thử trước khi tài khoản của bạn bị khóa."
not_found_in_database: "%{authentication_keys} hoặc mật khẩu không hợp lệ."
timeout: "Phiên của bạn đã hết hạn. Vui lòng đăng nhập lại để tiếp tục."
unauthenticated: "Bạn cần đăng nhập hoặc đăng ký trước khi tiếp tục."
unconfirmed: "Bạn cần xác nhận địa chỉ email của mình trước khi tiếp tục."
mailer:
confirmation_instructions:
subject: "Hướng dẫn xác nhận"
reset_password_instructions:
subject: "Hướng dẫn đặt lại mật khẩu"
unlock_instructions:
subject: "Hướng dẫn mở khóa"
email_changed:
subject: "Email đã được thay đổi"
password_change:
subject: "Mật khẩu đã được thay đổi"
omniauth_callbacks:
failure: "Không thể xác thực bạn từ tài khoản %{kind} vì \"%{reason}\"."
success: "Xác thực thành công từ tài khoản %{kind}."
passwords:
no_token: "Bạn không thể truy cập trang này nếu không đến từ email đặt lại mật khẩu. Nếu bạn đến từ email đặt lại mật khẩu, hãy đảm bảo bạn sử dụng đường dẫn URL đầy đủ được cung cấp."
send_instructions: "Bạn sẽ nhận được một email hướng dẫn cách đặt lại mật khẩu trong vài phút."
send_paranoid_instructions: "Nếu địa chỉ email của bạn tồn tại trong cơ sở dữ liệu của chúng tôi, bạn sẽ nhận được liên kết khôi phục mật khẩu tại địa chỉ email của bạn trong vài phút."
updated: "Mật khẩu của bạn đã được thay đổi thành công. Bạn đang đăng nhập."
updated_not_active: "Mật khẩu của bạn đã được thay đổi thành công."
registrations:
destroyed: "Tạm biệt! Tài khoản của bạn đã được hủy thành công. Chúng tôi hy vọng sẽ gặp lại bạn sớm."
signed_up: "Chào mừng bạn! Bạn đã đăng ký thành công."
signed_up_but_inactive: "Bạn đã đăng ký thành công. Tuy nhiên, chúng tôi không thể đăng nhập cho bạn vì tài khoản của bạn chưa được kích hoạt."
signed_up_but_locked: "Bạn đã đăng ký thành công. Tuy nhiên, chúng tôi không thể đăng nhập cho bạn vì tài khoản của bạn đã bị khóa."
signed_up_but_unconfirmed: "Một tin nhắn với liên kết xác nhận đã được gửi đến địa chỉ email của bạn. Vui lòng làm theo liên kết để kích hoạt tài khoản của bạn."
update_needs_confirmation: "Bạn đã cập nhật tài khoản thành công, nhưng chúng tôi cần xác minh địa chỉ email mới của bạn. Vui lòng kiểm tra email của bạn và làm theo liên kết xác nhận để xác minh địa chỉ email mới của bạn."
updated: "Tài khoản của bạn đã được cập nhật thành công."
updated_but_not_signed_in: "Tài khoản của bạn đã được cập nhật thành công, nhưng vì mật khẩu của bạn đã thay đổi, bạn cần đăng nhập lại"
sessions:
signed_in: "Đăng nhập thành công."
signed_out: "Đăng xuất thành công."
already_signed_out: "Đăng xuất thành công."
unlocks:
send_instructions: "Bạn sẽ nhận được một email hướng dẫn cách mở khóa tài khoản của bạn trong vài phút."
send_paranoid_instructions: "Nếu tài khoản của bạn tồn tại, bạn sẽ nhận được một email hướng dẫn cách mở khóa tài khoản trong vài phút."
unlocked: "Tài khoản của bạn đã được mở khóa thành công. Vui lòng đăng nhập để tiếp tục."
errors:
messages:
already_confirmed: "đã được xác nhận trước đó, vui lòng thử đăng nhập"
confirmation_period_expired: "cần được xác nhận trong vòng %{period}, vui lòng yêu cầu mới"
expired: "đã hết hạn, vui lòng yêu cầu mới"
not_found: "không tìm thấy"
not_locked: "không bị khóa"
not_saved:
one: "1 lỗi đã ngăn %{resource} này khỏi việc lưu:"
other: "%{count} lỗi đã ngăn %{resource} này khỏi việc lưu:"

212
config/locales/vi.yml Normal file
View File

@@ -0,0 +1,212 @@
vi:
common:
validations:
required: '%{attribute} bắt buộc nhập'
email: 'Email không hợp lệ'
url: 'URL không hợp lệ'
password: 'Mật khẩu phải từ %{n} ký tự'
password_mismatch: 'Mật khẩu và xác nhận mật khẩu phải giống nhau'
forms:
auth:
email: 'Email'
full_name: 'Họ và tên'
password: 'Mật khẩu'
password_confirmation: 'Xác nhận mật khẩu'
new_password: 'Mật khẩu mới'
new_password_confirmation: 'Xác nhận mật khẩu mới'
current_password: 'Mật khẩu hiện tại'
notifications_enabled: 'Thông báo đã bật'
notifications_enabled_help: "Nếu tắt, bạn sẽ không nhận được thông báo nào"
remember_me: 'Nhớ mật khẩu'
log_in: 'Đăng nhập'
sign_up: 'Đăng ký'
log_in_with: 'Đăng nhập với %{o_auth}'
sign_up_with: 'Đăng ký với %{o_auth}'
profile_settings: 'Thông tin cá nhân'
update_profile: 'Cập nhật thông tin cá nhân'
cancel_account: 'Hủy tài khoản'
forgot_password: 'Quên mật khẩu?'
confirmation_instructions_not_received: "Không nhận được hướng dẫn xác nhận?"
unlock_instructions_not_received: "Không nhận được hướng dẫn mở khóa?"
send_reset_password_instructions: 'Gửi hướng dẫn đặt lại mật khẩu'
resend_confirmation_instructions: 'Gửi lại hướng dẫn xác nhận'
resend_unlock_instructions: 'Gửi lại hướng dẫn mở khóa'
change_password: 'Đổi mật khẩu'
password_help: 'Ít nhất %{count} ký từ'
comments_number:
one: '1 bình luận'
other: '%{count} bình luận'
no_status: 'Không có trạng thái'
loading: 'Đang tải...'
confirmation: 'Bạn có chắc chắn?'
unsaved_changes: 'Những thay đổi chưa được lưu sẽ bị mất nếu bạn rời khỏi trang.'
edited: 'Đã chỉnh sửa'
enabled: 'Đã bật'
disabled: 'Đã tắt'
copied: 'Đã sao chép!'
buttons:
new: 'Taọ mới'
edit: 'Chỉnh sửa'
delete: 'Xóa'
cancel: 'Huỷ bỏ'
create: 'Tạo mới'
update: 'Cập nhật'
confirm: 'Xác nhận'
back: 'Quay lại'
test: 'Kiểm tra'
datetime:
now: 'Vừa xong'
minutes:
one: '1 phút trước'
other: '%{count} phút trước'
hours:
one: '1 giờ trước'
other: '%{count} giờ trước'
days:
one: '1 ngày trước'
other: '%{count} ngày trước'
signup:
page_title: 'Tạo không gian phản hồi của bạn'
step1:
title: '1. Tạo tài khoản'
email_auth: 'Đăng ký bằng email'
step2:
title: '2. Tạo không gian phản hồi'
create_button: 'Tạo không gian phản hồi'
validations:
subdomain_already_taken: 'Xin lỗi, tên miền này không khả dụng'
step3:
title: "Bạn đã sẵn sàng để bắt đầu!"
message: "Kiểm tra email %{email} để kích hoạt %{subdomain}!"
header:
menu:
site_settings: 'Cài đặt trang'
profile_settings: 'Thông tin cá nhân'
sign_out: 'Đăng xuất'
log_in: 'Đăng nhập / Đăng ký'
roadmap:
title: 'Lộ trình'
pending_tenant:
title: 'Xác minh địa chỉ email của bạn'
message: 'Chúng tôi đã gửi một email xác minh đến %{email}. Vui lòng kiểm tra hộp thư đến của bạn và nhấp vào liên kết để hoàn tất đăng ký.'
blocked_tenant:
title: 'Không gian phản hồi này đã bị chặn'
board:
new_post:
submit_button: 'Gửi phản hồi'
cancel_button: 'Huỷ bỏ'
login_button: 'Đăng nhập / Đăng ký'
title: 'Tiêu đề'
description: 'Mô tả (tùy chọn)'
no_title: 'Tiêu đề là bắt buộc'
submit_success: 'Phản hồi đã được gửi! Bạn sẽ được chuyển hướng sớm...'
submit_error: 'Lỗi không xác định, vui lòng thử lại'
search_box:
title: 'Tim kiếm'
filter_box:
title: 'Lọc theo trạng thái'
posts_list:
empty: 'Không có phản hồi nào'
post:
edit_button: 'Chỉnh sửa'
published_by: 'Đăng bởi'
post_status_select:
no_post_status: 'Không có trạng thái'
updates_box:
title: 'Cập nhật'
empty: 'Chưa có cập nhật'
status_change: 'chuyển trạng thái thành'
likes_box:
title: 'Thích'
empty: 'Chưa có lượt thích'
action_box:
title: 'Hoạt động'
follow_button: 'Theo dõi phản hồi'
following_description: "you're receiving notifications about new updates on this post"
not_following_description: "you won't receive notifications about this post"
comments:
title: 'Hoạt động'
post_update_badge: 'Cập nhật'
reply_button: 'Trả lời'
new_comment:
body_placeholder: 'Để lại bình luận'
submit_button: 'Gửi'
is_post_update: 'Đánh dấu là cập nhật'
user_notification: 'Người dùng theo dõi bài viết này sẽ nhận thông báo'
not_logged_in: 'Bạn cần đăng nhập để gửi bình luận'
site_settings:
menu:
title: 'Cài đặt trang'
general: 'Chung'
boards: 'Bảng'
post_statuses: 'Trạng thái'
roadmap: 'Lộ trình'
users: 'Người dùng'
authentication: 'Xác thực'
info_box:
up_to_date: 'Tất cả thay đổi đã được lưu'
error: 'Đã xảy ra lỗi: %{message}'
dirty: 'Chưa lưu các thay đổi'
general:
title: 'Chung'
brand_setting_both: 'Cả tên và logo'
brand_setting_name: 'Chỉ tên'
brand_setting_logo: 'Chỉ logo'
brand_setting_none: 'Không có'
subtitle_header: 'Đầu trang'
collapse_boards_in_header_no_collapse: 'Không bao giờ'
collapse_boards_in_header_always_collapse: 'Luôn luôn'
subtitle_visibility: 'Hiển thị'
show_vote_count_help: 'Nếu bạn bật tùy chọn này, người dùng sẽ thấy số phiếu bầu của các bài viết. Điều này có thể khuyến khích người dùng bình chọn cho những bài viết đã phổ biến, dẫn đến hiệu ứng tuyết.'
show_vote_button_in_board_help: 'Nếu bạn bật tùy chọn này, người dùng sẽ có thể bình chọn cho các bài viết từ trang bảng. Điều này có thể khuyến khích người dùng bình chọn cho nhiều bài viết hơn, dẫn đến một số lượng phiếu bầu cao hơn nhưng ý nghĩa thấp hơn.'
boards:
title: 'Bảng'
empty: 'Không có bảng nào. Tạo mới dưới đây!'
new: 'Mới'
form:
name: 'Tên bảng'
description: 'Mô tả bảng (tùy chọn)'
post_statuses:
title: 'Trạng thái'
empty: 'Không có trạng thái nào. Tạo mới dưới đây!'
new: 'Mới'
form:
name: 'Tên trạng thái'
roadmap:
title: 'Lộ trình'
title2: 'Không có trong lộ trình'
empty: 'Lộ trình rỗng.'
help: 'Bạn có thể thêm trạng thái vào lộ trình bằng cách kéo chúng từ phần dưới. Nếu bạn muốn tạo trạng thái mới hoặc thay đổi thứ tự, hãy đến Cài đặt trang > Trạng thái.'
users:
title: 'Người dùng'
block: 'Chặn'
unblock: 'Mở chặn'
block_confirmation: "%{name} sẽ không thể đăng nhập cho đến khi bị mở chặn. Bạn có chắc chắn?"
unblock_confirmation: "%{name} sẽ có thể đăng nhập và gửi phản hồi. Bạn có chắc chắn?"
role_to_moderator_confirmation: "%{name} sẽ có thể quản lý bài viết và người dùng. Tiếp tục chỉ nếu bạn tin tưởng người này. Bạn có chắc chắn?"
role_to_admin_confirmation: "%{name} sẽ có thể quản lý bảng, bài viết, trạng thái, người dùng và nhiều hơn nữa. Tiếp tục chỉ nếu bạn tin tưởng người này. Bạn có chắc chắn?"
role_user: 'Người dùng'
role_moderator: 'Người kiểm duyệt'
role_admin: 'Quản trị viên'
role_owner: 'Chủ sở hữu'
status_active: 'Hoạt động'
status_blocked: 'Bị chặn'
status_deleted: 'Đã xóa'
authentication:
title: 'Xác thực'
oauth_subtitle: 'OAuth Providers'
copy_url: 'Sao chép URL'
test_page:
title: 'Kết quả kiểm tra OAuth %{name}'
fetched_user_data: 'Dữ liệu người dùng đã được truy vấn'
found: 'Tìm thấy'
summary: 'Tóm tắt'
valid_configuration: 'OAuth Provider này đã được cấu hình đúng!'
warning_configuration: 'OAuth Provider này đã được cấu hình đúng, nhưng một tên mặc định cho người dùng (%{name}) sẽ được sử dụng.'
invalid_configuration: 'OAuth Provider này KHÔNG được cấu hình đúng.'
form:
title_new: 'OAuth Provider mới'
title_edit: 'Chỉnh sửa OAuth Provider'
subtitle_oauth_config: 'Cấu hình OAuth'
subtitle_user_profile_config: 'Cấu hình Thông tin người dùng'
client_secret_help: 'đã ẩn vì mục đích bảo mật'