我想允许用户为自己的语言创建内容。我正在运行单个MediaWiki实例,因此我无法为每个安装设置一种语言。
我想尝试格式化以下页面,其中页面的不同语言版本附加了语言代码。
如何确保用户遵循此结构? MediaWiki中有一些设置可以帮助解决这个问题吗?我不知道这是什么最佳做法。
谢谢!
答案 0 :(得分:1)
最佳做法是为每种语言使用单独的MediaWiki实例,并使用interwiki链接来连接它们。这样,用户使用一种语言,一切都按照您的预期运行:如果您在英语实例中,[[Foo]]的链接保留为英语,并且只有[[fr:Foo]]的链接去法国Foo。即使使用单个服务器和单个数据库,设置它也不是特别困难,请参阅http://www.mediawiki.org/wiki/Manual:Wiki_family。这对用户来说是可配置的:例如。维基百科使用http://en.wikipedia.org/wiki/Paris,Wikitravel使用http://wikitravel.org/en/Paris。
如果由于某种原因无法做到这一点,那么下一个要做的最好的事情就是为每种语言设置一个单独的命名空间(例如“de”或“fr”),这样你至少可以做到这一点。搜索一种(或多种)语言。但是,除了“主要”语言之外的其他语言的用户仍然必须在每个文章名称和链接之前手动输入语言代码,因此它几乎不像用户友好。请参阅http://www.mediawiki.org/wiki/Manual:Namespace。
答案 1 :(得分:0)
更小wiki的更简单方法是使用简单的模板。它可能不如扩展或创建wiki系列那么高效,这是一项很多工作,但设置起来非常快。
使用以下代码在Template:Otherlang
下创建一个页面:
{{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}}}]] }}
然后在每篇英文文章中,粘贴使用以下代码来显示一个标志,代表相应的语言。
{{otherlang | noborder=true (OPTIONAL) | title=localized page display title | lang=page:lang | lang2=page:lang2 | etc... }}
可以找到here的一个例子。如果您单击右侧的俄罗斯国旗,您将找到该文章的俄语翻译。
答案 2 :(得分:0)
任何有兴趣的人,你可能想尝试这个
http://www.mediawiki.org/wiki/Help:Extension:Translate
此页面
myWiki / SomePageContent
被翻译成德语,它将创建如下链接:
myWiki / SomePageContent /的德强>
依此类推:))