我正在尝试使用mergelocales.py脚本,但我无法使其正常工作。
在我的ui.xml(我用来测试它的那个)中,我有这个语言环境:
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
ui:generateFormat='com.google.gwt.i18n.rebind.format.PropertiesFormat'
ui:generateKeys="com.google.gwt.i18n.rebind.keygen.MD5KeyGenerator"
ui:generateLocales="en_US, es_ES"
ui:defaultLocale="es_ES"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
然后我使用“-extra extras”参数编译我的项目。这会在我的项目中生成一个“extras”目录,其中有一个名为“myModule”的文件夹,在此文件夹中是生成的.properties文件:
/myproject/extras/myModule/com.mycompany.myproject.client.mvp.views.MyViewImplMyViewImplUiBinderImplGenMessages_en_US.properties
/myproject/extras/myModule/com.mycompany.myproject.client.mvp.views.MyViewImplMyViewImplUiBinderImplGenMessages_es_ES.properties
现在,我正在尝试运行mergelocales.py来获取LocalizableResources * .properties文件,当我尝试运行时:
python2.5~ / Downloads / mergelocales.py extras / myModule src / main / java / com / google / gwt / i18n / client /
我得到以下堆栈跟踪:
Skipping non-default locale in extra directory: com.mycompany.myproject.client.mvp.views.MyViewImplMyViewImplUiBinderImplGenMessages_en_US.properties
Skipping non-default locale in extra directory: com.mycompany.myproject.client.mvp.views.MyViewImplMyViewImplUiBinderImplGenMessages_es_ES.properties
Traceback (most recent call last):
File "/Users/admin/Downloads/mergelocales.py", line 497, in <module>
main()
File "/Users/admin/Downloads/mergelocales.py", line 131, in main
mergeLocales( args[0], args[1] )
File "/Users/admin/Downloads/mergelocales.py", line 466, in mergeLocales
pathname = os.path.join( resourcesDir, defaultLocaleFilename )
File "/System/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/posixpath.py", line 60, in join
if b.startswith('/'):
AttributeError: 'NoneType' object has no attribute 'startswith'
为了让这个脚本有效,我有什么遗漏吗?
答案 0 :(得分:0)
现在,我正在尝试运行mergelocales.py来获取LocalizableResources * .properties文件,并且[...]我得到以下堆栈跟踪...
您必须自己创建空白的LocalizableResource.properties文件手动,它们将由mergeLocales脚本填充。见这里:
假设我们希望我们的应用程序也可以用法语提供。 我们需要创建两个名为LocalizableResource.properties和LocalizableResource_fr.properties的空文件。 LocalizableResource.properties将包含默认(英语)文本,而LocalizableResource_fr.properties将包含法语文本。这些文件应位于src / main / resources / com / google / gwt / i18n / client。
来自http://blog.arcbees.com/2015/09/15/i18n-using-gwts-uibinder/