| /* |
| ******************************************************************************* |
| * Copyright (C) 2004-2010, International Business Machines Corporation and * |
| * others. All Rights Reserved. * |
| ******************************************************************************* |
| */ |
| |
| package com.ibm.icu.dev.tool.ime.translit; |
| |
| import java.awt.Image; |
| import java.awt.im.spi.InputMethod; |
| import java.awt.im.spi.InputMethodDescriptor; |
| import java.util.Locale; |
| import java.util.MissingResourceException; |
| import java.util.ResourceBundle; |
| |
| /** |
| * The TransliteratorInputMethodDescriptor class is used to identify this package |
| * as an input method editor. |
| */ |
| |
| public class TransliteratorInputMethodDescriptor implements InputMethodDescriptor { |
| |
| private ResourceBundle rb = null; |
| |
| /** |
| * Creates the Transliterator IME this is automatically callled by the |
| * JVM when the Transliterator IME is selected from the input method list. |
| * |
| * @return InputMethod The Transliterator IME object. |
| */ |
| public InputMethod createInputMethod() throws Exception { |
| return new TransliteratorInputMethod(); |
| } |
| |
| /** |
| * Get the list of locales that this IME supports. |
| * |
| * @return Locale[] This will always have one locale. By default |
| * we just return the current locale. Therefore |
| * the Transliterator IME works in all locales. |
| */ |
| // use the current active locale |
| public Locale[] getAvailableLocales() { |
| return new Locale[] {Locale.getDefault()}; |
| } |
| |
| /** |
| * The Transliterator IME does not support dynamic locales. The Transliterator |
| * IME's functionality does not depend upon any locale. |
| * |
| * @return boolean This will always be false. |
| */ |
| public boolean hasDynamicLocaleList() { |
| return false; |
| } |
| |
| /** |
| * Obtain the localized name of the Transliterator IME |
| * |
| * @param inputLocale the requested input method locale |
| * @param displayLanguage The requested translation of the Transliterator IME |
| * @return the localized name for the Transliterator IME |
| */ |
| public String getInputMethodDisplayName(Locale inputLocale, |
| Locale displayLanguage) { |
| String name = null; |
| |
| try { |
| rb = ResourceBundle.getBundle("com.ibm.icu.dev.tool.ime.translit.Transliterator", displayLanguage); |
| name = rb.getString("name"); |
| } |
| catch (MissingResourceException m) { |
| // use a hardcoded value |
| name = "Transliterator"; |
| } |
| return name; |
| } |
| |
| /** |
| * Get the icon for the Transliterator IME. This is not supported. |
| * |
| * @param inputLocale (This is ignored). |
| * |
| * @return Image This will always be null. |
| */ |
| public Image getInputMethodIcon(Locale inputLocale) { |
| return null; |
| } |
| } |
| |