【问题标题】:How do you fill in a resource string at run-time?如何在运行时填写资源字符串?
【发布时间】:2010-08-01 20:05:00
【问题描述】:

我有一个想要本地化的应用程序。但是,要本地化的字符串偶尔会包含我想在运行时提供的部分,例如操作链接。

例如,我有一个这样的字符串:Please <a href="/help">click here</a> for help. 我不能将它拆分为两个资源,因为在不同的语言中它会位于不同的位置。

有什么方法可以做到这一点,还是我应该坚持在资源本身中硬编码到控制器/动作的链接?

【问题讨论】:

    标签: c# asp.net-mvc localization resources resx


    【解决方案1】:

    你应该这样修改你的字符串:

     string.Format("Please {0]click here{1} for help", "<a href="/help">","</a>")
    

    现在,第一个字符串 "Please {0]click here{1} for help" 可以轻松翻译/本地化,即使您的文本顺序发生变化:

    "Für Hilfe klicken Sie bitte {0}hier{1}."
    

    【讨论】:

      【解决方案2】:

      我最终采用的方法是创建这样的资源字符串:

      "Please {0} for help."
      

      然后在运行时使用 String.Format 和我已经定义的 "Click Here" 的资源填充。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多