这里是SSCCE:
public class Main {
public static void main(String[] args) {
Locale item = Locale.FRANCE;
System.out.println("Locale: "+item+" displayed: "+item.getDisplayLanguage(Locale.GERMANY));
}
}
编译并运行它时,它会正确显示
Locale: fr_FR displayed: Französisch
但是,如果我现在通过jlink创建一个自定义运行时映像并运行它,则会得到:
Locale: fr_FR displayed: French
无论使用哪种语言环境,它总是会退回到看起来似乎是英语的地方。也许我需要一个额外的模块?运行时映像的生成如下:
jlink --module-path "..." --add-modules=java.desktop,java.logging,javafx.controls,javafx.graphics,javafx.fxml,javafx.base,javafx.media --output image
我的JDK版本:
$ java --version
java 11.0.2 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)