選單

國際地址格式怎麼寫?線序、欄位與羅馬化

國際地址格式的差異不只在翻譯,還在書寫線序與欄位語意。本文說明由大到小與由小到大的兩種習慣、行政區名稱的稱呼差異,以及為什麼顯示順序不該寫進資料結構。

發佈於

  • 測試資料
  • 地址

國際地址格式的難題通常不是翻譯,而是「哪一行放什麼」與「這個國家把哪一層寫得比較前面」。同一個地址換一個國家,街道名稱的語序、行政區的位置、郵遞區號所在的行都會改變。以下說明幾種主要習慣、欄位命名的陷阱,以及跨國系統該怎麼分開處理資料與顯示。

地址線序為什麼各國不同

地址是人寫給郵差看的,因此它的排列方式反映的是當地辨識方向的方法。有些地方需要先知道大範圍再逐步縮小,有些地方則從門牌開始往外描述。這兩種習慣都能準確送達,差別只在閱讀者從哪一端開始定位。

線序一旦固定下來,就會滲進整個系統:信封上的排版、名片上的寫法、身分文件上的欄位順序。當你只看到某一國的地址時,很容易誤以為那個順序是通則,於是把整份地址當成一個字串處理,日後要拆開就非常痛苦。

這也是為什麼跨國系統通常會把地址拆成多個語意欄位,而不是只存一段文字。

由大到小與由小到大的兩種習慣

東亞地區常見的寫法是從大範圍開始,依序寫到街道與門牌,最後補上收件人;歐美常見的寫法剛好相反,先寫門牌與街道,再寫城市、行政區與郵遞區號。兩種習慣各自內部也可能再變化,例如同一區域的國家不一定都採用同一種順序。

習慣 起點 常見地區
由大到小 行政區或城市 東亞多地
由小到大 門牌與街道 歐美多地
混合 依文件格式而定 國際表單常見

在跨國表單上,混合的情況其實最多:欄位是拆開的,排版卻要拼成當地習慣的樣子。這代表系統需要同時保留「各欄位的值」與「這個國家的顯示順序」,而兩者是由不同來源決定的。

同一個國家內部也可能因為用途不同而改變順序,護照、報關文件與網站表單的排版就不一定一致。這也是為什麼把整份地址存成一個字串,在跨國情境下幾乎一定會後悔:那一串文字裡混住了資料本身與顯示方式,日後想換一種排版就得重新解析一次。

務實的折衷是資料層維持中性欄位,顯示層才依國家決定順序與標籤,並把這層對應關係集中成一張可維護的設定。新增一個國家時只要加一筆設定,不必回頭改動已經上線的欄位與驗證邏輯。

省、都道府縣與聯邦州該怎麼稱呼?

各國對第一級行政區的稱呼不盡相同,有的叫省、有的叫都道府縣、有的叫聯邦州,還有用大區、郡、縣等不同名稱。把它們全部塞進一個叫做「州」的欄位,短期看起來很方便,長期會讓介面文案、驗證規則與報表都變得難以理解。

比較穩健的做法是給欄位一個中性的內部名稱,另外準備一組可翻譯的標籤,讓介面在各地顯示當地慣用的說法。使用者看到的是他熟悉的詞,系統裡跑的仍然是同一個語意。日本的國家頁與德國的國家頁在欄位標示上就呈現了這種差異。

反過來說,如果資料庫欄位名稱直接叫「state」,日後要服務不以州為單位的國家時,就只能靠註解解釋,而註解不會被新加入的同事讀到。

本地文字與羅馬化要怎麼並存?

國際郵件傳統上會同時保留本地文字與拉丁字母轉寫,因為在跨國轉運過程中,機器與不同語言的郵務人員都需要能辨識。對系統而言,這帶來一個設計問題:同一筆地址會有兩種寫法,它們是不同的欄位,還是同一個欄位的替代表示?

實務上比較好處理的方式是把它們視為兩份可並存的表示,而不是互相覆蓋。運送與顯示可能用其中一種,搜尋與比對可能用另一種,資料來源也可能只提供其中一種。若只留一種並且隨時覆寫,之前的寫法就再也找不回來了。

在測試資料裡,同時準備本地文字與羅馬化的樣本也很重要,因為欄位長度、字元寬度與排序在兩種寫法下都可能不同。

國際郵件為什麼把國名寫在最後?

這是長久以來的慣例:地址從最精確的層級往大範圍寫,最後才寫目的國,讓分揀過程中每一站讀到的資訊都能逐步收斂。當跨國郵件要在多個國家之間轉運時,把國名放在最後一行也方便在最後一段旅程被辨識。

對表單設計者來說,這個慣例的實際意義是「國名通常單獨一行」,而不是混在郵遞區號或城市後面。選填與必填的差別也要考慮:在只服務單一國家的表單裡,國名可能根本不需要讓使用者填。

順帶說明本站資料的性質:產生的內容只供測試,不能投遞。裡面的國名、城市與街道都是為了驗證排版與欄位而造的假資料,不會指向任何真實的收件位置,也不適合拿來當居住證明或繞過地址驗證的手段。它適合的場合是測試環境裡那些需要「看起來像真的、但不可能誤送」的樣本。

給開發者:欄位語意不要綁在顯示順序上

  • 一個欄位只代表一種語意,不要把「城市 + 行政區 + 郵遞區號」合成一格。
  • 顯示順序依國家決定,並且可以獨立於資料結構調整。
  • 欄位標籤要能翻譯,內部名稱保持中性。
  • 同一個語意在不同國家的必填狀態可能不同,規則要能依國家切換。
  • 保留原始輸入,正規化另存一份,避免覆蓋掉使用者真正寫的內容。

本站的隨機地址產生器就是依這個原則運作:先選國家,再依該國的習慣產生街道、城市、行政區與郵遞區號,欄位彼此一致而且排版符合當地寫法,可以直接拿來驗證表單在跨國情境下的顯示結果。要處理國家與行政區代碼的選擇,可以接著讀ISO 國家與行政區代碼。

下一步

先在表單上實際跑幾個順序相反的國家,確認切換國家後欄位標籤、必填狀態與排版都會跟著變;再把顯示順序抽離成獨立設定,別讓它藏在字串拼接的程式碼裡。另外,本地文字與羅馬化兩種寫法都各留一份樣本,才看得出欄位長度夠不夠。想看單一國家內部的細節,讀美國地址格式。

繼續閱讀

隨機地址產生器相關文章