| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > Как реализовать мультиязычность движка? |
| Автор: Wowa 3.4.2002, 00:05 |
| 1. сабж. Мне видится только такой способ: просматривать вручную все скрипты, ставить вместо выводимых фраз, что-то типа: $text{'1'}, $text{'2'} и т.п. А потом в одном файле перечислить эти все переменные и присвоить им значение. Может есть способы и получше? Кто как делает такие вещи? 2. Или удобнее сразу по мере писания скрипта не вставлять текст, а сразу переменную, и в файле её прописывать. Так? В общем, жду всяких советов и жаркого обсуждения этой темы. |
| Автор: Cepera 4.4.2002, 07:40 |
| я строю хтмл (пхп вернее) , котрый генерится скриптом... и да, использую первый метод... утомительный, не спорю, но лучше пути пока не нашел |
| Автор: Pumba 18.4.2002, 14:11 |
| я делаю так: везде где нужно выводить чтото что может измениться - вывожу через переменные ну определяюю глобальный хэш, в него в зависимотти от надобности подгружаю значения просто и со вкусом. ================================== Pumba www.mpscope.net |
| Автор: Сергей 17.7.2002, 10:24 |
| Загони все иностранные слова в БД в соответствубщую таблицу и в зависимости от текущего языка будеш читать слова из нужной колонки |
| Автор: Cepera 17.7.2002, 13:41 |
| нее, через бд слишком не практично |
| Автор: KeepeR 27.8.2005, 12:00 |
| БД как раз таки практично .. токо если в самой программе не требуется использовать базу данных ... то языковая база делается на основе access....a далее ИД записи, и на каком хчешь названия ... только вот значения все равно надо присваивать ... все равно дельфи не дает сделать Application.components[i].caption потому как не все компоннты имеют заглавие. с базой проще в том духе что ты смотришь название компонента и ИД языка, не надо постоянно одно и тоже писать или одуренные обработчики выясняя какой же стоит язык ... а при смене языка можно и в реесте запись текущего языка сделать .... |
| Автор: korob2001 27.8.2005, 12:50 |
| Короткие надписи, типа Label, возле текстовых полей и т.п. , не имеет смысла хранить в БД. Лично я бы создал несколько DBM файлов и подгружал бы один из них, в зависимости от условия, из которого и устанавливались бы необходимые значения. Что бы не засорять программу лишними условиями, можно написать модуль или класс, который и будет возвращать ссылку на необходимый хеш. |
| Автор: Kyborg 28.8.2005, 17:39 |
| Использую базу данных |
| Автор: Мишган 4.9.2005, 04:10 |
| Помойму так самое простое в данном случае, это использование XML. Делал недавно проект, там было на выбор 4 языка + в дальнейшем еще дополнительные языки. Имхо Перевод XML файлы, да впринципе как и его обработка, процесс не сложный. |
| Автор: Vaneska 12.9.2005, 12:25 |
| Если проект большой, наверняка с менеджером сайта, базой данных и написан с использованием шаблонов. Варианты: 1. Использовать отдельные шаблоны сайта под каждый язык. Наподобие тем phpbb. 2. Сделать наборы картинок и слов(текстов, названий...) для каждого языка, в скрипте только указывать путь к ним. В шаблонах же для каждого слова ставить метку. Все данные в базе данных дублировать на разных языках. На мой взгляд самое простое и удобное делать шаблон сайта на каждый язык. Тогда программист занимается своим делом, дизайнер своим, а переводчик своим. |