Руководство по настройке мультиязыковой поддержки GridJs
Руководство по настройке мультиязыковой поддержки Aspose.Cells GridJs
Обзор
Это руководство проведет вас по настройке мультиязыковой поддержки в вашем проекте Aspose.Cells GridJs. Оно охватывает как фронтенд, так и бэкенд настройки.
Руководство основано на демо-проекте, пожалуйста, адаптируйте под текущую ситуацию
Конфигурация фронтенда
На ваших фронтенд-страницах задайте язык интерфейса с помощью опции local
.
В демонстрационном проекте вам нужно изменить файл uidload.html
Вот пример:
const loadNormalContext = (sheet) => {
const option = {
updateMode: 'server',
updateUrl: '/GridJs2/UpdateCell',
showToolbar: true,
mode: 'edit',
// Supported languages: en/zh/es/pt/de/ru/nl/pl
local: 'pl', // Set to Polish in this example
};
loadWithOption(jsondata, option);
};
Конфигурация бэкенда
В коде бэкенда необходимо установить соответствующий CultureInfo перед обработкой данных Excel.
В демонстрационном проекте необходимо изменить Controller файл
Точки настройки контроллера
Следующие методы в вашем контроллере требуют настройки культуры:
Метод UpdateCell
Устанавливайте информацию о регионе при обновлении ячеек:
[HttpPost]
public ActionResult UpdateCell()
{
// Set culture info
CultureInfo polishCulture = new CultureInfo("pl-PL");
Thread.CurrentThread.CurrentCulture = polishCulture;
Thread.CurrentThread.CurrentUICulture = polishCulture;
string p = HttpContext.Request.Form["p"];
string uid = HttpContext.Request.Form["uid"];
GridJsWorkbook gwb = new GridJsWorkbook();
String ret = gwb.UpdateCell(p, uid);
return Content(ret, "text/plain", System.Text.Encoding.UTF8);
}
Метод DetailFileJsonWithUid
Устанавливатьregion информацию при получении Excel JSON
public ActionResult DetailFileJsonWithUid(string filename, string uid)
{
// Set culture info
CultureInfo polishCulture = new CultureInfo("pl-PL");
Thread.CurrentThread.CurrentCulture = polishCulture;
Thread.CurrentThread.CurrentUICulture = polishCulture;
String file = Path.Combine(TestConfig.ListDir, filename);
GridJsWorkbook wbj = new GridJsWorkbook();
StringBuilder sb = wbj.GetJsonByUid(uid, filename);
if(sb == null)
{
Workbook wb = new Workbook(file);
wbj.ImportExcelFile(uid, wb);
sb = wbj.ExportToJsonStringBuilder(filename);
}
return Content(sb.ToString(), "text/plain", System.Text.Encoding.UTF8);
}
Метод DetailStreamJsonWithUid
Устанавливатьregion информацию при потоковой передаче Excel JSON
public ActionResult DetailStreamJsonWithUid(string filename, string uid)
{
// Set culture info
CultureInfo polishCulture = new CultureInfo("pl-PL");
Thread.CurrentThread.CurrentCulture = polishCulture;
Thread.CurrentThread.CurrentUICulture = polishCulture;
String file = Path.Combine(TestConfig.ListDir, filename);
GridJsWorkbook wbj = new GridJsWorkbook();
Response.ContentType = "application/json";
Response.Headers.Add("Content-Encoding", "gzip");
using (GZipStream gzip = new GZipStream(Response.Body, CompressionLevel.Optimal))
{
bool isdone = wbj.JsonToStreamByUid(gzip, uid, filename);
if(!isdone)
{
Workbook wb = new Workbook(file);
wbj.ImportExcelFile(uid, wb);
wbj.JsonToStream(gzip, filename);
}
}
return new EmptyResult();
}
Важные заметки
- Языковые настройки фронтенда и бэкенда должны совпадать.
- CultureInfo должен быть установлен перед обработкой данных Excel.
- Поддерживаемые языки: en(английский), zh(китайский), es(испанский), pt(португальский), de(немецкий), ru(русский), nl(голландский), pl(польский).
- В примере используется польский (pl-PL), но его можно изменить на любой другой поддерживаемый язык.