11.04.2013 Views

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

Guida avanzata di scripting Bash - Portale Posta DMI

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Quin<strong>di</strong> si esegue msgfmt.<br />

msgfmt -o localized.sh.mo fr.po<br />

Appen<strong>di</strong>ce I. Localizzazione<br />

Il risultante file localized.sh.mo va collocato nella <strong>di</strong>rectory<br />

/usr/local/share/locale/fr/LC_MESSAGES e, all’inizio dello script, si inseriscono le righe:<br />

TEXTDOMAINDIR=/usr/local/share/locale<br />

TEXTDOMAIN=localized.sh<br />

Se un utente <strong>di</strong> un sistema francese dovesse eseguire lo script, otterrebbe i messaggi nella sua lingua.<br />

Nota: Nelle versioni più vecchie <strong>di</strong> <strong>Bash</strong>, o in altre shell, la localizzazione richiede l’uso <strong>di</strong> gettext con<br />

l’opzione -s. In questo caso, lo script andrebbe così mo<strong>di</strong>ficato:<br />

#!/bin/bash<br />

# localized.sh<br />

E_CDERROR=65<br />

error() {<br />

local format=$1<br />

shift<br />

printf "$(gettext -s "$format")" "$@" >&2<br />

exit $E_CDERROR<br />

}<br />

cd $var || error "Can’t cd to %s." "$var"<br />

read -p "$(gettext -s "Enter the value: ")" var<br />

# ...<br />

Le variabili TEXTDOMAIN e TEXTDOMAINDIR devono essere impostate ed esportate. Ciò andrebbe fatto<br />

all’interno dello script stesso.<br />

---<br />

Appen<strong>di</strong>ce scritta da Stéphane Chazelas, con mo<strong>di</strong>fiche suggerite da Alfredo Pironti e da Bruno Haible,<br />

manutentore <strong>di</strong> gettext GNU.<br />

790

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!