Menu

HowToWriteXmlLangFile

Anonymous
  • 개요
  • 작성방법
    • 저장위치 및 파일명
    • 기본 작성 방법
    • 자식 객체 방법
    • php 언어파일
    • xml 언어파일
    • 자식이 배열인 객체 작성 방법
    • php 언어파일
    • xml 언어파일
  • 언어코드

개요

XE UI요소의 다국어 지원을 위해 새로운 XML 언어파일 작성방법

작성방법

저장위치 및 파일명

기존 php 파일 방식과 같은 위치인 */lang 폴더 아래 lang.xml 파일명으로 작성합니다.

*/lang/lang.xml

기본 작성 방법

아래 구조를 갖는 lang.xml을 생성합니다.

<?xml version='1.0' encoding='UTF-8'?>
<lang>
    <item name="about_captcha">
        <value xml:lang="ko"><![CDATA[위 영어 알파벳을 순서대로 입력해 주세요. 대소문자는 구분하지 않습니다.]]></value>
        <value xml:lang="en"><![CDATA[Please type in the displayed characters in the same order. They are case-insensitive.]]></value>
        <value xml:lang="zh-TW"><![CDATA[請依序輸入圖片中的文字,不分大小寫。]]></value>
    </item>
    <item name="captcha_reload">
        <value xml:lang="ko"><![CDATA[이미지 새로고침]]></value>
        <value xml:lang="en"><![CDATA[Refresh the image]]></value>
        <value xml:lang="zh-TW"><![CDATA[更換]]></value>
    </item>
    <item name="captcha_play">
        <value xml:lang="ko"><![CDATA[음성으로 듣기]]></value>
        <value xml:lang="en"><![CDATA[Pronounce the letters]]></value>
        <value xml:lang="zh-TW"><![CDATA[播放]]></value>
    </item>
    <item name="captcha_denied">
        <value xml:lang="ko"><![CDATA[잘못 입력하셨습니다]]></value>
        <value xml:lang="zh-TW"><![CDATA[輸入錯誤]]></value>
    </item>
</lang>
  • lang : 언어파일의 XML의 root 노드
  • item : 언어 노드
  • item[name] : 언어 코드명
  • item>value : 각 언어별 노드

위의 lang.xml을 분석하여 실제 사용되는 코드는 아래와 같습니다.

ko

<?php
    $lang->about_captcha = "위 영어 알파벳을 순서대로 입력해 주세요. 대소문자는 구분하지 않습니다.";
    $lang->captcha_reload = '이미지 새로고침';
    $lang->captcha_play = '음성으로 듣기';
    $lang->captcha_denied = '잘못 입력하셨습니다';
?>

en

<?php
    $lang->about_captcha = "Please type in the displayed characters in the same order. They are case-insensitive.";
    $lang->captcha_reload = 'Refresh the image';
    $lang->captcha_play = 'Pronounce the letters';
    $lang->captcha_denied = '잘못 입력하셨습니다';
?>

zh-TW

<?php
    $lang->about_captcha = "請依序輸入圖片中的文字,不分大小寫。";
    $lang->captcha_reload = '更換';
    $lang->captcha_play = '播放';
    $lang->captcha_denied = '輸入錯誤';
?>

jp, zh-CN, fr, de, ru, es, tr, vi, mn

<?php
    $lang->about_captcha = "Please type in the displayed characters in the same order. They are case-insensitive.";
    $lang->captcha_reload = 'Refresh the image';
    $lang->captcha_play = 'Pronounce the letters';
    $lang->captcha_denied = '잘못 입력하셨습니다';
?>

자식 객체 방법

php 언어파일

$lang->about_enable_autosave = '글 작성 시 자동 저장 기능을 활성화 시킬 수 있습니다.';
$lang->edit->fontname = '글꼴';
$lang->edit->fontsize = '크기';
$lang->edit->use_paragraph = '문단기능';

xml 언어파일

item>item 방법으로 작성합니다.

    <item name="about_enable_autosave">
        <value xml:lang="ko"><![CDATA[글 작성 시 자동 저장 기능을 활성화 시킬 수 있습니다.]]></value>
        <value xml:lang="en"><![CDATA[You may decide whether the auto-save function will be used.]]></value>
    </item>                                                
    <item name="edit">                                              
        <item name="fontname">                                                                
            <value xml:lang="ko"><![CDATA[글꼴]]></value>                                                                       
            <value xml:lang="en"><![CDATA[Font]]></value>                                                                       
        </item>                                         
        <item name="fontsize">                           
            <value xml:lang="ko"><![CDATA[크기]]></value>
            <value xml:lang="en"><![CDATA[Size]]></value>  
        </item>
    </item>

자식이 배열인 객체 작성 방법

php 언어파일

$lang->column_type = '형식';
$lang->column_type_list['text'] = '한줄 입력칸 (text)';
$lang->column_type_list['homepage'] = 'URL 형식';

xml 언어파일

item>item[type=array] 방법으로 작성합니다.

    <item name="column_type">
        <value xml:lang="ko"><![CDATA[형식]]></value>
        <value xml:lang="en"><![CDATA[Column Type]]></value>
    </item>
    <item name="column_type_list" type="array">
        <item name="text">
            <value xml:lang="ko"><![CDATA[한줄 입력칸 (text)]]></value>
            <value xml:lang="en"><![CDATA[one-line text]]></value>
        </item>
        <item name="homepage">
            <value xml:lang="ko"><![CDATA[URL 형식]]></value>
            <value xml:lang="en"><![CDATA[url]]></value>
        </item>
    </item>

언어코드

XE에서 사용하는 언어코드는 아래와 같습니다.

  • en : English
  • ko : 한국어
  • jp : 日本語
  • zh-CN : 中文(中国)
  • zh-TW : 中文(臺灣)
  • fr : Français
  • de : Deutsche Sprache
  • ru : Русский
  • es : Español
  • tr : Turkey
  • vi : Tiếng Việt
  • mn :Mongolian

MongoDB Logo MongoDB