Jump to content

Global templates/FAQ/ru

From mediawiki.org
This page is a translated version of the page Global templates/FAQ and the translation is 100% complete.

Это собрание часто задаваемых вопросов об инициативе глобальных шаблонов.

Помимо прочтения часто задаваемых вопросов рекомендуется также прочитать предлагаемую спецификацию или её краткую версию . 

Что такое шаблоны? Что такое модули?

Шаблоны — это вики-страницы, которые можно вставлять в другие вики-страницы. Они в основном полезны для хранения фрагментов кода или содержания (контента), которые используются на многих других страницах. Известные примеры шаблонов — «Нет АИ», информационные карточки и оформленные ссылки на источники.

Шаблоны написаны на языке разметки вики (wikitext), на котором написаны и обычные вики-страницы, но в них часто используются расширенные возможности языка разметки вики, такие как параметры и функции анализатора (parser functions), которые обычно не встречаются на обычных страницах.

Модули похожи на шаблоны, но написаны на языке программирования Lua.

И шаблоны, и модули создаются и обновляются волонтёрами, которые редактируют вики. Поскольку разработка и поддержка шаблонов и модулей часто связаны с технологиями, требующими знаний программирования, нередко получается так, что на каждой вики лишь некоторые редакторы вики вносят много правок в шаблоны и модули.

Функциональность шаблонов и модулей похожа. На практике непосредственно в обычные вики-страницы обычно вставляются только шаблоны, а модули обычно вставляются только в другие шаблоны. Однако из этого неофициального правила иногда бывают исключения.

Дополнительные примеры того, для чего используются шаблоны и модули, см. на странице Global templates/Taxonomy .

Для простоты на этой странице часто задаваемых вопросов обычно говорится просто о «шаблонах», но имеются в виду и модули, и шаблоны. 

Могу ли я использовать шаблоны из английской / французской / испанской / русской / какой-либо другой Википедии / Викитеки / Викисловаря в своей вики?

Нет.

Извините.

По крайней мере, пока нет.

Именно эту проблему и пытается решить инициатива «Глобальные шаблоны». Так что, возможно, когда-нибудь вы сможете это делать.

Пока у вас есть такие варианты:

  • Просто отказаться от использования функциональности, которую предоставляет этот шаблон.
  • Импортировать шаблон в свою вики. См. документацию на страницах Manual:Importing XML dumps и Global template/Transition . Это не так просто (хотя некоторые говорят, что это просто), но это самый полный из доступных вариантов.
  • Разработать собственный шаблон, который предоставляет эту функциональность.
  • Попробовать использовать какое-нибудь продвинутое решение, например Synchronizer . 

Кто-нибудь над этим работает? Когда это станет доступно?

Сейчас над этим никто не работает. В середине 2026 года это всё ещё лишь идея. Она подробно описана, но ни у Фонда Викимедиа, ни у Wikimedia Deutschland, ни у какой-либо другой крупной группы нет проекта по её полной реализации.

Однако есть люди, которые работают над некоторыми частями предложения, например над переводимыми модулями . Подробности см. на странице Global templates/Status. 

Как получилось, что шаблоны вообще хранятся отдельно в каждой вики?

Сейчас на этот вопрос немного трудно ответить. На заре Википедии каждое языковое издание было настроено как отдельный экземпляр программного обеспечения МедиаВики. Разные проекты, такие как Викитека и Викисловарь, тоже были настроены как отдельные экземпляры.

Когда появились шаблоны, они хранились внутри этих экземпляров, а не в общем месте. Вероятно, никто не подумал, что важно дать людям возможность использовать их в разных языковых версиях проектов.

Для изображений это было сделано в 2004 году с созданием Викисклада. Но по какой-то причине, которая, вероятно, затерялась в истории, этого не сделали для шаблонов, хотя люди начали просить об этом ещё в 2004 году.

Лучшее время исправить это было в 2004 году. Второе лучшее время — теперь. 

Заставит ли кто-нибусь мою вики использовать информационные карточки, ссылки на источники или какие-либо другие типы шаблонов из Английской Википедии?

Нет!

Это, вероятно, самый часто задаваемый вопрос о глобальных шаблонах. И ответ на него — нет.

Это не то, что предлагается.

Инициатива «Глобальные шаблоны» предлагает создать глобальный репозиторий кода шаблонов и дать редакторам всех вики возможность использовать шаблоны из этого репозитория.

Некоторые шаблоны вообще не следует помещать в глобальный репозиторий, поскольку по своей природе они нужны только в одном проекте или на одном языке.

Даже если шаблон находится в репозитории, это всё равно не означает, что его придётся использовать в какой-либо вики. Предоставляемую шаблоном функциональность можно реализовать в вашей вики другим способом или вообще не реализовывать.

Это похоже на хранение изображений в Викискладе. Это хорошее место для загрузки изображений, которые можно использовать в нескольких вики, но никто не обязан использовать эти изображения. 

Какие шаблоны будут находиться в глобальном репозитории?

Любые шаблоны, которые участники глобального сообщества редакторов-волонтёров вики захотят туда поместить.

Предложение заключается не в том, чтобы поместить определённые шаблоны или все шаблоны в глобальный репозиторий. Предлагается только создать этот глобальный репозиторий и дать редакторам возможность помещать туда шаблоны и использовать их, если они этого хотят. 

Разве это не старая идея, которая больше не нужна?

Нет.

Это действительно старая идея, почти такая же старая, как сами шаблоны. Возможность «трансклюзии между вики» была упомянута Правлением Фонда Викимедиа в сентябре 2004 года, а запрос сообщества «Кросс-вики-шаблоны (интервики-включение)» был создан в декабре 2004 года (он помечен как «решённый», но это решение так и не было внедрено и больше не актуально).

Но тот факт, что идея старая, вовсе не означает, что она устарела или больше не нужна. Совсем наоборот: потребность в ней постоянно растёт. Некоторым людям может надоесть об этом говорить, а некоторые события в мире могут казаться более важными, но проблема сохраняется и требует реального решения. 

Это всё лишь идея одного человека?

Нет.

Амир Э. Аарони с годами каким-то образом стал главным «сторонником» этой идеи. Он исследовал эту тему и много писал и говорил о ней в разных местах. Однако он совершенно не единственный человек, считающий, что это нужно сделать.

Сотни людей за эти годы выразили поддержку этой идее или близким к ней идеям. Примеры см. на странице Global templates/Status. Возможно, наиболее примечательно то, что не менее двух похожих пожеланий получили много голосов в списке пожеланий сообщества:

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

Наконец, другие люди обсуждали эту проблему задолго до того, как Амир стал её главным сторонником, и Амир надеется, что другие люди присоединятся к обсуждению и реализации. Это не идея одного человека, а дело всего сообщества! 

Разве проект «Викифункции» не решает эту проблему?

Нет.

Звучит так, будто он может решить эту проблему: предлагается глобальный репозиторий кода, результат работы которого можно встраивать в вики-страницы, что похоже на то, как работают шаблоны и модули.

Однако между тем, как работают вики-функции, и тем, как работают шаблоны и модули, есть несколько принципиальных несовместимостей. И ввод, и вывод Wikifunctions отличаются:

Возможность Ввод (язык программирования или разметки) Вывод
Шаблоны Язык разметки вики (wikitext) Язык разметки вики (wikitext)
Модули Scribunto на Lua Lua Язык разметки вики (wikitext)
Викифункции Python, JavaScript или композиция Обычный текст и HTML

Необходимость писать функции на другом языке программирования означает, что шаблон или модуль придётся полностью переписать, чтобы сделать его доступным как функцию.

А ещё важнее то, что невозможность выводить язык разметки вики, а выводить только обычный текст или HTML, означает полную несовместимость со многими привычными редакторам вики возможностями. Базовое оформление страниц, такое как полужирный шрифт, курсив, ссылки и заголовки, приходится делать совершенно по-другому. А некоторые возможности вообще недоступны вики-функциям по этой причине, включая, помимо прочего:

  • Магические слова и функции анализатора MediaWiki
  • Математические и химические формулы
  • Нотная запись
  • Добавление страницы в категорию

Некоторые из этих вещей теоретически можно реализовать заново так, чтобы они стали совместимыми с Викифункциями, но каждая из них потребует большой работы.

Наконец, вики-функции только глобальны и не могут быть локально переопределены, тогда как предложение о глобальных шаблонах предусматривает создание общего репозитория шаблонов и модулей с сохранением также локальных шаблонов.

Поэтому проект «Викифункции» не решает эту проблему. 

Что такое язык разметки вики (wikitext)?

«Язык разметки вики» (wikitext), также известный как «синтаксис вики» или «вики-разметка», — это способ оформления всех вики-страниц на сайтах Викимедиа.

Язык разметки вики сочетает собственный синтаксис форматирования, некоторые элементы HTML и другие специальные ключевые слова («теги», «магические слова» и «функции анализатора»), чтобы создать полностью оформленную страницу, которую видят читатели Википедии, Викитеки, Викигида, Викисловаря и т. д.

Сюда также входит поддержка шаблонов, которые сами являются фрагментами языка разметки вики, хранящимися на одной вики-странице и вставляемыми в другие вики-страницы. Такая вставка также называется «трансклюзией», а иногда — «встраиванием».

Модули работают с языком разметки вики, выполняя код на языке программирования Lua и выдавая язык разметки вики, который вставляется в вики-страницу и обрабатывается вместе с остальным языком разметки этой страницы. В случае модулей такая вставка называется «вызовом» (invoke), но в простых терминах она довольно похожа на трансклюзию шаблонов. 

Разве языковые модели («ИИ») не делают всё это ненужным?

Нет.

В лучшем случае языковые модели могут немного помочь в построении решения, но они точно не могут решить проблему полностью.

Большие языковые модели, которые часто описывают как «искусственный интеллект», такие как ChatGPT, Claude, Gemini, Mistral, Aya и другие, обладают некоторыми возможностями, которые кажутся полезными для оформления вики-страниц. Например, некоторые из них знают, как работает базовый язык разметки вики, и знакомы с некоторыми конкретными шаблонами, используемыми в крупных Википедиях.

Однако способность читать и выводить язык разметки вики не решает саму проблему. Проблема в том, что возможности, реализованные в виде шаблонов, доступны не всем вики в равной степени и несовместимы между вики. Языковые модели не делают их доступными.

В настоящее время языковые модели, возможно, могут быть полезными для чтения трансклюзии шаблона в одной вики и вывода трансклюзии, которая будет работать в другой вики. Однако это сработает только в том случае, если в целевой вики уже есть соответствующий шаблон, и даже тогда результат не будет полностью надёжным и его придётся проверять человеку-редактору.

Можно предположить, что способность языковых моделей обрабатывать язык разметки вики и шаблоны будет в некоторой степени полезна на этапе перехода от локальных шаблонов к глобальному репозиторию, когда он станет доступен. Например, языковая модель могла бы находить версии одного и того же шаблона в разных вики, определять различия между ними и предлагать объединённую версию редактору вики, который решал бы, можно ли добавить эту объединённую версию в глобальный репозиторий. Это может быть эффективнее, чем делать всё вручную, но вмешательство человека всё равно потребуется.

Конечно, можно пойти ещё дальше и сказать, что в эпоху «искусственного интеллекта» шаблоны, язык разметки вики и вики вообще не нужны, а языковые модели достаточно хорошо умеют форматировать таблицы, ссылки на источники и так далее. Но ведь в сообществе Викимедиа в целом так не считают, правда? 

Как изменится синтаксис шаблонов и модулей для глобального репозитория шаблонов?

В идеале он вообще не изменится.

Предложение намеренно стремится как можно меньше менять сами шаблоны и модули и как можно больше опираться на существующие шаблоны и уже имеющиеся у редакторов навыки их разработки.

Инициатива пытается изменить только способ хранения шаблонов и предоставления к ним доступа другим вики.

Можно предположить, что при планировании технической архитектуры репозитория инженеры обнаружат необходимость изменить синтаксис, например чтобы явно выбирать локальные или глобальные шаблоны. Однако цель, — сделать эти изменения минимальными. 

Как будут переводиться строки пользовательского интерфейса шаблонов?

Их будут переводить примерно так же, как переводятся расширения MediaWiki: с помощью интерфейса «Translate ».

Многие Викимедисты знакомы с ним по translatewiki.net и по переводу вики-страниц на Мете, Викиданных и некоторых других сайтах. Эту страницу часто задаваемых вопросов тоже можно переводить с помощью этого интерфейса.

Уже сейчас можно переводить шаблоны и модули с помощью этого интерфейса, но для глобального репозитория потребуются некоторые адаптации. 

Должны ли гаджеты тоже быть глобальными?

Да, по крайней мере некоторые гаджеты должны быть глобальными, но это совершенно другая проблема, которую следует решать в отдельном проекте.

Гаджеты, шаблоны и модули хранятся как вики-страницы и разрабатываются сообществами редакторов как индивидуальные настройки, но на этом сходство заканчивается. Шаблоны и модули в основном предназначены для содержания страниц и написаны на языке разметки вики или Lua. Гаджеты в основном предназначены для интерактивного пользовательского интерфейса и написаны на JavaScript. Способы их загрузки и использования сильно различаются.

Кроме того, уже существует решение для загрузки гаджетов между вики, которое, например, используется в HotCat. Оно далеко от совершенства, но это лучше, чем ничего. 

Должны ли категории тоже быть глобальными?

Да, по крайней мере некоторые категории должны быть глобальными, но это тоже другая проблема. 

Действительно ли люди в «небольших» вики хотят шаблоны из Английской Википедии и других «крупных» вики?

Распространённое сомнение по поводу глобальных шаблонов формулируется примерно так: шаблоны не только реализуют технические возможности, но и отражают практики и процессы сообществ. Разве не будет плохой идеей навязывать практики и процессы Английской Википедии другим языкам?

Это действительно было бы плохой идеей. К счастью, предложение вовсе не об этом.

Предложение появилось потому, что редакторы «небольших» вики действительно желают пользоваться хотя бы некоторыми возможностями, реализованными в виде шаблонов в Английской Википедии и некоторых других «крупных» проектах: Французской Википедии, Русской Википедии, Испанской Википедии и других. То же самое относится к Викисловарю, Викитеке, Викигиду и всем остальным вики. Они просят об этом опять и опять.

Им не обязательно нужны все шаблоны, и это нормально. Предлагается только создать репозиторий для обмена полезными шаблонами и сделать их легко доступными для всех, а не навязывать кому-либо какие-либо возможности, практики или рабочие процессы. Какие шаблоны полезны, решает сообщество. 

Какие шаблоны нужны редакторам «небольших» вики?

Теоретически — все.

Однако это не очень важный вопрос. Предложение заключается не столько в обсуждении конкретных шаблонов, сколько в создании репозитория, где можно было бы хранить любой шаблон и сделать его доступным для всех.

Тем не менее полезно подготовиться к появлению этого репозитория, изучая шаблоны, которые сейчас широко используются на страницах «крупных» вики, и думая о том, как их можно согласовать так, чтобы они были полезны и «крупным», и «небольшим» вики. Это амбициозная, но вполне осуществимая идея. В нескольких вики есть инженеры шаблонов, заинтересованные в такой работе. Некоторые идеи об этом можно найти на страницах Global templates/Taxonomy и Which templates should be global?. 

Почему предложение называется «Глобальные шаблоны»? Не было бы другое название понятнее?

Амир Э. Аарони, написавший значительную часть предложения и много лет обсуждавший эту тему со множеством людей, дал предложению это название, чтобы оно было похоже на некоторые другие сопоставимые возможности, такие как глобальная страница участника , глобальные настройки и глобальные CSS и JS . Обратите внимание, что, несмотря на слово «глобальные» в их названиях, все они предоставляют вики-сайту глобальную страницу или настройку по умолчанию, если локальной версии нет, и это всегда можно переопределить. То же самое предлагается для глобальных шаблонов.

По опыту Амира, большинство людей понимают это название и то, что оно подразумевает. Однако некоторых людей оно путает. Например, они думают, что предложение состоит в том, чтобы все шаблоны хранились только в глобальном репозитории или чтобы шаблоны Английской Википедии навязывались всем остальным вики.

За эти годы предлагались и другие названия, например «Общие шаблоны», «Общий репозиторий кода» и т. п. Ни Амир, ни, вероятно, кто-либо ещё не привязан эмоционально именно к названию «Глобальные шаблоны». Если появится более удачное название, которое поможет реализовать инициативу, пусть будет оно. 

Я думаю, что это хорошая идея. Как я могу помочь этой инициативе?

Можно много чего сделать, чтобы улучшить ситуацию с шаблонами в целом или продвинуть конкретное предложение «Глобальные шаблоны».

Разные люди могут помогать по-разному:

Все редакторы вики

Прочитать предлагаемую спецификацию или её краткую версию .

Написать комментарии о страницах с предложением на их страницах обсуждения.

Быть смелыми и редактировать их, если считаете, что можете их улучшить.

Выразить поддержку или несогласие на основной странице обсуждения . Старайтесь быть содержательными: не просто писать «за» или «против», а объяснять почему.

Обсуждать это с другими редакторами на своей основной вики и на других вики.

Переводчики

Перевести страницы с описанием инициативы на свой язык. (И перевести также эту страницу часто задаваемых вопросов!)

Перевести некоторые шаблоны на mediawiki.org, Викиданных, Мете или Викискладе с помощью интерфейса перевода. Если у вас есть замечания о процессе и о том, как его можно улучшить для шаблонов, напишите их на соответствующих страницах обсуждения!

Редакторы вики с небольшими сообществами или недавно созданных вики

Добавить примеры нужных вам шаблонов на страницу Global templates/Requests for template support.

Организаторы сообществ в чаптерах, юзер-группах и т. п.

Документировать случаи трудностей с использованием шаблонов на странице Global templates/Requests for template support.

Обратиться к Фонду Викимедиа, Wikimedia Deutschland и другим организациям и отдельным людям, у которых есть возможность разрабатывать программне обеспечение, и попросить решения.

Опытные редакторы шаблонов и модулей

Изучать использование шаблонов в других вики. Это не обязательно должно быть в вики на другом языке; например, если вы в основном пишете в Википедии, изучите, как используются шаблоны в Викисловаре, Викитеке, Викигиде и т. п. на вашем языке. Конечно, также очень полезно изучать это в других языках настолько, насколько это возможно.

Экспериментировать с функцией переводимых модулей для перевода модулей (сейчас доступна только на Мете).

Обращаться к опытным редакторам шаблонов и модулей в других вики и обсуждать с ними, как сделать шаблоны более совместимыми между проектами.

Улучшать шаблоны на своей основной вики: добавлять недостающие данные шаблона (TemplateData), добавлять документацию, исправлять ошибки, добавлять тесты и т. д. Само по себе это не сделает шаблоны глобальными, но можно надеятся, что добротный шаблон будет легче перенести в глобальный репозиторий, когда он станет доступен.

Если вы когда-либо копировали или импортировали шаблон из другой вики, проверить, есть ли в той вики полезные обновления этого шаблона, и, если это не слишком сложно, обновить копию на своей основной вики.

Если вы когда-либо помогали людям в другой вики, импортируя шаблон из своей вики в их вики, проверить, есть ли в вашей основной вики полезные обновления этого шаблона, и, если это не слишком сложно, обновить копию в другой вики. (Вероятно, стоит обсудить это с людьми в другой вики, особенно если возможны «ломающие» изменения.)

Если вы хорошо знакомы с экспортом и импортом шаблонов, прочитать страницу Global template/Transition и улучшить её. Вероятно, она неполна. Ваши идеи очень приветствуются — и по поводу документации текущих процессов, и по поводу предложений на будущее.

Добавить свои идеи на страницу Which templates should be global?. Она старая, но всё ещё актуальная и может быть полезна.

Разработчики MediaWiki и расширений

Прочитать предложения и высказать комментарии: осуществимо ли это технически? Что бы вы изменили? Предложили бы вы делать задачи в другой последовательности?

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

Что-нибудь ещё?

Наверняка есть и другие способы помочь! Это вики, поэтому будьте смелыми и редактируйте эту страницу!