を使用するIViewLocalizer
編集、追加、削除などの複数のページに表示される単語やフレーズのデフォルトまたはフォールバックリソースファイルを使用してビューのローカリゼーションを実装したいと思います。これらの反復的なフレーズを、表示されるすべてのビューのリソースファイルに追加したいので、フォールバックのrecourceファイルが本当に便利になるでしょうが、それを行う方法に関する解決策を見つけることができないようです。ビューのフォールバックリソースファイルを設定する方法
現在、私は私の意見で@inject IViewLocalizer Localizer
を使用していると私は、リソースファイルから@Localizer["ResourceName"]
でローカライズされたフレーズを取得しています:
リソース/ビュー/ {コントローラ名}/{ビュー名} {langCode}。。 resx
これは、それぞれ別々のビューと部分的なビューでうまく機能します。今度は、代替リソースファイルとして機能するResources/Views
またはResources
フォルダにリソースファイルを格納したいと考えています。私は私のすべてのビューでこれを使用できるように
だから例えば、私は私の意見の一つと「編集」リソース上@Localizer["Edit"]
Resources/Views/{ControllerName}/{ViewName}.{langCode}.resx
またはResources/Views/{ControllerName}/{ViewName}.resx
で発見されていないと言うならば、それは戻って、このデフォルトのファイルへ落下しますリソース "編集"が必要です。
私はすでにResources/Resource.{langCode}.resx
で試してみましたが、効果がないようです。
これは良い質問です。この質問をGitHub –
のaspnet/MVCリポジトリに投稿してみてください。これまでの.NETフレームワーク/スタックのデフォルトの動作では、リソースファイルにカルチャがない、つまりResource.resxがありました。また、適切なロケールがない場合、 '@Localizer [" string "]'に置かれた文字列が返されることに注意してください。これは公式のサンプルiircでも使われます:意味:メッセージ文字列の代わりに、デフォルト@Localizer ["これはデフォルトのロケール文字列"] 'であり、これをロケールでオーバーライドします。例:https://github.com/aspnet/Localization/blob/dev/samples/LocalizationSample/Startupcs#L74 – Tseng
私はキーとしてデフォルトの文字列を使用することについて知っていますが、それは繰り返しフレーズをローカライズするのに役立ちません!それはまさに私がしたくないことです。私は、特定のビューのロケールでそのフレーズをオーバーライドしたくないのは、私の意見の大部分でそれが繰り返されるからです。私は、敬虔なフレーズが出てくるすべてのビューのデフォルトのリソースファイルが必要なので、あなたが言及したResource.resxに興味があります。私は、各lanaguageのデフォルトのresource.resxが欲しいです。 –