模板:Lang/doc
Lua错误:无法创建进程:proc_open(/dev/null): failed to open stream: Operation not permitted Lua错误:无法创建进程:proc_open(/dev/null): failed to open stream: Operation not permitted[[Category:模板:SUBJECTSPACE ZH说明文件]] Lua错误:无法创建进程:proc_open(/dev/null): failed to open stream: Operation not permitted Lua错误:无法创建进程:proc_open(/dev/null): failed to open stream: Operation not permitted Lua错误:无法创建进程:proc_open(/dev/null): failed to open stream: Operation not permitted
本模板用來標明特定語言文字(參見語言代碼)。正確使用時不對條目產生可見的改變。
{{lang|-{zh-hant:語言標籤; zh-hans:语言标签}-|-{zh-hant:內文; zh-hans:内文}-}}
使用ISO 639語言代碼表,且應將粗體與斜體標示於本模板模板之外。例如(該處使用fr代表法語):
* 她說「''{{lang|fr|Je suis française.}}''」
在你的浏览器中显示为:
- 她說「-{Je suis française.}-」
本模板的其他版本亦可印出語言名稱,一般用在第一次引用該語言的時候。例如,「{{-{}-lang-es|Español}}
」和「{{-{}-lang-ru|русский язык}}
」會顯示「Lua错误:无法创建进程:proc_open(/dev/null): failed to open stream: Operation not permitted」、「Lua错误:无法创建进程:proc_open(/dev/null): failed to open stream: Operation not permitted」。
语言子标签(如zh-Hans或en-CA中的加粗部分)也可以用来表示书写体系(Hans)或语言的地区变体(CA)。W3C指出:“创建语言标签的黄金准则是越短越好。”[1] 所以只有在非用不可的情况下才应该添加子标签。 ISO 639-1 优于 ISO 639-2 和 ISO 639-3.
表示书写体系
如有必要,可以添加ISO 15924代码来表示书写体系。
例如:俄语通常用西里尔字母书写,所以书写代码'Cyrl'是多余的,只需用语言代码ru就可以了,不必使用ru-Cyrl。但是,当被修饰文字是拉丁转写时,要使用Latn代码,因为俄语并非用拉丁字母书写:ru-Latn。
* '''莫斯科'''([[俄语]]:{{lang|ru|Москва́}},{{transl|ru|''Moskva''}})
相当于
* '''莫斯科'''({{lang-ru|Москва́}},{{transl|ru|''Moskva''}})
在你的浏览器中显示为:
- 莫斯科(Lua错误:无法创建进程:proc_open(/dev/null): failed to open stream: Operation not permitted,<span lang="ru-Latn" xml:lang="ru-Latn" title="Lua错误:无法创建进程:proc_open(/dev/null): failed to open stream: Operation not permitted转写" class="Unicode" style="white-space:normal; text-decoration: none">-{Moskva}-)
{{transl|ru|''Moskva''}} 等同于 {{lang|ru-Latn|''Moskva''}}。若要指明你使用的是ISO 9西里爾字母轉寫,使用 {{transl|ru|ISO|''Moskva''}}:
- 莫斯科(Lua错误:无法创建进程:proc_open(/dev/null): failed to open stream: Operation not permitted,ISO 9:-{Moskva}-)
IANA提供了一个列表详细说明了需要支持的语言标签 [2]。某些情况下,文字必须被指定清楚,比如塔吉克语,可以同等地用阿拉伯字母、拉丁字母和西里尔字母三种文字书写:
* Tajik ({{rtl-lang|tg-Arab|تاجیکی}}, {{transl|tg|''tojikī''}}, {{lang|tg-Cyrl|тоҷикӣ}})
你的显示器效果如下:
- Tajik (Lua错误:无法创建进程:proc_open(/dev/null): failed to open stream: Operation not permitted, <span lang="tg-Latn" xml:lang="tg-Latn" title="Lua错误:无法创建进程:proc_open(/dev/null): failed to open stream: Operation not permitted转写" class="Unicode" style="white-space:normal; text-decoration: none">-{tojikī}-, -{тоҷикӣ}-)
注意当使用阿拉伯文字时,用模板{{rtl-lang}}代替模板{{lang}},参见书写方向说明。
未確定語言
模板{{lang}}不仅用于标明外文词汇所属的语言,而且能在特定脚本中表示单一字符,例如论述特定书写体系。许多时候一种字符为多种语言所应用,但是当条目在ISO 639-2与ISO 639-3语言代码下引用为未确定语言字位本身时使用字词代码und,例如:
The {{lang|und-Hani|字}} Han character has 6 strokes.
- The -{字}- Han character has 6 strokes.
汉字被中日韩越所应用,在此情况下并不属于某一特定语言。注意一般的汉字(Hanzi,Kanji,Hanja,Chữ Hán)可使用字词代码Hani。
对比 {{script}}
漢字{{script|Hani|字}}筆劃數為6。
- 漢字字筆劃數為6。
表示語言變種
某些情况下,可能需要添加ISO 3166-1二位字母代码国家代码(尤其是用于有些国家)。当然三个代码同样能在标签中显示,如代码zh-Hant-TW会用于使用繁体中文书写的中文文本,包含与台湾相关的特定字词或语句。zh-Hans用于简体中文,例如:
* {{lang|zh-Hant-TW|臺灣}}
在你的浏览器中显示为:
- -{臺灣}-
書寫方向
{{rtl-lang}} 是专为阿拉伯文、希伯来文等从右向左书写的字詞所设计的模版。
从右向左书写的段落须用 {{rtl-para}}。
使用理由
- 網頁瀏覽器或伺服器可以運用這些資訊,來選擇合適的字體。
- 對於中日韓統一表意文字而言,文字可以被賦予其語言特有的形態,但若無合適字體被偵測到或優先字體有缺字,將回跌至另一種形狀,例如可能該語言不使用這個文字:參見這裡的比較表和螢幕截圖。
- 對於一些小語種的文字,維基媒體基金會的伺服器可以利用web font技術來選擇適當的字體,以正確地提供文字輸出。
- 對於日文等外語,可避免系統錯誤進行簡繁轉換。
- 為了網路無障礙目的:螢幕閱讀器需要語言資訊,以正確地提供音訊輸出。
- 為了拼写检查和文法檢查。
- 幫助瀏覽器選擇適切的引号,以及判斷連字號、合字、本地化的字元變體、大小寫變換和間距。
- 用戶可以對不同語種應用樣式,透過自訂樣式表(對編者很有用)。
- Google及其他搜尋引擎在建立索引文字時可以利用這些資訊。
- 更有助於資料遴選、分析、再利用。
- 可能有益於重新發佈維基百科的應用程式開發者。
- 可能有益於關於維基百科上語言統計數據的研究與蒐集。
自定義樣式
通过添加或修改User:你的用户名/common.css或对应皮肤的css,可以控制不同语言内容的显示样式。如对所有俄语的文字显示为绿色。Internet Explorer使用者要求在版本8或以上。
- 示例:
- 控制特定语言(这里是俄语)的显示样式:
span[lang|=ru] { font-family: fonteskaya; }
- 控制所有语言的显示样式:
span[lang] { color: green; }
- 注意事项:
- 不要为CSS文件添加双引号。
杂项
- {{DISPLAYTITLE}}和{{lang}}不能一起使用,如{{DISPLAYTITLE:{{lang|en|Good To See You}}}}会出错,折衷办法是{{TitleLang}}。
- 使用「<span lang="en">example</span>」之類的語法在顯示時的效果相若,但是不會自動把條目歸入「Category:含有英語的條目」之類的分類。
模板數據
Lang-{zh-cn:模板数据;zh-tw:模板資料}-
<templatedata>{
"description": "用來標明特定語言文字", "params": { "1": { "label": "語言標籤", "description": "外語的ISO 639語言標籤,如en代表英語", "type": "string", "required": true }, "2": { "label": "內文", "description": "外語文本,如 I speak English", "type": "string", "required": true }, "nocat": { "label": "不加入分類", "description": "如不想加入頁面分類,請輸入true", "type": "string", "required": false } }
} </templatedata>
參見
- Category:多語言支援模板
- ISO 639(語言代碼)
- ISO 15924 列表(書寫文字代碼)
- 国际标准化组织拉丁化方案列表(拉丁轉寫代碼)
- {{transl}} 用在並非本身以拉丁字母書寫的語言之羅馬化。
- {{Unicode}}、{{script}} 用在特殊字符之顯示。
- Category:语言标示模板,視覺上標示外部連結為外語內容。
參考資料
- W3C
- IANA
- IANA Language Subtag Registry
- Tags for Identifying Languages (RFC 4646)
- Matching of Language Tags (RFC 4647)
- Language tags—(obsolete per RFC4646)