Formato file XLSX e CSV

Lo schema della cartella di andata e ritorno: un foglio per impostazione cultura, le colonne che Daxlate rilegge e quando una riga viene importata.

Ultimo aggiornamento:

Daxlate esporta le traduzioni in XLSX (tramite ClosedXML) o in CSV (tramite CsvHelper). Un file con un livello report esporta due fogli, Modello e Report (o la coppia .model.csv e .report.csv); un file di solo modello esporta soltanto il livello modello. Questa pagina documenta prima il foglio del modello in dettaglio, poi il foglio del report.

Struttura del foglio del modello #

Il foglio di lavoro del modello si chiama Model (le esportazioni a livello singolo delle build precedenti lo chiamavano Translations). Le sue righe:

RigaContenuto
1Marcatore di versione dello schema nella cella A1 (Daxlate/1.0, in corsivo, grigio)
2Riga di intestazione, in grassetto, con sfondo beige
3+Una riga per ogni oggetto traducibile

La riga di intestazione è bloccata, così i titoli di colonna restano visibili mentre il traduttore scorre. Anche le prime quattro colonne sono bloccate, così le colonne di identità restano visibili scorrendo a destra tra le colonne delle culture.

Colonne #

Prima vengono quattro colonne informative fisse:

ColonnaNote
Object IDChiave di identità in fase di importazione. Non modificare.
TypeUno tra Table, Column, Measure, Hierarchy, Level.
ParentNome dell’oggetto contenitore (ad esempio la tabella in cui vive una misura).
NameIl nome dell’oggetto nel modello (la didascalia della cultura predefinita).

Poi, per ogni cultura del modello, due colonne:

Caption ({culture})    Description ({culture})

Le colonne della cultura predefinita del modello hanno uno sfondo ombreggiato, così è chiaro qual è la colonna di riferimento.

Quali delle due colonne vengono scritte dipende dall’interruttore VISTA della griglia al momento dell’esportazione: Didascalia scrive solo le colonne di didascalia, Descrizione solo quelle di descrizione, Entrambe le scrive tutte. Ogni oggetto ottiene comunque una riga in ogni modalità, compresi quelli che non hanno ancora una descrizione.

Convenzione per Object ID #

Daxlate compone gli ID a partire dal genere dell’oggetto e dal suo nome qualificato:

GenereFormaEsempio
Tabellat.{Name}t.Sales
Colonnac.{Table}.{Name}c.Sales.Revenue
Misuram.{Table}.{Name}m.Sales.Total Revenue
Gerarchiah.{Table}.{Name}h.Date.Calendar
Livello di gerarchia{HierarchyId}.l{Ordinal}h.Date.Calendar.l1

Rinominare un oggetto nel modello ne cambia l’ID. Alla reimportazione, le righe con un Object ID sconosciuto vengono segnalate come avvisi nella finestra di anteprima e saltate; l’importazione non le scarta in silenzio.

Versione dello schema #

La cella A1 dell’XLSX (o la prima riga di commento del CSV) porta la versione dello schema. Il lettore rifiuta i file di una versione maggiore più recente con un avviso chiaro e tratta i marcatori mancanti come 1.0, per compatibilità con le esportazioni precedenti all’introduzione del versionamento.

Il marcatore attuale è Daxlate/1.0. Gli incrementi sono minori per colonne aggiuntive (le colonne nuove vengono ignorate con un avviso) e maggiori per modifiche che rompono la compatibilità (ad esempio una diversa convenzione per Object ID).

Foglio del report #

Per un file con livello report, un secondo foglio chiamato Report porta il testo del canvas (titoli degli oggetti visivi, intestazioni, pulsanti, caselle di testo). Usa una forma larga e comoda per il traduttore: una riga per ogni elemento di testo con un’unica colonna Value ({culture}) per lingua, invece della coppia didascalia/descrizione del foglio del modello, così il traduttore riempie tutte le lingue di una stringa su una sola riga. L’importazione rileva dal contenuto se un file è un foglio del modello, un foglio del report o una cartella di lavoro a due fogli, e applica il livello corrispondente.

Su disco, le traduzioni del report vivono accanto al file come file affiancato chiamato {file}.daxlate.csv, il CSV funzionale che Power BI legge all’aggiornamento. Le traduzioni del modello vivono dentro il .pbit; per averne una copia usa Esporta. Vedi Tradurre gli oggetti visivi del report.

Struttura del CSV #

Il CSV usa la stessa disposizione di colonne, separate da virgole. La riga 1 contiene il marcatore dello schema come commento:

# Daxlate/1.0
Object ID,Type,Parent,Name,Caption (en-US),Description (en-US),Caption (fr-FR),Description (fr-FR)
t.Sales,Table,,Sales,Sales,,Ventes,
c.Sales.Revenue,Column,Sales,Revenue,Revenue,,Chiffre d'affaires,

UTF-8 con BOM e terminatori di riga CRLF, per la compatibilità con l’apertura tramite doppio clic in Excel.

Celle vuote #

Una cella vuota significa “non ancora tradotto” e viene lasciata intatta in importazione; non cancella una traduzione esistente. Questo corrisponde a XLIFF, gettext e alle principali piattaforme di traduzione, così restituire un file lasciato a metà non cancella mai le righe che un traduttore non ha raggiunto. L’anteprima di importazione riporta quante celle vuote sono state saltate. Per rimuovere una traduzione, svuotala nella griglia oppure togli la lingua dal menu a discesa Culture. Vedi Andata e ritorno con Excel per il flusso completo di reimportazione.