[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как сделать два языка на сайте?
Grep
Всем привет.

Интересует такой вопрос. Как можно создать два языка на сайте и как это все работает при добавление новости?

На многих сайтах вижу такие кнопки "RU" , "ENG" или флажки и при нажатии на нужный язык страница переходит sitename.ru/eng - и страница полностью переведена.

Zzepish
Grep
Отдельно две папки под языки!
Либо в массивы сохранять переводы.
А на тему новостей: делаешь поле для метки rus\eng и выбираешь в зависимости от языка
alexbel2404
http://habrahabr.ru/post/195468/
sergeiss
Цитата (alexbel2404 @ 28.01.2014 - 03:32)
http://habrahabr.ru/post/195468/

Хрень какая-то по ссылке...

Из каментов больше всего этот понравился:
Цитата
Итого, получается, ниша — маленькие проекты, которые уже есть, работают, и написаны черт те как и черт те на чем.


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

В коде пишешь в нужном месте (для вставки к HTML)
<?= $langString['hello'] ?>

Или просто используешь $langString['hello'] в любом месте ПХП кода.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
vagrand
Grep
Если говорить именно о новостях, то я бы сделал примерно так. Две таблицы:
1. news: id, date, author_id .... - все языконезависимые данные
2. news_lang: news_id, lang (ru, en, ...), title, text ... - все зависимые от языка дынные
Соответственно в зависимости от текущего выбранного языка делаем inner join между таблицами с передачей в запрос его кода.

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
Grep
http://www.youtube.com/watch?v=hkxGL0Qg_-s - вот сделал пример.
Мне нужно,чтобы не только новости можно было переключить на другой язык,но и все остальное. Вообщем,я так понял, нужно дублировать шаблон и просто сделать кнопку для переключения,но как тогда добавлять новости? Не может же быть такое,что нужно создавать и отдельно панель администратора и т.д.... ?
sergeiss
Цитата (Grep @ 28.01.2014 - 09:59)
Вообщем,я так понял, нужно дублировать шаблон...

Зачем что-то дублировать? Шаблон (я имею ввиду шаблон HTML) - он один. А вот данными ты его заполняешь разными, в зависимости от текущего языка.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
vagrand
Grep
Цитата
но как тогда добавлять новости? Не может же быть такое,что нужно создавать и отдельно панель администратора и т.д.... ?


Я же написал как.

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
killer8080
Цитата (Grep @ 28.01.2014 - 07:59)
Мне нужно,чтобы не только новости можно было переключить на другой язык,но и все остальное. Вообщем,я так понял, нужно дублировать шаблон и просто сделать кнопку для переключения,
alexbel2404
Цитата (sergeiss @ 28.01.2014 - 09:16)
Цитата (alexbel2404 @ 28.01.2014 - 03:32)
http://habrahabr.ru/post/195468/

Хрень какая-то по ссылке...

Из каментов больше всего этот понравился:
Цитата
Итого, получается, ниша — маленькие проекты, которые уже есть, работают, и написаны черт те как и черт те на чем.


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

В коде пишешь в нужном месте (для вставки к HTML)
<?= $langString['hello'] ?>

Или просто используешь $langString['hello'] в любом месте ПХП кода.

я лишь предложил альтернативу)
Grep
А ссылки на мануалы есть у кого-то? wink.gif
bestxp
мультиязычный сайт это не только переводы обычных фраз, но спецефическая архитектура приложения и бд
Grep
Цитата (bestxp @ 1.02.2014 - 13:00)
мультиязычный сайт это не только переводы обычных фраз, но спецефическая архитектура приложения и бд

Поэтому и прошу ссылку на урок. Что бы быстрее разобраться в этом.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.