Menu

Định dạng địa chỉ quốc tế: thứ tự dòng và tên trường

Định dạng địa chỉ quốc tế không chỉ là dịch tên đường sang tiếng Anh. Bài này giải thích vì sao thứ tự dòng thay đổi theo quốc gia, tên trường hành chính khác nhau ra sao, và cách thiết kế biểu mẫu không bị lệch dữ liệu.

Đăng ngày

  • địa chỉ
  • dữ liệu thử
  • kiểm thử

Định dạng địa chỉ quốc tế là thứ mà rất nhiều dự án chỉ nhận ra là quan trọng sau khi đã đưa sản phẩm ra ngoài biên giới. Bài này chỉ ra điều gì thực sự thay đổi giữa các quốc gia, điều gì chỉ là cách hiển thị, và những quyết định thiết kế nào giúp bạn tránh phải viết lại biểu mẫu địa chỉ lần thứ hai.

Vì sao thứ tự dòng địa chỉ khác nhau giữa các quốc gia?

Địa chỉ được viết theo thói quen của người đọc thư, và thói quen đó hình thành từ cách hệ thống bưu chính phân loại. Ở nhiều nước Đông Á, người ta đi từ đơn vị lớn nhất tới nhỏ nhất: quốc gia, tỉnh hoặc phủ, thành phố, quận, đường, rồi cuối cùng mới tới số nhà. Ở Hoa Kỳ và phần lớn châu Âu, chiều ngược lại được dùng, bắt đầu bằng số nhà và kết thúc bằng quốc gia.

Cả hai cách đều đúng, chỉ khác điểm bắt đầu. Điều này có nghĩa là kết luận dòng đầu tiên luôn là tên thành phố chỉ đúng với một nửa thế giới. Nếu hệ thống của bạn phân tích địa chỉ dựa trên vị trí dòng, bạn cần biết quốc gia trước khi phân tích, chứ không phải suy ra quốc gia từ vị trí dòng.

Viết từ lớn đến nhỏ và từ nhỏ đến lớn

Bảng dưới đây đặt hai cách viết cạnh nhau để bạn thấy chúng khác nhau ở đâu.

Cách viết Điểm bắt đầu Ví dụ khu vực thường gặp
Lớn đến nhỏ Quốc gia, tỉnh, thành phố Nhật Bản, Trung Quốc, Hàn Quốc
Nhỏ đến lớn Số nhà, tên đường Vương quốc Anh, Hoa Kỳ, Đức

Điểm chung duy nhất là quốc gia. Trong thư tín quốc tế truyền thống, tên quốc gia được viết ở dòng cuối cùng, bất kể địa chỉ trong nước được sắp thế nào. Đây là quy ước phục vụ việc phân loại tại nơi đến, và nó tách biệt hoàn toàn với thứ tự các dòng phía trên.

Tên trường hành chính thay đổi theo quốc gia như thế nào?

Cấp hành chính ngay dưới quốc gia được gọi bằng rất nhiều tên khác nhau, và mỗi tên mang theo một cách tổ chức riêng. Tỉnh, bang, vùng, phủ, đô, quận, tiểu bang, bang liên bang, hay tiểu vương quốc đều có thể xuất hiện ở cùng một vị trí trong địa chỉ. Số cấp hành chính cũng không giống nhau: có nơi chỉ cần một cấp, có nơi cần hai hoặc ba cấp mới xác định được vị trí.

Vì vậy, việc dùng một nhãn chung cho mọi quốc gia là quyết định thiết kế, không phải sự thật về thế giới. Bạn có thể chọn một nhãn trung tính cho giao diện, nhưng nên ghi lại nhãn bản địa cho từng quốc gia để người dùng nhận ra trường đó ngay. Bài mã quốc gia và mã đơn vị hành chính nói kỹ hơn về cách đặt mã cho các cấp này.

Có nên viết địa chỉ bằng chữ Latin khi gửi ra nước ngoài?

Có, trong phần lớn trường hợp, nhưng không nên thay thế bản gốc. Thư tín quốc tế thường cần một phiên bản chữ Latin để nhân viên ở nước đến đọc được, trong khi nhân viên ở nước gửi vẫn cần bản chữ bản địa để đối chiếu. Cách làm phổ biến là ghi cả hai, hoặc giữ bản địa làm dữ liệu chính và sinh bản chuyển tự chỉ khi in nhãn.

Với dữ liệu trong hệ thống, điều này dẫn tới một lựa chọn: lưu một trường duy nhất đã chuyển tự, hay lưu trường gốc cùng một trường chuyển tự đi kèm. Cách thứ hai tốn thêm dung lượng nhưng giữ được khả năng hiển thị đúng cho người dùng bản địa, và tránh việc chuyển tự bị coi là dữ liệu gốc rồi bị đối chiếu sai về sau.

Một trường State có dùng được cho mọi quốc gia không?

Dùng được về mặt kỹ thuật, nhưng sẽ gây hiểu sai về mặt dữ liệu. Nếu bạn đặt tên trường là State, thì đến khi cần lưu một quận của Nhật Bản hay một tiểu vương quốc, người viết mã sau bạn sẽ phải đoán xem trường đó thực sự chứa gì. Tên trường càng trung tính như đơn vị hành chính cấp một thì càng ít gây nhầm lẫn.

Vấn đề thứ hai là kiểm tra hợp lệ. Nếu trường mang tên State, rất dễ nảy sinh ý nghĩ rằng nó phải là một mã hai chữ cái theo chuẩn của một quốc gia cụ thể nào đó. Khi đó, mọi quốc gia khác sẽ bị chặn hoặc bị ép vào một khuôn không phù hợp. Hãy để quy tắc kiểm tra phụ thuộc vào quốc gia, còn tên trường thì giữ trung tính.

Định dạng địa chỉ quốc tế trong kiểm thử

Nếu bạn đang thử biểu mẫu địa chỉ cho nhiều quốc gia, trình tạo địa chỉ giả của trang này cho phép đổi quốc gia và nhận ngay một địa chỉ đầy đủ theo đúng cách trình bày của nơi đó, kèm số điện thoại cùng khu vực. Bạn có thể sinh nhiều địa chỉ liên tiếp để kiểm tra xem biểu mẫu có chấp nhận cả cách viết từ lớn đến nhỏ lẫn từ nhỏ đến lớn hay không.

Dữ liệu sinh ra là tổng hợp và chỉ dùng cho kiểm thử phần mềm, không tương ứng với nơi ở hay người nhận nào có thật. Nếu bạn cần một danh sách dài hơn để rà từng quốc gia, bài viết danh sách kiểm thử định dạng địa chỉ và số điện thoại đi theo từng nhóm khác biệt và phù hợp để dùng làm bảng đối chiếu.

Phần dành cho nhà phát triển

Sai lầm tốn kém nhất trong thiết kế trường địa chỉ là để thứ tự hiển thị ảnh hưởng tới cấu trúc dữ liệu. Hãy lưu từng thành phần vào trường riêng của nó, và để việc sắp dòng thành một bước riêng, phụ thuộc vào quốc gia. Khi đó, việc thêm một quốc gia mới chỉ là thêm một mẫu sắp dòng, không phải sửa toàn bộ biểu mẫu.

Một vài điểm nên chốt:

  • Mỗi trường chỉ mang một nghĩa, và nghĩa đó được ghi lại ở nơi người viết mã đọc được.
  • Đừng giả định số dòng cố định; cho phép địa chỉ dài hai dòng đường như ở nhiều nơi.
  • Với quốc gia dùng chữ không phải Latin, cần quyết định trước xem có lưu thêm bản chuyển tự hay không.
  • Đặt giới hạn độ dài theo từng trường thay vì một tổng độ dài duy nhất cho cả địa chỉ.
  • Kiểm thử biểu mẫu ở cả hai chiều sắp dòng, và kiểm thử cả trường hợp người dùng dán vào một chuỗi đã được định dạng sẵn.

Bước tiếp theo

Hãy chọn ba quốc gia có cách viết địa chỉ khác nhau và tạo mẫu cho từng nơi bằng trình tạo địa chỉ giả. Sau đó dán lần lượt vào biểu mẫu của bạn để xem hệ thống có phân tích đúng khi thứ tự dòng thay đổi, hay vẫn ngầm giả định rằng dòng đầu tiên là thành phố.

Đọc tiếp

Bài viết về Trình tạo địa chỉ giả