그럼 당신에게 대단히 감사합니다) 엉망의 일종이라고 생각 당신은 당신의 DB에 각각의 텍스트 변환 키를 쓸 수 없습니다 다음 일치를 얻을 수 번역 파일의 (현지화 된) 값이 있습니까? DB를 변경할 수 없다면 DB의 기존 값을 번역 파일의 키로 사용하고 해당 번역에 매핑하면됩니다. 공백 등을 제거해야 할 수도 있지만 큰 문제는 아닙니다.
Human Resources
Health Care
...
번역 파일 예 :
영어 :
Human_Resources | Human Resources
Health_Care | Health Care
...
프랑스어 :
Human_Resources | Service du personnel
...
번역 된 값 (의사를) 가져 오는 : 당신의 DB에서
var translationKey = descriptionValueFromDB.Replace(' ', '_');
var translatedDescription = ResourceManager.GetString(translationKey);
어떻게 생각하십니까?
환호, 알렉스
UPDATE : 뷰 내에서 번역 된 문자열을 표시 은 간단 표준 기술을 사용하고 있습니다. 당신이보기에 데이터를 제공하기 위해 모델 객체를 사용하고 있다고 가정합니다. 그럼 당신은 예를 들어 모델에 기성품 번역을 작성하고 뷰 내에서 사용할 수 : 만약 당신이 좋아하면, 물론
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>
Mkay?
나는 당신의 생각이 맘에 든다. 그러나 나는 면도기로 어떻게 다뤄야할지 모른다. 내가 생각할 수있는 유일한 방법은 컨트롤러에서 객체 속성을 바꾸는 것입니다. 객체를 덮어 쓰는 것이 좋을 것이라고 생각하지 않습니다. 보기에서 어떻게 할 수 있습니까? 감사합니다 –
가능한 접근을위한 샘플 코드를 추가했습니다. –