Шаблон:Lang-en2
{{{1}}}
<templatestyles src="Шаблон:Doc/styles.css" />
local yesno = require('Module:Yesno') local compressSparseArray = require('Module:TableTools').compressSparseArray local p = {}
local function unpack(...) local frame = ... local args if type(frame.args) == 'table' then args = getArgs(frame) elseif type(frame) == 'table' then args = frame else args = {...} end return args end
function p._main(anchor, text, visible) local result = mw.html.create('span') :attr('id', anchor) :wikitext(text) if visible then result:addClass('highlight-target') end return tostring(result) end
function p.main(...) local args = unpack(...) local anchors = compressSparseArray(args) local text local visible = yesno(args.visible or args.v) if visible then text = args.text or args['текст'] or args[1] end
local result = text for i, v in ipairs(anchors) do result = p._main(anchors[i], result, visible) --[[ создание старого вида якорей для совместимости, см. Обсуждение шаблона:Якорь#Новые html5 ссылки и старые ]] local encoded_anchor = mw.uri.encode(anchors[i], 'WIKI'):gsub('%%', '.') if anchors[i] ~= encoded_anchor then result = p._main(encoded_anchor, result, visible) end end
return result end
return p{{#if: Lang/doc | {{#ifexist: Lang/doc
|{{#invoke:hatnote|hatnote|hide_disambig=1}} {{#ifeq: Шаблон:Lang-en2 | Шаблон:Lang-chu | Шаблон:Lang-chu/doc | {{#ifeq: Шаблон:Lang-en2
| Шаблон:Lang-cu | Шаблон:Lang-cu/doc }}
}}
Шаблон {{[[Шаблон:Шаблон:Replace|Шаблон:Replace]]}} используется для оформления первого вхождения фрагмента на данном языке внутри русского текста статей. Для вывода без видимого указания названия языка, а также последующих вставок иноязычного текста следует использовать шаблон {{[[Шаблон:Шаблон:Replace2|Шаблон:Replace2]]}}. Для каждого из языков существует свой шаблон вида {{lang-xx}}
, где «xx» — код языка по стандарту ISO 639.
Выбор шаблона[править]
Шаблон {{Lang-en2}} входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{lang}} и {{langi}} — при этом {{langi}} отличается от {{lang}} тем, что текст в нём отображается курсивом.{{#ifeq: Lang-en2
| Lang-ru
|
{{#invoke:Message box|ombox}}
}}
Как правило, нет необходимости использовать шаблон {{lang}} или {{langi}} напрямую. Для каждого из языков существует свой шаблон, построенный на основе упомянутых. Названия таких шаблонов состоят из приставки «lang-» и кода языка в соответствии с стандартом ISO 639-1. Первым и, как правило, единственным параметром является текст на этом языке.
{{#ifeq: {{#ti | lang- | {{#ifeq: Шаблон:Str right
| 2 | Для оформления первого вхождения на данном языке в статье или разделе статьи следует использовать шаблон {{[[Шаблон:|]]}}. Для оформления последующих вхождений на том же языке (если в статье или разделе нет иноязычных вставок на других языках) следует использовать этот шаблон {{[[Шаблон:{{#titleparts: Lang-en2 | 1 | 1 }}|{{#titleparts: Lang-en2 | 1 | 1 }}]]}}. | Этот шаблон {{[[Шаблон:{{#titleparts: Lang-en2 | 1 | 1 }}|{{#titleparts: Lang-en2 | 1 | 1 }}]]}} используется для оформления первого вхождения на данном языке в статье или разделе статьи. Для оформления последующих вхождений на том же языке (если в статье или разделе нет иноязычных вставок на других языках) следует использовать шаблон {{[[Шаблон:{{#titleparts: Lang-en2 | 1 | 1 }}2|{{#titleparts: Lang-en2 | 1 | 1 }}2]]}}. }}
| Для оформления первого иноязычного вхождения в статье или разделе статьи следует использовать шаблон вида {{lang-nn}} (где nn — код языка). Для оформления последующих вхождений на том же языке (если в статье или разделе нет иноязычных вставок на других языках) следует использовать шаблон {{lang-nn2}}. }}
Когда не использовать[править]
- Не надо оборачивать данными шаблонами русский перевод с указанного языка. Для этого используйте шаблон из семейства {{tr}}. Транслитерация может быть другим случаем, см. Шаблон:Lang и раздел «См. также» ниже.
- В заголовках (мешает ссылкам на такие разделы).
- В шаблонах типа {{cite web}}, {{книга}} и др., если текст атрибута используется в ссылке. С осторожностью — в {{карточка}}: ссылки от них могут быть не очень заметны.
- Шаблоны, в которых текст выводится курсивом, не следует использовать, когда курсив не нужен (см. ВП:Оформление статей#Курсив). Используйте шаблон Шаблон:Tp.
Некоторые коды языков[править]
Языковые шаблоны постоянно пополняются новыми, поэтому для поиска необходимого шаблона лучше всего просмотреть основную для всех языковых шаблонов категорию «Шаблоны lang-x». В этой таблице для иллюстрации приведены наиболее употребительные в русском разделе Википедии языковые шаблоны (более 500 включений). Шаблон:Notice Шаблон:Notice
Любой непомеченный текст «получает» язык окружающего, для всей статьи это русский. Если язык указать необходимо, так как он отличается от языка окружающих слов, но вы не знаете, что это за язык, укажите пустой код: {{lang||текст}}. Существуют также специальные коды для языков совсем без кода, и для текста вообще ни на каком языке[1]. Но в случае сомнений лучше этим не злоупотреблять: например, латинские цифры «XVII» в русском выражении обычно читаются как «семнадцать», а чтение их на латыни собьёт читателей с толку.
Для чего это нужно[править]
- Имея информацию о языке, веб-браузеры могут выбирать шрифт, наиболее подходящий для указанного языка.
- В японском, китайском, корейском и вьетнамском есть символы (иероглифические ключи), которые в Юникоде обозначаются одинаково, но в разных языках могут выглядеть по-разному. Примеры: Шаблон:Iw, Шаблон:Iw.
- Программы для озвучивания текста для людей с нарушениями зрения могут использовать эту информацию для проговаривания разных частей текста на нужном языке[2].
- Для программ проверки грамматики и орфографии.
- Пользователи могут применять к тексту CSS-стили по языку.
- Браузер может выбирать подходящие кавычки, а также подходящие правила переноса[3] и соединения букв в лигатуры[4].
- Поисковые системы могут использовать информацию о языке при индексировании.
- Для статистики об использовании языков в Википедии.
Индивидуальные стили[править]
Можно применять стили CSS в своей пользовательской таблице стилей. Зарегистрированные пользователи могут помещать стили в Участник: имя_участника/monobook.css
.
Данные примеры могут работать по разному, в зависимости от вашего браузера.
Пример: применить шрифт к тексту на французском языке («|=
» — «даже если после кода стоит „-
“ или другие символы»)[5][6]:
<syntaxhighlight lang="css">
span[lang|=fr] { font-family: Garamond; } /* Синоним (код языка обязателен) */ span:lang(fr) { font-family: Garamond; }
</syntaxhighlight>
Пример: сделать зелёным текст, помеченный как на каком-либо языке (так как почти все части страницы имеют lang="ru"
, для практического применения может понадобиться более сложный селектор):
<syntaxhighlight lang="css">
span[lang] { color: green; }
</syntaxhighlight>
Для межъязыковых ссылок[править]
Вы можете использовать коды языков для персонального оформления блока «На других языках» в левом меню. Для выделения определённого языка можно использовать примерно такой CSS-код: <syntaxhighlight lang="css"> /* Выделяем жирным нужные нам языки */ li.interwiki-en, /* английский */ li.interwiki-simple, /* упрощённый английский */ li.interwiki-uk /* украинский */
{
font-weight:bold; text-shadow: 2px 1px 2px #a0a0a0; /* Тень */ } </syntaxhighlight> Для того чтобы ненужные языки сделать менее заметными: <syntaxhighlight lang="css"> li.interwiki-as, /* ассамский */ li.interwiki-ba, /* башкирский */ li.interwiki-bcl, /* бикольский */ li.interwiki-vo /* волапюк */ { opacity: 0.5; font-size: 80%; line-height: 90%; } </syntaxhighlight> А чтобы при наведении курсора мыши на названии языка его было проще читать: <syntaxhighlight lang="css"> li.interwiki-en:hover, /* английский */ li.interwiki-ba:hover, /* башкирский */ li.interwiki-yi:hover, /* идиш */ li.interwiki-xal:hover, /* калмыцкий */ li.interwiki-lbe:hover, /* лакский */ li.interwiki-mhr:hover, /* луговомарийский */ li.interwiki-mdf:hover /* мокшанский */ { font-weight:bold; opacity: 1; font-size: 110%; } </syntaxhighlight>
{{#ifeq: Шаблон:Lang-en2 | Шаблон:Lang-chu | Шаблон:Lang-chu/doc | {{#ifeq: Шаблон:Lang-en2
| Шаблон:Lang-cu | Шаблон:Lang-cu2/doc | {{#ifeq: Шаблон:Lang-en2 | Шаблон:Lang-cu2 | Шаблон:Lang-cu2/doc | == См. также == }} }}
}}
- {{slang}} — шаблон для использования сленга
- {{tr}} — шаблон для указания перевода
- {{transl}} — шаблон для указания языка и системы транслитерации
- {{transcription}} — шаблон для указания фонетического звучания слов (транскрипции)
- Коды языков
Примечания[править]
Параметры шаблона для визуального редактора[править]
{{#ifeq: Lang-en2 | lang | <templatedata> { "description": "Шаблон для оформления текста на иностранном языке", "params": { "1": { "label": "язык", "description": "Код язык в формате ISO 639", "example": "en", "type": "line", "required": true, "suggested": true }, "2": { "label": "текст", "description": "Текст на выбранном языке", "example": "word", "type": "string", "required": true, "suggested": true } }, "paramOrder": [ "1", "2" ] } </templatedata> | <templatedata> {
"description": "Шаблон для оформления текста на иностранном языке", "params": { "1": { "label": "текст", "description": "Текст на выбранном языке", "type": "string", "required": true } }
} </templatedata> }}
Пример: Шаблон:Пример
Шаблон:Allpages {{#ifeq: Lang-en2 | Lang | | }}
| {{#ifexist: Шаблон:Lang/doc|
{{#invoke:hatnote|hatnote|hide_disambig=1}} {{#ifeq: Шаблон:Lang-en2 | Шаблон:Lang-chu | Шаблон:Lang-chu/doc | {{#ifeq: Шаблон:Lang-en2
| Шаблон:Lang-cu | Шаблон:Lang-cu/doc }}
}}
Шаблон {{[[Шаблон:Шаблон:Replace|Шаблон:Replace]]}} используется для оформления первого вхождения фрагмента на данном языке внутри русского текста статей. Для вывода без видимого указания названия языка, а также последующих вставок иноязычного текста следует использовать шаблон {{[[Шаблон:Шаблон:Replace2|Шаблон:Replace2]]}}. Для каждого из языков существует свой шаблон вида {{lang-xx}}
, где «xx» — код языка по стандарту ISO 639.
Выбор шаблона[править]
Шаблон {{Lang-en2}} входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{lang}} и {{langi}} — при этом {{langi}} отличается от {{lang}} тем, что текст в нём отображается курсивом.{{#ifeq: Lang-en2
| Lang-ru
|
{{#invoke:Message box|ombox}}
}}
Как правило, нет необходимости использовать шаблон {{lang}} или {{langi}} напрямую. Для каждого из языков существует свой шаблон, построенный на основе упомянутых. Названия таких шаблонов состоят из приставки «lang-» и кода языка в соответствии с стандартом ISO 639-1. Первым и, как правило, единственным параметром является текст на этом языке.
{{#ifeq: {{#ti | lang- | {{#ifeq: Шаблон:Str right
| 2 | Для оформления первого вхождения на данном языке в статье или разделе статьи следует использовать шаблон {{[[Шаблон:|]]}}. Для оформления последующих вхождений на том же языке (если в статье или разделе нет иноязычных вставок на других языках) следует использовать этот шаблон {{[[Шаблон:{{#titleparts: Lang-en2 | 1 | 1 }}|{{#titleparts: Lang-en2 | 1 | 1 }}]]}}. | Этот шаблон {{[[Шаблон:{{#titleparts: Lang-en2 | 1 | 1 }}|{{#titleparts: Lang-en2 | 1 | 1 }}]]}} используется для оформления первого вхождения на данном языке в статье или разделе статьи. Для оформления последующих вхождений на том же языке (если в статье или разделе нет иноязычных вставок на других языках) следует использовать шаблон {{[[Шаблон:{{#titleparts: Lang-en2 | 1 | 1 }}2|{{#titleparts: Lang-en2 | 1 | 1 }}2]]}}. }}
| Для оформления первого иноязычного вхождения в статье или разделе статьи следует использовать шаблон вида {{lang-nn}} (где nn — код языка). Для оформления последующих вхождений на том же языке (если в статье или разделе нет иноязычных вставок на других языках) следует использовать шаблон {{lang-nn2}}. }}
Когда не использовать[править]
- Не надо оборачивать данными шаблонами русский перевод с указанного языка. Для этого используйте шаблон из семейства {{tr}}. Транслитерация может быть другим случаем, см. Шаблон:Lang и раздел «См. также» ниже.
- В заголовках (мешает ссылкам на такие разделы).
- В шаблонах типа {{cite web}}, {{книга}} и др., если текст атрибута используется в ссылке. С осторожностью — в {{карточка}}: ссылки от них могут быть не очень заметны.
- Шаблоны, в которых текст выводится курсивом, не следует использовать, когда курсив не нужен (см. ВП:Оформление статей#Курсив). Используйте шаблон Шаблон:Tp.
Некоторые коды языков[править]
Языковые шаблоны постоянно пополняются новыми, поэтому для поиска необходимого шаблона лучше всего просмотреть основную для всех языковых шаблонов категорию «Шаблоны lang-x». В этой таблице для иллюстрации приведены наиболее употребительные в русском разделе Википедии языковые шаблоны (более 500 включений). Шаблон:Notice Шаблон:Notice
Любой непомеченный текст «получает» язык окружающего, для всей статьи это русский. Если язык указать необходимо, так как он отличается от языка окружающих слов, но вы не знаете, что это за язык, укажите пустой код: {{lang||текст}}. Существуют также специальные коды для языков совсем без кода, и для текста вообще ни на каком языке[7]. Но в случае сомнений лучше этим не злоупотреблять: например, латинские цифры «XVII» в русском выражении обычно читаются как «семнадцать», а чтение их на латыни собьёт читателей с толку.
Для чего это нужно[править]
- Имея информацию о языке, веб-браузеры могут выбирать шрифт, наиболее подходящий для указанного языка.
- В японском, китайском, корейском и вьетнамском есть символы (иероглифические ключи), которые в Юникоде обозначаются одинаково, но в разных языках могут выглядеть по-разному. Примеры: Шаблон:Iw, Шаблон:Iw.
- Программы для озвучивания текста для людей с нарушениями зрения могут использовать эту информацию для проговаривания разных частей текста на нужном языке[8].
- Для программ проверки грамматики и орфографии.
- Пользователи могут применять к тексту CSS-стили по языку.
- Браузер может выбирать подходящие кавычки, а также подходящие правила переноса[3] и соединения букв в лигатуры[9].
- Поисковые системы могут использовать информацию о языке при индексировании.
- Для статистики об использовании языков в Википедии.
Индивидуальные стили[править]
Можно применять стили CSS в своей пользовательской таблице стилей. Зарегистрированные пользователи могут помещать стили в Участник: имя_участника/monobook.css
.
Данные примеры могут работать по разному, в зависимости от вашего браузера.
Пример: применить шрифт к тексту на французском языке («|=
» — «даже если после кода стоит „-
“ или другие символы»)[10][11]:
<syntaxhighlight lang="css">
span[lang|=fr] { font-family: Garamond; } /* Синоним (код языка обязателен) */ span:lang(fr) { font-family: Garamond; }
</syntaxhighlight>
Пример: сделать зелёным текст, помеченный как на каком-либо языке (так как почти все части страницы имеют lang="ru"
, для практического применения может понадобиться более сложный селектор):
<syntaxhighlight lang="css">
span[lang] { color: green; }
</syntaxhighlight>
Для межъязыковых ссылок[править]
Вы можете использовать коды языков для персонального оформления блока «На других языках» в левом меню. Для выделения определённого языка можно использовать примерно такой CSS-код: <syntaxhighlight lang="css"> /* Выделяем жирным нужные нам языки */ li.interwiki-en, /* английский */ li.interwiki-simple, /* упрощённый английский */ li.interwiki-uk /* украинский */
{
font-weight:bold; text-shadow: 2px 1px 2px #a0a0a0; /* Тень */ } </syntaxhighlight> Для того чтобы ненужные языки сделать менее заметными: <syntaxhighlight lang="css"> li.interwiki-as, /* ассамский */ li.interwiki-ba, /* башкирский */ li.interwiki-bcl, /* бикольский */ li.interwiki-vo /* волапюк */ { opacity: 0.5; font-size: 80%; line-height: 90%; } </syntaxhighlight> А чтобы при наведении курсора мыши на названии языка его было проще читать: <syntaxhighlight lang="css"> li.interwiki-en:hover, /* английский */ li.interwiki-ba:hover, /* башкирский */ li.interwiki-yi:hover, /* идиш */ li.interwiki-xal:hover, /* калмыцкий */ li.interwiki-lbe:hover, /* лакский */ li.interwiki-mhr:hover, /* луговомарийский */ li.interwiki-mdf:hover /* мокшанский */ { font-weight:bold; opacity: 1; font-size: 110%; } </syntaxhighlight>
{{#ifeq: Шаблон:Lang-en2 | Шаблон:Lang-chu | Шаблон:Lang-chu/doc | {{#ifeq: Шаблон:Lang-en2
| Шаблон:Lang-cu | Шаблон:Lang-cu2/doc | {{#ifeq: Шаблон:Lang-en2 | Шаблон:Lang-cu2 | Шаблон:Lang-cu2/doc | == См. также == }} }}
}}
- {{slang}} — шаблон для использования сленга
- {{tr}} — шаблон для указания перевода
- {{transl}} — шаблон для указания языка и системы транслитерации
- {{transcription}} — шаблон для указания фонетического звучания слов (транскрипции)
- Коды языков
Примечания[править]
Параметры шаблона для визуального редактора[править]
{{#ifeq: Lang-en2 | lang | <templatedata> { "description": "Шаблон для оформления текста на иностранном языке", "params": { "1": { "label": "язык", "description": "Код язык в формате ISO 639", "example": "en", "type": "line", "required": true, "suggested": true }, "2": { "label": "текст", "description": "Текст на выбранном языке", "example": "word", "type": "string", "required": true, "suggested": true } }, "paramOrder": [ "1", "2" ] } </templatedata> | <templatedata> {
"description": "Шаблон для оформления текста на иностранном языке", "params": { "1": { "label": "текст", "description": "Текст на выбранном языке", "type": "string", "required": true } }
} </templatedata> }}
Пример: Шаблон:Пример
Шаблон:Allpages {{#ifeq: Lang-en2 | Lang | | }}
| Шаблон:Документировать }} }}
| {{#ifexist: Шаблон:Lang-en2/doc
| Шаблон:Lang-en2/doc | Шаблон:Документировать }}
}}
<templatestyles src="Шаблон:Doc/styles.css" />{{#ifexpr: 10 mod 2 = 1
| A test for all to see
|
}}
- ↑
- ↑ Пример со звуком:
- ↑ 3,0 3,1
- ↑
- ↑ http://www.w3.org/TR/CSS2/selector.html#lang
- ↑ http://dev.w3.org/csswg/selectors-3/#lang-pseudo
- ↑
- ↑ Пример со звуком:
- ↑
- ↑ http://www.w3.org/TR/CSS2/selector.html#lang
- ↑ http://dev.w3.org/csswg/selectors-3/#lang-pseudo