X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/6fb660f0af737fe3029943e0b9ab34cbbce54e27..81f1e7982a4fd9904ef709ef2a4822ce5de031e4:/config/locales/vi.yml diff --git a/config/locales/vi.yml b/config/locales/vi.yml index 9a8af5120..d18b31e0a 100644 --- a/config/locales/vi.yml +++ b/config/locales/vi.yml @@ -1,6 +1,7 @@ # Messages for Vietnamese (Tiếng Việt) # Exported from translatewiki.net # Export driver: phpyaml +# Author: Abijeet Patro # Author: Dinhxuanduyet # Author: Ioe2015 # Author: KhangND @@ -12,13 +13,42 @@ # Author: Phjtieudoc # Author: Ruila # Author: Trần Nguyễn Minh Huy +# Author: Vinhtantran +# Author: 神樂坂秀吉 --- vi: time: formats: friendly: '%e tháng %m năm %Y lúc %H:%M' blog: '%d tháng %m năm %Y' + helpers: + submit: + diary_comment: + create: Lưu + diary_entry: + create: Đăng + update: Cập nhật + issue_comment: + create: Thêm bình luận + message: + create: Gửi + client_application: + create: Đăng ký + update: Sửa đổi + redaction: + create: Ẩn dãy phiên bản + update: Lưu dãy ẩn + trace: + create: Tải lên + update: Lưu các Thay đổi + user_block: + create: Cấm người dùng + update: Cập nhật tác vụ cấm activerecord: + errors: + messages: + invalid_email_address: hình như không phải là địa chỉ thư điện tử hợp lệ + email_address_not_routable: không thể gửi đến models: acl: Danh sách Điều khiển Truy cập changeset: Bộ thay đổi @@ -86,6 +116,15 @@ vi: description: Miêu tả languages: Ngôn ngữ pass_crypt: Mật khẩu + datetime: + distance_in_words_ago: + about_x_hours: + one: khoảng 1 giờ trước + other: khoảng %{count} giờ trước + half_a_minute: 30 giây trước + x_years: + one: 1 năm trước + other: '%{count} năm trước' editor: default: Mặc định (hiện là %{name}) potlatch: @@ -100,15 +139,38 @@ vi: remote: name: phần điều khiển từ xa description: phần điều khiển từ xa (JOSM hoặc Merkaartor) + api: + notes: + comment: + opened_at_html: Được tạo %{when} + opened_at_by_html: Được %{user} tạo %{when} + commented_at_html: Được cập nhật %{when} + commented_at_by_html: Được %{user} cập nhật %{when} + closed_at_html: Được giải quyết %{when} + closed_at_by_html: Được %{user} giải quyết %{when} + reopened_at_html: Được mở lại %{when} + reopened_at_by_html: Được %{user} mở lại %{when} + rss: + title: Ghi chú OpenStreetMap + description_area: Danh sách các ghi chú được mở, bình luận, hoặc đóng trong + khu vực của bạn [(%{min_lat}|%{min_lon}) – (%{max_lat}|%{max_lon})] + description_item: Nguồn cấp RSS của ghi chú %{id} + opened: mở ghi chú (gần %{place}) + commented: bình luận mới (gần %{place}) + closed: đóng ghi chú (gần %{place}) + reopened: mở lại ghi chú (gần %{place}) + entry: + comment: Bình luận + full: Ghi chú đầy đủ browse: created: Tạo closed: Đóng - created_html: Tạo ra cách đây %{time} - closed_html: Đóng cách đây %{time} - created_by_html: Tạo ra cách đây %{time} bởi %{user} - deleted_by_html: Xóa cách đây %{time} bởi %{user} - edited_by_html: Sửa đổi cách đây %{time} bởi %{user} - closed_by_html: Đóng cách đây %{time} bởi %{user} + created_html: Tạo ra %{time} + closed_html: Đóng %{time} + created_by_html: Tạo ra %{time} bởi %{user} + deleted_by_html: Xóa %{time} bởi %{user} + edited_by_html: Sửa đổi %{time} bởi %{user} + closed_by_html: Đóng %{time} bởi %{user} version: Phiên bản in_changeset: Bộ thay đổi anonymous: vô danh @@ -128,9 +190,8 @@ vi: relation: Các quan hệ (%{count}) relation_paginated: Các quan hệ (%{x}–%{y} trên %{count}) comment: Bình luận (%{count}) - hidden_commented_by: Bình luận ẩn của %{user} cách - đây %{when} - commented_by: Bình luận của %{user} cách đây %{when} + hidden_commented_by: Bình luận ẩn của %{user} %{when} + commented_by: Bình luận của %{user} %{when} changesetxml: Bộ thay đổi XML osmchangexml: osmChange XML feed: @@ -208,17 +269,15 @@ vi: open_title: 'Ghi chú chưa giải quyết #%{note_name}' closed_title: 'Ghi chú đã giải quyết #%{note_name}' hidden_title: 'Ghi chú ẩn #%{note_name}' - open_by: Tạo bởi %{user} cách đây %{when} - open_by_anonymous: Tạo vô danh cách đây %{when} - commented_by: Bình luận của %{user} cách đây %{when} - commented_by_anonymous: Bình luận vô danh cách đây - %{when} - closed_by: Giải quyết bởi %{user} cách đây %{when} - closed_by_anonymous: Giải quyết vô danh cách đây - %{when} - reopened_by: Mở lại bởi %{user} cách đây %{when} - reopened_by_anonymous: Mở lại vô danh cách đây %{when} - hidden_by: Ẩn bởi %{user} cách đây %{when} + open_by: Tạo bởi %{user} %{when} + open_by_anonymous: Tạo vô danh %{when} + commented_by: Bình luận của %{user} %{when} + commented_by_anonymous: Bình luận vô danh %{when} + closed_by: Giải quyết bởi %{user} %{when} + closed_by_anonymous: Giải quyết vô danh %{when} + reopened_by: Mở lại bởi %{user} %{when} + reopened_by_anonymous: Mở lại vô danh %{when} + hidden_by: Ẩn bởi %{user} %{when} report: Báo cáo ghi chú này query: title: Thăm dò Yếu tố @@ -257,7 +316,7 @@ vi: changeset_comments: comment: comment: 'Nhận xét mới về bộ thay đổi #%{changeset_id} của %{author}' - commented_at_by_html: Được %{user} cập nhật cách đây %{when} + commented_at_by_html: Được %{user} cập nhật %{when} comments: comment: 'Nhận xét mới về bộ thay đổi #%{changeset_id} của %{author}' index: @@ -269,7 +328,14 @@ vi: diary_entries: new: title: Mục nhật ký mới - publish_button: Đăng + form: + subject: 'Tiêu đề:' + body: 'Nội dung:' + language: 'Ngôn ngữ:' + location: 'Vị trí:' + latitude: 'Vĩ độ:' + longitude: 'Kinh độ:' + use_map_link: sử dụng bản đồ index: title: Các nhật ký của các người dùng title_friends: Các nhật ký của bạn bè @@ -284,14 +350,6 @@ vi: newer_entries: Mục mới hơn edit: title: Sửa đổi mục nhật ký - subject: 'Tiêu đề:' - body: 'Nội dung:' - language: 'Ngôn ngữ:' - location: 'Vị trí:' - latitude: 'Vĩ độ:' - longitude: 'Kinh độ:' - use_map_link: sử dụng bản đồ - save_button: Lưu marker_text: Vị trí của mục nhật ký show: title: Nhật ký của %{user} | %{title} @@ -299,7 +357,6 @@ vi: leave_a_comment: Để lại nhận xét login_to_leave_a_comment: '%{login_link} để nhận xét' login: Đăng nhập - save_button: Lưu no_such_entry: title: Mục nhật ký không tồn tại heading: 'Không có mục với ID: %{id}' @@ -314,11 +371,13 @@ vi: other: '%{count} bình luận' edit_link: Sửa đổi mục này hide_link: Ẩn mục này + unhide_link: Bỏ ẩn mục này confirm: Xác nhận report: Báo cáo mục này diary_comment: comment_from: Bình luận của %{link_user} vào %{comment_created_at} hide_link: Ẩn bình luận này + unhide_link: Bỏ ẩn bình luận này confirm: Xác nhận report: Báo cáo bình luận này location: @@ -340,7 +399,6 @@ vi: post: Mục nhật ký when: Lúc đăng comment: Nhận xét - ago: cách đây %{ago} newer_comments: Các Nhận xét Mới hơn older_comments: Các Nhận xét Cũ hơn geocoder: @@ -370,6 +428,7 @@ vi: gate: Cổng hangar: Nhà Máy bay helipad: Sân bay Trực thăng + parking_position: Chỗ Đậu Máy bay runway: Đường băng taxiway: Đường lăn terminal: Nhà ga Sân bay @@ -822,6 +881,7 @@ vi: hardware: Tiệm Ngũ kim hifi: Cửa hàng Hi-fi houseware: Cửa hàng gia dụng + interior_decoration: Trang trí Nội thất jewelry: Tiệm Kim hoàn kiosk: Quán laundry: Tiệm Giặt Quần áo @@ -858,7 +918,7 @@ vi: "yes": Tiệm tourism: alpine_hut: Túp lều Trên Núi - apartment: Khu chung cư + apartment: Khu Nghỉ dưỡng Chung cư artwork: Tác phẩm Nghệ thuật attraction: Nơi Du lịch bed_and_breakfast: Nhà trọ @@ -934,9 +994,8 @@ vi: status: Trạng thái reports: Báo cáo last_updated: Lần Cập nhật Cuối - last_updated_time_html: cách đây %{time} - last_updated_time_user_html: cách đây %{time} - bởi %{user} + last_updated_time_html: %{time} + last_updated_time_user_html: %{time} bởi %{user} link_to_reports: Xem Báo cáo reports_count: one: 1 Báo cáo @@ -1051,9 +1110,12 @@ vi: intro_text: OpenStreetMap là bản đồ thế giới do những người như bạn xây dựng và cho phép sử dụng thoải mái theo một giấy phép nguồn mở. intro_2_create_account: Mở tài khoản mới + hosting_partners_html: Dịch vụ lưu trữ nhờ sự hỗ trợ của %{ucl}, %{bytemark}, + và %{partners} khác. partners_ucl: UCL partners_bytemark: Bytemark Hosting partners_partners: các công ty bảo trợ + tou: Điều khoản Sử dụng osm_offline: Cơ sở dữ liệu OpenStreetMap đang ngoại tuyến trong lúc đang thực hiện những công việc bảo quản cơ sở dữ liệu cần thiết. osm_read_only: Cơ sở dữ liệu OpenStreetMap đang bị khóa không được sửa đổi trong @@ -1212,7 +1274,6 @@ vi: send_message_to: Gửi thư mới cho %{name} subject: Tiêu đề body: Nội dung - send_button: Gửi back_to_inbox: Trở về hộp thư đến create: message_sent: Thư đã gửi @@ -1285,7 +1346,7 @@ vi: Bản quyền và Giấy phép.' legal_title: Pháp luật legal_html: |- - Trang Web này và nhiều dịch vụ có liên quan được hoạt động chính thức bởi Quỹ OpenStreetMap (OSMF) thay mặt cho cộng đồng. Việc sử dụng các dịch vụ do OSMF hoạt động phải tuân theo các Quy định Sử dụng Hợp lý và Quy định về Quyền Riêng tư của chúng tôi. + Trang Web này và nhiều dịch vụ có liên quan được hoạt động chính thức bởi Quỹ OpenStreetMap (OSMF) thay mặt cho cộng đồng. Việc sử dụng các dịch vụ do OSMF hoạt động phải tuân theo các Điều khoản Sử dụng, các Quy định Sử dụng Hợp lý, và Quy định về Quyền Riêng tư của chúng tôi.
Xin vui lòng liên lạc với OSMF nếu bạn có thắc mắc về giấy phép, bản quyền, hoặc thắc mắc khác về pháp luật.
@@ -1377,11 +1438,16 @@ vi: href=\"http://www.gu.gov.si/en/\">Cơ quan Khảo sát và Bản đồ và\nCục Nông nghiệp, Lâm nghiệp, và Thức ăn\n(thông tin công cộng của Slovenia)." + contributors_es_html: "Tây Ban Nha: Bao gồm dữ liệu bắt nguồn + từ \nViện Địa lý Quốc gia Tây Ban Nha (IGN) + và\nHệ thống Bản đồ Quốc gia (SCNE)\nđược + cấp phép tái sử dụng theo CC + BY 4.0." contributors_za_html: 'Nam Phi: Bao gồm dữ liệu từ Tổng cục: Thông tin Không gian địa lý Quốc gia, bản quyền nhà nước được bảo lưu.' contributors_gb_html: 'Vương quốc Anh: Bao gồm dữ liệu Ordnance - Survey © bản quyền Crown Copyright và quyền cơ sở dữ liệu 2010–12.' + Survey © bản quyền Crown Copyright và quyền cơ sở dữ liệu 2010–19.' contributors_footer_1_html: |- Xem thêm chi tiết và các nguồn gốc khác dùng để cải tiến OpenStreetMap tại trang Người đóng góp trên OpenStreetMap Wiki. @@ -1505,7 +1571,7 @@ vi: hỏi đáp, và cộng tác soạn thảo tài liệu về các đề tài bản đồ. welcome: url: /welcome - title: Chào mừng đến với OSM + title: Chào mừng đến OpenStreetMap description: Bắt đầu với cẩm nang các điều cơ bản OpenStreetMap. beginners_guide: url: https://wiki.openstreetmap.org/wiki/Vi:Beginners%27_guide @@ -1513,7 +1579,7 @@ vi: description: Hướng dẫn bắt đầu do cộng đồng biên tập. help: url: https://help.openstreetmap.org/ - title: help.openstreetmap.org + title: Diễn đàn Trợ giúp description: Hỏi hang hoặc tìm kiếm các câu trả lời tại trung tâm hỏi đáp của OSM. mailing_lists: @@ -1533,9 +1599,11 @@ vi: welcomemat: url: https://welcome.openstreetmap.org/ title: Dành cho các tổ chức + description: Tổ chức của bạn có tính tương tác với OpenStreetMap? Tìm hiểu + thêm trong “Thảm Trước Cửa”. wiki: url: https://wiki.openstreetmap.org/wiki/Vi:Main_Page?uselang=vi - title: wiki.openstreetmap.org + title: Wiki OpenStreetMap description: Đọc tài liệu đầy đủ về OSM trên wiki. sidebar: search_results: Kết quả Tìm kiếm @@ -1624,7 +1692,7 @@ vi: edit: Sửa đổi preview: Xem trước markdown_help: - title_html: Trang trí dùng cú pháp Markdown + title_html: Trang trí dùng cú pháp kramdown headings: Đề mục heading: Đề mục subheading: Đề mục con @@ -1702,7 +1770,6 @@ vi: visibility: 'Mức độ Truy cập:' visibility_help: điều này có nghĩa là gì? visibility_help_url: http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces?uselang=vi - upload_button: Tải lên help: Trợ giúp help_url: http://wiki.openstreetmap.org/wiki/Upload?uselang=vi create: @@ -1729,7 +1796,6 @@ vi: description: 'Miêu tả:' tags: 'Thẻ:' tags_help: dấu phẩy phân cách - save_button: Lưu các Thay đổi visibility: 'Mức độ truy cập:' visibility_help: điều này có nghĩa là gì? visibility_help_url: http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces?uselang=vi @@ -1764,7 +1830,6 @@ vi: trace: pending: CHƯA XỬ count_points: '%{count} nốt' - ago: cách đây %{time_in_words_ago} more: thêm trace_details: Xem Chi tiết Tuyến đường view_map: Xem Bản đồ @@ -1805,6 +1870,7 @@ vi: other: Tập tin GPX của %{user} có %{count} địa điểm description_without_count: Tập tin GPX của %{user} application: + permission_denied: Bạn không có quyền thực hiện tác vụ này require_cookies: cookies_needed: Hình như đã tắt cookie. Xin hãy bật lên chức năng cookie trong trình duyệt để tiếp tục. @@ -1849,10 +1915,8 @@ vi: oauth_clients: new: title: Đăng ký chương trình mới - submit: Đăng ký edit: title: Sửa đổi chương trình của bạn - submit: Sửa đổi show: title: Chi tiết OAuth của %{app_name} key: 'Từ khóa Tiêu dùng:' @@ -2018,19 +2082,26 @@ vi: wiki này. terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined?uselang=vi terms: - title: Điều kiện đóng góp - heading: Điều kiện đóng góp - read and accept: Xin vui lòng đọc thỏa thuận ở dưới và bấm nút Đồng ý để cho - biết chấp nhận các điều khoản của thỏa thuận này đối với các đóng góp của - bạn hiện tại và tương lai. - consider_pd: Ngoài các thỏa thuận ở trên, tôi coi rằng các đóng góp của tôi + title: Điều khoản + heading: Điều khoản + heading_ct: Điều kiện đóng góp + read and accept with tou: Xin vui lòng đọc thỏa thuận đóng góp và các điều khoản + sử dụng, đọc xong thì đánh cả hai hộp kiểm và bấm nút Tiếp tục. + contributor_terms_explain: Thỏa thuận này quy định các đóng góp do bạn đã thực + hiện và sẽ thực hiện. + read_ct: Tôi đã đọc và chấp nhận các điều khoản đóng góp bên trên + tou_explain_html: Các %{tou_link} quy định cách sử dụng trang Web và các cơ + sở hạ tầng khác do OSMF cung cấp. Xin vui lòng mở liên kết và đọc và chấp + nhận thỏa thuận. + read_tou: Tôi đã đọc và chấp nhận các Điều khoản Sử dụng + consider_pd: Bên ngoài các điều bên trên, tôi coi rằng các đóng góp của tôi thuộc về phạm vi công cộng consider_pd_why: đây là gì? consider_pd_why_url: https://wiki.osmfoundation.org/wiki/Licence_and_Legal_FAQ/Why_would_I_want_my_contributions_to_be_public_domain?uselang=vi guidance: 'Thông tin để tìm hiểu về các điều khoản này: bản tóm tắt dễ đọc và một số bản dịch không chính thức' - agree: Chấp nhận + continue: Tiếp tục declined: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined?uselang=vi decline: Từ chối you need to accept or decline: Để tiếp tục, xin vui lòng đọc các Điều khoản @@ -2067,12 +2138,10 @@ vi: remove as friend: Hủy Kết Bạn add as friend: Kết Bạn mapper since: 'Tham gia:' - ago: (cách đây %{time_in_words_ago}) ct status: 'Điều khoản đóng góp:' ct undecided: Chưa quyết định ct declined: Từ chối - ct accepted: Chấp nhận cách đây %{ago} - latest edit: 'Sửa đổi gần đây nhất cách đây %{ago}:' + latest edit: 'Sửa đổi gần đây nhất (%{ago}):' email address: 'Địa chỉ thư điện tử:' created from: 'Địa chỉ IP khi mở:' status: 'Trạng thái:' @@ -2294,7 +2363,6 @@ vi: tiết về trường hợp này. Xin hãy tránh thuật ngữ chuyên môn vì người dùng có thể không rành. period: Thời gian cấm người dùng không được dùng API, bắt đầu từ lúc bây giờ. - submit: Cấm người dùng tried_contacting: Tôi đã liên lạc với người dùng để xin họ ngừng. tried_waiting: Tôi đã chờ đợi người dùng trả lời những lời cảnh báo một thời gian hợp lý. @@ -2308,7 +2376,6 @@ vi: có thể không rành. period: Thời gian người dùng bị cấm không được dùng API, bắt đầu từ lúc bây giờ. - submit: Cập nhật tác vụ cấm show: Xem tác vụ cấm này back: Xem tất cả tác vụ cấm needs_view: Người dùng có phải cần đăng nhập trước khi bỏ cấm được không? @@ -2334,16 +2401,17 @@ vi: title: Bỏ cấm %{block_on} heading: Bỏ tác vụ cấm %{block_on} bởi %{block_by} time_future: Tác vụ cấm này sẽ hết hạn cách đây %{time}. - past: Tác vụ cấm này đã hết hạn cách đây %{time} nên không bỏ được. + past: Tác vụ cấm này đã hết hạn %{time} nên không bỏ được. confirm: Bạn có chắc muốn bỏ cấm người này? revoke: Bỏ cấm! flash: Đã bỏ cấm. - period: '%{count} giờ' helper: time_future: Hết hạn %{time}. until_login: Có hiệu lực cho đến khi người dùng đăng nhập. time_future_and_until_login: Kết thúc %{time} nữa sau khi người dùng đăng nhập. - time_past: Đã hết hạn cách đây %{time}. + time_past: Đã hết hạn %{time}. + block_duration: + hours: '%{count} giờ' blocks_on: title: Các tác vụ cấm %{name} heading: Danh sách tác vụ cấm %{name} @@ -2355,10 +2423,7 @@ vi: show: title: '%{block_on} bị cấm bởi %{block_by}' heading: '%{block_on} bị cấm bởi %{block_by}' - time_future: Hết hạn %{time} - time_past: Đã hết hạn cách đây %{time} created: Tạo - ago: cách đây %{time} status: Trạng thái show: Hiện edit: Sửa đổi @@ -2383,37 +2448,15 @@ vi: next: Sau » previous: « Trước notes: - comment: - opened_at_html: Được tạo cách đây %{when} - opened_at_by_html: Được %{user} tạo cách đây %{when} - commented_at_html: Được cập nhật cách đây %{when} - commented_at_by_html: Được %{user} cập nhật cách đây %{when} - closed_at_html: Được giải quyết cách đây %{when} - closed_at_by_html: Được %{user} giải quyết cách đây %{when} - reopened_at_html: Được mở lại cách đây %{when} - reopened_at_by_html: Được %{user} mở lại cách đây %{when} - rss: - title: Ghi chú OpenStreetMap - description_area: Danh sách các ghi chú được mở, bình luận, hoặc đóng trong - khu vực của bạn [(%{min_lat}|%{min_lon}) – (%{max_lat}|%{max_lon})] - description_item: Nguồn cấp RSS của ghi chú %{id} - opened: mở ghi chú (gần %{place}) - commented: bình luận mới (gần %{place}) - closed: đóng ghi chú (gần %{place}) - reopened: mở lại ghi chú (gần %{place}) - entry: - comment: Bình luận - full: Ghi chú đầy đủ mine: title: Các ghi chú do %{user} lưu hoặc bình luận heading: Ghi chú của %{user} - subheading: Các ghi chú do %{user} lưu hoặc bình luận + subheading_html: Các ghi chú do %{user} lưu hoặc bình luận id: Mã số creator: Người tạo description: Miêu tả created_at: Lúc tạo last_changed: Thay đổi gần đây nhất - ago_html: cách đây %{when} javascripts: close: Đóng share: @@ -2463,6 +2506,7 @@ vi: title: Lớp copyright: © những người đóng góp vào OpenStreetMap donate_link_text: + terms: Điều khoản trang Web và API site: edit_tooltip: Sửa đổi bản đồ edit_disabled_tooltip: Phóng to để sửa đổi bản đồ @@ -2501,13 +2545,12 @@ vi: directions: ascend: Lên engines: + fossgis_osrm_bike: Xe đạp (OSRM) + fossgis_osrm_car: Xe hơi (OSRM) + fossgis_osrm_foot: Đi bộ (OSRM) graphhopper_bicycle: Xe đạp (GraphHopper) graphhopper_car: Xe hơi (GraphHopper) graphhopper_foot: Đi bộ (GraphHopper) - mapquest_bicycle: Xe đạp (MapQuest) - mapquest_car: Xe hơi (MapQuest) - mapquest_foot: Đi bộ (MapQuest) - osrm_car: Xe hơi (OSRM) descend: Xuống directions: Chỉ đường distance: Tầm xa @@ -2604,7 +2647,6 @@ vi: edit: description: Miêu tả heading: Sửa đổi dãy ẩn - submit: Lưu dãy ẩn title: Sửa đổi dãy ẩn index: empty: Không có dãy ẩn để xem. @@ -2613,7 +2655,6 @@ vi: new: description: Miêu tả heading: Ghi thông tin của dãy ẩn mới - submit: Ẩn dãy phiên bản title: Đang ẩn dãy phiên bản show: description: 'Miêu tả:' @@ -2632,4 +2673,9 @@ vi: trong trước khi xóa dãy ẩn. flash: Đã xóa dãy ẩn. error: Xuất hiện lỗi khi xóa dãy ẩn này. + validations: + leading_whitespace: có khoảng cách thừa đằng trước + trailing_whitespace: có khoảng cách thừa đằng sau + invalid_characters: chứa ký tự không hợp lệ + url_characters: chứa ký tự URL đặc biệt (%{characters}) ...