Автомобильные номера Непала: различия между версиями

Материал из Энциклопедия автомобильных номеров мира
Перейти к навигации Перейти к поиску
Строка 1: Строка 1:
{{Navbox with collapsible groups
{{docpage}}{{esoteric}}__NOTOC__
| name = String-handling templates
'''{{t}}''' — шаблон-суперкомбайн для создания символической записи или ссылок на шаблоны, во стократ улучшенная версия {{t|tl}}. С помощью него можно сослаться на шаблон (и не только) где угодно, с любым текстом ссылки или без неё.
| state = {{{state|uncollapsed}}}
| bodyclass =
| title = Шаблоны обработки строк (String-handling templates)
| selected = {{{selected|{{{expanded|{{{1|}}}}}}}}}
| abbr1 = Обрезка строки
| sect1 = [[Trimming (computer programming)|Обрезка строки]]
| list1 =
{{Navbox |child
| group1 = By counting
| list1 =  {{Aligned table |style=padding-right:0.5em;
|col1style=width:12em; text-align:right;white-space:nowrap;padding-right:0.5em;
|col2style=font-style:italic;
| {{tp|_nav=x|str mid|строка|N|L}}| Возвращает подстроку длиной L, начиная с позиции N. <br><code><nowiki>{{str mid|строка|3|2}}</nowiki></code> → {{str mid|строка|3|2}}


| {{tp|_nav=x|trunc|строка|N}}| Возвращает заданное количество символов с начала строки.<br> <code><nowiki>{{trunc|строка|3}}</nowiki></code> → {{trunc|строка|3}}  
{{днш|ш|шаблон}}


| {{tp|_nav=x|str left|строка|N}}| Возвращает заданное количество символов с начала строки.<br> <code><nowiki>{{str left|строка|3}}</nowiki></code> → {{str left|строка|3}}  
== Синтаксис ==
{{tc|t|''шаблон или страница''|''флаги''|lang{{=}}''код языкового раздела''|sister{{=}}''код проекта''|text{{=}}''текст ссылки''}}


| {{tp|_nav=x|str crop|строка|N}}| Удаляет справа из строки заданное количество символов.<br> <code><nowiki>{{str crop|строка|1}}</nowiki></code> → {{str crop|строка|1}}
Все параметры являются необязательными.


| {{tp|_nav=x|chop head and tail|строка|N}}| Удаляет с обеих сторон указанное число символов.<br> <code><nowiki>{{chop head and tail|строка|2}}</nowiki></code> → {{Chop head and tail|строка|2}}
Если использовать шаблон без параметров — он выведет название текущей страницы (после двоеточия) со строчной первой буквы. Если использовать его с первым параметром — он создаст ссылку на страницу, заданную в нём (то есть поведёт себя, как шаблон {{tl|tl}}), за исключением случая, когда он уже находится на ней.


| {{tp|_nav=x|str right|строка|N}} | Возвращает символы начиная с N и до конца строки.<br> <code><nowiki>{{str right|строка|2}}</nowiki></code> → {{Str right|строка|2}}
Флаги записываются через вертикальную черту, например {{cn|u{{!}}nl{{!}}s}}, их может быть не больше трёх (так как флаги {{cn|nl}} и {{cn|g}} несочетаемы). Возможные флаги включают в себя:
* {{cn|u}}''':''' вывести имя шаблона с большой буквы. Работает только при опущенном первом параметре.
* {{cn|nl}} ({{cn|nolink}})''':''' подавить ссылку.
* {{cn|s}} ({{cn|subst}}) и {{cn|п}} ({{cn|подст}})''':''' вывести ключевое слово [[ВП:Подстановка шаблонов|«subst:» и «подст:»]] соответственно перед именем шаблона.
* {{cn|g}} (от ''global'')''':''' ссылаться на основное [[ЭАНМ:Пространства имён|пространство имён]] вместо пространства шаблонов. Этот флаг включается автоматически, если первым символом в названии шаблона или страницы является двоеточие, например '':Страница'' или '':Участник:Некий участник/подстраница'' (вики-движок интерпретирует начальное двоеточие в названии страницы в фигурных скобках как ссылку на корневое пространство; так, {{tc|:Страница}} включит содержимое соответствующей страницы ЭАНМ в текущую страницу).


| {{tp|_nav=x|str rightc|строка|N}} | Возвращает правую часть строки из заданного количества символов. Результат как в {{t|str rightmost}}.
Флаги также можно указывать как булевы значения, например {{para|u|x}}.


| {{tp|_nav=x|str rightmost|строка|N}} | <code><nowiki>{{str rightmost|строка|3}}</nowiki></code> → {{str rightmost|строка|3}}
Список кодов родственных проектов, записываемых в параметр {{para|sister}}, см. на странице [[ЭАНМ:Интервики]].


| {{tp|_nav=x|str sub old|строка|N|L}} | Удаляет слева N символов и оставляет L. <br><code><nowiki>{{str sub old|строка|2|3}}</nowiki></code> → {{str sub old|строка|2|3}}
== Примеры ==
'''Базовые'''
* {{tc|t}} → {{t}} &nbsp;(выводит название той страницы, на которой вы находитесь)
* {{tc|t|t}} → {{t|t}}
* {{tc|t|шаблон}} → {{t|шаблон}}
* {{tc|t|:Страница}} → {{t|:Страница}}


| {{tp|_nav=x|str sub new|строка|N|L}} | Выборает подстроку из строки на основе выбранных индексов.<br><code><nowiki>{{str sub new|строка|3|5}}</nowiki></code> → {{str sub new|строка|3|5}}
<small>(Внешний вид этих примеров [наличие ссылки] будет отличаться на основной странице шаблона и на странице документации, [[Шаблон:T/doc]].)</small>


| {{tp|_nav=x|str index|строка|N}} | Возвращает из строки один символ под заданным номером N. <br> <code><nowiki>{{str index|строка|4}}</nowiki></code> → {{str index|строка|4}}
'''Флаги'''
* {{tc|t||u}} → {{t||u}}
* {{tc|t|шаблон|nolink}} → {{t|шаблон|nolink}}
* {{tc|t|шаблон|п}} → {{t|шаблон|п}}
* {{tc|t|Участник:Jack who built the house/t|g}} → {{t|Участник:Jack who built the house/t|g}}


}}
Сразу несколько:
* {{tc|t||u|nl|s}} → {{t||u|nl|s}}
* {{tc|t|шаблон|nl|п}} → {{t|шаблон|nl|п|g}}


| group2 = By checking
'''Остальные параметры'''
| list2 =
* {{tc|t|lang|<nowiki>text=lang-xx</nowiki>}} {{t|lang|text=lang-xx}}
{{Aligned table |style=padding-right:0.5em;
* {{tc|t|template|<nowiki>lang=en|sister=q</nowiki>}} {{t|template|lang=en|sister=q}}
|col1style=width:12em; text-align:right; white-space:nowrap; padding-right:0.5em;
|col2style=font-style:italic;
| {{tnav|trim}}                | Удаляет пробелы справа и слева.
| {{tnav|str letter/trim}}     | To trim down to the beginning letters.
| {{tnav|str number/trim}}    | To trim down to the beginning numbers.
| {{tnav|trim brackets}}       | To trim any leading or trailing square brackets.
| {{tnav|first word}}          | Возвращает первое слово в строке.
| {{tnav|remove first word}}   | To remove anything before the first space.
| {{tnav|last word}}          | To trim down from the last space.
| {{tnav|remove last word}}    | To remove anything after the last space.
}}


| group3 = Dedicated
'''Суперкомбо'''
| list3 =
{{Aligned table |style=padding-right:0.5em;
|col1style=width:12em; text-align:right;white-space:nowrap;padding-right:0.5em;
|col2style=font-style:italic;
| {{tnav|delink}}              | Removes wikilink brackets (wikicode).
| {{tnav|remove file prefix}}  | Removes "File:" (or "Image:") from filenames.
| {{tnav|PAGENAMEBASE}}        | To trim off any parenthesis text at the end of a string (disambiguation).
| {{tnav|title disambig text}} | Returns text in parenthesis at the end of a string (disambiguation).
| {{tnav|WikiProjectbasename}} | Removes "WikiProject" from a pagename.
| {{tnav|remove unranked}}    | Removes the string "unranked_" from the left of a string (taxonomy).
| {{tnav|ship prefix}}        | Returns the length of a ship's name prefix, if listed (ship names).
| {{tnav|title year}}          | Returns the 4-digit year from a pagename, if any.
}} }}


| abbr4 = Вставка и замена строк
Представим, что нам понадобилось сослаться на шаблон в китайском викисловаре, используемый с подстановкой, который некий участник хранит в своём личном пространстве, а текст ссылки заменить на свой:
| group4 = Вставка и замена строк
* {{tc|t|User:Shizhao/Template:ru-sy名阴|g|s|<nowiki>lang=zh|sister=wikt|text=ru-sy名阴</nowiki>}} → {{t|User:Shizhao/Template:ru-sy名阴|g|s|lang=zh|sister=wikt|text=ru-sy名阴}}
| list4 =
<small>Он, кстати, реально существует.</small>
{{Aligned table |style=padding-right:0.5em;
|col1style=width:9em; text-align:right; white-space:nowrap; padding-right:0.5em; background:#F6F6F6;
|col2style=text-align:left;font-style:italic;
| {{tnav|strloc insert}} | Inserts a string at character location strloc, or appends if strloc<{{=}}0.
| {{tnav|loop}}    | Repeat character string a specified number of times.
| {{tnav|repeat}}  | Repeat a string a specified number of times.
| {{tnav|replace}} | Returns the string, after replacing ''all'' occurrences of a specified string with another string.
| {{tnav|str rep}} | Returns the string, after replacing the first occurrence of a specified string with another string.
| {{tp|_nav=x|str len|строка}} | Возвращает длину строки. <code><nowiki>{{Str len|строка}}</nowiki></code> → {{Str len|строка}}
|{{tnav|iflenge}}  | [if len]gth [g]reater than or [e]qual to.
|{{tnav|str ≥ len}} | To check if a string is "longer or equally long" or "shorter" than a given length.
|{{tnav|str ≤ len}} | To check if a string is "shorter or equally long" or "longer" than a given length.
|{{tnav|str ≠ len}} | To check if a string is "not equal" or "equal" to a given length.
|{{tnav|str ≤ ≥ len}} | To check if a string is "shorter", "equal", or "longer" than a given length.
}}


| abbr5 = Analysis and technical
=== В оформлении документаций ===
| group5 = Analysis and technical
Чтобы документация к шаблону выглядела опрятно и составлять её было легко, можно писать так (на страницах [[Шаблон:Lang]], [[Шаблон:Lang-en]] и т. д.):
| list5 =
<pre style="color: #009900;">Шаблон '''{{t}}''' входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{t|lang}} и {{t|langi}} ({{t|langi}} отличается от {{t|lang}} тем, что текст в нём отображается ''[[курсив]]ом'').</pre>
{{Aligned table |style=margin:0 auto 0; text-align:left;
что даст:
|col1style=width:9em; text-align:right; white-space:nowrap; padding-right:0.5em; background:#F6F6F6;
: Шаблон '''{{t|lang|nl}}''' входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{t|lang|nl}} и {{t|langi}} ({{t|langi}} отличается от {{t|lang|nl}} тем, что текст в нём отображается ''[[курсив]]ом'').
|col2style= font-style:italic;  
| {{tnav|str endswith}} | To check if a string ends with a given string.
| {{tnav|str find}}<br>{{tnav|strfind short}}  
|Позиция первого вхождения подстроки в текст.
| {{tnav|str find0}}     | Zero-based substring search.
| {{tnav|str sub find}} | Searches a substring in a string at the given offset.
| {{tnav|str letter}}   | Returns the number of letters that begin a string.
| {{tnav|str number}}   | Returns the number of numbers that begin a string.
| {{tnav|str gtr str}}   | Compares two strings for alphabetical order, and returns a value accordingly.
| {{tnav|ASCII code}}   | Returns the ASCII value of a single character.
| {{tnav|a or an}}       | Takes a noun and produces the appropriate indefinite article, based on whether the first letter is a vowel.
| &nbsp; | &nbsp;
| [[Module:String]] |
| [[mw:Help:Magic words|...Magic words]]
| {{noitalic|About <code><nowiki>{{padleft:&#124;}}</nowiki></code>.}}
| [[mw:Help:Extension:ParserFunctions|...ParserFunctions]]
| {{noitalic|About <code><nowiki>{{#titleparts:&#124;}}, {{#expr:&#124;}}, {{#ifeq:&#124;}}, </nowiki></code> etc.
  }} }}


<!----
— а не так:
| group12 = Feature requests
<pre style="color: #CC0000;">Шаблон {{tl|{{lc: {{BASEPAGENAME}} }}}} входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{tl|lang}} и {{tl|langi}} ({{tl|langi}} отличается от {{tl|lang}} тем, что текст в нём отображается ''[[курсив]]ом'').</pre>
| list12 =
что даст:
* [[bugzilla:6455]] – Set $wgPFEnableStringFunctions = true on WMF wikis
* [[bugzilla:26092]] – Enable or install string parsing wikimarkup functionality on WMF wikis


<!----Not in a navbox:
: Шаблон <span style="color:#9098A0" class="wp-templatelink">&#123;{'''lang'''}}</span> входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов <span style="color:#9098A0" class="wp-templatelink">&#123;{'''lang'''}}</span> и {{tl|langi}} ({{tl|langi}} отличается от <span style="color:#9098A0" class="wp-templatelink">&#123;{'''lang'''}}</span> тем, что текст в нём отображается ''[[курсив]]ом'').
| group13 = [[Wikipedia:Template sandbox and test cases|Sandboxes, testcases]]
| list13 =
* {{tnav|Str find/sandbox}}
* {{tnav|Str index/getchar/sandbox}}
* {{tnav|Str index/getchar/testcases}}
* {{tnav|Str index/sandbox}}
* {{tnav|Str index/testcases}}
* {{tnav|Str index any/sandbox}}
* {{tnav|Str index any/testcases}}
* {{tnav|Str left/sandbox}}
* {{tnav|Str len/core/sandbox}}
* {{tnav|Str len/sandbox}}
* {{tnav|Str len/testcases}}
* {{tnav|Str rightc/testcases}}
* {{tnav|Str ≠ len/sandbox}}
* {{tnav|Str ≠ len/testcases}}
----->


| belowclass = hlist
== Детали ==
| below =
* Если шаблон используется без параметра, а в названии страницы есть слэш, то, что идёт после него, опускается.
{{#ifeq: {{SUBPAGENAME}} | doc || [[Категория:Шаблоны:Работа со строками]] }}{{Nobr*|[[m:Category:String templates]]}}
* Если ссылка на шаблон состоит всего из одного символа, в ссылку автоматически заключаются соседние фигурные скобки, и по ней становится куда проще попасть, например: {{t|!}}.
{{Nobr*|[[:commons:Category:String manipulation templates]]}}
* Шаблон понимает идентичность адресов ''Участник:Некий участник'' и ''Участник:Некий'''_'''участник'' и использует особые приёмы, чтобы обходить баги/особенности вики-движка, связанные с использованием символов «*», «:», «;» и т. п. на первом месте в названиях шаблонов или тексте ссылок. Не смутит его и замена символов их [[мнемоники в HTML|HTML-мнемониками]], типа {{cn|&amp;#47;}} для «&#47;».
| tracking = no
* Если вы хотите поменять что-то в этом шаблоне, воспользуйтесь тестами на странице [[Шаблон:T/тесты]] для проверки его работоспособности после внесения изменений.
}}<noinclude>[[Категория:Шаблоны:Для документирования шаблонов]]
 
</noinclude>
== См. также ==
* {{t|tc}} — символическая запись в тегах {{tag|code|o}} и с параметрами (для создания примеров на страницах документации)
* {{t|tlc}} — то же, что предыдущий, плюс ссылка
 
<includeonly>[[Категория:Шаблоны:Ссылки на шаблоны]]</includeonly>

Версия от 03:24, 5 апреля 2019

{{автомобильные номера Непала}} — шаблон-суперкомбайн для создания символической записи или ссылок на шаблоны, во стократ улучшенная версия {{tl}}. С помощью него можно сослаться на шаблон (и не только) где угодно, с любым текстом ссылки или без неё.

Другие названия этого шаблона: {{ш}}, {{шаблон}}.

Синтаксис

{{t|шаблон или страница|флаги|lang=код языкового раздела|sister=код проекта|text=текст ссылки}}

Все параметры являются необязательными.

Если использовать шаблон без параметров — он выведет название текущей страницы (после двоеточия) со строчной первой буквы. Если использовать его с первым параметром — он создаст ссылку на страницу, заданную в нём (то есть поведёт себя, как шаблон {{tl}}), за исключением случая, когда он уже находится на ней.

Флаги записываются через вертикальную черту, например u|nl|s, их может быть не больше трёх (так как флаги nl и g несочетаемы). Возможные флаги включают в себя:

  • u: вывести имя шаблона с большой буквы. Работает только при опущенном первом параметре.
  • nl (nolink): подавить ссылку.
  • s (subst) и п (подст): вывести ключевое слово «subst:» и «подст:» соответственно перед именем шаблона.
  • g (от global): ссылаться на основное пространство имён вместо пространства шаблонов. Этот флаг включается автоматически, если первым символом в названии шаблона или страницы является двоеточие, например :Страница или :Участник:Некий участник/подстраница (вики-движок интерпретирует начальное двоеточие в названии страницы в фигурных скобках как ссылку на корневое пространство; так, {{:Страница}} включит содержимое соответствующей страницы ЭАНМ в текущую страницу).

Флаги также можно указывать как булевы значения, например |u = x.

Список кодов родственных проектов, записываемых в параметр |sister =, см. на странице ЭАНМ:Интервики.

Примеры

Базовые

(Внешний вид этих примеров [наличие ссылки] будет отличаться на основной странице шаблона и на странице документации, Шаблон:T/doc.)

Флаги

Сразу несколько:

  • {{t||u|nl|s}}{{subst:Автомобильные номера Непала}}
  • {{t|шаблон|nl|п}}{{подст:шаблон}}

Остальные параметры

  • {{t|lang|text=lang-xx}}{{lang-xx}}
  • {{t|template|lang=en|sister=q}}{{template}}

Суперкомбо

Представим, что нам понадобилось сослаться на шаблон в китайском викисловаре, используемый с подстановкой, который некий участник хранит в своём личном пространстве, а текст ссылки заменить на свой:

  • {{t|User:Shizhao/Template:ru-sy名阴|g|s|lang=zh|sister=wikt|text=ru-sy名阴}}{{subst:ru-sy名阴}}

Он, кстати, реально существует.

В оформлении документаций

Чтобы документация к шаблону выглядела опрятно и составлять её было легко, можно писать так (на страницах Шаблон:Lang, Шаблон:Lang-en и т. д.):

Шаблон '''{{t}}''' входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{t|lang}} и {{t|langi}} ({{t|langi}} отличается от {{t|lang}} тем, что текст в нём отображается ''[[курсив]]ом'').

что даст:

Шаблон {{lang}} входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{lang}} и {{langi}} ({{langi}} отличается от {{lang}} тем, что текст в нём отображается курсивом).

— а не так:

Шаблон {{tl|{{lc: {{BASEPAGENAME}} }}}} входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{tl|lang}} и {{tl|langi}} ({{tl|langi}} отличается от {{tl|lang}} тем, что текст в нём отображается ''[[курсив]]ом'').

что даст:

Шаблон {{lang}} входит в систему языковых шаблонов, используемых для оформления иноязычных фрагментов внутри русского текста статей (и наоборот). Большинство языковых шаблонов построены на базе шаблонов {{lang}} и {{langi}} ({{langi}} отличается от {{lang}} тем, что текст в нём отображается курсивом).

Детали

  • Если шаблон используется без параметра, а в названии страницы есть слэш, то, что идёт после него, опускается.
  • Если ссылка на шаблон состоит всего из одного символа, в ссылку автоматически заключаются соседние фигурные скобки, и по ней становится куда проще попасть, например: {{!}}.
  • Шаблон понимает идентичность адресов Участник:Некий участник и Участник:Некий_участник и использует особые приёмы, чтобы обходить баги/особенности вики-движка, связанные с использованием символов «*», «:», «;» и т. п. на первом месте в названиях шаблонов или тексте ссылок. Не смутит его и замена символов их HTML-мнемониками, типа &#47; для «/».
  • Если вы хотите поменять что-то в этом шаблоне, воспользуйтесь тестами на странице Шаблон:T/тесты для проверки его работоспособности после внесения изменений.

См. также

  • {{tc}} — символическая запись в тегах ‎<code> и с параметрами (для создания примеров на страницах документации)
  • {{tlc}} — то же, что предыдущий, плюс ссылка