За последние 24 часа нас посетили 59219 программистов и 1830 роботов. Сейчас ищут 853 программиста ...

Помогите разобраться GetText и PHP

Тема в разделе "PHP для новичков", создана пользователем Alex_@, 5 ноя 2010.

  1. Alex_@

    Alex_@ Активный пользователь

    С нами с:
    1 окт 2009
    Сообщения:
    76
    Симпатии:
    0
    я захотел создать перевод с русского на английский своих php-скриптов средствами gettext,
    но столкнулся с проблемой что не могу создать файлы перевода утилитой XGetText, точнеее не могу её запустить

    пример файла вот my_script.php

    PHP:
    1. <?php
    2. echo _('Строка перевода 1');
    3. print (_('Строка перевода 2'));
    4.  
    5. ?>

    сколько не искал везде написана команда

    Код (Text):
    1. xgettext my_script.php

    но не написанно где запускать и как запускать подскажите пожалуйста!!!!!!
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    вобще-то так не делается в принципе, поэтому может это знак, что не надо рвать себе жопу, корячась в неправильном направлении?
     
  3. Alex_@

    Alex_@ Активный пользователь

    С нами с:
    1 окт 2009
    Сообщения:
    76
    Симпатии:
    0
    А ты знаешь как надо делать????
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    переписать, с учетом многоязыкости =)
     
  5. Alex_@

    Alex_@ Активный пользователь

    С нами с:
    1 окт 2009
    Сообщения:
    76
    Симпатии:
    0
    хех)))))))))
    это самое простое решение!
    я заморочился именно чтобы создать файлы перевода, но чего то не понимаю((((
    вот и прошу помощи
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Alex_@
    ты перепишешь 10 проектов раньше чем напишешь автопереводилку. по сути-то надо только куски с выводом текста поменять на ченить типа массивов и прочего
     
  7. Alex_@

    Alex_@ Активный пользователь

    С нами с:
    1 окт 2009
    Сообщения:
    76
    Симпатии:
    0
    да мне не надо переводилку свою писать я хочу создать файл перевода а у меня не получается!!)))
    вот и хочу разобраться в чём дело!
     
  8. siiXth

    siiXth Активный пользователь

    С нами с:
    14 мар 2010
    Сообщения:
    1.447
    Симпатии:
    1
  9. Alex_@

    Alex_@ Активный пользователь

    С нами с:
    1 окт 2009
    Сообщения:
    76
    Симпатии:
    0
    Я нашёл следующее

    Код (Text):
    1. Для начала надо скачать набор утилит xgettext для windows.
    2. Далее сохраняем свой скрипт в .kvs файл или файлы и в той папку, где сохранили делаем:
    3. Код:
    4. xgettext -o myscript.pot -ktr файл1.kvs файл2.kvs .... файлN.kvs
    5. В файлах уже должны быть расставлены $tr функции.
    6. на выходе увидим myscript.pot, который переименовываем в myscript_XX.po, где XX - код языка, например myscript_ru.po
    7. Редактируем этот файл с помощью poedit (тоже надо скачать).
    8. И, наконец, делаем
    9. Код:
    10. msgfmt -o myscript_ru.mo myscript_ru.po
    11. И получаем требуемый myscript_ru.mo.
    я не понимаю следующее
    Далее сохраняем свой скрипт в .kvs файл или файлы и в той папку, где сохранили делаем:
    Код:
    xgettext -o myscript.pot -ktr файл1.kvs файл2.kvs .... файлN.kvs


    может мне объяснить эти строчки????
     
  10. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    консоль вызывается комбинацией клавиш win+r

    или скачай допустим Far
     
  11. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    мотивируй
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    vasa_c
    =) мотивирую: это бред переводить пхпшки
     
  13. Amperandus

    Amperandus Активный пользователь

    С нами с:
    13 мар 2009
    Сообщения:
    226
    Симпатии:
    11
    в код вместо текста ставится $lang['hello']['ru'] где $lang - массив текстовых данных запрошенный из бд, hello - строка в бд (id текстового элемента), ru - поле со значением на русском языке.
     
  14. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    igordata, на более низком уровне можно мотивировать? чем предложенные массивы лучше?
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    удобством и красотой. =)
     
  16. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    мотивируй )
     
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  18. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    "это бред", не мотивировка, а вброс )
     
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я кончил =)
     
  20. vasa_c

    vasa_c Активный пользователь

    С нами с:
    22 мар 2006
    Сообщения:
    1.760
    Симпатии:
    0
    Адрес:
    гор.Ленинград
    почему мы должны об этом знать?
     
  21. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    vasa_c
    вот это был вброс