О том, как перевести глюонную настольную программу
Алоха парень,
можешь объяснить файл, для чего это может быть хорошо?? в проводнике проекта -> Gradle: org.controlsfx:controlsfx:8.40.12 -> Ресурс Bundel 'controlsfx' -> здесь другой файл на другом языке. Могу ли я с этим перевести содержание моей программы на английский, польский и немецкий языки, и могу ли я сделать его редактируемым
2.Если первый был глупой идеей, как я могу это перевести? моя идея состоит в том, чтобы сделать перевод свойства озера это english.properties, germany.properties, polish.properties экономить на ресурсах с этим
stateManager.setPersistenceMode(StateManager.PersistenceMode.USER);
try { input = new FileInputStream( stateManager.getProperty("Languge").orElse("").toString().trim()+".properties");// загрузить файл свойств prop.load(input);
// get the property value and print it out System.out.println(prop.getProperty("database")); System.out.println(prop.getProperty("dbuser")); System.out.println(prop.getProperty("dbpassword")); } catch (IOException ex) { ex.printStackTrace(); } finally { if (input != null) { try { input.close(); } catch (IOException e) { e.printStackTrace(); } } }
2 ответа
Если вы создадите проект Desktop с плагином Gluon для вашей IDE, используя, например, шаблон Multi View Project, вы заметите, что у каждого представления есть файл свойств.
Этот файл свойств по умолчанию содержит ключевые значения на английском языке. Но вы можете легко создать копию этого файла, переименовать его в другой локали и, используя те же ключи, указать значения в этой локали.
Например, для primary.properties
label.text=Welcome
button.text=Go to Secondary View
Вы можете создать primary_es.properties
в той же упаковке, с:
label.text=Bienvenido
button.text=Ir a Vista Secundaria
Если у вас есть несколько локалей для данного файла свойств, ваша IDE покажет все сразу:
И это все, вам не нужно ничего менять в своем коде. Локаль по умолчанию будет использоваться для выбора правильного файла свойств.
Очевидно, вы можете выбрать другой язык во время выполнения. Для этого вам нужно будет использовать другой пакет ресурсов:
@Override
public void init() {
// other Locale different than the default:
resourceBundle = ResourceBundle.getBundle(
"<your.views.package>.primary",
Locale.ENGLISH);
...
}
@ Хосе Переда
ты добываешь что-то подобное для недвижимости? изображение, где я сохраняю свойства
Я также делаю это в моем WelcomeController
public void initialize() {
String language;
Locale currentLocale;
language = new String("pl");
currentLocale = new Locale(language);
ResourceBundle resourceBundle = ResourceBundle.getBundle("bundles/language",currentLocale);
System.out.println(resourceBundle.getString( "greetings" ));
}
я сделаю это
language = new String("pl");
потому что это
Locale.ENGLISH
нет статики Locale.POLISH
я также буду сохранять, например (Германия или де | польский или pl| английский или en) в качестве настройки
с этим stateManager.setPersistenceMode( StateManager.PersistenceMode.USER);
stateManager.setProperty( "language", "de" );
или лучше, поскольку Настройки программы не для пользователя C:\Users\Harry05.gluon-частицы