Caricamento...
Mostra Eventi

[LINGUA] Modificare lingue senza toccare file

It isn't a normal extension: it modifies styles only. The very different thing is that you can use only the thing which you want. (Non é un'estensione normale: modifica solo lo stile. La cosa veramente diversa é che puoi "comporla" come vuoi!)
Regole del forum
Read the "base extension" topic before other actions.
Leggi il topic "base extension" prima di qualunque altra cosa.
Avatar utente
brunino
Site Admin
Messaggi: 665
Iscritto il: dom nov 02, 2014 7:21 pm
Has thanked: 2 times
Been thanked: 57 times

[LINGUA] Modificare lingue senza toccare file

Messaggio da leggereda brunino » ven lug 24, 2015 3:05 pm

Questa aggiunta alla stylext, permette di modificare variabili di lingua senza modificare i file originali. :handgestures-thumbup:

Creare il file ext/bruninoit/stylext/event/edit_language.php

Codice: Seleziona tutto

<?php
/**
*
* @package StylExt Edit Language
* @copyright (c) 2015 Bruninoit
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace bruninoit\stylext\event;
/**
* @ignore
*/
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
/**
* Event listener
*/
class edit_language implements EventSubscriberInterface
{
static public function getSubscribedEvents()
{
return array(
'core.user_setup' => 'load_language_edit',
);
}
/* @var \phpbb\template\template */
protected $template;
/** @var \phpbb\user */
protected $user;

/**
* Constructor
*
* @param \phpbb\controller\helper $helper Controller helper object
* @param \phpbb\template $template Template object
*/
public function __construct(\phpbb\template\template $template, \phpbb\user $user) {
$this->template = $template;
$this->user = $user;
}
public function load_language_edit($event)
{
$lang_set_ext = $event['lang_set_ext'];
$lang_set_ext[] = array(
'ext_name' => 'bruninoit/stylext',
'lang_set' => 'edit',
);
$event['lang_set_ext'] = $lang_set_ext;
}
}


Creare il file ext/bruninoit/stylext/config/services.yml

Codice: Seleziona tutto

services:
    bruninoit.stylext.listener:
        class: bruninoit\stylext\event\edit_language
        arguments:
            - @template
            - @user
        tags:
            - { name: event.listener }


Creare il file ext/bruninoit/stylext/language/it/edit.php

Codice: Seleziona tutto

<?php
/**
*
* @package StylExt Edit Language
* @copyright (c) 2015 brunino
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
if (!defined('IN_PHPBB'))
{
exit;
}
if (empty($lang) || !is_array($lang))
{
$lang = array();
}
//$lang = array_merge($lang, array(
//'VARIA' => 'no',
//
//));

$lang['VARIABILE'] = 'Nuovo testo';



Basta aggiungere una riga per cambiare ogni variabile. La variabile andrà completamente riscritta.
Al posto di VARIABILE va inserito il nome della varoabile che si.vuole modificare.










NUOVA VERSIONE (NON FUNZIONANTE)! :techie-error:
Questa nuova versione in fase di sviluppo, dovrebbe funzionare su tutti i file di lingua,ma invece non funziona :(
Il file service rimane invariato, non sarà più necessario il file ext/bruninoit/stylext/language/it/edit.php, mentre il file ext/bruninoit/stylext/event lo mettiamo così:

Codice: Seleziona tutto

<?php
/**
*
* @package StylExt Edit Language
* @copyright (c) 2015 Bruninoit
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace bruninoit\stylext\event;
/**
* @ignore
*/
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
/**
* Event listener
*/
class edit_language implements EventSubscriberInterface
{
static public function getSubscribedEvents()
{
return array(
'core.page_footer' => 'language_edit',
);
}
/* @var \phpbb\template\template */
protected $template;
/** @var \phpbb\user */
protected $user;

/**
* Constructor
*
* @param \phpbb\controller\helper $helper Controller helper object
* @param \phpbb\template $template Template object
*/
public function __construct(\phpbb\template\template $template, \phpbb\user $user) {
$this->template = $template;
$this->user = $user;
}
public function language_edit($event)
{
//$lang=$this->user->lang;
//una riga ogni variabile da cambiare
//$lang['NOME_VARIABILE'] = "nuovo testo";

//nuovo tentativo
//ricopiare tutta la riga per ogni variabile
//lasciare il prefisso L_
$this->template->assign_var('L_NOMEVARIABILE', 'nuovo testo');

      

}
}


Avatar utente
frank
Messaggi: 46
Iscritto il: lun set 14, 2015 3:18 am
Been thanked: 1 time

Re: [LINGUA] Modificare lingue senza toccare file

Messaggio da leggereda frank » sab ott 10, 2015 9:17 am

Ho fatto le modifiche ma è come prima, ho tolto il file edit.php


Quando ti invio il pvt appare questo

[phpBB Debug] PHP Notice: in file [ROOT]/ext/paybas/breadcrumbmenu/event/listener.php on line 185: Undefined offset: -2
Ultima modifica di frank il sab ott 10, 2015 9:22 am, modificato 1 volta in totale.


Avatar utente
brunino
Site Admin
Messaggi: 665
Iscritto il: dom nov 02, 2014 7:21 pm
Has thanked: 2 times
Been thanked: 57 times

Re: [LINGUA] Modificare lingue senza toccare file

Messaggio da leggereda brunino » sab ott 10, 2015 9:22 am

In che senso è doppio?

Si lo so quel problema, ora guardo.

Inviato dal mio MotoE2(4G-LTE) utilizzando Tapatalk


Avatar utente
frank
Messaggi: 46
Iscritto il: lun set 14, 2015 3:18 am
Been thanked: 1 time

Re: [LINGUA] Modificare lingue senza toccare file

Messaggio da leggereda frank » sab ott 10, 2015 9:24 am

Nel senso che uno va prima e l'altro dopo le modifiche alle traduzioni, ma forse va bene così. Comunque i file non si modificano, ho tolto l file edit.php


Avatar utente
brunino
Site Admin
Messaggi: 665
Iscritto il: dom nov 02, 2014 7:21 pm
Has thanked: 2 times
Been thanked: 57 times

Re: [LINGUA] Modificare lingue senza toccare file

Messaggio da leggereda brunino » sab ott 10, 2015 9:30 am

Ma hai seguito le istruzioni per bene?

Inviato dal mio MotoE2(4G-LTE) utilizzando Tapatalk


Avatar utente
frank
Messaggi: 46
Iscritto il: lun set 14, 2015 3:18 am
Been thanked: 1 time

Re: [LINGUA] Modificare lingue senza toccare file

Messaggio da leggereda frank » sab ott 10, 2015 9:35 am

Si, mi sembra. in services.yml

Codice: Seleziona tutto

services:
    bruninoit3.stylext.listener:
        class: bruninoit3\stylext\event\edit_language
        arguments:
            - @template
            - @user
        tags:
            - { name: event.listener }


edit_language.php

Codice: Seleziona tutto

<?php
/**
*
* @package StylExt Edit Language
* @copyright (c) 2015 Bruninoit
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace bruninoit3\stylext\event;
/**
* @ignore
*/
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
/**
* Event listener
*/
class edit_language implements EventSubscriberInterface
{
static public function getSubscribedEvents()
{
return array(
'core.page_footer' => 'language_edit',
);
}
/* @var \phpbb\template\template */
protected $template;
/** @var \phpbb\user */
protected $user;

/**
* Constructor
*
* @param \phpbb\controller\helper $helper Controller helper object
* @param \phpbb\template $template Template object
*/
public function __construct(\phpbb\template\template $template, \phpbb\user $user) {
$this->template = $template;
$this->user = $user;
}
public function language_edit($event)
{
$lang=$this->user->lang;

$lang = array_merge($lang, array(
//MODIFICHE TRADUZIONE
));
$this->user->lang=$lang;
}
}

?>



Avatar utente
brunino
Site Admin
Messaggi: 665
Iscritto il: dom nov 02, 2014 7:21 pm
Has thanked: 2 times
Been thanked: 57 times

Re: [LINGUA] Modificare lingue senza toccare file

Messaggio da leggereda brunino » sab ott 10, 2015 10:13 am

Usa
$lang['NOME_VARIABILE'] = "nuovo testo";
Non
$lang = array_merge($lang, array(
//MODIFICHE TRADUZIONE
));

Inviato dal mio MotoE2(4G-LTE) utilizzando Tapatalk


Avatar utente
frank
Messaggi: 46
Iscritto il: lun set 14, 2015 3:18 am
Been thanked: 1 time

Re: [LINGUA] Modificare lingue senza toccare file

Messaggio da leggereda frank » sab ott 10, 2015 10:31 am

Così non fa la modifica

Codice: Seleziona tutto

...
$lang=$this->user->lang;

//language/it/acp/board.php
$lang['ALLOW_BIRTHDAYS'] = "Abilita il Pannello Compleanni xxxx1";

$this->user->lang=$lang;
}
}


Avatar utente
brunino
Site Admin
Messaggi: 665
Iscritto il: dom nov 02, 2014 7:21 pm
Has thanked: 2 times
Been thanked: 57 times

Re: [LINGUA] Modificare lingue senza toccare file

Messaggio da leggereda brunino » sab ott 10, 2015 12:03 pm

Quelli del PCA no, gli altri?

Inviato dal mio MotoE2(4G-LTE) utilizzando Tapatalk


Avatar utente
frank
Messaggi: 46
Iscritto il: lun set 14, 2015 3:18 am
Been thanked: 1 time

Re: [LINGUA] Modificare lingue senza toccare file

Messaggio da leggereda frank » sab ott 10, 2015 12:22 pm

Qui nemmeno quei pochi che andavano, non vanno più



Chi ha visto questo topic

brunino (103), Aldo (10), frank (67), legionario82 (1), Jack (1), Astro86 (1), RTI kartname (2), serialcode (1), elsa23 (1)

Torna a “Style Extension”

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti

  • Argomenti più visti
    Top Poster
    Ultimi Post
cron

Login