Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Мультиязычность, модульность.. Покритикуйте и подскажите пожалуйста :) 
:(
    Опции темы
QaaZ
Дата 10.1.2009, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 21.11.2007

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



Всем привет, сначало небольшое введение)) 
С утра отрубили инет и планов как на зло никаких не было.
Решил я покодить чего-нибудь, ну вроде что-то получилось, хорошо или плохо, вот хотелось бы чтобы вы оценили. smile


index.php
Код

# Определяем константы
define("GUARD", "1");


# Подгружаем конфиги\ядро\библиотеки
include_once('conf/config.php');
include_once('core.php');
include_once('route.php');


# Подключаем шаблон
include_once('template/default/index.php');



route.php
Код

<?php
# защищаем от несанкционированного запроса о_О
if (!defined('GUARD')) die ("Доступ закрыт.");

# Определяем язык
if (isset($_GET['lang']))
    {
        if (($_GET['lang'] == 'en')) 
                {
                    $conf['site']['language'] = "english";
                    include_once("conf/lang/english.php");
                }
        if (($_GET['lang'] == 'ru')) 
                {
                    $conf['site']['language'] = "russian";
                    include_once("conf/lang/russian.php");
                }
        }
    else { include_once("conf/lang/".$conf['site']['language'].".php"); }    


# Подсовываем нужные модули
if (isset($_GET['mod']) && $_GET['mod'] != "")
    {
        if (@!fopen("modules/".$_GET['mod']."/".$_GET['mod']."_index.php", r))
            {
            header('Location: '.$conf['site']['path'].'/page404.php');
            }
        else 
            {
            $mod = $_GET['mod'];
            include_once('modules/'.$mod.'/'.$mod.'_index.php');
            $j3o['$mod']['content'] = 'modules/'.$mod.'/'.$mod.'_echo.php';
            $module[modul][menu] = 'modules/menu/index.php';
                
            }
    } else {

        {
        include_once('modules/'.$conf['site']['home'].'/'.$conf['site']['home'].'_index.php');
        $mod = $conf['site']['home'];
        $j3o['$mod']['content'] = 'modules/'.$mod.'/'.$mod.'_echo.php';
        $module[modul][menu] = 'modules/menu/index.php';
        }
           }    

?>



Вот smile Это нигде не используется, ни на каком рабочем проекте, да  и написал за сегодня, пока инета не было...Баловался. 
Покритикуйте пожалуйста и по возможности помогите с решением проблемы:

1) Как лучше всего реализовать мультиязычность?
2) Как генерировать меню, с учётом мультиязычности? Т.е. если пользовотель выбрал русский($_GET['lang'] == ru), то у него всегда был русский. Пока были мысли только записывать в куки. Есть другой какой-нибудь вариант?
PM MAIL   Вверх
awers
Дата 10.1.2009, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1465
Регистрация: 22.3.2006
Где: Россия, Таганрог

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



2) сессии, куки. думаю остальные варианты не очень.
PM MAIL WWW ICQ Skype   Вверх
QaaZ
Дата 10.1.2009, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 21.11.2007

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



awers, Спасибо. smile
PM MAIL   Вверх
Majesty
Дата 13.1.2009, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 20.3.2005
Где: Almaty, Kazakhsta n

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



Цитата(awers @  10.1.2009,  19:34 Найти цитируемый пост)
2) сессии, куки. думаю остальные варианты не очень.
лучше, все же, сквозной $_GET['lang'], потому как сессию или куку придётся ставить пожизненную, да и с ходу не поймёшь, на какую языковую версию сайта попадёшь сразу. тут вопрос в том, какой это сайт. если веб-сервис, то сессия/кука предпочтительнее (один раз переключил язык и радуешься), а если корпоративный сайт, то разные языковые версии могут сильно друг от друга отличаться и тут уже нужно как-то язык идентифицировать в урле.

PM MAIL WWW   Вверх
QaaZ
Дата 13.1.2009, 15:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 64
Регистрация: 21.11.2007

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



Majesty,  Спасибо, сделал с помощью  $_GET['lang'] ;

Фактически система локализации готова, теперь думаю над тем, как сделать _мультиязычный_ контент и вообще стоит ли или нет.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

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


 




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


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

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