Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: мультиязычность - способ?

Сообщения:  [1-10]   [11-11] 

 
 автор: oppo   (19.10.2005 в 11:27)   письмо автору
 
   для: localGhost   (15.10.2005 в 01:43)
 

всем спасибо (elenaki идею реализовал) таки добил ...http://www.uusmets.ee/ помучался правда с ссесиями (пробелы нельзя оставлять и вывод допускать в header ) .
==cheops Да, должен, так как нет ограничений на границу слова==
:) ага $ надо

  if (ereg("(.+)\.php$", $file, $matches)) 



Надо бы придумать чтоб если по чебоксам проставить выбор всех языков то чтоб копировались данные парралельно для всех языков в MYSQL по insert или update (для легкости чтоб не делать ввод для каждого из языков) Но это больше для души чем кому то.

   
 
 автор: localGhost   (15.10.2005 в 01:43)   письмо автору
 
   для: cheops   (15.10.2005 в 00:49)
 

я у себя сделал так: при первой загрузке страницы в сессию заноситься ru или eng и т.д., если тексты больше и храняться в БД то да, ту нужно создавать отдельные столбца в таблице для каждого языка, а если есть на странице короткие фразы или слова (чтоб не писать страницу с оформлением для каждого языка по отдельности) я использовал ини файл
lang_ru.ini:

; main menu:
1001 = Главная
1002 = Каталог
1003 = Форум
1004 = Чат
1005 = Обратная связь

; buttons
2006 = Отправить сообщение
2007 = Удалить сообщение

; e.t.c. ...

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

   
 
 автор: cheops   (15.10.2005 в 00:49)   письмо автору
 
   для: oppo   (14.10.2005 в 20:59)
 

Да, должен, так как нет ограничений на границу слова.

   
 
 автор: oppo   (14.10.2005 в 20:59)   письмо автору
 
   для: cheops   (14.10.2005 в 14:42)
 

спасибо ..кое- что взял Сделал переключение пока ...

$menu_lang = "<select name='newlangsel' onChange=\"self.location=this.options[this.selectedIndex].value;\" class=\"op\">\n";
    $handle=opendir('languages');
    while ($file = readdir($handle)) 
    {
        if (ereg("(.+)\.php", $file, $matches)) 
        {
            $langFound = $matches[1];
            $languageslist .= "$langFound ";
        }
    }

Но с регулярными у мя слабенько почему если в папке languages появляется файл (в ходе исправлений языка)например не с расширением php -(russian.php) а russian.php.BAK
все равно он по ereg вытаскивается?

   
 
 автор: oppo   (14.10.2005 в 14:52)   письмо автору
 
   для: elenaki   (14.10.2005 в 11:32)
 

Спасибо за ответы..Сайт использует MYSQL базу. То что в коде связано со статикой я заменил на констр. типа
"._DELETE ."
и вынес в russian.php констр. типа
 DEFINE("_DELETE","Удалить");

Мне нравиться примеры elenaki этим http://softtime.ru/forum/read.php?id_forum=1&id_theme=302я как то попользовался...Как я понял это так
-------------------------------------------- ----------------------------------------------------
| CategoryID | CategoryName | | CategoryID | lang | CategoryName |
-------------------------------------------- ----------------------------------------------------
| 1 | For rent | ==========> | 1 | eng | For rent |
-------------------------------------------- --------------------------------------------------------
| 2 | For sale | ==========> | 1 | rus | Для продажи |
-------------------------------------------- --------------------------------------------------------
как в сессиях передать язык ?
..... еще нашел такую ссылку http://www.tonymarston.net/php-mysql/internationalisation.html

   
 
 автор: cheops   (14.10.2005 в 14:42)   письмо автору
 
   для: oppo   (14.10.2005 в 01:55)
 

Приведу несклько ссылок по теме
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=6844
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=5157
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=3578
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=3468
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=1012

   
 
 автор: Loki   (14.10.2005 в 12:45)   письмо автору
 
   для: elenaki   (14.10.2005 в 11:32)
 

Да, пожалуй так удобнее: столбцу хоть можно дать внятное название:)

   
 
 автор: elenaki   (14.10.2005 в 11:32)   письмо автору
 
   для: cernos   (14.10.2005 в 09:33)
 

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

   
 
 автор: cernos   (14.10.2005 в 09:33)   письмо автору
 
   для: Loki   (14.10.2005 в 09:16)
 

Мне кажется лучше хранить се слова в отдельных файлах rus.php engl.php
В этих файлах массивы со всеми встречающимися словами.

   
 
 автор: Loki   (14.10.2005 в 09:16)   письмо автору
 
   для: oppo   (14.10.2005 в 01:55)
 

Если информация хранится в БД, то можно завести по столбцу на каждый язык и выводить данные в зависимости от выбранных установок. Аналонично можно и с файлами: подключать файлы с соответствующими перфиксами. Но три папки - проще всего, так как нет гарантий что сайт для каждого языка будет абсолютно идентичен (у меня, например, за неделю до окончания работ заказчик решил что русская и английская версия будут различаться по структуре). Так что лучше от таких сюрпризов подстраховаться.

   

Сообщения:  [1-10]   [11-11] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования