【问题标题】:UWP RichTextBlock localizationUWP RichTextBlock 本地化
【发布时间】:2017-10-09 21:53:48
【问题描述】:

不久前,我在 UWP 中创建了一些带有多个 RichTextBlock 控件的页面。 问题是现在我必须本地化那些 RickTextBlock 控件,每个控件都有特定的格式标记(段落、粗体、下划线、跨度等)。

与其他控件不同,我似乎无法找到一种方法来使用 RichTextBlock xaml 中的 x:Uid 标记来访问我的 Resources.resw 文件。

有没有人能够本地化这些控件? 我也在寻找关于如何翻译只有一些粗体或下划线单词的句子的策略......换句话说,你如何进行翻译并且仍然保持格式?

【问题讨论】:

  • ...,你怎么做翻译并且仍然保持格式?翻译不是不同语言之间的逐字映射,困难在于,如果你不这样做说两种语言,你甚至不知道给定单词的翻译是什么。只有翻译才能帮助保持格式。

标签: c# localization uwp richtextblock


【解决方案1】:

您可以使用<Run/> 标签来显示特定格式标签中的文本,而不是直接将文本字符串放入格式标签中。然后,您可以使用x:Uid 对文本进行本地化。

例如:

<RichTextBlock TextIndent="12" >
        <Paragraph TextIndent="24">
            <Run x:Uid="first" Text="First paragraph."></Run>
        </Paragraph>
        <Paragraph>
            <Run x:Uid="second" Text="Second paragraph."></Run>
        </Paragraph>
        <Paragraph>
            <Run x:Uid="third" Text="Third paragraph."></Run>
            <Bold>
                <Run x:Uid="blodtext" Text="With an inline."></Run>
            </Bold>
        </Paragraph>
</RichTextBlock>

【讨论】:

  • 是的,我知道这一点,但这不适用于具有多种嵌入格式的段落。理想情况下,格式必须保存为资源的一部分...
猜你喜欢
  • 1970-01-01
  • 2018-07-06
  • 1970-01-01
  • 2018-07-05
  • 2017-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多