Changeset 3340 in josm for trunk/src/org/openstreetmap


Ignore:
Timestamp:
2010-06-24T16:29:44+02:00 (14 years ago)
Author:
bastiK
Message:

fixed #5093 - translation for open file

Location:
trunk/src/org/openstreetmap/josm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/Main.java

    r3327 r3340  
    6464import org.openstreetmap.josm.gui.preferences.ToolbarPreferences;
    6565import org.openstreetmap.josm.plugins.PluginHandler;
     66import org.openstreetmap.josm.tools.I18n;
    6667import org.openstreetmap.josm.tools.ImageProvider;
    6768import org.openstreetmap.josm.tools.OsmUrlToBounds;
     
    360361        UIManager.put("OptionPane.noIcon", UIManager.get("OptionPane.cancelIcon"));
    361362
     363        I18n.fixJFileChooser();
     364       
    362365        // init default coordinate format
    363366        //
  • trunk/src/org/openstreetmap/josm/tools/I18n.java

    r3328 r3340  
    1212import java.util.Vector;
    1313
     14import javax.swing.JColorChooser;
    1415import javax.swing.JFileChooser;
    1516import javax.swing.UIManager;
     
    2627        MODE_CS, MODE_AR, MODE_PL, MODE_RO, MODE_RU, MODE_SK, MODE_SL}
    2728    private static PluralMode pluralMode = PluralMode.MODE_NOTONE; /* english default */
    28     private static String[] fileChooserDialogStringKeys = new String[] {
     29
     30    /* Localization keys for file chooser (and color chooser). */
     31    private static final String[] jFileChooserLocalizationKeys = new String[] {
    2932        /* windows laf */
    3033        "FileChooser.detailsViewActionLabelText",
     
    9295        //"FileChooser.saveDialogTitleText",
    9396        "FileChooser.updateButtonText",
    94         "FileChooser.updateButtonToolTipText"
    95         };
     97        "FileChooser.updateButtonToolTipText",
     98
     99        /* color chooser */
     100        "GTKColorChooserPanel.blueText",
     101        "GTKColorChooserPanel.colorNameText",
     102        "GTKColorChooserPanel.greenText",
     103        "GTKColorChooserPanel.hueText",
     104        "GTKColorChooserPanel.nameText",
     105        "GTKColorChooserPanel.redText",
     106        "GTKColorChooserPanel.saturationText",
     107        "GTKColorChooserPanel.valueText"
     108    };
    96109    private static HashMap<String, String> strings = null;
    97110    private static HashMap<String, String[]> pstrings = null;
     
    424437            if (load(localeName)) {
    425438                Locale.setDefault(l);
    426                
    427                 // localization for file chooser dialog
    428                 JFileChooser.setDefaultLocale(l);
    429                 for (String key : fileChooserDialogStringKeys) {
    430                     String us = UIManager.getString(key, Locale.US);
    431                     String loc = UIManager.getString(key, l);
    432                     // only provide custom translation if it is not already localized by Java
    433                     if (us != null && us.equals(loc)) {
    434                         UIManager.put(key, tr(us));
    435                     }
    436                 }
    437439            } else {
    438440                if (!l.getLanguage().equals("en")) {
     
    443445                    pstrings = null;
    444446                }
     447            }
     448        }
     449    }
     450
     451    /**
     452     * Localizations for file chooser dialog.
     453     * For some locals (e.g. de, fr) translations are provided
     454     * by Java, but for others (e.g. ru, uk) it is not.
     455     */
     456    public static void fixJFileChooser() {
     457        Locale l = Locale.getDefault();
     458
     459        JFileChooser.setDefaultLocale(l);
     460        JColorChooser.setDefaultLocale(l);
     461        for (String key : jFileChooserLocalizationKeys) {
     462            String us = UIManager.getString(key, Locale.US);
     463            String loc = UIManager.getString(key, l);
     464            // only provide custom translation if it is not already localized by Java
     465            if (us != null && us.equals(loc)) {
     466                UIManager.put(key, tr(us));
    445467            }
    446468        }
Note: See TracChangeset for help on using the changeset viewer.