Какие есть альтернативы MySQL + PHP для HTML / javascript i18n? - PullRequest
0 голосов
/ 22 февраля 2011

Я смотрю на поддержку нескольких языков для приложения HTML5, которое не зависит ни от PHP, ни от MYSQL.Каковы лучшие существующие фреймворки?У кого-нибудь есть опыт работы с sed?

Ответы [ 3 ]

2 голосов
/ 22 февраля 2011

Самый простой способ поддержки нескольких языков без php и mysql - просто создать новую страницу для каждого языка. Если все ваши настройки javascript выполнены во внешних файлах (как это должно быть сделано в обычном режиме), то этот метод может быть очень полезен

1 голос
/ 22 февраля 2011

Вы должны подготовить локализованный текст в ваших файлах JavaScript, затем вы можете сделать это на стороне клиента (ns.localize может быть реализовано лучше):

<!DOCTYPE html>
<html>
    <head>
        <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js'></script>
        <script src='https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/jquery-ui.min.js'></script>
        <script>
            window.ns = window.ns || { };

            /* Begin file i18n.js */
            ns.language = 'en';
            ns.i18n = { };
            ns.localize = function () {
                jQuery.each(ns.i18n[ns.language], function (key, value) {
                    $('.' + key).text(ns.i18n[ns.language][key]);
                });
            };
            /* End file i18n.js */

            /* Begin file i18n.en.js */
            ns.i18n['en'] = { };
            ns.i18n['en']['title'] = 'Welcome';
            ns.i18n['en']['body'] = 'It works!';
            ns.i18n['en']['choice'] = 'Choose your language:';
            /* End file i18n.en.js */

            /* Begin file i18n.it.js */
            ns.i18n['it'] = { };
            ns.i18n['it']['title'] = 'Benvenuto';
            ns.i18n['it']['body'] = 'Funziona!';
            ns.i18n['it']['choice'] = 'Scegli la tua lingua:';
            /* End file i18n.it.js */

            $(document).ready(function () {
                ns.localize();
                $('.language').change(function () {
                    var language =$(this).val(); 
                    ns.language = language;
                    ns.localize();
                });
            });
        </script>
        <link href='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/themes/base/jquery-ui.css' rel='stylesheet' />
        <title class='title'>i18n</title>
    </head>
    <body>
        <h1 class='title'>i18n</h1>
        <p class='body'>Test.</p>
        <p>
            <span class='choice'>Something:</span>
            <select class='language'>
                <option value='en'>English</option>
                <option value='it'>Italian</option>
            </select>
        </p>
    </body>
</html>
0 голосов
/ 22 февраля 2011

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

Zend_Translate может быть полезен, еслиВы хотите перейти на PHP.

Вам не нужно использовать MySQL, вы можете использовать массивы, файлы CVS и целый ряд других методов. (

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...