Internacionalização

2 respostas
L

Boa tarde, senhores.

Gostaria da ajuda para resolver um problema de internacionalização. Segue o código:

import java.util.*;

public class I18NTeste {
  static public void main(String[] args) {

    Locale currentLocale;
    String teste;

    teste = Locale.getDefault().toString();

    currentLocale = new Locale(teste);
    ResourceBundle labels =
      ResourceBundle.getBundle("MessagesBundle", currentLocale);
    Enumeration bundleKeys = labels.getKeys();

    while (bundleKeys.hasMoreElements()) {
      String key = (String) bundleKeys.nextElement();
      String value = labels.getString(key);
      System.out.println(key + " = " + value);
    }
  }
}

Tenho as opções para português, espanhol e inglês.

Gostaria de deixar en_US como padrão, caso os valores da variável "teste" seja diferente destes idiomas.
Alguém sabe como tratar isso?

2 Respostas

Foxlol

Crie seus arquivos properties da seguinte maneira:

MessageBundle.properties (Inglês)
MessageBundle_pt.properties (Português)
MessageBundle_es.properties (Espanhol)

Se o getBundle não achar nada com o locale passado ele pega o arquivo padrão sem sufixo.

Flw

L

Valeu!

Criado 21 de dezembro de 2009
Ultima resposta 21 de dez. de 2009
Respostas 2
Participantes 2