在使用 Quarkus、RestEasy 和 Qute 的 Web 应用程序中,我成功地为不同语言创建了 Qute 模板和消息包。但是,我没有成功让它根据 HTTP 标头自动选择语言Accept-Language
。
Qute参考文献指出:
使用quarkus-resteasy-qute时,如果用户未设置, 则 locale 属性来自
Accept-Language
标头。
我正在使用quarkus-resteasy-qute
扩展名 (in pom.xml
),我可以看到Accept-Language
标题设置为Accept-Language: fr,en-US;q=0.7,en;q=0.3
. 但是页面是用英文显示的。那么我错过了什么?我需要添加一些代码吗?
如果我明确地将语言设置为法语(见下文),它会以法语显示。所以模板是多语言的。
@Path("/test")
public class HomeController {
@Location("home")
Template homeTemplate;
@GET
@Produces(MediaType.TEXT_HTML)
public TemplateInstance showHome() {
return homeTemplate
.instance()
.setAttribute("locale", "fr"); // hard-coded language works
}
}