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 @@ -

{$XE_VALIDATOR_MESSAGE}

-

Multilingual

-

현재 12 종류의 다국어 문자를 지원할 수 있습니다. 다른 종류의 다국어 지원을 원하는 경우 /common/lang/ 폴더의 다국어 가운데 하나의 세트를 번역해서 XE 개발자(contact@xpressengine.com)에게 보내주세요.

-
- - - - +

Multilingual

+

현재 12 종류의 다국어 문자를 지원할 수 있습니다. 다른 종류의 다국어 지원을 원하는 경우 /common/lang/ 폴더의 다국어 가운데 하나의 세트를 번역해서 XE 개발자(contact@xpressengine.com)에게 보내주세요.

+
+ -