Page 1 of 1

По каким причинам LNG_URL_PREFIX всегда пустой

Posted: Wed Apr 01, 2020 6:33 pm
by S_Flash
(c) SmartCJ Pro V 2.1 Your Build 202004011802
<!--LNG_CODE--> и <!--LNG_URL_PREFIX--> всегда пустые.

<!--INCLUDE_TEMPLATE_languages--> срабатывает от ?force_lng=..

Страница переводится, но <!--LNG_URL_PREFIX--> всегда пуст и при переходе на другую страницу всегда теряется язык сайта.
Может я где-то настройку какуюто упустил или ещё чтото?

Вот сокращённая версия темплейта languages:

Code: Select all

<?php 
$my_keywords['en'] = array(
  'lang' => 'English',
  'home' => 'Home',
  'thx' => 'Thank you',
  'comment_adm' => 'Your comment will be reviewed by admin',
);

$my_keywords['de'] = array(
  'lang' => 'Deutsch',
  'home' => 'Zuhause',
  'thx' => 'Dankeschön',
  'comment_adm' => 'Ihr Kommentar wird vom Administrator überprüft',
);

$my_keywords['it'] = array(
  'lang' => 'Italiano',
  'home' => 'Casa',
  'thx' => 'Grazie',
  'comment_adm' => 'Il tuo commento sarà esaminato dall amministratore',
);

if (strstr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'de')) {
  $lang = $my_keywords['ru'];
} elseif (strstr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 'it')) {
  $lang = $my_keywords['it'];
} else $lang = $my_keywords['en'];

if ($_GET['force_lng'] and isset($my_keywords[$_GET['force_lng']])) {
  setcookie('force_lng', $_GET['force_lng'], time() + 86400);
  $lang = $my_keywords[$_GET['force_lng']];
} elseif ($_COOKIE['force_lng'] and isset($my_keywords[$_COOKIE['force_lng']])){
  $lang = $my_keywords[$_COOKIE['force_lng']];
}

Re: По каким причинам LNG_URL_PREFIX всегда пустой

Posted: Wed Apr 01, 2020 7:32 pm
by admin
на каком конкретно урле , без реврайта, нет префикса?

Re: По каким причинам LNG_URL_PREFIX всегда пустой

Posted: Wed Apr 01, 2020 7:45 pm
by S_Flash
Вот пример:
https://www.gameoteca.com/de/

Реврайты стандартные (перевод работает, думаю реврайт срабатывает):

Code: Select all

RewriteEngine On

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]{2})/(.*)$ $2?force_lng=$1&%{QUERY_STRING} [L]
темплейт из game2.sql , но вот его кусок из шапки index, где в меню есть <!--LNG_URL_PREFIX-->:

Code: Select all


....

    <body>

        <div class="header">

            <div class="content">

                <div class="logo"><a href="/"><i class="la la-gamepad"></i> Game<span>oteca</span></a></div>

                <div class="menu-button"><i class="la la-bars"></i></div>

                <div class="menu">

                    <ul>
                        <li><a href="<!--LNG_URL_PREFIX-->/category/All/date/1/"><i class="la la-calendar-plus"></i> <?=$lang['last_added']?></a></li>
                        <li><a href="<!--LNG_URL_PREFIX-->/category/All/rating/1/"><i class="la la-thumbs-up"></i> <?=$lang['toprated']?></a></li>
                        <li><a href="<!--LNG_URL_PREFIX-->/category/All/ctr/1/"><i class="la la-fire"></i> <?=$lang['most_popular']?></a></li>
                        <li><a href="<!--LNG_URL_PREFIX-->/"><i class="la la-tags"></i> <?=$lang['categories']?></a></li>
                    </ul>
                    
                    ....

Re: По каким причинам LNG_URL_PREFIX всегда пустой

Posted: Thu Apr 02, 2020 6:45 am
by admin
я понял, добавлен только перевод меню сайта, а самих языков в админке нет
добавьте языки в админке будет ок, а я закину в дамп с примером