Премини към съдържанието
Г. Цветанов

[PHP] Mногоезичност

    Препоръчан отговор


    Здравейте за много езичност преди време гледах този скрипт:

    index.php

    <?php
    
    require_once 'language.php';
    
    ?>
    
    <html>
    
    <head>
    
    <title><?= $text['title'] ?></title>
    
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    
    </head>
    
    <body>
    
    <p><?= $text['quiz'] ?></p>
    
    <p><?= $text['answer'] ?></p>
    
    <p><?= switch_language_options(); ?></p>
    
    </body>
    
    </html>
    language.php
    <?php
    
    $languages = array('bg' => 'Bulgarian',
    
    'en' => 'English');
    
    
    if (isset($_GET['lang'])) {
    
    $lang = $_GET['lang'];
    
    
    setcookie('lang', $lang, time()+(3600*24*365));
    
    }
    
    elseif (isset($_COOKIE['lang'])) {
    
    $lang = $_COOKIE['lang'];
    
    } else {
    
    $lang = 'bg';
    
    }
    
    if (!(in_array($lang, array_keys($languages)))) {
    
    die("Грешка: няма езиков файл!");
    
    }
    
    require_once "{$lang}.php";
    
    function switch_language_options() {
    
    global $text, $languages, $lang;
    
    $retval = $text['switch'];
    
    $get = $_GET;
    
    foreach ($languages as $abbrv => $name) {
    
    if ($abbrv !== $lang) {
    
    $get['lang'] = $abbrv;
    
    $url = $_SERVER['PHP_SELF'] . '?' .
    
    http_build_query($get);
    
    $retval .= " <a href=\"{$url}\">
    
    {$name}</a>";
    
    }
    
    }
    
    return $retval;
    
    }
    
    ?>
    bg.php
    <?php
    
    /*----- всички текстове в сайта на български език -----*/
    
    $GLOBALS['text'] = array (
    
    'title' => 'Начало!',
    
    'quiz' => 'К\'фо правиш?',
    
    'answer' => 'Нищо.'
    
    );
    
    
    /*----- всички снимки в сайта на български език -----*/
    
    $GLOBALS['imgsrc'] = array (
    
    'image1' => 'graphics/title-bg.jpg',
    
    'footer' => 'graphics/footer-bg.jpg'
    
    );
    
    ?>
    en.php
    <?php
    
    /*----- всички текстове в сайта на английски език -----*/
    
    $GLOBALS['text'] = array (
    
    'title' => 'Home!',
    
    'quiz' => 'What are u doing?',
    
    'answer' => 'Nothing.'
    
    );
    
    
    /*----- всички снимки в сайта на английски език -----*/
    
    $GLOBALS['imgsrc'] = array (
    
    'image1' => 'graphics/title-en.jpg',
    
    'footer' => 'graphics/footer-en.jpg'
    
    );
    
    ?>

    Обаче не искам да е в този му вид, а за всеки файл да си има отделен превод. Примерно всеки език си има дадена папка, bg за български, en за английски и т.н.. И примерно когато избера английски да ми е езика по подразбиране пак да се записва в бисквитка, но при посещение на mysite.com/index.php да тегли превода от mysite.com/en/index.php, a примерно ако съм в mysite.com/account.php да си взима превода от mysite.com/en/account.php ...

    Поздрави!

    Сподели този отговор


    Линк към този отговор
    Сподели в други сайтове

    Регистрирайте се или влезете в профила си за да коментирате

    Трябва да имате регистрация за да може да коментирате това

    Регистрирайте се

    Създайте нова регистрация в нашия форум. Лесно е!

    Нова регистрация

    Вход

    Имате регистрация? Влезте от тук.

    Вход


    ×

    Информация

    Този сайт използва бисквитки (cookies), за най-доброто потребителско изживяване. С използването му, вие приемате нашите Условия за ползване.