管理者が言語をインストールできない理由は何ですか?
私は得ています:
現在、インストールできる言語はありません。 Joomla!のアップデートを確認するには、[言語の検索]ボタンを選択してください。言語サーバー。これを機能させるには、インターネット接続が必要です。
キャッシュをクリアしました。確かにインターネットに接続しています。
以下のロダーの回答に基づく:
すべての更新サイトが管理者で有効になっています。
ただし、findLanguages()
メソッドの意見は異なります。
以下のように少し変更すると、2つのifステートメントから得られる結果は次のとおりです。1&2それに応じて。
public function findLanguages($cache_timeout = 0)
{
if (!$this->enableUpdateSite())
{
var_dump('1');
//return false;
}else {
var_dump('2');
}
// *** This results to var_dump 1 ***
if (!$this->enGbExtensionId)
{
var_dump('1');
//return false;
}else {
var_dump('2');
}
// *** This results to var_dump 2 ***
当時はこの問題の原因と修正を見つけるためにこれ以上時間を費やしていませんでしたが、今日は同じ問題のあるサイトで作業する必要がありました:言語マネージャーで使用可能な言語がなく、修正するためのサイト所有者の要件この。
だから周りを回った後、私はこの新しい特にウェブサイトの問題がデータベースにあることを発見しました。
言語インストーラーが言語パックを見つけるには、データベースに次のレコードが必要です。
テーブル:_#__extensions
_
次の名前のパッケージタイプ拡張:English (en-GB) Language Pack
テーブル:_#__update_sites
_
このサイトのレコード:名前:_Accredited Joomla! Translations
_、タイプ:collection
、場所:_https://update.joomla.org/language/translationlist_3.xml
_
テーブル:_#__update_sites_extensions
_
最初のテーブルの拡張と2番目のテーブルの更新サイトを結合するレコード。したがって、このレコードにはEnglish (en-GB) Language Pack
拡張のIDと_Accredited Joomla! Translations
_更新サイトのIDが必要です。
私の場合、最初にEnglish (en-GB) Language Pack
パッケージ拡張機能が拡張機能テーブルから欠落していました。このパッケージも保護された拡張であるため、これが最初にどのように発生したかはわかりませんが、それが事実でした。
だから私はデータベースに拡張子を追加する必要がありました:
_INSERT INTO `#__extensions` (`name`, `type`, `element`, `folder`, `client_id`, `enabled`, `access`, `protected`, `manifest_cache`, `params`, `custom_data`, `system_data`, `checked_out`, `checked_out_time`, `ordering`, `state`)
VALUES
('English (en-GB) Language Pack', 'package', 'pkg_en-GB', '', 0, 1, 1, 1, '{\"name\":\"English (en-GB) Language Pack\",\"type\":\"package\",\"creationDate\":\"December 2016\",\"author\":\"Joomla! Project\",\"copyright\":\"Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.\",\"authorEmail\":\"[email protected]\",\"authorUrl\":\"www.joomla.org\",\"version\":\"3.6.5.1\",\"description\":\"en-GB language pack\",\"group\":\"\",\"filename\":\"pkg_en-GB\"}', '', '', '', 0, '0000-00-00 00:00:00', 0, 0);
_
拡張機能を追加した後、私がしなければならない他の唯一のものはExtensions:Update SitesおよびRebuild Update Sitesに移動することであることがわかりました。これで残りの処理が完了します。つまり、更新サイトを追加して2つのレコードを結合します。
その後、言語はバックエンドの言語インストーラーでインストールできるようになりました。
これはロングショットです:
拡張 >> 管理 >> サイトの更新
コアJoomla更新サイトが有効になっていることを確認します。
それらがすでに有効になっている場合(そしてこれは修正ではなくテストです)、行237 of:に移動します。
administrator\components\com_installer\models\languages.php
そして追加:
var_dump('test');
return false;
の直前
次に、もう一度言語を検索してみてください。 test
がダンプされているのを確認したら、私に知らせてください。