Нужна помощь в настройке локализации на основе JavaScript и JSON для веб-приложения - PullRequest
1 голос
/ 14 мая 2011

Я пытаюсь настроить веб-приложение, которое может использовать клиентский JavaScript для локализации (так как оно должно быть в состоянии работать в автономном режиме).Я настроил функцию и массив JSON в своем JavaScript так:

var l10n = {
    "getMessage": function(msg) {
        return locales.en.msg;
    }
}

и

var locales = {
    "en": {
        "applicationName": "This is the application name!",
        "msg": "Looks like we've gotta problem."
    }
}

Но если, например, я введу команду l10n.getMessage("applicationName"),Скрипт всегда возвращает строку «msg» («Похоже, у нас проблема.», которую я поставил для отладки).

Проблема, очевидно, связана с моей функцией l10n.getMessage().Насколько я знаю, это могло бы быть действительно простым решением, но с моими базовыми знаниями JavaScript я не могу понять, как это исправить.Как мне лучше всего исправить это, чтобы оно возвращало сообщение для нужной строки?

Заранее спасибо за помощь!

1 Ответ

2 голосов
/ 14 мая 2011

Да, на самом деле это простое исправление синтаксиса. Используйте скобочные обозначения для извлечения свойства из объекта с помощью переменной:

var l10n = {
    "getMessage": function(msg) {
        return locales.en[msg];
    }
};

Демо: http://jsfiddle.net/wC4PN/

...