Home › Forum › Problemi Vari con WP › Modificare voci traduzione SENZA POEDIT ma sul tema child
-
AutorePost
-
-
22 Luglio 2018 alle 10:30 #31752franccicccioPartecipante
Salve, ho buddypress.
5 Anni fa provai a tradurre le voci con POEDIT. Ci persi un mese.
Poi WP cambiò versione e persi tutto.
Poi decisi di lasciare buddypress.
Adesso ci riprovo, ma vedo che alcuni problemi sono rimasti.
So che bisogna fare una operazione copia-incolla sposta prendi reincolla file per mantenere le traduzioni ad ogni aggiornamento, ma vorrei evitarmela.
So che col tema child potrei evitarmela.
Non ho capito però come fare a trovare le voci da modificare da riportare sul file php modificato.
Se uso chrome “ispeziona”, mi trova classi e proprietà , bene. Le metto su “CSS aggiuntivo” in “personalizza” e funzionano. Non servirebbe neppure il tema child.
Invece NON SO COME TROVARE LE RIGHE DELLE FUNZIONI, I FILE PHP dove è scritta la voce in italiano. Da incollare tradotta come voglio io nel tema child.
Qualcuno potrebbe aiutarmi?
Ho dedicato qualche ora di ricerca su google ma parlano di poedit e soprattutto non spiegano come trovare la riga o il pezzo di codice php da modificare col tasto “ispeziona”. Certo scomodare il team assistenza chorme cmq non mi sembra il caso.
Inoltre non ho capito bene come realizzare questa modifica traduzione voci solo tramite tema child e non poedit, e in questo forum non ho trovato l’articolo, il pozzo è profondo e confuso…
In pratica vorrei cambiare la traduzione ALL’ORIGINE dicesi con “gettex”, e non come traduzione di una traduzione!
Ma per farlo dovrei ricopiare sul tema child i pezzetti di codice php interessati precisi, ecco dove e come li vado a pescare, se il tasto “ispeziona” di chrome e firebug non mi aiuta?
Francesco
-
22 Luglio 2018 alle 12:23 #122303SteveAglAmministratore del forum
non ho capito se il problema è buddypress o il tema, buddypress è tradotto col sistema di traduzioni di WordPress e quindi non ha senso localizzarlo in proprio puoi contribuire qua
https://translate.wordpress.org/locale/it/default/wp-plugins/buddypress
Se è il tema ed è fra quelli nel repo di WP anche li c’è lo stesso metodo di traduzione, se vuoi farti le tue traduzioni usi poedit, nel caso del tema child copi completamente il tema padre. Se vuoi cercare le stringhe inglesi nel codice devi usare una cosa tipo wingrep se sei su windows, per cercare nei file stringhe particolari tip __( o _e( che sono le funzioni di traduzione di WP ma ce ne sono altre
https://developer.wordpress.org/themes/functionality/internationalization/
-
23 Luglio 2018 alle 12:08 #122305franccicccioPartecipante
Grazie per la risposta.
Userei volentieri poedit, come dicevo ci ho già provato anni fa e funziona, però funziona fino al prossimo aggiornamento. Inoltre a me non interessa tradurre genericamente in maniera asettica, ad esempio “pubblica un commento” vorrei tradurlo con “contribuisci!” e questa è soluzione valida solo per me nel mio sito, non certo per quello di tutti. Dovrei perciò operare da solo.
Volevo soprattutto trovare un modo che mi evitasse di prendere e copiare e reincollare trasferire e ritrasferire file di traduzione ad ogni aggiornamento.
Esiste un metodo “ufficiale”?
Mi pare di si, se non ho capito male.
E cioè questo metodo è ricopiare le funzioni intere su function.php del tema child, a patto di trovare le funzioni interessate con WINGREP o chi per lui.
Ho capito male?
l’idea è di trovare le stringhe con wingrep, e ricopiarle sul tema child nel file php. Dovrebbe funzionare, no?
Ad ogni aggiornamento, essendo attivo il tema child, non servirà prendere e copiare e reincollare trasferire e ritrasferire file di traduzione tramite ftp. Giusto?
-
23 Luglio 2018 alle 14:50 #122307SteveAglAmministratore del forum
HO dettoc he devi copiare TUTTO il tema padre nel child e cambiare nei singoli file le stringhe, se copi pezzetti di codice a caso non andrà mai. Che poedit valga solo al prossimo aggiornamento.. non è vero il file di lingua ovviamente verrà sovrascrfitto aggiornando ma se tieni una copia e dopo l’update lo sostituisci riavrai le traduzioni tue, poi con poedit aggiungerai pure le strignhe nuove e/o modificate quel che vuoi fare tu non è pensabile da gestire con i vari aggiornamenti devi riportare sul chaild le modifiche e solo quelle del tema aggiornato e riportarle a manina, ecc ecc… dato che non hai assolutamente le idee chiare direi che non è una strada percorribile.
Se poi si tratta di un sito professionale… rivolgersi ad un professionista per gestire sta cosa è la soluzione
-
23 Luglio 2018 alle 15:30 #122308TittiModeratore
Se vuoi solo cambiare il testo del bottone di invio nel form dei commenti diversamente dalla traduzione ufficiale, inserisci questa funzione nel functions.php del child theme:
// Cambia il testo del bottone di invio nel form dei commenti
function wcs_change_submit_button_text( $defaults ) {
$defaults = 'Contribuisci!';
return $defaults;
}
add_filter( 'comment_form_defaults', 'wcs_change_submit_button_text' ); -
24 Luglio 2018 alle 5:54 #122310franccicccioPartecipante
Beh steve certo la soluzione migliore è sempre e dappertutto pagare e far fare sempre tutto agli altri, sarebbe bellissimo, purtroppo però non ho stipendi da donare ad altri, non avendone neppure uno da donare a me (sono disoccupato).
Ciononostante non mi arrendo alla miseria naturale cui il destino mi sottopone, almeno allora mi farò un sito, avendo tanto tempo a disposizione anche per apprendere a farlo.
Vediamo, con pazienza.
Non avevo capito che devo ricopiare TUTTA LA CARTELLA. Grazie lo farò.
Però non ho capito bene il resto di quanto dici: hai scritto che poedit si rinnova da sè ad ogni aggiornamento?
Mi sembra di no, perchè hai scritto: “se tieni una copia e dopo l’update lo sostituisci riavrai le traduzioni tue”.
Io invece cercavo fin dall’inizio una soluzione diversa da poedit in quanto non ho voglia di prendere copiare incollare e sostituire file ad ogni aggiornamento wordpress. Cercavo una soluzione “definitiva”, quale mi sembra il TEMA CHILD CON LE STRINGHE TRADOTTE COME DICO IO.
Forse anche per la mancanza delle virgole, mi risulta oscura questa tua frase: “poi con poedit aggiungerai pure le strignhe nuove e/o modificate quel che vuoi fare tu non è pensabile da gestire con i vari aggiornamenti devi riportare sul chaild le modifiche e solo quelle del tema aggiornato e riportarle a manina”.
Non avevamo chiarito che bisogna ricopiare TUTTO IL CODICE CON LE NUOVE STRINGHE NEL TEMA CHILD?
Bene lo si fa una volta ed è finita per sempre! No?
5 anni fa mi passai un mese per farlo con poedit, modifiche che persi all’aggiornamento successivo in quanto non avevo salvato copiato reincollato sostituito trasferito spostato e ricopiato e non ci avevo pensato. Mollai buddypress causa delusione.
Penso adesso di rifare lo stesso lavoro di ritraduzione, ma in maniera più stabile, sul tema child, cercando le stringhe con wingrep. Dovrebbe essere sufficiente, penso, spero!
Poi all’aggiornamento di wordpress, resterà il tema child immobile. No?
Cosa non ho capito o ho capito male?
Titti grazie per il consiglio, in realtà però vorrei cambiare una gran quantità di voci, a cominciare da quel “Registrarsi a questo sito è facile. Compila i campi di seguito e ti imposteremo un nuovo account in un niente” che compare alla pagina registrazione. In ogni caso avevo capito che al file functions.php del tema child dovevo ricopiare solo PICCOLI PEZZI con le nuove stringhe, come mi fai capire anche tu, e non TUTTO L’INTERO CODICE CON LE STRINGHE RINNOVATE, come suggerisce steve.
Vedo che ci sono due prospettive diverse…
-
24 Luglio 2018 alle 7:07 #122311SteveAglAmministratore del forum
allora chiariamo i passi
1) ho il tema padre lo copio nel child
2) nel child cambio tutte le stringhe che volgio direttamente in italiano
3) fra un mese esce un aggiornamento del tema padre con modifiche al codice
4) copi i file sul child e rifaccio le modifiche alle strnghe? è l’unica via (NON esiste un modo per copiare solo le stringhe da tradurre da qualche parte non funziona cosà¬)
La soluzione di cui sopra ad ogni aggiornamento ti costringe ad passare ore o giorni a confrontare file riportare le modifiche ritradurre etc etc
soluzione semplice
1) Uso poedit per ottenere un file di lingua it_IT come piace ame (puoi tradurre car in inglese come treno in italiano
2) mi tengo la copia del file di lingue, oviamente se il tema arriva con un file di lingua in italiano lo sostituirò con quello mio personale
3) esce una versione nuova del tema, appena aggiorno il file di lingua italiano viene sovrascritto ma posso sovrascriverlo di nuovo con la copia che ho del mio
4) con poedit posso trovare le nuove stringhe aggiunte magari per nuove funzionalità del tema e aggiungerle alla traduzione
La priam soluzione è una mostruosa perdita di tempo, devi lavorare sul codice se per errore cambio il php inserendo degli errori poi hai problemi etc etc, si può fare fa perdere tempo presuppone che uno si muova agilmente con il PHP e WP e sappia sempre quel che fa e dove metter mano. La seconda ti da un file di lingua in italiano che puoi copiarti tenerti aggiornarti, con un tool, poedit, che è pensato per lo scopo di tradurre e absta
Ora, suggerendoti prima di studiare bene la localizzazione di temi e plugin e la loro internazionalizzazione partendo da link che ti ho fornito, scegli tu che strada seguire, ma visto le tue idee confuze sull’argomento e sopratutto direi scarsa conosscenza tecnica la seconda via è l’unica percorribile con pochi problemi.
-
24 Luglio 2018 alle 9:38 #122312TittiModeratore
In ogni caso avevo capito che al file functions.php del tema child dovevo ricopiare solo PICCOLI PEZZI con le nuove stringhe, come mi fai capire anche tu, e non TUTTO L’INTERO CODICE CON LE STRINGHE RINNOVATE, come suggerisce steve.
Vedo che ci sono due prospettive diverse…
No, non sono prospettive diverse, sono due cose completamente diverse quello che ti ho detto io e quello che ti ha detto Steve. Io ti ho suggerito una funzione creata apposta (non da me) all’occasione – non è un pezzo tagliato, incollato e modificato da qualcosa già presente nel codice, in sostanza non appartiene a niente: non è un pezzo di qualcos’altro, tanto per ribadire.
àˆ una funzione che va bene per tutti – cioè si può aggiungere nel functions.php di qualsiasi child theme perché cambia un valore presente nel core di WP, non in un tema – fatta per sovrascrivere la traduzione di default, in questo caso di “label_submit”, che è il nome del valore “post comment” (o “pubblica il commento” in italiano), e naturalmente non andrà mai persa (a meno che, ovviamente, WP non cambi il nome a label_submit, o altro, assai improbabile, ma se cosଠfosse si cambia come va cambiata).
Si chiamano generalmente snippet, ma più precisamente hook quando, come in questo caso, utilizzano gli “agganci” inclusi apposta da WordPress affinché vi si possano “appendere” propri codici per modificare un certo comportamento. Ci sono due tipi di hook: azioni e filtri, e quello è un filtro, cioè qualcosa che modifica. Un’azione invece permette di aggiungere funzionalità extra, ad esempio aggiungere widget o menu.
Il functions.php del child-theme serve anche a questo, anzi è il posto giusto in cui apporre “actions” e “filters”.
Se, invece, hai una funzione nel tema genitore che vuoi cambiare in qualche sua parte, in quel caso *devi ricopiare tutta la funzione (non tutto il file)*, cioè da dove inizia a dove finisce, incollarla nel functions.php del tema figlio e modificare lଠciò che vuoi modificare, questo perché, secondo logica, non puoi spezzare una funzione, e quest’ultima versione andrà a sovrascrivere l’originale.
Questo per ciò che riguarda il functions.php, che si comporta diversamente dagli altri file del template.
Per quanto riguarda invece modificare gli altri file del tema, definiti appunto come “file di template” perché in definitiva danno l’aspetto al sito e forniscono i “contenitori” per i contenuti, tipo header.php, footer.php, sidebar.php, comments.php, page.php e cosଠvia, *per quelli devi prendere tutto il contenuto, e quindi in definitiva fare una copia del file, caricarla nel child-theme e cambiare quella nelle parti che ti interessano.*
-
27 Luglio 2018 alle 9:30 #122323franccicccioPartecipante
Spiegazioni fantastiche, quasi cristalline, direi che è tutto ciò che volevo sapere. Grazie mille steve e titti!!
-
-
AutorePost
- Devi essere connesso per rispondere a questo topic.