Support Multi-language
authorJin Yoon <jinny.yoon@samsung.com>
Wed, 3 Apr 2013 05:17:03 +0000 (14:17 +0900)
committerJin Yoon <jinny.yoon@samsung.com>
Wed, 3 Apr 2013 05:17:03 +0000 (14:17 +0900)
57 files changed:
data/CMakeLists.txt
data/po/CMakeLists.txt [new file with mode: 0644]
data/po/POTFILES.in [new file with mode: 0644]
data/po/ar.po [new file with mode: 0644]
data/po/az.po [new file with mode: 0644]
data/po/bg.po [new file with mode: 0644]
data/po/ca.po [new file with mode: 0644]
data/po/cs.po [new file with mode: 0644]
data/po/da.po [new file with mode: 0644]
data/po/de_DE.po [new file with mode: 0644]
data/po/el_GR.po [new file with mode: 0644]
data/po/en.po [new file with mode: 0644]
data/po/en_PH.po [new file with mode: 0644]
data/po/en_US.po [new file with mode: 0644]
data/po/es_ES.po [new file with mode: 0644]
data/po/es_MX.po [new file with mode: 0644]
data/po/et.po [new file with mode: 0644]
data/po/eu.po [new file with mode: 0644]
data/po/fi.po [new file with mode: 0644]
data/po/fr_CA.po [new file with mode: 0644]
data/po/fr_FR.po [new file with mode: 0644]
data/po/ga.po [new file with mode: 0644]
data/po/gl.po [new file with mode: 0644]
data/po/hi.po [new file with mode: 0644]
data/po/hr.po [new file with mode: 0644]
data/po/hu.po [new file with mode: 0644]
data/po/hy.po [new file with mode: 0644]
data/po/is.po [new file with mode: 0644]
data/po/it_IT.po [new file with mode: 0644]
data/po/ja_JP.po [new file with mode: 0644]
data/po/ka.po [new file with mode: 0644]
data/po/kk.po [new file with mode: 0644]
data/po/ko_KR.po [new file with mode: 0644]
data/po/lt.po [new file with mode: 0644]
data/po/lv.po [new file with mode: 0644]
data/po/mk.po [new file with mode: 0644]
data/po/nb.po [new file with mode: 0644]
data/po/nl_NL.po [new file with mode: 0644]
data/po/pl.po [new file with mode: 0644]
data/po/pt_BR.po [new file with mode: 0644]
data/po/pt_PT.po [new file with mode: 0644]
data/po/ro.po [new file with mode: 0644]
data/po/ru_RU.po [new file with mode: 0644]
data/po/sk.po [new file with mode: 0644]
data/po/sl.po [new file with mode: 0644]
data/po/sr.po [new file with mode: 0644]
data/po/sv.po [new file with mode: 0644]
data/po/tr_TR.po [new file with mode: 0644]
data/po/uk.po [new file with mode: 0644]
data/po/update-po.sh [new file with mode: 0755]
data/po/uz.po [new file with mode: 0644]
data/po/zh_CN.po [new file with mode: 0644]
data/po/zh_HK.po [new file with mode: 0644]
data/po/zh_SG.po [new file with mode: 0644]
data/po/zh_TW.po [new file with mode: 0644]
packaging/org.tizen.menu-screen.spec
src/all_apps/layout.c

index 8b9e6d0..b491de5 100644 (file)
@@ -6,5 +6,6 @@ INSTALL(FILES ${CMAKE_BINARY_DIR}/${PACKAGE_NAME}.xml DESTINATION ${MANIFESTDIR}
 
 ADD_SUBDIRECTORY(edje)
 ADD_SUBDIRECTORY(images)
+ADD_SUBDIRECTORY(po)
 
 # End of a file
diff --git a/data/po/CMakeLists.txt b/data/po/CMakeLists.txt
new file mode 100644 (file)
index 0000000..8cef768
--- /dev/null
@@ -0,0 +1,76 @@
+# for i18n
+
+SET(POFILES
+       ar.po
+       az.po
+       bg.po
+       ca.po
+       cs.po
+       da.po
+       de_DE.po
+       el_GR.po
+       en.po
+       en_PH.po
+       en_US.po
+       es_ES.po
+       es_MX.po
+       et.po
+       eu.po
+       fi.po
+       fr_CA.po
+       fr_FR.po
+       ga.po
+       gl.po
+       hi.po
+       hr.po
+       hu.po
+       hy.po
+       is.po
+       it_IT.po
+       ja_JP.po
+       ka.po
+       kk.po
+       ko_KR.po
+       lt.po
+       lv.po
+       mk.po
+       nb.po
+       nl_NL.po
+       pl.po
+       pt_BR.po
+       pt_PT.po
+       ro.po
+       ru_RU.po
+       sk.po
+       sl.po
+       sr.po
+       sv.po
+       tr_TR.po
+       uk.po
+       uz.po
+       zh_CN.po
+       zh_HK.po
+       zh_SG.po
+       zh_TW.po
+)
+
+SET(MSGFMT "/usr/bin/msgfmt")
+
+MESSAGE(STATUS "po files ---")
+FOREACH(pofile ${POFILES})
+       SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile})
+       MESSAGE(STATUS "  ${pofile}")
+       GET_FILENAME_COMPONENT(absPofile ${pofile} ABSOLUTE)
+       GET_FILENAME_COMPONENT(lang ${absPofile} NAME_WE)
+       SET(moFile ${CMAKE_CURRENT_BINARY_DIR}/${lang}.mo)
+       ADD_CUSTOM_COMMAND(
+                       OUTPUT ${moFile}
+                       COMMAND ${MSGFMT} -o ${moFile} ${absPofile}
+                       DEPENDS ${absPofile}
+       )
+       INSTALL(FILES ${moFile}
+                       DESTINATION ${LOCALEDIR}/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
+       SET(moFiles ${moFiles} ${moFile})
+ENDFOREACH(pofile)
+
+ADD_CUSTOM_TARGET(po ALL DEPENDS ${moFiles})
diff --git a/data/po/POTFILES.in b/data/po/POTFILES.in
new file mode 100644 (file)
index 0000000..5b882fb
--- /dev/null
@@ -0,0 +1 @@
+# List of source files containing translatable strings.
diff --git a/data/po/ar.po b/data/po/ar.po
new file mode 100644 (file)
index 0000000..a64348f
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "تم"
diff --git a/data/po/az.po b/data/po/az.po
new file mode 100644 (file)
index 0000000..d973855
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Tamam"
diff --git a/data/po/bg.po b/data/po/bg.po
new file mode 100644 (file)
index 0000000..5003ddb
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Готово"
diff --git a/data/po/ca.po b/data/po/ca.po
new file mode 100644 (file)
index 0000000..18ce40e
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Realit"
diff --git a/data/po/cs.po b/data/po/cs.po
new file mode 100644 (file)
index 0000000..9fced05
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Hot."
diff --git a/data/po/da.po b/data/po/da.po
new file mode 100644 (file)
index 0000000..65f5656
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Udført"
diff --git a/data/po/de_DE.po b/data/po/de_DE.po
new file mode 100644 (file)
index 0000000..2c2fbad
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Fertig"
diff --git a/data/po/el_GR.po b/data/po/el_GR.po
new file mode 100644 (file)
index 0000000..fafae77
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Τέλος"
diff --git a/data/po/en.po b/data/po/en.po
new file mode 100644 (file)
index 0000000..9057a3b
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Done"
diff --git a/data/po/en_PH.po b/data/po/en_PH.po
new file mode 100644 (file)
index 0000000..9057a3b
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Done"
diff --git a/data/po/en_US.po b/data/po/en_US.po
new file mode 100644 (file)
index 0000000..9057a3b
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Done"
diff --git a/data/po/es_ES.po b/data/po/es_ES.po
new file mode 100644 (file)
index 0000000..0b5ea2b
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Finalizado"
diff --git a/data/po/es_MX.po b/data/po/es_MX.po
new file mode 100644 (file)
index 0000000..d3da979
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Realiz."
diff --git a/data/po/et.po b/data/po/et.po
new file mode 100644 (file)
index 0000000..f63e75f
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Valmis"
diff --git a/data/po/eu.po b/data/po/eu.po
new file mode 100644 (file)
index 0000000..be64dab
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Egina"
diff --git a/data/po/fi.po b/data/po/fi.po
new file mode 100644 (file)
index 0000000..f63e75f
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Valmis"
diff --git a/data/po/fr_CA.po b/data/po/fr_CA.po
new file mode 100644 (file)
index 0000000..f2b166e
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "OK"
diff --git a/data/po/fr_FR.po b/data/po/fr_FR.po
new file mode 100644 (file)
index 0000000..f2b166e
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "OK"
diff --git a/data/po/ga.po b/data/po/ga.po
new file mode 100644 (file)
index 0000000..97a25d3
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Déanta"
diff --git a/data/po/gl.po b/data/po/gl.po
new file mode 100644 (file)
index 0000000..7ba85b2
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Feito"
diff --git a/data/po/hi.po b/data/po/hi.po
new file mode 100644 (file)
index 0000000..e1bfbde
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "पूरा हुआ"
diff --git a/data/po/hr.po b/data/po/hr.po
new file mode 100644 (file)
index 0000000..8b7e695
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Kraj"
diff --git a/data/po/hu.po b/data/po/hu.po
new file mode 100644 (file)
index 0000000..9a440b3
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Kész"
diff --git a/data/po/hy.po b/data/po/hy.po
new file mode 100644 (file)
index 0000000..6f8a8e1
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Արված է"
diff --git a/data/po/is.po b/data/po/is.po
new file mode 100644 (file)
index 0000000..564f948
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Lokið"
diff --git a/data/po/it_IT.po b/data/po/it_IT.po
new file mode 100644 (file)
index 0000000..6807ed1
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Fatto"
diff --git a/data/po/ja_JP.po b/data/po/ja_JP.po
new file mode 100644 (file)
index 0000000..cd7a2b3
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "完了"
diff --git a/data/po/ka.po b/data/po/ka.po
new file mode 100644 (file)
index 0000000..2f66f0e
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "შესრულდა"
diff --git a/data/po/kk.po b/data/po/kk.po
new file mode 100644 (file)
index 0000000..b9627a4
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Дайын"
diff --git a/data/po/ko_KR.po b/data/po/ko_KR.po
new file mode 100644 (file)
index 0000000..255f0e6
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "완료"
diff --git a/data/po/lt.po b/data/po/lt.po
new file mode 100644 (file)
index 0000000..5e7d60f
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Atlikta"
diff --git a/data/po/lv.po b/data/po/lv.po
new file mode 100644 (file)
index 0000000..fc2cacd
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Gatavs"
diff --git a/data/po/mk.po b/data/po/mk.po
new file mode 100644 (file)
index 0000000..5003ddb
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Готово"
diff --git a/data/po/nb.po b/data/po/nb.po
new file mode 100644 (file)
index 0000000..465c61e
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Utført"
diff --git a/data/po/nl_NL.po b/data/po/nl_NL.po
new file mode 100644 (file)
index 0000000..160ecd5
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Gereed"
diff --git a/data/po/pl.po b/data/po/pl.po
new file mode 100644 (file)
index 0000000..5cef18d
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Gotowe"
diff --git a/data/po/pt_BR.po b/data/po/pt_BR.po
new file mode 100644 (file)
index 0000000..7bd93f3
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Concluído"
diff --git a/data/po/pt_PT.po b/data/po/pt_PT.po
new file mode 100644 (file)
index 0000000..6c738b3
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Concluir"
diff --git a/data/po/ro.po b/data/po/ro.po
new file mode 100644 (file)
index 0000000..f2b6c31
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Efectuat"
diff --git a/data/po/ru_RU.po b/data/po/ru_RU.po
new file mode 100644 (file)
index 0000000..5003ddb
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Готово"
diff --git a/data/po/sk.po b/data/po/sk.po
new file mode 100644 (file)
index 0000000..ad7452e
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Hotovo"
diff --git a/data/po/sl.po b/data/po/sl.po
new file mode 100644 (file)
index 0000000..84fdc08
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Končano"
diff --git a/data/po/sr.po b/data/po/sr.po
new file mode 100644 (file)
index 0000000..6829d3e
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Gotovo"
diff --git a/data/po/sv.po b/data/po/sv.po
new file mode 100644 (file)
index 0000000..b841935
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Klar"
diff --git a/data/po/tr_TR.po b/data/po/tr_TR.po
new file mode 100644 (file)
index 0000000..d973855
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Tamam"
diff --git a/data/po/uk.po b/data/po/uk.po
new file mode 100644 (file)
index 0000000..5003ddb
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Готово"
diff --git a/data/po/update-po.sh b/data/po/update-po.sh
new file mode 100755 (executable)
index 0000000..e39a064
--- /dev/null
@@ -0,0 +1,56 @@
+#!/bin/sh
+
+PACKAGE=com.samsung.app-tray
+SRCROOT=../../src
+POTFILES=POTFILES.in
+
+ALL_LINGUAS="de_DE el_GR en es_ES fr_FR it_IT ja_JP ko_KR nl_NL pt_PT ru_RU tr_TR zh_CN zh_HK zh_TW"
+
+XGETTEXT=/usr/bin/xgettext
+MSGMERGE=/usr/bin/msgmerge
+
+echo -n "Make ${PACKAGE}.pot  "
+if [ ! -e $POTFILES ] ; then
+       echo "$POTFILES not found"
+       exit 1
+fi
+
+$XGETTEXT --default-domain=${PACKAGE} --directory=${SRCROOT} \
+               --add-comments --keyword=_ --keyword=N_ --files-from=$POTFILES \
+&& test ! -f ${PACKAGE}.po \
+       || (rm -f ${PACKAGE}.pot && mv ${PACKAGE}.po ${PACKAGE}.pot)
+
+if [ $? -ne 0 ]; then
+       echo "error"
+       exit 1
+else
+       echo "done"
+fi
+
+for LANG in $ALL_LINGUAS; do 
+       echo "$LANG : "
+
+       if [ ! -e $LANG.po ] ; then
+               cp ${PACKAGE}.pot ${LANG}.po
+               echo "${LANG}.po created"
+       else
+               if $MSGMERGE ${LANG}.po ${PACKAGE}.pot -o ${LANG}.new.po ; then
+                       if cmp ${LANG}.po ${LANG}.new.po > /dev/null 2>&1; then
+                               rm -f ${LANG}.new.po
+                       else
+                               if mv -f ${LANG}.new.po ${LANG}.po; then
+                                       echo "" 
+                               else
+                                       echo "msgmerge for $LANG.po failed: cannot move $LANG.new.po to $LANG.po" 1>&2
+                                       rm -f ${LANG}.new.po
+                                       exit 1
+                               fi
+                       fi
+               else
+                       echo "msgmerge for $LANG failed!"
+                       rm -f ${LANG}.new.po
+               fi
+       fi
+       echo ""
+done
+
diff --git a/data/po/uz.po b/data/po/uz.po
new file mode 100644 (file)
index 0000000..b042eda
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "Qilindi"
diff --git a/data/po/zh_CN.po b/data/po/zh_CN.po
new file mode 100644 (file)
index 0000000..54cf90d
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "完成"
diff --git a/data/po/zh_HK.po b/data/po/zh_HK.po
new file mode 100644 (file)
index 0000000..54cf90d
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "完成"
diff --git a/data/po/zh_SG.po b/data/po/zh_SG.po
new file mode 100644 (file)
index 0000000..54cf90d
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "完成"
diff --git a/data/po/zh_TW.po b/data/po/zh_TW.po
new file mode 100644 (file)
index 0000000..54cf90d
--- /dev/null
@@ -0,0 +1,2 @@
+msgid "IDS_HS_BUTTON_DONE"
+msgstr "完成"
index bdd6ee6..9a2e3c9 100644 (file)
@@ -12,6 +12,8 @@
 %define _resdir %{_packagedir}/res
 %define _sharedir %{_packagedir}/share
 
+%define _localedir %{_resdir}/locale
+
 Name:       org.tizen.menu-screen
 Summary:    An utility library of the menu screen
 Version:    1.0.33
@@ -135,5 +137,6 @@ fi
 %{_resdir}/edje/layout_portrait.edj
 %{_resdir}/edje/index.edj
 %{_resdir}/images/default.png
+%{_localedir}/*
 %{_usr_datadir}/packages/org.tizen.menu-screen.xml
 %{_usr_datadir}/license/%{name}
index 9a14049..04b391e 100644 (file)
@@ -39,7 +39,7 @@
 #define ALL_APPS_EDIT_BUTTON_GROUP "button_edit"
 #define ALL_APPS_EDIT_BUTTON_PART "button_edit"
 
-#define STR_DONE _("Done")
+#define IDS_HS_BUTTON_DONE "IDS_HS_BUTTON_DONE"
 
 
 HAPI void all_apps_layout_edit(Evas_Object *all_apps)
@@ -50,8 +50,8 @@ HAPI void all_apps_layout_edit(Evas_Object *all_apps)
        edit_button = elm_object_part_content_get(all_apps, ALL_APPS_EDIT_BUTTON_PART);
        ret_if(NULL == edit_button);
        edje_object_signal_emit(_EDJ(edit_button), "edit_button,enable", "menu");
-       if (edje_object_part_text_set(_EDJ(edit_button), "edit_button_text", STR_DONE) == EINA_FALSE) {
-               _E("Failed to set text on the part, edje:%p, part:%s, text:%s", _EDJ(edit_button), "edit_button_text", STR_DONE);
+       if (edje_object_part_text_set(_EDJ(edit_button), "edit_button_text", _(IDS_HS_BUTTON_DONE)) == EINA_FALSE) {
+               _E("Failed to set text on the part, edje:%p, part:%s, text:%s", _EDJ(edit_button), "edit_button_text", _(IDS_HS_BUTTON_DONE));
        }
 
        scroller = elm_object_part_content_get(all_apps, "content");