我试图将我的应用程序国际化,并且一直在搜索很多教程。我总是陷入困境,因为无论我做什么配置,都不会有效。
之前我在parsing exception上发了帖子。解决此解析器异常后,现在应用程序找不到捆绑包。
我通过faces-config.xml以及支持的语言环境安排并注册了Core包。
即使我已经搜索了现有的解决方案,但它们似乎都不适用于我的案例。
那么,问题出在哪里?它必须在根文件夹中吗?这是一个错误的配置吗?我的face-config中的拼写错误(不要这么想,我多次重复它)。
配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
version="2.2">
<application>
<!-- <message-bundle>messages_en_US</message-bundle> -->
<!-- <message-bundle>messages_es</message-bundle> -->
<!-- <message-bundle>messages_pt_BR</message-bundle> -->
<locale-config>
<default-locale>en_US</default-locale>
<supported-locale>pt_BR</supported-locale>
<supported-locale>es</supported-locale>
</locale-config>
<resource-bundle>
<base-name>com.tfduque.fieldassist.interface</base-name>
<var>msg</var>
</resource-bundle>
</application>
</faces-config>
文件夹/包裹组织:
堆栈跟踪(FULL:https://pastebin.com/69iJrvuX):
类型例外报告
消息无法找到基本名称com.tfduque.fieldassist.interface_es,locale pt_BR
的包描述服务器遇到意外情况,导致无法完成请求。
Exception
javax.servlet.ServletException: Can't find bundle for base name com.tfduque.fieldassist.interface_es, locale pt_BR
javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
答案 0 :(得分:0)
通过删除文件的完整路径来解决它 - 只是文件的名称似乎已经足够了:
Model.connection.select_all(sql).to_hash