Письменности/Синтаксис

This page is a translated version of the page Writing systems/Syntax and the translation is 100% complete.
Переведённая версия «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;}-
zh, zh-hans, zh-cn, zh-sg
computer
zh-hant, zh-tw, zh-hk, zh-mo
ELECTRONICBRAIN
Однонаправленный Однонаправленное преобразование с поддержкой флагов. В основном используется для добавления новых правил преобразования. Выполняется быстрее, чем двунаправленные правила.

Удобен в основном для унификации языковой вариативности и предотвращения беспорядочных преобразований.

-{H|HUGEBLOCK=>zh-cn:macro;}-
Test: HUGEBLOCK, macro
zh
Test: HUGEBLOCK, Macro
zh-hans, zh-sg
test: hugeblock, macro
zh-hant, zh-hk, zh-tw
TEST: HUGEBLOCK, MACRO
zh-cn
test: macro, macro
Резервные варианты не поддерживаются односторонним преобразованием. Например, в приведенном выше примере для zh-hans и zh-sg не будут использоваться правила zh-cn. В то же время, если правило добавляется для zh-hans, оно будет применяться только к zh-hans, но не к zh-cn.
Отключён Отключить преобразование письменности
-{SimpTrad}-
<!--Также возможно с флагом «R»: -{R|SimpTrad}--->
(все варианты)
SimpTrad
Полностью отключает преобразование письменности.
(Полу)отключён Отключить преобразование «слов»
(разбиение слов на части не повлияет на транскрипцию символов)

Полезно для предотвращения неправильного преобразования корректным разрывом текста на слова.

HAN-{}-GUK, cho-{}-sun

(предполагая, что есть правило преобразования, работающее между HANGUK и chosun)

zh
HANGUK, chosun
zh-hans, zh-cn, zh-sg

hanguk, chosun

zh-hant, zh-hk, zh-tw
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
Test: blog, WEBJOURNAL, WEBLOG
zh-hans
test: blog, webjournal, weblog
zh-hant
TEST: BLOG, WEBJOURNAL, WEBLOG
zh-cn, zh-sg
test: blog, blog, blog
zh-hk
TEST: WEBJOURNAL, WEBJOURNAL, WEBJOURNAL
zh-tw
TEST: WEBLOG, WEBLOG, 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
zh
blog → blog, WEBJOURNAL, WEBLOG
zh-hans
blog → blog, webjournal, weblog
zh-hant
WEBLOG ⇒ BLOG, WEBJOURNAL, WEBLOG
zh-cn, zh-sg
blog → blog, blog, blog
zh-hk
WEBJOURNAL ⇒ WEBJOURNAL, WEBJOURNAL, WEBJOURNAL
zh-tw
WEBLOG ⇒ WEBLOG, WEBLOG, 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
zh
+ blog, WEBJOURNAL, WEBLOG
- blog, WEBJOURNAL, WEBLOG
zh-hans
+ blog, webjournal, weblog
- blog, webjournal, weblog
zh-hant
+ BLOG, WEBJOURNAL, WEBLOG
- BLOG, WEBJOURNAL, WEBLOG
zh-cn, zh-sg
+ blog, blog, blog
- blog, webjournal, weblog
zh-hk
+ WEBJOURNAL, WEBJOURNAL, WEBJOURNAL
- BLOG, WEBJOURNAL, WEBLOG
zh-tw
+ WEBLOG, WEBLOG, WEBLOG
- BLOG, WEBJOURNAL, WEBLOG
Сравните тест (+), тест (-) и базовые hans/hant
T Перезаписать заголовок страницы
-{T|zh-cn:tom hanks; zh-hk:SOUP HANS; zh-tw:TOM HANKS;}-

(предполагая, что изначальный заголовок — «TomHanks»)

(показывается как заголовок страницы)
zh (gerrit:19746)
TomHanks
zh-hans, zh-cn, zh-sg
tom hanks
zh-hk
SOUP HANS
zh-tw
TOM HANKS
D Описать правило преобразования
-{D|zh-cn:tom hanks; zh-hk:SOUP HANS; zh-tw:TOM HANKS}-
(all variants)
China: tom hanks; Hong Kong: SOUP HANS; Taiwan: 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}-

(предполагая, что этот код выполняется на китайской вики)

zh
Test 1: blog, WEBJOURNAL, WEBLOG
Test 2: blog, WEBJOURNAL, WEBLOG
zh-hans
test 1: blog, webjournal, weblog
test 2: blog, blog, blog
zh-hant, zh-tw
TEST 1: BLOG, WEBJOURNAL, WEBLOG
TEST 2: WEBLOG, WEBLOG, WEBLOG
zh-cn, zh-sg
test 1: blog, webjournal, weblog
test 2: blog, blog, blog
zh-hk
TEST 1: BLOG, WEBJOURNAL, WEBLOG
TEST 2: WEBJOURNAL, WEBJOURNAL, WEBJOURNAL
Сравните тест 1, тест 2 способ использования с флагом H выше.

Исключения

Конвертер языков избегает преобразование текста, который размещён в тэгах кода, таких как ‎<pre>...‎</pre>, ‎<code>...‎</code>, а также ‎<script>...‎</script>, используемого для хранения выполняемого JavaScript-кода. Помещение пустого правила преобразования -{}- в такие тэги будет работать как параметр «использовать преобразование» для конвертера. Этот хак может быть полезным для образцов кода внутри таких тэгов.

Предостережение, однако, заключается в том, что этот переключатель, похоже, не работает для тегов ‎<syntaxhighlight> с расширением, которые в конечном итоге генерируют ‎<pre>...‎</pre>, вложенный с элементами (T34943). Переключатель также не будет работать со сценариями, изначально не включенными в исходный HTML-код страницы, для работы с которым предназначен LC.

Сообщения MediaWiki не обрабатываются LC. Это неудобство отслеживается в T170916.

См. также