Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как реализовать мультиязычность движка? достаточно большой проект. 
:(
    Опции темы
Wowa
  Дата 3.4.2002, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
Group Icon


Профиль
Группа: Админ
Сообщений: 15017
Регистрация: 14.9.2000
Где: Винград

Репутация: нет
Всего: 290



1. сабж.

Мне видится только такой способ:
просматривать вручную все скрипты, ставить вместо выводимых фраз, что-то типа: $text{'1'}, $text{'2'} и т.п.

А потом в одном файле перечислить эти все переменные и присвоить им значение.

Может есть способы и получше? Кто как делает такие вещи?


2. Или удобнее сразу по мере писания скрипта не вставлять текст, а сразу переменную, и в файле её прописывать. Так?

В общем, жду всяких советов и жаркого обсуждения этой темы.
PM WWW   Вверх
Cepera
Дата 4.4.2002, 07:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHPexp
****


Профиль
Группа: Экс. модератор
Сообщений: 2146
Регистрация: 25.3.2002
Где: Russia, Samara

Репутация: нет
Всего: 7



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


--------------------
I know it is heavy for reading, but I know you will read it anyway...
PM MAIL WWW ICQ   Вверх
Pumba
Дата 18.4.2002, 14:11 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











я делаю так: везде где нужно выводить чтото что может измениться - вывожу через переменные

ну определяюю глобальный хэш, в него в зависимотти от надобности подгружаю значения


просто и со вкусом.


==================================
Pumba                            www.mpscope.net
  Вверх
Сергей
Дата 17.7.2002, 10:24 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Загони все иностранные слова в БД в соответствубщую таблицу и в зависимости от текущего языка будеш читать слова из нужной колонки
  Вверх
Cepera
Дата 17.7.2002, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PHPexp
****


Профиль
Группа: Экс. модератор
Сообщений: 2146
Регистрация: 25.3.2002
Где: Russia, Samara

Репутация: нет
Всего: 7



нее, через бд слишком не практично


--------------------
I know it is heavy for reading, but I know you will read it anyway...
PM MAIL WWW ICQ   Вверх
KeepeR
Дата 27.8.2005, 12:00 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











БД как раз таки практично .. токо если в самой программе не требуется использовать базу данных ... то языковая база делается на основе access....a далее ИД записи, и на каком хчешь названия ...

только вот значения все равно надо присваивать ... все равно дельфи не дает сделать Application.components[i].caption потому как не все компоннты имеют заглавие.

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

а при смене языка можно и в реесте запись текущего языка сделать ....
  Вверх
korob2001
Дата 27.8.2005, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Короткие надписи, типа Label, возле текстовых полей и т.п. , не имеет смысла хранить в БД. Лично я бы создал несколько DBM файлов и подгружал бы один из них, в зависимости от условия, из которого и устанавливались бы необходимые значения. Что бы не засорять программу лишними условиями, можно написать модуль или класс, который и будет возвращать ссылку на необходимый хеш.

Это сообщение отредактировал(а) korob2001 - 27.8.2005, 12:50


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
Kyborg
Дата 28.8.2005, 17:39 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Использую базу данных
  Вверх
Мишган
Дата 4.9.2005, 04:10 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Помойму так самое простое в данном случае, это использование XML.
Делал недавно проект, там было на выбор 4 языка + в дальнейшем еще дополнительные языки. Имхо Перевод XML файлы, да впринципе как и его обработка, процесс не сложный.
  Вверх
Vaneska
Дата 12.9.2005, 12:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 15.3.2005
Где: Москва

Репутация: 3
Всего: 4



Если проект большой, наверняка с менеджером сайта, базой данных и написан с использованием шаблонов.
Варианты:
1. Использовать отдельные шаблоны сайта под каждый язык. Наподобие тем phpbb.
2. Сделать наборы картинок и слов(текстов, названий...) для каждого языка, в скрипте только указывать путь к ним. В шаблонах же для каждого слова ставить метку.

Все данные в базе данных дублировать на разных языках.

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



--------------------
http://isokolov.blogspot.com/
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0482 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.