1

LocBaml ツールを使用してアプリケーションをローカライズします。そのために、 https ://wpf.2000things.com/2014/08/12/1134-localization-xv-localizing-other-content/ の記事で説明されているように、ResourceDictionary を作成しました。

Button のような Controls や TextBlock のような FrameworkElements を使用する代わりに、次のように System.String を直接使用します。

<ResourceDictionary x:Uid="ResourceDictionary_1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:System="clr-namespace:System;assembly=mscorlib">
  <System:String x:Uid="System:String_1" x:Key="Home">Home</System:String>
 </ResourceDictionary>

しかし、Localization.Comments 添付プロパティを使用しようとすると (LocBaml を入力として使用します。出力に追加の列が生成され、翻訳担当者にヒントを提供するために使用したいコメントが入力されます)、コンパイラは文句を言います。これはサポートされていません。これは FrameworkElements でのみ機能し、おそらく DependencyObjects でも機能すると思われます。

生の文字列でこれを機能させる方法はありますか (おそらく、文字列の AttachedProperty を定義するか、拡張メソッドを作成することによって)? MessageBox や Button などのさまざまなコントロールや、TextBlock などの FrameworkElements でこれらを使用できるようにしたいと考えています。そのため、代わりにこれらをリソースに追加することはできません。

PS: x:Key と x:Uid がこれらの生の文字列に対して機能するのはなぜですか? これを同じメカニズムで Localization.Comments に拡張できるのではないでしょうか?

4

0 に答える 0