【问题标题】:How To translate text on a button in multilingual website in asp.net如何在asp.net的多语言网站中翻译按钮上的文本
【发布时间】:2016-06-12 05:53:42
【问题描述】:

我正在开发一个 asp.net 网站。我有 Resource.resx 文件来翻译网站的术语。一切都很好,当我使用 Text='' 文本时,我想将按钮的文本翻译成英语和波斯语,它不起作用并且不显示文本。

<asp:Button ID="Button1" runat="server" Text='<%#Resources.Resource.ارسال %>' Width="94px" CssClass="btn btn-primary" OnClick="Button1_Click" />

【问题讨论】:

    标签: asp.net translate resx


    【解决方案1】:
    1. 右键项目->添加->添加ASP.NET文件夹->App_GlobalResources
    2. 在此文件夹中添加两个资源文件,一个用于英语,另一个用于波斯语。我使用的是英语和法语。默认为英语,法语资源文件名为 Resource.fr.resx。名称很重要,因此请确保使用波斯文化命名。

    1. 更改按钮标记以从资源文件中获取文本:

    像这样:

    <asp:Button ID="Button1" runat="server" Text="<%$ Resources:Resource, Button1 %>" />
    
    1. 覆盖后面代码中的 InitializeCulture() 方法,并根据查看 Web 应用程序的用户类型设置文化。

    像这样:

    public partial class GlobalizationExample : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
    
        protected override void InitializeCulture()
        {
            //Get the language that the client prefers from the browser
            string preferredLanguage = Request.UserLanguages[0];
    
            //Set the language for the page
            System.Threading.Thread.CurrentThread.CurrentUICulture = 
                new System.Globalization.CultureInfo(preferredLanguage);
    
            System.Threading.Thread.CurrentThread.CurrentCulture =
               System.Globalization.CultureInfo.CreateSpecificCulture(preferredLanguage);
        }
    }
    

    如果以上内容对您没有帮助,here 是一个很棒的视频,介绍了在 ASP.NET 中应用全球化的不同方式。

    【讨论】:

      猜你喜欢
      • 2016-07-01
      • 2015-04-23
      • 1970-01-01
      • 1970-01-01
      • 2014-02-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-16
      • 2014-05-10
      相关资源
      最近更新 更多