原創(chuàng)|使用教程|編輯:我只采一朵|2014-01-06 11:13:10.000|閱讀 2669 次
概述:本文講解了DevExpress Dashboard在運(yùn)行時(shí)如何修改默認(rèn)本地化資源。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
企業(yè)級儀表盤 DevExpress Dashboard 可以在運(yùn)行時(shí)以編程的形式指定本地化資源的值,這個(gè)方法適用于在設(shè)計(jì)時(shí)不知道資源值的情況。今天小編為大家介紹如何本地化Windows Forms UI。
1、創(chuàng)建localizer class的子類
Dashboard Suite WinForms UI中有兩個(gè)特定的localizer對象類型:
2、接下來覆蓋GetLocalizedString方法。這個(gè)方法會調(diào)用每個(gè)本地化字符串并返回字符串的值。默認(rèn)情況下,它返回的值包含在 DashboardWinStringId (in the DashboardWinLocalizer class) 或 DashboardStringId (in the DashboardLocalizer class) 類中。覆蓋GetLocalizedString方法后可以返回自定義的字符串值。
3、最后,為class部署一個(gè)實(shí)例,讓它變成靜態(tài)的Active屬性。注意:不是所有的字符串都可以通過Localizer classes進(jìn)行轉(zhuǎn)換。Dashboard包含表單資源(如Create Data Source wizard),唯一能轉(zhuǎn)換它們的方式就是創(chuàng)建Satellite assemblies。
下面這段代碼展示了如何將Dashboard Designer的界面本地化為Spanish:
public class SpanishDashboardWinLocalizer : DashboardWinLocalizer { public override string Language { get { return "Español"; }} public override string GetLocalizedString(DashboardWinStringId id) { string ret = ""; switch(id) { // ... case DashboardWinStringId.CommandNewDashboardCaption : return "Nuevo"; case DashboardWinStringId.CommandOpenDashboardCaption : return "Abrir"; case DashboardWinStringId.CommandSaveDashboardCaption : return "Guardar"; case DashboardWinStringId.CommandSaveAsDashboardCaption : return "Guardar como"; case DashboardWinStringId.CommandUndoCaption : return "Deshacer"; case DashboardWinStringId.CommandRedoCaption : return "Rehacer"; case DashboardWinStringId.CommandNewDataSourceCaption : return "Nueva Fuente de Datos"; case DashboardWinStringId.CommandEditDataSourceCaption : return "Editar"; case DashboardWinStringId.CommandDeleteDataSourceCaption : return "Eliminar"; // ... default: ret = ""; break; } return ret; } } public class SpanishDashboardCoreLocalizer : DashboardLocalizer { public override string Language { get { return "Español"; }} public override string GetLocalizedString(DashboardStringId id) { string ret = ""; switch(id) { // ... case DashboardStringId.DateTimeGroupIntervalYear : return "Año"; case DashboardStringId.SummaryTypeSum : return "Suma"; case DashboardStringId.DescriptionItemArgument : return "Argumento"; case DashboardStringId.DescriptionArguments : return "Argumentos"; case DashboardStringId.DescriptionItemValue : return "Valor"; case DashboardStringId.DescriptionValues : return "Valores"; // ... default: ret = ""; break; } return ret; } }
之后,這些localizers會被實(shí)例化,給它們的父類部署Active屬性:
private void Form1_Load(object sender, System.EventArgs e) { DashboardWinLocalizer.Active = new SpanishDashboardWinLocalizer(); DashboardLocalizer.Active = new SpanishDashboardCoreLocalizer(); }
最終結(jié)果:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件