如何使用Resx文件翻译动态值?

时间:2015-09-29 11:46:24

标签: c# html asp.net-mvc razor resx

我有一些涉及动态内容翻译的困境,我有一个模型,它绑定到问题和答案的集合,它在我的MVC视图中循环并与HTML一起显示以包含它们,按照下面的代码。

@if (questions.Length == answers.Length)
            {
                for (int i = 0; i < questions.Length; i++)
                {

                    var html = string.Format(@"
            <div class='panel-group' id='accordion{1}'>
               <div class='panel panel-default'>
                 <div class='panel-heading' data-toggle='collapse' data-parent='#accordion{1}' data-target='#collapse{1}'>
                   <h4 class='panel-title'>
                    <a class='accordion-toggle collapsed'>{0}</a>
                   </h4>
                 </div>
                   <div id='collapse{1}' class='panel-collapse collapse '>
                <div class='panel-body'>
                  {2}
                </div>
                  </div>
        </div>", questions[i], IDGenerator, answers[i]);

                    @Html.Raw(html)

                    IDGenerator.Append("1");


                }
            }

            @{
                IDGenerator.Clear();
            }

我已经成功地将静态字符串本地化了,方法是将我的RESX中的值替换为与当前文化相关的值。

但是,我需要我的FAQ问题和答案也可以进行本地化,有没有办法做到这一点?如果可能的话,我想保留使用RESX。

1 个答案:

答案 0 :(得分:1)

只要您拥有2种以上的语言,就可以使用this tutorial本地化您的实体...如果您的系统只有2种语言,则可以使用其他方法将本地化值保存在同一个表中“文本法”下的实体&#39;例如(但我不推荐这种方法,因为它有限)

您也可以使用缓存机制来提高性能。