Metmaacher:Purodha/InterBabel/Documentation

General

Ändere

This is all about generating Babel stuff for various Wikipedias. Use Special:ExpandTemplates in order to have it generated.

Inputs

Ändere

Choose and copy one of the two template invocation blocks below:

   Babel page source    Interwiki hint file   
{{Metmaacher:Purodha/InterBabel/page
 |wiki= 
 |page= 
 |iso639-1= 
 |iso639-2= 
 |iso639-2B= 
 |iso639-2T= 
 |iso639-3= 
 |wmf-xlc= 
 |lvl= 
 }}
{{Metmaacher:Purodha/InterBabel/page
 |page= 
 |iso639-1= 
 |iso639-2= 
 |iso639-2B= 
 |iso639-2T= 
 |iso639-3= 
 |wmf-xlc= 
 |lvl= 
 }}

and paste it into the field labelled  Wat De üvverpröfe wells:

Fill the named parameter values in. Check the fields:
  De ėnner Kommentare fottloohße
  Donn de <nowiki>-Befähle ongerdröcke en dämm, wadd_eruß kütt

Other fields are insignificant.

Currenty, the iso639-2 values are used only if neither of wmf-xlc or iso639-1 or iso639-3 are specified. Parameters are described below. Additionally, a list of ISO 639 language codes and a list of MediaWiki/WikiMedia interwiki and language codes may help.

Outputs

Ändere

What you get should be either the source code of a Babel page, or an interwiki hint file of such a page, or one or more error messages. The latter may be telling that something was missing or something went wrong.

If there are red links inside the generated data, ….

Wiki Pages

Ändere

You must carefully check generated pages before uploading them. There is no guarantee for them to be correct, or to remain correct. Also, check the target wiki for more recent local templates. Chances are that generated pages should be adjusted to the current state of affairs for the target wiki.

Wiki pages start with a comment line giving the full page name inthe target wiki. It can be copied and pasted into the target wiki so as to get the right page. This line can, but need not, be pasted to the target wiki with the rest of the generated wiki page.

Interwiki Hint Files

Ändere

Errors in pywikipediabot interwiki hint files are usually not critical. Even if there are none, interwiki.py is likely to emit some error messages such as commons and few others not being valid language codes in the wikipedia family of wikis. Hint files are made for maximum coverage and include some planned future links. Many wikis may not (yet) have the linked pages. All these things are not a problem. They are sorted out by interwiki.py automatically.

There is no provision to include the complete hint data in an interwiki.py command, since almost all operating systems do not allow commands lines of sufficient length.

Template Calls, Parameters, Semantics

Ändere

Parameters

Ändere

Common parameters are:

|base={{{base}}}
|wiki= Interwiki language code for target wikipedia, or und for unspecified.
|page= cat, tpl, smp, the kind of page to be generated.
|iso639-1= The ISO 639-1 two-letter code of the language, for which a page is to be generated. Must be empty or omitted if no such code exists.
|iso639-2= The ISO 639-2 three-letter code of the language, for which a page is to be generated. Must be empty or omitted, if no such code exists, or if the bibliographic code and the terminologic code according to ISO 639-2 are unequal. Most often, it is equal to the ISO 639-3 code for the language. This code is very rarely used in the InterBabel system.
|iso639-2B= The ISO 639-2 three-letter bibliographic code of the language, for which a page is to be generated. Must be empty or omitted, if no such code exists. It is most often equal to the ISO 639-3 code for the language, but there are some 15 exceptions. This code is very rarely used in the InterBabel system.
|iso639-2T= The ISO 639-2 three-letter terminology code of the language, for which a page is to be generated. Must be empty or omitted, if no such code exists. It is almost always equal to the ISO 639-3 code for the language. This code is very rarely used in the InterBabel system.
|iso639-3= The ISO 639-3 three-letter code of the language, for which a page is to be generated. To be empty or omitted if no such code exists.
|wmf-xlc= The interwiki link code used by the WikiMedia/MediaWiki software specifying the language, for which a page is to be generated, provided, the code is not one of the ISO 639 codes mentioned before. Otherwise empty, or to be omitted.
|lvl= Skill level, for which the page is to be generated. May be one of:
7, 8, -, _, empty, or missing representing the general supercategory "can speak the language at any level" which most Wikipedias have. Note that this may, or may not, include the level 0 (no knowledge), depending on wiki.
0, 1, 2, 3, 4, 5 representing the usual levels.
N, M, A, D, L, or other for the native level.
Note that, not all levels may exist in all wikis in general, and for some languages specifically.
|lang= An ISO 639-1 or ISO 629-3 or ISO 639-2 language code, or an interwiki link code used by the WikiMedia/MediaWiki software, usually specifying a language, the name of which is to be generated.
|this= An interwiki link code used by MediaWiki, specifying the language, the interwiki link to which is to be generated.

Special parameters are:

Parameters for the Babel template page templates are generated via {{babel-lang-text-***| }} template calls. So numbered parameters 0 to 9, and 00 to 99 are available. The only other, named, parameters are:

|base={{{base}}}
|wiki= Interwiki language code for target wikipedia, or und for unspecified.
|lvl= Skill level, for which the template page is to be generated. May be one of:
0, 1, 2, 3, 4, 5 representing the usual levels.
N, 9 for the native level.
|pos= a position in the numbered parameter array corresponding to {{{lvl}}} being one of:
0, 1, 2, 3, 4, 5 representing the usual levels.
(empty) for the native level.

Templates

Ändere
page — page in wiki
Ändere
{{ {{{base}}}/page
|base= |wiki= |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

A page in wiki.

page/tpl — template page
Ändere
{{ {{{base}}}/page/tpl
|base= |wiki= |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

A Babel template page in wiki.

page/cat — category page
Ändere
{{ {{{base}}}/page/cat
|base= |wiki= |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

A category page in wiki.

page/smp — sample page
Ändere
{{ {{{base}}}/page/smp
|base= |wiki= |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

A Babel sample page in wiki.

page/tpl/{{{wiki}}} — template page
Ändere
{{ {{{base}}}/page/tpl/{{{wiki}}}
|base=                     |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

A Babel template page in wiki

page/cat/{{{wiki}}} — category page
Ändere
{{ {{{base}}}/page/cat/{{{wiki}}}
|base=                     |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

A Babel category page in wiki

page/smp/{{{wiki}}} — sample page
Ändere
{{ {{{base}}}/page/smp/{{{wiki}}}
|base=                     |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

A Babel sample page in wiki

Hint Files

Ändere
hint — hint file
Ändere
{{ {{{base}}}/hint
|base=        |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

An interwiki hint file for a Babel page. To be used with pywikipediabot.

hint/tpl — template hint file
Ändere
{{ {{{base}}}/hint/tpl
|base=        |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

An interwiki hint file for a Babel template page. To be used with pywikipediabot.

hint/cat — category hint file
Ändere
{{ {{{base}}}/hint/cat
|base=        |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

An interwiki hint file for a Babel category page. To be used with pywikipediabot.

hint/smp — sample hint file
Ändere
{{ {{{base}}}/hint/smp
|base=        |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

An interwiki hint file for a Babel sample page. To be used with pywikipediabot.

Ändere
Ändere
Ändere
{{ {{{base}}}/iwl/*
|base=        |wiki= |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

Each possible interwikilink of page in wiki

Ändere
{{ {{{base}}}/iwl
|base= |this= |wiki= |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

The interwikilink of page in wiki to this

Ändere
{{ {{{base}}}/iwl/tpl
|base= |this= |wiki= |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

The interwikilink of a template page in wiki to this

Ändere
{{ {{{base}}}/iwl/cat
|base= |this= |wiki= |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

The interwikilink of a catgory page in wiki to this

Ändere
{{ {{{base}}}/iwl/smp
|base= |this= |wiki= |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

The interwikilink of a sample page in wiki to this

Namespaces Names

Ändere
ns — a namespace name
Ändere
{{ {{{base}}}/ns
|base= |wiki= |page= |}}

A namespace name in wiki.

ns/tpl — a template namespace name
Ändere
{{ {{{base}}}/ns/tpl
|base= |wiki= |}}

The template namespace name in wiki.

ns/cat — a category namespace name
Ändere
{{ {{{base}}}/ns/cat
|base= |wiki= |}}

The category namespace name in wiki.

ns/smp — a sample namespace name
Ändere
{{ {{{base}}}/ns/smp
|base= |wiki= |}}

The sample namespace name in wiki.

ns/tpl/{{{wiki}}} — the template namespace name in wiki
Ändere
{{ {{{base}}}/ns/tpl/{{{wiki}}}
|base= |}}

The template namespace name in wiki.

ns/cat/{{{wiki}}} — the category namespace name in wiki
Ändere
{{ {{{base}}}/ns/cat/{{{wiki}}}
|base= |}}

The category namespace name in wiki.

ns/smp/{{{wiki}}} — the sample namespace name in wiki
Ändere
{{ {{{base}}}/ns/smp/{{{wiki}}}
|base= |}}

The sample namespace name in wiki.

Template Names

Ändere
tpl — template page name
Ändere
{{ {{{base}}}/cat
|base= |wiki= |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

A category page name in wiki.

tpl/{{{wiki}}} - template page name in a wiki
Ändere
{{ {{{base}}}/tpl/{{{wiki}}}
|base= |this= |wiki=        |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

A template page name in wiki.

Category Names

Ändere
cat — category page name
Ändere
{{ {{{base}}}/cat
|base= |wiki= |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

A category page name in wiki.

cat/{{{wiki}}} - category page name in a wiki
Ändere
{{ {{{base}}}/cat/{{{wiki}}}
|base= |this= |wiki=        |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

A category page name in wiki.

Purodha/InterBabel/cat U1Ltecht Purodha/InterBabel/cat UL techt Purodha/InterBabel/cat cat Purodha/InterBabel/cat none Purodha/InterBabel/cat root Purodha/InterBabel/cat text1L Purodha/InterBabel/cat text 1L Purodha/InterBabel/cat text 3L Purodha/InterBabel/cat text NL

Sample Page Names

Ändere
smp — sample page name
Ändere

Metmaacher:Purodha/InterBabel/smp/

smp/{{{wiki}}} - sample page name in a wiki
Ändere
{{ {{{base}}}/smp/{{{wiki}}}
|base= |this= |wiki=        |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

A sample page name in wiki.

ns/{{{wiki}}} - a namespace name in {{{wiki}}}
Ändere
{{ {{{base}}}/ns
|base= |wiki= |page= |}}

A namespace name in wiki.

Other / Incomplete

Ändere
iwl/{{{wiki}}} -
Ändere

Purodha/InterBabel/key Purodha/InterBabel/key/{Schablon:Wiki Purodha/InterBabel/key 012345A Purodha/InterBabel/key 012345D Purodha/InterBabel/key 012345M Purodha/InterBabel/key 012345N Purodha/InterBabel/key iso1-3 SP012345N Purodha/InterBabel/key iso3 SP012345N Purodha/InterBabel/key none

Language Name
Ändere

Purodha/InterBabel/lang Purodha/InterBabel/lang/{{{wiki}}}

/lvl /lvl/{{{wiki}}}

Purodha/InterBabel/lvl 012345A Purodha/InterBabel/lvl 012345B Purodha/InterBabel/lvl 012345D Purodha/InterBabel/lvl 012345L Purodha/InterBabel/lvl 012345M Purodha/InterBabel/lvl 012345N Purodha/InterBabel/lvl 012345T Purodha/InterBabel/lvl 012345 - Purodha/InterBabel/lvl 012345n Purodha/InterBabel/lvl 012345მ


Purodha/InterBabel/name cat root


Purodha/InterBabel/page/iwl/ Purodha/InterBabel/page/iwl/*

Purodha/InterBabel/page/smp Purodha/InterBabel/page/smp/ Purodha/InterBabel/page/smp/ksh Purodha/InterBabel/page/smp/und Purodha/InterBabel/page/tpl Purodha/InterBabel/page/tpl/ Purodha/InterBabel/page/tpl/bjn Purodha/InterBabel/page/tpl/bxr Purodha/InterBabel/page/tpl/en Purodha/InterBabel/page/tpl/eo Purodha/InterBabel/page/tpl/fy Purodha/InterBabel/page/tpl/kaa Purodha/InterBabel/page/tpl/ko Purodha/InterBabel/page/tpl/vo Purodha/InterBabel/page/tpl/wa Purodha/InterBabel/page/tpl iwl Purodha/InterBabel/text/ Purodha/InterBabel/text/eng Purodha/InterBabel/ttx Purodha/InterBabel/ttx/


Ändere
{{ {{{base}}}/iwl/smp
|base= |this= |wiki= |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

The interwikilink of a sample page in wiki to this



Ändere
{{ {{{base}}}/iwl/smp
|base= |this= |wiki= |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

The interwikilink of a sample page in wiki to this



Ändere
{{ {{{base}}}/iwl
|base= |this= |wiki= |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}

One possible interwikilink of page in wiki if not this

{{{base}}}/page
Ändere
{{ {{{base}}}/iwl
|base= |this= |wiki= |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}
{{{base}}}/iwl
Ändere
{{ {{{base}}}/iwl
|base= |this= |wiki= |page= |lang= |iso639-1= |iso639-2= |iso639-2B= |iso639-2T= |iso639-3= |wmf-xlc= |lvl= |}}


Maintenance

Ändere

Adding a New Language

Ändere

Adding another language, you must know at least one language code for the langage, and create a template for it. Say, the new code was qrs, then open the temple Babel-lang-text-zxx for editing, copy its contents and paste it into a new template named Babel-lang-text-qrs. Before saving, check and/or ajust all parameters. Delete the comment block at the end of the template if you are done.

Note that parameter values passed with a an equals sign have whitespace surrounding them stripped, while positional parameters keep theirs.

Parameters inside Babel-lang-text-??? templates

Ändere

Here is a quick rundown of the parameters:

 0…9 — Message text elements for native level, see below.
00…09 — Message text elements for skill level zero, see below.
10…19 — Message text elements for skill level 1, see below.
20…29 — Message text elements for skill level 2, see below.
30…39 — Message text elements for skill level 3, see below.
40…49 — Message text elements for skill level 4, see below.
50…59 — Message text elements for skill level 5, see below.
94 — Sort key value derived from parameter 99 (may be empty for InterBabel)
95 — Name of the language in the language itself.
96 — Latin transcription of parameter 95 (may be empty if parameter 95 is using a Latin script)
97 — rtl, if script runs from right to left, ltr or empty if script runs from left to right.
98 — The language code.
99 — Ripuarian name of the language, or language code if unknown.

Text element parameters
Ändere

There are ten parameters each per message, numbered here from X0 to X9 (see above) many of which can be empty or contain just a space character. Elements X0, X2, X3, X5, X6, X7 are concatenated in this order, forming the message text in the language. Thus having proper spaces at the end of X0, the end plus the beginning of X3, and at the beginning of X7 is crucial for most languages. X2 and X4 indicate what the elements following them link to, if the target wiki has such links at all. A value of 8 says that a language denominator follows and the link should go to the category of all users of that language, while 0 (=no knowledge), 1, 2, 3, 4, 5, 9 (=native) indicate a skill level, the link should go the appropriate category. One of X2 and x4 must be 8, while the other must indicate a skill level.

X0 — Initial piece of text in the message. May be empty.
X1 — Link target indicator for the 2nd piece in the message. Must be either of 0, 1, 2, 3, 4, 5, 9, or 8.
X2 — Link anchor text for second piece of message. Must not have leading or trailing whitespace.
X3 — Third piece of message.
X4 — Link target indicator for the 4th piece in the message. Must be either of 0, 1, 2, 3, 4, 5, 9, or 8.
X5 — Link anchor text for fourth piece of message. Must not have leading or trailing whitespace.
X6 — Fifth and final piece of the message.
X7 — Reserved for future use. Must be 7.
X8 — Reserved for future use. Must be empty.
X9 — Reserved for future use. Should be empty.


Translated Language Names

Ändere

Adding a Language Code

Ändere

Adding another language code for a language is simply accomplished by copying contents of an existing template Babel-lang-text-??? of the language to the template with the new code, and adjust the language code (parameter 98) towards the end of the template.

Translated Language Names

Ändere

Adding a Wiki

Ändere

So as to be able to add another wiki, the wiki language and all its language codes must have been added. …

Namespace Names
Ändere

Most often, a wiki can do with generic namespace names. Nothing needs to be done for them, although using localized namespace names does not hurt. So as to set a namespace name for a wiki, for:

  • template pages: — generic name: Template — edit ns/tpl/zxx
  • category pages: — generic name: Category — edit { {:{{#xxxxx:2}}/Documentation/edit|ns/cat/}}
  • sample pages: — generic name: Project — smp

Just enter the local namespace name without any colons. Letter case is irrelevant.

Language Names
Ändere

Skill Levels
Ändere

Category Names
Ändere

Template Names
Ändere

Sample Page Names
Ändere

Category Page Contents

Ändere

Template Page Contents

Ändere

Sample Page Contents

Ändere

Ändere

Handling Changes

Ändere

Whether you detect a typing error, or a wiki changes the pattern of naming something, let yourself guide to the appropriate template or templates by the informations presented above. With yout changes, existing templates may become obsolete and unused. If so, do mark them with {{delete}} at their beginnings, type a sentence or two giving the reason just behind it, and 'sign' with --~~~~ so as to not leave unnecessary debris behind. But beware, you cannot rely on Special:WhatLinksHere in such cases. If you are unsure about general use, but know that a template went out of use for your case, note that on the templates talk page. Someone else will take care.