説明テキストが定数であることを考えると、それぞれのテキストの翻訳キーを DB に書き込んで、翻訳ファイルから一致する (ローカライズされた) 値を取得することはできませんか? DB を変更できない場合は、DB の既存の値を翻訳ファイルのキーとして使用し、それぞれの翻訳にマップするだけです。スペースなどを取り除く必要があるかもしれませんが、それは大したことではありません。
あなたのDBで:
Human Resources
Health Care
...
翻訳ファイルの例:
英語:
Human_Resources | Human Resources
Health_Care | Health Care
...
フランス語:
Human_Resources | Service du personnel
...
変換された値の取得 (疑似):
var translationKey = descriptionValueFromDB.Replace(' ', '_');
var translatedDescription = ResourceManager.GetString(translationKey);
どう思いますか?
乾杯、アレックス
更新: ビュー内に翻訳された文字列を表示することは、標準的な手法を使用して簡単です。ビューにデータを提供するためにモデル オブジェクトを使用していると仮定しています。次に、たとえば、既製の翻訳をモデルに書き込んで、ビュー内で使用できます。
public class FooModel
{
public string Description {get; set;}
public string TranslatedDescription
{
get { return Description.ToTranslationKey().Translate(); }
}
}
public static class TranslationExtensions
{
public static string ToTranslationKey(this string term)
{
if (string.IsNullOrEmpty(term))
return term;
return term.Replace(' ', '_');
}
public static string Translate(this string term)
{
if (string.IsNullOrEmpty(term))
return term;
return ResourceManager.GetString(term);
}
}
<div id="fooDescription">@Model.TranslatedDescription</div>
もちろん、翻訳部分をビューに移動することもできます。
<div id="fooDescription">@Model.Description.ToTranslationKey().Translate()</div>
ムケイ?