gjs中下划线的作用是什么?

What is the role of underscore in gjs?

在gjs中docs我发现下划线是用来表示私有变量的,但是在new创建对象或者调用方法的时候有什么作用呢?例如,在创建扩展时生成的默认代码中:

...
let item = new PopupMenu.PopupMenuItem(_('Show Notification'));
    item.connect('activate', () => {
        Main.notify(_('Whatʼs up, folks?'));
    });
    this.menu.addMenuItem(item);
...

您看到的是 _() 函数,它是 gettext() 的 shorthand。换句话说,它将字符串标记为可翻译,并在用户 运行 时加载已翻译的字符串(如果可用)。