Reputation: 32301
I would like to allow users to create content for their own languages. I am running a single MediaWiki instance, so I cannot set it up for one language per install.
I would like to try and format the pages like the following, where a different language version of the page has the language code appended to it.
How can I ensure users follow this structure? Is there some setting in MediaWiki that can help with this? I have no idea what are best practices for this.
Thanks!
Upvotes: 0
Views: 1989
Reputation: 13
anyone interested, you might wanna try this
http://www.mediawiki.org/wiki/Help:Extension:Translate
when this page
myWiki/SomePageContent
is translated to German, it will create the link like this:
myWiki/SomePageContent/de
and so on :)
Upvotes: 0
Reputation: 4389
An easier way for smaller wikis is through the use of a simple template. It may not be as efficient as an extension or creating a family of wikis, which is a lot of work, but quite fast to set up.
Create a page under Template:Otherlang
with the following code:
{{otherlang |ru=Template:Otherlang:ru }} This template adds available translations for the page to the top through the use of flags. To prevent issues, this template must be placed '''at the very beginning of a page'''. Tip! When contributing a new translation to a document that already has other translations, please carry over the existing translations to the otherlang template of your contributed page. This way all multilingual pages are linked. == Syntax =={{otherlang | noborder=true (OPTIONAL) | title=localized page display title | lang=page:lang | lang2=page:lang2 | etc... }}Warning! Do not include the language of the current page. This will only confuse readers. === Example === On a page called [[Template:Otherlang]]:{{otherlang | title=Template:Otherlang | ru=Category:Programming:ru }}Note that: * The language "en
" is not included, as it is the language of the page that template is being used on. *title
is assigned the translated name of the page, and will appear as the display title (heading) for the page. This can replace the existing {{wrongtitle}} and {{DISPLAYTITLE}} templates currently in common use. * The English page has no suffix. == Available Languages == {| class="table table-bordered" border="2" cellpadding="7" ! Language ! Syntax ! Result |- id="en" |English |en=Page_name |[[File:En.png]] |- id="ru" |Russian |ru=Page_name:ru |[[File:Ru.png]] |} {{#if: {{{title|}}} | {{DISPLAYTITLE:{{{title}}}}} }}{{#if: {{{en|}}} | '''[[File:En.png|alt=English|link={{{en}}}]]''' }} {{#if: {{{ru|}}} | [[File:Ru.png|alt=Русский|link={{{ru}}}]] }}
Then within each English article, paste use the following code to get a flag to show up, representing the respective language.
{{otherlang | title=Tutorials/Galacticraft Getting Started Guide | ru=Tutorials/Galacticraft_Getting_Started_Guide/ru }}
An example of this can be found here. If you click on the Russian flag to the right you will find a Russian translation of the article.
Upvotes: 0
Reputation: 23072
Best practices are to use a separate instance of MediaWiki for each language and use interwiki links to connect them. This way, users are in one language and everything works as you'd expect: if you're in the English instance, a link to [[Foo]] stays in English, and only a link to [[fr:Foo]] goes to the French Foo. It's not particularly hard to set this up even with a single server and single database, see http://www.mediawiki.org/wiki/Manual:Wiki_family. The way this appears to the user is configurable: eg. Wikipedia uses http://en.wikipedia.org/wiki/Paris, Wikitravel uses http://wikitravel.org/en/Paris.
If this is not possible for whatever reason, the next best thing to do is to set up a separate namespace for each language (eg. "de" or "fr"), and this way you can at least do eg. searches across one (or more) languages. However, users of languages other than the 'main' language still have to manually punch in the language code in front of every article name and link, so it's not nearly as user-friendly. See http://www.mediawiki.org/wiki/Manual:Namespace.
Upvotes: 1