[RFC] Multilingual names
簡介
目前多國語系的 name 標籤 (tag),社群偏好使用 alpha-2 code of ISO 639-1,因此全世界中文用戶使用 name:zh。但由於中文用戶包含簡體與繁體兩種字體編碼,以及對於國際地名翻譯不同,很容易因為共用標籤 key 產生衝突。例如 Everest 在台灣使用者偏好使用「聖母峰」、而中國使用「珠穆朗玛峰」。
- http://www.openstreetmap.org/node/2681940781
- 珠穆朗玛峰
- 聖母峰
為了滿足多元使用情境與需求,原有 ISO-639 標示過於簡化,建議 name 標籤使用 IETF language tag (BCP 47) 標示多國語系,以容納各地區地名使用習慣,以及繁體、簡體、閩南、客家、廣東話、台灣原著民、拼音等語言需求。
倡議
在此倡議使用 IETF language tag (BCP 47) 語法形式。語法形式包含了如下 subtags.
- Syntax of language tags
- A single primary language subtag based on a two-letter language code from ISO 639-1 (2002) or a three-letter code from ISO 639-2 (1998), ISO 639-3 (2007) or ISO 639-5 (2008), or registered through the BCP 47 process and composed of five to eight letters;
- Up to three optional extended language subtags composed of three letters each, separated by hyphens; (There is currently no extended language subtag registered in the Language Subtag Registry without an equivalent and preferred primary language subtag. This component of language tags is preserved for backwards compatibility and to allow for future parts of ISO 639.)
- An optional script subtag, based on a four-letter script code from ISO 15924 (usually written in title case);
- An optional region subtag based on a two-letter country code from ISO 3166-1 alpha-2 (usually written in upper case), or a three-digit code from UN M.49 for geographical regions;
- Optional variant subtags, separated by hyphens, each composed of five to eight letters, or of four characters starting with a digit; (Variant subtags are registered with IANA and not associated with any external standard.)
- Optional extension subtags, separated by hyphens, each composed of a single character, with the exception of the letter x, and a hyphen followed by one or more subtags of two to eight characters each, separated by hyphens;
- An optional private-use subtag, composed of the letter x and a hyphen followed by subtags of one to eight characters each, separated by hyphens.
ABNF 語法如下
- Language-Tag = langtag ; normal language tags
- / privateuse ; private use tag
- / grandfathered ; grandfathered tags
- langtag = language
- ["-" script]
- ["-" region]
- *("-" variant)
- *("-" extension)
- ["-" privateuse]
- language = 2*3ALPHA ; shortest ISO 639 code
- ["-" extlang] ; sometimes followed by
- ; extended language subtags
- / 4ALPHA ; or reserved for future use
- / 5*8ALPHA ; or registered language subtag
- extlang = 3ALPHA ; selected ISO 639 codes
- *2("-" 3ALPHA) ; permanently reserved
- script = 4ALPHA ; ISO 15924 code
- region = 2ALPHA ; ISO 3166-1 code
- / 3DIGIT ; UN M.49 code
- variant = 5*8alphanum ; registered variants
- / (DIGIT 3alphanum)
- extension = singleton 1*("-" (2*8alphanum))
- ; Single alphanumerics
- ; "x" reserved for private use
- singleton = DIGIT ; 0 - 9
- / %x41-57 ; A - W
- / %x59-5A ; Y - Z
- / %x61-77 ; a - w
- / %x79-7A ; y - z
- privateuse = "x" 1*("-" (1*8alphanum))
- grandfathered = irregular ; non-redundant tags registered
- / regular ; during the RFC 3066 era
- irregular = "en-GB-oed" ; irregular tags do not match
- / "i-ami" ; the ’langtag’ production and
- / "i-bnn" ; would not otherwise be
- / "i-default" ; considered ’well-formed’
- / "i-enochian" ; These tags are all valid,
- / "i-hak" ; but most are deprecated
- / "i-klingon" ; in favor of more modern
- / "i-lux" ; subtags or subtag
- / "i-mingo" ; combination
- / "i-navajo"
- / "i-pwn"
- / "i-tao"
- / "i-tay"
- / "i-tsu"
- / "sgn-BE-FR"
- / "sgn-BE-NL"
- / "sgn-CH-DE"
- regular = "art-lojban" ; these tags match the ’langtag’
- / "cel-gaulish" ; production, but their subtags
- / "no-bok" ; are not extended language
- / "no-nyn" ; or variant subtags: their meaning
- / "zh-guoyu" ; is defined by their registration
- / "zh-hakka" ; and all of these are deprecated
- / "zh-min" ; in favor of a more modern
- / "zh-min-nan" ; subtag or sequence of subtags
- / "zh-xiang"
- alphanum = (ALPHA / DIGIT) ; letters and numbers
使用情境
依照 IETF language tag (BCP 47) 標示,建議做出以下更動
- 台灣地區繁體中文使用者,改用 "name:zh-TW",以符合本地需求。
- 為了解決命名衝突問題,建議如下
- 台灣地區簡體用戶主要為中國訪客,建議現有簡體地名改用 "name:zh-CN" 標示,以服務主流使用者。
- 如除了編碼外,有地名命名衝突,則於台灣境內簡體名稱改用 zh-Hans-TW。
- 各地區 name 與 name:zh 預設使用當地字碼與名稱。如台灣境內 name 應同等 name:zh,name:zh 應同等 name:zh-TW。香港境內則為 name:zh-HK = name:zh = name.
- 各地區域中文用戶 - 香港用戶請改用 name:zh-HK、澳門請用 name:zh-MO、新加坡請改用 name:zh-SG.
- 其他中文語言
- 因為閩南話次方言各地演化產生變異,漳州話、泉州話、廈門話略有不同。台灣地區閩南語地名建議用 name:nan-TW. 預設使用台羅拼音。
- 台灣地區客家話地名,請使用 name:hak-TW.
- 其他中文語言如吳語、廣東話、晉語請見語言表。
- 台灣使用南島語系的官方登記原住民族群可依照其 language subtag 標注地名。
- 拼音系統的使用慣例
- name:en 依照當地政府所使用的拼音系統 (參照路牌) 為主。
- name:zh-Latn 預設對應 name:zh 的漢語拼音系統。採取當地名稱直譯,例如「路」直接譯為 Lu, 而非 Road 或 Rd. 如此可以便利非中文用戶,發出地名本地音。
- name:zh-Hanb 台灣注音符號系統。
- 繪圖 (render) 應依照語系優先值套用地名名稱,如台灣用戶,應該先查找 name:zh-TW 後 name:zh 後 name.
- 日文漢字 (Japanese Kanji) 請使用 name:ja-Hani 韓文漢字 (Korean Hanja) 請使用 ko:Hani.
語系後綴
OpenStreetMap 是一個使用標籤描述地理資訊的開源地圖專案,而標籤以後綴的形式支援多國語系,例如 name:en 代表英文名稱,為便於討論後綴所以整理成本表格。各語系使用如下 (好讀版本)
Mandarin 中文語系 |
|
|
|
:zh |
|
|
台灣境內使用繁體中文、中国境内使用简体中文。國際地區則無共用規範產生衝突。 |
:zh-TW |
|
|
預設是繁體中文 |
:zh-Hant-TW |
|
|
建議使用 :zh-TW |
:zh-Hans-TW |
|
|
適合在台灣使用簡體字的用戶。 |
:zh-CN |
|
|
默认是简体中文 |
:zh-Hans-CN |
|
|
建议使用 :zh-CN |
:zh-Hant-CN |
|
|
适合在中国境内使用繁体字的用户。 |
:zh-HK |
|
|
預設使用繁體中文,由於香港政權交接中國,受政治影響部份民眾改用簡體字。 |
:zh-Hant-HK |
|
|
建議使用 :zh-HK |
:zh-Hans-HK |
|
|
|
:zh-MO |
|
|
預設使用繁體中文,由於澳門政權交接中國,受政治影響部份民眾改用簡體字。 |
:zh-Hant-MO |
|
|
建議使用 :zh-MO |
:zh-Hans-MO |
|
|
|
:zh-SG |
|
|
1976 年后改用中国规范的简体字。预设使用简体。 |
:zh-Hans-SG |
|
|
建议使用 :zh-SG |
:zh-Hant-SG |
|
|
|
Dialect 中文方言語系 |
|
|
|
:nan |
Minnan |
閩南語, Holo-oe, Ban-lam-gu, Mǐnnán |
因為閩南話次方言各地演化產生變異,漳州話、泉州話、廈門話略有不同。台灣地區建議使用 :nan-TW |
:nan |
|
|
|
:nan-TW |
|
|
考慮用戶族群,建議使用台羅拼音,並以中華民國教育部出版的《臺灣閩南語常用詞辭典》選定最接近通行腔的「高雄音」做為主音讀。 |
:hak |
Hakka Chinese |
Kèjiā, 客家 |
台灣地區建議使用 :hak-TW |
:hak |
Hakka Chinese |
Kèjiā, 客家 |
|
:hak-TW |
|
|
|
:yue |
Yue Chinese; Cantonese |
|
|
:yue-HK |
Yue Chinese; Cantonese |
|
香港地區建議使用 :yue-HK |
:yue-CN |
Yue Chinese; Cantonese |
|
廣東等地區建議使用 :yue-CN |
:cdo |
Min Dong Chinese |
閩東話 (Min Dong Chinese), 福州話 |
|
:cjy |
Jinyu Chinese |
晉語 |
|
:gao |
Gan Chinese |
干彝寨方言 |
|
:hsn |
Xiang Chinese |
湘語:吉溆 |
|
:cmn |
Mandarin Chinese |
漢語 |
未用, 預設 :zh |
:cpx |
Pu-Xian Chinese |
莆仙語,興化語 |
|
:czh |
Huizhou Chinese |
徽州話 |
|
:czo |
Min Zhong Chinese |
閩中語 |
|
:lzh |
Literary Chinese |
文言文 |
|
:mnp |
Min Bei Chinese |
閩北語 |
|
:wuu |
Wuu Chinese |
吳語 |
|
Austronesian, 南島語系, Indigenous Taiwanese |
|
|
|
:ais |
Sakizaya |
Sāqíláiyǎ, 撒奇萊雅 |
|
:ami |
Amis |
āměi, 阿美, Pangcah |
|
:bnn |
Bunun |
Bùnóng, 布農, Bunun |
|
:ckn |
Kavalan |
Gámǎlán, 噶瑪蘭, Kebalan |
|
:dru |
Rukai |
Lǔkǎi, 魯凱, Drekay |
|
:pwn |
Paiwan |
Páiwān, 排灣, Payuan |
|
:pyu |
Puyuma |
Bēinán, 卑南, Pinuyumayan |
|
:pyu |
Shao |
Shào, 邵, Thao |
|
:tao |
Tao |
Dáwù, 達悟, Yami, Tao |
|
:tay |
Atayal |
Tàiyǎ, 泰雅 |
|
:trv |
Truku |
Taroko, 太魯閣, Tàilǔgé, 賽德克, Seediq |
|
:trv |
Tsou |
Zōu, 鄒 |
|
:xsy |
Saisiat |
Sàixià, 賽夏, SaiSiyat |
|
:sxr |
Hla'alua |
Hla'alua, 拉阿魯哇 |
|
:xnb |
Kanakanabu |
Kanakanavu, 卡那卡那富族 |
|
Romanization, 拼音系統 |
|
|
|
:zh-Latn |
|
|
預設為漢語拼音,預設使用 name:zh-[region] or name:zh or name 之中文。 |
:zh-Latn-pinyin |
|
|
漢語拼音,建議使用 :zh-Latn |
- |
|
|
通用拼音 |
- |
|
|
台灣 國音一式 |
- |
|
|
台灣 國音二式 |
- |
|
|
Wade-Giles 羅馬拼音 |
:en |
|
|
由於有多種拼音系統。目前於台灣無統一拼音方式。建議遵循當地政府的慣例使用,以符合觀光客對應本地圖資的需求。 |
:zh-Hanb |
Han with Bopomofo |
注音符號 |
|
:zh-Hanb-TW |
Han with Bopomofo |
|
由於注音符號只有台灣地區使用,建議使用 :zh-Hanb。 |
CJK Han 漢字 |
|
|
|
:ja-Hani |
Han; Hanzi; Kanji; Hanja |
Japanese Kanji |
|
:ko-Hani |
Han; Hanzi; Kanji; Hanja |
Korean Hanja |
|
整合程序
- 發出 RFC 尋求意見。
- 提出 Proposal
- 「複製」台灣區域所有 name:zh -> name:zh-TW
- 通知 Map Render / Clieients, 依照新的命名規格,改變地名使用優先次序
- 依照 region 預先讀取
- 依照 script coding 讀取
- 由於 "name:zh" 將成為壅餘標籤,未來將可逐步消失。
影響
- 由於未變動原有 name:zh 標籤,可相容目前使用習慣,不會直接影響現有使用者。
討論連結
osm.tw 臉書社群貼文 https://www.facebook.com/groups/OpenStreetMap.TW/permalink/1020442338021235/
osm.tw 郵件論壇討論主題 https://lists.openstreetmap.org/pipermail/talk-tw/2016-March/001277.html
osm.cn 郵件論壇討論主題 https://lists.openstreetmap.org/pipermail/talk-cn/2016-March/000107.html
參考
- Multilingual names - OpenStreetMap Wiki - http://wiki.openstreetmap.org/wiki/Multilingual_names
- Map internationalization - OpenStreetMap Wiki - http://wiki.openstreetmap.org/wiki/Map_internationalization
- BCP 47 - Tags for Identifying Languages - http://tools.ietf.org/html/bcp47
- BCP 47 Validator - http://schneegans.de/lv/
- http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry
- 台灣的拼音系統爭議 - 維基百科,自由的百科全書 - https://zh.wikipedia.org/wiki/%E5%8F%B0%E7%81%A3%E7%9A%84%E6%8B%BC%E9%9F%B3%E7%B3%BB%E7%B5%B1%E7%88%AD%E8%AD%B0
- 臺灣閩南語羅馬字拼音方案 - 維基百科,自由的百科全書 - https://zh.wikipedia.org/wiki/%E8%87%BA%E7%81%A3%E9%96%A9%E5%8D%97%E8%AA%9E%E7%BE%85%E9%A6%AC%E5%AD%97%E6%8B%BC%E9%9F%B3%E6%96%B9%E6%A1%88