2012-05-04 2 views
0

Я создаю богатое веб-приложение с использованием HTML5/JQuery и Java EE, и мне нужно, чтобы это приложение отображалось как на английском, так и на французском. Я новичок в HTML5, поэтому не знаю, возможно ли это сделать, и если да, то как мне это сделать?Создание и использование ресурсов перевода в веб-приложении HTML5

У меня очень хорошие понятия в Flex, и с этой технологией это очень легко сделать: вам просто нужно хранить «словарь» в двух разных файлах. Например:

file english: 

title = Welcome to my app ! 

file French : 

title = Bienvenu dans mon appli ! 

, а затем вызвать {resourceManager.getString («файл», «название»)} каждый раз, когда вам нужен термин для перевода.

Есть ли аналогичный способ сделать это в HTML?

Заранее благодарим за ваш ответ.

ответ

0

Вы можете сделать что-то подобное с javascript. Есть много способов сделать это, я просто брошу так, как я это сделаю.

Я бы сохранил переводы в некоторых простых файлах javascript.

lang_english.js

var language = 
{ 
    "title" : "Welcome to my app" 
} 

lang_french.js

var language = 
{ 
    "title" : "Bienvenu dans mon appli !" 
} 

Вы можете загрузить один из этих файлов в HTML голове:

<script src="lang_english.js" type="text/javascript"></script> 

Тогда в вашем приложении вы можете создать объект resourceManager:

resourceManager = {} 
resourceManager.getString = function(str) 
{ 
    return language[str]; 
} 

и затем вызвать:

var title = resourceManager.getString('title') 

Edit:

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

var language = {}; 

$.get('lang_french.json', function(data) { 
    language = JSON.parse(data); 
}); 

Файл lang_french.json будет выглядеть следующим образом:

{ 
    "title" : "Bienvenu dans mon appli !" 
} 
+0

Большое спасибо за ваш ответ, но у меня все еще есть вопрос об этом решении. Если вам нужно указать правильный файл в голове HTML, я предполагаю, что это означает, что вам нужно дублировать ваши html-файлы, чтобы предоставить их на французском и один на английском? Можно ли динамически загружать нужный файл или нужный ресурс в зависимости от выбора языка пользователя? Еще раз спасибо. – Coralie

+0

ах, да, см. Мой обновленный ответ. Вы можете использовать ajax-вызов с jquery для получения некоторого 'json' динамически. – mihai

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