Play框架 - 在服务器端设置默认语言

时间:2016-02-18 11:09:16

标签: java playframework locale

在我的Play应用程序中,我有一个独立的工作,它在后台运行在服务器端。该作业使用来自messages.pl的邮件,但问题是服务器的默认语言是英语,因此无法访问我的邮件。如何更改应用程序的全局默认语言?

我已经在我的Global课程中尝试了Lang.apply("pl"),但它不起作用。我还根据用户请求对Controller.changeLang("pl")进行了测试,但由于我的工作不依赖于任何请求,因此也无法正常工作。

我的application.conf文件当然包含application.langs="pl"

修改

我忘了使用Play Framework 2.3.9。

以下是我使用消息的代码(每个catch块的最后一行)。从作业调用此函数(Akka调度程序):

public String processText(String text, String LPMN) {
    lastError = "";

    try {
        String idt = nlpTextUpload(text);
        return process(idt, LPMN);
    } catch (NullPointerException ex) {
        Logger.getLogger(SerelServiceRs.class.getName()).log(Level.WARNING, "Text to process is empty", ex);
        play.Logger.warn("Text to process is empty", ex);
        lastError = lastError.concat(Messages.get("error.process.emptyText")).concat("\n");
    } catch (IOException ex) {
        Logger.getLogger(SerelService.class.getName()).log(Level.SEVERE, "Problems in processing LPMN", ex);
        play.Logger.error("Problems in processing LPMN", ex);
        lastError = lastError.concat(Messages.get("error.process.lpmnProblem")).concat("\n");
    } catch (InterruptedException ex) {
        Logger.getLogger(SerelService.class.getName()).log(Level.SEVERE, null, ex);
        play.Logger.error("Processing interrupt", ex);
        lastError = lastError.concat(Messages.get("error.process.interrupt")).concat("\n");
    }
    return "";
}

以下是来自messages.pl的文字:

error.process.emptyText=[BŁĄD]: Tekst do przetworzenia jest pusty
error.process.fileNotFound=[BŁĄD]: Plik nie został prawidłowo wczytany
error.process.lpmnProblem=[BŁĄD]: Błąd podczas wywoływania Web Serwisu
error.process.interrupt=[BŁĄD]: Przetwarzanie zostało przerwane

0 个答案:

没有答案