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-accessory-efl") design_id="IDS_COM_BODY_ACCESSORIES";;
72 "setting-storage-efl") design_id="IDS_ST_BODY_STORAGE";;
73 "setting-about-efl") design_id="IDS_ST_BODY_ABOUT_DEVICE";;
74 "setting-security-efl") design_id="IDS_ST_BODY_SECURITY";;
75 "setting-time-efl") design_id="IDS_ST_BODY_DATE_AND_TIME";;
76 "setting-profile-efl") design_id="IDS_ST_HEADER_SOUND";;
77 "setting-datausage-efl") design_id="IDS_MOBILEAP_MBODY_DATA_USAGE";;
78 "setting-accessibility-efl") design_id="IDS_ST_HEADER_ACCESSIBILITY";;
79 "setting-privacy-efl") design_id="IDS_ST_HEADER_PRIVACY";;
80 "setting-motion-efl") design_id="IDS_ST_BODY_MOTION";;
81 "setting-powersaving-efl") design_id="IDS_ST_MBODY_POWER_SAVING_MODE";;
82 "setting-blockingmode-efl") design_id="IDS_ST_BODY_BLOCKING_MODE";;
83 "setting-display-efl") design_id="IDS_ST_BODY_DISPLAY";;
84 "setting-drivingmode-efl") design_id="IDS_ST_BODY_DRIVING_MODE";;
85 "setting-personalpage-efl") design_id="IDS_ST_HEADER_PERSONAL_MODE";;
86 "setting-palmmotion-efl") design_id="IDS_MTTRL_MBODY_PALM_MOTION";;
87 "setting-easymode-efl") design_id="IDS_ST_BODY_EASY_MODE";;
88 "setting-netrestrictionmode-efl") design_id="IDS_ST_HEADER_NETWORK_RESTRICTION_MODE_ABB_JPN";;
89 "org.tizen.setting.display") design_id="IDS_ST_BODY_DISPLAY";;
90 "org.tizen.setting.motion") design_id="IDS_ST_BODY_MOTION";;
91 "org.tizen.setting.smartscreen") design_id="IDS_ST_HEADER_SMART_SCREEN";;
92 "org.tizen.setting.language") design_id="IDS_ST_BODY_LANGUAGE_AND_KEYBOARD";;
93 "org.tizen.setting.manageapplications") design_id="IDS_ST_BODY_MANAGE_APPLICATIONS";;
94 "org.tizen.setting.developeroptions") design_id="IDS_ST_BODY_DEVELOPER_OPTIONS";;
95 *) design_id="NOT_EXIST";;
98 ##########################
102 ##########################
106 echo "xml creation start"
108 #traversal in org.tizen.setting.sample.xml file
111 ENTITY=`echo $line | cut -d'<' -f 2`
114 ENDOFLINE=`echo $line | cut -d'<' -f 3`
117 a=`expr ${#line} - 3`
118 b=`expr ${#line} - 1`
121 if [[ "$CUT" = "/" ]]; then
122 for ((i=0; i<$tab-1; i++)); do
127 for ((i=0; i<$tab; i++)); do
133 if test -n "$ENDOFLINE"; then
136 if [[ "$CUT" = "?" ]]; then
139 if [[ "$el" = "/>" ]]; then
143 #read one line from src xml and write to dest xml
144 printf "$line\n" >> $3;
146 #get entity's tag and attribute
147 TAG_NAME=${ENTITY%% *}
149 ATTRIBUTES=${TEMP%*>}
151 #If tag name is ui-application, add the label nodes
152 if [[ $TAG_NAME = "ui-application" ]]; then
154 ATTRIBUTES=`echo $ATTRIBUTES | cut -d' ' -f 1`
155 #get attribute values
157 echo "$appid creating..."
159 designid_mapping_table;
160 if [[ $design_id = "NOT_EXIST" ]]; then
161 echo "pass appid $appid"
165 #traversal in po folder
166 for pofile in `ls $1/*.po`;
168 filename=`basename $pofile .po`
169 langcode_mapping_table;
170 if [[ $lang_string = "NOT_EXIST" ]]; then
171 echo "pass po file $pofile"
176 postrings=`grep -n $design_id $pofile | cut -d'"' -f 2`
177 polines=`grep -n $design_id $pofile | cut -d':' -f 1`
178 stringlist=( $postrings )
179 linelist=( $polines )
182 for i in "${stringlist[@]}";
184 if [[ $i = $design_id ]]; then
185 poline="${linelist[$index]}"
187 index=`expr $index + 1`
190 poline=`expr $poline + 1`
192 DESIGNSTR=`sed -n "$poline"p $pofile | cut -d'"' -f 2`
194 #do remove "&" and <b200> and etc
195 DESIGNSTR=`echo $DESIGNSTR | sed -e "s/\&/\&/g"`
196 DESIGNSTR=`echo $DESIGNSTR | sed -e "s/\xe2\x80\x8b//g"`
197 DESIGNSTR=`echo $DESIGNSTR | sed -e "s/\xe2\x80\x8d//g"`
199 for ((i=0; i<$tab; i++)); do
202 printf "<label xml:lang=\"$lang_string\">$DESIGNSTR</label>\n" >> $3;
207 echo "xml create end"