Paradatabase:Осуществление многоязычности

From paradatabase
Revision as of 01:32, 8 May 2019 by Lx&R (talk | contribs)
Jump to navigation Jump to search
Other languages:
Deutsch • ‎English • ‎français • ‎italiano • ‎русский


В MediaWiki страницы могут быть написаны на разных языках. Но у системы только один язык главный, который называется базовый язык. В Paradatabase базовый язык - английский

У каждой страницы есть параметр PageLanguage (Язык страницы). Он необходим внутренним программам для правильного представления и обработки текста. Этот параметр может быть изменен. Политика MediaWiki предполагает, что страница создается на базовом языке, а все ее переводы становятся ее подстраницами путем добавления в конец имени комбинации "слэш + код языка".


Проблемы

  • Право на создание страницы есть у всех. А право на изменение PageLanguage не у всех.
  • Изменение языка страницы - не примитивная операция, а определенная последовательность действий, которую часто игнорируют или забывают проделать.
  • Страницы могут создаваться не только на базовом языке. В этом случае Extension:Translate вступает в противоречие с внутренним устройством MediaWiki.

Для обхода этих проблем предлагается следующая договоренность.


Договоренность о страницах на других языках

  • По-умолчанию язык страницы английский.
  • Для каждого из неанглийских языков используется префикс, который является кодом языка. Для наиболее популярных языков нет проблемы. Например, Fr - французский, De - немецкий, Ru - русский. Ничего не стоит набрать три символа (например, "Ru!") перед именем страницы в момент ее создания.
  • С префиксом, используемым для определенного языка, параметр PageLanguage устанавливается автоматически соответственно этому языку. Перевод этой страницы на другой язык является ее подстраницей. Имя страницы перевода получается путем добавления к имени исходной страницы комбинации "слэш + код языка" (например, "Ru! Имя страницы/en"). Параметр PageLanguage перевода так же устанавливается автоматически.
  • En utilisant Extension:Translate, il est possible de traduire n'importe quelle page source. En même temps, Extension:Translate perçoit correctement la langue de la page source et crée des traductions sous la forme de ses sous-pages.