Перевод на разные языки
22.04.2013, 13:27. Показов 1451. Ответов 4
Граждане программисты! У многих из вас наверняка есть опыт перевода сайта на разные языки. Подскажите, какой путь самый лучший:
1. Взять такую престремниющую конструкцию типа
PHP | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| $sett = array('RU' => array('month' => array('Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'),
'interface' => array('year' => 'Год...', 'settings' => 'Настройки', 'yournick' => 'Ваш ник', 'yourmail' => 'Ваше E-Mail', 'yourfname' => 'Ваше имя', 'yoursname' => 'Ваша фамилия', 'your dob' => 'Ваша дата рождения', 'up' => 'Наверх')
)
'EN' => array('month' => array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
'interface' => array('year' => 'Year...', 'settings' => 'Settings', 'yournick' = > 'Your nick', 'yourmail' => '', 'yourfname' => '', 'yoursname' => '', 'your dob' => 'Votre date de naissance', 'up' => 'Lift up')
)
'FR' => array('month' => array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'),
'interface' => array('year' => 'Année...', 'settings' => 'Configuration', 'yournick' = > 'Votre pseudo', 'yourmail' => 'Votre E-Mail', 'yourfname' => 'Votre nom', 'yoursname' => 'Votre Prénom', 'your dob' => 'Votre date de naissance', 'up' => 'Lever')
)
'IT' => array('month' => array('Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'),
'interface' => array('year' => 'Anno...', 'settings' => 'Impostazioni', 'yournick' = > 'il Tuo nick', 'yournick' => 'il Tuo nick', 'yourmail' => 'la Tua email', 'yourfname' => 'il Tuo nome', 'yoursname' => 'il Tuo nome', 'your dob' => 'La data di nascita', 'up' => 'Alzare')
)
'GE' => array('month' => array('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'),
'interface' => array('year' => 'Jahr...', 'settings' => 'Einstellungen', 'yournick' => 'Ihr Spitzname', 'yourmail' => '', 'yourfname' => '', 'yoursname' => '', 'your dob' => 'Votre date de naissance', 'up' => 'emporheben')
)
'UA' => array('month' => array('Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень', 'Лип', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень'),
'interface' => array('year' => 'Рік...', 'settings' => 'Налаштування', 'yournick' => 'Ваш нік', 'yourmail' => '', 'yourfname' => '', 'yoursname' => '', 'your dob' => 'Votre date de naissance', 'up' => 'Підняти')
)
); |
|
Достатки:
1. Ну довольно просто сделать.
2. Просто использовать. Выводить везде код типа: PHP | 1
| echo $sett[RU][interface][yourmail]; |
|
Недостатки:
1. Громоздко(ну это кому как)
2. Надо сказать, я не знаю конкретно, как происходит выделение памяти под переменные/массивы, но даже не искушенному в кодинге человеку станет понятно, что с памятью такой вариант не подружится.
2. Можно сделать на сайте несколько поддоменов для языков, например:
http://ru.example.ru/
или же создав директорию для каждого языка:
http://example.ru/ru-RU/
Достатки:
1.Особо ковыряться с массивами перевода (тот самый
Кликните здесь для просмотра всего текста
PHP | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| $sett = array('RU' => array('month' => array('Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'),
'interface' => array('year' => 'Год...', 'settings' => 'Настройки', 'yournick' => 'Ваш ник', 'yourmail' => 'Ваше E-Mail', 'yourfname' => 'Ваше имя', 'yoursname' => 'Ваша фамилия', 'your dob' => 'Ваша дата рождения', 'up' => 'Наверх')
)
'EN' => array('month' => array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'),
'interface' => array('year' => 'Year...', 'settings' => 'Settings', 'yournick' = > 'Your nick', 'yourmail' => '', 'yourfname' => '', 'yoursname' => '', 'your dob' => 'Votre date de naissance', 'up' => 'Lift up')
)
'FR' => array('month' => array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre'),
'interface' => array('year' => 'Année...', 'settings' => 'Configuration', 'yournick' = > 'Votre pseudo', 'yourmail' => 'Votre E-Mail', 'yourfname' => 'Votre nom', 'yoursname' => 'Votre Prénom', 'your dob' => 'Votre date de naissance', 'up' => 'Lever')
)
'IT' => array('month' => array('Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'),
'interface' => array('year' => 'Anno...', 'settings' => 'Impostazioni', 'yournick' = > 'il Tuo nick', 'yournick' => 'il Tuo nick', 'yourmail' => 'la Tua email', 'yourfname' => 'il Tuo nome', 'yoursname' => 'il Tuo nome', 'your dob' => 'La data di nascita', 'up' => 'Alzare')
)
'GE' => array('month' => array('Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'),
'interface' => array('year' => 'Jahr...', 'settings' => 'Einstellungen', 'yournick' => 'Ihr Spitzname', 'yourmail' => '', 'yourfname' => '', 'yoursname' => '', 'your dob' => 'Votre date de naissance', 'up' => 'emporheben')
)
'UA' => array('month' => array('Січень', 'Лютий', 'Березень', 'Квітень', 'Травень', 'Червень', 'Лип', 'Серпень', 'Вересень', 'Жовтень', 'Листопад', 'Грудень'),
'interface' => array('year' => 'Рік...', 'settings' => 'Налаштування', 'yournick' => 'Ваш нік', 'yourmail' => '', 'yourfname' => '', 'yoursname' => '', 'your dob' => 'Votre date de naissance', 'up' => 'Підняти')
)
); |
|
)
2. Легко править перевод
Недостатки:
1. Придется делать копию скрипта.
2. Можно и перепутать директории, например, в англо запихать русскую и т.д.
Вот и посоветуйте, как мне поступить.
0
|