Etichette e internazionalizzazione¶
pTabs2 fornisce il supporto per l’internazionalizzazione sia dell’interfaccia del programma (messaggi, errori, ecc.), sia dei report.
Interfaccia¶
locale¶
Il comando locale permette di modificare la lingua dei messaggi che compaiono nella finestra di log di pTabs:
1 | locale :en
|
La lingua di default dell’interfaccia è definita nel parametro locale dei Parametri di configurazione.
Le lingue disponibili in pTabs sono due: italiano (:it) e inglese (:en).
E’ possibile inserire nuove lingue creando un file .yml con le traduzioni dei messaggi nella cartella pTabs2-user\locales. Il nome dei file non è rilevante. Gli esempi dei file da tradurre si possono trovare in pTabs2\lib\locales\ptabs.
Report¶
language¶
Il comando language permette di modificare la lingua dei testi del report. E’ possibile inserire due sigle di linguaggio, il secondo agirà come fallback in caso di mancanza della traduzione.
1 2 3 | language :fr
language :fr, :en
|
language senza nessun argomento, restituisce il linguaggio impostato.
1 2 3 4 5 | if language == :it
frm_datetime :t=>"%H:%M:%S", :d=>"%d/%m/%Y", :dt=>"%d/%m/%Y %H:%M:%S"
else
frm_datetime :t=>"%H:%M:%S", :d=>"%m-%d-%Y", :dt=>"%m-%d-%Y %H:%M:%S"
end
|
La lingua di default del report è definita nel parametro language dei Parametri di configurazione.
I testi presenti in un report di pTabs appartengono a tre gruppi di elementi:
- le etichette delle statistiche e altre etichette standard del report e delle tabelle
- le etichette delle variabili e dei livelli delle variabili
- i titoli delle tabelle e altri testi inseriti direttamente nello script di pTabs
1. Etichette standard¶
Le etichette delle statistiche e altre etichette standard del report e delle tabelle sono disponibili in due lingue: italiano (:it) e inglese (:en). I file .yml contenenti le traduzioni di queste etichette sono in pTabs2\lib\locales\labels.
Per modificare le etichette già presenti o per inserire traduzioni in nuove lingue, creare degli analoghi file .yml nella cartella pTabs2-user\languages oppure nella sottocartella languages della cartella di lavoro. Il nome dei file non è rilevante. Un file può anche contenere le traduzioni di più lingue. La struttura dei file deve essere:
sigla_lingua:
labels:
id_etichetta: Etichetta da visualizzare
...
labels << {}¶
Il comando labels << {} permette di impostare le etichette direttamente nello script. In questo caso l’etichetta verrà impostata indipendentemente dal language utilizzato.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | labels << {:empty_table_message => "La tabella è vuota"}
labels << {
autotab_no_labels: "non sa;non risponde;non ricorda;non indica;nessuno;nessuna"
}
labels << {
:label_ctotal => "TOT",
:label_rtotal => "TOT"
:autotab_no_labels => "non sa;non risponde;non indica"
}
labels << {
low_cell_label: '(*)',
low_column_base_label: '(**)',
low_column_cell_label: '*',
low_row_base_label: '(**)',
low_row_cell_label: '*',
}
|
labels[]¶
labels[] restituisce il valore dell’etichetta specificata.
1 | p labels[:label_mean] # => "media"
|
labels?¶
Il comando labels? stampa nell’output l’elenco delle etichette standard e i relativi valori.
Lista etichette standard¶
ID etichetta Etichetta index_title Indice tavole index_link_html Indice previous_link_html << next_link_html >> index_link_xlsx ( indice ) sheet_index_name indice table_continues ( continua ) empty_table_message tabella vuota low_table_message La tabella non contiene un numero significativo di casi low_cell_label ** low_column_base_label *** low_column_cell_label low_row_base_label *** low_row_cell_label max_items_warning (%{n} items sono stati nascosti) weight_legend_label Pesi: nil_weight_legend n.a. title_template %{t} code_and_label_template (#) * autotab_title_template Tabella %{n} - [%{v}] %{tf} autotab_title_template_syntax %{tf} autotab_ord_labels molto;abbastanza;poco;per nulla;aumentato;aumentato;diminuito;diminuita;uguale;per niente autotab_no_labels non sa;non risponde;non ricorda;non indica;nessuno;nessuna label_coding Codifica label_varlist Variabili label_na (n.a.) label_all TOTALE CITAZIONI label_ctotal TOTALE label_rtotal Totale label_tcount v.a. label_tcount_u v.a. (no pond.) label_tcount_x v.a. (espanso) label_trowpct row % label_tcolpct col % label_count v.a. label_count_u v.a. (no pond.) label_pct % label_rowpct row % label_colpct col % label_totpct tot % label_cumpct cum % label_nresp n. risposte label_mresp n. medio risposte label_noresp n.a. label_i_conc Ind. conc. label_base base label_base_u base (no pond.) label_mean media label_mean_inv media (inv.) label_stdev std. dev. label_serr std. err. label_min min label_max max label_limits limits label_mode moda label_median mediana label_qtile1 q1 label_qtile2 q2 label_qtile3 q3 label_qtile4 q4 label_qtile5 q5 label_qtile6 q6 label_qtile7 q7 label_qtile8 q8 label_qtile9 q9 label_range range label_tsum total sum label_sum sum label_sumpct sum % label_nvals n. valori label_miss n.r. label_misspct % n.r. label_miss_u n.r. label_misspct_u % n.r. label_sample CAMPIONE label_n n. casi label_sig_levels Sig. levels label_one_tail test a una coda label_two_tail test a due code label_sig_level livello di significatività label_conf_level livello di confidenza label_comp_note Confronti label_pcm pairwise comparisons label_pcm_note pairwise comparisons medie label_pcp pairwise comparisons label_pcp_note pairwise comparisons proporzioni label_true TRUE label_false FALSE label_note_missed Valori mancanti: %{labels} label_corr correzione di %{corr} label_cip_l IC inf. label_cip_u IC sup. label_cip_e IC err. label_cim_l IC inf. label_cim_u IC sup. label_cim_e IC err. label_ci_note Intervallo confidenza: %{level}% label_ci2_note Intervallo confidenza: proporzioni %{level1}%; medie %{level2}% label_chi2_val χ² label_chi2_df χ² df label_chi2_sig χ² sig. label_chi2_sym χ² sig. label_chi2_warn_freq Expected values below 5: Chi-squared approximation may be incorrect label_cases Base label_id ID label_question Domanda label_answer Risposta label_stat Statistica
Modifica temporanea delle etichette¶
Le etichette che iniziano con il prefisso label_ o finiscono con il suffisso _label possono essere modificate nello script con la stessa sintassi dei parametri di configurazione. All’interno del blocco della tabella, il comando avrà effetto solo per quella tabella. In questo caso l’etichetta verrà impostata indipendentemente dal language utilizzato.
1 2 3 4 5 6 7 8 9 | label_mean "Average"
ord :v1
label_mean_
ord :v1 do
label_mean "Average"
end
low_column_base_label '---'
|
2. Etichette variabili¶
Per inserire le traduzioni delle etichette delle variabili e dei livelli, vedi la sezione Metadati.
3. Titoli tabelle¶
Per inserire le traduzioni dei titoli delle tabelle e di altri testi inseriti direttamente nello script di pTabs, sono disponibili due metodi:
- il metodo translations dei driver di dati xlsx e csv
- i file YAML con nome translations_*.yml posti nella cartella di lavoro o nella sottocartella languages della cartella di lavoro
Entrambi i metodi permettodo di specificare una chiave che verrà utilizzata nello script attraverso la funzione t(:key) e le relative traduzioni.
1 2 | cat :sex, t(:tit_sex)
cat :area, t(:tit_area, :n => 2)
|
Con la sintassi %{nome_parametro} è possibile inserire parametri che verranno sostituiti nelle etichette.
translations¶
xlsx.translations e csv.translations permettono di caricare una tabella contenente le chiavi e le rispettive traduzioni nelle diverse lingue.
La tabella deve contenere il campo key e i campi con le sigle della lingua.
key | it | en |
---|---|---|
tit_sex | Sesso dell’intervistato | Gender of interviewed |
tit_area | Tabella %{n}. Macroarea | Table %{n}. Geographic Area |
file yml¶
Lo stesso contenuto può essere specificato in formato YAML.
file translations_it.yml:
it: translations: tit_sex: Sesso dell'intervistato tit_area: "Tabella %{n}. Macroarea"
file translations_en.yml:
en: translations: tit_sex: Gender of interviewed tit_area: "Table %{n}. Geographic Area"
Malgrado sia consuetudine organizzare le traduzioni in diversi file ciascuno per una lingua diversa, l a distinzione della lingua non è data dal nome del file, ma dalla sigla della lingua a cui appartengono le traduzioni. E’ da norate inoltre che le traduzioni vanno poste sotto il namespace translations.