none
請教各位先進,關於多國語系.resx使用的方法? RRS feed

解答

  • 小弟已經找到方法了!

    來源取自 The Code Project : http://www.codeproject.com/KB/cs/multilanguageapplications.aspx

     

    Step 1 :

    程式碼區塊

    using System.Globalization;
    using System.Resources;

    Step 2 :

    程式碼區塊

    private CultureInfo culture;

     

    public Form1()
    {
      InitializeComponent();

      culture = CultureInfo.CurrentCulture;
    }

    Step 3 :

    程式碼區塊

    private void adjustCulture()
    {
      ResourceManager rm = new ResourceManager("WindowsApplication1.Form1", typeof(Form1).Assembly);

      button1.Text = rm.GetString("button1.Text", culture);
    }

    Step 4 :

    程式碼區塊

    private void menuItem1_Click(object sender, EventArgs e)
    {
      culture = CultureInfo.CreateSpecificCulture("zh-TW");

      adjustCulture();
    }

     

    當然, 要先做出 Form1.zh-TW.resx , 視需求填寫 UI 物件上的文字敘述 !

    謝謝 cmf 前輩的建議 ! 利用這些線索才能在網路上找到答案 !

    2008年1月21日 上午 07:14

所有回覆

  • 請問你是 using VS.Net 2003. 嗎

     

     

    2008年1月18日 上午 07:38
  • cmf 前輩你好,

    我的開發環境是:WinXP;VS .NET2005 MobileDevice C#

    2008年1月18日 上午 07:41
  • 請問

    是否有 錯誤訊息嗎

     

     

    2008年1月18日 上午 07:45
  • cmf 前輩,我下的語法如下:

    程式碼區塊
    private void menuItem2_Click(object sender, EventArgs e)
    {
      Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-TW");
      Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-TW");
    }

     

    Error Message 如下:

    程式碼區塊

    'System.Threading.Thread' 不包含 'CurrentCulture' 的定義

    'System.Threading.Thread' 不包含 CurrentUICulture的定義

     

    2008年1月18日 上午 07:53
  • 當應用程式啟動時,會使用裝置的地區設定。其值是由 CurrentCultureCurrentUICulture 屬性反映。這些屬性在 .NET Compact Framework 中是唯讀的。

     

    NET Compact Framework 不支援 ThreadCurrentCultureCurrentUICulture 屬性,因為文化特性設定是以個別裝置 (而不是個別的執行緒) 為基礎。

     

    資源當地語系化
    2008年1月18日 上午 08:22
  • cmf 前輩,

    關於這篇 http://msdn2.microsoft.com/zh-tw/library/t7htf230(VS.80).aspx  Mobile C# 不支援 的語法,

    早一點讓我知道,幫助蠻大的,不過我 Try 了一下,果然是唯讀!

    程式碼區塊

    System.Globalization.CultureInfo.CurrentCulture = new CultureInfo("zh-TW"); //error

    System.Globalization.CultureInfo.CurrentUICulture = new CultureInfo("zh-TW");  //error

     

    MessageBox.Show(System.Globalization.CultureInfo.CurrentCulture.ToString());
    MessageBox.Show(System.Globalization.CultureInfo.CurrentUICulture.ToString());

     

    關於那篇文章還是有些看不懂的地方,至於要如何做到切換 .resx 我相信應該是有方法的,

    所以短期內我再找找,解決的話小弟樂意公佈!

    如果有前輩或是其他先進幫忙那是更好的啦!先謝謝 cmf 前輩提供的線索!
    2008年1月18日 上午 09:28
  • 應該是 有方法   切換 .resx  的

     

     

    在執行階段可使用 ResourceManager 類別存取特定文化特性的資源。

     

    例如:

     

    if  ( System.Globalization.CultureInfo.CurrentUICulture== 中國 )

    {

       ResourceManager  載入   CN.resx

    }

    else if  ( System.Globalization.CultureInfo.CurrentUICulture== 台灣 )

    {

       ResourceManager  載入   TW.resx

    }

     

     

     

     

     

    2008年1月18日 上午 09:40
  • cmf 前輩,

    很抱歉,關於 http://msdn2.microsoft.com/zh-tw/library/system.resources.resourcemanager(VS.80).aspx 

    這篇寫的我是有看沒有懂? 現在已經頭昏昏腦脹脹了! 下個星期再繼續討論好了! ㄚ~ 我已經不行了!!!

    小弟在 http://www.codeproject.com/KB/cpp/mult_lang_support.aspx 這裡找到類似的方法,再研究看看了!

    謝謝 cmf 前輩 提供的建議 !

    2008年1月18日 上午 10:45
  • 小弟已經找到方法了!

    來源取自 The Code Project : http://www.codeproject.com/KB/cs/multilanguageapplications.aspx

     

    Step 1 :

    程式碼區塊

    using System.Globalization;
    using System.Resources;

    Step 2 :

    程式碼區塊

    private CultureInfo culture;

     

    public Form1()
    {
      InitializeComponent();

      culture = CultureInfo.CurrentCulture;
    }

    Step 3 :

    程式碼區塊

    private void adjustCulture()
    {
      ResourceManager rm = new ResourceManager("WindowsApplication1.Form1", typeof(Form1).Assembly);

      button1.Text = rm.GetString("button1.Text", culture);
    }

    Step 4 :

    程式碼區塊

    private void menuItem1_Click(object sender, EventArgs e)
    {
      culture = CultureInfo.CreateSpecificCulture("zh-TW");

      adjustCulture();
    }

     

    當然, 要先做出 Form1.zh-TW.resx , 視需求填寫 UI 物件上的文字敘述 !

    謝謝 cmf 前輩的建議 ! 利用這些線索才能在網路上找到答案 !

    2008年1月21日 上午 07:14