]> git.openstreetmap.org Git - rails.git/blobdiff - config/locales/vi.yml
Update bundle
[rails.git] / config / locales / vi.yml
index e291d190150b21b9100279f35d6911a991c72742..749d6c98ccf16ce92c2b74ce95b9eef90cc38499 100644 (file)
@@ -1,8 +1,12 @@
 # Messages for Vietnamese (Tiếng Việt)
 # Exported from translatewiki.net
 # Export driver: phpyaml
 # Messages for Vietnamese (Tiếng Việt)
 # Exported from translatewiki.net
 # Export driver: phpyaml
+# Author: A Retired User
+# Author: Abijeet Patro
 # Author: Dinhxuanduyet
 # Author: Dinhxuanduyet
+# Author: Ioe2015
 # Author: KhangND
 # Author: KhangND
+# Author: Leducthn
 # Author: Macofe
 # Author: Minh Nguyen
 # Author: Nemo bis
 # Author: Macofe
 # Author: Minh Nguyen
 # Author: Nemo bis
 # Author: Phjtieudoc
 # Author: Ruila
 # Author: Trần Nguyễn Minh Huy
 # Author: Phjtieudoc
 # Author: Ruila
 # Author: Trần Nguyễn Minh Huy
+# Author: Vinhtantran
+# Author: 予弦
+# Author: 神樂坂秀吉
 ---
 vi:
   time:
     formats:
       friendly: '%e tháng %m năm %Y lúc %H:%M'
       blog: '%d tháng %m năm %Y'
 ---
 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:
   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
     models:
       acl: Danh sách Điều khiển Truy cập
       changeset: Bộ thay đổi
@@ -84,6 +118,15 @@ vi:
         description: Miêu tả
         languages: Ngôn ngữ
         pass_crypt: Mật khẩu
         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:
   editor:
     default: Mặc định (hiện là %{name})
     potlatch:
@@ -98,15 +141,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)
     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
   browse:
     created: Tạo
     closed: Đóng
-    created_html: Tạo ra <abbr title='%{title}'>cách đây %{time}</abbr>
-    closed_html: Đóng <abbr title='%{title}'>cách đây %{time}</abbr>
-    created_by_html: Tạo ra <abbr title='%{title}'>cách đây %{time}</abbr> bởi %{user}
-    deleted_by_html: Xóa <abbr title='%{title}'>cách đây %{time}</abbr> bởi %{user}
-    edited_by_html: Sửa đổi <abbr title='%{title}'>cách đây %{time}</abbr> bởi %{user}
-    closed_by_html: Đóng <abbr title='%{title}'>cách đây %{time}</abbr> bởi %{user}
+    created_html: Tạo ra <abbr title='%{title}'>%{time}</abbr>
+    closed_html: Đóng <abbr title='%{title}'>%{time}</abbr>
+    created_by_html: Tạo ra <abbr title='%{title}'>%{time}</abbr> bởi %{user}
+    deleted_by_html: Xóa <abbr title='%{title}'>%{time}</abbr> bởi %{user}
+    edited_by_html: Sửa đổi <abbr title='%{title}'>%{time}</abbr> bởi %{user}
+    closed_by_html: Đóng <abbr title='%{title}'>%{time}</abbr> bởi %{user}
     version: Phiên bản
     in_changeset: Bộ thay đổi
     anonymous: vô danh
     version: Phiên bản
     in_changeset: Bộ thay đổi
     anonymous: vô danh
@@ -126,9 +192,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})
       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} <abbr title='%{exact_time}'>cách
-        đây %{when}</abbr>
-      commented_by: Bình luận của %{user} <abbr title='%{exact_time}'>cách đây %{when}</abbr>
+      hidden_commented_by: Bình luận ẩn của %{user} <abbr title='%{exact_time}'>%{when}</abbr>
+      commented_by: Bình luận của %{user} <abbr title='%{exact_time}'>%{when}</abbr>
       changesetxml: Bộ thay đổi XML
       osmchangexml: osmChange XML
       feed:
       changesetxml: Bộ thay đổi XML
       osmchangexml: osmChange XML
       feed:
@@ -206,23 +271,22 @@ 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_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} <abbr title='%{exact_time}'>cách đây %{when}</abbr>
-      open_by_anonymous: Tạo vô danh <abbr title='%{exact_time}'>cách đây %{when}</abbr>
-      commented_by: Bình luận của %{user} <abbr title='%{exact_time}'>cách đây %{when}</abbr>
-      commented_by_anonymous: Bình luận vô danh <abbr title='%{exact_time}'>cách đây
-        %{when}</abbr>
-      closed_by: Giải quyết bởi %{user} <abbr title='%{exact_time}'>cách đây %{when}</abbr>
-      closed_by_anonymous: Giải quyết vô danh <abbr title='%{exact_time}'>cách đây
-        %{when}</abbr>
-      reopened_by: Mở lại bởi %{user} <abbr title='%{exact_time}'>cách đây %{when}</abbr>
-      reopened_by_anonymous: Mở lại vô danh <abbr title='%{exact_time}'>cách đây %{when}</abbr>
-      hidden_by: Ẩn bởi %{user} <abbr title='%{exact_time}'>cách đây %{when}</abbr>
+      open_by: Tạo bởi %{user} <abbr title='%{exact_time}'>%{when}</abbr>
+      open_by_anonymous: Tạo vô danh <abbr title='%{exact_time}'>%{when}</abbr>
+      commented_by: Bình luận của %{user} <abbr title='%{exact_time}'>%{when}</abbr>
+      commented_by_anonymous: Bình luận vô danh <abbr title='%{exact_time}'>%{when}</abbr>
+      closed_by: Giải quyết bởi %{user} <abbr title='%{exact_time}'>%{when}</abbr>
+      closed_by_anonymous: Giải quyết vô danh <abbr title='%{exact_time}'>%{when}</abbr>
+      reopened_by: Mở lại bởi %{user} <abbr title='%{exact_time}'>%{when}</abbr>
+      reopened_by_anonymous: Mở lại vô danh <abbr title='%{exact_time}'>%{when}</abbr>
+      hidden_by: Ẩn bởi %{user} <abbr title='%{exact_time}'>%{when}</abbr>
+      report: Báo cáo ghi chú này
     query:
       title: Thăm dò Yếu tố
       introduction: Nhấn chuột vào bản đồ để tìm những yếu tố lân cận.
       nearby: Yếu tố lân cận
       enclosing: Yếu tố bao gồm
     query:
       title: Thăm dò Yếu tố
       introduction: Nhấn chuột vào bản đồ để tìm những yếu tố lân cận.
       nearby: Yếu tố lân cận
       enclosing: Yếu tố bao gồm
-  changeset:
+  changesets:
     changeset_paging_nav:
       showing_page: Trang %{page}
       next: Sau »
     changeset_paging_nav:
       showing_page: Trang %{page}
       next: Sau »
@@ -233,84 +297,91 @@ vi:
       view_changeset_details: Xem chi tiết của bộ thay đổi
     changesets:
       id: ID
       view_changeset_details: Xem chi tiết của bộ thay đổi
     changesets:
       id: ID
-      saved_at: Lúc Lưu
+      saved_at: Lưu vào lúc
       user: Người dùng
       user: Người dùng
-      comment: Miêu tả
+      comment: Tóm lược
       area: Vùng
       area: Vùng
-    list:
+    index:
       title: Các bộ thay đổi
       title: Các bộ thay đổi
-      title_user: Những bộ thay đổi của %{user}
-      title_friend: Những bộ thay đổi của bạn bè
-      title_nearby: Những bộ thay đổi của người dùng ở gần
+      title_user: Những bộ thay đổi bởi %{user}
+      title_friend: Những bộ thay đổi bởi bạn bè của bạn
+      title_nearby: Những bộ thay đổi bởi người dùng ở gần
       empty: Không tìm thấy bộ thay đổi.
       empty_area: Không có bộ thay đổi trong khu vực này.
       empty: Không tìm thấy bộ thay đổi.
       empty_area: Không có bộ thay đổi trong khu vực này.
-      empty_user: Người dùng này không có bộ thay đổi nào.
-      no_more: Hết bộ thay đổi.
-      no_more_area: Hết bộ thay đổi trong khu vực này.
-      no_more_user: Hết bộ thay đổi của người dùng này.
-      load_more: Tải tiếp
+      empty_user: Không có bộ thay đổi bởi người dùng này.
+      no_more: Không tìm thấy thêm bộ thay đổi.
+      no_more_area: Không có thêm bộ thay đổi trong khu vực này.
+      no_more_user: Không có thêm bộ thay đổi bởi người dùng này.
+      load_more: Tải thêm
     timeout:
     timeout:
-      sorry: Rất tiếc, lấy danh sách bộ thay đổi tốn quá nhiều thì giờ.
-    rss:
+      sorry: Rất tiếc, việc lấy danh sách bộ thay đổi tốn quá nhiều thì giờ.
+  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 %{when}
+    comments:
+      comment: 'Nhận xét mới về bộ thay đổi #%{changeset_id} của %{author}'
+    index:
       title_all: Thảo luận về bộ thay đổi tại OpenStreetMap
       title_particular: 'Thảo luận về bộ thay đổi #%{changeset_id} tại OpenStreetMap'
       title_all: Thảo luận về bộ thay đổi tại OpenStreetMap
       title_particular: 'Thảo luận về bộ thay đổi #%{changeset_id} tại OpenStreetMap'
-      comment: 'Bình luận mới về bộ thay đổi #%{changeset_id} của %{author}'
-      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}
-      full: Thảo luận đầy đủ
-  diary_entry:
+    timeout:
+      sorry: Rất tiếc, việc lấy danh sách lời tóm lược bộ thay đổi tốn quá nhiều thì
+        giờ.
+  diary_entries:
     new:
     new:
-      title: Mục Nhật ký Mới
-      publish_button: Đăng
-    list:
-      title: Các Nhật ký Cá nhân
+      title: Mục nhật ký mới
+    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è
       title_nearby: Các nhật ký của người dùng ở gần
       user_title: Nhật ký của %{user}
       title_friends: Các nhật ký của bạn bè
       title_nearby: Các nhật ký của người dùng ở gần
       user_title: Nhật ký của %{user}
-      in_language_title: Các Mục Nhật ký bằng %{language}
-      new: Mục Nhật ký Mới
+      in_language_title: Các mục nhật ký bằng %{language}
+      new: Mục nhật ký mới
       new_title: Soạn thảo mục mới trong nhật ký của tôi
       no_entries: Chưa có mục nhật ký
       recent_entries: Mục nhật ký gần đây
       new_title: Soạn thảo mục mới trong nhật ký của tôi
       no_entries: Chưa có mục nhật ký
       recent_entries: Mục nhật ký gần đây
-      older_entries: Mục Trước
-      newer_entries: Mục Sau
+      older_entries: Mục cũ hơn
+      newer_entries: Mục mới hơn
     edit:
       title: Sửa đổi mục nhật ký
     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ý
       marker_text: Vị trí của mục nhật ký
-    view:
+    show:
       title: Nhật ký của %{user} | %{title}
       user_title: Nhật ký của %{user}
       title: Nhật ký của %{user} | %{title}
       user_title: Nhật ký của %{user}
-      leave_a_comment: Bình luận
-      login_to_leave_a_comment: '%{login_link} để bình luận'
+      leave_a_comment: Để lại nhận xét
+      login_to_leave_a_comment: '%{login_link} để nhận xét'
       login: Đăng nhập
       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}'
     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}'
-      body: Rất tiếc, không có mục hoặc bình luận trong nhật ký với ID %{id}. Xin
-        hãy kiểm tra chính tả, hoặc có lẽ bạn đã theo một liên kết sai.
+      body: Rất tiếc, không có mục hoặc ghi chú trong nhật ký với ID %{id}. Xin hãy
+        kiểm tra chính tả, hoặc có lẽ bạn đã theo một liên kết sai.
     diary_entry:
       posted_by: Do %{link_user} đăng vào %{created} bằng %{language_link}
     diary_entry:
       posted_by: Do %{link_user} đăng vào %{created} bằng %{language_link}
-      comment_link: Bình luận về mục này
+      comment_link: Nhận xét về mục này
       reply_link: Trả lời mục này
       comment_count:
         zero: Chưa có bình luận
         other: '%{count} bình luận'
       edit_link: Sửa đổi mục này
       hide_link: Ẩn mục này
       reply_link: Trả lời mục này
       comment_count:
         zero: Chưa có bình luận
         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
       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
     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
       confirm: Xác nhận
+      report: Báo cáo bình luận này
     location:
       location: 'Vị trí:'
       view: Xem
     location:
       location: 'Vị trí:'
       view: Xem
@@ -318,21 +389,20 @@ vi:
     feed:
       user:
         title: Các mục nhật ký của %{user}
     feed:
       user:
         title: Các mục nhật ký của %{user}
-        description: Những mục gần đây trong nhật ký OpenStreetMap của %{user}
+        description: Những mục gần đây trong nhật ký OpenStreetMap từ %{user}
       language:
         title: Các mục nhật ký OpenStreetMap bằng %{language_name}
         description: Những mục nhật ký gần đây của người dùng OpenStreetMap bằng %{language_name}
       all:
         title: Các mục nhật ký OpenStreetMap
       language:
         title: Các mục nhật ký OpenStreetMap bằng %{language_name}
         description: Những mục nhật ký gần đây của người dùng OpenStreetMap bằng %{language_name}
       all:
         title: Các mục nhật ký OpenStreetMap
-        description: Những mục nhật ký gần đây của người dùng OpenStreetMap
+        description: Những mục nhật ký gần đây từ người dùng OpenStreetMap
     comments:
     comments:
-      has_commented_on: '%{display_name} đã bình luận về các mục nhật ký sau'
+      has_commented_on: '%{display_name} đã nhận xét về các mục nhật ký sau'
       post: Mục nhật ký
       when: Lúc đăng
       post: Mục nhật ký
       when: Lúc đăng
-      comment: Bình luận
-      ago: cách đây %{ago}
-      newer_comments: Các Bình luận Sau
-      older_comments: Các Bình luận Trước
+      comment: Nhận xét
+      newer_comments: Các Nhận xét Mới hơn
+      older_comments: Các Nhận xét Cũ hơn
   geocoder:
     search:
       title:
   geocoder:
     search:
       title:
@@ -351,13 +421,16 @@ vi:
           chair_lift: Ghế Cáp treo
           drag_lift: Thang kéo trên Mặt đất
           gondola: Xe Cáp treo Nhỏ
           chair_lift: Ghế Cáp treo
           drag_lift: Thang kéo trên Mặt đất
           gondola: Xe Cáp treo Nhỏ
+          pylon: Cột tháp
           station: Trạm Cáp treo
         aeroway:
           aerodrome: Sân bay
           station: Trạm Cáp treo
         aeroway:
           aerodrome: Sân bay
+          airstrip: Bãi hạ cánh
           apron: Sân Đậu Máy bay
           gate: Cổng
           hangar: Nhà Máy bay
           helipad: Sân bay Trực thăng
           apron: Sân Đậu Máy bay
           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
           runway: Đường băng
           taxiway: Đường lăn
           terminal: Nhà ga Sân bay
@@ -499,6 +572,7 @@ vi:
           motorway: Đường Cao tốc
           motorway_junction: Ngã tư Đường Cao tốc
           motorway_link: Đường Cao tốc
           motorway: Đường Cao tốc
           motorway_junction: Ngã tư Đường Cao tốc
           motorway_link: Đường Cao tốc
+          passing_place: Nơi Vượt qua
           path: Lối
           pedestrian: Đường Dành cho Người Đi bộ
           platform: Sân ga
           path: Lối
           pedestrian: Đường Dành cho Người Đi bộ
           platform: Sân ga
@@ -617,31 +691,44 @@ vi:
           water_park: Công viên Nước
           "yes": Giải trí
         man_made:
           water_park: Công viên Nước
           "yes": Giải trí
         man_made:
+          adit: Lối vào
+          beacon: Đèn hiệu
           beehive: Tổ ong
           beehive: Tổ ong
+          breakwater: Đê chắn sóng
           bridge: Cầu
           bunker_silo: Boong ke
           chimney: Ống khói
           crane: Cần cẩu
           bridge: Cầu
           bunker_silo: Boong ke
           chimney: Ống khói
           crane: Cần cẩu
+          dolphin: Cột neo đậu
+          embankment: Đê
           flagpole: Cột cờ
           gasometer: Máy Đo Khí
           flagpole: Cột cờ
           gasometer: Máy Đo Khí
+          groyne: Đê biển
           kiln: Lò
           lighthouse: Hải đăng
           mast: Cột
           mine: Mỏ
           mineshaft: Hầm Mỏ
           kiln: Lò
           lighthouse: Hải đăng
           mast: Cột
           mine: Mỏ
           mineshaft: Hầm Mỏ
+          monitoring_station: Trạm quan sát bằng camera
+          petroleum_well: Giếng dầu
           pier: Cầu tàu
           pipeline: Ống dẫn
           silo: Xi lô
           pier: Cầu tàu
           pipeline: Ống dẫn
           silo: Xi lô
+          storage_tank: Bể chứa
           tower: Tháp
           wastewater_plant: Nhà máy Nước thải
           tower: Tháp
           wastewater_plant: Nhà máy Nước thải
+          watermill: Cối xay nước
           water_tower: Tháp nước
           water_well: Giếng
           water_tower: Tháp nước
           water_well: Giếng
+          water_works: Nhà máy Nước
+          windmill: Cối xay gió
           works: Nhà máy
           "yes": Nhân tạo
         military:
           airfield: Sân bay Không quân
           barracks: Trại Lính
           bunker: Boong ke
           works: Nhà máy
           "yes": Nhân tạo
         military:
           airfield: Sân bay Không quân
           barracks: Trại Lính
           bunker: Boong ke
+          "yes": Quân sự
         mountain_pass:
           "yes": Đèo
         natural:
         mountain_pass:
           "yes": Đèo
         natural:
@@ -687,6 +774,7 @@ vi:
           accountant: Kế toán viên
           administrative: Công sở
           architect: Kiến trúc sư
           accountant: Kế toán viên
           administrative: Công sở
           architect: Kiến trúc sư
+          association: Hiệp hội
           company: Công ty
           educational_institution: Học viện
           employment_agency: Trung tâm Tuyển dụng
           company: Công ty
           educational_institution: Học viện
           employment_agency: Trung tâm Tuyển dụng
@@ -794,6 +882,8 @@ vi:
           hairdresser: Tiệm Làm tóc
           hardware: Tiệm Ngũ kim
           hifi: Cửa hàng Hi-fi
           hairdresser: Tiệm Làm tóc
           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
           jewelry: Tiệm Kim hoàn
           kiosk: Quán
           laundry: Tiệm Giặt Quần áo
@@ -808,6 +898,7 @@ vi:
           optician: Tiệm Kính mắt
           organic: Tiệm Thực phẩm Hữu cơ
           outdoor: Tiệm Thể thao Ngoài trời
           optician: Tiệm Kính mắt
           organic: Tiệm Thực phẩm Hữu cơ
           outdoor: Tiệm Thể thao Ngoài trời
+          paint: Tiệm Sơn
           pet: Tiệm Vật nuôi
           pharmacy: Nhà thuốc
           photo: Tiệm Rửa Hình
           pet: Tiệm Vật nuôi
           pharmacy: Nhà thuốc
           photo: Tiệm Rửa Hình
@@ -829,7 +920,7 @@ vi:
           "yes": Tiệm
         tourism:
           alpine_hut: Túp lều Trên Núi
           "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ọ
           artwork: Tác phẩm Nghệ thuật
           attraction: Nơi Du lịch
           bed_and_breakfast: Nhà trọ
@@ -890,6 +981,111 @@ vi:
     results:
       no_results: Không tìm thấy kết quả
       more_results: Thêm kết quả
     results:
       no_results: Không tìm thấy kết quả
       more_results: Thêm kết quả
+  issues:
+    index:
+      title: Vấn đề
+      select_status: Chọn Trạng thái
+      select_type: Chọn Loại
+      select_last_updated_by: Chọn Người Cập nhật Cuối cùng
+      reported_user: Người dùng Báo cáo
+      not_updated: Không được Cập nhật
+      search: Tìm kiếm
+      search_guidance: 'Tìm kiếm Vấn đề:'
+      user_not_found: Người dùng không tồn tại
+      issues_not_found: Không tìm thấy vấn đề
+      status: Trạng thái
+      reports: Báo cáo
+      last_updated: Lần Cập nhật Cuối
+      last_updated_time_html: <abbr title='%{title}'>%{time}</abbr>
+      last_updated_time_user_html: <abbr title='%{title}'>%{time}</abbr> bởi %{user}
+      link_to_reports: Xem Báo cáo
+      reports_count:
+        one: 1 Báo cáo
+        other: '%{count} Báo cáo'
+      reported_item: Mục Báo cáo
+      states:
+        ignored: Bỏ qua
+        open: Mở
+        resolved: Giải quyết
+    update:
+      new_report: Lời báo cáo của bạn đã được gửi thành công
+      successful_update: Lời báo cáo của bạn đã được cập nhật thành công
+      provide_details: Vui lòng cung cấp các chi tiết được yêu cầu
+    show:
+      title: 'Vấn đề %{status} #%{issue_id}'
+      reports:
+        zero: Không có báo cáo
+        one: 1 báo cáo
+        other: '%{count} báo cáo'
+      report_created_at: Báo cáo lần đầu tiên vào %{datetime}
+      last_resolved_at: Giải quyết lần cuối cùng vào %{datetime}
+      last_updated_at: Cập nhật lần cuối cùng vào %{datetime} bởi %{displayname}
+      resolve: Giải quyết
+      ignore: Bỏ qua
+      reopen: Mở lại
+      reports_of_this_issue: Báo cáo về Vấn đề này
+      read_reports: Báo cáo Đã đọc
+      new_reports: Báo cáo Mới
+      other_issues_against_this_user: Vấn đề khác do người dùng này gây ra
+      no_other_issues: Không có vấn đề khác do người dùng ngày gây ra.
+      comments_on_this_issue: Bình luận về vấn đề này
+    resolve:
+      resolved: Trạng thái vấn đề được đánh dấu là “Giải quyết”
+    ignore:
+      ignored: Trạng thái vấn đề được đánh dấu là “Bỏ qua”
+    reopen:
+      reopened: Trạng thái vấn đề được đánh dấu là “Mở”
+    comments:
+      created_at: Vào %{datetime}
+      reassign_param: Chỉ định lại Vấn đề?
+    reports:
+      updated_at: Vào %{datetime}
+      reported_by_html: Báo cáo là %{category} bởi %{user}
+    helper:
+      reportable_title:
+        diary_comment: '%{entry_title}, bình luận #%{comment_id}'
+        note: 'Ghi chú #%{note_id}'
+  issue_comments:
+    create:
+      comment_created: Bình luận của bạn đã được tạo ra thành công
+  reports:
+    new:
+      title_html: Báo cáo %{link}
+      missing_params: Không thể tạo báo cáo mới
+      details: Vui lòng cung cấp thêm chi tiết về vấn đề (yêu cầu).
+      select: 'Chọn lý do bạn báo cáo vấn đề này:'
+      disclaimer:
+        intro: 'Trước khi bạn gửi báo cáo cho nhóm điều hành viên, xin hãy chắc chắn:'
+        not_just_mistake: Bạn chắc chắn rằng vấn đề không chỉ là vụ nhầm lẫn
+        unable_to_fix: Bạn không thể giải quyết vấn đề một mình hoặc với sự giúp đỡ
+          của những người khác trong cộng đồng
+        resolve_with_user: Bạn đã cố gắng giải quyết vấn đề với người dùng gây vấn
+          đề nhưng không thành công
+      categories:
+        diary_entry:
+          spam_label: Mục nhật ký này là hoặc chứa rác (spam)
+          offensive_label: Mục nhật ký này tục tĩu hoặc xúc phạm
+          threat_label: Mục nhật ký này đe họa người nào đó
+          other_label: Khác
+        diary_comment:
+          spam_label: Bình luận nhật ký này là hoặc chứa rác (spam)
+          offensive_label: Bình luận nhật ký này tục tĩu hoặc xúc phạm
+          threat_label: Bình luận nhật ký này hăm họa người nào đó
+          other_label: Khác
+        user:
+          spam_label: Trang cá nhân này là hoặc chứa rác (spam)
+          offensive_label: Trang cá nhân này tục tĩu hoặc xúc phạm
+          threat_label: Trang cá nhân này đe dọa người nào đó
+          vandal_label: Người dùng này phá hoại
+          other_label: Khác
+        note:
+          spam_label: Ghi chú này là rác (spam)
+          personal_label: Ghi chú này chứa thông tin cá nhân
+          abusive_label: Ghi chú này đe dọa
+          other_label: Khác
+    create:
+      successful_report: Lời báo cáo của bạn đã được gửi thành công
+      provide_details: Vui lòng cung cấp các chi tiết được yêu cầu
   layouts:
     logo:
       alt_text: Biểu trưng OpenStreetMap
   layouts:
     logo:
       alt_text: Biểu trưng OpenStreetMap
@@ -903,6 +1099,7 @@ vi:
     edit: Sửa đổi
     history: Lịch sử
     export: Xuất
     edit: Sửa đổi
     history: Lịch sử
     export: Xuất
+    issues: Vấn đề
     data: Dữ liệu
     export_data: Xuất Dữ liệu
     gps_traces: Tuyến GPS
     data: Dữ liệu
     export_data: Xuất Dữ liệu
     gps_traces: Tuyến GPS
@@ -915,12 +1112,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
     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
-    partners_html: Dịch vụ nhờ sự hỗ trợ hosting của %{ucl}, %{bytemark}, %{ic}, và
-      %{partners} khác.
+    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_ucl: UCL
-    partners_ic: Đại học Hoàng gia Luân Đôn
     partners_bytemark: Bytemark Hosting
     partners_partners: các công ty bảo trợ
     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
     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
@@ -969,7 +1166,7 @@ vi:
         failed_to_import: 'không nhập thành công. Đã gặp lỗi này:'
         more_info_1: Có thêm chi tiết về vụ nhập GPX bị thất bại và cách tránh
         more_info_2: 'vấn đề này tại:'
         failed_to_import: 'không nhập thành công. Đã gặp lỗi này:'
         more_info_1: Có thêm chi tiết về vụ nhập GPX bị thất bại và cách tránh
         more_info_2: 'vấn đề này tại:'
-        import_failures_url: http://wiki.openstreetmap.org/wiki/Vi:FAQ?uselang=vi
+        import_failures_url: https://wiki.openstreetmap.org/wiki/GPX_Import_Failures?uselang=vi
       success:
         subject: '[OpenStreetMap] Nhập GPX thành công'
         loaded_successfully: |-
       success:
         subject: '[OpenStreetMap] Nhập GPX thành công'
         loaded_successfully: |-
@@ -1079,8 +1276,8 @@ vi:
       send_message_to: Gửi thư mới cho %{name}
       subject: Tiêu đề
       body: Nội dung
       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
       back_to_inbox: Trở về hộp thư đến
+    create:
       message_sent: Thư đã gửi
       limit_exceeded: Bạn đã gửi nhiều thư gần đây. Vui lòng chờ đợi một chút để tiếp
         tục gửi thư.
       message_sent: Thư đã gửi
       limit_exceeded: Bạn đã gửi nhiều thư gần đây. Vui lòng chờ đợi một chút để tiếp
         tục gửi thư.
@@ -1151,7 +1348,7 @@ vi:
         Bản quyền và Giấy phép</a>.'
       legal_title: Pháp luật
       legal_html: |-
         Bản quyền và Giấy phép</a>.'
       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 <a href='https://osmfoundation.org/?uselang=vi'>Quỹ OpenStreetMap</a> (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 <a href="https://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy?uselang=vi">các Quy định Sử dụng Hợp lý</a> và <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy?uselang=vi">Quy định về Quyền Riêng tư</a> 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 <a href='https://osmfoundation.org/?uselang=vi'>Quỹ OpenStreetMap</a> (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 <a href="https://wiki.osmfoundation.org/wiki/Terms_of_Use?uselang=vi">các Điều khoản Sử dụng</a>, <a href="https://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy?uselang=vi">các Quy định Sử dụng Hợp lý</a>, và <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy?uselang=vi">Quy định về Quyền Riêng tư</a> của chúng tôi.
         <br>
         Xin vui lòng <a href='https://osmfoundation.org/Contact?uselang=vi'>liên lạc với OSMF</a> 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.
         <br>
         <br>
         Xin vui lòng <a href='https://osmfoundation.org/Contact?uselang=vi'>liên lạc với OSMF</a> 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.
         <br>
@@ -1222,6 +1419,8 @@ vi:
           BY</a>), <a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Bang
           Vorarlberg</a>, và Bang Tyrol (theo <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">bản
           sửa đổi CC BY Áo</a>).'
           BY</a>), <a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Bang
           Vorarlberg</a>, và Bang Tyrol (theo <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">bản
           sửa đổi CC BY Áo</a>).'
+        contributors_au_html: '<strong>Úc</strong>: Bao gồm dữ liệu về ngoại ô dựa
+          trên dữ liệu của Cục Thống kê Úc.'
         contributors_ca_html: '<strong>Canada</strong>: Bao gồm dữ liệu từ GeoBase®,
           GeoGratis (© Bộ Tài nguyên Canada), CanVec (© Bộ Tài nguyên Canada), và
           StatCan (Sở Địa lý, Statistics Canada).'
         contributors_ca_html: '<strong>Canada</strong>: Bao gồm dữ liệu từ GeoBase®,
           GeoGratis (© Bộ Tài nguyên Canada), CanVec (© Bộ Tài nguyên Canada), và
           StatCan (Sở Địa lý, Statistics Canada).'
@@ -1241,11 +1440,16 @@ vi:
           href=\"http://www.gu.gov.si/en/\">Cơ quan Khảo sát và Bản đồ</a> và\n<a
           href=\"http://www.mkgp.gov.si/en/\">Cục Nông nghiệp, Lâm nghiệp, và Thức
           ăn</a>\n(thông tin công cộng của Slovenia)."
           href=\"http://www.gu.gov.si/en/\">Cơ quan Khảo sát và Bản đồ</a> và\n<a
           href=\"http://www.mkgp.gov.si/en/\">Cục Nông nghiệp, Lâm nghiệp, và Thức
           ăn</a>\n(thông tin công cộng của Slovenia)."
+        contributors_es_html: "<strong>Tây Ban Nha</strong>: Bao gồm dữ liệu bắt nguồn
+          từ \nViện Địa lý Quốc gia Tây Ban Nha (<a href=\"http://www.ign.es/\">IGN</a>)
+          và\nHệ thống Bản đồ Quốc gia (<a href=\"http://www.scne.es/\">SCNE</a>)\nđược
+          cấp phép tái sử dụng theo <a href=\"https://creativecommons.org/licenses/by/4.0/deed.vi\">CC
+          BY 4.0</a>."
         contributors_za_html: '<strong>Nam Phi</strong>: Bao gồm dữ liệu từ <a href="http://www.ngi.gov.za/">Tổng
           cục: Thông tin Không gian địa lý Quốc gia</a>, bản quyền nhà nước được bảo
           lưu.'
         contributors_gb_html: '<strong>Vương quốc Anh</strong>: Bao gồm dữ liệu Ordnance
         contributors_za_html: '<strong>Nam Phi</strong>: Bao gồm dữ liệu từ <a href="http://www.ngi.gov.za/">Tổng
           cục: Thông tin Không gian địa lý Quốc gia</a>, bản quyền nhà nước được bảo
           lưu.'
         contributors_gb_html: '<strong>Vương quốc Anh</strong>: 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 <a
           href="https://wiki.openstreetmap.org/wiki/Contributors?uselang=vi">trang Người đóng góp</a> trên OpenStreetMap Wiki.
         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 <a
           href="https://wiki.openstreetmap.org/wiki/Contributors?uselang=vi">trang Người đóng góp</a> trên OpenStreetMap Wiki.
@@ -1259,7 +1463,7 @@ vi:
         infringement_2_html: Nếu bạn tin rằng tài liệu có bản quyền đã được bổ sung
           vào cơ sở dữ liệu OpenStreetMap hoặc trang này một cách không thích đáng,
           xin vui lòng tham khảo <a href="https://www.osmfoundation.org/wiki/License/Takedown_procedure?uselang=vi">quá
         infringement_2_html: Nếu bạn tin rằng tài liệu có bản quyền đã được bổ sung
           vào cơ sở dữ liệu OpenStreetMap hoặc trang này một cách không thích đáng,
           xin vui lòng tham khảo <a href="https://www.osmfoundation.org/wiki/License/Takedown_procedure?uselang=vi">quá
-          trình <i>takedown</i></a> hoặc nộp đơn trực tiếp tại <a href="http://dmca.openstreetmap.org/">trang
+          trình <i>takedown</i></a> hoặc nộp đơn trực tiếp tại <a href="https://dmca.openstreetmap.org/">trang
           khiếu nại trực tuyến</a> của chúng tôi.
         trademarks_title_html: <span id="trademarks"></span>Nhãn hiệu
         trademarks_1_html: OpenStreetMap, biểu trưng kính lúp, và State of the Map
           khiếu nại trực tuyến</a> của chúng tôi.
         trademarks_title_html: <span id="trademarks"></span>Nhãn hiệu
         trademarks_1_html: OpenStreetMap, biểu trưng kính lúp, và State of the Map
@@ -1369,7 +1573,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
         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
         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
@@ -1377,7 +1581,7 @@ vi:
         description: Hướng dẫn bắt đầu do cộng đồng biên tập.
       help:
         url: https://help.openstreetmap.org/
         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:
         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:
@@ -1394,9 +1598,14 @@ vi:
         title: switch2osm
         description: Trợ giúp cho những công ty và tổ chức muốn đổi qua các bản đồ
           và dịch vụ dựa trên OpenStreetMap.
         title: switch2osm
         description: Trợ giúp cho những công ty và tổ chức muốn đổi qua các bản đồ
           và dịch vụ dựa trên OpenStreetMap.
+      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
       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
         description: Đọc tài liệu đầy đủ về OSM trên wiki.
     sidebar:
       search_results: Kết quả Tìm kiếm
@@ -1485,7 +1694,7 @@ vi:
       edit: Sửa đổi
       preview: Xem trước
     markdown_help:
       edit: Sửa đổi
       preview: Xem trước
     markdown_help:
-      title_html: Trang trí dùng cú pháp <a href="https://daringfireball.net/projects/markdown/">Markdown</a>
+      title_html: Trang trí dùng cú pháp <a href="https://kramdown.gettalong.org/quickref.html">kramdown</a>
       headings: Đề mục
       heading: Đề mục
       subheading: Đề mục con
       headings: Đề mục
       heading: Đề mục
       subheading: Đề mục con
@@ -1537,7 +1746,7 @@ vi:
         title: Có thắc mắc?
         paragraph_1_html: |-
           OpenStreetMap có nhiều tài nguyên để cho bạn tìm hiểu về dự án, hỏi đáp, và cộng tác soạn thảo tài liệu về các đề tài bản đồ.
         title: Có thắc mắc?
         paragraph_1_html: |-
           OpenStreetMap có nhiều tài nguyên để cho bạn tìm hiểu về dự án, hỏi đáp, và cộng tác soạn thảo tài liệu về các đề tài bản đồ.
-          <a href='%{help_url}'>Nhận trợ giúp tại đây</a>.
+          <a href='%{help_url}'>Nhận trợ giúp tại đây</a>. Nếu bạn thuộc về một tổ chức đang lập kế hoạch về OpenStreetMap, <a href='https://welcome.openstreetmap.org/'>hãy xem phần Thảm cửa Chào mừng</a>.
       start_mapping: Bắt đầu Đóng góp
       add_a_note:
         title: Không có Thì giờ Sửa đổi? Thêm một Ghi chú!
       start_mapping: Bắt đầu Đóng góp
       add_a_note:
         title: Không có Thì giờ Sửa đổi? Thêm một Ghi chú!
@@ -1555,6 +1764,7 @@ vi:
       identifiable: Nhận ra được (hiển thị trong danh sách tuyến đường là một dãy
         điểm có tên và thời điểm)
     new:
       identifiable: Nhận ra được (hiển thị trong danh sách tuyến đường là một dãy
         điểm có tên và thời điểm)
     new:
+      upload_trace: Tải lên Tuyến đường GPS
       upload_gpx: 'Tải lên Tập tin GPX:'
       description: 'Miêu tả:'
       tags: 'Thẻ:'
       upload_gpx: 'Tải lên Tập tin GPX:'
       description: 'Miêu tả:'
       tags: 'Thẻ:'
@@ -1562,7 +1772,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
       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:
       help: Trợ giúp
       help_url: http://wiki.openstreetmap.org/wiki/Upload?uselang=vi
     create:
@@ -1570,6 +1779,8 @@ vi:
       trace_uploaded: Tập tin GPX của bạn đã được tải lên và đang chờ được chèn vào
         cơ sở dữ liệu. Thường chỉ cần chờ đợi trong vòng nửa tiếng, và bạn sẽ nhận
         thư điện tử lúc khi nó xong.
       trace_uploaded: Tập tin GPX của bạn đã được tải lên và đang chờ được chèn vào
         cơ sở dữ liệu. Thường chỉ cần chờ đợi trong vòng nửa tiếng, và bạn sẽ nhận
         thư điện tử lúc khi nó xong.
+      upload_failed: Rất tiếc, việc tải lên tuyến GPX bị thất bại. Một quản lý viên
+        đã được thông báo. Xin vui lòng thử lại.
       traces_waiting: Bạn có %{count} tuyến đường đang chờ được tải lên. Xin hãy chờ
         đợi việc xong trước khi tải lên thêm tuyến đường, để cho người khác vào hàng
         đợi kịp.
       traces_waiting: Bạn có %{count} tuyến đường đang chờ được tải lên. Xin hãy chờ
         đợi việc xong trước khi tải lên thêm tuyến đường, để cho người khác vào hàng
         đợi kịp.
@@ -1587,13 +1798,14 @@ vi:
       description: 'Miêu tả:'
       tags: 'Thẻ:'
       tags_help: dấu phẩy phân cách
       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
       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
+    update:
+      updated: Đã cập nhật tuyến đường
     trace_optionals:
       tags: Thẻ
     trace_optionals:
       tags: Thẻ
-    view:
+    show:
       title: Xem tuyến đường %{name}
       heading: Xem tuyến đường %{name}
       pending: CHƯA XỬ
       title: Xem tuyến đường %{name}
       heading: Xem tuyến đường %{name}
       pending: CHƯA XỬ
@@ -1608,8 +1820,8 @@ vi:
       description: 'Miêu tả:'
       tags: 'Thẻ:'
       none: Không có
       description: 'Miêu tả:'
       tags: 'Thẻ:'
       none: Không có
-      edit_track: Sửa đổi tuyến đường này
-      delete_track: Xóa tuyến đường này
+      edit_trace: Sửa đổi tuyến đường này
+      delete_trace: Xóa tuyến đường này
       trace_not_found: Không tìm thấy tuyến đường!
       visibility: 'Mức độ truy cập:'
       confirm_delete: Xóa tuyến đường này?
       trace_not_found: Không tìm thấy tuyến đường!
       visibility: 'Mức độ truy cập:'
       confirm_delete: Xóa tuyến đường này?
@@ -1620,7 +1832,6 @@ vi:
     trace:
       pending: CHƯA XỬ
       count_points: '%{count} nốt'
     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 đồ
       more: thêm
       trace_details: Xem Chi tiết Tuyến đường
       view_map: Xem Bản đồ
@@ -1633,7 +1844,7 @@ vi:
       by: bởi
       in: trong
       map: bản đồ
       by: bởi
       in: trong
       map: bản đồ
-    list:
+    index:
       public_traces: Tuyến đường GPS công khai
       my_traces: Tuyên đường GPS của tôi
       public_traces_from: Tuyến đường GPS công khai của %{user}
       public_traces: Tuyến đường GPS công khai
       my_traces: Tuyên đường GPS của tôi
       public_traces_from: Tuyến đường GPS công khai của %{user}
@@ -1661,11 +1872,12 @@ 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:
         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.
     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.
-    require_moderator:
-      not_a_moderator: Chỉ có các điều hành viên được phép thực hiện tác vụ đó.
+    require_admin:
+      not_an_admin: Chỉ các quản lý viên có quyền thực hiện tác vụ đó.
     setup_user_auth:
       blocked_zero_hour: Bạn có tin nhắn mới rất quan trọng tại trang Web OpenStreetMap.
         Bạn phải đọc tin nhắn này trước khi được phép lưu thêm thay đổi.
     setup_user_auth:
       blocked_zero_hour: Bạn có tin nhắn mới rất quan trọng tại trang Web OpenStreetMap.
         Bạn phải đọc tin nhắn này trước khi được phép lưu thêm thay đổi.
@@ -1705,10 +1917,8 @@ vi:
   oauth_clients:
     new:
       title: Đăng ký chương trình mới
   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
     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:'
     show:
       title: Chi tiết OAuth của %{app_name}
       key: 'Từ khóa Tiêu dùng:'
@@ -1763,7 +1973,7 @@ vi:
       flash: Đã cập nhật thông tin trình khách thành công
     destroy:
       flash: Đã xóa đăng ký trình khách
       flash: Đã cập nhật thông tin trình khách thành công
     destroy:
       flash: Đã xóa đăng ký trình khách
-  user:
+  users:
     login:
       title: Đăng nhập
       heading: Đăng nhập
     login:
       title: Đăng nhập
       heading: Đăng nhập
@@ -1872,22 +2082,29 @@ vi:
       terms declined: Chúng tôi rất tiếc rằng bạn đã quyết định không chấp nhận các
         Điều khoản Đóng góp mới. Vui lòng xem chi tiết tại <a href="%{url}">trang
         wiki này</a>.
       terms declined: Chúng tôi rất tiếc rằng bạn đã quyết định không chấp nhận các
         Điều khoản Đóng góp mới. Vui lòng xem chi tiết tại <a href="%{url}">trang
         wiki này</a>.
-      terms declined url: http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined?uselang=vi
+      terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined?uselang=vi
     terms:
     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ì?
         thuộc về phạm vi công cộng
       consider_pd_why: đây là gì?
-      consider_pd_why_url: http://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain?uselang=vi
+      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: <a href="%{summary}">bản
         tóm tắt dễ đọc</a> và <a href="%{translations}">một số bản dịch không chính
         thức</a>'
       guidance: 'Thông tin để tìm hiểu về các điều khoản này: <a href="%{summary}">bản
         tóm tắt dễ đọc</a> và <a href="%{translations}">một số bản dịch không chính
         thức</a>'
-      agree: Chấp nhận
-      declined: http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined?uselang=vi
+      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
         Đóng góp mới và chấp nhận hoặc từ chối chúng.
       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
         Đóng góp mới và chấp nhận hoặc từ chối chúng.
@@ -1902,7 +2119,7 @@ vi:
       body: Rất tiếc, không có người dùng với tên %{user}. Xin hãy kiểm tra chính
         tả, hoặc có lẽ bạn đã theo một liên kết sai.
       deleted: đã xóa
       body: Rất tiếc, không có người dùng với tên %{user}. Xin hãy kiểm tra chính
         tả, hoặc có lẽ bạn đã theo một liên kết sai.
       deleted: đã xóa
-    view:
+    show:
       my diary: Nhật ký của Tôi
       new diary entry: mục nhật ký mới
       my edits: Đóng góp của Tôi
       my diary: Nhật ký của Tôi
       new diary entry: mục nhật ký mới
       my edits: Đóng góp của Tôi
@@ -1923,12 +2140,10 @@ vi:
       remove as friend: Hủy Kết Bạn
       add as friend: Kết Bạn
       mapper since: 'Tham gia:'
       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 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:'
       email address: 'Địa chỉ thư điện tử:'
       created from: 'Địa chỉ IP khi mở:'
       status: 'Trạng thái:'
@@ -1968,6 +2183,7 @@ vi:
       friends_diaries: mục nhật ký của bạn bè
       nearby_changesets: bộ thay đổi của người dùng ở gần
       nearby_diaries: mục nhật ký của người dùng ở gần
       friends_diaries: mục nhật ký của bạn bè
       nearby_changesets: bộ thay đổi của người dùng ở gần
       nearby_diaries: mục nhật ký của người dùng ở gần
+      report: Báo cáo Người dùng này
     popup:
       your location: Vị trí của bạn
       nearby mapper: Người vẽ bản đồ ở gần
     popup:
       your location: Vị trí của bạn
       nearby mapper: Người vẽ bản đồ ở gần
@@ -2006,7 +2222,7 @@ vi:
           lại và chấp nhận các Điều khoản Đóng góp mới.
         agreed_with_pd: Bạn cũng đã tuyên bố coi rằng các đóng góp của bạn thuộc về
           phạm vi công cộng.
           lại và chấp nhận các Điều khoản Đóng góp mới.
         agreed_with_pd: Bạn cũng đã tuyên bố coi rằng các đóng góp của bạn thuộc về
           phạm vi công cộng.
-        link: http://www.osmfoundation.org/wiki/License/Contributor_Terms?uselang=vi
+        link: https://wiki.osmfoundation.org/wiki/Licence/Contributor_Terms?uselang=vi
         link text: đây là gì?
       profile description: 'Tự giới thiệu:'
       preferred languages: 'Ngôn ngữ Ưu tiên:'
         link text: đây là gì?
       profile description: 'Tự giới thiệu:'
       preferred languages: 'Ngôn ngữ Ưu tiên:'
@@ -2014,7 +2230,7 @@ vi:
       image: 'Hình:'
       gravatar:
         gravatar: Sử dụng Gravatar
       image: 'Hình:'
       gravatar:
         gravatar: Sử dụng Gravatar
-        link: http://wiki.openstreetmap.org/wiki/Gravatar?uselang=vi
+        link: https://wiki.openstreetmap.org/wiki/Gravatar?uselang=vi
         link text: đây là gì?
         disabled: Hình Gravatar của bạn đã bị tắt.
         enabled: Hình Gravatar của bạn đã bị kích hoạt.
         link text: đây là gì?
         disabled: Hình Gravatar của bạn đã bị tắt.
         enabled: Hình Gravatar của bạn đã bị kích hoạt.
@@ -2077,9 +2293,7 @@ vi:
       button: Hủy kết nối bạn
       success: '%{name} đã được xóa khỏi danh sách bạn của bạn.'
       not_a_friend: '%{name} đã không phải người bạn.'
       button: Hủy kết nối bạn
       success: '%{name} đã được xóa khỏi danh sách bạn của bạn.'
       not_a_friend: '%{name} đã không phải người bạn.'
-    filter:
-      not_an_administrator: Chỉ các quản lý viên có quyền thực hiện tác vụ đó.
-    list:
+    index:
       title: Người dùng
       heading: Người dùng
       showing:
       title: Người dùng
       heading: Người dùng
       showing:
@@ -2117,8 +2331,6 @@ vi:
         bạn trong tùy chọn.
   user_role:
     filter:
         bạn trong tùy chọn.
   user_role:
     filter:
-      not_an_administrator: Chỉ các quản lý viên có quyền quản lý quyền của người
-        dùng, nhưng bạn không phải là quản lý viên.
       not_a_role: Chuỗi “%{role}” không phải là vai trò hợp lệ.
       already_has_role: Người dùng đã có vai trò %{role}.
       doesnt_have_role: Người dùng không có vai trò %{role}.
       not_a_role: Chuỗi “%{role}” không phải là vai trò hợp lệ.
       already_has_role: Người dùng đã có vai trò %{role}.
       doesnt_have_role: Người dùng không có vai trò %{role}.
@@ -2153,7 +2365,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ờ.
         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ý.
       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ý.
@@ -2167,7 +2378,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ờ.
         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?
       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?
@@ -2193,16 +2403,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}.
       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.
       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.
     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}
     blocks_on:
       title: Các tác vụ cấm %{name}
       heading: Danh sách tác vụ cấm %{name}
@@ -2214,10 +2425,7 @@ vi:
     show:
       title: '%{block_on} bị cấm bởi %{block_by}'
       heading: '%{block_on} bị cấm bởi %{block_by}'
     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
       created: Tạo
-      ago: cách đây %{time}
       status: Trạng thái
       show: Hiện
       edit: Sửa đổi
       status: Trạng thái
       show: Hiện
       edit: Sửa đổi
@@ -2242,37 +2450,15 @@ vi:
       next: Sau »
       previous: « Trước
   notes:
       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}
     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
       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:
   javascripts:
     close: Đóng
     share:
@@ -2322,6 +2508,7 @@ vi:
         title: Lớp
       copyright: © <a href='%{copyright_url}'>những người đóng góp vào OpenStreetMap</a>
       donate_link_text: <a class='donate-attr' href='%{donate_url}'>Quyên góp</a>
         title: Lớp
       copyright: © <a href='%{copyright_url}'>những người đóng góp vào OpenStreetMap</a>
       donate_link_text: <a class='donate-attr' href='%{donate_url}'>Quyên góp</a>
+      terms: <a href='%{terms_url}' target='_blank'>Điều khoản trang Web và API</a>
     site:
       edit_tooltip: Sửa đổi bản đồ
       edit_disabled_tooltip: Phóng to để sửa đổi bản đồ
     site:
       edit_tooltip: Sửa đổi bản đồ
       edit_disabled_tooltip: Phóng to để sửa đổi bản đồ
@@ -2360,13 +2547,12 @@ vi:
     directions:
       ascend: Lên
       engines:
     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)
         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
       descend: Xuống
       directions: Chỉ đường
       distance: Tầm xa
@@ -2463,7 +2649,6 @@ vi:
     edit:
       description: Miêu tả
       heading: Sửa đổi dãy ẩn
     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.
       title: Sửa đổi dãy ẩn
     index:
       empty: Không có dãy ẩn để xem.
@@ -2472,7 +2657,6 @@ vi:
     new:
       description: Miêu tả
       heading: Ghi thông tin của dãy ẩn mới
     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ả:'
       title: Đang ẩn dãy phiên bản
     show:
       description: 'Miêu tả:'
@@ -2491,4 +2675,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.
         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})
 ...
 ...