diff --git a/modules/module/tpl/js/multilingual.js b/modules/module/tpl/js/multilingual.js
index 99adbd26a..868b7afa1 100644
--- a/modules/module/tpl/js/multilingual.js
+++ b/modules/module/tpl/js/multilingual.js
@@ -1,32 +1,47 @@
jQuery(function($){
-$('li')
+// multi-lingual text list
+$('#langList')
+ .find('ul').hide().attr('aria-hidden','true').end() // collapse all language input control
.delegate('button._edit', 'click', function(){
- var $this = $(this);
- /*, site_srl = $this.data('site_srl');
- currentClickedSiteObject = $this;*/
+ var $this = $(this), $ul = $this.next('ul'), form;
- var formObj = $this.parents().find('form').first();
+ // toggle input control
+ if($ul.attr('aria-hidden') == 'false') {
+ $ul.slideUp('fast');
+ $ul.attr('aria-hidden', 'true');
+ }else{
+ $ul.slideDown('fast');
+ $ul.attr('aria-hidden', 'false');
+ }
- // TODO : 모듈 목록을 찾아서 셀렉트 박스에 할당
- var params = new Array();
- var response_tags = ['error', 'message', 'lang_list', 'lang_name'];
- params['lang_name'] = formObj.find('input[name=lang_name]').val();
+ if($ul.data('lang-loaded') == true) return;
+
+ $ul.data('lang-loaded', true);
+ form = $this.closest('form').get(0);
+
+ function on_complete(ret) {
+ var name = ret['lang_name'], list = ret['lang_list']['item'], elems = form.elements, item;
+
+ $ul.find('label+textarea').prev('label').css('visibility','hidden');
+
+ if(!$.isArray(list)) list = [list];
+ for(var i=0,c=list.length; i < c; i++) {
+ item = list[i];
+ if(item && item.lang_code && elems[item.lang_code]) {
+ elems[item.lang_code].value = item.value;
+ if(!item.value) $(elems[item.lang_code]).prev('label').css('visibility','visible');
+ }
+ }
+ }
+
+ exec_xml(
+ 'module',
+ 'getModuleAdminLangListByName',
+ {lang_name:form.elements['lang_name'].value},
+ on_complete,
+ 'error,message,lang_list,lang_name'.split(',')
+ );
+ })
- exec_xml('module','getModuleAdminLangListByName',params, completeGetModuleList, response_tags);
- });
});
-
-function completeGetModuleList(ret_obj, response_tags)
-{
- var langName = ret_obj['lang_name'];
- var langList = ret_obj['lang_list']['item'];
- if(!jQuery.isArray(langList)) langList = [langList];
- var htmlListBuffer = '';
-
- for(var x in langList)
- {
- var objLang = langList[x];
- jQuery('#' + langName + '_' + objLang.lang_code).val(objLang.value);
- }
-}
diff --git a/modules/module/tpl/module_langcode.html b/modules/module/tpl/module_langcode.html
index c1e7b80fe..c8d0707b1 100644
--- a/modules/module/tpl/module_langcode.html
+++ b/modules/module/tpl/module_langcode.html
@@ -1,93 +1,67 @@
-
-
Multilingual
-
현재 12 종류의 다국어 문자를 지원할 수 있습니다. 다른 종류의 다국어 지원을 원하는 경우 /common/lang/ 폴더의 다국어 가운데 하나의 세트를 번역해서 XE 개발자(contact@xpressengine.com)에게 보내주세요.
-
-
-
-
-
- {@$langName = $value->name}
- -
-
-
-
-
-
+
Multilingual
+
현재 12 종류의 다국어 문자를 지원할 수 있습니다. 다른 종류의 다국어 지원을 원하는 경우 /common/lang/ 폴더의 다국어 가운데 하나의 세트를 번역해서 XE 개발자(contact@xpressengine.com)에게 보내주세요.
+
+
-
-
+
+
+
-// 다국어 추가 삭제 관리 페이지 프로토타입. 태곤의 TO DO.
-
-
-
+
+
+ 새로운 단어 또는 문장 추가
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+