Невозможно найти пакет php gettext

Не могу получить gettext (php) на работающей Ubuntu

Следующий пример работает в Mac OS X с Apache, т.е. я возвращаю обратно переведенную строку. Но на Ubuntu с lighttpd я получаю исходный текст «Неактивная учетная запись». Я пробовал всевозможные комбинации переменных varialbes без везения. Это не разрешения файлов, потому что я могу выделить содержимое файла .mo.

Правильно ли настроен язык в самой ОС? Посмотрите мой предыдущий вопрос, может быть, может помочь stackoverflow.com/questions/1431354/php-gettext-in-norwegian

Вы сгенерировали локаль для sv_SE? Если нет, то добавьте (или раскомментируйте) строку, содержащую sv_SE.UTF-8 в /etc/locale.gen а затем запустите sudo locale-gen .

sudo locale-gen sv_SE.UTF-8 (а затем перезапустите lighttpd) сработало. Не могли бы вы опубликовать это как ответ на этот вопрос, чтобы я мог пометить его как правильный? Спасибо!

2 ответа

У меня была та же проблема. Я опишу, что я сделал, чтобы исправить это на Ubuntu 10.10.

1) убедитесь, что у вас установлен «gettext» ,

sudo apt-get install gettext 

В качестве альтернативы вы можете установить «php-gettext», если «gettext» не может быть установлен. Пакет «php-gettext» не требуется, если у вас уже установлен «gettext» .

2) Затем создайте локаль для своего языка. В этом примере я буду использовать ‘sv_SE’. Найдите поддерживаемые локали в ‘/usr/share/i18n/SUPPORTED’,

less /usr/share/i18n/SUPPORTED 

Вы найдете несколько строк, начинающихся с ‘sv_SE’,

sv_SE.UTF-8 UTF-8 sv_SE ISO-8859-1 sv_SE.ISO-8859-15 ISO-8859-15 

Это означает, что у вас есть несколько вариантов генерации локали для sv_SE. Один из вариантов не имеет периода (.) В его имени (т.е. sv_SE ISO-8859-1 ); это набор символов по умолчанию для этой локали. Чтобы сгенерировать языковой стандарт для набора символов по умолчанию, выполните следующую команду:

Если вы хотите сгенерировать эту локаль для набора символов UTF-8, запустите эту команду,

Перезапустите Apache после генерации локалей (иначе он не найдет вновь созданные локали),

sudo service apache2 restart 

3) Наконец, обновите свой PHP script в соответствии с созданной вами локали. Если вы создали локаль для ‘sv_SE’,

Но если вы создали эквивалент UTF-8 этого языка, используйте

Теперь все должно работать.

Оказывается, в Debian есть пакет, называемый locales-all который может обеспечить более простой выход без необходимости выполнять locale-gen вручную. Мне также нужно было apt-get install locales

Хотя я выполнил шаги, изложенные в принятом ответе, я не мог заставить его работать над Ubuntu 14.04 LTS. Я должен был сделать две важные вещи:

(1) Прежде чем генерировать файл messages.mo, я должен был указать в message.po явно UTF-8 для charset:

msgid "" msgstr "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-12-19 16:28+0530\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME [email protected]>\n" "Language-Team: LANGUAGE [email protected]>\n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n"  

(2) Я должен был поддерживать такое же имя папки, как и локаль. Например, я установил Kannada, запустив sudo locale-gen kn_IN . Это сгенерировало kn_IN.UTF-8 . Обратите внимание на заглавные буквы и дефис в UTF-8. Я использовал это имя при установке языка в моем PHP скрипт и для имени папки, где я помещал файл messages.mo:

// I18N support information $locale = "kn_IN.UTF-8";  
project_folder /Locale /kn_IN.UTF-8  

Ubuntu учитывает регистр имен папок и файлов. Поэтому убедитесь, что заглавные буквы сохранены, как показано выше.

Источник

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

E: Unable to locate package php-gettext during install #453

E: Unable to locate package php-gettext during install #453

Comments

Brand new VM, running Ubuntu 21.10.3, fully updated.

Install directory is /opt/fog/ .

Trying to run /opt/fog/fogproject-master/bin/installfog.sh results: E: Unable to locate package php-gettext

Install and error logs attached.

I think this has to do with trying to get a non-existent version of PHP. The script seems to call for 7.1 but 8.1 is the current version. I'm not sure how your script is installing PHP, but apt install php will always get the latest stable version.

The text was updated successfully, but these errors were encountered:

So now the script tries to install PHP 7.4 (instead of 7.1). Unfortunately, the script still dies because php-gettext is failing because php7.4 and modules aren't being found.

Apparently, it's now called php-php-gettext. (Really. )

In order to install 7.4 explicitly in Ubuntu 21, one needs to add the devs' repository: add-apt-repository ppa:ondrej/php

I'm not sure if FOG requires PHP 7, or if it will work with PHP 8, but if it will, then simply running apt install php and modules without the version should do the trick.

I modified the repository list at line 109 to include php-php-gettext instead of php-gettext. I don't know if that will break other distros or not.

The code above has all the fixes.

I don't know if something is incompatible or not, but the install script now gets as far as the step where one needs to log into the web interface, to set up the schema. However, when logging in, I get a 500 error from Apache.

I just read issue #449. Maybe I should try the devel branch. It looks like you already fixed the Ubuntu 21 stuff (better than I did). But the call for php-gettext in line 128 is still going to kill the script.

@ChicagoJay Welcome to the FOG universe. You are on the right track now. FOG version 1.5.9 came out way before Ubuntu 21.10 was released and it's impossible to predict the packages that come with newer versions beforehand. We are trying to make the installer more universal but that will take a fair amount of work.

So back to your question. So yes, using dev-branch will help you install FOG on Ubuntu 21.10. BUT as it comes with PHP 8.0 there is another big hurdle. Check out the forum post here as well: https://forums.fogproject.org/topic/15914/install-fog-on-ubuntu-server-21-10-issues

We consider the short term Ubuntu releases as kind of "nice to have". The FOG dev team is small and there is lots of work to do to keep up with everything. You seem to be good with bash scripting and all that. Would you want to help taking care of that stuff?

We consider the short term Ubuntu releases as kind of "nice to have". The FOG dev team is small and there is lots of work to do to keep up with everything. You seem to be good with bash scripting and all that. Would you want to help taking care of that stuff?

I'd love to, but I am quite busy with my day job! 😉 Also, I don't really know HOW to help. I've never posted code or pull requests before. In fact, I only just learned what pull requests WERE a few months ago.

I actually watched Chuck develop the original FOG, back when he was at ATHS, in the early oughts. I work maybe 20 minutes away from there, in a PK-8 school district.

Anyway - I spun up an Ubuntu 20.04LTS server, and the install completed!

Источник

FOG installation ERROR: "E: Unable to locate package php-gettext"

@sebastian-roth See above post, sorry, replied to the OP instead of you. Unfortunately the install still failed. I thought this might just be a bug with my particular server, so I set up a brand new server just for Fog, using Debian 11, but still got this exact error.

OK * Backing up user reports. Done * Stopping web service. Failed! OK * Setting up Apache and PHP files. Failed ########################################### # # # PHP Failed to install properly # # # ########################################### Could not find /etc/php//fpm/php.ini! 

Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log) Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

@Sebastian-Roth Just ran into this issue myself. I found several forum posts about it. Using Debian 11. Just installed it a few weeks ago.

PRETTY_NAME="Debian GNU/Linux 11 (bullseye)" NAME="Debian GNU/Linux" VERSION_ID="11" VERSION="11 (bullseye)" VERSION_CODENAME=bullseye 

😊

I installed php-php-gettext thinking it might help… Used ./installfog.sh -X to bypass it. Just wanted to report the bug exists. Just downloaded Fog a few minutes ago.

Источник

Не удается получить gettext (php) на Ubuntu, работающем

Следующий пример работает в Mac OS X с Apache, т. Е. Я возвращаю обратно переведенную строку. Но на Ubuntu с lighttpd я получаю исходный текст «Неактивная учетная запись». Я пробовал всевозможные комбинации переменных varialbes без везения. Это не разрешения для файлов, потому что я могу выделить содержимое файла .mo.

php //$locale = 'sv_SE.UTF-8'; $locale = 'sv_SE'; $dir = dirname(__FILE__); // File permission is apparantly not a problem as this works. //echo file_get_contents($dir . '/sv_SE/LC_MESSAGES/flattr.mo'); putenv("LANG=$locale"); putenv("LANGUAGE=$locale"); putenv("LC_ALL=$locale"); putenv("LC_MESSAGES=$locale"); setlocale(LC_ALL, $locale); setlocale(LC_MESSAGES, $locale); //setlocale(LANG, $locale); //setlocale(LANGUAGE, $locale); bindtextdomain('flattr', $dir); //bind_textdomain_codeset("flattr", 'UTF-8'); textdomain('flattr'); echo _("Inactive account"); ?> 

Я столкнулся с той же проблемой. Я опишу, что я сделал, чтобы исправить это на Ubuntu 10.10.

1) убедитесь, что у вас установлен «gettext»,

sudo apt-get install gettext 

Кроме того, вы можете установить «php-gettext», если «gettext» не может быть установлен. Пакет «php-gettext» не требуется, если у вас уже установлен «gettext».

2) Затем создайте языковой стандарт для своего языка. В этом примере я буду использовать 'sv_SE'. Посмотрите поддерживаемые локали в '/ usr / share / i18n / SUPPORTED',

less /usr/share/i18n/SUPPORTED 

Вы найдете несколько строк, начинающихся с «sv_SE»,

sv_SE.UTF-8 UTF-8 sv_SE ISO-8859-1 sv_SE.ISO-8859-15 ISO-8859-15 

Это означает, что у вас есть несколько вариантов генерации языка для sv_SE. Один из параметров не имеет периода (.) В его имени (т.е. sv_SE ISO-8859-1 ); это набор символов по умолчанию для этой локали. Чтобы сгенерировать языковой стандарт для набора символов по умолчанию, выполните следующую команду,

Если вы хотите сгенерировать эту локаль для набора символов UTF-8, запустите эту команду,

Перезапустите Apache после генерации локалей (иначе он не найдет вновь созданные локали),

sudo service apache2 restart 

3) Наконец, обновите свой PHP-скрипт в соответствии с созданным вами языком. Если вы создали локаль для 'sv_SE',

Но если вы создали эквивалент UTF-8 этого языка, используйте,

Теперь все должно работать.

Хотя я выполнил шаги, изложенные в принятом ответе, я не мог заставить его работать над Ubuntu 14.04 LTS. Мне пришлось сделать две важные вещи:

(1) Прежде чем генерировать файл messages.mo, я должен был указать в message.po явно UTF-8 для charset:

msgid "" msgstr "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2016-12-19 16:28+0530\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" 

(2) Я должен был поддерживать то же имя папки, что и локаль. Например, я установил Kannada, запустив sudo locale-gen kn_IN . Это kn_IN.UTF-8 . Обратите внимание на заглавные буквы и дефис в UTF-8. Я использовал это имя при установке языкового стандарта в моем php-скрипте и для имени папки, где я помещал файл messages.mo:

// I18N support information $locale = "kn_IN.UTF-8"; 
project_folder /Locale /kn_IN.UTF-8 

Ubuntu чувствителен к регистру и папкам. Поэтому убедитесь, что заглавные буквы сохранены, как показано выше.

Источник

Читайте также:  Read large file java
Оцените статью