Changeset 12644 in josm for trunk/src/org/openstreetmap/josm/gui/util/GuiHelper.java
- Timestamp:
- 2017-08-25T15:17:01+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/util/GuiHelper.java
r12634 r12644 26 26 import java.awt.image.FilteredImageSource; 27 27 import java.lang.reflect.InvocationTargetException; 28 import java.util.Arrays; 29 import java.util.Collection; 28 30 import java.util.Enumeration; 29 31 import java.util.EventObject; 32 import java.util.Locale; 30 33 import java.util.concurrent.Callable; 31 34 import java.util.concurrent.ExecutionException; … … 34 37 import javax.swing.GrayFilter; 35 38 import javax.swing.ImageIcon; 39 import javax.swing.JColorChooser; 36 40 import javax.swing.JComponent; 41 import javax.swing.JFileChooser; 37 42 import javax.swing.JLabel; 38 43 import javax.swing.JOptionPane; … … 51 56 import org.openstreetmap.josm.gui.ExtendedDialog; 52 57 import org.openstreetmap.josm.gui.MainApplication; 58 import org.openstreetmap.josm.gui.widgets.AbstractFileChooser; 53 59 import org.openstreetmap.josm.gui.widgets.HtmlPanel; 54 60 import org.openstreetmap.josm.tools.CheckParameterUtil; … … 67 73 */ 68 74 public final class GuiHelper { 75 76 /* Localization keys for file chooser (and color chooser). */ 77 private static final String[] JAVA_INTERNAL_MESSAGE_KEYS = new String[] { 78 /* JFileChooser windows laf */ 79 "FileChooser.detailsViewActionLabelText", 80 "FileChooser.detailsViewButtonAccessibleName", 81 "FileChooser.detailsViewButtonToolTipText", 82 "FileChooser.fileAttrHeaderText", 83 "FileChooser.fileDateHeaderText", 84 "FileChooser.fileNameHeaderText", 85 "FileChooser.fileNameLabelText", 86 "FileChooser.fileSizeHeaderText", 87 "FileChooser.fileTypeHeaderText", 88 "FileChooser.filesOfTypeLabelText", 89 "FileChooser.homeFolderAccessibleName", 90 "FileChooser.homeFolderToolTipText", 91 "FileChooser.listViewActionLabelText", 92 "FileChooser.listViewButtonAccessibleName", 93 "FileChooser.listViewButtonToolTipText", 94 "FileChooser.lookInLabelText", 95 "FileChooser.newFolderAccessibleName", 96 "FileChooser.newFolderActionLabelText", 97 "FileChooser.newFolderToolTipText", 98 "FileChooser.refreshActionLabelText", 99 "FileChooser.saveInLabelText", 100 "FileChooser.upFolderAccessibleName", 101 "FileChooser.upFolderToolTipText", 102 "FileChooser.viewMenuLabelText", 103 104 /* JFileChooser gtk laf */ 105 "FileChooser.acceptAllFileFilterText", 106 "FileChooser.cancelButtonText", 107 "FileChooser.cancelButtonToolTipText", 108 "FileChooser.deleteFileButtonText", 109 "FileChooser.filesLabelText", 110 "FileChooser.filterLabelText", 111 "FileChooser.foldersLabelText", 112 "FileChooser.newFolderButtonText", 113 "FileChooser.newFolderDialogText", 114 "FileChooser.openButtonText", 115 "FileChooser.openButtonToolTipText", 116 "FileChooser.openDialogTitleText", 117 "FileChooser.pathLabelText", 118 "FileChooser.renameFileButtonText", 119 "FileChooser.renameFileDialogText", 120 "FileChooser.renameFileErrorText", 121 "FileChooser.renameFileErrorTitle", 122 "FileChooser.saveButtonText", 123 "FileChooser.saveButtonToolTipText", 124 "FileChooser.saveDialogTitleText", 125 126 /* JFileChooser motif laf */ 127 //"FileChooser.cancelButtonText", 128 //"FileChooser.cancelButtonToolTipText", 129 "FileChooser.enterFileNameLabelText", 130 //"FileChooser.filesLabelText", 131 //"FileChooser.filterLabelText", 132 //"FileChooser.foldersLabelText", 133 "FileChooser.helpButtonText", 134 "FileChooser.helpButtonToolTipText", 135 //"FileChooser.openButtonText", 136 //"FileChooser.openButtonToolTipText", 137 //"FileChooser.openDialogTitleText", 138 //"FileChooser.pathLabelText", 139 //"FileChooser.saveButtonText", 140 //"FileChooser.saveButtonToolTipText", 141 //"FileChooser.saveDialogTitleText", 142 "FileChooser.updateButtonText", 143 "FileChooser.updateButtonToolTipText", 144 145 /* gtk color chooser */ 146 "GTKColorChooserPanel.blueText", 147 "GTKColorChooserPanel.colorNameText", 148 "GTKColorChooserPanel.greenText", 149 "GTKColorChooserPanel.hueText", 150 "GTKColorChooserPanel.nameText", 151 "GTKColorChooserPanel.redText", 152 "GTKColorChooserPanel.saturationText", 153 "GTKColorChooserPanel.valueText", 154 155 /* JOptionPane */ 156 "OptionPane.okButtonText", 157 "OptionPane.yesButtonText", 158 "OptionPane.noButtonText", 159 "OptionPane.cancelButtonText" 160 }; 69 161 70 162 private GuiHelper() { … … 526 618 } 527 619 } 620 621 /** 622 * Localizations for file chooser dialog. 623 * For some locales (e.g. de, fr) translations are provided 624 * by Java, but not for others (e.g. ru, uk). 625 * @since 12644 (moved from I18n) 626 */ 627 public static void translateJavaInternalMessages() { 628 Locale l = Locale.getDefault(); 629 630 AbstractFileChooser.setDefaultLocale(l); 631 JFileChooser.setDefaultLocale(l); 632 JColorChooser.setDefaultLocale(l); 633 for (String key : JAVA_INTERNAL_MESSAGE_KEYS) { 634 String us = UIManager.getString(key, Locale.US); 635 String loc = UIManager.getString(key, l); 636 // only provide custom translation if it is not already localized by Java 637 if (us != null && us.equals(loc)) { 638 UIManager.put(key, tr(us)); 639 } 640 } 641 } 642 643 /** 644 * Setup special font for Khmer script, as the default Java fonts do not display these characters. 645 * @since 12644 (moved from I18n) 646 * @since 8282 647 */ 648 public static void setupLanguageFonts() { 649 // Use special font for Khmer script, as the default Java font do not display these characters 650 if ("km".equals(LanguageInfo.getJOSMLocaleCode())) { 651 Collection<String> fonts = Arrays.asList( 652 GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()); 653 for (String f : new String[]{"Khmer UI", "DaunPenh", "MoolBoran"}) { 654 if (fonts.contains(f)) { 655 setUIFont(f); 656 break; 657 } 658 } 659 } 660 } 528 661 }
Note:
See TracChangeset
for help on using the changeset viewer.