【问题标题】:How can I add localization to JFileChooser for a locale that is not supported by default?对于默认不支持的语言环境,如何将本地化添加到 JFileChooser?
【发布时间】:2011-04-09 23:15:35
【问题描述】:

User Interface Translation 支持的语言环境列表没有我需要支持的所有语言。如何为JFileChooser 添加更多语言?

【问题讨论】:

    标签: java swing internationalization


    【解决方案1】:

    您可以更改 JFileChooser 的属性,例如 FileChooser.openButtonText

    UIManager.put("FileChooser.acceptAllFileFilterText", "Directorios");
    UIManager.put("FileChooser.lookInLabelText", "Localização");
    UIManager.put("FileChooser.cancelButtonText", "Cancelar");
    UIManager.put("FileChooser.cancelButtonToolTipText", "Cancelar");
    UIManager.put("FileChooser.openButtonText", "Adicionar");
    UIManager.put("FileChooser.openButtonToolTipText", "Adicionar ficheiro(s)");
    UIManager.put("FileChooser.filesOfTypeLabelText", "Tipo");
    UIManager.put("FileChooser.fileNameLabelText", "Ficheiro(s)");
    UIManager.put("FileChooser.listViewButtonToolTipText", "Lista"); 
    UIManager.put("FileChooser.listViewButtonAccessibleName", "Lista"); 
    UIManager.put("FileChooser.detailsViewButtonToolTipText", "Detalhes");
    UIManager.put("FileChooser.detailsViewButtonAccessibleName", "Detalhes");
    UIManager.put("FileChooser.upFolderToolTipText", "Um nível acima"); 
    UIManager.put("FileChooser.upFolderAccessibleName", "Um nível acima"); 
    UIManager.put("FileChooser.homeFolderToolTipText", "Ambiente de Trabalho"); 
    UIManager.put("FileChooser.homeFolderAccessibleName", "Ambiente de Trabalho"); UIManager.put("FileChooser.fileNameHeaderText", "Nome"); 
    UIManager.put("FileChooser.fileSizeHeaderText", "Tamanho"); 
    UIManager.put("FileChooser.fileTypeHeaderText", "Tipo"); 
    UIManager.put("FileChooser.fileDateHeaderText", "Data"); 
    UIManager.put("FileChooser.fileAttrHeaderText", "Atributos"); 
    UIManager.put("FileChooser.openDialogTitleText","Adicionar Fotos");
    UIManager.put("FileChooser.readOnly", Boolean.TRUE);
    

    资源:

    【讨论】:

    • 那么,有没有办法把它放在属性文件中,以便执行正确的语言环境选择逻辑?我可以为我正在寻找的语言环境添加签入代码,但我宁愿让 jvm 为我选择正确的文件。
    • AFAIK,恐怕您必须检查语言环境并手动设置新值。
    • 您可以继承 JFileChooser,在静态初始化块中添加类似的代码(必需),然后您可以像往常一样将这些值导出到属性。
    • 还有一种方法可以通过这种方式将助记符外化,但不会那么容易找到。顺便说一句:在JDK 6中的主文件夹(桌面)来自操作系统,所以没有办法翻译它(Vista及以上总是会显示英文名称)
    【解决方案2】:

    实际上可以使用属性文件来翻译标准的 Swing 字符串。只需拨打电话

    UIManager.getDefaults().addResourceBundle("com.mypackage.messages");
    

    其中com.mypackage.messages 是完全限定的捆绑包基本名称。

    【讨论】:

      猜你喜欢
      • 2020-04-05
      • 2020-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-31
      • 2017-07-25
      • 2013-01-10
      相关资源
      最近更新 更多