0

我正在尝试设置对俄语 wiki 的支持。结果一无所获。俄语出现在文本中,但无法配置 WikiWords。

当 LocaleRegexes=1, UseLocale=1, Site Locale = ru_RU.utf8 俄语单词不被识别为 WikiWords。如果 LocaleRegexes=0 并填写 UpperNational 和 LowerNational,则所有俄语单词都被识别为有效的 WikiWord。即使是小写字母。

谁可以帮助配置 wiki?

# 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
4

1 回答 1

1

最近在邮件中问过这个问题。简而言之:

国际 WikiWords 不起作用,对不起。

事实上,我认为禁用 WikiWords 的自动链接一起使用

  • 设置 NOAUTOLINK = on

在您的站点首选项中。相反,使用括号符号 [[...]] 使用显式链接。

然后使用

$Foswiki::cfg{UseLocale} = 0; 
$Foswiki::cfg{Site}{LocaleRegexes} = 1; 
$Foswiki::cfg{Ldap}{CharSet} = 'utf-8'; 

如果您仍想启用语言环境,请从所有 perl 脚本中删除 -T 标志。你不能在 perl 中同时启用 locales 和 taintedness 检查。

perl 中的语言环境会注入大量来自系统的受污染字符串。因此,perl 无法区分那些理应被视为受污染的来自用户的字符串。

于 2013-11-14T09:29:30.947 回答