Поддержка Проблемы и решения Проблема с функциями перевода __() _e() не переводит динам

  • Привет, помогите плз с проблемой, пытаюсь сделать перевод виджетов (в папке widgets они отдельными файлами)

    Хочу с помощью программы Poedit записывать в файл en.po строки перевода. Если я использую в функциях строку типа:

    __( 'Translate','domain')
    или
    _e( 'Translate','domain')

    то все работает, программа записывает в файл «Translate»

    Но если я использую в качестве строки переменную (в которой строка) то ничего не работает, вот:

    $vars = 'Translate';
    
    __( $vars,'domain')
    _e( $vars,'domain')

    В файл не пишется ничего, программа Poedit не видит значение переменной $vars, как писать в файл значения переменных ?

Просмотр 12 ответов — с 1 по 12 (всего 12)
  • Я прочитал, что в этих функциях нельзя использовать переменные, только строки. Тогда как переводить строки с виджетов? Которые в админке вводятся в форму виджета?

    Модератор Yuri

    (@yube)

    А почему бы не писать сразу на нужном языке?

    Я делаю тему, что бы была готова к локализации, мультиязычная что бы была. Если юзер захочет сделать себе мультиязычный сайт, как мне быть с виджетами не представляю, у меня все тема на виджетах.

    Модератор Yuri

    (@yube)

    А я не представляю, как можно сделать заранее перевод того, что юзер потом будет вводить 🙂

    Насчет мультиязычности. Плагин Polylang позволяет делать переводы полей типа Widget title прямо в админке. За другие плагины не скажу.

    Спасибо вам Юрий за совет!!! Т.е. вы думаете, что в случае переводов виджетов это идеальный вариант ??

    а код:
    $vars = __( 'Translate','domain');
    не поможет?

    А другие поля виджетов не знаете как попросить перевести этот плагин?

    Flector Этот код запишет Translate в переменную $vars, а мне надо с формы виджета вывести значение переменной и потом записать это значение в .po файл

    Модератор Yuri

    (@yube)

    Переменная существует в момент работы скриптов движка, а компиляция .po в .mo выполняется утилитами poedit. Как Вы собираетесь связать два совершенно разных процесса?

    Модератор Yuri

    (@yube)

    А другие поля виджетов не знаете как попросить перевести этот плагин?

    Polylang предлагает выбор языков, для которых будет показываться виджет. По логике этого плагина, скажем, те же текстовые виджеты создаются отдельно для каждого языка, то бишь, перевод полей вообще не нужен. Повторюсь: за другие плагины не скажу.

    Переменная существует в момент работы скриптов движка, а компиляция .po в .mo выполняется утилитами poedit. Как Вы собираетесь связать два совершенно разных процесса?

    смотрите, как я планировал сделать если бы эти функции работали с переменными:

    Все что щас выводят виджеты, я бы записал в файл po-mo вручную в poedit а потом юзер, создавая бы другой язык, меняя текст в виджетах опять бы сам с помощью Poedit создавал бы другие файлы языков.

    но ваш вариант с Polylang меня похоже полностью устроит.

    Модератор Yuri

    (@yube)

    а потом юзер, создавая бы другой язык, меняя текст в виджетах опять бы сам с помощью Poedit создавал бы другие файлы языков

    Где вы берете таких высококвалифицированных юзеров? Тут, блин, админы(!) не знают, где находится корень сайта 🙂

Просмотр 12 ответов — с 1 по 12 (всего 12)
  • Тема «Проблема с функциями перевода __() _e() не переводит динам» закрыта для новых ответов.