在Tanya Madurapperuma撰写的博客How to generate language fragment bundles to localize Carbon products中,我遇到了以下问题。使用ant localize
命令生成语言包后,这些包将在CARBON_HOME/repository/components/dropins/
文件夹中生成。问题是,当我运行该工具时,我不打算将语言更改为西班牙语。我很感激帮助纠正我可能缺少的事情吗?
注意:所有resources.properties文件都已翻译成西班牙语。
答案 0 :(得分:0)
如果您在dropins文件夹中包含已翻译的resources.properties文件的jar,则需要重新启动服务器并将浏览器的Locale设置设置为西班牙语。
应在浏览器中更改区域设置,然后服务器将选择要使用的匹配资源文件。
<强>更新强>
这里有一些问题。 首先,如果/ resources目录中有多个目录,则会出现错误。现在,您可以确保在运行localize task时,资源目录中只有一个目录。
您应该在具有包名称的目录中包含属性文件,而不使用树结构。所以你的资源目录应该是这样的。
../resources/
└── org.wso2.carbon.i18n_4.2.0
├── JSResources_es.properties
└── Resources_es.properties
您需要在文件中包含区域设置代码_es
,如上所示。
同样,localize工具似乎在构建jar的文件夹结构的末尾追加i18n
。这适用于ui包,但在org.wso2.carbon.i18n的情况下,它看起来像org/wso2/carbon/i18n/i18n
。因此,在dropins文件夹中打开构建的jar并删除额外的i18n文件夹,以便jar树结构如下所示。
../repository/components/dropins/org.wso2.carbon.i18n.languageBundle_4.2.0.jar
├── META-INF
│ └── MANIFEST.MF
└── org
└── wso2
└── carbon
└── i18n
├── JSResources_es.properties
└── Resources_es.properties
答案 1 :(得分:0)
你有没有这个工作?
我怀疑你可能出错的地方是资源文件夹中的文件夹结构。 (您可以将资源文件放在任何位置并执行命令为 ant localize -Dresources.directory = path_to_your_resources_directory )
另请注意,资源文件夹应具有osgi包的正确命名约定。 例如:org.wso2.carbon.claim.mgt.ui_4.2.0(这整个文件夹的名称)
如果仍然无法将此工作邮寄给我,请将资源文件夹发送至tanyamadurapperuma@gmail.com