На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: Serafim, fatalist
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
    > Многоязычие на сайте
      Необходимо написать сайт с поддержкой 2-ух языков. Сайт намечается большой, поэтому переписывать каждую страницу на другой язык - это изврат, тем более, что второй язык, похоже, будет китайским. Каким образом можно реализовать эту затею?

      Планировал чтение из файлов с выбранным языком.
      Я не знаю как это обычно делается :unsure: ...поэтому прошу помощи.
        Скорее всего, это вопрос по серверной части.

        Логика такова:
        Создаешь два файла (для каждого языка) с массивами, элементы которых соответсвуют отдельным словам или предложениям. Например:

        russian.php
        ExpandedWrap disabled
           
          <?
          $_WORDS = Array();
          $_WORDS["ERROR"] = "Ошибка";
          $_WORDS["HELLO"] = "Здравствуйте";
          ?>


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

          тебе все равно придеться их дублировать. всмысле текст на страницах.


          Дальще вопрос. какие скрипны тебе доступны ???

          Если только java script и html //// то тяжко хотя можно тот же мтод но придеться постараться.

          а вот на php или cgi
          то чтение можно организовать ....

          две странички для меню , полный дубляж.

          внутри нее станичку открытия станичек самого сайта ....

          А вот она читает в зависимости от того как сначала просили ....

          (всмысле при первом открытии она выдает только два языка на выбор , и выбранную в переменную запоминает )

          и при дальнейших открытиях брет или из файла одного языка или из другого.


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

            p.s. самый простой вариант через массивы(как было уже описано до меня)
              Спасибо всем откликнувшимся. Вывод такой: два файла с разным текстом. писать на php.
                M
                Тема перенесена из WWW Masters -> HTML, CSS, Flash, JavaScript ...
                  Цитата
                  rebel, 6.09.04, 18:27
                  Вывод такой: два файла с разным текстом. писать на php.

                  Решительно нет! Т.к. писал мультиязычный проэкт и сталкивался с геммороем. ИМХО - один файл, набор шаблонов, языковые файлы. Для каждого языка своя папка
                    Rom@nych,
                    ну зачем своя - достаточно одного файла - а шаблоны вабще от языка отделить
                      Цитата
                      SergeS, 7.09.04, 12:22
                      достаточно одного файла

                      ИМХО - нет. Идём по примитиву. Админу - свой языковый файл. Сайту - свой. А если система модульная, то уууууууу!! Модулю - по файлу!
                      Цитата
                      SergeS, 7.09.04, 12:22
                      шаблоны вабще от языка отделить

                      А кто их объединял??? {$L_LOGIN} и туда вставится Логин на необходиом языке...
                        гораздо легче всё ето загнать в один и там просто отделить пустой строкой - потом легче работать в скрипте - тк не надо проверять подгружен ли файл итд ИМО - вобщем ето удобнее когда все скрипты обращаются к одному файлу + когда каждая часть является модулем ИМП :)
                          SergeS, тема может превратится в бесконечный спор, но! При установке модуля он будет дописывать свои переменный в общие языковые файлы??? А при унисталле, будет их оттуда удалять? Корявее тяжело придумать;)) Да и каждый модуль должен сам заботиться о подключении языковых файлов.
                            Rom@nych,
                            да не сложно ето :)
                              SergeS, не буду спорить. Приведу пример.
                              Есть трёхязычный сайт.
                              Ставим модуль, у которого один язык (пока)
                              Вопрос №1: куда что добавлять инсталятору???
                              Вопрос №2: кто будет контролировать язык модуля?

                              Предложение:
                              Создать прикреплённую тему, в которой будем обсуждать создание модульных/многоязычный/шаблонных супер-сайтов;))
                                Rom@nych,
                                создавай в прочим :) - может прибью к верху :)
                                хотя думаю на ето дока найдётся
                                  Тоже столкнулся с проблемой многоязычности.
                                  Специально для этих целей сделал свой движок.

                                  Суть вот в чем.
                                  Есть язычно не зависимые шаблоны, и переменные в них на замену нужной фразой нужного языка.
                                  Все это дело хранится в БД и за этим присматривает сам движок. Т.е. телодвижения программера сведены к минимуму.

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

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

                                  Сам движок во время работы (генерации страницы пользователю) уже вытягивает готовый языковый шаблон.
                                  Т.е. программеру в процессе создания сайта нужно пользоваться методами этого самого движка.
                                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                  0 пользователей:


                                  Рейтинг@Mail.ru
                                  [ Script execution time: 0,0653 ]   [ 15 queries used ]   [ Generated: 28.04.24, 03:58 GMT ]