Global templates/FAQ/en
This is a collection of Frequently Asked Questions about the Global templates initiative.
In addition to reading the FAQ, it is recommended to read also the proposed specification or its short version.
What are templates? What are modules?
Templates are wiki pages that can be inserted into other wiki pages. They are mostly useful for storing pieces of code or content that are useful on many other pages. Some famous examples of templates are “citation needed”, infoboxes, and formatted citations.
Templates are written in wikitext, the same markup language in which regular wiki pages are written, but they often use advanced features of wikitext, such as parameters and parser functions, which usually don’t appear on regular pages.
Modules are similar to templates, but they are written in the Lua programming language.
Both templates and modules are maintained by volunteer wiki editors. Because the development and the maintenance of templates and modules often involve advanced technologies that require the knowledge of programming, it often happens that only some wiki editors in each wiki make many edits to templates and modules.
The functionality of templates and modules is similar. In practice, only templates are usually inserted directly into regular wiki pages, and modules are usually only inserted into other templates. However, there are occasional exceptions to this unofficial rule.
For more examples of things for which templates and modules are used, see the page Global templates/Taxonomy.
For simplicity, this FAQ page usually just says “templates”, but refers to both modules and templates.
Can I use templates from the English / French / Spanish / Russian / some other Wikipedia / Wikisource / Wiktionary in my wiki?
No.
Sorry.
At least not now.
That’s the problem that the Global templates initiative is trying to solve. So maybe someday you will be able to do it.
For now, you have these options:
- Just give up on using the functionality that this template provides.
- Import the template into your wiki. See the documentation on the pages Manual:Importing XML dumps and Global template/Transition. It’s not so easy (even though some people say it is), but it’s the most thorough option available.
- Develop your own template that provides it.
- Try to use some advanced solution, such as Synchronizer.
Is anyone working on this? When will it become available?
No one is working on this at the moment. In mid-2026, it’s still just an idea. It’s described in a lot of detail, but there’s no project to implement the whole thing by the Wikimedia Foundation, Wikimedia Germany, or any other major group.
Some parts of the proposal are being worked on, however, such as Translatable modules. See the page Global templates/Status for details.
How did it happen in the first place that templates are stored in each wiki separately?
It’s a bit hard to say now. In the early days of Wikipedia, each language edition was configured as a separate instance of the MediaWiki software. Different projects like Wikisource and Wiktionary were configured as separate instances, too.
When templates were added, they were stored within those instances and not in a common place. No one probably thought that it’s important to let people share them across languages of projects.
This was done for images in 2004 with the creation of Wikimedia Commons. But for some reason that is probably lost to history, it was not done for templates, even though people started asking for it already in 2004.
The best time to fix it was in 2004. The second best time is now.
Is my wiki going to be forced to use infoboxes, citations, or any other types of templates from the English Wikipedia?
No!
This is probably the question that is the most frequently asked about Global templates. And the answer is No.
This is not what’s being proposed.
The Global templates initiative proposes to create a global repository of templates code and give ediors in all wikis the option to use templates from that repository.
Some templates shouldn’t be in the global repository at all, because by their nature they are necessary only in one project or in one language.
And if a template is in the repository, it still won’t have to be used in any wiki. The functionality that the template provides can be implemented in your wiki using a different method, or not implemented at all.
This is similar to storing images on Commons. It is a good place to upload images that can be used in several wikis, but no one has to use those images.
Which templates will be in the global repository?
Whichever templates that people from the global community of volunteer wiki editors want to put there.
The proposal is not to put specific templates or all templates in a global repository. The proposal is only to create this global repository and to let the editors put templates there and use them if they want it.
Isn’t it an old idea that isn’t necessary any longer?
No.
It’s indeed an old idea, almost as old as the templates themselves. The possibility of “cross-wiki transclusion” was mentioned by the Wikimedia Foundation Board in September 2004, and a community request for “Crosswiki templates (Interwiki inclusion)” was filed in December 2004 (it’s marked as “resolved”, but that solution was never deployed, and it’s no longer relevant).
But the fact that it’s old doesn’t mean at all that it’s outdated or unnecessary. Quite the contrary, the need for it grows all the time. Some people may get tired of speaking about it, and some world events may seem to overshadow it, but the problem persists and needs a real solution.
Is this all just one man’s idea?
No.
Amir E. Aharoni has somehow become the main “champion” of this idea over the years. He researched the topic, and wrote and spoke a lot about it in various places. However, he’s really not the only person who thinks that it needs to be done.
Hundreds of people expressed their support for this idea or related ones over the years. See examples on the page Global templates/Status. Perhaps most notably, at least two similar wishes received a lot of votes in the Community Wishlist:
- 2021, first place: Community Wishlist Survey 2021/Translation/Templates translation
- 2015, third place: Community Tech/Central repository for gadgets, templates and Lua modules|Community Tech/Central repository for gadgets, templates and Lua modules
In addition, at least two research projects found that the lack of compatibility in templates across wikis is a major problem, if not the most important one:
- Connecting Wikifunctions to Wikipedia Opportunities and Challenges (page 13 in the PDF)
- Research:Languages Onboarding Experiment 2024
Finally, this problem was discussed by other people long before Amir became its champion, and Amir hopes that other people join the discussion and the implementation. This is not one man’s idea, it’s a community endeavor!
Doesn’t the Wikifunctions project solve this problem?
No.
It sounds like it can solve this problem: It proposes a global repository of code whose output can be embedded into wiki pages, which is similar to what templates and modules do.
However, there are several crucial incompatibilities between how Wikifunctions work and how templates and modules work. Both the input and the output of Wikifunctions is different:
| Feature | Input (programming or markup language) | Output |
|---|---|---|
| Templates | Wikitext | Wikitext |
| Scribunto Lua modules | Lua | Wikitext |
| Wikifunctions | Python, JavaScript, or composition | Plain text and HTML |
Having to write functions in a different programming languages means that a template or a module has to be fully rewritten to become available as a function.
And even more importantly, the fact that functions cannot output wikitext, but only plain text or HTML, means that they are completely incompatible with a lot of the functionality that is familiar to wiki editors. Basic page formatting, such as bold, italic, links, and headings has to be done completely differently. And some features are not available to Wikifunctions at all because of this, including, but not limited to:
- MediaWiki’s magic words and parser functions
- Math and chemistry formulas
- Musical score
- Adding a page to a category
Some of those things can, in theory, be reimplemented to be compatible with Wikifunctions, but each of them will require a lot of work.
Finally, Wikifunctions are only global and cannot be locally overridden, whereas the Global templates proposal suggests creating a shared repository of templates and modules, but keeping the local templates, too.
Therefore, the Wikifunctions project doesn’t solve this problem.
What is wikitext?
“Wikitext”, also known as “wiki syntax” or “wiki markup”, is the way in which all the wiki pages on Wikimedia wikis are formatted.
Wikitext combines its own formatting syntax, some HTML, and some other special keywords (“tags”, “magic words”, and “parser functions”) to create a fully constructed page that is shown to readers of Wikipedia, Wikisource, Wikivoyage, Wiktionary, etc.
This also includes support for templates, which are themselves pieces of wikitext that are stored on one wiki page and can be inserted into other wiki pages. This insertion is also known as “transclusion” and sometimes “embedding”.
Modules work with wikitext by running code in the Lua programming language and outputting wikitext that is inserted into a wiki page and processed with the rest of that page’s wikitext. In the case of modules, this insertion is called “invoking”, but in simple terms, it’s quite similar to template transclusion.
Don’t language models (“AI”) make this unnecessary?
No.
At most, language models can help a bit with building a solution, but they definitely cannot solve the problem completely.
Large language models, often described as “Artificial Intelligence”, such as ChatGPT, Claude, Gemini, Mistral, Aya, and others, have certain abilities that appear to be useful for formatting wiki pages. For example, some of them are aware of how basic wikitext works, and are familiar with some specific templates that are used in the larger Wikipedias.
However, being able to read and output wikitext doesn’t solve the actual problem at hand. The problem is that the features that are implemented as templates are not equally accessible to all wikis, and are not compatible across wikis. Language models don’t make them available.
At this time, language models could perhaps be useful for reading a template transclusion in one wiki and outputting a transclusion that would work in another wiki. However, it would only work if the target wiki already has a corresponding template, and even then the output wouldn’t be fully reliable and would have to be verified by a human editor.
It is conceivable that the language models’ ability to process wikitext and templates will be somewhat helpful in the stage of transitioning templates from local templates to the global repository when it becomes available. For example, a language model could find versions of the same template in different wikis, identify the differences between them, and suggest a unified version to a human wiki editor, who would decide whether this unified version can be added to the global repository. This may be more efficient than doing it fully by hand, but it will still require human intervention.
Of course, one could go further and say that in the age of “artificial intelligence”, templates, wikitext, and wikis in general aren’t necessary at all, and that language models are good enough at formatting tables, links to references, and so forth. But that’s not what people in the Wikimedia community generally believe, right?
How will the syntax of templates and modules change for the global templates repository?
Ideally, it will not change at all.
The proposal intentionally tries to change as little as possible about the templates and the modules themselves and to work as much as possible with the existing templates and with the existing skills of the editors that develop them.
The initiative tries to change only the way in which the templates are stored and made accessible to other wikis.
It is conceivable that as part of planning the technical architecture for building the repository, engineers will discover that changes have to be made to the syntax, for example to explicitly select local or global templates. However, the goal is to make those changes minimal.
How will the user interface strings of templates be translated?
They will be translated similarly to how MediaWiki extensions are translated: Using the “Translate” interface.
It is familiar to many Wikimedians from translatewiki.net and from translating wiki pages on Meta, Wikidata, and some other sites. This FAQ page can be translated using this interface, too.
It is already possible to translate templates and modules using this interface, but it will need some adaptations for the global repository.
Should gadgets be global, too?
Yes, at least some gadgets should be global, but it’s a completely different problem that should be solved in a separate project.
Gadgets, templates, and modules are all stored as wiki pages and developed as customizations by the communities of editors, but that’s where the similarity ends. Templates and modules are mostly for page content, and they are written in wikitext or Lua. Gadgets are mostly for interactive user interface, and they are written in JavaScript. The way in which they are loaded and used is quite different.
In addition, there already is a solution for cross-wiki loading of gadgets, which is used in HotCat, for example. It is far from perfect, but it’s more than nothing.
Should categories be global, too?
Yes, at least some categories should be global, but it’s also a different problem.
Do people in “smaller” wikis actually want templates from English Wikipedia and other “bigger” wikis?
A common doubt about global templates goes like this: Templates don’t just implement technical features, but also encode community practices and processes. Isn’t it a bad idea to push English Wikipedia’s practices and processes upon other languages?
It would indeed be a bad idea. Luckily, that is really not what the proposal is.
The reason that the proposal appeared is that editors in “smaller” wikis absolutely do want at least some features that are implemented as templates in the English Wikipedia and in some other “bigger” projects: French Wikipedia, Russian Wikipedia, Spanish Wikipedia, and others. (The same goes for Wiktionary, Wikisource, Wikivoyage, and all other wikis.) They ask for those things repeatedly.
They don’t necessarily want all the templates, and that’s OK. The proposal is only to make a repository to share useful templates and make them easily available to all, and not to force any features, practices, or workflows upon anyone. Which templates are useful is up to the community.
Which templates do editors in “smaller” wikis need?
All of them, in theory.
This is not really an important question to ask, however. The proposal is not so much to discuss particular templates, but to create a repository where any template could be stored and made accessible to everyone.
That said, it is good to prepare for the existence of this repository by exploring templates that are currently commonly used in pages in “bigger” wikis and to think how they could be harmonized in a way that would be useful to both “bigger” and “smaller” wikis. This is a lofty idea, but it is absolutely possible. There are template maintainers in several wikis who are interested in doing this. Some ideas about this can be found on the pages Global templates/Taxonomy and Which templates should be global?.
Why is the proposal called “Global templates”? Wouldn’t a different name be clearer?
Amir E. Aharoni, who wrote much of the proposal, and who has talked to lots of people about this topic for many years, gave this name to the proposal so that it would be similar to some other comparable features, such as Global user page, Global preferences, and Global CSS and JS. Note that despite the word “global” in their names, all of them provide a default global page or setting to wikis that don’t have a local version thereof, and this default can always be overridden. The same is proposed with global templates.
In Amir’s experience, most people understand this name and what is implied by it. However, a few people are confused by it. For example, they think that the proposal is that all templates will be stored only in the global repository or that English Wikipedia’s templates will be forced on all the other wikis.
There have been some other name proposals over the years, such as “Shared templates”, “Shared code repository”, and so on. Neither Amir, nor, probably, anyone else is emotionally attached specifically to the name “Global templates”. If a better name proposal arises and helps to implement the initiative, so be it.
I think that it’s a good idea. How can I help this initiative?
There are many things you could do to improve the situation with templates in general or to move the specific “Global templates” proposal forward.
Different people can help in different ways:
All wiki editors
Read the proposed specification or its short version.
Write comments about the proposal pages on their talk pages.
Be bold and edit them if you think you can improve them.
Express your support or opposition on the main discussion page. Try to be thoughtful: Don’t just say that “support” or “oppose”, but try to explain why.
Talk about it to your fellow editors in your home wiki and in other wikis.
Translators
Translate the initiative description pages into your language. (Translate this FAQ page, too!)
Translate some templates on mediawiki.org, Wikidata, Meta, or Commons using the translation interface. If you have any comments about the process and how it could be improved for templates, please write them on appropriate talk pages!
Editors in wikis that have small communities or that were recently created
Add examples of templates that you need to the page Global templates/Requests for template support.
Community organizers in chapters, user groups, etc.
Document instances of difficulties in using templates on the page Global templates/Requests for template support.
Reach out to the Wikimedia Foundation, Wikimedia Germany, and other organizations and individuals that have capacity to develop software and ask for solutions.
Experienced template editors and module editors
Explore template usage in other wikis. This doesn’t necessarily have to be in another language; for example, if you mostly contribute to Wikipedia, explore how are templates used in Wiktionary, Wikisource, Wikivoyage, and so forth, in your language. Of course, exploring it in other languages as much as you can is a great thing to do, too.
Experiment with the Translatable modules feature for translating modules (currently available only on Meta).
Reach out to experienced template editors and module editors in other wikis and try to discuss with them how can you make template more compatible across projects.
Improve templates in your home wiki: add missing TemplateData, add documentation, fix bugs, add tests, etc. This will not make templates global by itself, but a better maintained template will hopefully be easier to copy to the global repository when it becomes available.
If you ever copied or imported a template from another wiki, check whether there are useful updates to that template in that wiki, and if it’s not too hard, update the copy in your home wiki.
If you ever helped people in another wiki by importing a template from your wiki into their wiki, check whether there are useful updates to that template in your home wiki, and if it’s not too hard, update the copy in the other wiki. (You should probably consult about it with the people in the other wiki, especially if there can be breaking changes.)
If you’re experienced with exporting and importing templates, read the page Global template/Transition and improve it. It’s likely incomplete. Your ideas are very welcome, both about the documentation of the current processes and about proposals for the future.
Add your ideas to the page Which templates should be global?. It’s old, but evergreen, and can be useful.
Developers of MediaWiki and extensions
Read the proposals and comment: Is it technically feasible? What would you change? Would you suggest doing things in a different sequence?
Try to fix bugs related to templates.
Anything else?
There are definitely more ways to help! It’s a wiki, so be bold and edit this page!