Цель этого шаблона — указать, что фрагмент текста принадлежит определенному языку, отличному от языка всей страницы (по умолчанию английский в этой Википедии). Его можно использовать в строке или вокруг элементов блочного уровня, таких как <poem>
, абзацы, списки или div.
Шаблон выделяет текст курсивом по умолчанию (это можно отключить, и это не относится к определенным сценариям) и может подсказать веб-браузерам использовать более подходящий шрифт или программам чтения с экрана использовать определенный вид произношения и т. д. Для получения дополнительной информации см. § Обоснование.
{{lang|language tag|text}}
Тег языка должен состоять из кода языка ISO-639 . См. список кодов ISO 639-1 для двухбуквенных кодов; если вы не нашли нужный язык, обратитесь к списку кодов ISO 639-3 .
Шаблон также поддерживает правильно отформатированные языковые теги IETF с использованием подтегов, которые идентифицируют письменность, регион и/или вариант языка. Код языка ISO 639 представляет собой двух- или трехбуквенную аббревиатуру в нижнем регистре названия языка. Например, французский язык имеет код fr
:
She said: "{{lang|fr|Je suis française.}}"
→ Она сказала: « Je suis française » .Поскольку все языки, представленные двухбуквенными кодами в ISO 639-1, также могут быть представлены их трехбуквенными эквивалентами в ISO 639-2 и выше, рекомендуется использовать максимально короткий языковой тег, который достаточно описывает целевой язык. [1] Таким образом, хотя французский язык может быть представлен кодом ISO 639-2 fra
, вместо этого используйте код ISO 639-1 fr
. Аналогично, информация о скрипте, регионе и варианте должна быть включена только в том случае, если она обеспечивает необходимое различие. Для получения актуального списка доступных кодов языка, скрипта, региона и варианта обратитесь к реестру языковых субтегов IANA .
По умолчанию этот шаблон будет помещать статьи в соответствующую подкатегорию Category:Articles, содержащую текст не на английском языке . Чтобы подавить это — например, при использовании {{lang}} в викиссылке или параметре заголовка цитаты — добавьте параметр |cat=no
.
{{lang}}
автоматически применяет курсивное начертание , когда текст {{{2}}}
полностью написан с использованием Latn
алфавита (латинского алфавита и его расширений), либо когда это кодировка по умолчанию для языка, либо когда это вызвано кодом xx-Latn
языка:
{{lang|fr|Je suis française.}}
→ Я французский.''{{lang|fr|Je suis française.}}''
→ Je suis française. — внешняя разметка игнорируется{{lang|he-Latn|la'az}} ({{lang|he|לעז}})
→ лааз ( לעז )''{{lang|he-Latn|la'az}}'' (''{{lang|he|לעז}}'')
→ la'az ( לעז ) – внешняя разметка вокруг текста игнорируется he-Latn
, но неправильно выделяет курсивом еврейские символы.Если Latn
шрифт не должен быть курсивным, существует несколько подходов: |italic=no
– отображается {{{2}}}
прямым шрифтом; курсивная разметка вокруг шаблона игнорируется; курсивная разметка внутри шаблона вызывает сообщение об ошибке:
{{lang|fr|Je suis française.|italic=no}}
→ Я французский.''{{lang|fr|Je suis française.|italic=no}}''
→ Я французский.''{{lang|fr|Je suis ''française''.|italic=no}}''
→ [Je suis française .] Ошибка: {{Lang}}: текст имеет курсивную разметку ( помощь ) – курсивная разметка конфликтует с|italic=no
|italic=unset
– отключает стили, предоставляемые шаблоном; {{{2}}}
стилизуется в соответствии с внешней или внутренней разметкой вики:
{{lang|fr|Je suis française.|italic=unset}}
→ Я французский.''{{lang|fr|Je suis française.|italic=unset}}''
→ Я французский.{{lang|fr|''Je suis'' English.|italic=unset}}
→ Я говорю по-английски.{{noitalic}}
также можно использовать:
{{lang|fr|Je suis {{noitalic|English}}.}}
→ Я говорю по-английски .Существует версия этого шаблона, {{ langx }} , которая предназначена для использования в первый раз, когда язык появляется в статье. Эти шаблоны будут печатать название языка и, при необходимости, выделять курсивом его содержимое:
A '''kremlin''' ({{langx|ru|кремль}}, 'castle') is a major fortified central complex ...
→ Кремль — крупный укреплённый центральный комплекс ...Хотя {{langx}}
шаблон выводит текст курсивом для языков с латинской графикой, если требуется обычный текст, например, для имен собственных, |italic=no
можно использовать:{{noitalic}}
the border town of Ventimiglia ({{langx|fr|Vintimille}})
→ приграничный город Вентимилья ( французский : Vintimille )the border town of Ventimiglia ({{langx|fr|italic=no|Vintimille}})
→ приграничный город Вентимилья ( французский : Vintimille )the border town of Ventimiglia ({{langx|fr|{{noitalic|Vintimille}}}})
→ приграничный город Вентимилья ( французский : Vintimille )При форматировании текста на иностранном языке для соответствия рекомендациям по стилю лучше всего исключить разметку стиля из шаблона, чтобы любая посторонняя разметка, которая не относится к иностранному языку, не получала неверные метаданные для этого языка. Сюда входят: кавычки на английском языке вокруг названий работ на языках, которые используют другие глифы символов кавычек; курсив названий на языках, которые не используют эту конвенцию; и выделение, которое не встречается (в том или ином стиле) в исходном иностранном тексте; среди прочих случаев. Если есть сомнения, поместите такую разметку за пределы шаблона, когда это возможно.
{{lang|cel-x-proto|kal-}}
→ * кал-{{lang|cel-x-proto|kal-|proto=no}}
→ кал-{{langx|cel-x-proto|kal-}}
→ Протокельтский : * kal-{{langx|cel-x-proto|kal-|proto=no}}
→ Протокельтский : kal-{{lang|en|accidently}}
→ случайно{{lang|en|accidently|proto=yes}}
→ * случайноЧтобы встроить строку текста справа налево (например, арабского или иврита ) в обычный контекст слева направо, |rtl=yes
следует добавить для правильной передачи направления письма. Чтобы отметить целый абзац текста справа налево, следует использовать {{ rtl-para }} .
Любой из этих подходов обернет текст в контейнер с dir="rtl"
атрибутом. Чтобы обеспечить корректную визуализацию в браузерах, которые не полностью поддерживают двунаправленную изоляцию HTML5 , в конец текста также добавляется метка слева направо (подробности см. в W3C).
Обратите внимание, что при использовании шаблонов направление текста указывать не нужно , так как это подразумевается языком шаблона.{{lang-xx}}
† сравните |italic=invert
с |italic=unset
:
{{Lang|de|... ein neues Opernprojekt in Angriff: ''Das Käthchen von Heilbronn'', nach Heinrich von Kleists gleichnamigem Drama.|italic=invert}}
{{Lang|de|''... ein neues Opernprojekt in Angriff: ''Das Käthchen von Heilbronn'', nach Heinrich von Kleists gleichnamigem Drama.''|italic=unset}}
{{lang}}
использует функцию Lua lang()
Module:Lang . Этот модуль также поддерживает все {{lang-??}}
шаблоны, использующие функции Lua lang_xx_inherit()
и lang_xx_italic()
. Модуль имеет другие функции, которые могут быть полезны. Параметр селектора функций |fn=
сообщает module:lang, какую функцию выполнять. Доступны следующие функции:
is_ietf_tag
– возвращает, true
если предоставленный тег языка IETF действителен; в противном случае возвращает nil{{lang|fn=is_ietf_tag|nv}}
→правда←{{lang|fn=is_ietf_tag|xx}}
→←is_lang_name
– возвращает, true
если указанное название языка является допустимым; в противном случае возвращает nil{{lang|fn=is_lang_name|navajo}}
→правда←{{lang|fn=is_lang_name|xxxxx}}
→←lang
– функция, которая отображает {{lang}}
; перечислена здесь для полноты картины, это конкретное использование более или менее бессмысленноlang_xx_inherit
– функция, которая визуализирует {{lang-??}}
шаблон, в котором текст не выделен курсивом; может использоваться {{lang-??}}
, например {{lang-aao}}
, когда шаблон не существует для определенного языка:{{lang|fn=lang_xx_inherit|code=aao|Algerian Saharan Arabic text}}
→ Алжирский сахарский арабский : Алжирский сахарский арабский текстlang_xx_italic
– функция, которая визуализирует {{lang-??}}
шаблон, в котором текст выделен курсивом; может использоваться {{lang-??}}
, например {{lang-svc}}
, когда шаблон не существует для определенного языка:{{lang|fn=lang_xx_italic|code=svc|Vincentian Creole English text}}
→ Винсентский креольский английский : Текст на Винсентском креольском английскомname_from_tag
– возвращает название языка, связанное с предоставленным тегом языка IETF:{{lang|fn=name_from_tag|apa}}
→ Языки Apachetag_from_name
– возвращает код языка ISO 639 (иногда тег языка IETF), связанный с предоставленным названием языка:{{lang|fn=tag_from_name|havasupai}}
→ yuf-x-havtransl
– функция, которая отображает ; перечислена здесь для полноты картины, это конкретное использование более или менее бессмысленно{{transl}}
{{lang|fn=transl|ar|DIN|al-Ḫawārizmī}}
→ аль-ХаваризмиПри необходимости код скрипта ISO 15924 может быть добавлен к коду языка, чтобы указать использование определенного скрипта. Например, таджикский ( tg
) — это язык, который можно найти в арабском ( Arab
), латинском ( Latn
) и кириллическом ( Cyrl
) шрифтах, что делает необходимым всегда указывать, какой шрифт используется. В таком случае, заботясь о сохранении заглавных букв кода скрипта, мы могли бы получить следующий код (теги языка выделены жирным шрифтом):
Tajik ({{lang|tg-Arab|rtl=yes|تاجیکی}}, {{lang|tg-Latn|toçikī}}, {{lang|tg-Cyrl|тоҷикӣ}})
Однако многие языки настолько часто пишутся в одном конкретном письме, что указание письма не является необходимым. Например, русский язык почти исключительно пишется кириллицей, поэтому нет необходимости указывать ru-Cyrl
, как и en-Latn
было бы ненужным для английского языка. Реестр подтегов содержит актуальную информацию о том, какие языки имеют общие коды письма, которые следует «подавить».
Чтобы отметить язык, который был транслитерирован из одного алфавита в другой, добавьте код нового алфавита к коду исходного языка. Таким образом, при транслитерации с русской кириллицы на латиницу тег языка в транслитерации будет ru-Latn
. Если схема транслитерации известна и указана как «вариант» в реестре подтегов, ее можно добавить после кодов любого алфавита и региона. Например, китайский язык, транслитерированный в латиницу с использованием системы пиньинь , будет zh-Latn-pinyin
. Для удобства транслитерации в латиницу и для обхода проблем со стилем браузера с некоторыми комбинациями языка и алфавита, можно использовать {{ transliteration }} вместо {{lang}} :
Moscow ({{lang|ru|Москва}}, {{transliteration|ru|Moskva}})
→ Москва ( Москва , Москва )Чтобы указать схему транслитерации, например стандарт транслитерации ISO для кириллицы , используйте {{transliteration|ru|ISO|Moskva}}
.
Шаблон {{lang}} используется не только для указания языка иностранных слов, но также может использоваться для указания отдельного символа или знака в сценарии, не связанного с каким-либо конкретным языком. Часто знак или символ используется в нескольких языках, но когда статья ссылается на саму графему , следует использовать код языка ISO 639‑2und
для «Неопределенного языка»:
The Chinese character {{lang|und-Hani|字}} has 6 strokes.
Китайские иероглифы ( они же символы Хань ) использовались для записи китайского, японского, корейского, вьетнамского и множества других языков . В этом случае иероглиф не представляет использование, специфичное для какого-либо конкретного языка. Обратите внимание, что используемый код сценария — Hani
, который определяет китайские иероглифы в целом, в отличие от Hant
и Hans
для традиционных или упрощенных символов соответственно.
Сравните использование {{ script }} :
The Chinese character {{script|Hani|字}} has 6 strokes.
Код mis
«Разное» для обозначения любого языка, не указанного в ISO-639.
Если необходимо указать регионально-специфический язык, к тегу языка следует добавить код страны ISO 3166-1 alpha-2 или региональный код UN M49pt
, следя за сохранением заглавных букв. Например, португальский ( ), используемый в Бразилии ( BR
), можно представить как pt-BR
, а испанский, используемый в Латинской Америке, как es-419
.
Кроме того, коды языка, сценария и региона могут появляться в одном теге. Например, код zh-Hant-TW
следует использовать для китайского текста, написанного традиционными иероглифами хань , содержащего слова или выражения, характерные для Тайваня :
Taiwan ({{lang|zh-Hant-TW|臺灣}}, {{transliteration|zh|Táiwān}})
Этот шаблон поддерживает различные теги языка IETF частного использования . Теги частного использования содержат -x-
синглтон и используются шаблоном для идентификации языков, которые по той или иной причине отличаются от базового языка, идентифицированного тегом языка ISO 639.
Если шаблон {{ lang }} придется объединить со ссылками, может возникнуть соблазн переместить шаблон {{ lang }} в ссылку, чтобы он обрамлял только текстовую метку ссылки, а не элементы синтаксиса ссылок или другие стилистические элементы некоторых типов ссылок. Однако это не работает. {{ lang }} придется обернуть всю ссылку, независимо от того, является ли она внутренней или внешней ссылкой, или ссылкой, предоставленной через шаблон интервики-ссылки {{ ill }} :
Работы:
{{lang|en|[[Book of hours]]}}
→ Часослов{{lang|de|[[Book of hours|Stundenbuch]]}}
→ Штандэнбух{{lang|he-LA|{{ill|Machsor Lipsiae|de}}}}
→ Machsor Lipsiae Не работает:
[[{{lang|en|Book of hours}}]]
→ [[ Часослов ]] (никогда не работает)[[Book of hours|{{lang|de|Stundenbuch}}]]
→ Stundenbuch (не работает в разделе статей, работает на страницах обсуждений и некоторых других типах страниц){{ill|Machsor Lipsiae|de|lt={{lang|he-LA|Machsor Lipsiae}}}}
→ Machsor Lipsiae (не работает в разделе статей, работает в обсуждениях и некоторых других типах страниц)Wikipedia:Руководство по стилю/форматированию текста § Иностранные термины требуют использования {{ lang }} вместо ручного ''курсива''. Это предпочтительно по следующим причинам:
Зарегистрированные пользователи могут применять пользовательские стили CSS к статьям, помещая объявления стилей в свою таблицу стилей пользователя. Таблица стилей пользователя может быть создана в Special:Mypage/common.css . Для получения дополнительной информации см. Help:User style . Следующие примеры должны работать в большинстве современных браузеров .
Чтобы применить определенный шрифт ко всему тексту, помеченному как русский, независимо от письменности или региона:
[ lang |= ru ] { семейство шрифтов : фонтеская ; } /* или */ : lang ( ru ) { семейство шрифтов : фонтеская ; }
Чтобы применить определенный шрифт к тексту, помеченному просто как русский:
[ lang = ru ] { семейство шрифтов : фонтеская ; }
Чтобы применить цвет ко всему тексту, отмеченному на любом языке:
[ язык ] { цвет : зеленый ; }
Если имя шрифта содержит символы, помимо основных латинских букв или дефисов, хорошей идеей будет заключить его в кавычки, поскольку некоторые из таких символов имеют особое значение (наиболее распространенным случаем, когда требуются кавычки, является имя шрифта из нескольких слов с пробелами). Кавычки также требуются для семейств шрифтов, содержащих ключевые слова generic-family ('inherit', 'serif', 'sans-serif', 'monospace', 'fantasy' и 'cursive'). Более подробную информацию см. в W3C.
Вы можете объединить это с импортом шрифтов в вашей пользовательской таблице стилей, например, чтобы отобразить весь немецкий текст шрифтом Fraktur , а весь урду — шрифтом Noto Nastaliq Urdu Regular:
@ импорт url ( https://fonts.googleapis.com/css?family=UnifrakturMaguntia ) ; @ импорт url ( http://fonts.googleapis.com/earlyaccess/notonastaliqurdudraft.css ) ; : lang ( de ) { font-family : UnifrakturMaguntia ; font-style : normal ; font-weight : normal ; } : lang ( ur ) { font-family : "Noto Nastaliq Urdu Regular" , "Noto Nastaliq Urdu" ; }
то следующий викитекст будет выглядеть как на изображении ниже:
Victor Jagt Zwölf Boxkämpfer quer über Den Sylter Deich{{lang|de-Latf|Виктор jagt zwölf Boxkämpfer quer über den Sylter Deich}}Лучший выбор для того, чтобы сделать свой выбор в пользу того, что вам нужно. عض جل پری نما اژدہے نظر آئے۔{{lang|ur|ٹھنڈ میں، ایک قحط زدہ گاؤں سے گزرتے وقت ایک چڑچڑے، بااثر و فارغ شخص کو بعض جل پری نما اژدہے نظر آئے۔}}
TemplateData для языка
Указывает, что данный фрагмент текста принадлежит определенному языку. Позволяет браузерам правильно представлять и произносить иностранные языки.