是否有特定的 API 调用(可能未记录,此处未列出 http://docs.waf.googlecode.com/git/apidocs_16/tools/intltool.html )允许我创建和/或更新翻译模板?
或者我需要使用 native 系统工具吗?
最佳答案
我也找不到,所以我在主 wsript 文件中引入了一个选项。
opt.add_option('--update-po', action='store_true', default=False, dest='update_po', help='Update localization files')
// ...
def shutdown(self):
if Options.options.update_po:
os.chdir('./po')
try:
try:
size_old = os.stat (APPNAME + '.pot').st_size
except:
size_old = 0
subprocess.call (['intltool-update', '-p', '-g', APPNAME])
size_new = os.stat (APPNAME + '.pot').st_size
if size_new <> size_old:
Logs.info("Updated po template.")
try:
command = 'intltool-update -r -g %s' % APPNAME
self.exec_command (command)
Logs.info("Updated translations.")
except:
Logs.error("Failed to update translations.")
except:
traceback.print_exc(file=open("errlog.txt","a"))
Logs.error("Failed to generate po template.")
Logs.errors("Make sure intltool is installed.")
os.chdir ('..')
不幸的是我还没有时间把它变成一个工具。在我的名单上。但您可以在这里找到完整的示例:https://bazaar.launchpad.net/~diodon-team/diodon/trunk/view/head:/wscript
关于translation - waf - 更新并生成翻译 pot 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15055337/