IBM Filenet P8: как я могу получить локализованные отображаемые имена элементов списка выбора

Я использую следующий фрагмент кода для получения элементов выбора для определенного списка выбора

           Map<Serializable, Serializable> items = new HashMap<Serializable, Serializable>();                   
           Iterator<Choice> choiceIterator = choiceList.get_ChoiceValues().iterator();
           while(choiceIterator.hasNext()){
               Choice choice = choiceIterator.next();
                if(choice.get_ChoiceType() == ChoiceType.INTEGER){
                    itemKey = choice.get_ChoiceIntegerValue();
                }else{
                    itemKey = choice.get_ChoiceStringValue();
                }
                items.put(itemKey, ((LocalizedStringImpl)choice.get_DisplayNames().get(0)).get_LocalizedText());
            }

но метод get_LocalizedText() просто получает значение с локалью en_us. Так что, если я хочу получить другие локали, например ar_eg?

Заранее спасибо.


person aomar    schedule 06.10.2014    source источник


Ответы (1)


Вам нужно вызвать метод get_LocaleName() для объекта LocalizedString и выяснить, является ли это правильной локалью, которую вы ищете. Вот пример кода:

            LocalizedStringList lsList = choice.get_DisplayNames();
            Iterator<LocalizedString> dit= lsList.iterator();
            boolean lnFound = false;
            while(dit.hasNext())
            {
                LocalizedString ls = dit.next();
                String ln = ls.get_LocaleName();
                String lt = ls.get_LocalizedText();
                if(_locale.equalsIgnoreCase(ln))
                {
                    ls.set_LocalizedText(_value);
                    lnFound = true;
                }               
            }
person P777    schedule 08.10.2014