![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: нет Всего: 4 |
Собственно, интересует описание вариантов организации мультиязычности на сайте (т.е. системные сообщения будут выводиться на выбранноя языке).
На данный момент в голове крутиться всего лишь один разумный вариант: инклюдим файл, например /languages/$language.php с подобным содержанием:
И далее просто используем в коде константы. Но что-то мне подсказывает, что есть более разумные варианты организации мультиязычности ![]() ![]() |
|||
|
||||
gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: нет Всего: 91 |
Имхо, тоже самое, но только array()'ем надо делать.
|
|||
|
||||
CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: нет Всего: 4 |
Этот вариант не рассматриваю, ибо получиться тормознутее даже чем у меня в первом посте
![]() Добавлено через 1 минуту и 43 секунды Да и смысл от Array нулевой, что писать LANGUAGE_WELCOME, что $language['welcome'] - одно и тоже, только теоретичеси массив должен больше ресурсов жрать. Плюс значения массива можно изменять (что нам абсолютно не нужно). |
|||
|
||||
WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: 1 Всего: 8 |
Эффективно для этого использовать xml, в техногрете было много статей на эту тему
А константы для этого дела - бред сумасшедшего |
|||
|
||||
gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: нет Всего: 91 |
CyClon, предложил array, т.к уже выше сказано - "А константы для этого дела - бред сумасшедшего".
XML тоже интересная идея. Но помойму не очень удобная. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
||||
|
||||
gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: нет Всего: 91 |
skyboy, ваще не в тему
|
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
||||
|
||||
CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: нет Всего: 4 |
gta4kv, Ну тогда приведи хотя бы пару фактов в пользу массивов. Я могу привести как минимум один против, причем весомый - константы видны везде, массивы придется объявлять глобальными для видимости в функциях.
Вот вы пишите, "бред сумасшедшего". А обосновать? Чем тот же gettext/xml будет лучше такого варианта? |
|||
|
||||
awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: нет Всего: 31 |
Функции gettext реализуют NLS (Native Language Support) API, который может использоваться для интернационализации ваших PHP-приложений
что не так? |
|||
|
||||
CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: нет Всего: 4 |
Другими словами - дает возможность юзать несколько языков на сайте. Теперь вчитайся в мой пост. Я просил аргументы в пользу gettext/xml и против использования констант.
|
|||
|
||||
awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: нет Всего: 31 |
Ну мне кажется что приемущество констант не отнять (видимость). Но ИМХО константы это муветон. Представь как будут смотреться 2-3 тысячи констант. Не правильно это. Ассоциативные массивы - в топку сразу. Они намного больше памяти кушают. XML - тут надо искать подход. Если незнать как на данном этапе устроин движок - каких либо плюсов выделить нельзя. |
|||
|
||||
solenko |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1473 Регистрация: 15.1.2006 Где: Украина Репутация: 2 Всего: 67 |
А xml вы в куда парсить будете? Уж не в асоциативный ли массив ) XML/ini/ваш_вариант хорош только тем, что с ним может работать не программист. Ну и еще один довод есть -- это модно ) А использовал кто-то gettext? Я видел олько один продукт с его использованием -- gallery2. Если использовали, может поделитесь опытом, расскажите о подводных камнях? А то вроде бы и самый логичный способ локализации и, в то же время, мало кто пользует. -------------------- Ла-ла-ла-ла Заметьте, нет официального подтверждения, что это не просто четыре слога. |
|||
|
||||
awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: нет Всего: 31 |
не . геттекст я в живую не видел..
по поводу XML - нефакт что в массивы. надо смотреть что сейчас наработанно, что-бы что-то советовать или решать |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 1 Всего: 260 |
||||
|
||||
CyClon |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: нет Всего: 4 |
Ну, представь xml файл в 3 тысячи строк, что, намного проще чтоли будет? ![]() Опять же с того же XML данные будут гнаться в константы, которые уже будут использоваться в коде. Так что думаю пока на своем варианте остановлюсь, потом если нужно, просто прикручу парсер и особо ничего менять не придется. На счет gettext - недостаточно инфы для его использования, да и пользы пока не вижу ![]()
Ну, представь xml файл в 3 тысячи строк, что, намного проще чтоли будет? ![]() Опять же с того же XML данные будут гнаться в константы, которые уже будут использоваться в коде. Так что думаю пока на своем варианте остановлюсь, потом если нужно, просто прикручу парсер и особо ничего менять не придется. На счет gettext - недостаточно инфы для его использования, да и пользы пока не вижу ![]() |
||||
|
|||||
lumega |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 13.2.2008 Репутация: нет Всего: нет |
я вижу очень большое преимущество в геттексте.
Это ж встроенный переводчик. Не нужно задавать тонну непонятных переменных или констант. Пишем на родном языке, а потом достаточно просто обратиться к переводчику (нужной языковой таблице). Думаю мысль понятна. ![]() |
|||
|
||||
CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: нет Всего: 4 |
Поятно ![]() ![]() |
|||
|
||||
CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: нет Всего: 4 |
Кто использует gettext, плз приведите пример .po файла.
ЗЫ: На самом деле очень удобная штука оказывается. Просто хочу на всякий случай реализовать свой парсер файлов, на случай если на сервере не будет gettext. |
|||
|
||||
CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: нет Всего: 4 |
Можно парсить XML файл, загонять все данные в массив и так использовать. Плюс данного подхода - полная совместимость с gettext (использовать только при его отсутствии). |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
gettext позаоляет делать умный pluralization...
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |