在gjs文档中,我发现下划线用于表示私有变量,但是在使用new
或调用方法创建对象时它会做什么?例如,在创建扩展时生成的默认代码中:
...
let item = new PopupMenu.PopupMenuItem(_('Show Notification'));
item.connect('activate', () => {
Main.notify(_('Whatʼs up, folks?'));
});
this.menu.addMenuItem(item);
...
您看到的是_()
函数,它是gettext()
的简写。换句话说,它将字符串标记为可翻译的,并在用户运行时加载翻译后的字符串(如果可用)。