約束#
ローカライズキーの名前は任意です。任意の名前を設定することができます。ただし、特定のテキストタイプにはいくつかの規則があります。
- メニューアイテムには
Menu:
の接頭辞を追加します。 - 列挙型メンバーをローカライズするために、
<enum-type>.<enum-value>
またはEnum:<enum-type>.<enum-value>
の命名規則を使用します。これを行うと、ABP は適切な場合に自動的に列挙型を特定できます。
デフォルトのローカル言語の設定#
ABP には多くの言語パッケージが付属していますが、すべての言語を使用するわけではありません。通常、英語と中国語の 2 つの言語が使用されますが、余分な言語は削除する必要があります。ただし、中国語にはさまざまなバリエーションがあります。自分のローカライズ言語をどのように決定しますか?ブラウザで navigator.language
を実行して確認します。たとえば、私の出力結果が zh-CN
の場合、culture
が zh-CN
の json 言語パッケージファイル、例えば zh-CN.json
を使用します。このプロセスは自動化されており、設定する必要はありません。ただし、自分の culture
の言語パッケージを削除しないように注意してください。そうしないと、英語のみが表示されます。
以前、プロジェクトにデフォルトの culture
を指定しようとしましたが、成功しませんでした。試した方法は次のとおりです:
XXW.XXX.Domain.Shared
プロジェクトのXXDomainSharedModule.ConfigureServices
関数で次のように設定します:
options.Resources
// ローカライズを追加し、デフォルトのローカル言語を指定します
// https://docs.abp.io/en/abp/latest/Localization#inherit-from-other-resources
.Add<IDCloudResource>("zh-CN")
.AddBaseTypes(typeof(AbpValidationResource))
.AddVirtualJson("/Localization/IDCloud");
*.Web
プロジェクトのappsettings.json
ファイルで次の内容を設定します:
{
"Settings": {
// https://github.com/abpframework/abp/issues/2469#issuecomment-569518267
"Abp.Localization.DefaultLanguage": "zh-CN"
}
}
または、データベースの AbpSettingDefinitions
テーブルでデフォルトのローカル言語が設定されている可能性もあります。たまたま見つけたので、変更してみてください:
もう 1 つの方法は、https://github.com/maliming/Owl.Abp.CultureMap ですが、まだ使用したことがありません。
参考: