Ext.js - Локализация
Всегда лучше общаться с пользователями на том языке, который они понимают и предпочитают. Пакет локализации Extjs поддерживает более 40 языков, таких как немецкий, французский, корейский, китайский и т. Д. Реализовать локаль в ExtJs очень просто. Вы найдете все связанные файлы локали в папке переопределения пакета ext-locale. Файлы локали просто переопределяют, что сообщает Ext JS о необходимости замены английских значений по умолчанию для определенных компонентов.
Следующая программа должна показать месяц в другой локали, чтобы увидеть эффект. Попробуйте следующую программу.
<!DOCTYPE html>
<html>
<head>
<link href = "https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/theme-classic/resources/theme-classic-all.css"
rel = "stylesheet" />
<script type = "text/javascript"
src = "https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/ext-all.js"></script>
<script type = "text/javascript"
src = "https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/locale/locale-fr.js"></script>
<script type = "text/javascript">
Ext.onReady(function() {
var monthArray = Ext.Array.map(Ext.Date.monthNames, function (e) { return [e]; });
var ds = Ext.create('Ext.data.Store', {
fields: ['month'],
remoteSort: true,
pageSize: 6,
proxy: {
type: 'memory',
enablePaging: true,
data: monthArray,
reader: {type: 'array'}
}
});
Ext.create('Ext.grid.Panel', {
renderTo: 'grid',
id : 'gridId',
width: 600,
height: 200,
title:'Month Browser',
columns:[{
text: 'Month of the year',
dataIndex: 'month',
width: 300
}],
store: ds,
bbar: Ext.create('Ext.toolbar.Paging', {
pageSize: 6,
store: ds,
displayInfo: true
})
});
Ext.getCmp('gridId').getStore().load();
});
</script>
</head>
<body>
<div id = "grid" />
</body>
</html>
Вышеупомянутая программа даст следующий результат
Для использования другой локали, кроме английского, нам нужно будет добавить файл, специфичный для локали, в нашу программу. Здесь мы используем https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/locale/localefr.js для французского языка. Вы можете использовать разные языковые стандарты для разных языков, например https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/locale/locale-ko.js для корейского и т. Д.
Следующая программа должна показать средство выбора даты на корейском языке, чтобы увидеть эффект. Попробуйте следующую программу.
<!DOCTYPE html>
<html>
<head>
<link href = "https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/theme-classic/resources/theme-classic-all.css"
rel = "stylesheet" />
<script type = "text/javascript"
src = "https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/ext-all.js"></script>
<script type = "text/javascript"
src = "https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/locale/locale-ko.js"></script>
<script type = "text/javascript">
Ext.onReady(function() {
Ext.create('Ext.picker.Date', {
renderTo: 'datePicker'
});
});
</script>
</head>
<body>
<div id = "datePicker" />
</body>
</html>
Вышеупомянутая программа даст следующий результат -
В следующей таблице перечислены несколько языковых стандартов, доступных в ExtJS, и URL-адрес основного файла, который необходимо изменить.
Locale | Язык | URL-адрес локали |
---|---|---|
ко | корейский язык | https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/locale/locale-ko.js |
fr | французский язык | https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/locale/locale-fa.js |
es | испанский язык | https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/locale/locale-es.js |
я | Японский | https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/locale/locale-ja.js |
Это | Итальянский | https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/locale/locale-it.js |
ру | русский | https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/locale/locale-ru.js |
zh_CN | Упрощает китайский | https://cdnjs.cloudflare.com/ajax/libs/extjs/6.0.0/classic/locale/localezh_CN.js |