Appendice 3: Traduzione di XOOPS in una Lingua Locale
XOOPS 2.7.0 è spedito solo con file di lingua inglese. Le traduzioni in altre lingue sono mantenute dalla comunità e distribuite tramite GitHub e i vari siti di supporto locali di XOOPS.
Dove trovare le traduzioni esistenti
Sezione intitolata “Dove trovare le traduzioni esistenti”- GitHub — le traduzioni della comunità sono sempre più pubblicate come repository separate sotto l’organizzazione XOOPS e su account di contributori individuali. Cerca su GitHub
xoops-language-<your-language>o sfoglia l’organizzazione XOOPS per i pacchetti attuali. - Siti di supporto XOOPS locali — molte comunità XOOPS regionali pubblicano traduzioni sui loro siti. Visita https://xoops.org e segui i link alle comunità locali.
- Traduzioni moduli — le traduzioni per i singoli moduli della comunità in genere vivono accanto al modulo stesso nell’organizzazione GitHub
XoopsModules25x(il25xnel nome è storico; i moduli lì sono mantenuti sia per XOOPS 2.5.x che 2.7.x).
Se una traduzione per la tua lingua già esiste, rilascia le directory del linguaggio nella tua installazione XOOPS (vedi “Come installare una traduzione” di seguito).
Cosa ha bisogno di essere tradotto
Sezione intitolata “Cosa ha bisogno di essere tradotto”XOOPS 2.7.0 mantiene i file di lingua accanto al codice che li consuma. Una traduzione completa copre tutte queste posizioni:
- Core —
htdocs/language/english/— costanti in tutto il sito utilizzate da ogni pagina (login, errori comuni, date, template mail, ecc.). - Programma di installazione —
htdocs/install/language/english/— stringhe mostrate dalla procedura guidata di installazione. Traduci questi prima di eseguire il programma di installazione se desideri un’esperienza di installazione localizzata. - Modulo sistema —
htdocs/modules/system/language/english/— di gran lunga il set più grande; copre l’intero pannello di controllo admin. - Moduli in bundle — ognuno di
htdocs/modules/pm/language/english/,htdocs/modules/profile/language/english/,htdocs/modules/protector/language/english/ehtdocs/modules/debugbar/language/english/. - Temi — un paio di temi spediscono i propri file di lingua; controlla
htdocs/themes/<theme>/language/se esiste.
Una traduzione “solo core” è l’unità utile minima e corrisponde ai primi due punti sopra.
Come tradurre
Sezione intitolata “Come tradurre”-
Copia la directory
english/accanto ad essa e rinomina la copia nella tua lingua. Il nome della directory deve essere il nome inglese minuscolo della lingua (spanish,german,french,japanese,arabic, ecc.).htdocs/language/english/ → htdocs/language/spanish/ -
Apri ogni file
.phpnella nuova directory e traduci i valori di stringa all’interno delle chiamatedefine(). Non modificare i nomi delle costanti — sono referenziati dal codice PHP in tutto il core.// Prima:define('_CM_COMDELETED', 'Comment(s) deleted.');define('_CM_COMDELETENG', 'Could not delete comment.');define('_CM_DELETESELECT', 'Delete all its child comments?');// Dopo (Spagnolo):define('_CM_COMDELETED', 'Comentario(s) eliminado(s).');define('_CM_COMDELETENG', 'No se pudo eliminar el comentario.');define('_CM_DELETESELECT', '¿Eliminar también todos sus comentarios secundarios?'); -
Salva ogni file come UTF-8 senza BOM. XOOPS 2.7.0 utilizza
utf8mb4end-to-end (database, sessioni, output) e rifiuta i file con un byte-order mark. In Notepad++ questa è l’opzione “UTF-8”, non “UTF-8-BOM”. In VS Code è il predefinito; confermalo solo nella barra di stato della codifica. -
Aggiorna i metadati di lingua e charset in cima a ogni file per corrispondere alla tua lingua:
// _LANGCODE: es// _CHARSET : UTF-8// Translator: Your Name_LANGCODEdeve essere il codice ISO 639-1 per la tua lingua._CHARSETè sempreUTF-8in XOOPS 2.7.0 — non c’è più una variante ISO-8859-1. -
Ripeti per il programma di installazione, il modulo Sistema e tutti i moduli in bundle di cui hai bisogno.
Come installare una traduzione
Sezione intitolata “Come installare una traduzione”Se hai ottenuto una traduzione finita come albero di directory:
- Copia ogni directory
<language>/nel padre corrispondentelanguage/english/nella tua installazione XOOPS. Ad esempio, copialanguage/spanish/inhtdocs/language/,install/language/spanish/inhtdocs/install/language/, e così via. - Assicurati che la proprietà del file e i permessi siano leggibili dal server web.
- Seleziona la nuova lingua al momento dell’installazione (la procedura guidata scansiona
htdocs/language/per le lingue disponibili) oppure, su un sito esistente, cambia la lingua in Admin → Sistema → Preferenze → Impostazioni Generali.
Condivisione della tua traduzione con la comunità
Sezione intitolata “Condivisione della tua traduzione con la comunità”Si prega di contribuire la tua traduzione alla comunità.
-
Crea un repository GitHub (o fai un fork di un repository di lingua esistente se uno esiste per la tua lingua).
-
Usa un nome chiaro come
xoops-language-<language-code>(ad es.xoops-language-es,xoops-language-pt-br). -
Specchia la struttura della directory XOOPS all’interno del tuo repository in modo che i file si allineino con il punto in cui vengono copiati:
xoops-language-es/├── language/spanish/(files).php├── install/language/spanish/(files).php└── modules/system/language/spanish/(files).php -
Includi un
README.mddocumentando:- Nome lingua e codice ISO
- Compatibilità versione XOOPS (ad es.
XOOPS 2.7.0+) - Traduttore e crediti
- Se la traduzione è solo core o copre moduli in bundle
-
Apri una pull request nel repository del modulo/core pertinente su GitHub o pubblica un annuncio su https://xoops.org in modo che la comunità possa trovarla.
Nota
Se la tua lingua richiede modifiche al core per la formattazione della data o del calendario, includi anche queste modifiche nel pacchetto. Le lingue con script da destra a sinistra (arabo, ebraico, persiano, urdu) funzionano fuori dagli schemi in XOOPS 2.7.0 — il supporto RTL è stato aggiunto in questo rilascio e i singoli temi lo scelgono automaticamente.