Письменности/Синтаксис
- Переведённая версия «zh:Help:高级字词转换语法»
Эта страница описывает специальную разметку, которая используется в LanguageConverter, системе преобразования между вариантами языка через замену символов или слов. Во всех примерах ниже символы в нижнем регистре представляют упрощённый китайский, а В ВЕРХНЕМ — традиционный китайский.
Some example characters you can use for testing:
| TRADITIONAL | simplified | Transliteration (Pinyin) |
Meaning |
|---|---|---|---|
| 氣 | 气 | qì | air |
| 馬 | 马 | mǎ | horse |
| 電 | 电 | diàn | electricity |
Концепция
Разметка LanguageConverter выглядит так:
-{ text }--{ flag | variant1 : text1 ; variant2 : text2 ; }--{ flag1 ; flag2 | from => variant : to ; }-
Флаги (flag) описываются ниже, а названия вариантов (variantx) являются языковыми кодами (такими как zh-cn или 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) | tw 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.
Синтаксис
Основной синтаксис
| Имя | Описание | Пример | Примечание | |
|---|---|---|---|---|
| Вики-текст | Результат | |||
| Двунаправленный | Двунаправленное преобразование с поддержкой флагов. Наиболее частый синтаксис ручного преобразования. |
-{zh-cn:computer; zh-tw:ELECTRONICBRAIN;}- |
|
|
| Однонаправленный | Однонаправленное преобразование с поддержкой флагов. В основном используется для добавления новых правил преобразования. Выполняется быстрее, чем двунаправленные правила.
Удобен в основном для унификации языковой вариативности и предотвращения беспорядочных преобразований. |
-{H|HUGEBLOCK=>zh-cn:macro;}- Test: HUGEBLOCK, macro |
|
Резервные варианты не поддерживаются односторонним преобразованием. Например, в приведенном выше примере для zh-hans и zh-sg не будут использоваться правила zh-cn. В то же время, если правило добавляется для zh-hans, оно будет применяться только к zh-hans, но не к zh-cn.
|
| Отключён | Отключить преобразование письменности |
-{SimpTrad}- (Также возможно с флагом «R»: |
|
Полностью отключает преобразование письменности. |
| (Полу)отключён | Отключить преобразование «слов» (разбиение слов на части не повлияет на транскрипцию символов) Полезно для предотвращения неправильного преобразования корректным разрывом текста на слова. |
HAN-{}-GUK, cho-{}-sun (предполагая, что есть правило преобразования, работающее между |
|
Есть другой способ достичь этого результата, который более удобен в шаблонах. См. «Комбинированный флаг преобразования» ниже. Например: -{zh;zh-hans;zh-hant|HANGUK}- -{zh;zh-hans;zh-hant|chosun}-
|
Флаг преобразования
Общие флаги
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 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.
| Флаг | Описание | Пример | Примечание | |
|---|---|---|---|---|
| Вики-текст | Результат | |||
| H | Вставить правило преобразования без вывода |
-{H|zh-cn:blog; zh-hk:WEBJOURNAL; zh-tw:WEBLOG;}- Test: blog, WEBJOURNAL, WEBLOG |
|
zh-hans и zh-hant — просто письменности, и не будут использовать двунаправленные правила. См. также параметр $manualLevel в LanguageConverter.
|
| A | Вставить правило преобразования с результатом в текущем языке |
-{A|zh-cn:blog; zh-hk:WEBJOURNAL; zh-tw:WEBLOG;}- Test: blog, WEBJOURNAL, WEBLOG |
|
Сравните первый результат (с флагом A) с результатом с флагом H и операцией без флагов. |
| - | Убрать существующее правило преобразования |
-{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 |
|
Сравните тест (+), тест (-) и базовые hans/hant |
| T | Перезаписать заголовок страницы |
-{T|zh-cn:tom hanks; zh-hk:SOUP HANS; zh-tw:TOM HANKS;}- (предполагая, что изначальный заголовок — «TomHanks») |
(показывается как заголовок страницы)
|
|
| D | Описать правило преобразования |
-{D|zh-cn:tom hanks; zh-hk:SOUP HANS; zh-tw:TOM HANKS}- |
|
Полезно для генерации общих сведений о группах правил преобразований |
Комбинированный флаг преобразования
| Флаг | Описание | Пример | Примечание | |
|---|---|---|---|---|
| Вики-текст | Результат | |||
| название варианта | Учесть только отдельные варианты для преобразования |
-{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}- (предполагая, что этот код выполняется на китайской вики) |
|
Сравните тест 1, тест 2 способ использования с флагом H выше. 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. |
Исключения
Конвертер языков избегает преобразование текста, который размещён в тэгах кода, таких как <pre>...</pre>, <code>...</code>, а также <script>...</script>, используемого для хранения выполняемого JavaScript-кода.
Помещение пустого правила преобразования -{}- в такие тэги будет работать как параметр «использовать преобразование» для конвертера.
Этот хак может быть полезным для образцов кода внутри таких тэгов.
Предостережение, однако, заключается в том, что этот переключатель, похоже, не работает для тегов <syntaxhighlight > с расширением, которые в конечном итоге генерируют <pre>...</pre>, вложенный с элементами (T34943).
Переключатель также не будет работать со сценариями, изначально не включенными в исходный HTML-код страницы, для работы с которым предназначен LC.
Сообщения MediaWiki не обрабатываются LC. Это неудобство отслеживается в T170916.
См. также
- Справка:Волшебные слова - для параметров, связанных с конвертером
- Parsoid/Language conversion - который собирает дополнительную документацию, касающуюся преобразования языка