gpt4 book ai didi

python - 在 N_() 中包装字符串在 Python-Fu 中有什么作用?

转载 作者:太空宇宙 更新时间:2023-11-04 01:19:33 25 4
gpt4 key购买 nike

<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 - 在 N_() 中包装字符串在 Python-Fu 中有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22160226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com