在Python中,在N_uz()中包装字符串的作用是什么?

在Python中,在N_uz()中包装字符串的作用是什么?,python,string,python-2.7,python-fu,Python,String,Python 2.7,Python Fu,它用于GTK+(GIMP的GUI工具包)中的国际化。指向文档的链接是: 我正在使用Python Fu,经常看到字符串被N_389;()包围,如:N_389;(“一些随机字符串”) 然而,在另一个插件中,N_()不会出现,而且“一些随机字符串”可以正常工作 那么是什么原因呢?我到处找了找,但没有找到这方面的任何东西。非常感谢python专家的一点帮助,因为我对它还比较陌生。谢谢 > 这是GIMP 2.8的python插件注册函数调用。它在每个插件中都是必需的,并在GUI中注册插件,显示在菜单系

它用于GTK+(GIMP的GUI工具包)中的国际化。指向文档的链接是:


我正在使用Python Fu,经常看到字符串被
N_389;()
包围,如:
N_389;(“一些随机字符串”)

然而,在另一个插件中,
N_()
不会出现,而且
“一些随机字符串”
可以正常工作

那么是什么原因呢?我到处找了找,但没有找到这方面的任何东西。非常感谢python专家的一点帮助,因为我对它还比较陌生。谢谢

>

这是GIMP 2.8的python插件注册函数调用。它在每个插件中都是必需的,并在GUI中注册插件,显示在菜单系统中,您在第12个参数中进行口述

这不能与GIMP的参数顺序的早期版本相混淆,或者说脚本Fu,它基于Scheme,所以不幸的是它和sin一样丑陋

register(
    "omnicyde_btn_metal_ring",
    N_("Badass Glossy Metal Ring Button"),
    "This is going to be so incredibly sweet",
    "Omnicyde",
    "Omnicyde",
    "2014",
    "_BtnMetalRing",
    "",
    [],
    [],
    btn_metal_ring,
    menu="<Toolbox>/Omnicyde/Buttons",
    domain=("gimp20-python", gimp.locale_directory)
)
寄存器(
“omnicyde_btn_金属环”,
N_uu2;(“大家伙光泽金属环扣”),
“这将是如此令人难以置信的甜蜜”,
“Omnicyde”,
“Omnicyde”,
"2014",
“btn谈判”,
"",
[],
[],
btn_金属环,
menu=“/Omnicyde/Buttons”,
域=(“gimp20 python”,gimp.locale\u目录)
)
因此,在某些插件中,会有一个N_u3;()包装字符串,而在某些插件中,参数列表中不会有相同字符串的包装。两个版本都有效


我认为这是一个python核心构造或其他东西,因为我对它有点陌生。再说一次,我对Python Fu也是新手。这同样可能是一些GIMP的东西,甚至是Python Fu。

正如评论中所暗示的那样
N
是在
gi18n.h
中定义的i10n宏。gi18n使用gettext库

至于gettext_noop,您可以在
正如评论中所暗示的那样
N
是在
gi18n.h
中定义的i10n宏。gi18n使用gettext库

至于gettext_noop,您可以在

这取决于程序员定义的
N
。它可能是一个类实例化。在GIMP的python fu插件中,您在哪里看到了这种“频繁”现象。请稍等。我会发布代码。链接到特定插件的源代码会很有帮助。很可能这是一个本地化的东西,它正在查找某种类型的翻译表(尽管我从来没有看到过这方面的翻译表…通常是它的
)。。。或者可能是为HTML渲染或清理它或其他任何事情做准备。。。但我的猜测是,在没有上下文的情况下,本地化应该根据@JoranBeasley的评论进行扩展:这取决于程序员定义的
N
。它可能是一个类实例化。在GIMP的python fu插件中,您在哪里看到了这种“频繁”现象。请稍等。我会发布代码。链接到特定插件的源代码会很有帮助。很可能这是一个本地化的东西,它正在查找某种类型的翻译表(尽管我从来没有看到过这方面的翻译表…通常是它的
)。。。或者可能是为HTML渲染或清理它或其他任何事情做准备。。。但我的猜测是,在没有上下文的情况下,本地化应该扩展到@JoranBeasley的评论:谢谢长颈鹿船长。。。说起来很有趣。谢谢长颈鹿船长。。。说起来很有趣。