Ignore:
Timestamp:
2008-11-02T15:06:01+01:00 (16 years ago)
Author:
stoecker
Message:

language handling fixed

File:
1 edited

Legend:

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

    r1058 r1065  
    33
    44import java.text.MessageFormat;
     5import java.util.Arrays;
     6import java.util.Comparator;
     7import java.util.Locale;
     8import java.util.Vector;
    59
    610/**
     
    1014 */
    1115public class I18n {
     16
     17        /* Base name for translation data. Used for detecting available translations */
     18        private static final String TR_BASE = "org.openstreetmap.josm.i18n.Translation_";
     19
    1220        /**
    1321         * Set by MainApplication. Changes here later will probably mess up everything, because
     
    4351                return i18n.trn(text, pluralText, n);
    4452        }
     53
     54        /**
     55         * Get a list of all available JOSM Translations.
     56         * @return an array of locale objects.
     57         */
     58        public static final Locale[] getAvailableTranslations() {
     59                Vector<Locale> v = new Vector<Locale>();
     60                Locale[] l = Locale.getAvailableLocales();
     61                for (int i = 0; i < l.length; i++) {
     62                        String cn = TR_BASE + l[i];
     63                        try {
     64                                Class.forName(cn);
     65                                v.add(l[i]);
     66                        } catch (ClassNotFoundException e) {
     67                        }
     68                }
     69                l = new Locale[v.size()];
     70                l = v.toArray(l);
     71                Arrays.sort(l, new Comparator<Locale>() {
     72                        public int compare(Locale o1, Locale o2) {
     73                                return o1.toString().compareTo(o2.toString());
     74                        }
     75                });
     76                return l;
     77        }
    4578}
Note: See TracChangeset for help on using the changeset viewer.