具有3种差异语言的多语言网站 [英] Multilanguage site with 3 diff languages

查看:83
本文介绍了具有3种差异语言的多语言网站的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好我正在尝试导入我的网站多语言支持三种不同的语言。

我创建三个.resx文件Strings.el-GR.resx,Strings.en-US。 resx,Strings.ru-RU.resx。



在我的site.master页面中导入以下代码

 ResourceManager m; 
CultureInfo ci;
受保护 void Page_Load( object sender,EventArgs e)
{
if (!IsPostBack)
{
Thread.CurrentThread.CurrentCulture = < span class =code-keyword> new CultureInfo( en-Us) ;
m = new ResourceManager( Resources.Strings ,System.Reflection.Assembly.Load( App_GlobalResources));
ci = Thread.CurrentThread.CurrentCulture;
LoadString(ci);
}
else
{
m = new ResourceManager ( Resources.Strings,System.Reflection.Assembly.Load( App_GlobalResources));
ci = Thread.CurrentThread.CurrentCulture;
LoadString(ci);
}





  private   void  LoadString(CultureInfo ci)
{
// 本地化从资源加载正确的语言
Search.Text = m.GetString( search,ci);
welcome_message.Text = m.GetString( welcome_message,ci);
flag2.Text = m.GetString( flag2,ci);
shop1.Text = m.GetString( shop1,ci);
shop2.Text = m.GetString( shop2,ci);
Advanced_search.Text = m.GetString( Advanced_search,ci);
// CURRENCY转换器Web服务本地化
currcovert.Text = m.GetString ( currcovert,ci);
currencyconvert.Text = m.GetString( currencyconvert,ci);
convprice.Text = m.GetString( convprice,ci);
curfrom.Text = m.GetString( curfrom,ci);
curto.Text = m.GetString( curto,ci);
curresult.Text = m.GetString( curresult,ci);
// 结束货币转换器网络服务本地化
// google maps
VisitUs.Text = m.GetString( VisitUs,ci);
// end google maps
}



 受保护  void  Button2_Click( object  sender,EventArgs e)
{
Thread.CurrentThread.CurrentCulture = new CultureInfo(< span class =code-string> en-US);
LoadString(Thread.CurrentThread.CurrentCulture);
}

受保护 void flag4_Click( object sender,ImageClickEventArgs e)
{
Thread.CurrentThread.CurrentCulture = new CultureInfo( el-GR);
LoadString(Thread.CurrentThread.CurrentCulture);
}
受保护 void flag3_Click( object sender,EventArgs e)
{
Thread.CurrentThread.CurrentCulture = new CultureInfo( ru-RU);
LoadString(Thread.CurrentThread.CurrentCulture);
}





代码与labes,按钮文本等完美配合

我的问题是我有一些菜单(家庭,产品,运费,关于我们)如何将这些文本切换为正确的语言?

Finnaly我还有其他一些子页面如何将文本更改为正确的文化信息?



Thnx提前为您提供帮助和时间!

解决方案

我导入一个新的site.master.resx

我输入的值如

MenuItemResource1.Text



然后是子页面我为每个.aspx创建resx文件,例如

about.aspx.es.resx,home.aspx.es.resx


是的......你只是通过添加新项目将主页添加到您的网站文件中...



然后导入您的菜单栏他们...明确n整洁....



最后只需输入你的maste r页面到剩下的页面....



MasterPageFile =masterpageprog.master{示例}



希望它能帮到你...


我导入一个新的site.master.resx

我输入的值如

MenuItemResource1.Text



然后对于子页面我为每个.aspx创建resx文件,例如

about.aspx.es.resx ,home.aspx.es.resx

Hi guys I'm trying to import to my web site multilanguage support for three different languages.
I create three .resx files Strings.el-GR.resx, Strings.en-US.resx, Strings.ru-RU.resx.

in my site.master page i import the following code

ResourceManager m;
    CultureInfo ci;
    protected void Page_Load(object sender, EventArgs e)
    {
       if (!IsPostBack)
        {
            Thread.CurrentThread.CurrentCulture = new CultureInfo("en-Us");
            m = new ResourceManager("Resources.Strings", System.Reflection.Assembly.Load("App_GlobalResources"));
            ci = Thread.CurrentThread.CurrentCulture;
            LoadString(ci);
        }
        else
        {
            m = new ResourceManager("Resources.Strings", System.Reflection.Assembly.Load("App_GlobalResources"));
            ci = Thread.CurrentThread.CurrentCulture;
            LoadString(ci);
        }



private void LoadString(CultureInfo ci)
    {
        //localization load correct language from resources
        Search.Text = m.GetString("search", ci);
        welcome_message.Text = m.GetString("welcome_message", ci);
        flag2.Text = m.GetString("flag2", ci);
        shop1.Text = m.GetString("shop1", ci);
        shop2.Text = m.GetString("shop2", ci);
        Advanced_search.Text = m.GetString("Advanced_search", ci);
        //CURRENCY Convertor web service localization
        currcovert.Text = m.GetString("currcovert", ci);
        currencyconvert.Text = m.GetString("currencyconvert", ci);
        convprice.Text = m.GetString("convprice", ci);
        curfrom.Text = m.GetString("curfrom", ci);
        curto.Text = m.GetString("curto", ci);
        curresult.Text = m.GetString("curresult", ci);
        //end currency convertor web service localization
        //google maps
        VisitUs.Text = m.GetString("VisitUs", ci);
        //end google maps
    }


protected void Button2_Click(object sender, EventArgs e)
  {
      Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
      LoadString(Thread.CurrentThread.CurrentCulture);
  }

  protected void flag4_Click(object sender, ImageClickEventArgs e)
  {
      Thread.CurrentThread.CurrentCulture = new CultureInfo("el-GR");
      LoadString(Thread.CurrentThread.CurrentCulture);
  }
  protected void flag3_Click(object sender, EventArgs e)
  {
      Thread.CurrentThread.CurrentCulture = new CultureInfo("ru-RU");
      LoadString(Thread.CurrentThread.CurrentCulture);
  }



The code works perfect with labes, button texts e.t.c
My question is I have a menu with some items (home,products,shipping,about us) how can i switch these texts to the correct language?
Finnaly I have some other subpages how can i also change their text to the correct cultural info ?

Thnx in advance for your help and your time!

解决方案

I import a new site.master.resx
where i import the values like
MenuItemResource1.Text

then for subpages i create resx files for every .aspx for example
about.aspx.es.resx,home.aspx.es.resx


yup... u just ad a master page in to ur website file through add new item...

then import ur menu bar their... clearly n neatlyy....

finally simply import ur master page in to remaining pages like....

MasterPageFile="masterpageprog.master" {Example}

hope it will help u...


I import a new site.master.resx
where i import the values like
MenuItemResource1.Text

then for subpages i create resx files for every .aspx for example
about.aspx.es.resx,home.aspx.es.resx


这篇关于具有3种差异语言的多语言网站的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆