diff --git a/.tx/config b/.tx/config index 9dfdf375f..718e97b54 100644 --- a/.tx/config +++ b/.tx/config @@ -1,6 +1,6 @@ [main] host = https://www.transifex.com -lang_map = es_ES: es, fr_FR: fr, ko_KR: ko, pt_PT: pt, sk_SK: sk +lang_map = es_ES: es, fr_FR: fr, ko_KR: ko, pt_PT: pt, sk_SK: sk, vi_VN: vi [discourse-org.clientenyml] file_filter = config/locales/client..yml diff --git a/app/assets/javascripts/discourse/controllers/login.js.es6 b/app/assets/javascripts/discourse/controllers/login.js.es6 index b2eed5cee..cd81f119c 100644 --- a/app/assets/javascripts/discourse/controllers/login.js.es6 +++ b/app/assets/javascripts/discourse/controllers/login.js.es6 @@ -69,6 +69,9 @@ export default Ember.Controller.extend(ModalFunctionality, { sentTo: result.sent_to_email, currentEmail: result.current_email }); + } else if (result.reason === 'suspended' ) { + self.send("closeModal"); + bootbox.alert(result.error); } else { self.flash(result.error, 'error'); } diff --git a/app/controllers/session_controller.rb b/app/controllers/session_controller.rb index bcf9db0ee..a34b31b70 100644 --- a/app/controllers/session_controller.rb +++ b/app/controllers/session_controller.rb @@ -261,8 +261,10 @@ class SessionController < ApplicationController def failed_to_login(user) message = user.suspend_reason ? "login.suspended_with_reason" : "login.suspended" - render json: { error: I18n.t(message, { date: I18n.l(user.suspended_till, format: :date_only), - reason: user.suspend_reason}) } + render json: { + error: I18n.t(message, { date: I18n.l(user.suspended_till, format: :date_only), reason: user.suspend_reason}), + reason: 'suspended' + } end def login(user) diff --git a/app/jobs/scheduled/pending_flags_reminder.rb b/app/jobs/scheduled/pending_flags_reminder.rb index 8b196d4ae..72e75372b 100644 --- a/app/jobs/scheduled/pending_flags_reminder.rb +++ b/app/jobs/scheduled/pending_flags_reminder.rb @@ -11,8 +11,14 @@ module Jobs PostAction.flagged_posts_count > 0 && FlagQuery.flagged_post_actions('active').where('post_actions.created_at < ?', SiteSetting.notify_about_flags_after.to_i.hours.ago).pluck(:id).count > 0 - message = PendingFlagsMailer.notify - Email::Sender.new(message, :pending_flags_reminder).send + PostCreator.create( + Discourse.system_user, + target_group_names: ["staff"], + archetype: Archetype.private_message, + subtype: TopicSubtype.system_message, + title: I18n.t('flags_reminder.subject_template', { count: PostAction.flagged_posts_count }), + raw: I18n.t('flags_reminder.flags_were_submitted', { count: SiteSetting.notify_about_flags_after }) + ) end end diff --git a/app/models/user_profile.rb b/app/models/user_profile.rb index 32c0e2047..38b04b74d 100644 --- a/app/models/user_profile.rb +++ b/app/models/user_profile.rb @@ -1,8 +1,10 @@ class UserProfile < ActiveRecord::Base belongs_to :user, inverse_of: :user_profile + WEBSITE_REGEXP = /(^$)|(^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,9}(([0-9]{1,5})?\/.*)?$)/ix + validates :bio_raw, length: { maximum: 3000 } - validates :website, format: { with: /(^$)|(^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,9}(([0-9]{1,5})?\/.*)?$)/ix }, allow_blank: true + validates :website, format: { with: WEBSITE_REGEXP }, allow_blank: true validates :user, presence: true before_save :cook after_save :trigger_badges diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index b47612000..8e434f3bd 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -2116,11 +2116,11 @@ en: is_disabled: "Restore is disabled in the site settings." label: "Restore" title: "Restore the backup" - confirm: "Are your sure you want to restore this backup?" + confirm: "Are you sure you want to restore this backup?" rollback: label: "Rollback" title: "Rollback the database to previous working state" - confirm: "Are your sure you want to rollback the database to the previous working state?" + confirm: "Are you sure you want to rollback the database to the previous working state?" export_csv: user_archive_confirm: "Are you sure you want to download your posts?" diff --git a/config/locales/client.vi.yml b/config/locales/client.vi.yml new file mode 100644 index 000000000..a3da01812 --- /dev/null +++ b/config/locales/client.vi.yml @@ -0,0 +1,2089 @@ +# encoding: utf-8 +# +# Never edit this file. It will be overwritten when translations are pulled from Transifex. +# +# To work with us on translations, join this project: +# https://www.transifex.com/projects/p/discourse-org/ + +vi: + js: + number: + format: + separator: "." + delimiter: "," + human: + storage_units: + format: '%n %u' + units: + byte: + other: Byte + gb: GB + kb: KB + mb: MB + tb: TB + short: + thousands: "{{number}}k" + millions: "{{number}}M" + dates: + time: "h:mm a" + long_no_year: "MMM D h:mm a" + long_no_year_no_time: "MMM D" + full_no_year_no_time: "MMMM Do" + long_with_year: "MMM D, YYYY h:mm a" + long_with_year_no_time: "MMM D, YYYY" + full_with_year_no_time: "MMMM Do, YYYY" + long_date_with_year: "MMM D, 'YY LT" + long_date_without_year: "MMM D, LT" + long_date_with_year_without_time: "MMM D, 'YY" + long_date_without_year_with_linebreak: "MMM D
LT" + long_date_with_year_with_linebreak: "MMM D, 'YY
LT" + tiny: + half_a_minute: "< 1m" + less_than_x_seconds: + other: "< %{count}s" + x_seconds: + other: "%{count}s" + less_than_x_minutes: + other: "< %{count}m" + x_minutes: + other: "%{count}m" + about_x_hours: + other: "%{count}h" + x_days: + other: "%{count}d" + about_x_years: + other: "%{count}y" + over_x_years: + other: "> %{count}y" + almost_x_years: + other: "%{count}y" + date_month: "MMM D" + date_year: "MMM 'YY" + medium: + x_minutes: + other: "%{count} phút" + x_hours: + other: "%{count} giờ" + x_days: + other: "%{count} ngày" + date_year: "MMM D, 'YY" + medium_with_ago: + x_minutes: + other: " %{count} phút trước" + x_hours: + other: "%{count} giờ trước" + x_days: + other: "%{count} ngày trước" + later: + x_days: + other: "còn %{count} ngày" + x_months: + other: "còn %{count} tháng" + x_years: + other: "còn %{count} năm" + share: + topic: 'chia sẽ chủ đề này' + post: 'đăng #%{Bài đăng số}' + close: 'đóng lại' + twitter: 'chia sẽ lên Twitter' + facebook: 'chia sẽ lên Facebook' + google+: 'chia sẽ lên Google+' + email: 'Gửi liên kết này qua thư điện tử' + action_codes: + split_topic: "chìa chủ đề này lúc %{when}" + autoclosed: + enabled: 'đóng lúc %{when}' + disabled: 'mở lúc %{when}' + closed: + enabled: 'đóng lúc %{when}' + disabled: 'mở lúc %{when}' + archived: + enabled: 'lưu trữ %{when}' + disabled: 'bỏ lưu trữ %{when}' + pinned: + enabled: 'gắn lúc %{when}' + disabled: 'bỏ gim %{when}' + pinned_globally: + enabled: 'đã gắn toàn trang %{when}' + disabled: 'đã bỏ gắn %{when}' + visible: + enabled: 'đã lưu %{when}' + disabled: 'bỏ lưu %{when}' + topic_admin_menu: "quản lí chủ đề." + emails_are_disabled: "Ban quản trị đã chặn mọi email đang gửi. Sẽ không có bắt kỳ thông báo nào về email được gửi đi." + edit: 'thay đổi tiêu đề và chuyên mục của chủ đề' + not_implemented: "Tính năng này chưa được hoàn thiện hết, xin lỗi!" + no_value: "Không" + yes_value: "Có" + generic_error: "Rất tiếc, đã có lỗi xảy ra." + generic_error_with_reason: "Đã xảy ra lỗi: %{error}" + sign_up: "Đăng ký" + log_in: "Đăng nhập" + age: "Độ tuổi" + joined: "Đã tham gia" + admin_title: "Quản trị" + flags_title: "Báo cáo" + show_more: "hiện thêm" + show_help: "lựa chọn" + links: "Liên kết" + links_lowercase: + other: "liên kết" + faq: "FAQ" + guidelines: "Hướng dẫn" + privacy_policy: "Chính sách riêng tư" + privacy: "Sự riêng tư" + terms_of_service: "Điều khoản dịch vụ" + mobile_view: "Xem ở chế độ di động" + desktop_view: "Xem ở chế độ máy tính" + you: "Bạn" + or: "hoặc" + now: "ngay lúc này" + read_more: 'đọc thêm' + more: "Nhiều hơn" + less: "Ít hơn" + never: "không bao giờ" + daily: "hàng ngày" + weekly: "hàng tuần" + every_two_weeks: "mỗi hai tuần" + every_three_days: "ba ngày một" + max_of_count: "tối đa của {{count}}" + alternation: "hoặc" + character_count: + other: "{{count}} ký tự" + suggested_topics: + title: "Chủ đề tương tự" + about: + simple_title: "Giới thiệu" + title: "Giới thiệu về %{title}" + stats: "Thống kê của trang" + our_admins: "Các quản trị viên" + our_moderators: "Các điều hành viên" + stat: + all_time: "Từ trước tới nay" + last_7_days: "7 ngày qua" + last_30_days: "30 ngày vừa qua" + like_count: "Lượt thích" + topic_count: "Các chủ đề" + post_count: "Các bài viết" + user_count: "Thành viên mới" + active_user_count: "Thành viên tích cực" + contact: "Contact Us" + contact_info: "Trong trường hợp có bất kỳ sự cố nào ảnh hưởng tới trang này, xin vui lòng liên hệ với chúng tôi theo địa chỉ %{contact_info}." + bookmarked: + title: "Bookmark" + clear_bookmarks: "Clear Bookmarks" + help: + bookmark: "Chọn bài viết đầu tiên của chủ đề cho vào bookmark" + unbookmark: "Chọn để xoá toàn bộ bookmark trong chủ đề này" + bookmarks: + not_logged_in: "rất tiếc, bạn phải đăng nhập để có thể đánh dấu bài viết" + created: "bạn đã đánh dấu bài viết này" + not_bookmarked: "bạn đã đọc bài viết này; nhấp chuột để đánh dấu" + last_read: "đây là bài viết cuối cùng bạn đã đọc; nhấp chuột để đánh dấu" + remove: "Xóa đánh dấu" + confirm_clear: "Bạn có chắc muốn xóa tất cả đánh dấu ở topic này?" + topic_count_latest: + other: "{{count}} chủ đề mới hoặc đã cập nhật." + topic_count_unread: + other: "{{count}} chủ đề chưa đọc." + topic_count_new: + other: "{{count}} chủ đề mới." + click_to_show: "Nhấp chuột để hiển thị." + preview: "xem trước" + cancel: "hủy" + save: "Lưu thay đổi" + saving: "Đang lưu ..." + saved: "Đã lưu!" + upload: "Tải lên" + uploading: "Đang tải lên..." + uploading_filename: "Đang tải lên {{filename}}..." + uploaded: "Đã tải lên!" + enable: "Kích hoạt" + disable: "Vô hiệu hóa" + undo: "Hoàn tác" + revert: "Phục hồi" + failed: "Thất bại" + switch_to_anon: "Chế độ Ẩn danh" + switch_from_anon: "Thoát ẩn danh" + banner: + close: "Xóa biểu ngữ này." + edit: "Sửa banner này >>" + choose_topic: + none_found: "Không tìm thấy chủ đề nào" + title: + search: "Tìm kiếm chủ đề dựa vào tên, url hoặc id:" + placeholder: "viết tiêu đề của chủ đề thảo luận ở đây" + queue: + topic: "Chủ đề" + approve: 'Phê duyệt' + reject: 'Từ chối' + delete_user: 'Xóa tài khoản' + title: "Cần phê duyệt" + none: "Không có bài viết nào để xem trước" + edit: "Sửa" + cancel: "Hủy" + view_pending: "xem bài viết đang chờ xử lý" + has_pending_posts: + other: "Chủ đề này có {{count}} bài viết cần phê chuẩn" + confirm: "Lưu thay đổi" + delete_prompt: "Bạn có chắc muốn xóa %{username}? Tất cả các bài viết của họ sẽ bị xóa, email và ip sẽ bị chặn." + approval: + title: "Bài viết cần phê duyệt" + description: "Chúng tôi đã nhận được bài viết mới của bạn, nhưng nó cần phải được phê duyệt bởi admin trước khi được hiện. Xin hãy kiên nhẫn." + pending_posts: + other: "Bạn có {{count}} bài viết đang chờ xử lý." + ok: "OK" + user_action: + user_posted_topic: "{{user}} đăng chủ đề" + you_posted_topic: "Bạn đã đăng chủ đề" + user_replied_to_post: "{{user}} đã trả lời tới {{post_number}}" + you_replied_to_post: "Bạn đã trả lời tới {{post_number}}" + user_replied_to_topic: "{{user}} đã trả lời chủ đề" + you_replied_to_topic: "Bạn đã trả lời tới chủ đề" + user_mentioned_user: "{{user}} đã nhắc đến {{another_user}}" + user_mentioned_you: "{{user}} đã nhắc tới bạn" + you_mentioned_user: "Bạn đã đề cập {{another_user}}" + posted_by_user: "Được đăng bởi {{user}}" + posted_by_you: "Được đăng bởi bạn" + sent_by_user: "Đã gửi bởi {{user}}" + sent_by_you: "Đã gửi bởi bạn" + directory: + filter_name: "lọc theo tên đăng nhập" + title: "Thành viên" + likes_given: "Đưa ra" + likes_received: "Đã nhận" + topics_entered: "Được nhập" + topics_entered_long: "Chủ đề được nhập" + time_read: "Thời gian đọc" + topic_count: "Chủ đề" + topic_count_long: "Chủ đề đã được tạo" + post_count: "Trả lời" + post_count_long: "Trả lời đã được đăng" + no_results: "Không tìm thấy kết quả." + days_visited: "Ghé thăm" + days_visited_long: "Ngày đã ghé thăm" + posts_read: "Đọc" + posts_read_long: "Đọc bài viết" + total_rows: + other: "%{count} người dùng" + groups: + visible: "Mọi thành viên có thể nhìn thấy nhóm" + title: + other: "các nhóm" + members: "Các thành viên" + posts: "Các bài viết" + alias_levels: + nobody: "Không ai cả" + only_admins: "Chỉ các quản trị viên" + mods_and_admins: "Chỉ có người điều hành và ban quản trị" + members_mods_and_admins: "Chỉ có thành viên trong nhóm, ban điều hành, và ban quản trị" + everyone: "Mọi người" + trust_levels: + title: "Cấp độ tin tưởng tự động tăng cho thành viên khi họ thêm:" + none: "Không có gì" + user_action_groups: + '1': "Lần thích" + '2': "Lần được thích" + '3': "Chỉ mục" + '4': "Các chủ đề" + '5': "Trả lời" + '6': "Phản hồi" + '7': "Được nhắc đến" + '9': "Lời trích dẫn" + '11': "Biên tập" + '12': "Bài đã gửi" + '13': "Hộp thư" + '14': "Đang chờ xử lý" + categories: + all: "tất cả chuyên mục" + all_subcategories: "Tất cả" + no_subcategory: "không có gì" + category: "Chuyên mục" + reorder: + title: "Sắp xếp lại danh mục" + title_long: "Tổ chức lại danh sách danh mục" + fix_order: "Vị trí cố định" + fix_order_tooltip: "Không phải tất cả danh mục có vị trí duy nhất, điều này có thể dẫn đến kết quả không mong muốn." + save: "Lưu thứ tự" + apply_all: "Áp dụng" + position: "Vị trí" + posts: "Bài viết" + topics: "Chủ đề" + latest: "Mới nhất" + latest_by: "mới nhất bởi" + toggle_ordering: "chuyển lệnh kiểm soát" + subcategories: "Phân loại phụ" + topic_stats: "Số lượng chủ đề mới" + topic_stat_sentence: + other: "%{count} số lượng chủ đề mới tỏng quá khứ %{unit}." + post_stats: "Số lượng bài viết mới" + post_stat_sentence: + other: "%{count} số lượng bài viết mới trong quá khứ %{unit}." + ip_lookup: + title: Tìm kiếm địa chỉ IP + hostname: Hostname + location: Vị trí + location_not_found: (không biết) + organisation: Công ty + phone: Điện thoại + other_accounts: "Tài khoản khác với địa chỉ IP này" + delete_other_accounts: "Xoá %{count}" + username: "tên đăng nhập" + trust_level: "TL" + read_time: "thời gian đọc" + topics_entered: "chủ để đã xem" + post_count: "# bài viết" + confirm_delete_other_accounts: "Bạn có muốn xóa những tài khoản này không?" + user_fields: + none: "(chọn một tùy chọn)" + user: + said: "{{username}}:" + profile: "Tiểu sử" + mute: "Im lặng" + edit: "Tùy chỉnh" + download_archive: "Tải bài viết về" + new_private_message: "Tin nhắn mới" + private_message: "Tin nhắn" + private_messages: "Các tin nhắn" + activity_stream: "Hoạt động" + preferences: "Tùy chỉnh" + expand_profile: "Mở" + bookmarks: "Theo dõi" + bio: "Về tôi" + invited_by: "Được mời bởi" + trust_level: "Độ tin tưởng" + notifications: "Thông báo" + desktop_notifications: + label: "Desktop Notifications" + not_supported: "Xin lỗi. Trình duyệt của bạn không hỗ trợ Notification." + perm_default: "Mở thông báo" + perm_denied_btn: "Không có quyền" + perm_denied_expl: "Bạn bị từ chối quyền cho notification. Dùng trình duyệt của bạn để kích hoạt notification, sau đó nhấp nút này khi hoàn thành. (Desktop: Icon bên trái của thanh địa chỉ. Mobile: 'Site Info'.)" + disable: "Khóa Notification" + currently_enabled: "(đang cho phép)" + enable: "Cho phép Notification" + currently_disabled: "(hiện tại không cho phép)" + each_browser_note: "Lưu ý: Bạn phải thay đổi trong cấu hình mỗi trình duyệt bạn sử dụng." + dismiss_notifications: "Đánh dấu đã đọc cho tất cả" + dismiss_notifications_tooltip: "Đánh dấu đã đọc cho tất cả các thông báo chưa đọc" + disable_jump_reply: "Đừng tới bài viết của tôi sau khi tôi trả lời" + dynamic_favicon: "Hiện số chủ đề mới / cập nhật vào biểu tượng trình duyệt" + edit_history_public: "Để thành viên khác xem những sửa chữa bài viết của bạn" + external_links_in_new_tab: "Mở tất cả liên kết bên ngoài trong thẻ mới" + enable_quoting: "Bật chế độ làm nổi bật chữ trong đoạn trích dẫn trả lời" + change: "thay đổi" + moderator: "{{user}} trong ban quản trị" + admin: "{{user}} là người điều hành" + moderator_tooltip: "Thành viên này là MOD" + admin_tooltip: "Thành viên này là admin" + blocked_tooltip: "Tài khoản này bị khóa" + suspended_notice: "Thành viên này bị đình chỉ cho đến ngày {{date}}. " + suspended_reason: "Lý do: " + github_profile: "Github" + mailing_list_mode: "Gửi email cho tôi mỗi bài viết mới (trừ khi tôi tắt chủ đề hoặc chuyên mục)" + watched_categories: "Xem" + watched_categories_instructions: "Bạn sẽ tự động xem tất cả các chủ đề mới trong các chuyên mục này. Bạn sẽ được thông báo về tất các các bài viết mới, và một số các bài viết mới cũng sẽ xuất hiện ở chủ đề kế tiếp." + tracked_categories: "Theo dõi" + tracked_categories_instructions: "Bạn sẽ tự động theo dõi tất cả các chủ đề trong các chuyên mục này. Một số bài viết mới sẽ xuất hiện ở chủ đề kế tiếp." + muted_categories: "Im lặng" + delete_account: "Xoá Tài khoản của tôi" + delete_account_confirm: "Bạn có chắc chắn muốn xóa vĩnh viễn tài khoản của bạn? Hành động này không thể được hoàn tác!" + deleted_yourself: "Tài khoản của bạn đã được xóa thành công." + delete_yourself_not_allowed: "Bạn không thể xóa tài khoản của bạn ngay bây giờ. Liên lạc với admin để làm xóa tài khoản cho bạn." + unread_message_count: "Tin nhắn" + admin_delete: "Xoá" + users: "Thành viên" + muted_users: "Im lặng" + muted_users_instructions: "Ngăn chặn tất cả các thông báo từ những thành viên." + staff_counters: + flags_given: "cờ hữu ích" + flagged_posts: "bài viết gắn cờ" + deleted_posts: "bài viết bị xoá" + suspensions: "đình chỉ" + warnings_received: "cảnh báo" + messages: + all: "Tất cả" + change_password: + success: "(email đã gửi)" + in_progress: "(đang gửi email)" + error: "(lỗi)" + action: "Gửi lại mật khẩu tới email" + set_password: "Nhập Mật khẩu" + change_about: + title: "Thay đổi thông tin về tôi" + error: "Có lỗi khi thay đổi giá trị này." + change_username: + title: "Thay Username" + confirm: "Nếu bạn thay đổi tên đăng nhập, tất cả những câu nói của bạn ở bài viết trước và @tên bạn sẽ được đề cập sẽ bị phá vỡ. Bạn có chắc bạn muốn tiếp tục không?" + taken: "Xin lỗi, đã có username này." + error: "Có lỗi trong khi thay đổi username của bạn." + invalid: "Username này không thích hợp. Nó chỉ chứa các ký tự là chữ cái và chữ số. " + change_email: + title: "Thay đổi Email" + taken: "Xin lỗi, email này không dùng được. " + error: "Có lỗi xảy ra khi thay đổi email của bạn. Có thể địa chỉ email đã được sử dụng ?" + success: "Chúng tôi đã gửi email tới địa chỉ đó. Vui lòng làm theo chỉ dẫn để xác nhận lại." + change_avatar: + title: "Đổi ảnh đại diện" + gravatar: "dựa trên Gravatar" + gravatar_title: "Đổi ảnh đại diện của bạn trên website Gravatar" + refresh_gravatar_title: "Làm mới Gravatar của bạn" + letter_based: "Hệ thống xác định ảnh đại diện" + uploaded_avatar: "Chính sửa hình ảnh" + uploaded_avatar_empty: "Thêm một ảnh chỉnh sửa" + upload_title: "Upload hình ảnh của bạn" + upload_picture: "Úp hình" + image_is_not_a_square: "Cảnh báo: chúng tôi đã cắt hình ảnh của bạn; chiều rộng và chiều cao không bằng nhau." + cache_notice: "Hình hồ sở của bạn đã thay đổi thành công nhưng có thể thỉnh thoảng xuất hiện ảnh cũ bởi cache của trình duyệt." + change_profile_background: + title: "Hình nền trang hồ sơ" + instructions: "Hình nền trang hồ sơ sẽ ở giữa và có chiều rộng mặc định là 850px." + change_card_background: + title: "Hình nền Card" + instructions: "Hình nền sẽ ở giữa và có chiều rộng mặc định là 590px." + email: + title: "Email" + instructions: "Không bao giờ công khai" + ok: "Chúng tôi sẽ gửi thư điện tử xác nhận đến cho bạn" + invalid: "Vùi lòng nhập một thư điện tử hợp lệ" + authenticated: "Thư điện tử của bạn đã được xác nhận bởi {{provider}}" + name: + title: "Tên" + instructions: "Tên đầy đủ của bạn (tùy chọn)" + instructions_required: "Tên đầy đủ của bạn" + too_short: "Tên của bạn quá ngắn" + ok: "Tên của bạn có vẻ ổn" + username: + title: "Username" + instructions: "Duy nhất, không khoảng trắng" + short_instructions: "Mọi người có thể nhắc tới bạn bằng @{{username}}" + available: "Tên đăng nhập của bạn có sẵn" + global_match: "Email đúng với username đã được đăng ký" + global_mismatch: "Đã đăng ký rồi. Thử {{suggestion}}?" + not_available: "Chưa có sẵn. Thử {{suggestion}}?" + too_short: "Tên đăng nhập của bạn quá ngắn" + too_long: "Tên đăng nhập của bạn quá dài" + checking: "Đang kiểm tra username sẵn sàng để sử dụng...." + enter_email: 'Đã tìm được tên đăng nhập. Điền thư điện tử phù hợp.' + prefilled: "Thư điện tử trủng với tên đăng nhập này." + locale: + title: "Ngôn ngữ hiển thị" + instructions: "Ngôn ngữ hiển thị sẽ thay đổi khi bạn tải lại trang" + default: "(mặc định)" + password_confirmation: + title: "Nhập lại Password" + last_posted: "Bài viết cuối cùng" + last_emailed: "Đã email lần cuối" + last_seen: "được thấy" + created: "Đã tham gia" + log_out: "Log Out" + location: "Vị trí" + card_badge: + title: "Huy hiệu của thẻ thành viên" + website: "Web Site" + email_settings: "Email" + email_digests: + title: "Khi tôi không truy cập, gửi email gợi ý những cái mới cho tôi:" + daily: "hàng ngày" + every_three_days: "ba ngày một" + weekly: "hàng tuần" + every_two_weeks: "hai tuần một" + email_direct: "Gửi cho tôi một email khi có người trích dẫn, trả lời cho bài viết của tôi, đề cập đến @username của tôi, hoặc mời tôi đến một chủ đề" + email_private_messages: "Gửi cho tôi email khi có ai đó nhắn tin cho tôi" + email_always: "Gửi email thông báo cho tôi mỗi khi tôi kích hoạt trên website này" + other_settings: "Khác" + categories_settings: "Chuyên mục" + new_topic_duration: + label: "Để ý tới chủ đề mới khi" + not_viewed: "Tôi chưa từng xem họ" + last_here: "tạo ra kể từ lần cuối tôi ở đây" + after_1_day: "được tạo ngày hôm qua" + after_2_days: "được tạo 2 ngày trước" + after_1_week: "được tạo tuần trước" + after_2_weeks: "được tạo 2 tuần trước" + auto_track_topics: "Tự động theo dõi các chủ đề tôi tạo" + auto_track_options: + never: "không bao giờ" + immediately: "ngay lập tức" + after_30_seconds: "sau 30 giây" + after_1_minute: "sau 1 phút" + after_2_minutes: "sau 2 phút" + after_3_minutes: "sau 3 phút" + after_4_minutes: "sau 4 phút" + after_5_minutes: "sau 5 phút" + after_10_minutes: "sau 10 phút" + invited: + search: "gõ để tìm kiếm thư mời " + title: "Lời mời" + user: "User được mời" + sent: "Đã gửi" + redeemed: "Lời mời bù lại" + redeemed_tab: "Làm lại" + redeemed_tab_with_count: "Làm lại ({{count}})" + redeemed_at: "Nhận giải" + pending: "Lời mời tạm hoãn" + pending_tab: "Đang treo" + pending_tab_with_count: "Đang xử lý ({{count}})" + topics_entered: "Bài viết được xem " + posts_read_count: "Đọc bài viết" + expired: "Thư mời này đã hết hạn." + rescind: "Xoá" + rescinded: "Lời mời bị xóa" + reinvite: "Mời lại" + reinvited: "Gửi lại lời mời" + time_read: "Đọc thời gian" + days_visited: "Số ngày đã thăm" + account_age_days: "Thời gian của tài khoản theo ngày" + create: "Gửi một lời mời" + generate_link: "Chép liên kết Mời" + bulk_invite: + none: "Bạn đã mời ai ở đây chưa. Bạn có thể mời một hoặc một nhóm bằng tải lên hàng loạt file mời." + text: "Mời hàng loạt bằng file" + uploading: "Uploading..." + success: "Tải lên thành công, bạn sẽ được thông báo qua tin nhắn khi quá trình hoàn tất." + error: "Có lỗi xảy ra khi upload '{{filename}}': {{message}}" + password: + title: "Mật khẩu" + too_short: "Mật khẩu của bạn quá ngắn." + common: "Mật khẩu quá đơn giản, rất dễ bị đoán ra" + same_as_username: "Mật khẩu của bạn trùng với tên đăng nhập." + same_as_email: "Mật khẩu của bạn trùng với email của bạn." + ok: "Mật khẩu của bạn có vẻ ổn." + instructions: "Ít nhất %{count} ký tự" + associated_accounts: "Đăng nhập" + ip_address: + title: "Địa chỉ IP cuối cùng" + registration_ip_address: + title: "Địa chỉ IP đăng ký" + avatar: + title: "Ảnh đại diện" + header_title: "hồ sơ cá nhân, tin nhắn, đánh dấu và sở thích" + title: + title: "Tiêu đề" + filters: + all: "All" + stream: + posted_by: "Đăng bởi" + sent_by: "Gửi bởi" + private_message: "tin nhắn" + the_topic: "chủ đề" + loading: "Đang tải..." + errors: + prev_page: "trong khi cố gắng để tải" + reasons: + network: "Mạng Internet bị lỗi" + server: "Máy chủ đang có vấn đề" + forbidden: "Bạn không thể xem được" + unknown: "Lỗi" + not_found: "Không Tìm Thấy Trang" + desc: + network: "Hãy kiểm tra kết nối của bạn" + network_fixed: "Hình như nó trở lại." + server: "Mã lỗi : {{status}}" + forbidden: "Bạn không được cho phép để xem mục này" + unknown: "Có một lỗi gì đó đang xảy ra" + buttons: + back: "Quay trở lại" + again: "Thử lại" + fixed: "Load lại trang" + close: "Đóng lại" + assets_changed_confirm: "Website đã được cập nhật bản mới. Bạn có thể làm mới lại trang để có thể sử dụng bản mới được cập nhật" + logout: "Bạn đã đăng xuất" + refresh: "Tải lại" + read_only_mode: + enabled: "Chế độ chỉ đọc được kích hoạt. Bạn có thể tiếp tục duyệt tới trang web, nhưng các tương tác có thể không hoạt động." + login_disabled: "Chức năng Đăng nhập đã bị tắt khi website trong trạng thái chỉ đọc" + learn_more: "tìm hiểu thêm..." + year: 'năm' + year_desc: 'chủ đề được tạo ra trong 365 ngày qua' + month: 'tháng' + month_desc: 'chủ đề được tạo ra trong 30 ngày qua' + week: 'tuần' + week_desc: 'chủ đề được tạo ra trong 7 ngày qua' + day: 'ngày' + first_post: Bài viết đầu tiên + mute: Im lặng + unmute: Bỏ im lặng + last_post: Bài viết cuối cùng + last_reply_lowercase: trả lời cuối cùng + replies_lowercase: + other: trả lời + signup_cta: + sign_up: "Đăng ký" + hide_session: "Nhắc vào ngày mai" + hide_forever: "không, cảm ơn" + summary: + enabled_description: "Bạn đang xem một bản tóm tắt của chủ đề này: các bài viết thú vị nhất được xác định bởi cộng đồng." + description: "Có {{count}} trả lời" + description_time: "Đây là {{count}} trả lời tương ứng với thời gian đọc {{readingTime}} phút." + enable: 'Tóm tắt lại chủ đề' + disable: 'HIển thị tất cả các bài viết' + deleted_filter: + enabled_description: "Chủ để này có chứa các bài viết bị xoá, chúng đã bị ẩn đi" + disabled_description: "Xoá các bài viết trong các chủ để được hiển thị" + enable: "Ẩn các bài viết bị xoá" + disable: "Xem các bài viết bị xoá" + private_message_info: + title: "Tin nhắn" + invite: "Mời người khác..." + remove_allowed_user: "Bạn thực sự muốn xóa {{name}} từ tin nhắn này?" + email: 'Email' + username: 'Username' + last_seen: 'Đã xem' + created: 'Tạo bởi' + created_lowercase: 'ngày tạo' + trust_level: 'Độ tin tưởng' + search_hint: 'username, email or IP address' + create_account: + title: "Tạo tài khoản mới" + failed: "Có gì đó không đúng, có thể email này đã được đăng ký, thử liên kết quên mật khẩu" + forgot_password: + title: "Đặt lại mật khẩu" + action: "Tôi đã quên mật khẩu của tôi" + invite: "Điền vào username của bạn hoặc địa chỉ email và chúng tôi sẽ gửi bạn email để khởi tạo lại mật khẩu" + reset: "Tạo lại mật khẩu" + complete_username: "Nếu một tài khoản phù hợp với tên thành viên % {username} , bạn sẽ nhận được một email với hướng dẫn về cách đặt lại mật khẩu của bạn trong thời gian ngắn." + complete_email: "Nếu một trận đấu tài khoản % {email} , bạn sẽ nhận được một email với hướng dẫn về cách đặt lại mật khẩu của bạn trong thời gian ngắn." + complete_username_found: "Chúng tôi tìm thấy một tài khoản phù hợp với tên thành viên % {username} , bạn sẽ nhận được một email với hướng dẫn về cách đặt lại mật khẩu của bạn trong thời gian ngắn." + complete_email_found: "Chúng tôi tìm thấy một tài khoản phù hợp với % {email} , bạn sẽ nhận được một email với hướng dẫn về cách đặt lại mật khẩu của bạn trong thời gian ngắn." + complete_username_not_found: "Không có tài khoản phù hợp với tên thành viên % {username} " + complete_email_not_found: "Không tìm thấy tài khoản nào tương ứng với %{email}" + login: + title: "Đăng nhập" + username: "Thành viên" + password: "Mật khẩu" + email_placeholder: "Email hoặc tên đăng nhập " + caps_lock_warning: "Phím Caps Lock đang được bật" + error: "Không xác định được lỗi" + rate_limit: "Xin đợi trước khi đăng nhập lại lần nữa." + blank_username_or_password: "Bạn phải nhập email hoặc username, và mật khẩu" + reset_password: 'Khởi tạo mật khẩu' + logging_in: "Đăng nhập..." + or: "Hoặc" + authenticating: "Đang xác thực..." + awaiting_confirmation: "Tài khoản của bạn đang đợi kích hoạt, sử dụng liên kết quên mật khẩu trong trường hợp kích hoạt ở 1 email khác." + awaiting_approval: "Tài khoản của bạn chưa được chấp nhận bới thành viên. Bạn sẽ được gửi một email khi được chấp thuận " + requires_invite: "Xin lỗi, bạn phải được mời để tham gia diễn đàn" + not_activated: "Bạn không thể đăng nhập. Chúng tôi đã gửi trước email kích hoạt cho bạn tại {{sentTo}}. Vui lòng làm theo hướng dẫn trong email để kích hoạt tài khoản của bạn." + not_allowed_from_ip_address: "Bạn không thể đăng nhập từ địa chỉ IP này" + admin_not_allowed_from_ip_address: "Bạn không thể đăng nhập với quyền quản trị từ địa chỉ IP đó." + resend_activation_email: "Bấm đây để gửi lại email kích hoạt" + sent_activation_email_again: "Chúng tôi gửi email kích hoạt tới cho bạn ở {{currentEmail}}. Nó sẽ mất vài phút để đến; bạn nhớ check cả hồm thư spam nhe. " + to_continue: "Vui lòng đăng nhập" + google: + title: "với Google " + message: "Chứng thực với Google (Bạn hãy chắc chắn là chặn popup không bật)" + google_oauth2: + title: "với Google" + message: "Chứng thực với Google (chắc chắn rằng cửa sổ pop up blocker không được kích hoạt)" + twitter: + title: "với Twitter" + message: "Chứng thực với Twitter(hãy chắc chắn là chăn pop up không bật)" + facebook: + title: "với Facebook" + message: "Chứng thực với Facebook(chắc chắn là chặn pop up không bật)" + yahoo: + title: "với Yahoo" + message: "Chứng thực với Yahoo (Chắc chắn chặn pop up không bật)" + github: + title: "với GitHub" + message: "Chứng thực với GitHub (chắc chắn chặn popup không bật)" + apple_international: "Apple/International" + google: "Google" + twitter: "Twitter" + emoji_one: "Emoji One" + composer: + emoji: "Emoji :smile:" + options: "Lựa chọn" + whisper: "nói chuyện" + add_warning: "Đây là một cảnh báo chính thức" + toggle_whisper: "Chuyển chế độ Nói chuyện" + posting_not_on_topic: "Bài viết nào bạn muốn trả lời " + saving_draft_tip: "đang lưu..." + saved_draft_tip: "Đã lưu" + saved_local_draft_tip: "Đã lưu locally" + similar_topics: "Bài viết của bạn tương tự với " + drafts_offline: "Nháp offline" + error: + title_missing: "Tiêu đề là bắt buộc" + title_too_short: "Tiêu để phải có ít nhất {{min}} ký tự" + title_too_long: "Tiêu đề có tối đa {{max}} ký tự" + post_missing: "Bài viết không được bỏ trắng" + post_length: "Bài viết phải có ít nhất {{min}} ký tự" + try_like: 'Các bạn đã thử các nút ?' + category_missing: "Bạn phải chọn một phân loại" + save_edit: "Lưu chỉnh sửa" + reply_original: "Trả lời cho bài viết gốc" + reply_here: "Trả lời đây " + reply: "Trả lời " + cancel: "Huỷ" + create_topic: "Tạo chủ đề" + create_pm: "Tin nhắn" + title: "Hoặc nhất Ctrl+Enter" + users_placeholder: "Thêm thành viên " + title_placeholder: "Tóm tắt lại thảo luận này trong một câu ngắn gọn" + edit_reason_placeholder: "Tại sao bạn sửa" + show_edit_reason: "(thêm lý do sửa)" + reply_placeholder: "Gõ ở đây. Sử dụng Markdown, BBCode, hoặc HTML để định dạng. Kéo hoặc dán ảnh." + view_new_post: "Xem bài đăng mới của bạn. " + saved: "Đã lưu" + saved_draft: "Bài nháp đang lưu. Chọn để tiếp tục." + uploading: "Đang đăng " + show_preview: 'Xem trước »' + hide_preview: '«ẩn xem trước' + quote_post_title: "Trích dẫn cả bài viết" + bold_title: "In đậm" + bold_text: "chữ in đậm" + italic_title: "Nhấn mạnh" + italic_text: "văn bản nhấn mạnh" + link_title: "Liên kết" + link_description: "Nhập mô tả liên kết ở đây" + link_dialog_title: "Chèn liên kết" + link_optional_text: "tiêu đề tùy chọn" + quote_title: "Trích dẫn" + quote_text: "Trích dẫn" + code_title: "Văn bản định dạng trước" + code_text: "lùi đầu dòng bằng 4 dấu cách" + upload_title: "Tải lên" + upload_description: "Nhập mô tả tải lên ở đây" + olist_title: "Danh sách kiểu số" + ulist_title: "Danh sách kiểu ký hiệu" + list_item: "Danh sách các mục" + heading_title: "Tiêu đề" + heading_text: "Tiêu đề" + hr_title: "Căn ngang" + help: "Trợ giúp soạn thảo bằng Markdown" + toggler: "ẩn hoặc hiển thị bảng điều khiển soạn thảo" + modal_cancel: "Hủy" + admin_options_title: "Tùy chọn quản trị viên cho chủ đề này" + auto_close: + label: "Thời gian tự khóa chủ đề:" + error: "Vui lòng nhập một giá trị hợp lệ." + based_on_last_post: "Không đóng cho đến khi bài viết cuối cùng trong chủ đề này trở thành bài cũ" + all: + examples: 'Nhập giờ (định dạng 24h), thời gian chính xác ( vd: 17:30) hoặc thời gian kèm ngày tháng (2013-11-22 14:00).' + limited: + units: "(# của giờ)" + examples: 'Nhập số giờ ( theo định dạng 24h)' + notifications: + title: "thông báo của @name nhắc đến, trả lời bài của bạn và chủ đề, tin nhắn, vv" + none: "Không thể tải các thông báo tại thời điểm này." + more: "xem thông báo cũ hơn" + total_flagged: "tổng số bài viết gắn cờ" + mentioned: "

{{username}} {{description}}

" + quoted: "

{{username}} {{description}}

" + replied: "

{{username}} {{description}}

" + posted: "

{{username}} {{description}}

" + edited: "

{{username}} {{description}}

" + liked: "

{{username}} {{description}}

" + private_message: "

{{username}} {{description}}

" + invited_to_private_message: "

{{username}} {{description}}

" + invited_to_topic: "

{{username}} {{description}}

" + invitee_accepted: "

{{username}} chấp nhận lời mời của bạn

" + moved_post: "

{{username}} chuyển {{description}}

" + linked: "

{{username}} {{description}}

" + granted_badge: "

Thu được '{{description}}'

" + alt: + mentioned: "Được nhắc đến bởi" + quoted: "Trích dẫn bởi" + replied: "Đã trả lời" + posted: "Đăng bởi" + edited: "Bài viết của bạn được sửa bởi" + liked: "Bạn đã like bài viết" + private_message: "Tin nhắn riêng từ" + invitee_accepted: "Lời mời được chấp nhận bởi" + moved_post: "Bài viết của bạn đã được di chuyển bởi" + linked: "Liên kết đến bài viết của bạn" + popup: + mentioned: '{{username}} nhắc đến bạn trong "{{topic}}" - {{site_title}}' + quoted: '{{username}} trích lời bạn trong "{{topic}}" - {{site_title}}' + replied: '{{username}} trả lời cho bạn trong "{{topic}}" - {{site_title}}' + posted: '{{username}} gửi bài trong "{{topic}}" - {{site_title}}' + private_message: '{{username}} đã gửi cho bạn một tin nhắn trong "{{topic}}" - {{site_title}}' + linked: '{{username}} liên quan đến bài viết của bạn từ "{{topic}}" - {{site_title}}' + upload_selector: + title: "Thêm một ảnh" + title_with_attachments: "Thêm một ảnh hoặc tệp tin" + from_my_computer: "Từ thiết bị của tôi" + from_the_web: "Từ Web" + remote_tip: "đường dẫn tới hình ảnh" + local_tip: "chọn hình từ thiết bị của bạn" + hint: "(Bạn cũng có thể kéo & thả vào trình soạn thảo để tải chúng lên)" + hint_for_supported_browsers: "bạn có thể kéo và thả ảnh vào trình soan thảo này" + uploading: "Đang tải lên" + select_file: "Chọn Tài liệu" + image_link: "liên kết hình ảnh của bạn sẽ trỏ đến" + search: + sort_by: "Sắp xếp theo" + relevance: "Độ phù hợp" + latest_post: "Bài viết mới nhất" + most_viewed: "Xem nhiều nhất" + most_liked: "Like nhiều nhất" + select_all: "Chọn tất cả" + clear_all: "Xóa tất cả" + result_count: + other: "{{count}} kết quả cho \"{{term}}\"" + title: "tìm kiếm chủ đề, bài viết, tài khoản hoặc các danh mục" + no_results: "Không tìm thấy kết quả." + no_more_results: "Không tìm thấy kết quả" + search_help: Giúp đỡ tìm kiếm + searching: "Đang tìm ..." + post_format: "#{{post_number}} bởi {{username}}" + context: + user: "Tìm bài viết của @{{username}}" + category: "Tìm danh mục \"{{category}}\"" + topic: "Tìm trong chủ đề này" + private_messages: "Tìm tin nhắn" + hamburger_menu: "đi đến danh sách chủ đề hoặc danh mục khác" + new_item: "mới" + go_back: 'quay trở lại' + not_logged_in_user: 'Trang cá nhân với tóm tắt các hoạt động và cấu hình' + current_user: 'đi đến trang cá nhân của bạn' + topics: + bulk: + reset_read: "Đặt lại lượt đọc" + delete: "Xóa chủ đề" + dismiss_new: "Bỏ " + change_category: "Chuyển chuyên mục" + close_topics: "Đóng các chủ đề" + archive_topics: "Chủ đề Lưu trữ" + notification_level: "Thay đổi cấp độ thông báo" + choose_new_category: "Chọn chuyên mục mới cho chủ đề này:" + selected: + other: "Bạn đã chọn {{count}} chủ đề" + none: + unread: "Bạn không có chủ đề nào chưa đọc." + new: "Bạn không có chủ đề mới nào." + read: "Bạn vẫn chưa đọc bất kì chủ đề nào." + posted: "Bạn vẫn chưa đăng bài trong bất kì một chủ đề nào" + latest: "Chán quá. Chẳng có chủ đề mới nào hết trơn." + hot: "Không có chủ đề nào nổi bật." + bookmarks: "Bạn chưa chủ đề nào được đánh dấu." + category: "Không có chủ đề nào trong {{category}} ." + top: "Không có chủ đề top." + search: "Không có kết quả tìm kiếm." + educate: + new: '

Chủ đề mới của bạn nằm ở đây.

Mặc định, chủ đề được coi là mới và sẽ hiện một chỉ báo new nếu chúng được tạo trong 2 ngày vừa qua.

Bạn có thể thay đổi cái này trong preferences.

' + unread: '

Những chủ đề chưa đọc của bạn nằm ở đây.

Mặc định, chủ đề được coi là chưa đọc và sẽ hiện số lượng chưa đọc 1 nếu bạn:

  • Đã tạo chủ đề
  • Đã phản hồi chủ đề
  • Đọc chủ đề lâu hơn 4 phút

Hoặc nếu bạn đặt chủ đề là Đã theo dấu hoặc Đã xem qua điều khiển thông bao tại cuối mỗi chủ đề.

Bạn có thể thay đổi điều này trong preferences.

' + bottom: + latest: "Không còn thêm chủ đề nào nữa." + hot: "Không còn của đề nổi bật nào nữa." + posted: "Ở đây không có thêm chủ đề nào được đăng." + read: "Không còn thêm chủ đề chưa đọc nào nữa." + new: "Không còn thêm chủ đề mới nào nữa." + unread: "Không còn thêm chủ đề chưa đọc nào nữa." + category: "Không còn thêm chủ đề nào trong {{category}} ." + top: "Không còn của đề top nào nữa." + bookmarks: "Không còn thêm chủ đề được đánh dấu nào nữa." + search: "Không có thêm kết quả tìm kiếm nào nữa." + topic: + unsubscribe: + stop_notifications: "Từ bây giờ bạn sẽ không nhận thông báo từ {{title}}" + change_notification_state: "Tình trạn thông báo của bạn là" + filter_to: "{{post_count}} bài đăng trong chủ đề" + create: 'Chủ đề Mới' + create_long: 'Tạo một Chủ đề mới' + private_message: 'Bắt đầu một thông điệp' + list: 'Chủ đề' + new: 'chủ đề mới' + unread: 'chưa đọc' + new_topics: + other: '{{count}} chủ đề mới.' + unread_topics: + other: '{{count}} chủ đề chưa đọc.' + title: 'Chủ đề' + invalid_access: + title: "Chủ đề này là riêng tư" + description: "Xin lỗi, bạn không có quyền truy cập vào chủ đề đó!" + login_required: "Bạn cần phải đăng nhập để xem chủ đề đó" + server_error: + title: "Tải chủ đề thất bại" + description: "Xin lỗi, chúng tôi không thể tải chủ đề, có thể do kết nối có vấn đề. Xin hãy thử lại. Nếu vấn đề còn xuất hiện, hãy cho chúng tôi biết" + not_found: + title: "Không tìm thấy chủ đề" + description: "Xin lỗi, chúng tôi không thể tìm thấy chủ đề đó. Có lẽ nó đã bị loại bởi mod?" + total_unread_posts: + other: "Bạn có {{number}} bài đăng chưa đọc trong chủ đề này" + unread_posts: + other: "bạn có {{number}} bài đăng củ chưa đọc trong chủ đề này" + new_posts: + other: "có {{count}} bài đăng mới trong chủ đề này từ lần đọc cuối" + likes: + other: "có {{count}} thích trong chủ để này" + back_to_list: "Quay lại danh sách chủ đề" + options: "Các lựa chọn chủ đề" + show_links: "Hiển thị liên kết trong chủ đề này" + toggle_information: "chuyển đổi các chi tiết chủ để" + read_more_in_category: "Muốn đọc nữa? Xem qua các chủ đề khác trong {{catLink}} hoặc {{latestLink}}" + read_more: "Muốn đọc nữa? {{catLink}} hoặc {{latestLink}}" + read_more_MF: "Có { UNREAD, plural, =0 {} one { is 1 unread } other { are # unread } } { NEW, plural, =0 {} one { {BOTH, select, true{and } false {is } other{}} 1 new topic} other { {BOTH, select, true{and } false {are } other{}} # new topics} } remaining, or {CATEGORY, select, true {browse other topics in {catLink}} false {{latestLink}} other {}}" + browse_all_categories: Duyệt tất cả các hạng mục + view_latest_topics: xem các chủ đề mới nhất + suggest_create_topic: Tại sao không tạo một chủ đề mới? + jump_reply_up: nhảy đến những trả lời trước đó + jump_reply_down: nhảy tới những trả lời sau đó + deleted: "Chủ đề này đã bị xóa" + auto_close_notice: "Chủ đề này sẽ tự động đóng %{timeLeft}." + auto_close_notice_based_on_last_post: "Chủ đề này sẽ đóng %{duration} sau trả lời cuối cùng." + auto_close_title: 'Tự động-Đóng các Cài đặt' + auto_close_save: "Lưu" + auto_close_remove: "Đừng Tự Động-Đóng Chủ Đề Này" + progress: + title: tiến trình của chủ đề + go_top: "trên cùng" + go_bottom: "dưới cùng" + go: "đi tới" + jump_bottom: "nhảy tới bài viết cuối cùng" + jump_bottom_with_number: "nhảy tới bài viết %{post_number}" + total: tổng số bài viết + current: bài viết hiện tại + position: "bài viết %{current} trong %{total}" + notifications: + reasons: + '3_6': 'Bạn sẽ nhận được các thông báo bởi vì bạn đang xem chuyên mục nàyotification' + '3_5': 'Bạn sẽ nhận được các thông báo bởi vì bạn đã bắt đầu xem chủ đề này một cách tự động' + '3_2': 'Bạn sẽ nhận được các thông báo bởi vì bạn đang xem chủ đề này' + '3_1': 'Bạn sẽ được nhận thông báo bởi bạn đã tạo chủ để này.' + '3': 'Bạn sẽ nhận được các thông báo bởi vì bạn đang xem chủ đề này' + '2_8': 'Bạn sẽ nhận được thông báo bởi vì bạn đang theo dõi chuyên mục này.' + '2_4': 'Bạn sẽ nhận được các thông báo bởi vì bạn đã đăng một trả lời vào chủ đề này' + '2_2': 'Bạn sẽ nhận được các thông báo bởi vì bạn đang theo dõi chủ đề này.' + '2': 'Bạn sẽ nhận được các thông báo bởi vì bạn đọc chủ đề này ' + '1_2': 'Bạn sẽ được thông báo nếu ai đó đề cập đến @tên bạn hoặc trả lời bạn' + '1': 'Bạn sẽ được thông báo nếu ai đó đề cập đến @tên bạn hoặc trả lời bạn' + '0_7': 'Bạn đang bỏ qua tất cả các thông báo trong chuyên mục này' + '0_2': 'Bạn đang bỏ qua tất cả các thông báo trong chủ đề này' + '0': 'Bạn đang bỏ qua tất cả các thông báo trong chủ đề này' + watching_pm: + title: "Đang xem" + description: "Bạn sẽ được thông báo về từng trả lời mới trong tin nhắn này, và một số trả lời mới sẽ được hiển thị" + watching: + title: "Dang theo dõi" + description: "Bạn sẽ được thông báo về từng trả lời mới trong tin nhắn này, và một số trả lời mới sẽ được hiển thị" + tracking_pm: + title: "Đang theo dõi" + description: "Một số trả lời mới sẽ được hiển thị trong tin nhắn này. Bạn sẽ được thông báo nếu ai đó đề cập đến @tên của bạn hoặc trả lời bạn" + tracking: + title: "Đang theo dõi" + description: "Một số trả lời mới sẽ được hiển thị trong chủ đề này. Bạn sẽ được thông báo nếu ai đó đề cập đến @tên của bạn hoặc trả lời bạn" + regular: + title: "Bình thường" + regular_pm: + title: "Bình thường" + muted_pm: + title: "Im lặng" + description: "Bạn sẽ không bao giờ được thông báo về bất cứ điều gì về tin nhắn này. " + muted: + title: "Im lặng" + actions: + recover: "Không-Xóa Chủ Đề Này" + delete: "Xóa-Chủ Đề Này" + open: "Mở Chủ Đề" + close: "Đóng Chủ Đề" + multi_select: "Chọn Bài Viết..." + auto_close: "Tự Động Đóng..." + pin: "Ghim Chủ Đề..." + unpin: "Bỏ-Ghim Chủ Đề..." + unarchive: "Chủ đề Không Lưu Trữ" + archive: "Chủ Đề Lưu Trữ" + reset_read: "Đặt lại dữ liệu đọc" + feature: + pin: "Ghim Chủ Đề" + unpin: "Bỏ-Ghim Chủ Đề" + pin_globally: "Ghim Chủ Đề Tổng Thể" + make_banner: "Banner chủ đề" + remove_banner: "Bỏ banner chủ đề" + reply: + title: 'Trả lời' + help: 'bắt đầu soạn một trả lời mới cho chủ đề này' + clear_pin: + title: "Xóa ghim" + help: "Xóa trạng thái ghim của chủ đề này để nó không còn xuất hiện trên cùng danh sách chủ đề của bạn" + share: + title: 'Chia sẻ' + help: 'Chia sẻ một liên kết đến chủ đề này' + flag_topic: + title: 'Gắn cờ' + help: 'đánh dấu riêng tư chủ đề này cho sự chú ý hoặc gửi một thông báo riêng về nó' + success_message: 'Bạn đã đánh dấu thành công chủ đề này' + feature_topic: + confirm_pin: "Bạn đã có {{count}} chủ đề được ghim. Qúa nhiều chủ đề được ghim có thể là một trở ngại cho những thành viên mới và thành viên ẩn danh. Bạn có chắc chắn muốn ghim chủ đề khác trong chuyên mục này?" + unpin: "Xóa chủ đề này từ phần trên cùng của chủ đề {{categoryLink}}" + pin_note: "Người dùng có thể bỏ ghim chủ đề riêng cho mình" + pin_validation: "Ngày được yêu câu để gắn chủ đề này" + unpin_globally: "Bỏ chủ đề này khỏi phần trên cùng của danh sách tất cả các chủ đề" + global_pin_note: "Người dùng có thể bỏ ghim chủ đề riêng cho mình" + inviting: "Đang mời..." + invite_private: + email_or_username_placeholder: "địa chỉ thư điện tử hoặc tên người dùng" + action: "Mời" + error: "Xin lỗi, có lỗi khi mời người dùng này." + group_name: "Nhóm tên" + invite_reply: + title: 'Mời' + username_placeholder: "tên người dùng" + action: 'Gửi Lời Mời' + to_forum: "Chúng tôi sẽ gửi một email tóm tắt cho phép bạn của bạn gia nhập trực tiệp bằng cách nhấp chuột vào một đường dẫn, không cần phải đăng nhập." + sso_enabled: "Nhập tên đăng nhập hoặc địa chỉ email của người mà bạn muốn mời vào chủ đề này." + to_topic_blank: "Nhập tên đăng nhập hoặc địa chỉ email của người bạn muốn mời đến chủ đề này." + email_placeholder: 'name@example.com' + login_reply: 'Đăng nhập để trả lời' + filters: + n_posts: + other: "{{count}} bài viết" + cancel: "Bỏ đièu kiện lọc" + split_topic: + title: "Di chuyển tới Chủ đề mới" + action: "di chuyển tới chủ đề mới" + topic_name: "Tên chủ đề mới" + error: "Có lỗi khi di chuyển bài viết tới chủ đề mới." + merge_topic: + title: "Di chuyển tới chủ đề đang tồn tại" + action: "di chuyển tới chủ đề đang tồn tại" + error: "Có lỗi khi di chuyển bài viết đến chủ đề này." + change_owner: + title: "Chuyển chủ sở hữu bài viết" + action: "chuyển chủ sở hữu" + label: "Chủ sở hữ mới của Bài viết" + placeholder: "tên đăng nhập của chủ sở hữu mới" + change_timestamp: + title: "Đổi Timestamp" + action: "đổi timestamp" + invalid_timestamp: "Timestamp không thể trong tương lai." + error: "Có lỗi khi thay đổi timestamp của chủ đề." + multi_select: + select: 'chọn' + selected: 'đã chọn ({{count}})' + select_replies: 'chọn + trả lời' + delete: xóa lựa chọn + cancel: hủy lựa chọn + select_all: chọn tất cả + deselect_all: bỏ chọn tất cả + description: + other: Bạn đã chọn {{count}} bài viết. + post: + reply: " {{replyAvatar}} {{usernameLink}}" + reply_topic: " {{link}}" + quote_reply: "trả lời trích dẫn" + edit: "Đang sửa {{link}} {{replyAvatar}} {{username}}" + edit_reason: "Lý do: " + post_number: "bài viết {{number}}" + last_edited_on: "đã sửa bài viết lần cuối lúc" + reply_as_new_topic: "Trả lời như là liên kết đến Chủ đề" + continue_discussion: "Tiếp tục thảo luận từ {{postLink}}:" + follow_quote: "đến bài viết trích dẫn" + show_full: "Hiển thị đầy đủ bài viết" + show_hidden: 'Xem nội dung ẩn' + expand_collapse: "mở/đóng" + gap: + other: "xem {{count}} trả lời bị ẩn" + more_links: "hơn {{count}}..." + unread: "Bài viết chưa đọc" + has_replies: + other: "{{count}} Trả lời" + has_likes: + other: "{{count}} Thích" + has_likes_title: + other: "{{count}} người thích bài viết này" + errors: + create: "Xin lỗi, có lỗi xảy ra khi tạo bài viết của bạn. Vui lòng thử lại." + edit: "Xin lỗi, có lỗi xảy ra khi sửa bài viết của bạn. Vui lòng thử lại." + upload: "Xin lỗi, có lỗi xảy ra khi tải lên tập tin này. Vui lòng thử lại." + attachment_too_large: "Xin lỗi, tập tin của bạn tải lên quá lớn (kích thước tối đa là {{max_size_kb}}kb)." + file_too_large: "Xin lỗi, tập tin của bạn tải lên quá lớn (kích thước tối đa là {{max_size_kb}}kb)" + too_many_uploads: "Xin lỗi, bạn chỉ có thể tải lên 1 file cùng 1 lúc." + too_many_dragged_and_dropped_files: "Xin lỗi, bạn chỉ có thể kéo và thả 10 tập tin cùng lúc." + upload_not_authorized: "Xin lỗi, tập tin của bạn tải lên chưa được cho phép (định dạng cho phép: {{authorized_extensions}})." + image_upload_not_allowed_for_new_user: "Xin lỗi, tài khoản mới không thể tải lên ảnh." + attachment_upload_not_allowed_for_new_user: "Xin lỗi, tài khoản mới không thể tải lên đính kèm." + attachment_download_requires_login: "Xin lỗi, bạn cần đăng nhập để tải về đính kèm." + abandon: + confirm: "Bạn có chắc muốn bỏ bài viết của bạn?" + no_value: "Không, giữ lại" + yes_value: "Đồng ý, bỏ" + via_email: "bài viết này đăng qua email" + whisper: "bài viết này là lời nhắn từ điều hành viên" + wiki: + about: "bài viết này là wiki; người dùng cơ bản có thể sửa nó" + archetypes: + save: 'Lưu lựa chọn' + controls: + reply: "bắt đầu soản trả lời cho bài viết này" + like: "like bài viết này" + has_liked: "bạn đã like bài viết này" + undo_like: "hủy like" + edit: "sửa bài viết này" + edit_anonymous: "Xin lỗi, nhưng bạn cần đăng nhập để sửa bài viết này." + delete: "xóa bài viết này" + undelete: "hủy xóa bài viết này" + share: "chia sẻ liên kết đến bài viết này" + more: "Thêm" + delete_replies: + confirm: + other: "Bạn muốn xóa {{count}} trả lời cho bài viết này?" + yes_value: "Đồng ý, xóa những trả lời" + no_value: "Không, chỉ xóa chủ đề" + wiki: "Tạo Wiki" + unwiki: "Xóa Wiki" + convert_to_moderator: "Thêm màu Nhân viên" + revert_to_regular: "Xóa màu Nhân viên" + rebake: "Tạo lại HTML" + unhide: "Bỏ ẩn" + actions: + flag: 'Gắn cờ' + it_too: + off_topic: "Gắn cờ nó" + spam: "Gắn cờ nó" + inappropriate: "Gắn cờ nó" + custom_flag: "Gắn cờ nó" + bookmark: "Đánh dấu nó" + like: "Thích nó" + vote: "Bịnh chọn nó" + undo: + off_topic: "Hủy gắn cờ" + spam: "Hủy gắn cờ" + inappropriate: "Hủy gắn cờ" + bookmark: "Hủy đánh dấu" + like: "Hủy like" + vote: "Hủy bình chọn" + people: + off_topic: "{{icons}} đánh dấu nói sai chủ đề" + spam: "{{icons}} đánh dấu nó là rác" + spam_with_url: "{{icons}} gắn cờ cái này là rác" + inappropriate: "{{icons}} gắn cờ là không phù hợp" + notify_moderators: "{{icons}} thông báo cho điều hành viên" + notify_moderators_with_url: "{{icons}} đã thông báo quản trị viên" + notify_user: "{{icons}} gửi một tin nhắn" + notify_user_with_url: "{{icons}} gửi một tin nhắn" + bookmark: "{{icons}} đã đánh dấu" + like: "{{icons}} thích cái này" + vote: "{{icons}} bình chọn cho cái này" + by_you: + off_topic: "Bạn đã đánh dấu cái nfay là chủ đề đóng" + spam: "Bạn đã đánh dấu cái này là rác" + inappropriate: "Bạn đã đánh dấu cái này là không phù hợp" + notify_moderators: "Bạn đã đánh dấu cái này cho điều tiết" + notify_user: "Bạn đã gửi một tin nhắn đến người dùng này" + bookmark: "Bạn đã đánh dấu bài viết này" + like: "Bạn đã thích cái này" + vote: "Bạn đã bình chọn cho bài viết này" + by_you_and_others: + off_topic: + other: "Bạn và {{count}} người khác đã đánh dấu đây là chủ đề đóng" + spam: + other: "Bạn và {{count}} người khác gắn cờ nó là rác" + inappropriate: + other: "Bạn và {{count}} other người khác đã đánh dấu nó là không phù hợp" + notify_moderators: + other: "Bạn và {{count}} người khác gắn cờ nó là điều tiết" + notify_user: + other: "Bạn và {{count}} người khác đã gửi một tin nhắn đến người dùng này" + bookmark: + other: "Bạn và {{count}} người khác đã đánh dấu bài viết này" + like: + other: "Bạn và {{count}} người khác đã thích cái này" + vote: + other: "Bạn và {{count}} nười khác đã bình chọn cho bài viết này" + by_others: + off_topic: + other: "{{count}} người đã đánh dấu nó là chủ đề đóng" + spam: + other: "{{count}} người khác đánh dấu là rác" + inappropriate: + other: "{{count}} người khác đã đánh dấu là không phù hợp" + notify_user: + other: "{{count}} gửi tin nhắn đến người dùng này" + bookmark: + other: "{{count}} người đã đánh dấu bài viết này" + like: + other: "{count}} người đã thích cái này" + vote: + other: "{{count}} người đã bình chọn cho bài viết này" + delete: + confirm: + other: "Bạn muốn xóa những bài viết này?" + revisions: + controls: + first: "Sửa đổi đầu tiên" + previous: "Sửa đổi trước" + next: "Sửa đổi tiếp theo" + last: "Sửa đổi gần nhất" + hide: "Ẩn sửa đổi" + show: "Hiện sửa đổi" + displays: + inline: + button: ' HTML' + side_by_side: + button: ' HTML' + side_by_side_markdown: + button: ' Thô' + category: + can: 'can…' + none: '(không danh mục)' + all: 'Tất cả danh mục' + edit: 'sửa' + edit_long: "Sửa" + view: 'Xem Chủ đề trong Danh mục' + general: 'Chung' + settings: 'Cấu hình' + topic_template: "Mẫu Chủ đề" + delete: 'Xóa chuyên mục' + create: 'Chuyên mục mới' + create_long: 'Tạo Chủ đề mới' + save: 'Lưu chuyên mục' + creation_error: Có lỗi xảy ra khi tạo chuyên mục + save_error: Có lỗi xảy ra khi lưu chuyên mục + name: "Tên chuyên mục" + description: "Mô tả" + topic: "chủ đề chuyên mục" + logo: "Logo của chuyên mục" + background_image: "Ảnh nền của chuyên mục" + background_color: "Màu nền" + name_placeholder: "Tối đa một hoặc hai từ" + color_placeholder: "Bất cứ màu nào" + delete_confirm: "Bạn có chắc sẽ xóa chuyên mục này chứ?" + delete_error: "Có lỗi xảy ra khi xóa chuyên mục này" + list: "Danh sách chuyên mục" + no_description: "Hãy thêm mô tả cho chuyên mục này" + change_in_category_topic: "Sửa mô tả" + already_used: 'Màu này đã được dùng bởi chuyên mục khác' + security: "Bảo mật" + images: "Hình ảnh" + auto_close_label: "Tự động khóa chủ đề sau:" + auto_close_units: "giờ" + email_in: "Tùy chỉnh địa chỉ nhận thư điện tử " + email_in_allow_strangers: "Nhận thư điện tử từ người gửi vô danh không tài khoản" + email_in_disabled_click: 'kích hoạt thiết lập thư điện tử' + allow_badges_label: "Cho phép thưởng huy hiệu trong chuyên mục này" + edit_permissions: "Sửa quyền" + add_permission: "Thêm quyền" + this_year: "năm nay" + position: "vị trí" + default_position: "vị trí mặc định" + parent: "Danh mục cha" + notifications: + watching: + title: "Theo dõi" + tracking: + title: "Đang theo dõi" + regular: + title: "Bình thường" + muted: + title: "Im lặng" + flagging: + action: 'Đánh dấu Bài viết' + notify_action: 'Tin nhắn' + delete_spammer: "Xóa người Spam" + delete_confirm: "Bạn đang định xóa %{posts} bài đăng và %{topics} chủ đề từ người dùng này, loại tài khoản, ngăn đăng ký từ địa chỉ IP %{ip_address} của họ, và thêm địa chỉ email %{email} vào danh sách chặn vĩnh viễn. Bạn có chắc người dùng này thật sự là một spammer?" + ip_address_missing: "(N/A)" + hidden_email_address: "(ẩn)" + formatted_name: + off_topic: "Nó là sai chủ đề" + spam: "Nó là rác" + custom_message: + more: "còn {{n}}" + flagging_topic: + action: "Gắn cờ Chủ đề" + notify_action: "Tin nhắn" + topic_map: + title: "Tóm tắt Chủ đề" + links_title: "Liên kết phổ biến" + clicks: + other: "%{count} nhấp chuột" + topic_statuses: + warning: + help: "Đây là một cảnh báo chính thức." + bookmarked: + help: "Bạn đã đánh dấu chủ đề này" + locked: + help: "Chủ đề đã đóng; không cho phép trả lời mới" + unpinned: + title: "Hủy gắn" + pinned: + title: "Gắn" + posts: "Bài viết" + posts_lowercase: "bài viết" + posts_long: "Có {{number}} bài đăng trong chủ đề này" + posts_likes_MF: | + Chủ đề này có {count, plural, one {1 reply} other {# replies}} {ratio, select, + low {with a high like to post ratio} + med {with a very high like to post ratio} + high {with an extremely high like to post ratio} + other {}} + original_post: "Bài viết gốc" + views: "Lượt xem" + views_lowercase: + other: "lượt xem" + replies: "Trả lời" + views_long: "chủ đề đã được xem {{number}} lần" + activity: "Hoạt động" + likes: "Lượt thích" + likes_lowercase: + other: "lượt thích" + likes_long: "Có {{number}} thích trong chủ đề này" + users: "Người dùng" + users_lowercase: + other: "người dùng" + category_title: "Danh mục" + history: "Lịch sử" + changed_by: "bởi {{author}}" + raw_email: + title: "Email gốc" + not_available: "Không sẵn sàng!" + categories_list: "Danh sách Danh mục" + filters: + with_topics: "%{filter} chủ đề" + with_category: "%{filter} %{category} chủ đề" + latest: + help: "chủ đề với bài viết gần nhất" + hot: + title: "Nổi bật" + read: + title: "Đọc" + search: + title: "Tìm kiếm" + help: "tìm trong tất cả chủ đề" + categories: + title: "Danh mục" + title_in: "Danh mục - {{categoryName}}" + new: + lower_title: "mới" + help: "chủ đề đã tạo cách đây vài ngày" + posted: + title: "Bài viết của tôi" + help: "chủ đề của bạn đã được đăng trong" + bookmarks: + title: "Đánh dấu" + help: "chủ để của bạn đã được đánh dấu" + category: + help: "Những chủ đề mới nhất trong chuyên mục{{categoryName}} " + top: + title: "Trên" + all: + title: "Từ trước tới nay" + yearly: + title: "Hàng năm" + quarterly: + title: "Hàng quý" + monthly: + title: "Hàng tháng" + weekly: + title: "Hàng tuần" + daily: + title: "Hàng ngày" + all_time: "Từ trước tới nay" + this_year: "Năm" + this_quarter: "Quý" + this_month: "Tháng" + this_week: "Tuần" + today: "Ngày" + other_periods: "xem top" + permission_types: + full: "Tạo / Trả lời / Xem" + create_post: "Trả lời / Xem" + readonly: "Xem" + admin_js: + type_to_filter: "gõ để lọc..." + admin: + title: 'Quản trị Diễn đàn' + moderator: 'Điều hành' + dashboard: + title: "Bảng điều khiển" + last_updated: "Bảng điều khiển cập nhật gần nhất:" + version: "Phiên bản" + up_to_date: "Bạn đã cập nhật phiên bản mới nhất" + critical_available: "Bản cập nhật quan trọng sẵn sằng." + updates_available: "Cập nhật đang sẵng sàng" + please_upgrade: "Vui lòng cập nhật!" + installed_version: "Đã cài đặt" + latest_version: "Mới nhất" + problems_found: "Tìm thấy vấn đề với bản cài đặt Discourse của bạn:" + last_checked: "Kiểm tra lần cuối" + refresh_problems: "Làm mới" + no_problems: "Không phát hiện vấn đề" + moderators: 'Điều hành:' + admins: 'Quản trị:' + blocked: 'Đã khóa:' + suspended: 'Đã tạm khóa:' + private_messages_short: "Tin nhắn" + private_messages_title: "Tin nhắn" + mobile_title: "Điện thoại" + space_free: "{{size}} trống" + uploads: "tải lên" + backups: "sao lưu" + traffic_short: "Băng thông" + traffic: "Application web requests" + page_views: "API Requests" + page_views_short: "API Requests" + show_traffic_report: "Xem chi tiết Báo cáo Lưu lượng" + reports: + today: "Hôm nay" + yesterday: "Hôm qua" + last_7_days: "7 Ngày gần nhất" + last_30_days: "30 Ngày gần nhất" + all_time: "Từ trước tới nay" + 7_days_ago: "7 Ngày trước" + 30_days_ago: "30 Ngày trước" + all: "Tất cả" + view_table: "bảng" + view_chart: "biểu đồ bar" + refresh_report: "Làm mới báo cáo" + start_date: "Từ ngày" + end_date: "Đến ngày" + commits: + latest_changes: "Thay đổi cuối: vui lòng cập nhật thường xuyên!" + by: "bởi" + flags: + title: "Gắn cờ" + old: "Cũ" + active: "Kích hoạt" + agree: "Đồng ý" + agree_flag_modal_title: "Đồng ý và..." + agree_flag_hide_post: "Đồng ý (ẩn bài viết + gửi PM)" + agree_flag_hide_post_title: "Ẩn bài viết này và tự động gửi tin nhắn đến người dùng hối thúc họ sửa nó" + agree_flag_restore_post: "Đồng ý (khôi phục bài viết)" + agree_flag_restore_post_title: "Khôi phục bài viết này" + agree_flag: "Đống ý với cờ này" + agree_flag_title: "Đồng ý với cờ này và giữ bài viết không thay đổi" + defer_flag: "Hoãn" + defer_flag_title: "Xóa cờ này; nó yêu cầu không có hành động nào vào thời điểm này." + delete: "Xóa" + delete_post_defer_flag_title: "Xóa bài viết; nếu là bài viết đầu tiên, xóa chủ đề này" + delete_post_agree_flag: "Xóa bài viết và Đồng ý với cờ" + delete_post_agree_flag_title: "Xóa bài viết; nếu là bài viết đầu tiên, xóa chủ đề này" + delete_flag_modal_title: "Xóa và..." + delete_spammer: "Xóa người Spam" + delete_spammer_title: "Xóa người dùng này và tất cả bài viết à chủ để của người dùng này." + disagree_flag_unhide_post: "Không đồng ý (ẩn bài viết)" + disagree_flag: "Không đồng ý" + clear_topic_flags: "Hoàn tất" + more: "(thêm trả lời...)" + dispositions: + agreed: "đồng ý" + disagreed: "không đồng ý" + deferred: "hoãn" + flagged_by: "Gắn cờ bởi" + system: "Hệ thống" + error: "Có lỗi xảy ra" + reply_message: "Trả lời " + no_results: "Không được gắn cờ" + summary: + action_type_3: + other: "sai chủ đề x{{count}}" + groups: + primary: "Nhóm Chính" + no_primary: "(không có nhóm chính)" + title: "Nhóm" + edit: "Sửa nhóm" + refresh: "Làm mới" + new: "Mới" + selector_placeholder: "nhập tên tài khoản" + name_placeholder: "Tên nhóm, không khoản trắng, cùng luật với tên tài khoản" + group_members: "Nhóm thành viên" + delete: "Xóa" + delete_confirm: "Xóa nhóm này?" + name: "Tên" + add: "Thêm" + add_members: "Thêm thành viên" + custom: "Tùy biến" + automatic: "Tự động" + primary_group: "Tự động cài là nhóm chính" + api: + generate_master: "Tạo Master API Key" + none: "Không có API keys nào kích hoạt lúc này." + user: "Thành viên" + title: "API" + key: "API Key" + generate: "Khởi tạo" + regenerate: "Khởi tạo lại" + revoke: "Thu hồi" + confirm_regen: "Bạn muốn thay API Key hiện tại bằng cái mới?" + all_users: "Tất cả Thành viên" + note_html: "Giữ khóa nào bảo mật, tất cả tài khoản có thể dùng khóa này để tạo bài viết với bất kỳ tài khoản nào." + plugins: + title: "Plugin" + installed: "Đã cài Plugin" + name: "Tên" + none_installed: "Bạn chưa cài plugin nào." + version: "Phiên bản" + enabled: "Kích hoạt" + is_enabled: "Có" + not_enabled: "Không" + change_settings: "Đổi Cấu hình" + change_settings_short: "Cấu hình" + howto: "Plugin cài như thế nào?" + backups: + title: "Bản sao lưu" + menu: + backups: "Bản sao lưu" + logs: "Log" + none: "Chưa có bản sao lưu." + read_only: + enable: + title: "Kích hoạt chế độ chỉ xem" + label: "Kích hoạt chế độ chỉ xem" + confirm: "Bạn muốn kích hoạt chế chộ chỉ xem?" + disable: + title: "Hủy chế độ chỉ xem này" + label: "Hủy chế độ chỉ xem" + logs: + none: "Chưa có log..." + columns: + filename: "Tên tập tin" + size: "Kích thước" + upload: + label: "Tải lên" + title: "Tải lên bản sao lưu cho phiên bản này" + uploading: "Đang tải lên..." + success: "'{{filename}}' đã tải lên thành công." + error: "Có lõi trong quá trình tải lên '{{filename}}': {{message}}" + operations: + is_running: "Tác vụ đang chạy..." + failed: "{{operation}} Thấy bại. Vui lòng xem log." + cancel: + label: "Hủy" + title: "Hủy tác vụ hiện tại" + confirm: "Bạn muốn hủy tác vụ hiện tại?" + backup: + label: "Sao lưu" + title: "Tạo bản sao lưu" + confirm: "Bạn muốn bắt đầu một bản sao lưu mới?" + without_uploads: "Đúng (không bao gồm những tập tin)" + download: + label: "Tải xuống" + title: "Tải xuống bản sao lưu này" + destroy: + title: "Xóa bản sao lưu này" + confirm: "Bạn muốn hủy bản sao lưu này?" + restore: + is_disabled: "Khôi phục đã bị cấm sử dụng trong cấu hình trang." + label: "Khôi phục" + title: "Khôi phục lại sao lưu này" + confirm: "Bạn muốn khôi phục bản sao lưu này?" + rollback: + label: "Rollback" + export_csv: + failed: "Xuất lỗi. Vui lòng kiểm tra log." + rate_limit_error: "Bài viết có thể tải về 1 lần mỗi này, vui lòng thử lại vào ngày mai." + button_text: "Xuất" + button_title: + user: "Xuất danh sách người dùng đầy đủ với định dạng CSV." + staff_action: "Xuất đầy đủ log hành động của nhân viên với định dạng CSV." + export_json: + button_text: "Xuất" + invite: + button_text: "Gửi Lời Mời" + button_title: "Gửi Lời Mời" + customize: + title: "Tùy biến" + long_title: "Tùy biến trang" + css: "CSS" + header: "Header" + top: "Trên" + footer: "Footer" + embedded_css: "Nhúng CSS" + head_tag: + text: "" + title: "HTML sẻ thêm trước thẻ " + body_tag: + text: "" + title: "HTML sẽ thêm trước thẻ " + override_default: "Không bao gồm style sheet chuẩn" + enabled: "Cho phép?" + preview: "xem trước" + undo_preview: "xóa xem trước" + save: "Lưu" + new: "Mới" + import: "Nhập" + import_title: "Chọn một file hoặc paste chữ." + delete: "Xóa" + delete_confirm: "Xóa tùy biến này?" + about: "Chỉnh sửa CSS và HTML header trên trang. Thêm tùy biến để bắt đầu." + color: "Màu sắc" + opacity: "Độ mờ" + copy: "Sao chép" + css_html: + title: "CSS/HTML" + long_title: "Tùy biến CSS và HTML" + colors: + title: "Màu sắc" + long_title: "Bảng màu" + about: "Chỉnh " + new_name: "Bản màu mới" + copy_name_prefix: "Bản sao của" + delete_confirm: "Xóa bảng màu này?" + undo: "hoàn tác" + undo_title: "Hoàn tác thay đổi của bạn vơ" + revert: "phục hồi" + revert_title: "Thiết lập lại màu về mặc định của Discourse." + primary: + name: 'chính' + description: 'Hầu hết chữ, biểu tượng, và viền.' + secondary: + name: 'cấp hai' + description: 'Màu nền, và màu chữ của một vài nút.' + tertiary: + name: 'cấp ba' + description: 'Liên kết, một và nút, thông báo, và màu nhấn.' + header_background: + name: "nền header" + description: "Màu nền header của trang." + header_primary: + name: "header chính" + highlight: + name: 'highlight' + danger: + name: 'nguy hiểm' + success: + name: 'thành công' + love: + name: 'đáng yêu' + description: "Màu của nút like" + wiki: + name: 'wiki' + email: + title: "Email" + settings: "Cấu hình" + all: "Tất cả" + sending_test: "Đang gửi Email test..." + error: "LỖI - %{server_error}" + test_error: "Có vấn đề khi gửi email test. Vui lòng kiểm tra lại cấu hình email của bạn, chắc chắn host mail của bạn không bị khóa kết nối, và thử lại." + sent: "Đã gửi" + skipped: "Đã bỏ qua" + sent_at: "Đã gửi vào lúc" + time: "Thời gian" + user: "Thành viên" + email_type: "Loại Email" + to_address: "Đến Địa chỉ" + test_email_address: "địa chỉ email để test" + send_test: "Gửi Email test" + sent_test: "đã gửi!" + refresh: "Tải lại" + format: "Định dạng" + html: "html" + text: "text" + last_seen_user: "Người dùng cuối:" + reply_key: "Key phản hồi" + skipped_reason: "Bỏ qua Lý do" + logs: + none: "Không tìm thấy log." + filters: + title: "Lọc" + user_placeholder: "tên người dùng" + address_placeholder: "name@example.com" + reply_key_placeholder: "key phản hồi" + skipped_reason_placeholder: "lý do" + logs: + title: "Log" + action: "Hành động" + created_at: "Đã tạo" + ip_address: "IP" + topic_id: "ID Chủ đề" + post_id: "ID Bài viết" + category_id: "ID Danh mục" + delete: 'Xoá' + edit: 'Sửa' + save: 'Lưu' + screened_actions: + block: "khóa" + do_nothing: "không làm gì" + staff_actions: + clear_filters: "Hiện thị mọi thứ" + staff_user: "Tài khoản Nhân viên" + subject: "Chủ đề" + when: "Khi" + details: "Chi tiết" + previous_value: "Trước" + new_value: "Mới" + diff: "So sánh" + show: "Hiển thị" + modal_title: "Chi tiết" + actions: + delete_user: "xóa người dùng" + change_trust_level: "thay đổi cấp tin cậy" + change_username: "thay đổi username" + change_site_setting: "thay đổi cấu hình trang" + change_site_customization: "thay đổi tùy biến trang" + delete_site_customization: "xóa tùy biến trang" + check_email: "kiểm tra email" + delete_topic: "xóa chủ đề" + delete_post: "xóa bài viết" + change_category_settings: "thay đổi cấu hình danh mục" + delete_category: "xóa danh mục" + create_category: "tạo danh mục" + screened_emails: + email: "Địa chỉ Email" + actions: + allow: "Cho phép" + screened_urls: + url: "URL" + domain: "Tên miền" + screened_ips: + rolled_up_no_subnet: "Không có gì để cuộn lên." + actions: + block: "Khóa" + do_nothing: "Cho phép" + allow_admin: "Cho phép Quản trị" + form: + label: "Mới:" + ip_address: "Địa chỉ IP" + add: "Thêm" + filter: "Tìm kiếm" + roll_up: + text: "Cuộn lên" + logster: + title: "Log lỗi" + impersonate: + title: "Mạo danh" + not_found: "Không tìm thấy người dùng này." + users: + title: 'Tài khoản' + create: 'Thêm tài khoản Quản trị' + last_emailed: "Email trước đây" + not_found: "Xin lỗi, username không tồn tại trong hệ thống." + id_not_found: "Xin lỗi, id người dùng không tồn tại trong hệ thống." + active: "Kích hoạt" + show_emails: "Hiện địa chỉ Email" + nav: + new: "Mới" + active: "Kích hoạt" + pending: "Đang chờ xử lý" + staff: 'Nhân viên' + suspended: 'Đã tạm khóa' + blocked: 'Đã khóa' + approved: "Đã duyệt?" + approved_selected: + other: "duyệt tài khoản ({{count}})" + reject_selected: + other: "từ chối tài khoản ({{count}})" + titles: + active: 'Thành viên kích hoạt' + new: 'Thành viên mới' + pending: 'Hoãn Xem xét Tài khoản' + newuser: 'Tài khoản ở Cấp độ Tin tưởng 0 (Tài khoản mới)' + basic: 'Tài khoản ở Cấp độ Tin tưởng 1 (Tài khoản Cơ bản)' + staff: "Nhân viên" + admins: 'Tài khoản Quản trị' + moderators: 'Điều hành viên' + blocked: 'Tài khoản Khóa' + suspended: 'Tài khoản Tạm khóa' + reject_successful: + other: "Từ chối thành công %{count} tài khoản." + reject_failures: + other: "Từ chối thất bại %{count} tài khoản." + not_verified: "Chưa xác thực" + check_email: + text: "Hiển thị" + user: + suspend_duration_units: "(ngày)" + suspend_reason: "Lý do" + suspended_by: "Tạm khóa bởi" + delete_all_posts: "Xóa tất cả bài viết" + suspend: "Tạm khóa" + unsuspend: "Đã mở khóa" + suspended: "Đã tạm khóa?" + moderator: "Mod?" + admin: "Quản trị?" + blocked: "Đã khóa?" + show_admin_profile: "Quản trị" + edit_title: "Sửa Tiêu đề" + save_title: "Lưu Tiêu đề" + refresh_browsers_message: "Tin nhắn đã gửi cho tất cả người dùng!" + show_public_profile: "Hiển thị hồ sơ công khai" + impersonate: 'Mạo danh' + ip_lookup: "Tìm kiếm địa chỉ IP" + log_out: "Đăng suất" + logged_out: "Thành viên đã đăng xuất trên tất cả thiết bị" + unblock: 'Mở khóa' + block: 'Khóa' + reputation: Danh tiếng + permissions: Quyền + activity: Hoạt động + last_100_days: 'trong 100 ngày gần đây' + private_topics_count: Chủ đề riêng tư + posts_read_count: Đọc bài viết + post_count: Bài đăng đã được tạo + topics_entered: Chủ để đã xem + warnings_received_count: Đã nhận Cảnh báo + approve: 'Duyệt' + approved_by: "duyệt bởi" + approve_success: "Thành viên được duyệt và đã gửi email hướng đẫn kích hoạt." + approve_bulk_success: "Thành công! Tất cả thành viên đã chọn được duyệt và thông báo." + time_read: "Thời gian đọc" + anonymize: "Tài khoản Nặc danh" + anonymize_confirm: "Bạn CHĂC CHẮN muốn xóa tài khoản nặc danh này? Nó sẽ thay đổi tên đăng nhập và email, và xóa tất cả thông tin trong hồ sơ." + anonymize_yes: "Đồng ý, đây là tài khoản nặc danh." + anonymize_failed: "Có vấn đề với những tài khoản nặc danh." + delete: "Xóa thành viên" + delete_forbidden_because_staff: "Admin và mod không thể xóa." + delete_posts_forbidden_because_staff: "Không thể xóa tất cả bài viết của quản trị và điều hành viên." + delete_confirm: "Bạn CHẮC CHẮN muốn xóa thành viên này? Nó là vĩnh viễn!" + delete_and_block: "Xóa và khóa email này và địa chỉ IP" + delete_dont_block: "Chỉ xóa" + deleted: "Thành viên này đã bị xóa" + delete_failed: "Có lỗi trong quá trình xóa thành viên này. Chắc chắn rằng tất cả bài viết đã được xóa trước khi xóa thành viên." + send_activation_email: "Gửi email kích hoạt" + activation_email_sent: "Email kích hoạt đã được gửi." + send_activation_email_failed: "Có vấn đề khi gửi lại email kích hoạt. %{error}" + activate: "Kích hoạt tài khoản" + activate_failed: "Có vấn đề khi kích hoạt thành viên này." + deactivate_account: "Vô hiệu hóa Tài khoản" + deactivate_failed: "Có vấn đề khi bỏ kích hoạt thành viên này." + unblock_failed: 'Có vẫn đề khi gỡ khóa thành viên này.' + block_failed: 'Có vấn đề khi khóa thành viên này.' + suspended_explanation: "Tài khoản tạm khóa không thể đăng nhập." + block_explanation: "Tài khoản bị khóa không thể đăng bài hoặc tạo chủ đề." + trust_level_change_failed: "Có lỗi xảy ra khi thay đổi mức độ tin tưởng của tài khoản." + suspend_modal_title: "Tạm khóa Thành viên" + lock_trust_level: "Khóa Cấp độ Tin tưởng" + tl3_requirements: + title: "Yêu cầu Cấp độ tin tưởng 3" + value_heading: "Giá trị" + requirement_heading: "Yêu cầu" + visits: "Lượt xem" + days: "ngày" + topics_viewed: "Đã xem chủ đề" + topics_viewed_all_time: "Đã xem chủ đề (mọi lúc)" + posts_read: "Đọc bài viết" + posts_read_all_time: "Đọc bài viết (mọi lúc)" + flagged_posts: "Đã gắn cờ Bài viết" + sso: + title: "Single Sign On" + external_id: "ID Bên ngoài" + external_username: "Tên đăng nhập" + external_name: "Tên" + external_email: "Email" + external_avatar_url: "URL Ảnh đại diện" + user_fields: + untitled: "Không có tiêu đề" + name: "Tên Trường" + type: "Loại Trường" + description: "Trường mô tả" + save: "Lưu" + edit: "Sửa" + delete: "Xoá" + cancel: "Hủy" + delete_confirm: "Bạn muốn xóa trường thành viên?" + options: "Lựa chọn" + required: + title: "Bắt buộc lúc đăng ký?" + enabled: "bắt buộc" + disabled: "không bắt buộc" + editable: + title: "Có thể chỉnh sửa sau khi đăng ký?" + enabled: "có thể chỉnh sửa" + disabled: "không thể chỉnh sửa" + show_on_profile: + title: "Hiển thị trong hồ sơ công khai" + enabled: "hiển thị trong hồ sơ" + disabled: "không hiển thị trong hồ sơ" + field_types: + text: 'Nội dung chữ' + confirm: 'Xác nhận' + dropdown: "Xổ xuống" + site_text: + title: 'Nội Dung Chữ' + site_settings: + show_overriden: 'Chỉ hiện thị đã ghi đè' + title: 'Xác lập' + reset: 'trạng thái đầu' + none: 'không có gì' + no_results: "Không tìm thấy kết quả." + clear_filter: "Xóa" + add_url: "thêm URL" + add_host: "thêm host" + categories: + all_results: 'Tất cả' + required: 'Bắt buộc' + basic: 'Cài đặt cơ bản' + users: 'Thành viên' + posting: 'Đang đăng bài' + email: 'Email' + files: 'Tập tin' + trust: 'Độ tin tưởng' + security: 'Bảo mật' + onebox: "Onebox" + seo: 'SEO' + spam: 'Rác' + developer: 'Nhà phát triển' + uncategorized: 'Khác' + backups: "Sao lưu" + login: "Đăng nhập" + plugins: "Plugins" + user_preferences: "Tùy chỉnh Tài khoản" + badges: + new: Mới + name: Tên + display_name: Tên Hiển thị + description: Mô tả + badge_grouping: Nhóm + reason_help: (Liên kết đến bài viết hoặc chủ đề) + save: Lưu + delete: Xóa + reason: Lý do + icon: Biểu tượng + image: Hình ảnh + trigger_type: + none: "Cập nhật hàng ngày" + preview: + bad_count_warning: + header: "CẢNH BÁO!" + sample: "Ví dụ:" + grant: + with: %{username} + with_post: %{username} for post in %{link} + emoji: + name: "Tên" + image: "Hình ảnh" + embedding: + confirm_delete: "Bạn muốn xóa host này?" + host: "Cho phép Host" + edit: "sửa" + category: "Đăng vào Danh mục" + add_host: "Thêm Host" + feed_settings: "Cấu hình Feed" + crawling_settings: "Cấu hình Crawler" + embed_blacklist_selector: "CSS selector for elements that are removed from embeds" + feed_polling_enabled: "Nhập bài viết bằng RSS/ATOM" + permalink: + title: "Liên kết cố định" + url: "URL" + topic_id: "ID Chủ đề" + topic_title: "Chủ đề" + post_id: "ID Bài viết" + post_title: "Bài viết" + category_id: "ID Danh mục" + category_title: "Danh mục" + external_url: "URL Bên ngoài" + form: + label: "Mới:" + add: "Thêm" + filter: "Tìm kiếm (URL hoặc External URL)" + lightbox: + download: "tải" + search_help: + title: 'Tìm giúp đỡ' + keyboard_shortcuts_help: + title: 'Phím tắt' + jump_to: + title: 'Chuyển đến' + home: 'g, h Trang chủ' + latest: 'g, l Cuối cùng' + new: 'g, n Mới' + unread: 'g, u Chưa đọc' + categories: 'g, c Danh mục' + top: 'g, t Trên' + bookmarks: 'g, b Đánh dấu' + profile: 'g, p Hồ sơ' + messages: 'g, m Tin nhắn' + navigation: + title: 'Điều hướng' + jump: '# Đến bài viết #' + back: 'u Quay lại' + open: 'o or Enter Mở chủ để đã chọn' + next_prev: 'shift+j/shift+k Next/previous section' + application: + title: 'Ứng dụng' + create: 'c Tạo mới chủ đề' + notifications: 'n Mở thông báo' + user_profile_menu: 'p Mở trình đơn thành viên' + show_incoming_updated_topics: '. Show updated topics' + search: '/ Tìm kiếm' + dismiss_new_posts: 'x, r Dismiss New/Posts' + dismiss_topics: 'x, t Bỏ qua bài viết' + log_out: 'shift+z shift+z Đăng xuất' + actions: + title: 'Hành động' + pin_unpin_topic: 'shift+p Pin/Unpin bài viết' + share_topic: 'shift+s Chia sẻ bài viết' + share_post: 's Chia sẻ bài viết' + reply_as_new_topic: 't Trả lời như là một liên kết đến bài viết' + reply_topic: 'shift+r Trả lời bài viết' + reply_post: 'r Trả lời bài viết' + like: 'l Thích bài viết' + bookmark: 'b Đánh dấu bài viết' + edit: 'e Sửa bài viết' + delete: 'd Xóa bài viết' + mark_watching: 'm, w theo dõi chủ đề' + badges: + allow_title: "có thể sử dụng như là tiêu đề" + more_badges: + other: "+%{count} Thêm" + none: "" + badge_grouping: + getting_started: + name: Bắt đầu + community: + name: Cộng đồng + trust_level: + name: Độ tin cậy + other: + name: Khác + posting: + name: Đang đăng bài + badge: + editor: + name: Biên tập + description: Chỉnh sửa bàn viết lần đầu + basic_user: + name: Cơ bản + member: + name: Thành viên + regular: + name: Thường xuyên + leader: + name: Lãnh đạo + welcome: + name: Chào mừng + description: Đã nhận 1 lượt thích + autobiographer: + description: Filled user profile information + anniversary: + name: Ngày kỷ niệm + good_post: + name: Bài viết tốt + great_post: + name: Bài viết tuyệt vời + nice_topic: + name: Bài viết hay + good_topic: + name: Chủ đề tốt + nice_share: + description: Đã chia sẻ bài viết với 25 lượt người truy cập + good_share: + description: Đã chia sẻ bài viết với 300 lượt người truy cập + great_share: + description: Đã chia sẻ bài viết với 1000 lượt người truy cập + first_like: + name: Lượt thích đầu tiên + description: Đã thích một bài đăng + first_flag: + name: Đánh dấu đầu tiên + description: Đánh dấu bài viết + promoter: + description: Đã mời một thành viên + campaigner: + description: Mời 3 thành viên (Độ tin cậy 1) + champion: + description: Mời 5 thành viên (Độ tin cậy 2) + first_share: + name: Chia sẽ đầu tiên + description: Chia sẽ bài viết + first_link: + name: Liên kết đầu tiên + description: Thêm một liên kết từ chủ để khác + first_quote: + name: Trích dẫn đầu tiên + description: Trích dẫn thành viên + read_guidelines: + name: Xem hướng dẫn + reader: + name: Người xem + description: Đọc tất cả bài viết trong các chủ để có hơn 100 bài + popular_link: + name: Liên kết phổ biến + hot_link: + name: Liên kết hấp dẫn + famous_link: + name: Liên kết phổ biến + diff --git a/config/locales/server.en.yml b/config/locales/server.en.yml index e42d71a2a..fe8476363 100644 --- a/config/locales/server.en.yml +++ b/config/locales/server.en.yml @@ -1406,6 +1406,14 @@ en: blocked: "New registrations are not allowed from your IP address." max_new_accounts_per_registration_ip: "New registrations are not allowed from your IP address (maximum limit reached). Contact a staff member." + flags_reminder: + flags_were_submitted: + one: "Flags were submitted over 1 hour ago. Please review them." + other: "Flags were submitted over %{count} hours ago. Please review them." + subject_template: + one: "1 flag waiting to be handled" + other: "%{count} flags waiting to be handled" + unsubscribe_mailer: subject_template: "Confirm you no longer want to receive email updates from %{site_title}" text_body_template: | @@ -1482,6 +1490,8 @@ en: - If you run your own mail server, check to make sure the IPs of your mail server are [not on any email blacklists][4]. Also verify that it is definitely sending a fully-qualified hostname that resolves in DNS in its HELO message. If not, this will cause your email to be rejected by many mail services. + - Send a test email to [mail-tester.com][mt] to verify that everything is working correctly. + (The *easy* way is to create a free account on [Mandrill][md] or [Mailgun][mg] or [Mailjet][mj], which have free generous free mailing plans and will be fine for small communities. You'll still need to set up the SPF and DKIM records in your DNS, though!) We hope you received this email deliverability test OK! @@ -1500,6 +1510,7 @@ en: [md]: http://mandrill.com [mg]: http://www.mailgun.com/ [mj]: https://www.mailjet.com/pricing + [mt]: http://www.mail-tester.com/ new_version_mailer: subject_template: "[%{site_name}] New Discourse version, update available" @@ -1537,17 +1548,6 @@ en: %{notes} - flags_reminder: - flags_were_submitted: - one: "These flags were submitted over 1 hour ago." - other: "These flags were submitted over %{count} hours ago." - please_review: "Please review them." - post_number: "post" - how_to_disable: 'You can disable or change the frequency of this email reminder via the "notify about flags after" setting.' - subject_template: - one: "1 flag waiting to be handled" - other: "%{count} flags waiting to be handled" - queued_posts_reminder: subject_template: one: "[%{site_name}] 1 post waiting to be reviewed" diff --git a/config/locales/server.vi.yml b/config/locales/server.vi.yml new file mode 100644 index 000000000..e02c1a55d --- /dev/null +++ b/config/locales/server.vi.yml @@ -0,0 +1,1028 @@ +# encoding: utf-8 +# +# Never edit this file. It will be overwritten when translations are pulled from Transifex. +# +# To work with us on translations, join this project: +# https://www.transifex.com/projects/p/discourse-org/ + +vi: + dates: + short_date_no_year: "D MMM" + short_date: "D MMM, YYYY" + long_date: "MMMM D, YYYY h:mma" + title: "Discourse" + topics: "Chủ đề" + posts: "bài viết" + loading: "Đang tải" + powered_by_html: 'Được hỗ trợ bởi Discourse, xem tốt nhất khi JavaScript được kích hoạt' + log_in: "Đăng nhập" + purge_reason: "Tự động xóa tài khoản không sử dụng, không kích hoạt." + disable_remote_images_download_reason: "Không thể tải ảnh về máy chủ vì thiếu dung lượng." + anonymous: "Ẩn danh" + errors: + format: '%{attribute} %{message}' + messages: + too_long_validation: "cho phép tối đa %{max} ký tự; bạn đã nhập %{length}." + invalid_boolean: "Giá trị boolean không hợp lệ" + taken: "đã được lấy trước" + accepted: phải được chấp nhận + blank: không thể để rỗng + present: phải để rỗng + confirmation: "%{attribute} không khớp" + empty: không thể để trống + equal_to: phải bằng %{count} + even: phải là chắn + exclusion: được bảo lưu + greater_than: phải lớn hơn %{count} + greater_than_or_equal_to: phải lớn hơn hoặc bằng %{count} + has_already_been_used: "đã được sử dụng" + inclusion: không được bao gồm trong danh sách + invalid: là không hợp lệ + is_invalid: "không hợp lệ; cố gắng cụ thể hơn một chút" + less_than: phải nhỏ hơn %{count} + less_than_or_equal_to: phải nhỏ hơn hoặc bằng %{count} + not_a_number: không phải là số + not_an_integer: phải là một số nguyên + odd: phải là số lẻ + record_invalid: 'Xác nhận thất bại: %{errors}' + restrict_dependent_destroy: + one: "Không thể xóa bản ghi bởi vì một bản ghi %{record} phụ thuộc đang tồn tại" + many: "Không thể xóa bản ghi bởi vì %{record} phụ thuộc tồn tại" + too_long: + other: quá dài (tối đa %{count} ký tự) + too_short: + other: quá ngắn (tối thiểu %{count} ký tự) + wrong_length: + other: độ dài không hợp lệ (nên đặt %{count} ký tự) + other_than: "phải khác %{count}" + template: + body: 'Đã có vấn đề với những trường sau:' + header: + other: '%{count} lỗi đã ngăn cản không thể lưu %{model} này' + embed: + load_from_remote: "Đã xảy ra lỗi khi tải bài viết." + site_settings: + min_username_length_exists: "Bạn không thể thiết lập chiều dài tối thiểu của username nhỏ hơn chiều dài của username ngắn nhất" + min_username_length_range: "Bạn không thiết lập giá trị nhỏ nhất lớn hơn giá trị lớn nhất" + max_username_length_exists: "Bạn không thể thiết lập chiều dài tối đa của username nhỏ hơn username dài nhất" + max_username_length_range: "Bạn không thể thiết lập số tối đa nhỏ hơn số tối thiểu" + default_categories_already_selected: "Bạn không thể chọn một danh mục được sử dụng trong danh sách khác." + s3_upload_bucket_is_required: "Bạn không thể tải lên S3 mà chưa thiết lập 's3_upload_bucket'." + bulk_invite: + file_should_be_csv: "Tập tin tải lên nên ở dạng csv hoặc txt." + backup: + operation_already_running: "Một tiến trình đang được thực hiện. Không thể bắt đầu một tiến trình mới ngay bây giờ." + backup_file_should_be_tar_gz: "Tập tin sao lưu nên nên ở dạng .tar.gz." + not_enough_space_on_disk: "Không đủ không gian trên đĩa để tải lên bản sao lưu này." + not_logged_in: "Bạn cần phải đăng nhập để thực hiện việc đó." + not_found: "Không thể tìm thấy đường dẫn hoặc tài nguyên yêu cầu." + invalid_access: "Bạn không được phép xem tài nguyên đã yêu cầu." + read_only_mode_enabled: "Trang web đang ở chế độ chỉ đọc. Tất cả các tương tác đã bị tắt." + too_many_replies: + other: "Xin lỗi bạn, người dùng mới tạm thời bị giới hạn với %{count} câu trả lời trong một chủ đề." + embed: + start_discussion: "Bắt đầu cuộc thảo luận" + continue: "Tiếp tục cuộc thảo luận" + more_replies: + other: "còn %{count} câu trả lời" + loading: "Đang tải cuộc thảo luận" + permalink: "Liên kết cố định" + imported_from: "Đây là cuộc thảo luận đi kèm chủ đề gốc tại %{link}" + in_reply_to: "▶ %{username}" + replies: + other: "%{count} câu trả lời" + no_mentions_allowed: "Xin lỗi, bạn không thể nhắc tới thành viên khác." + spamming_host: "Xin lỗi bạn không thể chèn liên kết tới trang đó." + user_is_suspended: "Người dùng đang bị treo không được phép đăng bài." + topic_not_found: "Có gì đó đã sai. Có lẽ chủ đề này đã bị đóng hoặc bị xóa trong khi bạn đang xem?" + just_posted_that: "rất giống với những gì bạn đã viết gần đây" + has_already_been_used: "đã được sử dụng" + invalid_characters: "chứa các kí tự không hợp lệ" + is_invalid: "không hợp lệ; cố gắng cụ thể hơn một chút" + next_page: "trang sau →" + prev_page: "← trang trước" + page_num: "Trang %{num}" + home_title: "Trang chủ" + topics_in_category: "Các chủ đề ở chuyên '%{category}'" + rss_posts_in_topic: "Nguồn cấp dữ liệu RSS của '%{topic}'" + rss_topics_in_category: "Nguồn cấp dữ liệu RSS của các chủ đề trong chuyên mục '%{category}'" + author_wrote: "%{author} đã viết:" + num_posts: "Bài đã đăng:" + num_participants: "Người tham gia:" + read_full_topic: "Đọc toàn bộ chủ đề" + private_message_abbrev: "Tin nhắn" + rss_description: + latest: "Chủ đề mới nhất" + hot: "Chủ đề nóng nhất" + posts: "Bài viết mới nhất" + too_late_to_edit: "Bài đăng đã được tạo từ rất lâu. Nó không thể được chỉnh sửa hoặc xóa nữa." + excerpt_image: "hình ảnh" + queue: + delete_reason: "Đã xóa thông qua hàng đợi kiểm duyệt" + groups: + errors: + can_not_modify_automatic: "Bạn không thể sửa đổi một nhóm tự động" + member_already_exist: "'%{username}' đã là thành viên của nhóm" + default_names: + everyone: "Mọi người" + admins: "quản trị" + moderators: "điều hành" + staff: "nhân viên" + trust_level_0: "trust_level_0" + trust_level_1: "trust_level_1" + trust_level_2: "trust_level_2" + trust_level_3: "trust_level_3" + trust_level_4: "trust_level_4" + education: + until_posts: + other: "%{count} bài đăng" + new-topic: | + Chào mừng bạn đến với %{site_name} — **cảm ơn vì đã đăng cuộc thảo luận mới!** + + - Bạn có cảm thấy tiêu đề có thú vị không khi bạn đọc to nó? Đó có phải là một đoạn tóm tắt tốt không? + + - Những ai sẽ hứng thú với cuộc thảo luận này? Tại sao đó lại trở thành vấn đề? Bạn muốn những loại phản hồi thế nào? + + - Sử dụng những từ khóa phổ biến để người khác có thể tìm thấy chủ đề của bạn dễ hơn. Để nhóm chủ đề của bạn với các chủ đề liên quan khác, hãy chọn chuyên mục cho chủ đề của mình. + + Xem thêm, [hướng dẫn cộng đồng của chúng tôi](/guidelines). Bảng điều khiển này sẽ chỉ xuất hiện vào lần đầu %{education_posts_text}. + new-reply: | + Chào mừng bạn đến với %{site_name} — **cám ơn vì đã đóng góp!** + + - Câu trả lời của bạn có làm cuộc thảo luận tốt hơn về mặt nào đó? + + - Hãy đối xử tốt với các thành viên khác trong cộng đồng của bạn. + + - Lời phê bình mang tính đóng góp cũng được chào đón, nhưng bạn nên phê bình *ý tưởng* chứ không phải con người. + + [Đọc hướng dẫn cộng đồng](/guidelines) để có thêm thông tin. Bảng này chỉ xuất hiện cho bài viết đầu tiên của bạn %{education_posts_text}. + avatar: | + ### How about a picture for your account? + + You've posted a few topics and replies, but your profile picture isn't as unique as you are -- it's just a letter. + + Have you considered **[visiting your user profile](%{profile_path})** and uploading a picture that represents you? + + It's easier to follow discussions and find interesting people in conversations when everyone has a unique profile picture! + sequential_replies: | + ### Xem xét việc trả lời nhiều bài viết cùng lúc + + Thay vì trả lời nhiều tuần tự đến từng chủ đề, xin vui lòng xem xét một bài trả lời duy nhất mà bao gồm các trích dẫn từ bài viết trước hoặc dùng tham chiếu @name. + + Bạn có thể sửa bài trả lời trước đó của bạn để thêm một trích dẫn bằng cách bôi đen và nhấn chọn nút quote reply vừa xuất hiện. + + Sẽ dễ dàng hơn cho tất cả mọi người để đọc chủ đề mà có ít câu trả lời sâu với nhiều cấp, trả lời cá nhân + dominating_topic: "### Hãy để người khác tham gia vào cuộc thảo luận\n\nChủ đề này rõ ràng là quan trọng với bạn & ndash; bạn đã đăng nhiều hơn% %{percent}% của các câu trả lời tại đây.\n\nBạn có chắc chắn bạn đang cung cấp đủ thời gian cho những người khác để chia sẻ quan điểm của mình? \n" + too_many_replies: | + ### Bạn đã đạt đến giới hạn trả lời cho chủ đề này + + Chúng tôi xin lỗi, nhưng người dùng mới bị giới hạn %{newuser_max_replies_per_topic} trả lời trong cùng một chủ đề. + + Thay vì thêm một câu trả lời khác, xin vui lòng xem xét chỉnh sửa trả lời trước đó của bạn, hoặc truy cập vào các chủ đề khác. + reviving_old_topic: "### Xem lại chủ đề này? \n\nCâu trả lời cuối cùng cho chủ đề này đã hơn hơn %{days} ngày. Trả lời của bạn sẽ đẩy chủ đề đó lên đầu danh sách và thông báo cho bất cứ ai liên quan đến cuộc thảo luận.\n\nBạn có chắc chắn bạn muốn tiếp tục cuộc trò chuyện cũ này? \n" + activerecord: + attributes: + category: + name: "Tên chuyên mục" + post: + raw: "Thân" + user_profile: + bio_raw: "GIới thiệu bản thân" + errors: + models: + topic: + attributes: + base: + warning_requires_pm: "Bạn chỉ có thể đính kèm cảnh báo qua tin nhắn cá nhân" + too_many_users: "Bạn chỉ có thể gửi một cảnh báo tới một người dùng mỗi lần." + cant_send_pm: "Xin lỗi, bạn không thể gửi tin nhắn tới thành viên này" + no_user_selected: "Bạn phải chọn một thành viên phù hợp." + user: + attributes: + password: + common: "là một trong 10000 mật khẩu được sử dụng nhiều nhất. Vui lòng sử dụng một mật khẩu an toàn hơn." + same_as_username: "giống với tên đăng nhập của bạn. Vui lòng sử dụng mật khẩu bảo mật hơn." + same_as_email: "giống với email của bạn. Vui lòng sử dụng mật khẩu bảo mật hơn" + ip_address: + signup_not_allowed: "Đăng ký không cho phép tài khoản này" + color_scheme_color: + attributes: + hex: + invalid: "không phải là một màu không hợp lệ" + user_profile: + no_info_me: "
Mục nói về bản thân bạn trong hồ sơ của bạn hiện đang trống, bạn muốn điền vào nó? " + no_info_other: "
%{name} đã không nhập bất cứ điều gì nói về bản thân của họ " + vip_category_name: "Phòng khách" + vip_category_description: "Một chuyên mục chỉ dành cho thành viên có mức tin tưởng 3 hoặc cao hơn" + meta_category_name: "Phản hồi" + meta_category_description: "Thảo luận về site này, tổ chức của nó, làm sao nó hoạt động, và làm sao chúng tôi có thể cải tiến nó tốt hơn." + staff_category_name: "Nhân viên" + staff_category_description: "Chuyên mục riêng dành cho nhân viên. Các chủ đề chỉ hiển thị với quản trị viên và điều hành viên." + assets_topic_body: "Chủ đề này tồn tại vĩnh viễn, chỉ xem được bởi nhân viên, dùng để chứa ảnh và file dành cho việc thiết kế. Vui lòng đừng xóa.\n\n\nHướng dẫn:\n\n\n1. Trả lời chủ đề này.\n2. Tải lên tất cả ảnh bạn cần cho logo, favicon, và các thứ khác. (Dùng nút tải lên trong công cụ viết bài, hoặc kéo-và-thả hoặc dán ảnh vào) \n3. Gửi trả lời của bạn.\n4. Bấm chuột phải lên ảnh trong bài đăng mới để chép đường dẫn của các ảnh đã được tải lên, hoặc sửa bài viết của bạn để lấy đường dẫn của ảnh. Sao chép các đường dẫn này.\n5. Dán các đường dẫn này vào [thiết lập chung](/admin/site_settings/category/required).\n\n\nNếu bạn cần tải lên các loại file khác, sửa `authorized_extensions` trong [thiết lập file](/admin/site_settings/category/files)." + lounge_welcome: + title: "Chào mừng bạn đến với Phòng khách" + body: |2 + + Chúc mừng! :confetti_ball: + + Nếu bạn có thể xem chủ đề này, bạn đã được thăng lên bậc **thường xuyên** (bậc tin tưởng 3). + + Bạn có thể … + + * Sửa tiêu đề của bất kì chủ đề nào + * Sửa chuyên mục của bất kì chủ đề nào + * Tất cả liên kết ở trạng thái follow ([những liên kết nofollow](http://en.wikipedia.org/wiki/Nofollow) sẽ được loại bỏ) + * Truy cập vào phòng khách dành riêng cho thành viên với bậc tin tưởng 3 hoặc cao hơn + * Ẩn bài viết spam với 1 lần đánh dấu. + + Đây là danh sách [của các thành viên thường xuyên](/badges/3/regular). Hãy chào họ đi nào. + + Cảm ơn vì đã trở thành một phần không thể thiếu đối với cộng đồng. + + (Để biết thêm chi tiết về bậc tin tưởng, [xem chủ đề này][trust]. Hãy nhớ rằng bạn phải tiếp tục đạt được các yêu cầu để duy trì bậc tin tưởng của mình.) + + [trust]: https://meta.discourse.org/t/what-do-user-trust-levels-do/4924 + category: + topic_prefix: "Giới thiệu chuyên mục %{category}" + errors: + uncategorized_parent: "Mục \"Chưa được phân loại\" không thể có một chuyên mục chính" + self_parent: "Cha của chủ đề phụ không thể nào là chính nó" + depth: "Bạn không thể để một chuyên mục con trong một chuyên mục con khác." + email_in_already_exist: "Địa chỉ thư đến '%{email_in}' đã được sử dụng cho danh mục '%{category_name}'" + cannot_delete: + uncategorized: "Không thể xoá mục Chưa phân loại" + has_subcategories: "Không thể xoá chuyên mục này được vì nó có chuyên mục con." + topic_exists: + other: "Không thể xoá phân loại này được bởi vì nó có %{count} chủ đề. Các chủ đề cũ là %{topic_link}." + topic_exists_no_oldest: "Không thể xoá chuyên mục này vì nó có %{count} chủ để." + trust_levels: + newuser: + title: "thành viên mới" + basic: + title: "thành viên cơ bản" + change_failed_explanation: "Bạn đã cố gắng để giảm hạng %{user_name} xuống '%{new_trust_level}'. Tuy nhiên cấp độ tin cậy hiện tại của họ đã là '%{current_trust_level}'. %{user_name} sẽ được giữ lại ở cấp độ '%{current_trust_level}' - nếu bạn muốn giảm hạng thành viên, trước tiên hãy khóa cấp độ tin cậy" + rate_limiter: + too_many_requests: "Hành động bạn vừa thực hiện bị giới hạn theo ngày. Hãy chờ %{time_left} và thử lại." + hours: + other: "%{count} giờ" + minutes: + other: "%{count} phút" + seconds: + other: "%{count} giây" + datetime: + distance_in_words: + half_a_minute: "< 1 phút" + less_than_x_seconds: + other: "< %{count} giây" + x_seconds: + other: "%{count} giây" + less_than_x_minutes: + other: "< %{count} phút" + x_minutes: + other: "%{count} phút" + about_x_hours: + other: "%{count} giờ" + x_days: + other: "%{count} ngày" + about_x_months: + other: "%{count} tháng" + x_months: + other: "%{count} tháng" + about_x_years: + other: "%{count} năm" + over_x_years: + other: "> %{count} năm" + almost_x_years: + other: "%{count} năm" + distance_in_words_verbose: + half_a_minute: "ngay bây giờ" + less_than_x_seconds: + other: "ngay bây giờ" + x_seconds: + other: "%{count} giây trước" + less_than_x_minutes: + other: "ít hơn %{count} phút trước" + x_minutes: + other: "%{count} phút trước" + about_x_hours: + other: "%{count} giờ trước" + x_days: + other: "%{count} ngày trước" + about_x_months: + other: "khoảng %{count} tháng trước" + x_months: + other: " %{count} tháng trước" + about_x_years: + other: "khoảng %{count} năm trước" + over_x_years: + other: "hơn %{count} năm trước" + almost_x_years: + other: "gần %{count} năm trước" + password_reset: + no_token: "Xin lỗi, liên kết đổi mật khẩu đã cũ. Chọn \"Đăng nhập\" và sử dụng chức năng \"Quên mật khẩu\" để lấy liên kết mới." + choose_new: "Vui lòng chọn mật khẩu mới" + choose: "Bạn phải nhập mật khẩu" + update: 'Cập nhật mật khẩu' + save: 'Nhập mật khẩu' + title: 'Thiết lập lại mật khẩu' + success: "Bạn đã thay đổi mật khẩu thành công và đã được đăng nhập." + success_unapproved: "Bạn đã thay đổi mật khẩu thành công." + continue: "Tiếp tục đến %{site_name}" + change_email: + confirmed: "Email của bạn đã được cập nhật." + please_continue: "Tiếp tục đến %{site_name}" + error: "Có một lỗi khi thay đổi địa chỉ email của bạn. Có lẽ email này đã được sử dụng rồi?" + activation: + action: "Nhấn vào đây để kích hoạt tài khoản của bạn" + already_done: "Xin lỗi, liên kết để xác nhận tài khoản này không còn hợp lệ. Có thể tài khoản của bạn được kích hoạt?" + please_continue: "Tài khoản của bạn đã được xác nhận; bạn sẽ được chuyển đến trang chủ." + continue_button: "Tiếp tục tới %{site_name}" + welcome_to: "Chào mừng bạn đến với %{site_name}!" + approval_required: "Một điều hành viên phải duyệt tài khoản của bạn trước khi bạn có thể đăng nhập diễn đàn này. Bạn sẽ nhận được email khi tài khoản của bạn được duyệt!" + missing_session: "Chúng tôi không thể xác" + post_action_types: + off_topic: + title: 'Không-đúng-chủ-đề' + description: 'Bài này không liên quan đến các cuộc thảo luận hiện nay theo quy định của các tiêu đề và bài đầu tiên, và có lẽ nó nên được di chuyển đến những nơi khác.' + long_form: 'đánh dấu không-đúng-chủ-đề' + spam: + title: 'Spam' + description: 'Bài đăng này là một bài quảng cáo. Không bổ ích hoặc liên quan tới chủ đề hiện tại, chỉ nhằm mục đích quảng cáo.' + long_form: 'đánh dấu là spam' + email_title: '"%{title}" đã bị gắn cờ spam' + email_body: "%{link}\n\n%{message}" + inappropriate: + title: 'Không thích hợp' + description: 'Chủ để này chứa nội dung mà bình thường được xem là xúc phạm, lạm dụng, hoặc vi phạm nguyên tắc cộng đồng.' + long_form: 'đánh dấu cái này không thích hợp' + notify_user: + long_form: 'đã nhắn tin cho thành viên' + email_title: 'Bài đăng của bạn trong "%{title}"' + email_body: "%{link}\n\n%{message}" + notify_moderators: + title: "Một thứ khác" + email_body: "%{link}\n\n %{message}" + bookmark: + title: "Đánh dấu chỉ mục \x1C" + description: 'Đánh dấu chỉ mục bài viết này' + long_form: 'đã đánh dấu chỉ mục bài viết này' + like: + title: 'Thích' + description: 'Thích bài viết này' + long_form: 'đã thích cái này' + vote: + title: 'Bầu chọn' + description: 'Bầu cho bài viết này' + long_form: 'bầu cho bài viết này' + topic_flag_types: + spam: + title: 'Rác' + description: 'Chủ đề này mang bản chất quảng cáo, không có ích và không thích hợp với nơi này.' + long_form: 'đã đánh dấu bài này dạng bài viết rác' + inappropriate: + title: 'Không phù hợp' + description: 'Chủ để này chứa nội dung mà với lý lẽ thường nhật được xem là xúc phạm, lạm dụng, hoặc vi phạm chỉ dẫn chung của cộng đồng.' + long_form: 'đã đánh dấu bài này không phù hợp' + notify_moderators: + title: "Một cái khác" + long_form: 'đã đánh dấu cho điều hành viên xem xét' + email_title: 'Chủ đề "%{title}" cần được ban điều hành quan tâm' + email_body: "%{link}\n\n%{message}" + flagging: + you_must_edit: '

Bài viết của bạn đã được gắn cờ bở cộng đồng. Vui lòngxem tin nhắn của bạn.

' + user_must_edit: '

Bài viết này đã bị đánh dấu bởi cộng đồng và đang được ẩn tạm thời.

' + archetypes: + regular: + title: "Chủ đề thường" + banner: + title: "Banner chủ đề" + message: + make: "Chủ đề này trở thành một banner. Nó sẽ hiện ở đầu mọi trang tới khi nó được tắt bởi thành viên." + remove: "Chủ đề này không còn là một banner. Nó sẽ không hiện ở đầu mọi trang nữa." + unsubscribed: + title: 'Hủy bỏ đăng ký' + description: "Bạn đã ngừng đăng. Chúng tôi sẽ không liên lạc bạn nữa!" + oops: "Trong trường hợp bạn không có ý thực hiện thao tác này, bấm vào bên dưới." + error: "Lỗi hủy đăng kí" + preferences_link: "Bạn có thể hủy theo dõi bản tin tóm tắt tại trang thiết lập" + different_user_description: "Bạn đang đăng nhập như một người dùng khác, không phải là người dùng đã được gửi đến qua mail. Hãy thoát ra và thử lại." + not_found_description: "Xin lỗi, chúng tôi không thể ngừng đăng ký bạn. Có thể là do link trong email của bạn đã hết hạn." + resubscribe: + action: "Đăng ký lại" + title: "Đã đăng ký lại!" + description: "Bạn đã được đăng ký lại." + reports: + visits: + title: "Các thành viên truy cập" + xaxis: "Ngày" + yaxis: "Số lần truy cập" + signups: + title: "Thành viên mới" + xaxis: "Ngày" + yaxis: "Số lượng thành viên mới" + profile_views: + title: "Xem hồ sơ người dùng" + xaxis: "Ngày" + yaxis: "Số người đã xem hồ sơ người dùng" + topics: + title: "Các chủ đề" + xaxis: "Ngày" + yaxis: "Số lượng chủ đề mới" + posts: + title: "Bài viết" + xaxis: "Ngày" + yaxis: "Số lượng bài viết mới" + likes: + title: "Lượt thích" + xaxis: "Ngày" + yaxis: "Số lượt thích mới" + flags: + title: "Dấu cờ - Flags" + xaxis: "Ngày" + yaxis: "Số dấu cờ - flag" + bookmarks: + title: "Các đánh dấu" + xaxis: "Ngày" + yaxis: "Số đánh dấu mới" + starred: + title: "Bắt đầu" + xaxis: "Ngày" + yaxis: "Số chủ đề được tạo." + users_by_trust_level: + title: "Thành viên ở mõi bậc tin tưởng" + xaxis: "Bậc tin tưởng" + yaxis: "Số thành viên" + emails: + title: "Email đã gửi" + xaxis: "Ngày" + yaxis: "Số lượng emails" + user_to_user_private_messages: + title: "Người dùng tới người dùng" + xaxis: "Ngày" + yaxis: "Số lượng tin nhắn" + system_private_messages: + title: "Hệ thống" + xaxis: "Ngày" + yaxis: "Số lượng tin nhắn" + moderator_warning_private_messages: + title: "Cảnh báo của điều hành viên" + xaxis: "Ngày" + yaxis: "Số lượng tin nhắn" + notify_moderators_private_messages: + title: "Thông báo ban quản trị" + xaxis: "Ngày" + yaxis: "Số lượng tin nhắn" + notify_user_private_messages: + title: "Thông báo người dùng" + xaxis: "Ngày" + yaxis: "Số lượng tin nhắn" + top_referrers: + title: "Giới thiệu hàng đầu" + xaxis: "Người dùng" + num_clicks: "Clicks" + num_topics: "Chủ đề" + top_traffic_sources: + title: "Nguồn truy cập" + xaxis: "Tên miền" + num_clicks: "Clicks" + num_topics: "Chủ đề" + num_users: "Người dùng" + top_referred_topics: + title: "Top chủ đề giới thiệu" + xaxis: "Chủ đề" + num_clicks: "Clicks" + page_view_anon_reqs: + title: "Ẩn danh" + xaxis: "Ngày" + yaxis: "Truy cập API ẩn danh" + page_view_logged_in_reqs: + title: "Đã đăng nhập" + xaxis: "Ngày" + yaxis: "Đã đăng nhập truy cập API" + page_view_crawler_reqs: + title: "Thu thập thông tin web" + xaxis: "Ngày" + yaxis: "Truy cập API thu thập thông tin web" + page_view_total_reqs: + title: "Tổng số" + xaxis: "Ngày" + yaxis: "Tổng số truy cập API" + page_view_logged_in_mobile_reqs: + title: "Trong yêu cầu đăng nhập API" + xaxis: "Ngày" + yaxis: "Mobile yêu cầu Đăng nhập API" + page_view_anon_mobile_reqs: + title: "Anon API Requests" + xaxis: "Ngày" + yaxis: "Mobile Anon API Requests" + http_background_reqs: + title: "Hình nền" + xaxis: "Ngày" + yaxis: "Yêu cầu đã sử dụng cho cập nhật thời gian thực và thống kê" + http_2xx_reqs: + title: "Trạng thái 2xx (OK)" + xaxis: "Ngày" + yaxis: "Yêu cầu thành công (Trạng thái 2xx)" + http_3xx_reqs: + title: "HTTP 3xx (Chuyển hướng)" + xaxis: "Ngày" + yaxis: "Chuyển hướng yêu cầu (Trạng thái 3xx)" + http_4xx_reqs: + title: "HTTP 4xx (Trình khách lỗi)" + xaxis: "Ngày" + yaxis: "Trình khách lỗi (Trạng thái 4xx)" + http_5xx_reqs: + title: "HTTP 5xx (Máy chủ lỗi)" + xaxis: "Ngày" + yaxis: "Máy chủ lỗi (Trạng thái 5xx)" + http_total_reqs: + title: "Tổng số" + xaxis: "Ngày" + yaxis: "Tổng số yêu cầu" + time_to_first_response: + title: "Thời gian để phản hồi lần đầu" + xaxis: "Ngày" + yaxis: "Thời gian trung bình (giờ)" + topics_with_no_response: + title: "Chủ đề không có phản hồi" + xaxis: "Ngày" + yaxis: "Tổng số" + mobile_visits: + title: "Các thành viên truy cập" + xaxis: "Ngày" + yaxis: "Số lần truy cập" + dashboard: + rails_env_warning: "Máy chủ của bạn đang chạy trong chế độ %{env}." + ruby_version_warning: "Bạn đang dùng một phiên bản Ruby 2.0.0 được biết là có nhiều vấn đề. Hãy nâng cấp bản vá 247 hoặc mới hơn." + host_names_warning: "Cài đặt của bạn config/database.yml đang sử dụng hostname mặc định. Cập nhật lại để sử dụng hostname của bạn" + gc_warning: 'Máy chủ của bạn hiện tại sử dụng cơ chế dọn rác mặc định của ruby, điều này khiến cho hiệu năng của máy chủ không tốt lắm. Đọc chủ đề sau cho việc tối ưu hiệu năng Tối ưu Ruby and Rails cho Discourse.' + sidekiq_warning: ' Sidekiq đang không hoạt động. Rất nhiều tác vụ, như gửi email, là được thực thi không đồng bộ bởi sidekiq. Hãy chắc chắn rằng ít nhất một tiến trình sidekiq phải đang hoạt động. Đọc thêm về Sidekiq tại đây.' + memory_warning: 'Máy chủ của bạn có bộ nhớ ít hơn 1 GB. Khuyến cáo sử dụng bộ nhớ tối thiểu 1 GB .' + google_oauth2_config_warning: 'Máy chủ được cấu hình cho phép đăng ký và đăng nhập với Google OAuth2 (enable_google_oauth2_logins), tuy nhiên giá trị của client id và client secret thì không được thiết lập. Truy cập Cấu hình Site và bổ sung các thiết lập đó. Xem hướng dẫn này để biết thêm chi tiết.' + facebook_config_warning: 'Máy chủ được cấu hình cho phép đăng ký và đăng nhập với Facebook (enable_facebook_logins), tuy nhiên giá trị của client id và client secret thì không được thiết lập. Truy cập Cấu hình Site và bổ sung các thiết lập đó. Xem hướng dẫn này để biết thêm chi tiết.' + twitter_config_warning: 'Máy chủ được cấu hình cho phép đăng ký và đăng nhập với Twitter (enable_twitter_logins), tuy nhiên giá trị của client id và client secret thì không được thiết lập. Truy cập Cấu hình Site và bổ sung các thiết lập đó. Xem hướng dẫn này để biết thêm chi tiết.' + github_config_warning: 'Máy chủ được cấu hình cho phép đăng ký và đăng nhập với GitHub (enable_github_logins), tuy nhiên giá trị của client id và client secret thì không được thiết lập. Truy cập Cấu hình Site và bổ sung các thiết lập đó. Xem hướng dẫn này để biết thêm chi tiết.' + s3_config_warning: 'Máy chủ được cấu hình để upload file lên s3, tuy nhiên ít nhất một trong các tùy chỉnh sau đây không được thiết lập: s3_access_key_id, s3_secret_access_key hoặc s3_upload_bucket. Truy cập Thiết lập Site và bổ sung các thiết lập đó. Xem bài viết "How to set up image uploads to S3?" để biết thêm chi tiết.' + s3_backup_config_warning: 'Máy chủ được cấu hình để upload các bản sao lưu dữ liệu lên s3, tuy nhiên ít nhất một trong các tùy chỉnh sau đây không được thiết lập: s3_access_key_id, s3_secret_access_key hoặc s3_backup_bucket. Truy cập Thiết lập Site và bổ sung các thiết lập đó. Xem bài viết "How to set up image uploads to S3?" để biết thêm chi tiết.' + image_magick_warning: 'Máy chủ đã cấu hình để tạo hình đại diện nhỏ từ những hình lới, nhưng ImageMagick chưa được cài đặt. Cài ImageMagick sử dụng trình quản lý package yêu thích của bạn hoặc tải về phiên bản mới nhất.' + failing_emails_warning: 'Có %{num_failed_jobs} email jobs thấ bại. Kiểm tra app.yml và chắc chắn rằng cấu hình máy chủ email đúng. Xem jobs thất bại ở Sidekiq.' + default_logo_warning: "Cập nhập logo của trang. Cập nhập logo_url, logo_small_url, và favicon_url trong Thiết lập trang." + contact_email_invalid: "Email liên lạc của trang không hợp lệ. Cập nhật trong Thiết lập trang/a>." + title_nag: "Nhập tên trang của bạn. Cập nhập tiêu đề trong Thiết lập trang." + consumer_email_warning: "Trang web của bạn được cài đặt sử dụng Gmail (hoặc một dịch vụ email khác) để gửi email. Gmail có giới hạn số lượng email bạn có thể gửi. Hãy xem xét sử dụng một dịch vụ email khác như mandrill.com để đảm bảo khả năng vận chuyển tất cả các email." + site_settings: + censored_words: "Từ sẽ tự động thay thế bằng ■■■■" + delete_old_hidden_posts: "Tự động ẩn bất kỳ bài viết ở ẩn hơn 30 ngày." + default_locale: "Ngôn ngữ mặc định của Discourse (Mã ISO 639-1)" + allow_user_locale: "Cho phép thành viên chọn ngôn ngữ của riêng trong thiết lập giao diện." + min_post_length: "Số kí tự tối thiểu trong bài đăng." + min_first_post_length: "Chiều dài tối thiểu cho bài viết đầu tiên (nội dung chủ đề) tính theo ký tự." + min_private_message_post_length: "Số kí tự tối thiểu trong tin nhắn." + max_post_length: "Số kí tự tối đa trong bài đăng." + min_topic_title_length: "Số kí tự tối thiểu trong tiêu đề chủ đề." + max_topic_title_length: "Số kí tự tối đa trong tiêu đề chủ đề." + min_private_message_title_length: "Chiều dài tối thiểu cho phép theo số kí tự của một thông điệp" + min_search_term_length: "Số kí tự tối thiểu trong từ khóa tìm kiếm." + uncategorized_description: "Mô tả của chuyên mục \"Không phân loại\". Để trống khi không muốn mô tả." + allow_duplicate_topic_titles: "Cho phép các chủ đề trùng tiêu đề." + unique_posts_mins: "Trong bao nhiêu phút người sử dụng có thể viết bài khác với nội dung giống nhau" + title: "Tên của trang này, sử dụng trong thẻ tiêu đề" + site_description: "Mô tả trang này trong một câu, nó sẽ được sử dụng trong thẻ meta description" + contact_email: "Địa chỉ email liên hệ của người chịu trách nhiệm trang này. Sử dụng cho những thông báo quan trọng giống như cờ không được quản lý, cũng giống form liện hệ /about cho những vấn đề cấp bách." + contact_url: "URL liên hệ trong trang này. Sử dụng trong form liên hệ /about cho những vấn đề cấp bách." + queue_jobs: "DEVELOPER ONLY! WARNING! By default, queue jobs in sidekiq. If disabled, your site will be broken." + crawl_images: "Lấy hình ảnh tử URL bên ngoài để thêm vào đúng chiều dài và chiều cao." + download_remote_images_to_local: "Tải ảnh về lưu trữ để tránh ảnh bị hư." + download_remote_images_threshold: "Dung lượng tối thiểu cần để tải ảnh từ xa về lưu trữ (tính bằng phần trăm)" + disabled_image_download_domains: "Tải ảnh từ xa sẽ không áp dụng với các tên miền sau. Phân cách bằng dấu |" + post_edit_time_limit: "Tác giả có thể sửa hoặc xóa bài viết của họ trong (n) phút sau khi đăng. 0 là mãi mãi." + edit_history_visible_to_public: "Cho phép mọi người nhìn thấy phiên bản trước khi chỉnh sửa bài viết. Khi không cho phép, chỉ nhân viên có thể xem." + delete_removed_posts_after: "Bài viết đã được xóa bởi tác giả sẽ được tự động xóa sau (n) giờ. Nếu cài là 0, bài viết sẽ được xóa ngay lập tức." + max_image_width: "Chiều rộng tối đa của ảnh thu nhỏ trong bài viết." + max_image_height: "Chiều cao tối đa của ảnh thu nhỏ trong bài viết." + category_featured_topics: "Số chủ đề hiện thị mỗi danh mục trong trang /categories. Sau khi thay đổi giá trị này, nó sẽ mất khoảng 15 phút để trang danh mục cập nhật." + show_subcategory_list: "Hiện danh sách chuyên mục con thay vì danh sách chủ đề khi truy cập vào chuyên mục." + fixed_category_positions: "Nếu được bật, bạn sẽ có thể sắp xếp chuyên mục theo một thứ tự cố định. Nếu không bật, chuyên mục sẽ được sắp xếp theo thứ tử hoạt động." + fixed_category_positions_on_create: "Nếu chọn, sắp xếp danh mục sẽ được thực hiện trong cửa sổ tạo chủ đề (yêu cầu fixed_category_positions)." + post_excerpt_maxlength: "Chiều dài tối đa của đoạn trích / tóm tắt chủ đề." + favicon_url: "Favicon cho trang của bạn, xem tại http://en.wikipedia.org/wiki/Favicon, để chạy được với CDN ảnh phải là png" + mobile_logo_url: "Cố định vị trí hình logo sử dụng tại phía trên bên trái trang mobile của bạn. Nên là hình vuông. Nếu để trống, sẽ sử dụng `logo_url`. Ví dụ: http://example.com/uploads/default/logo.png" + apple_touch_icon_url: "Biểu tượng sử dụng trong các thiết bị cảm ứng của Apple. Kích thước gợi ý 144px x 144px" + email_custom_headers: "Danh sách xác định email header tùy chỉnh" + email_subject: "Tùy biến định dạng chủ đề cho chuẩn email. Xem tại https://meta.discourse.org/t/customize-subject-format-for-standard-emails/20801" + use_https: "URL đầy đủ đến trang (Discourse.base_url) là http hoặc https? KHÔNG BẬT NÓ CHO TỚI KHI HTTPS ĐÃ CÀI ĐẶT SẴN SẰNG VÀ ĐÃ CHẠY!" + summary_score_threshold: "Số điểm tối thiểu yêu cầu cho một bài viết bao gồm 'Tóm tắt chủ đề này'" + summary_posts_required: "Số bài viết tối thiểu trong một chủ đề trước khi 'Tóm tắt chủ đề này' được kích hoạt" + summary_likes_required: "Số lượt thích trong một chủ đề trước khi 'Tóm tắt chủ đề này' được kích hoạt" + summary_percent_filter: "Khi người dùng nhấn 'Tóm tắt chủ đề này', hiển thị phí trên % của bài viết" + summary_max_results: "Số bài viết tối đa trả ra bởi 'Tóm tắt chủ đề này'" + cooldown_minutes_after_hiding_posts: "Số phút một người dùng phải chờ trước khi họ có thể sửa một bài viết ẩn bởi gắn cờ cộng đồng" + max_topics_in_first_day: "Số chủ đề tối đa một thành viên được tạo trong ngày đầu tiên." + max_replies_in_first_day: "Số trả lời tối đa một thành viên được tạo trong ngày đầu tiên" + tl2_additional_likes_per_day_multiplier: "Tăng giới hạn thích mỗi ngày cho mức độ tin tưởng 2 (thành viên) bằng cách nhân với số này" + tl3_additional_likes_per_day_multiplier: "Tăng giới hạn thích mỗi ngày cho mức độ tin tưởng 3 (bình thường) bằng cách nhân với số này" + tl4_additional_likes_per_day_multiplier: "Tăng giới hạn thích mỗi ngày cho mức độ tin tưởng 4 (dẫn đầu) bằng cách nhân với số này" + ga_tracking_code: "Mã theo dõi Google analytics (ga.js), ví dụu: UA-12345678-9; chi tiết http://google.com/analytics" + ga_domain_name: "Tên miền Google analytics (ga.js), ví dụ: mysite.com; chi tiết http://google.com/analytics" + ga_universal_tracking_code: "Mã theo dõi Google Universal Analytics (analytics.js) , Ví dụ: UA-12345678-9; chi tiết http://google.com/analytics" + ga_universal_domain_name: "Tên miền Google Universal Analytics (analytics.js), ví dụ: mysite.com; chi tiết http://google.com/analytics" + enable_escaped_fragments: "Trả lại tới Google's Ajax-Crawling API nếu không xác định được webcrawler. Xem chi tiết https://support.google.com/webmasters/answer/174992?hl=en" + enable_noscript_support: "Cho phép webcrawler search engine chuẩn hỗ trợ bằng thẻ noscript" + allow_moderators_to_create_categories: "Cho phép điều hành viên tạo danh mục mới" + email_token_valid_hours: "Token quyên mật khẩu / kích hoạt tài khoản có giá trị trong (n) giờ." + email_token_grace_period_hours: "Token quyên mật khẩu / kích hoạt tài khoản vẫn còn giá trị (n) giờ sau khi được gia hạn" + enable_badges: "Kích hoạt hệ thống huy hiệu" + allow_index_in_robots_txt: "Chỉ rõ trong robots.txt trang web này cho phép tạo chỉ mục bởi web search engines." + email_domains_blacklist: "Một danh sách đuôi email mà người dùng không được phép dùng để đăng ký tài khoản. Ví dụ: maillinator.com|trashmail.net. Lưu ý mỗi tên miền cách nhau bởi dấu \"|\"." + email_domains_whitelist: "Danh sách tên miền người dùng ĐƯỢC PHÉP đăng ký tài khoản. CẢNH BÁO: người dùng với tên miền email khác trong danh sách sẽ không được phép đăng ký!" + forgot_password_strict: "Không thông báo cho người dùng tài không tồn tại khi họ dùng chức năng quyên mật khẩu." + log_out_strict: "Khi đăng xuất, đăng xuất TẤT CẢ session cho tất cả thiế bị" + version_checks: "Ping Discourse Hub để cập nhật phiên bản và hiện thông báo phiên bản mới trong bảng điều khiển quản trị" + new_version_emails: "Gửi email đến địa chỉ contact_email khi có phiên bản Discourse mới." + port: "DEVELOPER ONLY! WARNING! Sử dụng HTTP port thay vì mặc định port 80. Để trống mặc định port 80." + force_hostname: "DEVELOPER ONLY! LƯU Ý! Chỉ rõ hostname trong URL. Để trống là mặc định." + invite_expiry_days: "Key mời người dùng có giới hạn bao lâu? tính theo ngày" + invite_only: "Đăng ký tự do đã khóa, tất cả người dùng phải được mời bởi những thành viên khác hoặc nhân viên." + login_required: "Yêu cầu chứng thực để đọc nội dung trên trang web, không cho phép người dùng nặc danh truy cập." + min_username_length: "Chiều dài username tối thiểu." + max_username_length: "Chiều dài username tối đa." + reserved_usernames: "Những username không được phép đăng ký." + min_password_length: "Chiều dài mật khẩu tối thiểu." + block_common_passwords: "Không cho phép mật khẩu trong danh sách 10.000 mật khẩu phổ biến." + enable_sso: "Cho phép dùng single sign on bằng trang ngoài (CẢNH BÁO: ĐỊA CHỈ EMAIL CỦA NGƯỜI DÙNG PHẢI ĐƯỢC CHỨNG THỰC BỞI TRANG NGOÀI!)" + sso_url: "URL của single sign on enpoint" + sso_secret: "Chuỗi bảo mật đã được sử dụng để chứng thực thông tin SSO, chắc chắn nó có ít nhất 10 ký tự." + sso_not_approved_url: "Chuyển những tài khoản SSO chưa duyệt tới URL này" + allow_new_registrations: "Cho phép đăng ký người dùng mới. Bỏ chọn để bất cứ ai cũng có thể tạo tài khoản mới." + enable_yahoo_logins: "Cho phé chứng thực qua Yahoo" + enable_google_oauth2_logins: "Cho phép chứng thực qua Google Oauth2. Nó là cách chứng thực mà Google hỗ trợ. Yêu cầu key và secret." + google_oauth2_client_id: "Client ID ứng dụng Google của bạn." + google_oauth2_client_secret: "Client secret ứng dụng Google của bạn." + enable_twitter_logins: "Cho phép chứng thực qua Twitter, yêu cầu twitter_consumer_key và twitter_consumser_secret" + twitter_consumer_key: "Consumer key cho chứng thực Twitter, đăng ký tại http://dev.twitter.com" + twitter_consumer_secret: "Consumer secret cho chứng thực Twitter, đăng ký tại http://dev.twitter.com" + enable_facebook_logins: "Cho phép chứng thực Facebook, yêu cầu facebook_app_id và facebook_app_secret" + facebook_app_id: "App id cho chứng thực Facebook, đăng ký tại https://developers.facebook.com/apps" + facebook_app_secret: "App secret cho chứng thực Facebook, đăng ký tại https://developers.facebook.com/apps" + enable_github_logins: "Cho phép chứng thực Github, yêu cầu gitbug_client_id và githup_client_secret" + github_client_id: "Client id cho chứng thực Github, đăng ký tại https://github.com/settings/applications" + github_client_secret: "Client secret cho chứng thực Github, đăng ký tại https://github.com/settings/applications" + allow_restore: "Cho phép phục hồi, nó có thể thay thế TẤT CẢ dữ liệu trang web! Bỏ chọn, trừ khi bạn có kế hoạch phục hồi một bản sao lưu" + maximum_backups: "Số bản sao lưu tối đa lưu trong đĩa cứng. Những bản sao lưu cũ sẽ được xóa tự động" + automatic_backups_enabled: "Chạy sao lưu tự động như cấu hình trong tần số sao lưu" + backup_frequency: "Tần số sao lưu trang web, trong ngày." + enable_s3_backups: "Tải bản sao lưu lên S3 khi hoàn tất. QUAN TRỌNG: yêu cầu chứng thực S3 đã được nhập trong cấu hình File." + active_user_rate_limit_secs: "Tần số cập nhật trường 'last_seen_at, tính theo giây" + rate_limit_create_topic: "Sau khi tạo một chủ đề, người dùng phải chờ (n) giây trước khi tạo một chủ đề khác." + rate_limit_create_post: "Sau khi đăn bài, người dùng phải chờ (n) giây trước khi đăng bài khác." + rate_limit_new_user_create_topic: "Sau khi tạo một chủ đề, người dùng mới phải chờ (n) giây trước khi tạo chủ đề khác." + rate_limit_new_user_create_post: "Sau khi đăng bài, người dùng mới phải chờ (n) giây trước khi đăng bài khác." + max_likes_per_day: "Số tối đa người dùng có thể like mỗi ngày." + max_flags_per_day: "Số tối đa mà người dùng có thể gắn cờ mỗi ngày." + max_bookmarks_per_day: "Số tối đa người dùng có thể đánh dấu mỗi ngày." + max_edits_per_day: "Số tối đa người dùng có thể chỉnh sửa mỗi ngày." + max_topics_per_day: "Số chủ đề tối đa người dùng có thể tạo mỗi ngày." + max_private_messages_per_day: "Số tin nhắn tối đa người dùng có thể tạo mỗi ngày." + max_invites_per_day: "Số tối đa người dùng có thể gửi lời mời mỗi ngày." + suggested_topics: "Số chủ đề gợi ý hiện ở cuối một chủ đề" + limit_suggested_to_category: "Chỉ hiện thị những chủ đề từ danh mục hiện tại trong chủ đề gợi ý." + s3_access_key_id: "Amazon S3 access key id này sẽ được sử dụng để tải lên ảnh." + s3_secret_access_key: "Amazon S3 secret access key này sẽ được sử dụng để tải lên ảnh." + s3_region: "Amazon S3 region name sẽ được sử dụng để tải lên ảnh." + avatar_sizes: "Danh sách những kích thước hình đại diện tự động khởi tạo." + external_system_avatars_enabled: "Sử dụng dịch vụ ảnh đại diện bên ngoài." + default_invitee_trust_level: "Bậc tin tưởng mặc định (0-4) cho thành viên được mời." + tl1_requires_topics_entered: "Số chủ đề một thành viên mới phải truy cập trước khi được lên bậc tin tưởng 1" + tl1_requires_read_posts: "Số chủ đề một thành viên mới phải đọc trước khi được lên bậc tin tưởng 1" + tl1_requires_time_spent_mins: "Số phút một thành viên mới phải đọc trước khi được lên bậc tin tưởng 1" + tl2_requires_topics_entered: "Số chủ đề một thành viên mới phải truy cập trước khi được lên bậc tin tưởng 2" + tl2_requires_read_posts: "Số chủ đề một thành viên mới phải đọc trước khi được lên bậc tin tưởng 2" + tl2_requires_time_spent_mins: "Số phút một thành viên mới phải đọc trước khi được lên bậc tin tưởng 2" + min_trust_to_create_topic: "Bậc tin tưởng tối thiểu để tạo một chủ đề mới." + newuser_max_links: "Bao nhiêu liên kết tài khoản mới có thể thêm vào bài viết." + newuser_max_images: "Bao nhiêu hình tài khoản mới có thể thêm vào bài viết." + newuser_max_attachments: "Bao nhiêu đính kèm tài khoản mới có thể thêm vào bài viết" + email_time_window_mins: "Chờ (n) phút trước khi gửi bất kỳ một email thông báo nào, để cung cấp cho người dùng cơ hội để chỉnh sửa và hoàn tất bài viết của họ." + title_max_word_length: "Chiều dài tối đa chữ cho phép, tính theo ký tự, trong một tiêu đề chủ đề." + min_title_similar_length: "Chiều dài tối thiểu của tiêu đề trước khi kiểm tra trùng chủ đề." + min_body_similar_length: "Chiều dài tối thiểu của nội dung bài viết trước khi kiểm trang chủ đề tương tự." + category_colors: "Danh sách mã màu hexa cho phép cho danh mục." + max_attachment_size_kb: "Kích thước file tải lên tối đa tính theo kB. đã cấu hình trong nginx (client_max_body_size) / apache hoặc proxy." + authorized_extensions: "Danh sách định dạng file cho phép tải lên (sử dụng '*' để cho phép tất cả loại tập tin)" + reply_by_email_enabled: "Cho phép trả lời chủ đề qua email." + pop3_polling_ssl: "Sử dụng SSL khi kết nối tới POP3 server. (Đề nghị sử dụng)" + email_in_min_trust: "Bậc tin tưởng tối thiểu cho phép một thành viên gửi chủ đề mới qua email." + username_change_period: "Số ngày thành viên có thể thay đổi tên đăng nhập sau khi đăng kí (0 để vô hiệu hóa chức năng thay đổi tên thành viên)" + email_editable: "Cho phép thành viên thay đổi địa chỉ email sau khi đăng kí" + logout_redirect: "Trang chuyển hướng sau khi đăng xuất . Ví dụ : (http://somesite.com/logout)" + allow_uploaded_avatars: "Cho phép người dùng tải lên hình hồ sơ." + allow_animated_thumbnails: "Tạo ảnh động thu nhỏ cho ảnh .gif" + digest_min_excerpt_length: "Số kí tự tối thiểu của tóm tắt bài viết trong bản tin tóm tắt gửi qua email" + max_daily_gravatar_crawls: "Giới hạn số lần Discourse sẽ kiểm tra Gravatar mới trong một ngày" + allow_profile_backgrounds: "Cho phép người dùng tải lên ảnh nền" + suppress_uncategorized_badge: "Không hiển thị huy hiệu cho các chủ đề chưa phân loại trong danh sách chủ đề" + invites_per_page: "Lời mời mặc định hiển thị trên trang thành viên" + short_progress_text_threshold: "Sau khi số bài đăng của một chủ đề vượt qua giới hạn này, thanh tiến trình sẽ chỉ hiện số thứ tự của bài đăng hiện tại. Nếu bạn thay đổi chiều rộng của thanh tiến trình, bạn có thể cần thay đổi giá trị này" + show_create_topics_notice: "Nếu trang có ít hơn 5 chủ đề công khai, hiển thị một thông báo yêu cầu quản trị tạo thêm các chủ đề mới" + prevent_anons_from_downloading_files: "Cấm khách truy cập tải các tập tin đính kèm. CẢNH BÁO: việc này sẽ chặn những hình ảnh không thuộc giao diện trang hoạt động" + default_email_mailing_list_mode: "Mặc định gửi email cho mỗi bài viết mới." + default_email_always: "Mặc định gửi email thông báo mỗi khi người dùng kích hoạt." + default_other_external_links_in_new_tab: "Mặc định mở các liên kết ngoài trong thẻ mới " + errors: + invalid_email: "Địa chỉ email sai" + invalid_username: "Không có thành viên với tên đăng nhập này" + invalid_integer_min_max: "Giá trị phãi nằm giữa %{min} và %{max}." + invalid_integer_min: "Giá trị phải bằng %{min} hoặc lớn hơn" + invalid_integer_max: "Giá trị không thể cao hơn %{max}." + invalid_integer: "Giá trị phải là một số nguyên" + regex_mismatch: "Giá trị không giống với định dạng" + invalid_string: "Giá trị không hợp lệ." + invalid_string_min_max: "Phải nằm giữa %{min} và %{max} ký tự." + invalid_string_min: "Phải ít nhất %{min} ký tự." + invalid_string_max: "Không nhiều hơn %{max} ký tự." + invalid_reply_by_email_address: "Giá trị phải chứa '%{reply_key}' và phải khác với email thông báo." + notification_types: + mentioned: "%{display_username} đề cập bạn ở %{link}" + liked: "%{display_username} thích bài viết %{link} của bạn" + replied: "%{display_username} trả lời bài viết %{link} của bạn" + quoted: "%{display_username} trích dẫn bài viết %{link} của bạn" + edited: "%{display_username} sửa đổi bài viết %{link} của bạn" + posted: "%{display_username} viết bài ở %{link}" + moved_post: "%{display_username} di chuyển bài viết của bạn tới %{link}" + private_message: "%{display_username} gửi bạn một tin nhắn: %{link}" + invited_to_private_message: "%{display_username} mời bạn xem tin nhắn: %{link}" + invited_to_topic: "%{display_username} mời bạn xem chủ đề: %{link}" + invitee_accepted: "%{display_username} chấp nhận lời mời của bạn" + linked: "%{display_username} kết nối với bạn ở %{link}" + granted_badge: "Bạn kiếm được %{link}" + search: + within_post: "#%{post_number} bởi %{username}" + types: + category: 'Thư mục' + topic: 'Kết quả' + user: 'Thành viên' + sso: + not_found: "Không thể tìm hoặc tạo tài khoản, vui lòng liên hệ quản trị trang" + account_not_approved: "Tài khoản đang chờ duyệt, bạn sẽ nhận được email thông báo khi được duyệt" + unknown_error: "Có lỗi khi cập nhật thông tin, liên hệ quản trị trang" + timeout_expired: "Tài khoản đăng nhập bị quá thời gian, vui lòng đăng nhập lại" + original_poster: "Người viết gốc" + most_posts: "Bài viết Phỏ biến" + redirected_to_top_reasons: + new_user: "Chào mừng đến với cộng dồng của chúng tôi! Ở đây có những chủ để phổ biến." + not_seen_in_a_month: "Chào mừng quay trở lại! Chúng tôi thấy bạn truy cập một khoảng thời gian. Ở đây có những bài viết phổ biến từ lúc bạn đ." + change_owner: + deleted_user: "xóa người dùng" + topic_statuses: + archived_enabled: "Chủ đề này được đưa vào lưu trữ. Nó sẽ không được sửa đổi nữa. " + archived_disabled: "Chủ đề này được đưa khỏi lưu trữ. Nó có thể được sửa đổi." + closed_enabled: "Chủ đề này được đóng lại. Các trả lời mới sẽ không được chấp nhận." + closed_disabled: "Chủ đề này được mở ra. Các trả lời mới sẽ được chấp nhận." + autoclosed_enabled_lastpost_hours: + other: "Chủ đề này đã được đóng tự động %{count} giờ sau phản hồi cuối cùng. Không còn cho phép phản hồi mới." + autoclosed_disabled: "Chủ đề này đã được mở. Bạn có thể bình luận" + autoclosed_disabled_lastpost: "Chủ đề này đã được mở. Bạn có thể bình luận" + visible_enabled: "Chủ để này đã được lưu. Nó sẽ hiển thị trong danh sách chủ đề." + login: + not_approved: "Tài khoản của bạn chưa được kiểm duyệt. Bạn sẽ nhận được email thông báo khi bạn được phép đăng nhập." + incorrect_username_email_or_password: "Không đúng tài khoản, email hoặc mật khẩu" + wait_approval: "Cảm ơn bạn đã đăng ký. Chúng tôi sẽ thông báo sau khi tài khoản của bạn được kiểm duyệt." + active: "Tài khoản của bạn đã được kích hoạt và sẵn sàng để sử dụng." + not_activated: "Bạn không thể đăng nhập bây giờ. Chúng tôi đã gửi bạn một email kích hoạt tài khoản. Vui lòng làm theo hướng dẫn trong email để kích hoạt tài khoản của bạn." + not_allowed_from_ip_address: "Bạn không thể đăng nhập như là %{username} từ địa chỉ IP này." + admin_not_allowed_from_ip_address: "Bạn không thể đăng nhập như quản trị từ IP này." + suspended: "Bạn không thể đăng nhập cho tới ngày %{date}." + suspended_with_reason: "Tài khoản bị tạm khóa cho tới %{date}: %{reason}" + errors: "%{errors}" + not_available: "Không có sẵn. Thử %{suggestion}?" + something_already_taken: "Có lỗi xảy ra, tên đăng nhập hoặc email đã được đăng ký. Thử sử dụng chức năng quên mật khẩu." + omniauth_error: "Xin lỗi, có lỗi khi xác thực tài khoản của bạn. Bạn không được duyệt chứng thực?" + omniauth_error_unknown: "Cố lỗi xảy ra khi bạn đăng nhập, vui lòng thử lại." + new_registrations_disabled: "Đăng ký tài khoản mới không được cho phép tại thời điểm này." + password_too_long: "Mật khẩu giới hạn không quá 200 ký tự." + email_too_long: "Email bạn cung cấp quá dài. Địa chỉ email phải không quá 254 ký tự, và tên miền phải không quá 253 ký tự." + reserved_username: "Tên đăng nhập không được cho phép." + missing_user_field: "Bạn không hoàn tất tất cả các trường người dùng" + close_window: "Chứng thực hoàn tất. Đóng của sổ này để tiếp tụ." + user: + username: + characters: "chỉ bao gồm số, ký tự và dấu gạch dưới" + unique: "phải độc nhất" + blank: "phải hiện hành" + must_begin_with_alphanumeric: "phải bắt đầu bằng ký tự hoặc số hoặc gạch dưới" + must_end_with_alphanumeric: "phải kết thúc bằng ký tự hoặc số hoặc gạch dưới" + must_not_contain_confusing_suffix: "không chứ từ gây hiểu lầm như .json hoặc .png v.v..." + email: + not_allowed: "không được chấp nhận từ nhà cung cấp email đó. Vui long sử dụng địa chỉ email khác." + blocked: "không được chấp nhận." + ip_address: + blocked: "Đăng ký mới không cho phép từ địa chỉ IP của bạn." + invite_forum_mailer: + subject_template: "%{invitee_name} đã mời bạn gia nhập %{site_domain_name}" + text_body_template: | + %{invitee_name} đã mời bạn gia nhập + + > **%{site_title}** + > + > %{site_description} + + Nếu bạn không thích, nhấn vào link dưới đây: + + %{invite_link} + + Nó được mời từ một người dùng tin cập, bạn không cần đăng nhập. + invite_password_instructions: + subject_template: "Đặt mật khẩu cho tài khoản của bạn ở %{site_name}" + new_version_mailer: + subject_template: "[%{site_name}] Phiên bạn Discourse mới, cập nhật đã sẵn sàng" + new_version_mailer_with_notes: + subject_template: "[%{site_name}] cập nhật đã sẵn sàng" + flags_reminder: + please_review: "Vui lòng xem lại chúng." + post_number: "bài đăng" + flags_dispositions: + agreed: "Cảm ơn đã cho chúng tôi biết. Chúng thôi đồng ý nó là một vấn đề và chúng tôi sẽ xem xét nó." + agreed_and_deleted: "Cảm ơn đã cho chúng tôi biết thông tin. Chúng tôi đồng ý đây là một vấn đề và chúng tôi đã xóa bài viết này." + disagreed: "Cảm ơn đã cho chúng tôi biết thông tin. Chúng tôi đang xem xét nó." + deferred: "Cảm ơn đã cho chúng tôi biết thông tin. Chúng tôi đang xem xét nó." + system_messages: + welcome_user: + subject_template: "Chào mừng đến với %{site_name}!" + welcome_invite: + subject_template: "Chào mừng đến với %{site_name}!" + backup_succeeded: + subject_template: "Sản sao lưu hoàn tất thành công" + backup_failed: + subject_template: "Sao lưu lỗi." + text_body_template: | + Sao lưu lỗi. + + Đây là log: + + ``` + %{logs} + ``` + restore_succeeded: + subject_template: "Phục hồi thành công" + text_body_template: "Phục hồi đã thành công." + restore_failed: + subject_template: "Phục hồi thất bại." + text_body_template: | + Phục hồi thất bại. + + Đây là log: + + ``` + %{logs} + ``` + csv_export_succeeded: + subject_template: "Xuất dữ liệu hoàn tất" + csv_export_failed: + subject_template: "Xuất dữ liệu thất bại" + text_body_template: "Chúng tôi xin lỗi, những dữ liệu bạn xuất bị lỗi. Vui lòng xem log hoặc liên hệ nhân viên." + email_reject_no_account: + subject_template: "[%{site_name}] Vấn đề Email -- Không xác định tài khoản" + email_reject_empty: + subject_template: "[%{site_name}] Vấn đề Email -- Không có nội dung" + email_reject_parsing: + subject_template: "[%{site_name}] Vấn đề Email-- Không nhận dạng được nội dung" + email_reject_invalid_access: + subject_template: "[%{site_name}] Vấn đề Email -- truy cập không phù hợp" + email_reject_post_error: + subject_template: "[%{site_name}] Vấn đề Email -- Lỗi đăng bài" + email_reject_post_error_specified: + subject_template: "[%{site_name}] Vấn đề Email -- Lỗi đăng bài" + email_reject_reply_key: + subject_template: "[%{site_name}] Vấn đề Email -- Không xác định được key trả lời" + email_reject_destination: + subject_template: "[%{site_name}] Vấn đề Email -- Không xác định địa chỉ Đến:" + email_reject_topic_not_found: + subject_template: "[%{site_name}] Vấn đề Email -- Không tìm thấy chủ đề" + email_reject_topic_closed: + subject_template: "[%{site_name}] Vấn đề Email -- Chủ đề đóng" + email_reject_auto_generated: + subject_template: "[%{site_name}] Vấn đề Email -- Tự động tạo trả lời" + email_error_notification: + subject_template: "[%{site_name}] Vấn đề Email -- chứng thực POP lỗi" + too_many_spam_flags: + subject_template: "Tài khoản mới bị chặn" + blocked_by_staff: + subject_template: "Tài khoản bị khóa" + unblocked: + subject_template: "Tài khoản được mở khóa" + pending_users_reminder: + subject_template: + other: "%{count} thành viên đang chờ duyệt" + subject_re: "Re:" + subject_pm: "[PM]" + user_notifications: + previous_discussion: "Các trả lời trước" + unsubscribe: + title: "Bỏ theo dõi" + description: "Bạn không thích nhận mail giống mail này? Nhấn vào bỏ theo dõi để bỏ đăng ký ngay lập tức:" + posted_by: "Đăng bởi %{{username} ngày %{post_date}" + user_invited_to_private_message_pm: + subject_template: "[%{site_name}] %{username} mời bạn trả lời thông điệp '%{topic_title}'" + user_invited_to_topic: + subject_template: "[%{site_name}] %{username} mời bạn trả lời chủ đề '%{topic_title}'" + user_replied: + subject_template: "[%{site_name}] %{topic_title}" + user_quoted: + subject_template: "[%{site_name}] %{topic_title}" + user_mentioned: + subject_template: "[%{site_name}] %{topic_title}" + user_posted: + subject_template: "[%{site_name}] %{topic_title}" + user_posted_pm: + subject_template: "[%{site_name}] [PM] %{topic_title}" + digest: + why: "Tóm tắt %{site_link} từ lần cuối truy cập %{last_seen_at}" + subject_template: "[%{site_name}] Tóm tắt" + new_activity: "Hoạt động mới ở chủ đề và bài viết của bạn:" + top_topics: "Bài viết phổ biến" + other_new_topics: "Chủ đề phổ biến" + click_here: "bấm vào đây" + from: "%{site_name} tóm tắt" + read_more: "Đọc Tiếp" + more_topics: "Đây là %{new_topics_since_seen} những chủ đề mới khác." + more_topics_category: "Thêm chủ đề mới:" + forgot_password: + subject_template: "[%{site_name}] Đặt lại mật khẩu" + set_password: + subject_template: "[%{site_name}] Đặt Mật khẩu" + admin_login: + subject_template: "[%{site_name}] Đăng nhập" + account_created: + subject_template: "[%{site_name}] Tài khoản mới" + authorize_email: + subject_template: "[%{site_name}] Xác nhận địa chỉ email mới của bạn" + signup_after_approval: + subject_template: "Bạn đã được kiểm duyệt ở %{site_name}!" + signup: + subject_template: "[%{site_name}] Xác nhận tài khoản mới của bạn" + page_not_found: + title: "Trang bạn yêu cầu không tồn tại hoặc riêng tư." + popular_topics: "Phổ biến" + recent_topics: "Gân đây" + see_more: "Thêm" + search_title: "Tìm trang này" + search_google: "Goole" + login_required: + welcome_message: | + #[Chào mừng đến %{title}](#welcome) + Trang này yêu cầu phải có tài khoản. Vui lòng tạo một tài khoản hoặc đăng nhập để tiếp tục. + terms_of_service: + title: "Điều khoản Dịch vụ" + signup_form_message: 'Tôi đã đọc và đồng ý với Điều khoản dịch vụ.' + deleted: 'đã bị xóa ' + upload: + edit_reason: "tải về một bản sao của hình ảnh." + unauthorized: "Xin lỗi, tập tin của bạn tải lên không được cho phép (định dạng cho phép: %{authorized_extensions})." + pasted_image_filename: "Hình ảnh được chèn" + store_failure: "Tải lên lỗi #%{upload_id} cho tài khoản #%{user_id}." + file_missing: "Xin lỗi, bạn phải cung cấp tập tin để tải lên" + attachments: + too_large: "Xin lỗi, tập tin bạn tải lên quá lớn (kích thước tối đa %{max_size_kb}KB)." + images: + too_large: "Xin lỗi, hình bạn tải lên quá lớn (kích thước tối đa %{max_size_kb}KB), Vui lòng chỉnh lại kích thước và thử lại." + size_not_found: "Xin lỗi, không thể xác định kích thước hình. Có thể hình của bạn bị lỗi?" + avatar: + missing: "Xin lỗi, hình đại diện bạn chọn không có sãn trên máy chủ. Bạn có thể tải lên lại?" + email_log: + no_user: "không tìm thấy người dùng với id %{user_id}" + anonymous_user: "Người dùng là nặc danh" + suspended_not_pm: "Tài khoản bị tạm khóa, không có tin nhắn" + seen_recently: "Tài khoản đã xem gần đây" + post_not_found: "Không tìm thấy bài viết với id %{post_id}" + notification_already_read: "Thông báo email này đã được đọc" + topic_nil: "post.topic is nil" + post_deleted: "bài viết đã bị xóa bởi tác giả" + user_suspended: "người dùng đã bị tạm khóa" + already_read: "người dùng đã đọc bài viết này" + message_blank: "tin nhắn rỗng" + message_to_blank: "message.to rỗng" + text_part_body_blank: "text_part.body rỗng" + body_blank: "nội dung rỗng" + color_schemes: + base_theme_name: "Cơ bản" + about: "Giới thiệu" + guidelines: "Hướng dẫn" + privacy: "Riêng tư" + edit_this_page: "Sửa trang này" + csv_export: + boolean_yes: "Đồng ý" + boolean_no: "Không" + guidelines_topic: + title: "FAQ/Hướng dẫn" + tos_topic: + title: "Điều khoản Dịch vụ" + privacy_topic: + title: "Chính sách Riêng tư" + admin_login: + success: "Gửi mail lỗi" + error: "Lỗi!" + email_input: "Email quản trị" + submit_button: "Gửi email" + performance_report: + initial_topic_title: Báo cáo hiệu suất website + diff --git a/lib/user_name_suggester.rb b/lib/user_name_suggester.rb index f39565941..e809be0b4 100644 --- a/lib/user_name_suggester.rb +++ b/lib/user_name_suggester.rb @@ -42,14 +42,21 @@ module UserNameSuggester # 2. removes unallowed leading characters name.gsub!(/^\W+/, "") # 3. removes unallowed trailing characters - name.gsub!(/[^A-Za-z0-9]+$/, "") + name = remove_unallowed_trailing_characters(name) # 4. unify special characters name.gsub!(/[-_.]{2,}/, "_") name end + def self.remove_unallowed_trailing_characters(name) + name.gsub!(/[^A-Za-z0-9]+$/, "") + name + end + def self.rightsize_username(name) - name.ljust(User.username_length.begin, '1')[0, User.username_length.end] + name = name[0, User.username_length.end] + name = remove_unallowed_trailing_characters(name) + name.ljust(User.username_length.begin, '1') end end diff --git a/plugins/poll/config/locales/client.vi.yml b/plugins/poll/config/locales/client.vi.yml new file mode 100644 index 000000000..e0fec5709 --- /dev/null +++ b/plugins/poll/config/locales/client.vi.yml @@ -0,0 +1,31 @@ +vi: + js: + poll: + voters: + other: "người bình chọn" + total_votes: + other: "tổng số bình chọn" + average_rating: "Đánh giá trung bình: %{average}." + multiple: + help: + between_min_and_max_options: "Bạn có thể chọn giữa %{min}%{max}." + cast-votes: + title: "Bỏ phiếu của bạn" + label: "Bình chọn ngay!" + show-results: + title: "Hiển thị kết quả cuộc thăm dò" + label: "Hiện kết quả" + hide-results: + title: "Trở lại bầu chọn của bạn" + label: "Ẩn kết quả" + open: + title: "Mở bình chọn" + label: "Mở" + confirm: "Bạn có chắc mở bình chọn này?" + close: + title: "Đóng bình chọn" + label: "Đóng lại" + confirm: "Bạn có chắc chắn muốn đóng bình chọn này?" + error_while_toggling_status: "Có lỗi trong khi chuyển đổi qua lại các trạng thái của bình chọn này." + error_while_casting_votes: "Có lỗi trong khi tạo mãu bầu chọn của bạn" + diff --git a/plugins/poll/config/locales/server.vi.yml b/plugins/poll/config/locales/server.vi.yml new file mode 100644 index 000000000..e5c0d30ee --- /dev/null +++ b/plugins/poll/config/locales/server.vi.yml @@ -0,0 +1,25 @@ +vi: + site_settings: + poll_enabled: "Cho phép người dùng tạo các cuộc thăm dò?" + poll_maximum_options: "Số lượng tối đa tùy chọn trong một cuộc thăm dò." + poll: + multiple_polls_without_name: "Có nhiều cuộc thăm dò mà không có tên. Sử dụng thuộc tính 'name' để xác định cuộc thăm dò của bạn." + multiple_polls_with_same_name: "Có nhiều cuộc thăm dò có cùng tên: %{name}. Sử dụng thuộc tính 'name' để xác định cuộc thăm dò của bạn." + default_poll_must_have_at_least_2_options: "Thăm dò ý kiến ​​phải có ít nhất 2 lựa chọn." + named_poll_must_have_at_least_2_options: "Thăm dò có tên %{name} phải có ít nhất 2 lựa chọn." + default_poll_must_have_different_options: "Thăm dò ý kiến ​​phải có các tùy chọn khác nhau." + named_poll_must_have_different_options: "Thăm dò %{name} ​​phải có các tùy chọn khác nhau." + default_poll_with_multiple_choices_has_invalid_parameters: "Thăm dò ý kiến ​​với nhiều sự lựa chọn có các tham số không hợp lệ." + named_poll_with_multiple_choices_has_invalid_parameters: "Thăm dò %{name} ​​với nhiều sự lựa chọn có các tham số không hợp lệ. " + requires_at_least_1_valid_option: "Bạn phải chọn ít nhất 1 lựa chọn hợp lệ." + cannot_change_polls_after_5_minutes: "Bạn không thể thêm, xóa hoặc đổi tên các cuộc thăm dò 5 phút đầu tiên." + op_cannot_edit_options_after_5_minutes: "Bạn không thể thêm hoặc loại bỏ các bình chọn sau khi 5 phút đầu tiên. Hãy liên hệ với người điều hành nếu bạn cần chỉnh sửa một bình chọn nào đó." + staff_cannot_add_or_remove_options_after_5_minutes: "Bạn không thể thêm hoặc loại bỏ các bình chọn sau khi 5 phút đầu tiên. Bạn nên đóng chủ đề này và tạo ra một cái mới để thay thế." + no_polls_associated_with_this_post: "Không có cuộc thăm dò được liên kết với bài này." + no_poll_with_this_name: "Không có thăm dò có tên %{name} liên kết với bài viết này." + post_is_deleted: "Không thể thực hiện trên bài viết đã xóa." + topic_must_be_open_to_vote: "Các chủ đề phải được mở để bầu chọn." + poll_must_be_open_to_vote: "Thăm dò ý kiến ​​phải được mở để bầu chọn." + topic_must_be_open_to_toggle_status: "Các chủ đề phải được mở để chuyển trạng thái." + only_staff_or_op_can_toggle_status: "Chỉ có một BQT hoặc các người đăng bài có thể chuyển đổi một trạng thái thăm dò ý kiến" + diff --git a/public/403.vi.html b/public/403.vi.html new file mode 100644 index 000000000..09a5aa396 --- /dev/null +++ b/public/403.vi.html @@ -0,0 +1,27 @@ + + + Bạn không thể làm được điều đó (403) + + + + +
+

403

+

Bạn không thể xem tài nguyên đó!

+ +

Trang này sẽ được thay thế bằng một trang lỗi 403 tùy chỉnh của Discourse.

+
+ + + diff --git a/public/422.vi.html b/public/422.vi.html new file mode 100644 index 000000000..483475327 --- /dev/null +++ b/public/422.vi.html @@ -0,0 +1,26 @@ + + +Thay đổi bạn muốn thực hiện đã bị từ chối (422) + + + + + +
+

Thay đổi bạn muốn thực hiện đã bị từ chối.

+

Có thể bạn đã cố thay đổi một số tính năng mà bạn không thể truy cập.

+
+ + + diff --git a/public/500.vi.html b/public/500.vi.html new file mode 100644 index 000000000..831451072 --- /dev/null +++ b/public/500.vi.html @@ -0,0 +1,13 @@ + + +Ôi - Lỗi 500 + + + +

Ối

+

Phần mềm chạy diễn đàn thảo luận này bất ngờ gặp sự cố không mong muốn. Chúng tôi rất xin lỗi vì sự bất tiện này.

+

Thông tin chi tiết về lỗi đã được ghi lại và thông báo tự động đã được tạo. Chúng tôi sẽ xem xét lỗi này.

+

Không cần tiến hành bất cứ hành động nào. Tuy nhiên, nếu lỗi này vẫn tiếp tục, bạn có thể cung cấp thêm thông tin chi tiết bao gồm các bước để tái tạo lỗi hoặc tạo một thảo luận trên meta category.

+ + + diff --git a/public/503.vi.html b/public/503.vi.html new file mode 100644 index 000000000..85ca43edc --- /dev/null +++ b/public/503.vi.html @@ -0,0 +1,12 @@ + + +Trang đang được bảo trì- Discourse.org + + + +

Trang tạm dừng dịch vụ để bảo trì dịch vụ

+

Vui lòng quay lại sau vài phút.

+

Xin lỗi về sự bất tiện này!

+ + + diff --git a/script/import_scripts/base.rb b/script/import_scripts/base.rb index b91296eda..63c55de59 100644 --- a/script/import_scripts/base.rb +++ b/script/import_scripts/base.rb @@ -278,7 +278,6 @@ class ImportScripts::Base avatar_url = opts.delete(:avatar_url) # Allow the || operations to work with empty strings '' - opts[:name] = nil if opts[:name].blank? opts[:username] = nil if opts[:username].blank? opts[:name] = User.suggest_name(opts[:email]) unless opts[:name] @@ -287,7 +286,8 @@ class ImportScripts::Base opts[:username].length > User.username_length.end || !User.username_available?(opts[:username]) || !UsernameValidator.new(opts[:username]).valid_format? - opts[:username] = UserNameSuggester.suggest(opts[:username] || opts[:name] || opts[:email]) + + opts[:username] = UserNameSuggester.suggest(opts[:username] || opts[:name].presence || opts[:email]) end opts[:email] = opts[:email].downcase opts[:trust_level] = TrustLevel[1] unless opts[:trust_level] @@ -306,8 +306,8 @@ class ImportScripts::Base User.transaction do u.save! if bio_raw.present? || website.present? || location.present? - u.user_profile.bio_raw = bio_raw if bio_raw.present? - u.user_profile.website = website if website.present? + u.user_profile.bio_raw = bio_raw[0..2999] if bio_raw.present? + u.user_profile.website = website unless website.blank? || website !~ UserProfile::WEBSITE_REGEXP u.user_profile.location = location if location.present? u.user_profile.save! end diff --git a/spec/components/user_name_suggester_spec.rb b/spec/components/user_name_suggester_spec.rb index 9d02951cb..6046aa6ef 100644 --- a/spec/components/user_name_suggester_spec.rb +++ b/spec/components/user_name_suggester_spec.rb @@ -93,6 +93,15 @@ describe UserNameSuggester do it 'should handle typical facebook usernames' do expect(UserNameSuggester.suggest('roger.nelson.3344913')).to eq('roger.nelson.33') end + + it 'removes underscore at the end of long usernames that get truncated' do + expect(UserNameSuggester.suggest('uuuuuuuuuuuuuu_u')).to_not end_with('_') + end + + it "adds number if it's too short after removing trailing underscore" do + User.stubs(:username_length).returns(8..8) + expect(UserNameSuggester.suggest('uuuuuuu_u')).to eq('uuuuuuu1') + end end end diff --git a/spec/jobs/pending_flags_reminder_spec.rb b/spec/jobs/pending_flags_reminder_spec.rb index 4f325b0a8..e73038c0f 100644 --- a/spec/jobs/pending_flags_reminder_spec.rb +++ b/spec/jobs/pending_flags_reminder_spec.rb @@ -14,17 +14,17 @@ describe Jobs::PendingFlagsReminder do context "notify_about_flags_after is 48" do before { SiteSetting.stubs(:notify_about_flags_after).returns(48) } - it "doesn't send email when flags are less than 48 hours old" do + it "doesn't send message when flags are less than 48 hours old" do Fabricate(:flag, created_at: 47.hours.ago) PostAction.stubs(:flagged_posts_count).returns(1) - Email::Sender.any_instance.expects(:send).never + PostCreator.expects(:create).never described_class.new.execute({}) end - it "sends email when there is a flag older than 48 hours" do + it "sends message when there is a flag older than 48 hours" do Fabricate(:flag, created_at: 49.hours.ago) PostAction.stubs(:flagged_posts_count).returns(1) - Email::Sender.any_instance.expects(:send).once.returns(true) + PostCreator.expects(:create).once.returns(true) described_class.new.execute({}) end end diff --git a/vendor/gems/discourse_imgur/lib/discourse_imgur/locale/server.vi.yml b/vendor/gems/discourse_imgur/lib/discourse_imgur/locale/server.vi.yml new file mode 100644 index 000000000..6b70e6db4 --- /dev/null +++ b/vendor/gems/discourse_imgur/lib/discourse_imgur/locale/server.vi.yml @@ -0,0 +1,6 @@ +vi: + site_settings: + enable_imgur: "Kích hoạt imgur api để tải file lên, không lưu trữ file tại máy chủ." + imgur_client_id: "Client ID imgur.com của bạn, cần cho chức năng tải ảnh lên. " + imgur_client_secret: "Client secret của bạn tạo imgur.com. Hiện tại không cần để tải ảnh lên, nhưng sẽ có trong tương lai." +