]> git.openstreetmap.org Git - rails.git/blobdiff - config/locales/vi.yml
Ensure that urls are only valid if the entire string is a url
[rails.git] / config / locales / vi.yml
index 3a1a8091d69a8ab88abaac0ae9aeaf65a3c011c1..8faf3b7b731612d9f069e9cef99b839cfe9675a6 100644 (file)
@@ -1,6 +1,7 @@
 # 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: Ioe2015
 # Author: Abijeet Patro
 # Author: Dinhxuanduyet
 # Author: Ioe2015
 # 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:
     errors:
       messages:
   activerecord:
     errors:
       messages:
@@ -91,6 +118,45 @@ 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
+      about_x_months:
+        one: khoảng 1 tháng trước
+        other: khoảng %{count} tháng trước
+      about_x_years:
+        one: khoảng 1 năm trước
+        other: khoảng %{count} năm trước
+      almost_x_years:
+        one: gần 1 năm trước
+        other: gần %{count} năm trước
+      half_a_minute: 30 giây trước
+      less_than_x_seconds:
+        one: trong vòng 1 giây trước
+        other: trong vòng %{count} giây trước
+      less_than_x_minutes:
+        one: trong vòng 1 phút trước
+        other: trong vòng %{count} phút trước
+      over_x_years:
+        one: hơn 1 năm trước
+        other: hơn %{count} năm trước
+      x_seconds:
+        one: 1 giây trước
+        other: '%{count} giây trước'
+      x_minutes:
+        one: 1 phút trước
+        other: '%{count} phút trước'
+      x_days:
+        one: 1 ngày trước
+        other: '%{count} ngày trước'
+      x_months:
+        one: 1 tháng trước
+        other: '%{count} tháng 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:
@@ -108,14 +174,14 @@ vi:
   api:
     notes:
       comment:
   api:
     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}
+        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
       rss:
         title: Ghi chú OpenStreetMap
         description_area: Danh sách các ghi chú được mở, bình luận, hoặc đóng trong
@@ -131,12 +197,12 @@ vi:
   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
@@ -156,9 +222,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:
@@ -169,28 +234,28 @@ vi:
       still_open: Bộ thay đổi đang mở – có thể thảo luận sau khi bộ thay đổi được
         đóng.
     node:
       still_open: Bộ thay đổi đang mở – có thể thảo luận sau khi bộ thay đổi được
         đóng.
     node:
-      title: 'Nốt: %{name}'
-      history_title: 'Lịch sử Nốt: %{name}'
+      title_html: 'Nốt: %{name}'
+      history_title_html: 'Lịch sử Nốt: %{name}'
     way:
     way:
-      title: 'Lối: %{name}'
-      history_title: 'Lịch sử Lối: %{name}'
+      title_html: 'Lối: %{name}'
+      history_title_html: 'Lịch sử Lối: %{name}'
       nodes: Các nốt
       nodes: Các nốt
-      also_part_of:
+      also_part_of_html:
         one: trực thuộc lối %{related_ways}
         other: trực thuộc các lối %{related_ways}
     relation:
         one: trực thuộc lối %{related_ways}
         other: trực thuộc các lối %{related_ways}
     relation:
-      title: 'Quan hệ: %{name}'
-      history_title: 'Lịch sử Quan hệ: %{name}'
+      title_html: 'Quan hệ: %{name}'
+      history_title_html: 'Lịch sử Quan hệ: %{name}'
       members: Các thành viên
     relation_member:
       members: Các thành viên
     relation_member:
-      entry_role: '%{type} %{name} với vai trò %{role}'
+      entry_role_html: '%{type} %{name} với vai trò %{role}'
       type:
         node: Nốt
         way: Lối
         relation: Quan hệ
     containing_relation:
       type:
         node: Nốt
         way: Lối
         relation: Quan hệ
     containing_relation:
-      entry: Quan hệ %{relation_name}
-      entry_role: 'Quan hệ %{relation_name} (vai trò: %{relation_role})'
+      entry_html: Quan hệ %{relation_name}
+      entry_role_html: 'Quan hệ %{relation_name} (vai trò: %{relation_role})'
     not_found:
       sorry: 'Rất tiếc, không tìm thấy %{type} #%{id}.'
       type:
     not_found:
       sorry: 'Rất tiếc, không tìm thấy %{type} #%{id}.'
       type:
@@ -228,7 +293,9 @@ vi:
         tag: Trang wiki miêu tả thẻ %{key}=%{value}
       wikidata_link: Khoản mục %{page} trên Wikidata
       wikipedia_link: Bài %{page} trên Wikipedia
         tag: Trang wiki miêu tả thẻ %{key}=%{value}
       wikidata_link: Khoản mục %{page} trên Wikidata
       wikipedia_link: Bài %{page} trên Wikipedia
+      wikimedia_commons_link: Mục %{page} tại Wikimedia Commons
       telephone_link: Gọi %{phone_number}
       telephone_link: Gọi %{phone_number}
+      colour_preview: Xem trước màu %{colour_value}
     note:
       title: 'Ghi chú: %{id}'
       new_note: Ghi chú Mới
     note:
       title: 'Ghi chú: %{id}'
       new_note: Ghi chú Mới
@@ -236,17 +303,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_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>
+      opened_by: Tạo bởi %{user} <abbr title='%{exact_time}'>%{when}</abbr>
+      opened_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ố
       report: Báo cáo ghi chú này
     query:
       title: Thăm dò Yếu tố
@@ -285,7 +350,7 @@ vi:
   changeset_comments:
     comment:
       comment: 'Nhận xét mới về bộ thay đổi #%{changeset_id} của %{author}'
   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:
     comments:
       comment: 'Nhận xét mới về bộ thay đổi #%{changeset_id} của %{author}'
     index:
@@ -297,7 +362,14 @@ vi:
   diary_entries:
     new:
       title: Mục nhật ký mới
   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è
     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è
@@ -312,29 +384,20 @@ vi:
       newer_entries: Mục mới hơn
     edit:
       title: Sửa đổi mục nhật ký
       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}
       user_title: Nhật ký của %{user}
       leave_a_comment: Để lại nhận xét
       marker_text: Vị trí của mục nhật ký
     show:
       title: Nhật ký của %{user} | %{title}
       user_title: Nhật ký của %{user}
       leave_a_comment: Để lại nhận xét
-      login_to_leave_a_comment: '%{login_link} để nhận xét'
+      login_to_leave_a_comment_html: '%{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}'
       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:
     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 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}
+      posted_by_html: Do %{link_user} đăng vào %{created} bằng %{language_link}
       comment_link: Nhận xét về mục này
       reply_link: Trả lời mục này
       comment_count:
       comment_link: Nhận xét về mục này
       reply_link: Trả lời mục này
       comment_count:
@@ -342,11 +405,13 @@ vi:
         other: '%{count} bình luận'
       edit_link: Sửa đổi mục này
       hide_link: Ẩn mục này
         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:
       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}
+      comment_from_html: Bình luận của %{link_user} vào %{comment_created_at}
       hide_link: Ẩn bình luận này
       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:
       confirm: Xác nhận
       report: Báo cáo bình luận này
     location:
@@ -368,20 +433,19 @@ vi:
       post: Mục nhật ký
       when: Lúc đăng
       comment: Nhận xét
       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:
     search:
       title:
       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:
-        latlon: Kết quả <a href="https://www.openstreetmap.org/">nội bộ</a>
-        ca_postcode: Kết quả <a href="https://www.geocoder.ca/">Geocoder.CA</a>
-        osm_nominatim: Kết quả <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
+        latlon_html: Kết quả <a href="https://www.openstreetmap.org/">nội bộ</a>
+        ca_postcode_html: Kết quả <a href="https://www.geocoder.ca/">Geocoder.CA</a>
+        osm_nominatim_html: Kết quả <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
           Nominatim</a>
           Nominatim</a>
-        geonames: Kết quả <a href="http://www.geonames.org/">GeoNames</a>
-        osm_nominatim_reverse: Kết quả <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
+        geonames_html: Kết quả <a href="http://www.geonames.org/">GeoNames</a>
+        osm_nominatim_reverse_html: Kết quả <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
           Nominatim</a>
           Nominatim</a>
-        geonames_reverse: Kết quả <a href="http://www.geonames.org/">GeoNames</a>
+        geonames_reverse_html: Kết quả <a href="http://www.geonames.org/">GeoNames</a>
     search_osm_nominatim:
       prefix:
         aerialway:
     search_osm_nominatim:
       prefix:
         aerialway:
@@ -389,6 +453,7 @@ 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ỏ
+          platter: Đĩa Treo
           pylon: Cột tháp
           station: Trạm Cáp treo
         aeroway:
           pylon: Cột tháp
           station: Trạm Cáp treo
         aeroway:
@@ -398,6 +463,7 @@ vi:
           gate: Cổng
           hangar: Nhà Máy bay
           helipad: Sân bay Trực thăng
           gate: Cổng
           hangar: Nhà Máy bay
           helipad: Sân bay Trực thăng
+          holding_position: Chỗ Dừng Máy bay
           parking_position: Chỗ Đậu Máy bay
           runway: Đường băng
           taxiway: Đường lăn
           parking_position: Chỗ Đậu Máy bay
           runway: Đường băng
           taxiway: Đường lăn
@@ -444,6 +510,7 @@ vi:
           fuel: Cây xăng
           gambling: Xe Cáp treo Lớn
           grave_yard: Nghĩa địa
           fuel: Cây xăng
           gambling: Xe Cáp treo Lớn
           grave_yard: Nghĩa địa
+          grit_bin: Thùng Muối
           hospital: Bệnh viện
           hunting_stand: Ghế Dựng để Săn bắn
           ice_cream: Tiệm Kem
           hospital: Bệnh viện
           hunting_stand: Ghế Dựng để Săn bắn
           ice_cream: Tiệm Kem
@@ -491,6 +558,7 @@ vi:
           village_hall: Trụ sở Làng
           waste_basket: Thùng rác
           waste_disposal: Thùng rác
           village_hall: Trụ sở Làng
           waste_basket: Thùng rác
           waste_disposal: Thùng rác
+          water_point: Trạm Đóng Bình Nước uống
           youth_centre: Trung tâm Thanh niên
         boundary:
           administrative: Biên giới Hành chính
           youth_centre: Trung tâm Thanh niên
         boundary:
           administrative: Biên giới Hành chính
@@ -499,6 +567,7 @@ vi:
           protected_area: Khu bảo tồn
         bridge:
           aqueduct: Cống nước
           protected_area: Khu bảo tồn
         bridge:
           aqueduct: Cống nước
+          boardwalk: Lối đi có Lót Ván
           suspension: Cầu Treo
           swing: Cầu Quay
           viaduct: Cầu Cạn
           suspension: Cầu Treo
           swing: Cầu Quay
           viaduct: Cầu Cạn
@@ -518,9 +587,11 @@ vi:
           "yes": Doanh nghiệp Thủ công
         emergency:
           ambulance_station: Trạm Xe cứu thương
           "yes": Doanh nghiệp Thủ công
         emergency:
           ambulance_station: Trạm Xe cứu thương
+          assembly_point: Điểm Tập trung Khẩn cấp
           defibrillator: Máy Khử Rung Tim
           landing_site: Nơi Hạ cánh Khẩn cấp
           phone: Điện thoại Khẩn cấp
           defibrillator: Máy Khử Rung Tim
           landing_site: Nơi Hạ cánh Khẩn cấp
           phone: Điện thoại Khẩn cấp
+          water_tank: Bể Chứa Nước Khẩn cấp
           "yes": Khẩn cấp
         highway:
           abandoned: Đường Bỏ hoang
           "yes": Khẩn cấp
         highway:
           abandoned: Đường Bỏ hoang
@@ -566,6 +637,7 @@ vi:
           trail: Đường mòn
           trunk: Xa lộ
           trunk_link: Xa lộ
           trail: Đường mòn
           trunk: Xa lộ
           trunk_link: Xa lộ
+          turning_loop: Bùng binh ở Đường cùng
           unclassified: Ngõ
           "yes": Đường
         historic:
           unclassified: Ngõ
           "yes": Đường
         historic:
@@ -668,6 +740,7 @@ vi:
           chimney: Ống khói
           crane: Cần cẩu
           dolphin: Cột neo đậu
           chimney: Ống khói
           crane: Cần cẩu
           dolphin: Cột neo đậu
+          dyke: Đê
           embankment: Đê
           flagpole: Cột cờ
           gasometer: Máy Đo Khí
           embankment: Đê
           flagpole: Cột cờ
           gasometer: Máy Đo Khí
@@ -683,6 +756,7 @@ vi:
           pipeline: Ống dẫn
           silo: Xi lô
           storage_tank: Bể chứa
           pipeline: Ống dẫn
           silo: Xi lô
           storage_tank: Bể chứa
+          surveillance: Giám sát
           tower: Tháp
           wastewater_plant: Nhà máy Nước thải
           watermill: Cối xay nước
           tower: Tháp
           wastewater_plant: Nhà máy Nước thải
           watermill: Cối xay nước
@@ -758,6 +832,7 @@ vi:
         place:
           allotments: Khu Vườn Gia đình
           city: Thành phố
         place:
           allotments: Khu Vườn Gia đình
           city: Thành phố
+          city_block: Ô phố
           country: Quốc gia
           county: Quận hạt
           farm: Trại
           country: Quốc gia
           county: Quận hạt
           farm: Trại
@@ -771,6 +846,7 @@ vi:
           municipality: Đô thị
           neighbourhood: Hàng xóm
           postcode: Mã Bưu chính
           municipality: Đô thị
           neighbourhood: Hàng xóm
           postcode: Mã Bưu chính
+          quarter: Khu
           region: Miền
           sea: Biển
           square: Quảng trường
           region: Miền
           sea: Biển
           square: Quảng trường
@@ -812,6 +888,7 @@ vi:
           beauty: Tiệm Mỹ phẩm
           beverages: Tiệm Đồ uống
           bicycle: Tiệm Xe đạp
           beauty: Tiệm Mỹ phẩm
           beverages: Tiệm Đồ uống
           bicycle: Tiệm Xe đạp
+          bookmaker: Phòng Đánh cá Ngựa
           books: Tiệm Sách
           boutique: Tiệm Thời trang
           butcher: Hàng Thịt
           books: Tiệm Sách
           boutique: Tiệm Thời trang
           butcher: Hàng Thịt
@@ -851,8 +928,10 @@ vi:
           hardware: Tiệm Ngũ kim
           hifi: Cửa hàng Hi-fi
           houseware: Cửa hàng gia dụng
           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
           jewelry: Tiệm Kim hoàn
           kiosk: Quán
+          kitchen: Tiệm Thiết kế Phòng bếp
           laundry: Tiệm Giặt Quần áo
           lottery: Xổ số
           mall: Trung tâm Mua sắm
           laundry: Tiệm Giặt Quần áo
           lottery: Xổ số
           mall: Trung tâm Mua sắm
@@ -866,6 +945,7 @@ vi:
           organic: Tiệm Thực phẩm Hữu cơ
           outdoor: Tiệm Thể thao Ngoài trời
           paint: Tiệm Sơn
           organic: Tiệm Thực phẩm Hữu cơ
           outdoor: Tiệm Thể thao Ngoài trời
           paint: Tiệm Sơn
+          pawnbroker: Tiệm Cầm đồ
           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
@@ -882,6 +962,7 @@ vi:
           travel_agency: Văn phòng Du lịch
           tyres: Tiệm Lốp xe
           vacant: Tiệm Đóng cửa
           travel_agency: Văn phòng Du lịch
           tyres: Tiệm Lốp xe
           vacant: Tiệm Đóng cửa
+          variety_store: Tiệm Tạp hóa
           video: Tiệm Phim
           wine: Tiệm Rượu
           "yes": Tiệm
           video: Tiệm Phim
           wine: Tiệm Rượu
           "yes": Tiệm
@@ -907,6 +988,7 @@ vi:
           viewpoint: Thắng cảnh
           zoo: Vườn thú
         tunnel:
           viewpoint: Thắng cảnh
           zoo: Vườn thú
         tunnel:
+          building_passage: Lối Xuyên thủng Tòa nhà
           culvert: Cống
           "yes": Đường hầm
         waterway:
           culvert: Cống
           "yes": Đường hầm
         waterway:
@@ -963,9 +1045,8 @@ vi:
       status: Trạng thái
       reports: Báo cáo
       last_updated: Lần Cập nhật Cuối
       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}'>cách đây %{time}</abbr>
-      last_updated_time_user_html: <abbr title='%{title}'>cách đây %{time}</abbr>
-        bởi %{user}
+      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
       link_to_reports: Xem Báo cáo
       reports_count:
         one: 1 Báo cáo
@@ -1004,11 +1085,10 @@ vi:
     reopen:
       reopened: Trạng thái vấn đề được đánh dấu là “Mở”
     comments:
     reopen:
       reopened: Trạng thái vấn đề được đánh dấu là “Mở”
     comments:
-      created_at: Vào %{datetime}
+      comment_from_html: Bình luận của %{user_link} vào %{comment_created_at}
       reassign_param: Chỉ định lại Vấn đề?
     reports:
       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}
+      reported_by_html: Báo cáo là %{category} bởi %{user} vào %{updated_at}
     helper:
       reportable_title:
         diary_comment: '%{entry_title}, bình luận #%{comment_id}'
     helper:
       reportable_title:
         diary_comment: '%{entry_title}, bình luận #%{comment_id}'
@@ -1212,10 +1292,10 @@ vi:
           của bạn'
         subject_other: '[OpenStreetMap] %{commenter} đã bình luận về một bộ thay đổi
           mà bạn đang quan tâm'
           của bạn'
         subject_other: '[OpenStreetMap] %{commenter} đã bình luận về một bộ thay đổi
           mà bạn đang quan tâm'
-        your_changeset: '%{commenter} đã bình luận về một bộ thay đổi do bạn lưu vào
-          %{time}'
-        commented_changeset: '%{commenter} đã bình luận về một bộ thay đổi mà bạn
-          đang theo dõi do %{changeset_author} lưu vào %{time}'
+        your_changeset: '%{commenter} bình luận vào %{time} về một bộ thay đổi do
+          bạn lưu'
+        commented_changeset: '%{commenter} bình luận vào %{time} về một bộ thay đổi
+          mà bạn đang theo dõi do %{changeset_author} lưu'
         partial_changeset_with_comment: với lời bình luận “%{changeset_comment}”
         partial_changeset_without_comment: không có lời bình luận
       details: Xem chi tiết về bộ thay đổi tại %{url}.
         partial_changeset_with_comment: với lời bình luận “%{changeset_comment}”
         partial_changeset_without_comment: không có lời bình luận
       details: Xem chi tiết về bộ thay đổi tại %{url}.
@@ -1232,7 +1312,7 @@ vi:
       from: Từ
       subject: Tiêu đề
       date: Ngày
       from: Từ
       subject: Tiêu đề
       date: Ngày
-      no_messages_yet: Bạn chưa nhận thư nào. Hãy thử liên lạc với %{people_mapping_nearby_link}?
+      no_messages_yet_html: Bạn chưa nhận thư nào. Hãy thử liên lạc với %{people_mapping_nearby_link}?
       people_mapping_nearby: những người ở gần
     message_summary:
       unread_button: Đánh dấu là chưa đọc
       people_mapping_nearby: những người ở gần
     message_summary:
       unread_button: Đánh dấu là chưa đọc
@@ -1241,10 +1321,9 @@ vi:
       destroy_button: Xóa
     new:
       title: Gửi thư
       destroy_button: Xóa
     new:
       title: Gửi thư
-      send_message_to: Gửi thư mới cho %{name}
+      send_message_to_html: Gửi thư mới cho %{name}
       subject: Tiêu đề
       body: Nội dung
       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
       back_to_inbox: Trở về hộp thư đến
     create:
       message_sent: Thư đã gửi
@@ -1256,14 +1335,15 @@ vi:
       body: Rất tiếc, không có thư nào với ID đó.
     outbox:
       title: Hộp thư đã gửi
       body: Rất tiếc, không có thư nào với ID đó.
     outbox:
       title: Hộp thư đã gửi
-      my_inbox: Hộp %{inbox_link}
+      my_inbox_html: Hộp %{inbox_link}
       inbox: thư đến
       outbox: thư đã gửi
       messages: Bạn có %{count} thư đã gửi
       to: Tới
       subject: Tiêu đề
       date: Ngày
       inbox: thư đến
       outbox: thư đã gửi
       messages: Bạn có %{count} thư đã gửi
       to: Tới
       subject: Tiêu đề
       date: Ngày
-      no_sent_messages: Bạn chưa gửi thư cho người nào. Hãy thử liên lạc với %{people_mapping_nearby_link}?
+      no_sent_messages_html: Bạn chưa gửi thư cho người nào. Hãy thử liên lạc với
+        %{people_mapping_nearby_link}?
       people_mapping_nearby: những người ở gần
     reply:
       wrong_user: Bạn đã đăng nhập dùng tài khoản “%{user}” nhưng vừa yêu cầu trả
       people_mapping_nearby: những người ở gần
     reply:
       wrong_user: Bạn đã đăng nhập dùng tài khoản “%{user}” nhưng vừa yêu cầu trả
@@ -1293,8 +1373,8 @@ vi:
     about:
       next: Tiếp
       copyright_html: <span>&copy;</span>những người<br>đóng góp vào<br>OpenStreetMap
     about:
       next: Tiếp
       copyright_html: <span>&copy;</span>những người<br>đóng góp vào<br>OpenStreetMap
-      used_by: '%{name} là nguồn dữ liệu bản đồ của hàng ngàn trang Web, ứng dụng
-        di động, và thiết bị phần cứng'
+      used_by_html: '%{name} là nguồn dữ liệu bản đồ của hàng ngàn trang Web, ứng
+        dụng di động, và thiết bị phần cứng'
       lede_text: OpenStreetMap được xây dựng bởi cộng đồng những người đóng góp và
         bảo quản dữ liệu về đường sá, tòa nhà, quán cà phê, nhà ga, và đủ mọi thứ
         ở khắp thế giới.
       lede_text: OpenStreetMap được xây dựng bởi cộng đồng những người đóng góp và
         bảo quản dữ liệu về đường sá, tòa nhà, quán cà phê, nhà ga, và đủ mọi thứ
         ở khắp thế giới.
@@ -1316,22 +1396,27 @@ vi:
         quả dưới cùng giấy phép này. Hãy xem chi tiết tại <a href=''%{copyright_path}''>trang
         Bản quyền và Giấy phép</a>.'
       legal_title: Pháp luật
         quả dưới cùng giấy phép này. Hãy xem chi tiết tại <a href=''%{copyright_path}''>trang
         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.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>
+      legal_1_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.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> and our <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.
+      legal_2_html: |-
         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>
         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>
-        OpenStreetMap, biểu trưng kính lúp, và State of the Map đều là <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy">nhãn hiệu đăng ký của Quỹ OSM</a>.
+        OpenStreetMap, biểu trưng kính lúp, và State of the Map đều là <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy?uselang=vi">nhãn hiệu đăng ký của Quỹ OSM</a>.
       partners_title: Nhà bảo trợ
     copyright:
       foreign:
         title: Thông tin về bản dịch này
       partners_title: Nhà bảo trợ
     copyright:
       foreign:
         title: Thông tin về bản dịch này
-        text: Trong trường hợp có xung đột giữa trang dịch và trang %{english_original_link},
+        html: Trong trường hợp có xung đột giữa trang dịch và trang %{english_original_link},
           trang tiếng Anh sẽ được ưu tiên
         english_link: nguyên bản tiếng Anh
       native:
         title: Giới thiệu về trang này
           trang tiếng Anh sẽ được ưu tiên
         english_link: nguyên bản tiếng Anh
       native:
         title: Giới thiệu về trang này
-        text: Đây là bản tiếng Anh của trang bản quyền. Trở về %{native_link} của
+        html: Đây là bản tiếng Anh của trang bản quyền. Trở về %{native_link} của
           trang này hoặc %{mapping_link} thay vì đọc mãi.
         native_link: bản dịch tiếng Việt
         mapping_link: bắt đầu vẽ bản đồ
           trang này hoặc %{mapping_link} thay vì đọc mãi.
         native_link: bản dịch tiếng Việt
         mapping_link: bắt đầu vẽ bản đồ
@@ -1432,7 +1517,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
@@ -1452,12 +1537,12 @@ vi:
         đã khởi động và tùy chọn phần điều khiển từ xa được kích hoạt
     edit:
       not_public: Bạn chưa đưa ra công khai các sửa đổi của bạn.
         đã khởi động và tùy chọn phần điều khiển từ xa được kích hoạt
     edit:
       not_public: Bạn chưa đưa ra công khai các sửa đổi của bạn.
-      not_public_description: Nếu không đưa ra công khai, bạn không còn được phép
-        sửa đổi bản đồ. Bạn có thể đưa ra công khai tại %{user_page}.
+      not_public_description_html: Nếu không đưa ra công khai, bạn không còn được
+        phép sửa đổi bản đồ. Bạn có thể đưa ra công khai tại %{user_page}.
       user_page_link: trang cá nhân
       anon_edits_link_text: Tại sao vậy?
       user_page_link: trang cá nhân
       anon_edits_link_text: Tại sao vậy?
-      flash_player_required: Bạn cần có Flash Player để sử dụng Potlatch, trình vẽ
-        OpenStreetMap bằng Flash. Bạn có thể <a href="https://get.adobe.com/flashplayer/">tải
+      flash_player_required_html: Bạn cần có Flash Player để sử dụng Potlatch, trình
+        vẽ OpenStreetMap bằng Flash. Bạn có thể <a href="https://get.adobe.com/flashplayer/">tải
         về Flash Player từ Adobe.com</a>. Cũng có sẵn <a href="https://wiki.openstreetmap.org/wiki/Editing?uselang=vi">vài
         cách khác</a> để sửa đổi OpenStreetMap.
       potlatch_unsaved_changes: Bạn có thay đổi chưa lưu. (Để lưu trong Potlatch,
         về Flash Player từ Adobe.com</a>. Cũng có sẵn <a href="https://wiki.openstreetmap.org/wiki/Editing?uselang=vi">vài
         cách khác</a> để sửa đổi OpenStreetMap.
       potlatch_unsaved_changes: Bạn có thay đổi chưa lưu. (Để lưu trong Potlatch,
@@ -1479,7 +1564,7 @@ vi:
       map_image: Hình Bản đồ (Lớp Chuẩn)
       embeddable_html: HTML để Nhúng
       licence: Giấy phép
       map_image: Hình Bản đồ (Lớp Chuẩn)
       embeddable_html: HTML để Nhúng
       licence: Giấy phép
-      export_details: Dữ liệu OpenStreetMap được phép sử dụng theo <a href="https://opendatacommons.org/licenses/odbl/1.0/">Giấy
+      export_details_html: Dữ liệu OpenStreetMap được phép sử dụng theo <a href="https://opendatacommons.org/licenses/odbl/1.0/">Giấy
         phép Cơ sở dữ liệu Mở Open Data Commons</a> (ODbL).
       too_large:
         advice: 'Nếu việc xuất dữ liệu ở trên bị thất bại, hãy nghĩ đến việc sử dụng
         phép Cơ sở dữ liệu Mở Open Data Commons</a> (ODbL).
       too_large:
         advice: 'Nếu việc xuất dữ liệu ở trên bị thất bại, hãy nghĩ đến việc sử dụng
@@ -1542,7 +1627,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
@@ -1550,9 +1635,9 @@ 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
         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.
+          của OpenStreetMap.
       mailing_lists:
         title: Danh sách thư
         description: Hỏi han hoặc thảo luận về các chuyện quan trọng trên nhiều danh
       mailing_lists:
         title: Danh sách thư
         description: Hỏi han hoặc thảo luận về các chuyện quan trọng trên nhiều danh
@@ -1574,8 +1659,8 @@ vi:
           thêm trong “Thảm Trước Cửa”.
       wiki:
         url: https://wiki.openstreetmap.org/wiki/Vi:Main_Page?uselang=vi
           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
-        description: Đọc tài liệu đầy đủ về OSM trên wiki.
+        title: Wiki OpenStreetMap
+        description: Đọc tài liệu đầy đủ về OpenStreetMap trên wiki.
     sidebar:
       search_results: Kết quả Tìm kiếm
       close: Đóng
     sidebar:
       search_results: Kết quả Tìm kiếm
       close: Đóng
@@ -1741,7 +1826,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:
@@ -1768,7 +1852,6 @@ 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
@@ -1802,8 +1885,9 @@ vi:
       newer: Tuyến đường Mới hơn
     trace:
       pending: CHƯA XỬ
       newer: Tuyến đường Mới hơn
     trace:
       pending: CHƯA XỬ
-      count_points: '%{count} nốt'
-      ago: cách đây %{time_in_words_ago}
+      count_points:
+        one: 1 điểm
+        other: '%{count} điểm'
       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 đồ
@@ -1828,7 +1912,7 @@ vi:
       upload_trace: Tải lên tuyến đường
       see_all_traces: Xem tất cả các tuyến đường
       see_my_traces: Xem các tuyến đường của tôi
       upload_trace: Tải lên tuyến đường
       see_all_traces: Xem tất cả các tuyến đường
       see_my_traces: Xem các tuyến đường của tôi
-    delete:
+    destroy:
       scheduled_for_deletion: Tuyến đường chờ được xóa
     make_public:
       made_public: Tuyến đường được phát hành công khai
       scheduled_for_deletion: Tuyến đường chờ được xóa
     make_public:
       made_public: Tuyến đường được phát hành công khai
@@ -1861,9 +1945,9 @@ vi:
   oauth:
     authorize:
       title: Cho phép truy cập tài khoản của bạn
   oauth:
     authorize:
       title: Cho phép truy cập tài khoản của bạn
-      request_access: Chương trình %{app_name} xin phép truy cập tài khoản của bạn,
-        %{user}. Xin hãy chọn những khả năng mà bạn muốn cấp cho chương trình này.
-        Bạn có thể chọn nhiều hay ít khả năng tùy ý.
+      request_access_html: Chương trình %{app_name} xin phép truy cập tài khoản của
+        bạn, %{user}. Xin hãy chọn những khả năng mà bạn muốn cấp cho chương trình
+        này. Bạn có thể chọn nhiều hay ít khả năng tùy ý.
       allow_to: 'Cho phép trình khách:'
       allow_read_prefs: truy cập tùy chọn cá nhân.
       allow_write_prefs: thay đổi tùy chọn cá nhân.
       allow_to: 'Cho phép trình khách:'
       allow_read_prefs: truy cập tùy chọn cá nhân.
       allow_write_prefs: thay đổi tùy chọn cá nhân.
@@ -1875,7 +1959,7 @@ vi:
       grant_access: Cấp phép Truy cập
     authorize_success:
       title: Yêu cầu cho phép được chấp nhận
       grant_access: Cấp phép Truy cập
     authorize_success:
       title: Yêu cầu cho phép được chấp nhận
-      allowed: Bạn đã cho phép ứng dụng %{app_name} truy cập tài khoản của bạn.
+      allowed_html: Bạn đã cho phép ứng dụng %{app_name} truy cập tài khoản của bạn.
       verification: Mã xác minh là %{code}.
     authorize_failure:
       title: Yêu cầu cho phép bị thất bại
       verification: Mã xác minh là %{code}.
     authorize_failure:
       title: Yêu cầu cho phép bị thất bại
@@ -1889,10 +1973,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:'
@@ -1920,9 +2002,10 @@ vi:
       issued_at: Lúc Cho phép
       revoke: Thu hồi!
       my_apps: Trình khách của Tôi
       issued_at: Lúc Cho phép
       revoke: Thu hồi!
       my_apps: Trình khách của Tôi
-      no_apps: Bạn có muốn đăng ký chương trình của bạn với chúng tôi dùng tiêu chuẩn
-        %{oauth}? Bạn cần phải đăng ký chương trình Web trước khi gửi yêu cầu OAuth
-        được.
+      no_apps_html: Bạn có muốn đăng ký chương trình của bạn với chúng tôi dùng tiêu
+        chuẩn %{oauth}? Bạn cần phải đăng ký chương trình Web trước khi gửi yêu cầu
+        OAuth được.
+      oauth: OAuth
       registered_apps: 'Các trình khá ở dưới đã được đăng ký:'
       register_new: Đăng ký chương trình của bạn
     form:
       registered_apps: 'Các trình khá ở dưới đã được đăng ký:'
       register_new: Đăng ký chương trình của bạn
     form:
@@ -1953,7 +2036,7 @@ vi:
       heading: Đăng nhập
       email or username: 'Địa chỉ Thư điện tử hoặc Tên người dùng:'
       password: 'Mật khẩu:'
       heading: Đăng nhập
       email or username: 'Địa chỉ Thư điện tử hoặc Tên người dùng:'
       password: 'Mật khẩu:'
-      openid: '%{logo} OpenID:'
+      openid_html: '%{logo} OpenID:'
       remember: Nhớ tôi
       lost password link: Quên mất Mật khẩu?
       login_button: Đăng nhập
       remember: Nhớ tôi
       lost password link: Quên mất Mật khẩu?
       login_button: Đăng nhập
@@ -2027,7 +2110,7 @@ vi:
       title: Mở tài khoản
       no_auto_account_create: Rất tiếc, chúng ta hiện không có khả năng tạo ra tài
         khoản tự động cho bạn.
       title: Mở tài khoản
       no_auto_account_create: Rất tiếc, chúng ta hiện không có khả năng tạo ra tài
         khoản tự động cho bạn.
-      contact_webmaster: Xin hãy liên lạc với <a href="%{webmaster}">webmaster</a>
+      contact_webmaster_html: Xin hãy liên lạc với <a href="%{webmaster}">webmaster</a>
         để xin họ tạo ra tài khoản - chúng tôi sẽ cố gắng thỏa mãn yêu cầu nhanh lẹ.
       about:
         header: Tự do sử dụng và sửa đổi
         để xin họ tạo ra tài khoản - chúng tôi sẽ cố gắng thỏa mãn yêu cầu nhanh lẹ.
       about:
         header: Tự do sử dụng và sửa đổi
@@ -2038,8 +2121,8 @@ vi:
         Điều kiện Đóng góp</a>.
       email address: 'Địa chỉ Thư điện tử:'
       confirm email address: 'Xác nhận Địa chỉ Thư điện tử:'
         Điều kiện Đóng góp</a>.
       email address: 'Địa chỉ Thư điện tử:'
       confirm email address: 'Xác nhận Địa chỉ Thư điện tử:'
-      not displayed publicly: Địa chỉ thư điện tử của bạn không được hiển thị công
-        khai (xem thêm chi tiết trong <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy?uselang=vi"
+      not_displayed_publicly_html: Địa chỉ thư điện tử của bạn không được hiển thị
+        công khai (xem thêm chi tiết trong <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy?uselang=vi"
         title="Quy định quyền riêng tư Quỹ OSM, có đoạn nói về địa chỉ thư điện tử">quy
         định quyền riêng tư</a> của chúng tôi)
       display name: 'Tên hiển thị:'
         title="Quy định quyền riêng tư Quỹ OSM, có đoạn nói về địa chỉ thư điện tử">quy
         định quyền riêng tư</a> của chúng tôi)
       display name: 'Tên hiển thị:'
@@ -2074,7 +2157,7 @@ vi:
         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
         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: <a href="%{summary}">bản
+      guidance_html: '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>'
       continue: Tiếp tục
         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>'
       continue: Tiếp tục
@@ -2114,20 +2197,18 @@ 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:'
       spam score: 'Điểm số Spam:'
       description: Miêu tả
       user location: Vị trí của người dùng
       email address: 'Địa chỉ thư điện tử:'
       created from: 'Địa chỉ IP khi mở:'
       status: 'Trạng thái:'
       spam score: 'Điểm số Spam:'
       description: Miêu tả
       user location: Vị trí của người dùng
-      if set location: Đặt vị trí nhà tại trang %{settings_link} để xem những người
-        dùng ở gần.
+      if_set_location_html: Đặt vị trí nhà tại trang %{settings_link} để xem những
+        người dùng ở gần.
       settings_link_text: tùy chọn
       my friends: Bạn bè của tôi
       no friends: Bạn chưa thêm bạn bè.
       settings_link_text: tùy chọn
       my friends: Bạn bè của tôi
       no friends: Bạn chưa thêm bạn bè.
@@ -2184,7 +2265,7 @@ vi:
         disabled link text: tại sao không thể sửa đổi?
       public editing note:
         heading: Sửa đổi công khai
         disabled link text: tại sao không thể sửa đổi?
       public editing note:
         heading: Sửa đổi công khai
-        text: |-
+        html: |-
           Các sửa đổi của bạn đang vô danh, và không ai có thể gửi thư cho bạn hay xem bạn ở đâu. Để cho phép mọi người biết bạn sửa đổi gì và gửi thư cho bạn dùng trang Web, bấm nút ở dưới. <b>Từ lúc đổi qua phiên bản 0.6 của API, chỉ có những người dùng công khai có quyền sửa đổi dữ liệu bản đồ</b> (<a href="https://wiki.openstreetmap.org/wiki/Anonymous_edits?uselang=vi">tìm hiểu tại sao</a>).
           <ul>
           <li>Địa chỉ thư điện tử của bạn vẫn không được phát hành công khai sau khi bắt đầu sửa đổi công khai.</li>
           Các sửa đổi của bạn đang vô danh, và không ai có thể gửi thư cho bạn hay xem bạn ở đâu. Để cho phép mọi người biết bạn sửa đổi gì và gửi thư cho bạn dùng trang Web, bấm nút ở dưới. <b>Từ lúc đổi qua phiên bản 0.6 của API, chỉ có những người dùng công khai có quyền sửa đổi dữ liệu bản đồ</b> (<a href="https://wiki.openstreetmap.org/wiki/Anonymous_edits?uselang=vi">tìm hiểu tại sao</a>).
           <ul>
           <li>Địa chỉ thư điện tử của bạn vẫn không được phát hành công khai sau khi bắt đầu sửa đổi công khai.</li>
@@ -2275,8 +2356,8 @@ vi:
       showing:
         one: Trang %{page} (%{first_item} trên tổng %{items})
         other: Trang %{page} (%{first_item}–%{last_item} trên tổng %{items})
       showing:
         one: Trang %{page} (%{first_item} trên tổng %{items})
         other: Trang %{page} (%{first_item}–%{last_item} trên tổng %{items})
-      summary: '%{name} do %{ip_address} mở ngày %{date}'
-      summary_no_ip: '%{name} mở ngày %{date}'
+      summary_html: '%{name} do %{ip_address} mở ngày %{date}'
+      summary_no_ip_html: '%{name} mở ngày %{date}'
       confirm: Xác nhận những Người dùng Được chọn
       hide: Ẩn những Người dùng Được chọn
       empty: Không tìm thấy người dùng.
       confirm: Xác nhận những Người dùng Được chọn
       hide: Ẩn những Người dùng Được chọn
       empty: Không tìm thấy người dùng.
@@ -2284,7 +2365,7 @@ vi:
       title: Tài khoản bị Cấm
       heading: Tài khoản bị Cấm
       webmaster: chủ trang
       title: Tài khoản bị Cấm
       heading: Tài khoản bị Cấm
       webmaster: chủ trang
-      body: |-
+      body_html: |-
         <p>
           Đáng tiếc, tài khoản của bạn đang bị cấm do các hoạt động nghi ngờ.
         </p>
         <p>
           Đáng tiếc, tài khoản của bạn đang bị cấm do các hoạt động nghi ngờ.
         </p>
@@ -2336,12 +2417,11 @@ vi:
       back: Trở về trang đầu
     new:
       title: Cấm %{name}
       back: Trở về trang đầu
     new:
       title: Cấm %{name}
-      heading: Cấm %{name}
+      heading_html: Cấm %{name}
       reason: Lý do cấm %{name}. Xin hãy bình tĩnh và hợp lý, và đưa vào nhiều chi
         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ờ.
       reason: Lý do cấm %{name}. Xin hãy bình tĩnh và hợp lý, và đưa vào nhiều chi
         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ý.
@@ -2349,13 +2429,12 @@ vi:
       back: Xem tất cả tác vụ cấm
     edit:
       title: Sửa đổi tác vụ cấm %{name}
       back: Xem tất cả tác vụ cấm
     edit:
       title: Sửa đổi tác vụ cấm %{name}
-      heading: Sửa đổi tác vụ cấm %{name}
+      heading_html: Sửa đổi tác vụ cấm %{name}
       reason: Lý do %{name} bị cấm. Xin hãy bình tĩnh và hợp lý, và đưa vào nhiều
         chi 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 người dùng bị cấm không được dùng API, bắt đầu từ lúc bây
         giờ.
       reason: Lý do %{name} bị cấm. Xin hãy bình tĩnh và hợp lý, và đưa vào nhiều
         chi 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 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?
@@ -2379,33 +2458,43 @@ vi:
       empty: Chưa ai bị cấm.
     revoke:
       title: Bỏ cấm %{block_on}
       empty: Chưa ai bị cấm.
     revoke:
       title: Bỏ cấm %{block_on}
-      heading: Bỏ tác vụ cấm %{block_on} bởi %{block_by}
+      heading_html: 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}.
       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ờ'
+        days:
+          one: 1 ngày
+          other: '%{count} ngày'
+        weeks:
+          one: 1 tuần
+          other: '%{count} tuần'
+        months:
+          one: 1 tháng
+          other: '%{count} tháng'
+        years:
+          one: 1 năm
+          other: '%{count} năm'
     blocks_on:
       title: Các 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}
+      heading_html: Danh sách tác vụ cấm %{name}
       empty: '%{name} chưa bị cấm.'
     blocks_by:
       title: Các tác vụ cấm bởi %{name}
       empty: '%{name} chưa bị cấm.'
     blocks_by:
       title: Các tác vụ cấm bởi %{name}
-      heading: Danh sách tác vụ cấm bởi %{name}
+      heading_html: Danh sách tác vụ cấm bởi %{name}
       empty: '%{name} chưa cấm ai.'
     show:
       title: '%{block_on} bị cấm bởi %{block_by}'
       empty: '%{name} chưa cấm ai.'
     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}
+      heading_html: '%{block_on} bị cấm bởi %{block_by}'
       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
@@ -2439,7 +2528,6 @@ vi:
       description: Miêu tả
       created_at: Lúc tạo
       last_changed: Thay đổi gần đây nhất
       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:
@@ -2474,7 +2562,6 @@ vi:
         out: Thu nhỏ
       locate:
         title: Bay tới Vị trí của Tôi
         out: Thu nhỏ
       locate:
         title: Bay tới Vị trí của Tôi
-        popup: Bạn hiện đang ở cách đây {distance} {unit}
       base:
         standard: Chuẩn
         cycle_map: Bản đồ Xe đạp
       base:
         standard: Chuẩn
         cycle_map: Bản đồ Xe đạp
@@ -2630,7 +2717,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.
@@ -2639,7 +2725,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ả:'