2014-10-06 4 views
1

Я использую следующий фрагмент код для получения выбора элементов для определенного списка выбора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() метода просто получить значение с locale en_us. Так что, если я хочу получить другие локации, то есть ar_eg?

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

ответ

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; 
       }    
      }