О том, как перевести глюонную настольную программу

Алоха парень,

  1. можешь объяснить файл, для чего это может быть хорошо?? в проводнике проекта -> 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 покажет все сразу:

язык NetBeans

И это все, вам не нужно ничего менять в своем коде. Локаль по умолчанию будет использоваться для выбора правильного файла свойств.

Очевидно, вы можете выбрать другой язык во время выполнения. Для этого вам нужно будет использовать другой пакет ресурсов:

@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-частицы

Другие вопросы по тегам