Русские WikiWords в FosWiki
Я пытаюсь настроить поддержку русского языка вики. Ничего не получается. Русский язык появляется в текстах, но не может настроить WikiWords.
Когда LocaleRegexes=1, UseLocale=1, Site Locale = ru_RU.utf8 Русские слова не распознаются как WikiWords. Если LocaleRegexes=0 и заполнены UpperNational и LowerNational, все русские слова распознаются как действительные слова WikiWord. Даже в нижнем регистре.
Кто может помочь с настройкой вики?
# uname-a
Linux wiki 3.2.0-24-virtual #37-Ubuntu SMP Wed Apr 25 12:51:49 UTC 2012
i686 i686 i386 GNU/Linux
# perl-v
This is a perl 5, version 14, subversion 2 (v5.14.2) built for
i686-linux-gnu-thread-multi-64int
(with 56 registered patches, see perl-V for more detail)
# locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
# locale-a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.iso88591
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX
ru_RU.iso88591
ru_RU.iso88595
ru_RU.utf8
ru_UA.utf8
1 ответ
Об этом недавно спрашивали в рассылке. Короче:
международные WikiWords не работают, извините.
На самом деле я бы поспорил отключить автоматическое связывание WikiWords вместе, используя
- Установить NOAUTOLINK = вкл
в вашем SitePreferences. Вместо этого используйте явное связывание с использованием скобки [[...]].
Тогда используйте
$Foswiki::cfg{UseLocale} = 0;
$Foswiki::cfg{Site}{LocaleRegexes} = 1;
$Foswiki::cfg{Ldap}{CharSet} = 'utf-8';
Если вы все еще хотите включить локали, удалите флаг -T из всех сценариев Perl. Вы не можете включить оба: локали и проверки на заражение включены в Perl.
Локали в perl вводят много испорченных строк, поступающих из системы. Как таковой, Perl не может различить строки, которые по праву следует считать испорченными от пользователя.