삽질기입니다. (__);
1.{$lang->help} <hr> 2.{$lang_type} <hr> 3.Language:{$lang_supported[$lang_type]} <hr> 4.{$lang_supported[$lang->mobile_view]} <hr> 5.{$layout_info->hello} <hr> 6.{$layout_info->mobile_view} <hr> 7.{$lang->mobile_view} <hr> 8.{$layout_info->hello2[title]} <hr> 8.1. {@ $l=$layout_info->extra_var} {$layout_info->extra_var->hello2->title} {$l->hello2->title} <hr> 9.{$lang->hello} <hr> 10. <pre> {print_r($layout_info)} </pre>
레이아웃에서 ?l=ko 혹은 ?l=en 라고 주소 뒤에 붙으면 해당 언어에 해당하는 언어셋이 로딩됩니다.
https://eond.com/eondCompany?l=ko
(링크는 언제 변경될지 모릅니다; )
위와 같은 코드를 입력하면 이렇게 뜹니다.
저는 처음에는 layouts/레이아웃명/lang/lang.xml 이라는 언어셋 파일을 넣어두고
모듈에서처럼 {$lang->설정한변수명} 을 하면 설정한 언어가 나올 줄 알았는데 레이아웃은 아니더군요;
그래서 다음으로 해본 방법이 conf/info.xml 파일에 lang 설정을 두면 어떨까 해서
<lang> <item name="hello"> <value xml:lang="ko"><![CDATA[안녕]]></value> <value xml:lang="en"><![CDATA[hello]]></value> </item> </lang>
이렇게 따로 넣어줘봤는데 안되더군요.
다음 세번째 방법이, extra_var을 활용해서,
<extra_vars> <var name="hello2" type="text"> <title xml:lang="ko">안녕</title> <title xml:lang="en">hello</title> <value xml:lang="ko">안녕2 value</value> <value xml:lang="en">hello2 value</value> <description xml:lang="ko">메뉴 타입에서 기본메뉴를 선택하면 이 사이트메뉴만 나타납니다.</description> <description xml:lang="en">메뉴 타입에서 기본메뉴를 선택하면 이 사이트메뉴만 나타납니다.</description> </var> <var name="hello" type="text"> <title xml:lang="ko">안녕1</title> <title xml:lang="en">hello1</title> <value xml:lang="ko">안녕1</value> <value xml:lang="en">hello1</value> </var> </extra_vars>
이렇게 써줘봤습니다. 이럴 경우 value의 경우는 저런식으로는 안 먹더군요. 따로 xe 관리자 레이아웃 설정에서 직접 입력해줘야 했습니다. -_- (저런 식으로 가능한 방법이 있는지는 모르겠습니다만.. 아시는 분은 알려주세요)
네번째 방법이 extra_var의 hello2인데, description을 활용해서 좀더 긴문장의 경우 활용할 수 있겠다 싶더군요.
레이아웃에서는 다음과 같이 씁니다.
{$layout_info->extra_var->hello2->title} {@ $l=$layout_info->extra_var} {$l->hello2->title}
하.. -_-; 이게 저의 한계입니다.. 좀 더 쉽게 할 방법을 고수님들께 이제 물어봐야겠군요 ㅠ
참조글
https://phiz.kr/xe_manual/6916
https://eond.com/index.php?mid=xe_forum&search_target=title_content&search_keyword=debug&document_srl=398852
http://pet2r.tistory.com/entry/PHP-배열-stdclass-array-변환
https://xe1.xpressengine.com/qna/21902586
https://xe1.xpressengine.com/tip/22981328
http://www.xeschool.com/xe/step3_3
https://www.slideshare.net/xpressengine/ss-36447403
http://www.ena-ble.net/entry/XE-1x-강좌-32-레이아웃-기본-틀-만들기
https://xe1.xpressengine.com/forum/22938282
https://xe1.xpressengine.com/tip/22789771
다국어 레이아웃 작업기2
미솔님 감사합니다.
레이아웃/lang/lang.xml 파일을 작업하고,
<load target="./lang" /> {@ $l=$lang}
이렇게 넣어주고 사용하고 있습니다 ㅠㅠ)/
레이아웃 템플릿에
<load target="./lang" /> 해보세요.