3 #####################################
4 #dynamic xml creation shell script
5 #####################################
7 langcode_mapping_table(){
9 "ar") lang_string="ar-ae";;
10 "az") lang_string="az-az";;
11 "bg") lang_string="bg-bg";;
12 "ca") lang_string="ca-es";;
13 "cs") lang_string="cs-cz";;
14 "da") lang_string="da-dk";;
15 "de_DE") lang_string="de-de";;
16 "el_GR") lang_string="el-gr";;
17 "en") lang_string="en-gb";;
18 "en_PH") lang_string="en-ph";;
19 "en_US") lang_string="en-us";;
20 "es_US") lang_string="en-us";;
21 "es_ES") lang_string="es-es";;
22 "es_MX") lang_string="es-mx";;
23 "et") lang_string="et-ee";;
24 "eu") lang_string="eu-es";;
25 "fi") lang_string="fi-fi";;
26 "fr_CA") lang_string="fr-ca";;
27 "fr_FR") lang_string="fr-fr";;
28 "ga") lang_string="ga-ie";;
29 "gl") lang_string="gl-es";;
30 "hi") lang_string="hi-in";;
31 "hr") lang_string="hr-hr";;
32 "hu") lang_string="hu-hu";;
33 "hy") lang_string="hy-am";;
34 "is") lang_string="is-is";;
35 "it_IT") lang_string="it-it";;
36 "ja_JP") lang_string="ja-jp";;
37 "ka") lang_string="ka-ge";;
38 "kk") lang_string="kk-kz";;
39 "ko_KR") lang_string="ko-kr";;
40 "lt") lang_string="lt-lt";;
41 "lv") lang_string="lv-lv";;
42 "mk") lang_string="mk-mk";;
43 "nb") lang_string="nb-no";;
44 "nl_NL") lang_string="nl-nl";;
45 "pl") lang_string="pl-pl";;
46 "pt_BR") lang_string="pt-br";;
47 "pt_PT") lang_string="pt-pt";;
48 "ro") lang_string="ro-ro";;
49 "ru_RU") lang_string="ru-ru";;
50 "sk") lang_string="sk-sk";;
51 "sl") lang_string="sl-si";;
52 "sr") lang_string="sr-rs";;
53 "sv") lang_string="sv-se";;
54 "tr_TR") lang_string="tr-tr";;
55 "uk") lang_string="uk-ua";;
56 "uz") lang_string="uz-uz";;
57 "zh_CN") lang_string="zh-cn";;
58 "zh_HK") lang_string="zh-hk";;
59 "zh_SG") lang_string="zh-sg";;
60 "zh_TW") lang_string="zh-tw";;
61 *) lang_string="NOT_EXIST";;
65 designid_mapping_table(){
67 "org.tizen.setting") design_id="IDS_ST_OPT_SETTINGS";;
68 "setting-network-efl") design_id="IDS_ST_BODY_NETWORK";;
69 "setting-font-efl") design_id="IDS_ST_BODY_FONT_TYPE";;
70 "setting-ledindicator-efl") design_id="IDS_ST_BODY_LED_INDICATOR";;
71 "setting-reset-efl") design_id="IDS_ST_BUTTON_RESET";;
72 "setting-accessory-efl") design_id="IDS_COM_BODY_ACCESSORIES";;
73 "setting-storage-efl") design_id="IDS_ST_BODY_STORAGE";;
74 "setting-about-efl") design_id="IDS_ST_BODY_ABOUT_DEVICE";;
75 "setting-security-efl") design_id="IDS_ST_BODY_SECURITY";;
76 "setting-time-efl") design_id="IDS_ST_BODY_DATE_AND_TIME";;
77 "setting-profile-efl") design_id="IDS_ST_HEADER_SOUND";;
78 "setting-datausage-efl") design_id="IDS_MOBILEAP_MBODY_DATA_USAGE";;
79 "setting-accessibility-efl") design_id="IDS_ST_HEADER_ACCESSIBILITY";;
80 "setting-privacy-efl") design_id="IDS_ST_HEADER_PRIVACY";;
81 "setting-motion-efl") design_id="IDS_ST_BODY_MOTION";;
82 "setting-powersaving-efl") design_id="IDS_ST_MBODY_POWER_SAVING_MODE";;
83 "setting-blockingmode-efl") design_id="IDS_ST_BODY_BLOCKING_MODE";;
84 "setting-display-efl") design_id="IDS_ST_BODY_DISPLAY";;
85 "setting-drivingmode-efl") design_id="IDS_ST_BODY_DRIVING_MODE";;
86 "setting-personalpage-efl") design_id="IDS_ST_HEADER_PERSONAL_MODE";;
87 "setting-palmmotion-efl") design_id="IDS_MTTRL_MBODY_PALM_MOTION";;
88 "setting-easymode-efl") design_id="IDS_ST_BODY_EASY_MODE";;
89 "setting-netrestrictionmode-efl") design_id="IDS_ST_HEADER_NETWORK_RESTRICTION_MODE_ABB_JPN";;
90 "org.tizen.setting.display") design_id="IDS_ST_BODY_DISPLAY";;
91 "org.tizen.setting.motion") design_id="IDS_ST_BODY_MOTION";;
92 "org.tizen.setting.smartscreen") design_id="IDS_ST_HEADER_SMART_SCREEN";;
93 "org.tizen.setting.language") design_id="IDS_ST_BODY_LANGUAGE_AND_KEYBOARD";;
94 "org.tizen.setting.manageapplications") design_id="IDS_ST_BODY_MANAGE_APPLICATIONS";;
95 "org.tizen.setting.developeroptions") design_id="IDS_ST_BODY_DEVELOPER_OPTIONS";;
96 *) design_id="NOT_EXIST";;
99 ##########################
103 ##########################
107 echo "xml creation start"
109 #traversal in org.tizen.setting.sample.xml file
112 ENTITY=`echo $line | cut -d'<' -f 2`
115 ENDOFLINE=`echo $line | cut -d'<' -f 3`
118 a=`expr ${#line} - 3`
119 b=`expr ${#line} - 1`
122 if [[ "$CUT" = "/" ]]; then
123 for ((i=0; i<$tab-1; i++)); do
128 for ((i=0; i<$tab; i++)); do
134 if test -n "$ENDOFLINE"; then
137 if [[ "$CUT" = "?" ]]; then
140 if [[ "$el" = "/>" ]]; then
144 #read one line from src xml and write to dest xml
145 printf "$line\n" >> $3;
147 #get entity's tag and attribute
148 TAG_NAME=${ENTITY%% *}
150 ATTRIBUTES=${TEMP%*>}
152 #If tag name is ui-application, add the label nodes
153 if [[ $TAG_NAME = "ui-application" ]]; then
155 ATTRIBUTES=`echo $ATTRIBUTES | cut -d' ' -f 1`
156 #get attribute values
158 echo "$appid creating..."
160 designid_mapping_table;
161 if [[ $design_id = "NOT_EXIST" ]]; then
162 echo "pass appid $appid"
166 #traversal in po folder
167 for pofile in `ls $1/*.po`;
169 filename=`basename $pofile .po`
170 langcode_mapping_table;
171 if [[ $lang_string = "NOT_EXIST" ]]; then
172 echo "pass po file $pofile"
177 postrings=`grep -n $design_id $pofile | cut -d'"' -f 2`
178 polines=`grep -n $design_id $pofile | cut -d':' -f 1`
179 stringlist=( $postrings )
180 linelist=( $polines )
183 for i in "${stringlist[@]}";
185 if [[ $i = $design_id ]]; then
186 poline="${linelist[$index]}"
188 index=`expr $index + 1`
191 poline=`expr $poline + 1`
193 DESIGNSTR=`sed -n "$poline"p $pofile | cut -d'"' -f 2`
195 #do remove "&" and <b200> and etc
196 DESIGNSTR=`echo $DESIGNSTR | sed -e "s/\&/\&/g"`
197 DESIGNSTR=`echo $DESIGNSTR | sed -e "s/\xe2\x80\x8b//g"`
198 DESIGNSTR=`echo $DESIGNSTR | sed -e "s/\xe2\x80\x8d//g"`
200 for ((i=0; i<$tab; i++)); do
203 printf "<label xml:lang=\"$lang_string\">$DESIGNSTR</label>\n" >> $3;
208 echo "xml create end"