Письменности/Синтаксис
- Переведённая версия «zh:Help:高级字词转换语法»
Эта страница описывает специальную разметку, которая используется в LanguageConverter, системе преобразования между вариантами языка через замену символов или слов. Во всех примерах ниже символы в нижнем регистре представляют упрощённый китайский, а В ВЕРХНЕМ — традиционный китайский.
Концепция
Разметка LanguageConverter выглядит так:
-{ text }-
-{ flag | variant1 : text1 ; variant2 : text2 ; }-
-{ flag1 ; flag2 | from => variant : to ; }-
Флаги (flag) описываются ниже, а названия вариантов (variantx) являются языковыми кодами (такими как zh-cn
или zh-tw
).
У варианта возможны резервные варианты.
В следующих примерах, разработанных для китайского языка, zh-cn
и zh-sg
- это варианты, записанные в скрипте zh-hans
, а zh-hk
, zh-mo
- варианты, написанные в скрипте zh-hant
.
Например, в соответствии с определением $variantfallbacks
в LanguageZh.php
, если правила для zh-hk
не найдены, преобразователь попытается использовать определения для zh-hant
, zh-mo
и zh-tw
.
В этом примере вы можете заметить, что zh-mo
и zh-sg
отсутствуют в большинстве примеров.
Это связано с их высокой схожестью с другими вариантами, zh-hk
и zh-cn
соответственно.
Синтаксис
Основной синтаксис
Имя | Описание | Пример | Примечание | |
---|---|---|---|---|
Вики-текст | Результат | |||
Двунаправленный | Двунаправленное преобразование с поддержкой флагов. Наиболее частый синтаксис ручного преобразования. |
-{zh-hans:computer; zh-hant:ELECTRONICBRAIN;}- |
|
|
Однонаправленный | Однонаправленное преобразование с поддержкой флагов. В основном используется для добавления новых правил преобразования. Выполняется быстрее, чем двунаправленные правила.
Удобен в основном для унификации языковой вариативности и предотвращения беспорядочных преобразований. |
-{H|HUGEBLOCK=>zh-cn:macro;}- Test: HUGEBLOCK, macro |
|
Резервные варианты не поддерживаются односторонним преобразованием. Например, в приведенном выше примере для zh-hans и zh-sg не будут использоваться правила zh-cn . В то же время, если правило добавляется для zh-hans , оно будет применяться только к zh-hans , но не к zh-cn .
|
Отключён | Отключить преобразование письменности |
-{SimpTrad}- <!--Также возможно с флагом «R»: -{R|SimpTrad}---> |
|
Полностью отключает преобразование письменности. |
(Полу)отключён | Отключить преобразование «слов» (разбиение слов на части не повлияет на транскрипцию символов) Полезно для предотвращения неправильного преобразования корректным разрывом текста на слова. |
HAN-{}-GUK, cho-{}-sun (предполагая, что есть правило преобразования, работающее между |
hanguk, chosun
|
Есть другой способ достичь этого результата, который более удобен в шаблонах. См. «Комбинированный флаг преобразования» ниже. Например: -{zh;zh-hans;zh-hant|HANGUK}- -{zh;zh-hans;zh-hant|chosun}-
|
Флаг преобразования
Общие флаги
Флаг | Описание | Пример | Примечание | |
---|---|---|---|---|
Вики-текст | Результат | |||
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;}- -{zh-hans:→; zh-hant:⇒}- blog, WEBJOURNAL, WEBLOG |
|
Сравните первый результат (с флагом A) с результатом с флагом H и операцией без флагов. |
- | Убрать существующее правило преобразования |
-{H|zh-cn:blog; zh-hk:WEBJOURNAL; zh-tw:WEBLOG;}- <!-- Add rule --> + blog, WEBJOURNAL, WEBLOG -{-|zh-cn:blog; zh-hk:WEBJOURNAL; zh-tw:WEBLOG;}- <!-- Remove 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 выше. |
Исключения
Конвертер языков избегает преобразование текста, который размещён в тэгах кода, таких как <pre>...</pre>
, <code>...</code>
, а также <script>...</script>
, используемого для хранения выполняемого JavaScript-кода.
Помещение пустого правила преобразования -{}-
в такие тэги будет работать как параметр «использовать преобразование» для конвертера.
Этот хак может быть полезным для образцов кода внутри таких тэгов.
Предостережение, однако, заключается в том, что этот переключатель, похоже, не работает для тегов <syntaxhighlight>
с расширением, которые в конечном итоге генерируют <pre>...</pre>
, вложенный с элементами (T34943).
Переключатель также не будет работать со сценариями, изначально не включенными в исходный HTML-код страницы, для работы с которым предназначен LC.
Сообщения MediaWiki не обрабатываются LC. Это неудобство отслеживается в T170916.
См. также
- Справка:Волшебные слова - для параметров, связанных с конвертером
- Parsoid/Language conversion - который собирает дополнительную документацию, касающуюся преобразования языка