2011-07-28 2 views
0

현재 응용 프로그램을 번역 중이고 문제가 발생했습니다. 내가보기에이 사용하고 있습니다레일 : i18n 문자열의 루비 로직을 렌더링

page: 
    text: "This is my tekst with a #{link_to "pages index, pages_path}" 

이 문자열은 다음과 같이 그 안에 LINK_TO 로직없이 출력됩니다 :

t("page.text") 

그리고 난이가 나의 YAML 파일입니다 "이것은 내 # {link_to "pages index, pages_path}"와 tekst.이게 내가 원하는 건 아니지만, 다음과 같이 link_to 함수로 파싱 된 문자열을 원한다. "이것은 페이지 색인"이있는 내 tekst입니다./pages 경로 ...

감사합니다.

답변

9

레일즈의 i18n API를 사용하면 YAML 파일에서 변수 기반 보간을 사용할 수 있습니다. 당신이 뭘 하려는지 수행합니다

# config/en.yml 
page: 
    text: "This is my test with a %{link}" 

# view.html.erb 
<%= t("page.text", :link => link_to("pages index", pages_path)) 

당신은 공식 레일 가이드에 대한 자세한 내용을보실 수 있습니다 : 당신의 도움에 대한 http://guides.rubyonrails.org/i18n.html#interpolation

+0

놀라운 감사합니다! –

+0

브라우저가 html 태그를 이스케이프하지 못하도록 "_html"접미사를 사용해야했습니다. text_html과 같은 것 : "이것은 % {link}"내 테스트입니다. – dcarneiro

+0

링크의 "페이지 색인"텍스트 번역을 처리하지 않습니다. 번역을 처리하는 가장 좋은 방법은 무엇입니까? – 1nfiniti