Jump to content
  • 0

Локализация CMS


vvsh
 Share

Question

9 answers to this question

Recommended Posts

  • 0

Можно хранить языки локализация в отдельной папке lang. А сами локализации допустим ru.lgn или другие расширения. Внутри все файлы одинаковы: все те же элементы массива. Только их значения разные. Например.

$lang['cred_link']	= 'Ссылка';
$lang['cred_site'] = 'Сайт';
$lang['cred_forum'] = 'Форум';
$lang['cred_credit'] = 'Авторы';
$lang['cred_creat'] = 'Директор';
$lang['cred_prog'] = 'Програмист';
$lang['cred_master'] = 'Ведущий';
$lang['cred_design'] = 'Дизайнер';
$lang['cred_web'] = 'Вебмастер';
$lang['cred_thx'] = 'Благодарности';

Несколько моих знакомых так и делают.

Link to comment
Share on other sites

  • 0
так я уже делал. спасибо. есть еще варианты?

А чем не нравится вариант с массивом? Все остальные варианты скажутся на быстродействии, да и в плане редактирования не факт что удобней.

Link to comment
Share on other sites

  • 0
не знаю. хотелось чего-то нового...

хml, ini - скорость парсера.

mysql или прочая бд - ну .. тормоза в конфиге ...

а массив, оно инклудится и юзается как есть ...

Есть ещё варианты ?

Link to comment
Share on other sites

  • 0

XML, как по мне, самое удачное решение.

<elements>
<ru:cred_link>Ссылка</ru:cred_link>
<en:cred_link>Link</en:cred_link>
</elements>

А потом по неймспейсам найти нужный элемент не будет представлять сложности.

Edited by s0rr0w
Link to comment
Share on other sites

  • 0

Как вариант можно использовать ini-файлы:

[general]
var=value
array[]=value
array[]=value

[module]
var=value
array[]=value
array[]=value

При таком подходе можно загружать не весь файл а отдельные его секции.

Можно поступить как в Joomla - там все разложено по отдельным файлам, каждый файл отвечает за локализацию конкретного модуля:

en-GB.com_banners.ini:

BNR_CLIENT_NAME=You must select a name for the Client.
BNR_CONTACT=You must select a Contact for the Client.
BNR_VALID_EMAIL=You must select a valid e-mail for the Client.
BNR_CLIENT=You must select a Client,
BNR_NAME=You must select a name for the Banner.
BNR_IMAGE=You must select an image for the Banner.
BNR_URL=You must select a URL/Custom Banner code for the Banner.

en-GB.mod_poll.ini:

DESCPOLL=This Module complements the Polls Component. It is used to display the configured Polls. You can select a specific Poll to display in the Poll Module.
MOD_POLL=[i]mod_poll[/i]
POLL=Poll
VOTE=Vote
PARAMMODULEPOLL=The Poll to display
SELECT POLL=Select Poll

XML, как по мне, самое удачное решение.

<elements>
<ru:cred_link>Ссылка</ru:cred_link>
<en:cred_link>Link</en:cred_link>
</elements>

А потом по неймспейсам найти нужный элемент не будет представлять сложности.

А при таком подходе не снизится ли быстродействие скрипта из-за необходимости парсить xml документ?

Да и интересно, нормально ли php работает с xml документами в плане быстродействия(никогда ранее не сталкивался с данным вопросом)?

Поделитесь плиз если у кого есть опыт работы с xml в php

Link to comment
Share on other sites

  • 0
А при таком подходе не снизится ли быстродействие скрипта из-за необходимости парсить xml документ?

Да и интересно, нормально ли php работает с xml документами в плане быстродействия(никогда ранее не сталкивался с данным вопросом)?

Поделитесь плиз если у кого есть опыт работы с xml в php

Крохоборством занимаетесь? Ну снизится скорость на доли секунды, и что? Вы не за тем гоняетесь. Нужно делать мощный механизм по поддержке вашего кода, чтобы любой смог быстро создавать свои собственные файлы, легко их править при помощи простых и понятных инструментов.

А если вы боретесь за скорость исполнения, то кеширование спасет отца русской демократии, например, тот же APC.

Скорость работы XML в PHP достаточная для того, чтобы незаморачиваться.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy