BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(svi)
BuildRequires: pkgconfig(notification)
+BuildRequires: gettext
%description
Description: System server
%{_bindir}/sys_device_noti
%{_datadir}/system-server/sys_device_noti/batt_full_icon.png
%{_datadir}/system-server/udev-rules/91-system-server.rules
+%{_datadir}/system-server/sys_device_noti/res/locale/*/LC_MESSAGES/*.mo
%{_sysconfdir}/rc.d/init.d/system_server.sh
%{_sysconfdir}/rc.d/rc3.d/S35system-server
%{_sysconfdir}/rc.d/rc5.d/S00system-server
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION bin)
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/data/batt_full_icon.png DESTINATION share/system-server/sys_device_noti)
+
+#i18n
+ADD_SUBDIRECTORY(po_sys_device_noti)
--- /dev/null
+# for i18n
+
+SET(POFILES ar.po el_GR.po es_ES.po fi.po gl.po hy.po ka.po lv.po pl.po ru_RU.po sv.po zh_CN.po az.po cs.po en_PH.po es_US.po fr_CA.po hi.po is.po kk.po mk.po pt_BR.po sk.po tr_TR.po zh_HK.po bg.po da.po en.po et.po fr_FR.po hr.po it_IT.po ko_KR.po nb.po pt_PT.po sl.po uk.po zh_SG.po ca.po de_DE.po en_US.po eu.po ga.po hu.po ja_JP.po lt.po nl_NL.po ro.po sr.po uz.po zh_TW.po)
+
+SET(MSGFMT "/usr/bin/msgfmt")
+
+FOREACH(pofile ${POFILES})
+ SET(pofile ${CMAKE_CURRENT_SOURCE_DIR}/${pofile})
+ MESSAGE("PO: ${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 share/system-server/sys_device_noti/res/locale/${lang}/LC_MESSAGES RENAME ${PROJECT_NAME}.mo)
+ SET(moFiles ${moFiles} ${moFile})
+ENDFOREACH(pofile)
+
+MESSAGE(".mo files: ${moFiles}")
+ADD_CUSTOM_TARGET(po_sys_device_noti ALL DEPENDS ${moFiles})
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "تم شحن البطارية كاملا"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "فصل الشاحن"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Batareya tam doludur"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Adapteri rozetkadan çıxarın"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Батерията напълно заредена"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Изключете зарядното устройство"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Bateria completament carregada"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Desendollar carregador"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Baterie je plně nabitá"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Odpojte nabíječku"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Batteri fuldt opladet"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Fjern oplader"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Akku vollständig geladen"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Ladegerät entfernen"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Μπαταρία πλήρως φορτισμένη"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Αποσύνδεση φορτιστή"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Battery fully charged"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Unplug charger"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Battery fully charged"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Unplug charger"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Battery fully charged"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Unplug charger"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Batería totalmente cargada"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Desconectar cargador"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Batería completamente cargada"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Desconectar el cargador"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Aku on laetud"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Eraldage laadija"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Bateria guztiz kargatuta"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Desentxufatu kargadorea"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Akku on täysin ladattu"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Irrota laturi"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "La pile est chargée"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Débrancher le chargeur"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Batterie chargée"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Débrancher le chargeur"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Ceallra lánluchtaithe"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Díphlugáil an luchtaire"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Batería totalmente cargada"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Desenchufar cargador"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "बैटरी पूरी चार्ज है।"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "चार्जर निकालें"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Baterija puna"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Iskopčajte punjač"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Az akkumulátor feltöltve"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Húzza ki a töltőt"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Մարտկոցը ամբողջովին լիցքավորված է"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Վարդակից անջատել լիցքավորիչը"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Rafhlaða fullhlaðin"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Aftengja hleðslutæki"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Batteria ricaricata"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Scollega caricabatterie"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "バッテリ充電完了"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "充電器を取り外してください。"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "კვების ელემენტი დაიტენა"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "გამორთეთ დამტენი"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Батарея толық зарядталған"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Зарядтағышты ажырату"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "배터리가 충전되었습니다"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "충전기 분리"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Baterija visiškai įkrauta"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Atjunkite kroviklį"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Akumulators uzlādēts"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Atvienojiet lādētāju"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Батеријата е наполнета"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Откачете го полначот"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Batteri fulladet"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Ta ut laderen"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "De batterij is opgeladen"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Oplader loskoppelen"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Bateria w pełni naładowana"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Odłącz ładowarkę"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Bateria completamente carregada"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Desconectar carregador"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Bateria completamente carregada"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Desligue o carregador"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Baterie încărcată complet"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Deconectaţi încărcătorul"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Аккумулятор заряжен"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Отключите зарядное устройство"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Batéria je plne nabitá"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Odpojte nabíjačku"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Baterija je polna"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Izklopite napajalnik"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Baterija skroz napunjena"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Otkači punjač"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Batteriet fulladdat"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Ta ut laddaren"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Pil tümüyle şarj oldu"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Şarjı fişten çekin"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Батарею заряджено повністю"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Відключіть зарядний пристрій"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "Batareya to‘la zaryadlandi"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "Zaryadlash qurilmasini chiqaring"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "电池已满"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "拔下充电器"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "電池已完全充電"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "拔除充電器"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "充电完毕"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "拔下充电器"
+
--- /dev/null
+msgid "IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"
+msgstr "電池已完全充電"
+
+msgid "IDS_QP_BODY_UNPLUG_CHARGER"
+msgstr "斷開充電器"
+
#include <svi.h>
#include <pmapi.h>
#include <notification.h>
+#include <libintl.h>
+#include <locale.h>
+#include <vconf.h>
#include "ss_log.h"
#include "sys_device_noti.h"
static int battery_full_noti(int bNoti)
{
int charge_full = bNoti;
+ char *lang;
+ char *r;
+
+
+
notification_h noti = NULL;
notification_error_e noti_err = NOTIFICATION_ERROR_NONE;
if (charge_full == 1) {
+ lang = vconf_get_str(VCONFKEY_LANGSET);
+ if (lang) {
+ setenv("LANG", lang, 1);
+ setenv("LC_MESSAGES", lang, 1);
+ r = setlocale(LC_ALL, "");
+ if (r == NULL) {
+ setlocale(LC_ALL, lang);
+ }
+ free(lang);
+ }
+ bindtextdomain("sys_device_noti","/usr/share/system-server/sys_device_noti/res/locale/");
+ textdomain("sys_device_noti");
noti_err = notification_delete_all_by_type(NULL, NOTIFICATION_TYPE_NOTI);
PRT_TRACE("[BAT_FULL_NOTI] add notification for battery full\n");
noti = notification_new(NOTIFICATION_TYPE_NOTI, NOTIFICATION_GROUP_ID_NONE, NOTIFICATION_PRIV_ID_NONE);
return -1;
}
- noti_err = notification_set_text(noti, NOTIFICATION_TEXT_TYPE_TITLE, "Battery fully charged", NULL, NOTIFICATION_VARIABLE_TYPE_NONE);
+ noti_err = notification_set_text(noti, NOTIFICATION_TEXT_TYPE_TITLE, _("IDS_IDLE_POP_BATTERY_FULLY_CAHRGED"), NULL, NOTIFICATION_VARIABLE_TYPE_NONE);
if (noti_err != NOTIFICATION_ERROR_NONE) {
PRT_TRACE("[BAT_FULL_NOTI] Error notification_set_title : %d\n", noti_err);
noti_err = notification_free(noti);
return -1;
}
- noti_err = notification_set_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT, "Unplug charger", NULL, NOTIFICATION_VARIABLE_TYPE_NONE);
+ noti_err = notification_set_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT, _("IDS_QP_BODY_UNPLUG_CHARGER"), NULL, NOTIFICATION_VARIABLE_TYPE_NONE);
if (noti_err != NOTIFICATION_ERROR_NONE) {
PRT_TRACE("[BAT_FULL_NOTI] Error notification_set_content : %d\n", noti_err);
noti_err = notification_free(noti);
return -1;
}
- noti_err = notification_set_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT_FOR_DISPLAY_OPTION_IS_OFF, "Unplug charger", NULL, NOTIFICATION_VARIABLE_TYPE_NONE);
+ noti_err = notification_set_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT_FOR_DISPLAY_OPTION_IS_OFF, _("IDS_QP_BODY_UNPLUG_CHARGER"), NULL, NOTIFICATION_VARIABLE_TYPE_NONE);
if (noti_err != NOTIFICATION_ERROR_NONE) {
PRT_TRACE("[BAT_FULL_NOTI] Error notification_set_content : %d\n", noti_err);
noti_err = notification_free(noti);
#ifndef __SYS_DEVICE_NOTI_H__\r
#define __SYS_DEVICE_NOTI_H__\r
\r
+#ifndef _\r
+#define _(str) gettext(str)\r
+#endif\r
+\r
+#ifndef gettext_noop\r
+#define gettext_noop(str) (str)\r
+#endif\r
+\r
+#ifndef N_\r
+#define N_(str) gettext_noop(str)\r
+#endif\r
+\r
typedef enum {\r
CB_NOTI_BATT_CHARGE,\r
CB_NOTI_BATT_LOW,\r