Вопрос по gettext

Serguitar

Новичок->продвинутый
Вопрос по gettext

Всем здравствуйте!
Вопрос у меня такой.
У меня Windows98. Установил по инструкциям gettext, о которых прочитал в последнем пхп-инсайд. Апач не ругается, phpinfo() показывает, что директива установлена и включена. если кто делал подскажите. Как мне скомпилить файлы .po и .mo на моей платформе?
С помощью каких команд и откуда их вызывать?
Заранее благодарен.
 

Serguitar

Новичок->продвинутый
fixxxer
За ссылку спасибо, но у меня выдает ошибка 404.
 

Serguitar

Новичок->продвинутый
fixxxer
блин, ну я же не тупой!
Ну стрёмный инет у меня в Узбекистане! Некоторые сайты просто блокируются, некоторые вообще не грузятся.
Может, на пальцах объяснишь. Мне очень нужно.
 

Serguitar

Новичок->продвинутый
Tor
когда ввожу в командную строку команду xgettext, винда выдаёт ошибку. Неверно указно имя файла. Проверьте наличие соответствующих библиотек. Библиотеки на месте.
Почему так?
 

Tor

Новичок
xgettext существует?

и как ты узнал, какие библиотеки ему нужны?
и на каком "месте"?
 

Serguitar

Новичок->продвинутый
Tor
В смысле как я узнал? Читаю пхп-инсайд. Там написано:
скачайте то-то.
Скачал...
Скачайте теперь вот это.
Скачано...
Скопируйте то-то туда-то и то-то туда-то.
Сделано...
Внесите изменения в php.ini
Внёс...
Перезапустите Апач.
Перезапустил...
Проверьте с помощью phpinfo() включена ли директива gettext.
Enabled...
Создайте файл и напишите в нём...
Написал, апач не ругается.
Теперь создайте файл .po вот так - то
Пытаюсь, но ничего не получается, так как выдаётся ошибка винды.
А про библиотеки это винда мне говорит, что они не найдены.
Может я что не дописал в System32? Например, файл xgettext.exe там должен быть?
Кто делал, ну помогите примером, поделитесь опытом, у меня ни одного спеца в округе!
 

slach

Новичок
xgettext может быть в любой папке которая прописана в переменной окружения PATH
в том числе и в system32

либо в той папке где лежит php скрипт из которого ты выдираешь

"винда выдает ошибку"
какую ???

ЗЫ.
в чем религиозная необходимость в Win98 ??? IMHO давно уже надо переходить на w2k и т.п.
 

Serguitar

Новичок->продвинутый
Всё сделал, хвала великому Аллаху!
Предыдущий сабж удалил, так как уже не актуален.
Для тех, кто столкнулся с проблемой установки gettext на винду, расскажу как делать.

По установке следовать инструкциям, описанным в пхп-инсайд до пункта копирования необходимых файлов в директорию system32.

Затем. Есть папка, в которую мы разорхивировали скачанный gettext для win32. У меня она лежит в D:\Sergey\gettext\
При копировании мы брали необходимые файлы из папки D:\Sergey\gettext\bin\.
Необходимые для дальнейшей работы файлы xgettext.exe msgfmt.exe лежат здесь.(запомнили)
Теперь, мы всё настроили, раскомментировали в php.ini строку доступа к php_gettext.dll (кажется так) и при вызове phpinfo() нам показывает, что gettext установлен и enabled.
Допустим, у нас есть сайт, находящийся в корневой директории апача в папке src/ , а на диске по адресу c:\local\apache\htdocs\src\.
В них все строковые функции, подлежащие переводу, написаны ввиде gettext("Привет мир!"), либо _("Привет, мир!")
Запускаем командную строку.
пишем:
d:\sergey\gettext\bin\xgettext -a //полный путь до утилиты
c:\local\apache\htdocs\src\*.php //полный путь до файла(ов)Создаётся файл messages.po, открыв который в блокноте можно посмотреть содержимое.
Где создаются эти файлы зависит от предварительного пути, откуда была вызвана директива xgettext.
к примеру, если в командной строке было С:\>, то файл messages.po создастся именно на диске с:.
Далее вносим изменения (пишем переводы соответствующих строк) в файл .ро и затем создаём .mo файл для дальнейшей работы уже на сайте.
делаем это так.
Набираем в командной строке d:\sergey\gettext\bin\msgfmt c:\messages.po -o c:\messages.mo
Заметьте, что мы указываем полный путь к файлу .ро и в той же директории создаём откомпиленный файл.
Готово!
Дальше по инструкциям в пхп-ини создаём все необходимые папки.
Запускаем, проверяем.
Один ньюанс.
Если у вас по умолчанию язык сайта русский и именно с него всё переводилось, то папку locale/ru/LC_MESSAGES/ можете просто оставить пустой. А в остальные
locale/en/LC_MESSAGES/
locale/de/LC_MESSAGES/
locale/fr/LC_MESSAGES/
помещаете файлы .mo с переводами на соответствующие языки.
Только что сделал элементарный пример на трёх языках, всё чудесно работает!
Удачи всем, всем спасибо.
 

kvf77

Red Devil
Автор оригинала: Serguitar
Ну ты просто материал не совсем внимательно читал. Дело в том, что xgettext - это утилита вспомогательная и как такового отношения к GetText не имеет. В статье я написал про установку GetText а утилиты они утилиты и есть.
 

Serguitar

Новичок->продвинутый
Так я ж теперь и не спорю.
Читал когда-то давно, когда только начинал программировать, статью о регулярных выражениях, ссылка на которую дана в ФАКе. Мне очень понравился стиль изложения, всё было разжёвано так, что даже не имея НИКАКОГО понятия о регулярных выражениях, можно было понять достаточно, так как автор давал чёткие и подробные рекомендации о том, как, что, где и когда применять.
Огромное спасибо ему, кстати.
В написанной Вами статье, уважаемый kvf77, я не нашёл сразу ответы на все свои вопросы, а ведь я совсем не ламер, просто gettext не использовал никогда. Во всех многоязычных проектах использовал вариант похожий на тот, что предложил в своё время Дмитрий Бородин (php.spb.ru). Теперь возникла необходимость делать проект на семи языках, портал огромен, и используемый до этого вариант потерял актуальность. Раньше я справлялся с переводами сам, теперь естесственно необходимы переводчики, отсюда и выбор. Особенно после прочтения описания функции на php.net.
Но в любом случае Ваша статья хороша, если бы не она, едва ли я разобрался бы хоть в чём-то. Описания как что и куда подключить лучше я не нашёл ни на русском, ни на английском. Правда, справедливости ради скажу, что многие ссылки гугля не открылись. Это "особенности" моего местного интернета.:) Осмелюсь предложить немного расширить описания получения файлов .po и .mo и дальнейшей работы с ними, приведённые в вашей статье, именно для платформы win32. Я понимаю, что в таком солидном и уважаемом журнале, как пхп-ини, статьи для "совсем новичков" печатать нет смысла, но можно выложить где-нибудь. Хотя бы в ФАК. Ведь правда? Это избавит форум от многих одинаковых вопросов.
Спасибо, что выслушали.
Спасибо за статью.
Удачного дня.
 

kvf77

Red Devil
Автор оригинала: Serguitar
Уговорили :) В ближайшие пару дней появится мой новый материал - Как-нить важно назову "Профессиональная работа с GetText для новичков" :) В ней плнирую осветить утилиты, имеющиеся в поставке GetText, утилиты и редактор для Win32 для работы с GetText - в общем - следите за форумом :)
 

Serguitar

Новичок->продвинутый
kvf77
Вот это будет классно! Для тех, кто ещё не разобрался.
 
Сверху