Estoy considerando usar ambos para una aplicación de escritorio que muestre las preferencias de una manera específica de la localidad.
bien, así que lo que quiere es traducido archivo de configuración en forma de:
some_translated_key=some_value
Bueno, a menos que desee apoyar MUI en algún momento que no debería ser un gran problema. Sin embargo, si lo hace, para que diferentes usuarios en la misma computadora puedan usar diferentes idiomas, o el usuario podría cambiar de idioma, tendría problemas para hacer coincidir la clave de una propiedad. Tendría que escanear todas las traducciones mientras lee la clave, y seguramente terminaría con múltiples entradas para la misma clave. ¿Cómo resolver eso? Bueno, esa es una buena pregunta.
Desde mi experiencia, los archivos de configuración deben ser independientes del idioma (cultura neutral) y nunca deben editarse a mano (es decir, las claves de traducción realmente no importan).
pensé que podría haber un problema con la codificación de caracteres, pero siguiente fragmento de código funciona sin un problema (los archivos están codificación UTF-8):
public class Main {
private static final String FILE_NAME = "i18ned.properties";
private File propertiesFile;
private Properties properties;
public Main() {
properties = new Properties();
propertiesFile = new File(FILE_NAME);
if (propertiesFile.exists()) {
try {
properties.load(new BufferedReader(new FileReader(
propertiesFile)));
} catch (FileNotFoundException e) {
// not likely, but should be logged either way
} catch (IOException e) {
// logger should be used instead
e.printStackTrace();
}
}
}
public void saveProperties() {
try {
properties
.store(new BufferedWriter(new FileWriter(propertiesFile)), "");
} catch (IOException e) {
// oops, use logger instead
e.printStackTrace();
}
}
public static void main(String[] args) {
Main main = new Main();
main.storeSome();
main.readSome();
}
private void readSome() {
String highAsciiKey = "żółć";
String value = properties.getProperty(highAsciiKey);
System.out.println(value);
}
private void storeSome() {
String highAsciiKey = "żółć";
String highAsciiValue = "łąkę";
properties.setProperty(highAsciiKey, highAsciiValue);
saveProperties();
}
}
Bueno, vamos a decir que tengo una preferencia tamaño de la ventana. – user697750
Para la preferencia de tamaño de ventana, puede elegir entre Preferencia API o Propiedades.No tiene nada que ver con la localización ... –
Lo siento, mi comentario ha sido arrancado, – user697750