Luc*_*ion 22 documentation r package roxygen2
我正在编写一个包,以方便进口巴西社会经济微观数据集(人口普查,PNAD等).我预见该包的两个不同用户组:
巴西的用户可能会对使用葡萄牙语的文档感到更放心.可能在某种程度上可以理解英语,但是外语可能会使包装感觉不那么"符合人体工程学".
更广泛的国际用户社区,英语文档可能是必要条件.
是否可以以文档"双语"(英语和葡萄牙语)的方式编写包,并且向用户显示的语言将取决于他们的国家/语言设置?
也,
这在roxygen2文档框架中是否可行?
我意识到,通过使包装更加复杂和难以维护,使包装更加用户友好是一种权衡.从以前的经验来看这种权衡的一般评论也是受欢迎的.
编辑:根据评论的建议,我交叉发布了r-package-devel mailling list.在这里,然后按照底部的答案.Duncan Murdoch发布了一个有趣的答案,内容涵盖了@Brandons回答(贝娄)的一些内容,还包括我认为有用的两个额外建议:
有一种语言的包,但不同语言的插图.我会遵循这个建议.
必须使用软件包的版本,比方说1.1和1.2,每种语言一个
Bra*_*ilk 14
根据Ropensci的说法,没有标准的机制可以将包文档翻译成非英语语言.他们描述了国际化/本地化的典型过程如下:
要创建非英语文档,需要手动创建补充.Rd文件或包装晕影.
提供非英文文档的软件包应包含DESCRIPTION文件中的语言字段 .
还有一些关于该Language领域的信息:
"语言"字段可用于指示包文档是否不是英文:这应该是以逗号分隔的标准(非私有使用或已过时)IETF语言标记列表,目前由RFC 5646定义(https:// tools.ietf.org/html/rfc5646,另请参阅https://en.wikipedia.org/wiki/IETF_language_tag),即使用语言子标签,其本质上是2个字母的ISO 639-1(https:// en. wikipedia.org/wiki/ISO_639-1)或3个字母的ISO 639-3(https://en.wikipedia.org/wiki/ISO_639-3)语言代码.
如果您的包中包含非ASCII文本,则需要小心,特别是如果它打算在多个语言环境中使用.可以标记DESCRIPTION文件和.Rd文件中使用的编码.
关于编码......
首先,请仔细考虑是否确实需要非ASCII文本.R的许多用户只能正确查看其母语组(例如西欧,东欧,简体中文)和ASCII.72中的文本.其他字符可能根本不会呈现,呈现不正确,或导致您的R代码出错.对于.Rd文档,标记编码并包括ASCII音译可能会做一个合理的工作.通常支持的字符集比以前大约2000,但是非拉丁字母(希腊语,俄语,格鲁吉亚语......)仍然经常出问题,而且有双倍宽度字符(中文,日文,韩文)通常需要专业字体才能正确呈现.
然而,在相关的说明中,R 确实支持不同语言的"错误和警告" - "存在转换R级和C级错误和警告消息的机制.只有在使用NLS编译R时才可用支持(由配置选项--enable-nls请求,默认值)."