삽질기입니다. (__);

 

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

(링크는 언제 변경될지 모릅니다; )

 

screenshot-eond.com-2018.07.23-06-58-47.png

위와 같은 코드를 입력하면 이렇게 뜹니다.

 

저는 처음에는 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}

이렇게 넣어주고 사용하고 있습니다 ㅠㅠ)/

이온디

profile
이온디는 라이믹스를 비롯한 다양한 CMS의 시드뱅크를 꿈꿉니다. 여러분들이 사랑하는 웹소스를 언제든지 사용할 수 있게 하기 위해 이온디는 매일 소스코드를 유지보수하고 있으며, 언제든지 다운로드할 수 있는 소스마켓을 운영하고 있습니다.

#XE마켓 - 이온디스토어
https://eond.com/xemarket/

# XE/라이믹스 단톡방을 운영 중입니다. (비번: 2022)
https://open.kakao.com/o/giaKKnl

# XE/라이믹스 생활코딩 모듈 강좌입니다.
https://opentutorials.org/module/3774
  • ?
    layouts/레이아웃명/lang/lang.xml 하시고
    레이아웃 템플릿에
    <load target="./lang" /> 해보세요.

    참고: https://github.com/rhymix/rhymix/tree/master/layouts/simple_world
  • ? profile
    그렇군요 이걸 빼먹고 삽질하고 있었군요 ㅠㅠ
    역시 대단합니다 감사합니다. ㅎ