Извлечь JavaScript-текст в Poedit?

Я использовал "GNU gettext" с PHP, и он сделал большую работу, используя poedit. Мне удалось извлечь формат файла PO.

но когда я попробовал то же самое для моего javascript внутри моего HTML-тега "script", я не работал даже больше, я не вижу никакой поддержки javascript.

poedit поддерживает почти все языки, кроме javascript или я делаю это неправильно. Кто-нибудь может предоставить рабочий пример для javascript?! Я следовал всему примеру почти на 20 языках, используя poedit, и все работало, кроме JavaScript

все рабочие примеры из GNU gettext находятся в

Gettext-0.19.7.tar.gz

http://ftp.gnu.org/gnu/gettext/

Gettext-0.19.7\ GetText-инструменты \ примеры

это php examlpe, который работает, мне нужно сделать то же самое для javascript

    #!@PHP@ -q
    <?
      // Example for use of GNU gettext.
      // This file is in the public domain.
      //
      // Source code of the PHP program.

      setlocale (LC_ALL, "");
      textdomain ("hello-php");
      bindtextdomain ("hello-php", "@localedir@");

      echo _("Hello, world!");
      echo "\n";
      echo printf (_("This program is running as process number %d."),posix_getpid());
      echo "\n";
    ?>

2 ответа

И поедить и xgettext есть поддержка JavaScript в течение некоторого времени. Ваша проблема в том, что вы встраиваете код в файл HTML, поэтому он не распознается как файл JavaScript (и xgettext, который использует Poedit, не поддерживает встроенный контент на других языках).

Просто поместите ваш код JavaScript в отдельный .js файл.

Обратите внимание, что JavaScript-код выполняется на стороне клиента, поэтому вам также нужно загружать переводы в JavaScript. Лучшим решением для вас, учитывая, что у вас есть только некоторые (предположительно небольшие) фрагменты JS внутри кода PHP, может быть создание этого кода JS с помощью PHP - т.е. выполнять перевод на стороне PHP / сервера.

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

Другие вопросы по тегам