Help:Making a navigational template

When making a navigational template, please follow the process below to get good performance and facilitate localization.

We will use gems as an example below.

Template skeleton
Here is a quick template for navigational templates:

Some explanations:
 * The  is the index key for this navigational template, usually should be the name of this template (without "Template:"). e.g. for Template:gems, it should be  . Its value will be  ed.
 * The  is used to purge the cache value when visit the template page directly. navbox uses LuaCache to improve performance, by doing this, we will always see the latest result.
 * Those  are used to take input parameters to control whether the navbox itself or sections of navbox are collapsed.

For Template:gems, it should be:

The skeleton of this navigation template is complete. Now it is i18n-ready and get benefit from cache mechanism.

Next, we need to create its content.

Default (English) content
The default content of this navigation template should be in  subpage. e.g. for Template:gems, it is Template:gems/content.

The default content should be in English. It will be used when current wiki language is en, or when there is no l10n version for current wiki language.

You can use  in   to work with   to take collapsed control input.

L10n for other languages
Different languages will auto use different content sub-pages. For English and languages with its own wiki, it will use ; for languages within main wiki  it will use. By this way, the content can be easily localized without modifying the transcluding code, and the content of different languages will not conflict with each other, and the English version is automatically used as a fallback for those languages without l10n version.

You can follow this process for l10n:
 * 1) Transclude the navigation template on any page of your language. e.g. use   on , and submit.
 * 2) Click the "e" link at the top left corner of the navbox, it will take you to the right content sub-page for your language, if it does not exist yet, it will be pre-filled with the English version as the basis for translation.