포럼
왜 lang.xml을 분리 하지 않는지 모르겠어요.
2015.02.09 16:57
아직 xe가 글로벌을 타겟하는 지 모르겠으나
Lang.xml만 다이어트 시켜줘도 XE가 엄청 빨라지거든요.
최소한 국내 유저들을 위해서 한국어로만 된 LANG.XML을 가질수 있는 선택권을 주면 좋겠습니다.
https://www.xpressengine.com/tip/22612653
아직 1.7.10에 1.7.4 LANG.XML을 덮어 쓰고 있는 1인입니다.
댓글 14
-
노에르
2015.02.09 17:13
-
도라미
2015.02.09 19:24
오히려 유지보수면에서는 통합파일이 편합니다. 여러 파일을 수정해야 하는것보다 한파일을 수정하는게 유지보수면에서는 낫죠.
-
노에르
2015.02.09 20:08
처음에 불편할 수 있다고 생각하지만 장기적으로는 이것이 더 편할 것 같아요.
필요한 언어팩 파일만 추가하면 되니까요..! 우선 기초 라인을 잡고 그걸 토대로 언어팩을 카피하면 되니..
이 부분에 대해서는 원활한 관리나 유지 보수를 위해
1. 각종 변수 정의 파일.
info.xml<?xml version="1.0" encoding="utf-8"?> <addon version="0.2"> <title text="addon_name" /> <version>1.0</version> <date>2014-05-26</date> <author email_address="anizen@anizen.kr" link="http://anizen.kr"> <name text="addon_dev"/> </author> <description text="addon_desc"/> <extra_vars> <var name="limit_num" type="text"> <title text="limit_title" /> <description text="limit_desc" /> </var> </extra_vars> </addon>
2. 언어파일(1번에 정의한 함수네임과 매칭) (ko.xml, jp.xml~)
ko.xml
<?xml version="1.0" encoding="utf-8"?> <lang> <addon_name>글자수 제한 애드온</addon_name> <addon_dev>애니즌</addon_dev> <addon_desc>게시글 작성시 글자수를 제한합니다.</addon_desc> <limit_title>제한할 글자수</limit_title> <limit_desc>입력을 제한할 글자수를 입력하세요.</limit_num> </lang>
jp.xml
<?xml version="1.0" encoding="utf-8"?> <lang> <addon_name>文字数制限アドオン</addon_name> <addon_dev>アニズん</addon_dev> <addon_desc>投稿記事の作成時に文字の数を制限します.</addon_desc> <limit_title>制限する文字数</limit_title> <limit_desc>入力を制限する文字数を入力してください.</limit_num> </lang>
이렇게 분리해야한다고 생각합니다.
클래스 즉 변수 id를 지정해두고 그 지정한 id로 언어를 매칭시키는 거지요..!(변수 선언과 같다고 보시면 ..)
물론 방금 생각한거라 완전하지는 않겠지만 ... 이런식으로 개선하면 어떨까 싶습니다.
지금의 방식은 필요도 없는 정보를 전부다 불러온다는 점에서 마이너스 점수를 주고 싶네요..
사람마다 개인차가 있으니.. 적어도 저는 그렇게 관리하는 편이 좋지 않을까 하는 생각입니다.
-
도라미
2015.02.09 20:18
XE 1.4 까진 ko.lang.php 이런식이였는데.. XE 1.5 부터 lang.xml 으로 통합되었죠.
각각 장단점이 있지않나 생각됩니다.
-
마야
2015.02.09 20:33
1.7.10 최신버전 한글과 영어만으로 된 lang.zip 파일입니다.성급하게 계정에 올리시지 마시고요 일단은 참고로 하세요저의 실수도 있을 수가 있으니까요. 혹시나.... 하는 염려이지만~저는 아직까지는 별 이상이 없습니다. -
socialskyo
2015.02.09 20:57
마야님 common 말고도 다 올려주셨네요. 정말 감사합니다.!!
-
얄리뽀
2015.02.10 06:08
와아 진일보한 발견입니다. 스피드한게 느껴지네요. 로딩속도가 정말 빨라짐..헐~~!
-
sol
2015.02.10 09:15
언어별 파일을 하나로 합친 이유는,
초기에 언어코드와 언어가 몇개 없을 때는 가독성이 떨어지지 않지만, 시간이 지남에 따라 언어코드가 많아지게 되면 될수록 보기 어려웠기 때문입니다.
또 중간에 새로운 언어가 추가 되거나 언어코드가 추가되면 각 언어파일별 sync가 맞지 않는 것도 문제가 되었고요.
이러한 이유로 언어파일은 성능보다도 유지보수 측면에서 개선할 필요성이 있었습니다.
-
socialskyo
2015.02.10 14:23
네. XE 코어 개발팀의 유지보수 문제도 고려를 해달라 하면 정말 할말은 없습니다!! 오히려 감사하죠!!
유지 보수 측면도 분명히 배려가 되어야 하니까요. 그럼에도 속도도 분명히 개발팀에서는 고려하고 있는 항목이라 생각하고 일단 더 나은 선택의측면에서 이야기를 드려봅니다.
일단 저는 한국어+영어 + 추가 언어 를 이용하는 사이트 비율이 과연 얼마나 될까 싶습니다.
더 나가서, 지금 과 같이 XML에 통채로 들어가 있는 구조라면
굳이 관리자 화면에서 지원하고 싶은 언어 타입 고르라고 할 필요가.....어차피 다 로딩되서 그 안에서 찾아가는 구조라면 말이죠...
XE로 만든 사이트의 운영자라면 지금과 같은 구조에서는 1명의 외국인에라도 더 친절한 사이트가 되는게 더 나은 선택일 것입니다.
만약 그게 아니라 한국어 (또는 한국어+영어) 만이라도 LANG.XML을 따로 빼주시면 대부분의 90% 이상의 XE 유저들을 만족하는 선택이 되지 않을까 싶습니다.
위와 같은 제안이 개발자 VIEW에서 말도 안되는 이야기이고 도돌임표 이야기라면 무시해주세요. 제가 몰라서 그런것이니 이해 해주시고요 ^^
-
노에르
2015.02.10 14:49
이 유지보수라는 게 혼자 할 경우 라면 당연히 이쪽이 맞겠지만
분담작업이라면 개별파일이 훨씬 유지보수하기 편할겁니다.(혼자서 모든 언어를 하진 않을테니..)
-
sol
2015.02.10 16:07
언어코드가 많아지게 되면 누락되는 것도 많아지게 됩니다.
직접해 보면 편하지 않습니다.
-
기진곰
2015.02.10 17:35
누락 여부를 쉽게 체크할 수 있다면 이 문제는 간단하게 해결되지 않을까요?
예를 들어 지금은 {$lang->something}을 출력했는데 해당언어에 something이라는 키가 존재하지 않으면 그냥 아무것도 출력되지 않습니다. 누락되었다는 사실을 알기가 힘든 거죠. 여기서 에러가 출력되거나, 관리자가 지정한 기본 언어가 출력되거나, 심지어 키가 그대로 출력되기라도 한다면 누락 사실을 발견하기가 훨씬 쉽지 않을까요?
lang.xml을 언어별로 점검하고 누락된 항목을 알려주거나, 아예 편리하게 작성할 수 있도록 도와주는 모듈이라도 만든다면 그야말로 금상첨화이겠네요.
-
노에르
2015.02.10 18:02
기존 방식도 마찬가지로 누락된 것 찾기 힘든 건 마찬가지 아닌가요?
XE 기본 common/lang/lang.xml 파일을 보시면...
잘못된 부분을 찾으려면..? 또 추가하려면?어떻게 할까요..? 답이 안나옵니다.....(또한 기본에서 없는 언어도 몇개 있네요..)
물론 사용자마다 다르니까, 이 방법이 더 어려울 수도 있다고 생각합니다.
하지만 저는 오히려 이 방법이 기존 방법보다 편할 거라 생각합니다. 뭔가 더 체계적인 관리가 될 수 있다는 점에서요.
스킨이나 애드온을 제작할 때마다 느낍니다.
그래서 전 아예 lang 자체를 날려버리고 글로벌로 선언하긴 합니다만..
가진곰님 의견대로 누락되는 부분을 체크할 수 있는 방법이 있으면 좋겠네요!
아예 생성 모듈이라거나..!아니면 기본 베이스를 아예 한글이나 영어로 기준으로 하고(이건 개발자 마음대로),
만일 해당 언어에서 누락되었다면, 기본 베이스 언어로 나오게 하는 것도 한 방법이라고 봅니다.
즉 default.xml가 있고 언어 팩이 있는거지요.. jp.xml ~~
또한 기존 호환성을 위해..! 기존 방식을 아예 버리는 건 저도 반대입니다.저렇게도 할 수 있고 이렇게도 할 수 있게 환경을 조금만 더 열어주자라는 취지입니다.
-
기진곰
2015.02.10 17:37
이미 정해져 버린 파일 포맷을 변경하는 것은 쉽지 않겠지만, 사실 lang.xml을 매번 분석하는 것이 아니라 files/cache/lang 폴더에 캐싱하여 사용하고 있으니 캐싱 방법을 개선하면 파일 포맷을 바꾸지 않고도 성능을 개선할 수 있지 않을까요?
제 생각에는 한 파일에 다국어를 전부 넣는 것 보다
ko.xml
en.xml
jp.xml 처럼 분리하는 게 좋다고 생각합니다.
물론 코드 작성시에는 한꺼번에 작성하는 것이 편리할 수 있겠지만
큰 틀에서 유지보수하는 건 오히려 더 힘들거라 생각됩니다..