Localizzazione delle cartelle

Uno dei punti di forza di Mac OS X, dal punto di vista di un programmatore, è senza dubbio il sistema di localizzazione integrato in esso. Il Sistema Operativo offre allo sviluppatore una serie di strumenti che facilitano l’integrazione delle proprie applicazioni nella lingua usata dall’utente. Questi strumenti possono essere estesi non solo alle applicazioni, ma anche alle cartelle del filesystem. Se con il Finder apriamo la nostra Home, troviamo al suo interno le cartelle Documenti, Filmati e Musica. Ma se andiamo ad esplorarla attraverso il Terminale, ci accorgeremo che tali cartelle corrispondono alle directory Documents, Movies e Music.
Attraverso questo sistema, è possibile semplificare le operazioni sulle cartelle rendendole più user-friendly all’utente, senza complicare troppo la vita al programmatore, dal momento che egli, potrà sempre e comunque, fare riferimento alle path di queste cartelle attraverso il nome reale, senza preoccuparsi di come queste vengono chiamate dall’utente nella sua lingua.
Vediamo come possiamo personalizzare i nomi di queste cartelle, o meglio ancora, aggiungerne di altre.

Metodo 1

Questo metodo prevede la modifica della configurazione del Finder e, affichè la nostra cartella venga localizzata, occorre ripetere l’operazione sotto descritta in ogni singola installazione di Mac OS X. Questo approccio viene usato per le cartelle di sistema predefinite.
Andiamo nella nostra Home e creiamo la cartella Projects.
Quindi da terminale, attraverso il nostro editor di testo preferito (io uso vi) editiamo il file contenente le stringhe di localizzazione per l’italiano (ovviamente la regola vale per qualunque lingua, basta modificare il file corretto!):

$ sudo vi /System/Library/CoreServices/SystemFolderLocalizations/it.lproj/SystemFolderLocalizations.strings

e andiamo ad aggiungere la seguente riga:

"Projects" = "Progetti";

Salviamo il file e poi digitiamo il seguente comando:

$ touch Projects/.localized

Quest’ultimo crea un file all’interno della nostra cartella che indica al Finder di localizzarla usando la stringa che abbiamo impostato.
Per rendere effettive le modifiche dobbiamo disconnetterci e effettuare di nuovo il login, oppure riavviare il sistema.

Metodo 2

Questo metodo segue invece un approccio leggermente diverso in quanto le stringhe di localizzazione risiedono all’interno della cartella stessa. Per fare ciò dobbiamo innanzitutto aggiungere l’estensione .localized al nome della cartella. Questa volta creeremo la relativa directory direttamente da Terminale:

$ mkdir Projects.localized

Noterete fin da subito che il Finder mostrerà solo la prima parte del nome, nascondendone l’estensione.
Adesso creiamo la subdirectory .localized:

$ mkdir Projects.localized/.localized

Quindi creiamo al suo interno il file per la localizzazione in italiano:

$ vi Projects.localized/.localized/it.strings

e inseriamo la traduzione:

"Projects" = "Progetti";

Salvate le modifiche; dopodiché rifate il login oppure riavviate il sistema, al termine del quale troverete il nome della vostra cartella localizzata.

I metodi descritti in questo articolo sono validi purché nelle preferenze del Finder non sia stata spuntata l’opzione Mostra tutte le estensioni dei documenti (Menù Finder > Preferenze > Avanzate).
La localizzazione delle applicazioni invece, benché si basi sullo stesso principio, merita senza dubbio un articolo a parte, vista la maggior complessità.