View Full Version : Standard message translation / localization

7 Jan 2010, 8:57 AM
I need to develop an User Interface in Italian language, so I need to translate all messages. My solution does NOT modify the original library 'ext-all.js'. After loading it, I load an additional file 'italian-messages.js' I wrote with the following code. It works fine and I hope that is a good model for other translations. Any comment? (I know there are some other messages, like 'Loading...' , 'Cancel', 'OK',... but I prefere to NOT localize them).

// Traduzione dei messaggi di Validation

Ext.form.Field.prototype.invalidText = 'Il valore di questo campo non Ŕ valido';

Ext.form.TextField.prototype.blankText = 'Questo campo Ŕ obbligatorio';
Ext.form.TextField.prototype.minLengthText = 'The lunghezza minima di questo campo Ŕ di {0} caratteri';
Ext.form.TextField.prototype.maxLengthText = 'The lunghezza massima di questo campo Ŕ di {0} caratteri';

Ext.form.NumberField.prototype.minText = 'Il valor minimo per questo campo Ŕ {0}';
Ext.form.NumberField.prototype.maxText = 'Il valor massimo per questo campo Ŕ {0}';
Ext.form.NumberField.prototype.nanText = '{0} non Ŕ un numero';

Ext.form.DateField.prototype.disabledDaysText = 'Non selezionabile';
Ext.form.DateField.prototype.disabledDatesText = 'Non selezionabile';
Ext.form.DateField.prototype.minText = 'La data deve essere uguale o successiva a {0}';
Ext.form.DateField.prototype.maxText = 'La data deve essere uguale o precedente a {0}';
Ext.form.DateField.prototype.invalidText = '{0} non Ŕ una data valida - deve essere nel formato {1}';

// Traduzione DatePicker

// Traduzione nomi giorni
Date.dayNames = ["Domenica", "Lunedý", "Martedý", "Mercoledý", "Giovedý", "Venerdý", "Sabato"];

// Traduzione nomi mesi
Date.monthNames = ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno",
"Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"];

Date.monthNumbers = {Gen:0, Feb:1, Mar:2, Apr:3, Mag:4, Giu:5, Lug:6, Ago:7, Set:8, Ott:9, Nov:10, Dic:11};

Ext.DatePicker.prototype.todayText = 'Oggi',
Ext.DatePicker.prototype.okText = ' OK ',
Ext.DatePicker.prototype.cancelText = 'Cancel',
Ext.DatePicker.prototype.todayTip = '{0} (BarraSpaziatrice)',
Ext.DatePicker.prototype.minText = 'Questa data Ŕ prima della data minima',
Ext.DatePicker.prototype.maxText = 'Questa data Ŕ dopo la data massima',
Ext.DatePicker.prototype.format = 'd/m/Y',
Ext.DatePicker.prototype.disabledDaysText = 'Non selezionabile',
Ext.DatePicker.prototype.disabledDatesText = 'Non selezionabile',
Ext.DatePicker.prototype.monthNames = Date.monthNames;
Ext.DatePicker.prototype.dayNames = Date.dayNames;
Ext.DatePicker.prototype.nextText = 'Mese successivo (CTRL+Right)';
Ext.DatePicker.prototype.prevText = 'Mese precedente (CTRL+Left)';
Ext.DatePicker.prototype.monthYearText = 'Seleziona il mese (CTRL+Up/Down per cambiare anno)';
Ext.DatePicker.prototype.startDay = 1; //Lunedý

// Traduzione messaggi Paging di Extjs

Ext.PagingToolbar.prototype.displayMsg = 'Mostro {0} - {1} di {2}';
Ext.PagingToolbar.prototype.emptyMsg = 'Nessun dato da mostrare';
Ext.PagingToolbar.prototype.beforePageText = 'Pag.';
Ext.PagingToolbar.prototype.afterPageText = 'di {0}';
Ext.PagingToolbar.prototype.firstText = 'Pagina iniziale';
Ext.PagingToolbar.prototype.prevText = 'Precedente';
Ext.PagingToolbar.prototype.nextText = 'Successiva';
Ext.PagingToolbar.prototype.lastText = 'Pagina finale';
Ext.PagingToolbar.prototype.refreshText = 'Ricarica';

7 Jan 2010, 2:14 PM
Did you look at Ext src folder (Ext3xx\src\locale)? It has a lot of translations files, including Italian (ext-lang-it.js).
PS: more information about localization here (http://www.extjs.com/learn/Tutorial:Localizing_Ext)