Writing systems/Syntax/bg
| This page is under construction Do not mark for translation. See zh:Wikipedia:互助客栈/技术#Request for Translation of LanguageConverter documentation for discussions. |
- Translated version of zh:Help:高级字词转换语法
This page describes special markups found in LanguageConverter, a system which converts between language variants via means of character/word replacement. In all examples below, characters in lowercase are used to represent Simplified Chinese, and UPPERCASE ones represent Traditional Chinese.
Some example characters you can use for testing:
| TRADITIONAL | simplified | Transliteration
(Pinyin) |
Meaning |
|---|---|---|---|
| 氣 | 气 | qì | air |
| 馬 | 马 | mǎ | horse |
| 電 | 电 | diàn | electricity |
Concept
LanguageConverter markups looks like:
-{ text }--{ flag | variant1 : text1 ; variant2 : text2 ; }--{ flag1 ; flag2 | from => variant : to ; }-
Where flags are described below, and variant names are language codes (like zh-cn or zh-tw).
Language codes
The examples below use the following language codes:
| Code | Language | Note |
|---|---|---|
| zh | китайски | "zh" is the initial consonant of the Mandarin pinyin for the character "中". (China is 中国, Zhōngguó.) |
| zh-hans | китайски (опростен) | hans is an ISO 15924 script code, part of the BCP 47 language tag. "han" is the pinyin for the first character in 汉字 Hànzì (written in simplified characters) which is the autonym of the Chinese script, and "s" is the first letter of "Simplified Chinese".
|
| zh-hant | китайски (традиционен) | hant is an ISO 15924 script code, part of the BCP 47 language tag. "han" is the pinyin for the first character in 漢字 Hànzì (written in traditional characters) which is the autonym of the Chinese script, and "t" is the first letter of "Traditional Chinese".
|
| zh-cn | Mainland China (Simplified) | cn is the ISO 3166-1 alpha-2 code for mainland China, part of the BCP 47 language tag.
|
| zh-hk | Hong Kong (Traditional) | hk is the ISO 3166-1 alpha-2 code for Hong Kong, part of the BCP 47 language tag.
|
| zh-mo | Macau (Traditional) | mo is the ISO 3166-1 alpha-2 code for Macau, part of the BCP 47 language tag.
|
| zh-my | Malaysia (Simplified) | my is the ISO 3166-1 alpha-2 code for Malaysia, part of the BCP 47 language tag.
|
| zh-sg | Singapore (Simplified) | sg is the ISO 3166-1 alpha-2 code for Singapore, part of the BCP 47 language tag. Malaysia and Singapore were originally covered by a combined variant.
|
| zh-tw | Taiwan (Traditional) | cn is the ISO 3166-1 alpha-2 code for Taiwan, part of the BCP 47 language tag.
|
Each LanguageConverter in MediaWiki has a main language code, which serves as the default value when returning article text unmodified. If a language code does not have a fallback language code set, then the main language code is used as its fallback code. Each language version of Wikipedia defines a default language code; for wikis using language converter that default language code is the main language code of its LanguageConverter.
When the selected language code does not have any available display output, MediaWiki will attempt to fallback to another language code to obtain display output.
Similarly, when word conversion fails to find a full-text conversion for a certain language code, it will consult the rules for the fallback code to attempt to find a matching conversion.
According to ZhConverter::getVariantsFallbacks() the order of fallback variants is as follows:
| Language code | Fallback codes | ||
|---|---|---|---|
| zh-hans | zh-cn | zh-sg | zh-my |
| zh-hant | zh-tw | zh-hk | zh-mo |
| zh-cn | zh-hans | zh-sg | zh-my |
| zh-hk | zh-mo | zh-hant | zh-tw |
| zh-mo | zh-hk | zh-hant | zh-tw |
| zh-my | zh-sg | zh-hans | zh-cn |
| zh-sg | zh-my | zh-hans | zh-cn |
| zh-tw | zh-hant | zh-hk | zh-mo |
The main language code also has fallback codes. The fallback codes for zh are, in order: zh-hans, zh-hant, zh-cn, zh-tw, zh-hk, zh-sg, zh-mo, zh-my.
Синтаксис
Основен синтаксис
| Име | Описание | Пример | Бележки | |
|---|---|---|---|---|
| Уикитекст | Output | |||
| Bidirectional | Bidirectional conversion with flag support. Most common syntax in manual conversion. |
-{zh-cn:computer; zh-tw:ELECTRONICBRAIN;}-
|
|
|
| Unidirectional | Unidirectional conversion with flag support. Primarily used for adding new conversion rules. Runs faster than bidirectional rules.
Mainly useful for unifying language variance and preventing erratic conversion. |
-{H|HUGEBLOCK=>zh-cn:macro;}-
Test: HUGEBLOCK, macro
|
|
Fallback is not supported in unidirectional conversion. For example, in the above example, zh-hans and zh-sg won't use zh-cn's rules. On the other hand, if the rule was inserted into zh-hans, it would only apply to zh-hans, but not zh-cn.
|
| Disabled | Disable language conversion |
-{SimpTrad}-
(Alternatively, with the "R" flag: |
|
This disables conversion completely. |
| (Semi-)disabled | Disable "word" conversion (breaking words apart, won't affect character transcription) Useful for stopping erratic conversion by splitting words correctly. |
HAN-{}-GUK, cho-{}-sun
(assuming there's a system-wide conversion rule between |
|
There's another way to achieve this, which is more convenient in templates. See "Combined conversion flag" below. For example: -{zh;zh-hans;zh-hant|HANGUK}- -{zh;zh-hans;zh-hant|chosun}-
|
Conversion flags
Common flags
Note that the actual effect of the inserted rules only takes place after the point where the rule is defined. Therefore it is recommended to place rules (for example, using the zh:Template:NoteTA template) at the beginning of the article and above any preface or infobox. In some cases, however, it is desired to present words in the disambiguation hatnote template from being transformed, in which case the rules should be placed below that.
| Флаг | Описание | Пример | Бележки | |
|---|---|---|---|---|
| Уикитекст | Output | |||
| H | Insert a conversion rule without output |
-{H|zh-cn:blog; zh-hk:WEBJOURNAL; zh-tw:WEBLOG;}-
Test: blog, WEBJOURNAL, WEBLOG
|
|
zh-hans and zh-hant are simply scripts and won't apply bidirectional rules. See also the $manualLevel parameter in LanguageConverter.
|
| A | Insert a conversion rule with a result in the current language |
-{A|zh-cn:blog; zh-hk:WEBJOURNAL; zh-tw:WEBLOG;}-
Test: blog, WEBJOURNAL, WEBLOG
|
|
Compare the first (A) output with the one from H and flag-free operation. |
| - | Remove existing conversion rule |
-{H|zh-cn:blog; zh-hk:WEBJOURNAL; zh-tw:WEBLOG;}- <!-- Add a rule -->
+ blog, WEBJOURNAL, WEBLOG
-{-|zh-cn:blog; zh-hk:WEBJOURNAL; zh-tw:WEBLOG;}- <!-- Remove a rule -->
- blog, WEBJOURNAL, WEBLOG
|
|
Compare test (+), test (-), and basic hans/hant |
| T | Override page title |
-{T|zh-cn:tom hanks; zh-hk:SOUP HANS; zh-tw:TOM HANKS;}-
(assuming the original title is "TomHanks") |
(shown as page title)
|
|
| D | Describe conversion rule |
-{D|zh-cn:tom hanks; zh-hk:SOUP HANS; zh-tw:TOM HANKS}-
|
|
Good for generating overviews in public conversion rule-groups. |
Combined conversion flag
| Флаг | Описание | Пример | Бележки | |
|---|---|---|---|---|
| Уикитекст | Output | |||
| variant name | Only consider certain variants for conversion |
-{H|zh-cn:blog; zh-hk:WEBJOURNAL; zh-tw:WEBLOG;}-
Test 1:
-{zh;zh-hans;zh-hant|blog, WEBJOURNAL, WEBLOG}-
Test 2:
-{zh;zh-cn;zh-hk|blog, WEBJOURNAL, WEBLOG}-
(assuming this runs on a Chinese wiki) |
|
Compare test 1, test 2 and the usage case in H flag above. Used like the example in test 1, this feature can be used in situations where regional terminology conversion should be avoided, but simplified/traditional character conversion is allowed; for example the regional film titles in zh:Template:Infobox Film. |
Exceptions
Language converter avoids converting anything found in "code" blocks like <pre>...</pre>, <code>...</code>, as well as the <script>...</script> tag used for carrying executable JavaScript.
Putting an empty conversion rule block -{}- inside these tags will function as a "force convert" switch for the converter.
This hack can be useful for code samples nested in these tags.
A caveat, however, is that this switch doesn't seem to work for the extension-provided <syntaxhighlight> tags which eventually generates a <pre>...</pre> nested with elements (T34943).
The switch also won't work with scripts not originally included with the page's HTML source that LC is designed to operate on.
MediaWiki messages are not processed by LC. This inconvenience is tracked in T170916.
See also
- Help:Magic words - for switches related to the converter
- Parsoid/Language conversion - which collects additional documentation relating to Language Conversion