Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 是否可以将一个资源文件与多种语言一起使用?_Asp.net_C# 4.0_Localization - Fatal编程技术网

Asp.net 是否可以将一个资源文件与多种语言一起使用?

Asp.net 是否可以将一个资源文件与多种语言一起使用?,asp.net,c#-4.0,localization,Asp.net,C# 4.0,Localization,我有一个.NET4.0网站,我们有两个副本在运行。一个面向美国用户,另一个面向非盟用户。代码基本上是相同的,唯一的区别是这里或那里的一些文本和措辞,其中提到了美国和澳大利亚。现在我有两个副本的网站,这是相当愚蠢的。所以我只想保留一个副本,并将所有这些区域文本更改放在一个资源文件中 是否可以只让一个资源文件包含多种“语言”,或者我需要创建resource.US.resx和resource.AU.resx文件?另外,如果我创建了两个文件,我如何告诉.net在每个站点中使用哪个文件?我假设在web.c

我有一个.NET4.0网站,我们有两个副本在运行。一个面向美国用户,另一个面向非盟用户。代码基本上是相同的,唯一的区别是这里或那里的一些文本和措辞,其中提到了美国和澳大利亚。现在我有两个副本的网站,这是相当愚蠢的。所以我只想保留一个副本,并将所有这些区域文本更改放在一个资源文件中


是否可以只让一个资源文件包含多种“语言”,或者我需要创建resource.US.resx和resource.AU.resx文件?另外,如果我创建了两个文件,我如何告诉.net在每个站点中使用哪个文件?我假设在web.config全球化中,uiCulture&culture='en-AU'或en-US会告诉.net使用这两个文件中的哪一个?

是的,你是对的,你可以使用Resource.US.resx和Resource.AU.resx文件,然后在web.config全球化中告诉uiCulture&culture='en-AU'或en-US

代码:

    string culturePref = [Your setting from web-config]; // "en-US" or "en-EU"
    try
    {
        Thread.CurrentThread.CurrentCulture =
            CultureInfo.CreateSpecificCulture(culturePref);

    }
    catch
    {
        Thread.CurrentThread.CurrentCulture =
            new CultureInfo("en-US");
    }
    Thread.CurrentThread.CurrentUICulture = Thread.CurrentThread.CurrentCulture;

谢谢-有没有办法只使用一个文件,或者我必须为每个区域使用单独的文件?您应该为每个区域使用单独的文件这在代码隐藏中如何工作?理想情况下,我希望有一个名为resource.en-us.resx和resource.en-au.resx的资源文件,但如果我这样做,我必须指定在代码中使用哪个资源文件,这意味着我必须有两个codebehind文件,这与使用资源文件的目的背道而驰。我可以有两个名为resource.resx的资源文件,然后将正确的副本放在每个网站上。但我更希望有两个名称明确的文件,并且能够使用相同的代码读取每个文件。nm-看起来需要一个默认文件Filename.resx,然后我可以添加任何称为Filename.culture.resx的特定于区域性的文件