Locale::Maketext::Simple - Locale::Maketext::Lexicon 的简单接口
本文档描述了 Locale::Maketext::Simple 的 0.18 版本,发布于 2006 年 9 月 8 日。
最小设置(查找 auto/Foo/*.po 和 auto/Foo/*.mo)
package Foo;
use Locale::Maketext::Simple; # exports 'loc'
loc_lang('fr'); # set language to French
sub hello {
print loc("Hello, [_1]!", "World");
}
更复杂的示例
package Foo::Bar;
use Locale::Maketext::Simple (
Class => 'Foo', # search in auto/Foo/
Style => 'gettext', # %1 instead of [_1]
Export => 'maketext', # maketext() instead of loc()
Subclass => 'L10N', # Foo::L10N instead of Foo::I18N
Decode => 1, # decode entries to unicode-strings
Encoding => 'locale', # but encode lexicons in current locale
# (needs Locale::Maketext::Lexicon 0.36)
);
sub japh {
print maketext("Just another %1 hacker", "Perl");
}
此模块是 Locale::Maketext::Lexicon 的简单包装器,旨在减轻模块作者创建 语言类 的需求。
使用的语言从 loc_lang 调用中选择。如果查找失败,将使用 i-default 语言。如果查找结果不在 i-default 语言中,则返回键。
如果Locale::Maketext::Lexicon不存在,它将通过简单地将[_1]
与第一个参数、[_2]
与第二个参数等进行插值来实现最小的本地化功能。像[quant,_1]
这样的插值函数将被视为[_1]
,唯一的例外是[tense,_1,X]
,当X为present
时,它将向_1
追加ing
,否则将向_1
追加ed
。
所有选项都通过use
语句或显式import
传递。
默认情况下,Locale::Maketext::Simple从调用包的auto/目录中获取其源代码;您可以通过显式指定另一个包作为Class
来覆盖此行为。
如果您的PO和MO文件位于auto/
以外的路径下,您可以使用Path
选项指定它。
默认情况下,此模块使用maketext
样式的[_1]
和[quant,_1]
进行插值。或者,您可以指定gettext
样式,它使用%1
和%quant(%1)
进行插值。
此选项不区分大小写。
默认情况下,此模块将单个函数loc
导出到其调用者的命名空间中。您可以将其设置为另一个名称,或将其设置为空字符串以禁用导出。
默认情况下,此模块在调用者的包(或由Class
指定的包)下创建一个::I18N
子类,并将词典数据存储在其子类中。您可以通过此选项分配一个与I18N
不同的名称。
如果设置为真值,源条目将被转换为utf8字符串(在Perl 5.6.1或更高版本中可用)。此功能需要Encode或Encode::compat模块。
指定一个编码来存储词典条目,而不是utf8字符串。如果设置为locale
,则使用当前区域设置的编码。意味着Decode
为真值。
感谢Jos I. Boumans建议编写此模块。
感谢Chia-Liang Kao建议使用Path
和loc_lang
。
Locale::Maketext, Locale::Maketext::Lexicon
Audrey Tang <[email protected]>
版权所有 2003, 2004, 2005, 2006 by Audrey Tang <[email protected]>.
本软件根据以下引用的 MIT 许可证发布。此外,当本软件与 **Perl Kit,版本 5** 一起分发时,您也可以根据与 Perl 本身相同的条款重新分发和/或修改它。
特此授予任何获得本软件和相关文档文件(“软件”)副本的人无偿使用软件的权利,包括但不限于以下权利:使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,以及允许获得软件的人这样做,但须符合以下条件:
以上版权声明和本许可声明应包含在所有副本或软件的任何重要部分中。
软件按“原样”提供,不提供任何形式的明示或暗示保证,包括但不限于对适销性、特定用途适用性和非侵权的保证。在任何情况下,作者或版权持有人均不对因软件或使用或以其他方式处理软件而引起的任何索赔、损害或其他责任(无论是在合同、侵权行为或其他情况下)负责。