2015-02-14 2 views
0

Я пытаюсь создать приложение с использованием магистрали и requirejs. Я пытаюсь включить интернационализацию в проект с помощью i18n (requirejs amd поддерживаемый плагин).Изменение языка динамически с использованием i18n в магистрали - проект requirejs

Я хочу дать пользователю возможность изменить язык.

Итак, как настроить i18n так, чтобы любой человек мог изменить язык в соответствии с его/ее потребностями.

P.S. Шаблон Engine используется Handlebars.

Любой другой плагин интернационализации, рекомендованный, также прекрасен.

Вот моя структура проекта.

  • JS

    • приложение

      • конфигурации
        • appConfig.js
      • Инициализационные
        • App.js
        • AppInit.js
      • NLS

        • home.js (корневой файл)
        • фр-фр
          • home.js
      • маршрутизатор

        • AppRouter.js
      • шаблоны
        • homeTmpl.html
      • вид
        • homeView.js
  • Lib

Вот мой индекс.HTML-страница с возможностью изменения языка

<html> 
<head> 
<title>i18n test with backbone and requirejs</title> 
<script type="text/javascript" src="lib/jquery-2.1.3.js"></script> 
<script data-main="js/app/config/appConfig" type="text/javascript" 
src="lib/require.js"></script> 
<style> 
#content{ 
    width: 800px; 
    height: 400px; 
    top:200px; 
    left:100px; 
    border: 3px dotted #0F0; 
} 
#lang{ 
    float:right; 
} 
</style> 
</head> 
<body> 
<h3> Hello World , Good Morning</h3> 

<div id ="lang"> 
    <a href="javascript:void(0);" class="lang" id="en">English</a> 
    <a href="javascript:void(0);" class="lang" id="fr">French</a> 
</div> 

<a href='#home'>Home</a><br/> 
<a href='#about'>About Us</a><br/> 
<a href='#contact'>Contact</a><br/> 

<div id="content"></div> 

</body> 
</html> 

ответ

0

Взятые из документации здесь: http://i18next.com/pages/doc_init.html

i18n.setLng('en-US', function(t) { /* loading done */ }); 

Если вы хотите использовать встроенный JavaScript, как в вашем примере, вы могли бы сделать что-то вроде:

<a href="javascript:i18n.setLng('en');" id="en">English</a> 
<a href="javascript:i18n.setLng('fr');" id="fr">French</a> 
+0

Привет, Lochlan. Я использую проект backbone-requirejs, где я собираюсь выбрать язык с сервера. Как я могу это реализовать? Я также запускаю js-файл с помощью плагина grunt-requirejs, но i18n не загружает язык после хрюкания. –

+0

У вас есть пример кода? Вы успешно восстанавливаете языковой настрой и повторно инициализируете плагин на несжатом коде? Это только после запуска сжатия через requirejs, что у вас возникают проблемы? – Lochlan

+0

Привет, Лохлан, мне сложно настроить конфигурацию проекта. вы можете отправить мне письмо по электронной почте @ [email protected], так как здесь трудно объяснить. С уважением –

Смежные вопросы