it-swarm.it

Nessuna lingua disponibile da installare al momento

Quale può essere la ragione per cui non è possibile installare le lingue tramite admin?
Ricevo:

Non ci sono lingue disponibili da installare al momento. Seleziona il pulsante "Trova lingue" per verificare la presenza di aggiornamenti su Joomla! Server delle lingue. Avrai bisogno di una connessione Internet per farlo funzionare.

Ho cancellato le cache e certamente ho una connessione a Internet.

  • Joomla 3.5.1

Aggiornare

Sulla base della risposta di Lodder, di seguito:

Tutti i miei siti di aggiornamento sono abilitati nell'amministratore.
Tuttavia il metodo findLanguages() ha un'opinione diversa:
Modificandolo un po 'come di seguito, i risultati che ottengo dal 2 se le dichiarazioni sono: 1 & 2 di conseguenza.

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 ***
4
FFrewin

Allora non ho trascorso più tempo a trovare la causa e la soluzione di questo problema, ma oggi ho dovuto lavorare su un sito con lo stesso problema: Nessuna lingua disponibile in Gestione lingue e un requisito da parte del proprietario del sito per risolvere Questo.

Quindi, dopo aver fatto il giro, ho scoperto che per questo nuovo sito Web in particolare il problema era nel database.

Affinché il programma di installazione della lingua trovi i pacchetti di lingue, nel database devono essere presenti i seguenti record:

  • Tabella: #__extensions
    Un'estensione del tipo di pacchetto con nome: English (en-GB) Language Pack

  • Tabella: #__update_sites
    Un record per questo sito: Nome: Accredited Joomla! Translations, Tipo: collection, Ubicazione: https://update.joomla.org/language/translationlist_3.xml

  • Tabella: #__update_sites_extensions
    Un record che unirà l'estensione dalla prima tabella con il sito di aggiornamento dalla seconda tabella. Quindi questo record dovrebbe avere l'id dell'estensione English (en-GB) Language Pack e l'id del sito di aggiornamento Accredited Joomla! Translations.

Nel mio caso era l'estensione English (en-GB) Language Pack mancante dalle tabelle delle estensioni al primo posto. Non sono sicuro di come sia successo inizialmente, poiché questo pacchetto è anche un'estensione protetta, ma questo era il fatto.

Quindi ho dovuto aggiungere l'estensione nel database:

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);

Dopo aver aggiunto l'estensione, ho scoperto che l'unica altra cosa che dovevo fare era andare nei Estensioni: siti di aggiornamento e Ricostruzione nei siti di aggiornamento. Questo è il resto, ovvero l'aggiunta del sito di aggiornamento e l'unione dei 2 record.

Successivamente, Lingue è diventato disponibile per l'installazione nel programma di installazione della lingua nel back-end.

2
FFrewin

Questa è una possibilità, provando a:

Estensioni >> Gestisci >> Siti di aggiornamento

Assicurati che i principali siti di aggiornamento di Joomla siano abilitati.

Se sono già abilitati, quindi (e questa non è una correzione ma un test), vai alla riga 237 di:

administrator\components\com_installer\models\languages.php

e aggiungi:

var_dump('test');

appena prima del return false;

Quindi prova a trovare di nuovo le lingue. Se vedi test in fase di dumping, fammi sapere e lo esaminerò ulteriormente

1
Lodder