在我的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