Template:Ll

GFDL/lang /af/als/an/ang/ar/ast/az/bar/be/be-tarask/bg/bn/bpy/br/bs/ca/ceb/crh/cs/csb/cv/cy/da/de/de-at/de-ch/de-formal/diq/el/en /eo/es/et/eu/ext/fa/fi/fo/fr/ga/gl/gu/he/hi/hr/hsb/hu/ia/id/io/is/it/ja/ka/kk/km/kn/ko/kr/ks/ksh/ku/ku-latn/la/lb/lbe/lg/lt/ltg/lv/lzh/mg/mk/ml/mo/mr/ms/mt/mzn/nan/nap/nds/nds-nl/ne/nl/nn/no/oc/os/pam/pl/pms/pt/pt-br/qu/rn/ro/ru/sd/se/sh/si/sk/sl/sq/sr/stq/su/sv/sw/szl/ta/te/tg/th/tl/tr/tt/uk/ur/vec/vi/vo/wa/war/wuu/xal/yi/yo/zh/zh-classical/zh-hans/zh-hant/zh-min-nan/zh-yue/yue  Category:Language link templates 

Usage
This template is the substitution version of lang links. It's meant to be subst'd on /lang pages. It can be used to add all available translation links and format them correctly all in one step. Simply replace the whole page (including the &lt;noinclude> part) with.

This only works for pages whose translation subpages follow the standard naming convention of "../language_code".

Technical information
The empty comments are necessary for making new lines inside the ; they also supply the spaces after the links (in MediaWiki, a single carriage return will not create a line break). This method is used instead of another &amp;nbsp; or &amp;#32; (non-breaking space and regular space) to make the source easier to read when viewed directly.

Substitution leaves no templates, "magic word" variables, or parser functions behind except a for each link and one edit (for the +/- edit link). This is to reduce server stain and not count much towards any pre-processor/post-expand limits, specifically the expensive parser function count—the whole reason for using this instead of the maintenance-free lang links. The unsubst'd version contains 101 #ifexist functions out of the maximum of 500 allowed. This number of #ifexists will continue to grow as new languages are added; they are usually added as soon as one translation in that language appears on Commons. The limit may also decrease in the future (there was talk of reducing it to 100).

It's very important for "/lang" pages to be as light as possible on the servers because they are generally transcluded in a template, or group of templates, which are then transcluded wherever that template is used. Many, such as license templates, are used on a lot of pages. It doesn't matter if the template itself is subst'd (like with user messages) because the inside of it isn't. Recursive substitution should never be used either because it will make a huge mess. All kinds of templates and pages have language links so it's never known if those extra &sim;100 may be needed. If, let's say, 5 user message templates that all use are placed on a talk page (subst'd or not), that page will be above the limit. Using this template avoids all of that.