Локализация весной с помощью Freemarker - PullRequest
0 голосов
/ 12 декабря 2018

У меня проблемы с работой при локализации с использованием Spring + Freemarker.Когда я устанавливаю язык браузера как es (испанский), он работает нормально.Но когда я оставляю язык браузера по умолчанию (en-US), он не загружает испанский текст.Фактически он загружает тексты на английском языке.

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

My FreeMarkerConfigurer настроен как

@Bean
public FreeMarkerConfigurer freemarkerConfigurer() throws ParseException {
    FreeMarkerConfigurer freeMarkerConfigurer = new FreeMarkerConfigurer();
    freeMarkerConfigurer.setTemplateLoaderPath("/WEB-INF/freemarker/");
    freeMarkerConfigurer.setDefaultEncoding("UTF-8");
    Properties properties = new Properties();
    //Hardcoded locale just to test Spanish by default
    properties.put("locale", "es");
    configurer.setFreemarkerSettings(properties);
    Map<String, Object> variables = new HashMap<String, Object>();
    variables.put("utils", new FreemarkerUtils());
    configurer.setFreemarkerVariables(variables);
    return configurer;
}

У меня есть два шаблона с именем test.ftl и test_es.ftl .Итак, я подумал, что по умолчанию нужно выбрать test_es.ftl .Он подхватывает, если я изменю язык настроек браузера на es , но по умолчанию это не так.Я также попытался настроить properties.put ("localized_lookup", "false"); , но не сработало.

...