<TL;DR>
它用于 GTK+(GIMP 的 GUI 工具包)中的国际化。文档的链接是:N_()
</TL;DR>
我正在研究 Python-Fu,经常看到被 N_()
包围的字符串,如:N_("Some random string")
。
然而在另一个插件中,N_()
不会在那里并且"Some random string"
工作得很好。
那么什么给出了呢?我四处搜寻,但没有真正找到任何关于此的信息。非常感谢 python 专家的一点帮助,因为我对它还很陌生。谢谢!
<<编辑>>
这是 GIMP 2.8 的 python 插件注册函数调用。每个插件都需要它,它会向 GUI 注册插件,显示在您在第 12 个参数中指定的菜单系统中。
不要将其与早期版本的 GIMP 参数顺序或 Script-Fu 混淆,后者基于Scheme,因此不幸的是丑陋如罪过。
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)
)
因此,在某些插件中,会有一个 N_() 包装字符串,而在某些插件中,参数列表中不会包含相同的字符串。两个版本都可以工作..
我认为这是一个 python 核心构造或其他东西,因为我对它有点陌生。话又说回来,我也是 Python-Fu 的新手。同样有可能这是一些 GIMP 的东西,甚至是 Python-Fu..
最佳答案
正如评论中所暗示的那样。 N_
是在 gi18n.h
中定义的 i10n 宏。 gi18n 使用 gettext 库。
http://opensource.apple.com/source/ChatServer/ChatServer-37.1/libraries/glib-2.4.5/glib/gi18n.h
至于 gettext_noop 你可以在以下位置看到它的用途 http://www.gnu.org/software/gettext/manual/html_node/Special-cases.html
关于python - 在 Python-Fu 中,将字符串包装在 N_() 中有何作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22160226/