- Integrate gettext and change all UI elements to use the new gettext wrapper for strings
- Removed hard-coded strings and replaced with msgids
- Changed make files to build with gettext tools and the genereated pot files
Change-Id: I308345eedf1678c3fa3c6a8ec1e8a69c049d52af
Signed-off-by: Jimmy Huang <jimmy.huang@intel.com>
-DPACKAGE_DATA_DIR=\"$(pkgdatadir)/\" \
-DPACKAGE_BIN_DIR=\"$(bindir)\" \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
+ -DLOCALEDIR=\"${datadir}/locale\" \
-I$(top_srcdir)/utils \
@EFL_CFLAGS@ \
@PULSEAUDIO_CFLAGS@ \
Makefile.in \
missing \
mkinstalldirs
-EXTRA_DIST =
+EXTRA_DIST = config.rpath
noinst_LTLIBRARIES = utils/libofono-efl-utils.la
utils/amb.c \
utils/amb.h \
utils/contacts-ofono-efl.h \
+ utils/i18n.h \
utils/log.h \
utils/ofono.c \
utils/ofono.h \
data/scripts/ofono-efl-contacts-db-create.py
EXTRA_DIST += $(examples_DATA) $(scripts_SCRIPTS)
+
+SUBDIRS = po
#!/bin/sh
+gettextize -f
autoreconf -f -i
if [ -z "$NOCONFIGURE" ]; then
AC_PROG_CC
AM_PROG_CC_C_O
AC_C___ATTRIBUTE__
-
AC_DISABLE_STATIC
AC_PROG_LIBTOOL
+AM_GNU_GETTEXT([external])
EFL_COMPILER_FLAG
EFL_COMPILER_FLAG([-Wall])
eval "eval DATA_DIR=$datadir"
AC_SUBST(DATA_DIR)
-AC_CONFIG_FILES([
+AC_CONFIG_FILES([ po/Makefile.in
Makefile
])
offset: 0 (SEPARATOR_HEIGHT + CONTACT_PHOTO_SIZE);
}
text {
- text: "Gustavo Barbieri";
+ text: "Unknown";
font: FONT_NORMAL;
size: SIZE_HUGE;
size_range: SIZE_TINY SIZE_HUGE;
offset: -1 -CALL_TEXT_OFFSET; \
} \
text { \
- text: "Gustavo Barbieri"; \
+ text: "Unknown"; \
font: FONT_NORMAL; \
size: SIZE_MEDIUM; \
size_range: SIZE_MEDIUM SIZE_MEDIUM; \
offset: -BORDER_PADDING ACTION_HEIGHT;
}
text {
- text: "Someone";
+ text: "Unknown";
font: FONT_NORMAL;
size: SIZE_MEDIUM;
size_range: SIZE_TINY SIZE_MEDIUM;
offset: (-ITEM_PADDING - 1) -1;
}
text {
- text: "Gustavo Barbieri";
+ text: "Unknown";
font: FONT_NORMAL;
size: SIZE_MEDIUM;
align: 0.0 0.5;
offset: 0 (SEPARATOR_HEIGHT + CONTACT_PHOTO_SIZE);
}
text {
- text: "Gustavo Barbieri";
+ text: "Unknown";
font: FONT_NORMAL;
size: SIZE_HUGE;
size_range: SIZE_TINY SIZE_HUGE;
offset: -1 -CALL_TEXT_OFFSET; \
} \
text { \
- text: "Gustavo Barbieri"; \
+ text: "Unknown"; \
font: FONT_NORMAL; \
size: SIZE_MEDIUM; \
size_range: SIZE_MEDIUM SIZE_MEDIUM; \
offset: (-ITEM_PADDING - 1) -1;
}
text {
- text: "Gustavo Barbieri";
+ text: "Unknown";
font: FONT_NORMAL;
size: SIZE_MEDIUM;
align: 0.0 0.5;
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
+#ifdef HAVE_TIZEN
+#include <appcore-efl.h>
+#endif
#include <Elementary.h>
#include "log.h"
#include "ofono.h"
#include "util.h"
#include "simple-popup.h"
+#include "i18n.h"
typedef struct _Callscreen
{
{
switch (state) {
case OFONO_CALL_STATE_DISCONNECTED:
- return "Disconnected";
+ return _("Disconnected");
case OFONO_CALL_STATE_ACTIVE:
- return "Active";
+ return _("Active");
case OFONO_CALL_STATE_HELD:
- return "On Hold";
+ return _("On Hold");
case OFONO_CALL_STATE_DIALING:
- return "Dialing...";
+ return _("Dialing...");
case OFONO_CALL_STATE_ALERTING:
- return "Alerting...";
+ return _("Alerting...");
case OFONO_CALL_STATE_INCOMING:
- return "Incoming...";
+ return _("Incoming...");
case OFONO_CALL_STATE_WAITING:
- return "Waiting...";
+ return _("Waiting...");
default:
ERR("unknown state: %d", state);
return NULL;
goto done;
if (strcmp(reason, "network") == 0)
- title = "Network Disconnected!";
+ title = _("Network Disconnected!");
else
- title = "Disconnected!";
+ title = _("Disconnected!");
- snprintf(msg, sizeof(msg), "Try to redial %s", number);
+ snprintf(msg, sizeof(msg), _("Try to redial %s"), number);
eina_stringshare_replace(&ctx->disconnected.number, number);
ctx->disconnected.popup = p = gui_simple_popup(title, msg);
simple_popup_buttons_set(p,
- "Dismiss",
+ _("Dismiss"),
"dialer",
_popup_close,
- "Redial",
+ _("Redial"),
"dialer",
_popup_redial,
ctx);
#include "ussd.h"
#include "util.h"
#include "simple-popup.h"
+#include "i18n.h"
#ifdef HAVE_TIZEN
#include <appcore-efl.h>
if (err != OFONO_ERROR_NONE) {
char buf[1024];
const char *msg = ofono_error_message_get(err);
- snprintf(buf, sizeof(buf), "Could not call %s: %s",
+ snprintf(buf, sizeof(buf), _("Could not call %s: %s"),
number, msg);
- gui_simple_popup("Error", buf);
+ gui_simple_popup(_("Error"), buf);
}
free(number);
return ofono_dial(copy, NULL, _dial_reply, copy);
}
+static void _gui_set_text(void)
+{
+ elm_object_part_text_set(cs, "label.hide-keypad", _("Hide Keypad"));
+ elm_object_part_text_set(cs, "label.answer", _("Answer"));
+ elm_object_part_text_set(cs, "label.hangup", _("Hangup"));
+ elm_object_part_text_set(cs, "label.multiparty", _("Conference"));
+ elm_object_part_text_set(cs, "label.multiparty-details-back", _("Back"));
+ elm_object_part_text_set(cs, "label.waiting", _("Waiting..."));
+ elm_object_part_text_set(cs, "elm.text.name", _("Unknown"));
+ elm_object_part_text_set(cs, "elm.text.waiting", _("Unknown"));
+
+ elm_object_part_text_set(keypad, "label.all", _("Decline"));
+ elm_object_part_text_set(keypad, "label.missed", _("Hold + Answer"));
+ elm_object_part_text_set(keypad, "label.clear", _("Hangup + Answer"));
+ elm_object_part_text_set(keypad, "label.edit,done", _("Redial"));
+
+ elm_object_part_text_set(history, "label.all", _("All"));
+ elm_object_part_text_set(history, "label.missed", _("Missed"));
+ elm_object_part_text_set(history, "label.clear", _("Clear"));
+ elm_object_part_text_set(history, "label.edit,done", _("Done"));
+}
+
static void _gui_show(Evas_Object *o)
{
Last_User_Mode *last;
elm_win_autodel_set(win, EINA_FALSE);
#ifdef HAVE_TIZEN
- appcore_set_i18n("ofono-efl", "en-US");
+ appcore_set_i18n("lemolo", NULL);
#ifdef HAVE_UI_GADGET
UG_INIT_EFL(win, UG_OPT_INDICATOR_PORTRAIT_ONLY);
#endif
+#else
+ setlocale(LC_ALL, "");
+ bindtextdomain(PACKAGE, LOCALEDIR);
+ textdomain(PACKAGE);
#endif
flip = elm_flip_add(win);
elm_object_part_content_set(flip, "back", obj);
evas_object_show(obj);
+ _gui_set_text();
_load_last_user_view();
callback_node_modem_changed =
#include "util.h"
#include "gui.h"
#include "simple-popup.h"
+#include "i18n.h"
#ifndef EET_COMPRESSION_DEFAULT
#define EET_COMPRESSION_DEFAULT 1
EINA_SAFETY_ON_TRUE_RETURN(ctx->clear_popup != NULL);
- ctx->clear_popup = p = gui_simple_popup("Clear History",
- "Do you want to clear all history entries?");
+ ctx->clear_popup = p = gui_simple_popup(_("Clear History"),
+ _("Do you want to clear all history entries?"));
simple_popup_buttons_set(p,
- "Dismiss",
+ _("Dismiss"),
"dialer",
_history_clear_cancel,
- "Yes, Clear",
+ _("Yes, Clear"),
"dialer-caution",
_history_clear_do,
ctx);
if (!strcmp(part, "type")) {
if (!call_info->contact_type)
- return strdup("Unknown");
+ return strdup(_("Unknown"));
return strdup(call_info->contact_type);
}
#include "ussd.h"
#include "util.h"
#include "simple-popup.h"
+#include "i18n.h"
/* timeout before a popup is show for supplementary services. It is
* not shown immediately as the call may fail as "not supported" in
static void _imei_show(void)
{
const char *imei = ofono_modem_serial_get();
- gui_simple_popup("IMEI Request", imei ? imei : "No modem");
+ gui_simple_popup(_("IMEI Request"), imei ? imei : _("No modem"));
INF("Show IMEI: %s", imei);
}
snprintf(buf, sizeof(buf), "Could not complete.<br>Error: %s",
ofono_error_message_get(err));
- simple_popup_title_set(ctx->ss_popup, "Error");
+ simple_popup_title_set(ctx->ss_popup, _("Error"));
simple_popup_message_set(ctx->ss_popup, buf);
simple_popup_button_dismiss_set(ctx->ss_popup);
evas_object_show(ctx->ss_popup);
#include "gui.h"
#include "ofono.h"
#include "simple-popup.h"
+#include "i18n.h"
typedef struct _USSD
{
eina_stringshare_replace(&(ctx->message), str);
simple_popup_message_set(ctx->popup, ctx->message);
} else if (err == OFONO_ERROR_OFFLINE) {
- simple_popup_title_set(ctx->popup, "Offline");
- simple_popup_message_set(ctx->popup, "System is Offline");
+ simple_popup_title_set(ctx->popup, _("Offline"));
+ simple_popup_message_set(ctx->popup, _("System is Offline"));
simple_popup_button_dismiss_set(ctx->popup);
} else {
char buf[256];
if (ctx->state == OFONO_USSD_STATE_USER_RESPONSE)
snprintf(buf, sizeof(buf),
- "Could not complete.<br>Error: %s.<br>"
- "Try again:<br><br>%s",
+ _("Could not complete.<br>Error: %s.<br>Try again:<br><br>%s"),
ofono_error_message_get(err),
ctx->message);
else
snprintf(buf, sizeof(buf),
- "Could not complete.<br>Error: %s.",
+ _("Could not complete.<br>Error: %s."),
ofono_error_message_get(err));
- simple_popup_title_set(ctx->popup, "Error");
+ simple_popup_title_set(ctx->popup, _("Error"));
simple_popup_message_set(ctx->popup, buf);
}
}
} else {
simple_popup_entry_enable(ctx->popup);
simple_popup_buttons_set(ctx->popup,
- "Respond",
+ _("Respond"),
"dialer",
_ussd_respond,
- "Cancel",
+ _("Cancel"),
"dialer-caution",
_ussd_cancel,
ctx);
ctx->state = -1;
ctx->cb_changed = ofono_modem_changed_cb_add(_ofono_changed, ctx);
- ctx->popup = gui_simple_popup("Supplementary Services", ctx->message);
+ ctx->popup = gui_simple_popup(_("Supplementary Services"), ctx->message);
evas_object_event_callback_add(ctx->popup, EVAS_CALLBACK_DEL,
_on_del, ctx);
_ofono_changed(ctx);
+* Tue Feb 18 2014 Jimmy Huang <jimmy.huang@intel.com> submit/accepted/tizen/ivi/20140131.204941@2b2d852
+- Add gettext support for internationalization
+
* Wed Jan 29 2014 Jimmy Huang <jimmy.huang@intel.com> accepted/tizen/20131115.212927@9ce884c
- Use FindObject instead of deprecated findProperty to pull from AMB
- Fixes TIVI-2631
BuildRequires: pkgconfig(notification)
BuildRequires: pkgconfig(libpulse)
BuildRequires: edje-tools
+BuildRequires: gettext-tools
Requires: ofono
Requires: automotive-message-broker
%install
rm -rf %{buildroot}
%make_install
+%find_lang %{name}
-%files
+%files -f %{name}.lang
%defattr(-,root,root,-)
%{_bindir}/answer_daemon
%{_bindir}/dialer
--- /dev/null
+# Makefile for PO directory in any package using GNU gettext.
+# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+#
+# This file can be copied and used freely without restrictions. It can
+# be used in projects which are not available under the GNU General Public
+# License but which still want to provide support for the GNU gettext
+# functionality.
+# Please note that the actual code of GNU gettext is covered by the GNU
+# General Public License and is *not* in the public domain.
+#
+# Origin: gettext-0.18
+GETTEXT_MACRO_VERSION = 0.18
+
+PACKAGE = @PACKAGE@
+VERSION = @VERSION@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+
+SHELL = /bin/sh
+@SET_MAKE@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+datarootdir = @datarootdir@
+datadir = @datadir@
+localedir = @localedir@
+gettextsrcdir = $(datadir)/gettext/po
+
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+
+# We use $(mkdir_p).
+# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
+# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
+# @install_sh@ does not start with $(SHELL), so we add it.
+# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
+# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
+# versions, $(mkinstalldirs) and $(install_sh) are unused.
+mkinstalldirs = $(SHELL) @install_sh@ -d
+install_sh = $(SHELL) @install_sh@
+MKDIR_P = @MKDIR_P@
+mkdir_p = @mkdir_p@
+
+GMSGFMT_ = @GMSGFMT@
+GMSGFMT_no = @GMSGFMT@
+GMSGFMT_yes = @GMSGFMT_015@
+GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
+MSGFMT_ = @MSGFMT@
+MSGFMT_no = @MSGFMT@
+MSGFMT_yes = @MSGFMT_015@
+MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
+XGETTEXT_ = @XGETTEXT@
+XGETTEXT_no = @XGETTEXT@
+XGETTEXT_yes = @XGETTEXT_015@
+XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
+MSGMERGE = msgmerge
+MSGMERGE_UPDATE = @MSGMERGE@ --update
+MSGINIT = msginit
+MSGCONV = msgconv
+MSGFILTER = msgfilter
+
+POFILES = @POFILES@
+GMOFILES = @GMOFILES@
+UPDATEPOFILES = @UPDATEPOFILES@
+DUMMYPOFILES = @DUMMYPOFILES@
+DISTFILES.common = Makefile.in.in remove-potcdate.sin \
+$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
+DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
+$(POFILES) $(GMOFILES) \
+$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
+
+POTFILES = \
+
+CATALOGS = @CATALOGS@
+
+# Makevars gets inserted here. (Don't remove this line!)
+
+.SUFFIXES:
+.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
+
+.po.mo:
+ @echo "$(MSGFMT) -c -o $@ $<"; \
+ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
+
+.po.gmo:
+ @lang=`echo $* | sed -e 's,.*/,,'`; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \
+ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+
+.sin.sed:
+ sed -e '/^#/d' $< > t-$@
+ mv t-$@ $@
+
+
+all: check-macro-version all-@USE_NLS@
+
+all-yes: stamp-po
+all-no:
+
+# Ensure that the gettext macros and this Makefile.in.in are in sync.
+check-macro-version:
+ @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
+ || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
+ exit 1; \
+ }
+
+# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
+# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
+# we don't want to bother translators with empty POT files). We assume that
+# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
+# In this case, stamp-po is a nop (i.e. a phony target).
+
+# stamp-po is a timestamp denoting the last time at which the CATALOGS have
+# been loosely updated. Its purpose is that when a developer or translator
+# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
+# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
+# invocations of "make" will do nothing. This timestamp would not be necessary
+# if updating the $(CATALOGS) would always touch them; however, the rule for
+# $(POFILES) has been designed to not touch files that don't need to be
+# changed.
+stamp-po: $(srcdir)/$(DOMAIN).pot
+ test ! -f $(srcdir)/$(DOMAIN).pot || \
+ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
+ @test ! -f $(srcdir)/$(DOMAIN).pot || { \
+ echo "touch stamp-po" && \
+ echo timestamp > stamp-poT && \
+ mv stamp-poT stamp-po; \
+ }
+
+# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
+# otherwise packages like GCC can not be built if only parts of the source
+# have been downloaded.
+
+# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
+# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+ if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \
+ package_gnu='GNU '; \
+ else \
+ package_gnu=''; \
+ fi; \
+ if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
+ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
+ else \
+ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
+ fi; \
+ case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --msgid-bugs-address="$$msgid_bugs_address" \
+ ;; \
+ *) \
+ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+ --files-from=$(srcdir)/POTFILES.in \
+ --copyright-holder='$(COPYRIGHT_HOLDER)' \
+ --package-name="$${package_gnu}@PACKAGE@" \
+ --package-version='@VERSION@' \
+ --msgid-bugs-address="$$msgid_bugs_address" \
+ ;; \
+ esac
+ test ! -f $(DOMAIN).po || { \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
+ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
+ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
+ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
+ else \
+ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
+ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+ fi; \
+ else \
+ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+ fi; \
+ }
+
+# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
+# every "make" invocation, only create it when it is missing.
+# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
+$(srcdir)/$(DOMAIN).pot:
+ $(MAKE) $(DOMAIN).pot-update
+
+# This target rebuilds a PO file if $(DOMAIN).pot has changed.
+# Note that a PO file is not touched if it doesn't need to be changed.
+$(POFILES): $(srcdir)/$(DOMAIN).pot
+ @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
+ if test -f "$(srcdir)/$${lang}.po"; then \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
+ cd $(srcdir) \
+ && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
+ esac; \
+ }; \
+ else \
+ $(MAKE) $${lang}.po-create; \
+ fi
+
+
+install: install-exec install-data
+install-exec:
+install-data: install-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ $(INSTALL_DATA) $(srcdir)/$$file \
+ $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ for file in Makevars; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+install-data-no: all
+install-data-yes: all
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
+ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
+ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
+ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+ for file in *; do \
+ if test -f $$file; then \
+ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+ fi; \
+ done); \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ else \
+ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+ :; \
+ else \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ fi; \
+ fi; \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
+ fi; \
+ done; \
+ done
+
+install-strip: install
+
+installdirs: installdirs-exec installdirs-data
+installdirs-exec:
+installdirs-data: installdirs-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+ else \
+ : ; \
+ fi
+installdirs-data-no:
+installdirs-data-yes:
+ @catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ dir=$(localedir)/$$lang/LC_MESSAGES; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
+ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+ if test -n "$$lc"; then \
+ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+ for file in *; do \
+ if test -f $$file; then \
+ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+ fi; \
+ done); \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+ else \
+ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+ :; \
+ else \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+ fi; \
+ fi; \
+ fi; \
+ done; \
+ done
+
+# Define this as empty until I found a useful application.
+installcheck:
+
+uninstall: uninstall-exec uninstall-data
+uninstall-exec:
+uninstall-data: uninstall-data-@USE_NLS@
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ for file in $(DISTFILES.common) Makevars.template; do \
+ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+ done; \
+ else \
+ : ; \
+ fi
+uninstall-data-no:
+uninstall-data-yes:
+ catalogs='$(CATALOGS)'; \
+ for cat in $$catalogs; do \
+ cat=`basename $$cat`; \
+ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
+ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+ done; \
+ done
+
+check: all
+
+info dvi ps pdf html tags TAGS ctags CTAGS ID:
+
+mostlyclean:
+ rm -f remove-potcdate.sed
+ rm -f stamp-poT
+ rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
+ rm -fr *.o
+
+clean: mostlyclean
+
+distclean: clean
+ rm -f Makefile Makefile.in POTFILES *.mo
+
+maintainer-clean: distclean
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+ rm -f stamp-po $(GMOFILES)
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+dist distdir:
+ $(MAKE) update-po
+ @$(MAKE) dist2
+# This is a separate target because 'update-po' must be executed before.
+dist2: stamp-po $(DISTFILES)
+ dists="$(DISTFILES)"; \
+ if test "$(PACKAGE)" = "gettext-tools"; then \
+ dists="$$dists Makevars.template"; \
+ fi; \
+ if test -f $(srcdir)/$(DOMAIN).pot; then \
+ dists="$$dists $(DOMAIN).pot stamp-po"; \
+ fi; \
+ if test -f $(srcdir)/ChangeLog; then \
+ dists="$$dists ChangeLog"; \
+ fi; \
+ for i in 0 1 2 3 4 5 6 7 8 9; do \
+ if test -f $(srcdir)/ChangeLog.$$i; then \
+ dists="$$dists ChangeLog.$$i"; \
+ fi; \
+ done; \
+ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
+ for file in $$dists; do \
+ if test -f $$file; then \
+ cp -p $$file $(distdir) || exit 1; \
+ else \
+ cp -p $(srcdir)/$$file $(distdir) || exit 1; \
+ fi; \
+ done
+
+update-po: Makefile
+ $(MAKE) $(DOMAIN).pot-update
+ test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
+ $(MAKE) update-gmo
+
+# General rule for creating PO files.
+
+.nop.po-create:
+ @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
+ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
+ exit 1
+
+# General rule for updating PO files.
+
+.nop.po-update:
+ @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
+ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
+ tmpdir=`pwd`; \
+ echo "$$lang:"; \
+ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+ echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+ cd $(srcdir); \
+ if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+ '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ *) \
+ $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
+ esac; \
+ }; then \
+ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+ rm -f $$tmpdir/$$lang.new.po; \
+ else \
+ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+ :; \
+ else \
+ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+ exit 1; \
+ fi; \
+ fi; \
+ else \
+ echo "msgmerge for $$lang.po failed!" 1>&2; \
+ rm -f $$tmpdir/$$lang.new.po; \
+ fi
+
+$(DUMMYPOFILES):
+
+update-gmo: Makefile $(GMOFILES)
+ @:
+
+# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
+# because execution permission bits may not work on the current file system.
+# Use @SHELL@, which is the shell determined by autoconf for the use by its
+# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
+Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
+ cd $(top_builddir) \
+ && @SHELL@ ./config.status $(subdir)/$@.in po-directories
+
+force:
+
+# Tell versions [3.59,3.63) of GNU make not to export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
--- /dev/null
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = $(PACKAGE)
+
+# These two variables depend on the location of this directory.
+subdir = po
+top_builddir = ..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
+
+# This is the copyright holder that gets inserted into the header of the
+# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding
+# package. (Note that the msgstr strings, extracted from the package's
+# sources, belong to the copyright holder of the package.) Translators are
+# expected to transfer the copyright for their translations to this person
+# or entity, or to disclaim their copyright. The empty string stands for
+# the public domain; in this case the translators are expected to disclaim
+# their copyright.
+COPYRIGHT_HOLDER = Free Software Foundation, Inc.
+
+# This is the email address or URL to which the translators shall report
+# bugs in the untranslated strings:
+# - Strings which are not entire sentences, see the maintainer guidelines
+# in the GNU gettext documentation, section 'Preparing Strings'.
+# - Strings which use unclear terms or require additional context to be
+# understood.
+# - Strings which make invalid assumptions about notation of date, time or
+# money.
+# - Pluralisation problems.
+# - Incorrect English spelling.
+# - Incorrect formatting.
+# It can be your email address, or a mailing list address where translators
+# can write to without being subscribed, or the URL of a web page through
+# which the translators can contact you.
+MSGID_BUGS_ADDRESS =
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used. It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
--- /dev/null
+dialer/callscreen.c
+dialer/gui.c
+dialer/history.c
+dialer/keypad.c
+dialer/ussd.c
+tizen/answer_daemon.c
+utils/contacts-tizen.c
+utils/contacts.c
--- /dev/null
+# English translations for lemolo package.
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This file is distributed under the same license as the lemolo package.
+# Jimmy Huang <jimmy.huang@intel.com>, 2014.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: lemolo 0.1.4\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2014-02-18 14:47-0800\n"
+"PO-Revision-Date: 2014-01-20 13:46-0800\n"
+"Last-Translator: Jimmy Huang <jimmy.huang@intel.com>\n"
+"Language-Team: English\n"
+"Language: en_US\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: dialer/callscreen.c:256
+msgid "Disconnected"
+msgstr "Disconnected"
+
+#: dialer/callscreen.c:258
+msgid "Active"
+msgstr "Active"
+
+#: dialer/callscreen.c:260
+msgid "On Hold"
+msgstr "On Hold"
+
+#: dialer/callscreen.c:262
+msgid "Dialing..."
+msgstr "Dialing..."
+
+#: dialer/callscreen.c:264
+msgid "Alerting..."
+msgstr "Alerting..."
+
+#: dialer/callscreen.c:266 tizen/answer_daemon.c:153 tizen/answer_daemon.c:479
+msgid "Incoming..."
+msgstr "Incoming..."
+
+#: dialer/callscreen.c:268 dialer/gui.c:345
+msgid "Waiting..."
+msgstr "Waiting..."
+
+#: dialer/callscreen.c:796
+msgid "Network Disconnected!"
+msgstr "Disconnected"
+
+#: dialer/callscreen.c:798
+msgid "Disconnected!"
+msgstr "Disconnected"
+
+#: dialer/callscreen.c:800
+#, c-format
+msgid "Try to redial %s"
+msgstr "Try to redial %s"
+
+#: dialer/callscreen.c:806 dialer/history.c:645
+msgid "Dismiss"
+msgstr "Dismiss"
+
+#: dialer/callscreen.c:809 dialer/gui.c:352
+msgid "Redial"
+msgstr "Redial"
+
+#: dialer/gui.c:56
+#, c-format
+msgid "Could not call %s: %s"
+msgstr "Could not call %s: %s"
+
+#: dialer/gui.c:58 dialer/keypad.c:291 dialer/ussd.c:56
+msgid "Error"
+msgstr "Error"
+
+#: dialer/gui.c:91
+msgid "Switching to history"
+msgstr "Switching to history"
+
+#: dialer/gui.c:340
+msgid "Hide Keypad"
+msgstr "Hide Keypad"
+
+#: dialer/gui.c:341 tizen/answer_daemon.c:491
+msgid "Answer"
+msgstr "Answer"
+
+#: dialer/gui.c:342 tizen/answer_daemon.c:490
+msgid "Hangup"
+msgstr "Hangup"
+
+#: dialer/gui.c:343
+msgid "Conference"
+msgstr "Conference"
+
+#: dialer/gui.c:344 utils/contacts.c:889
+msgid "Back"
+msgstr "Back"
+
+#: dialer/gui.c:346 dialer/gui.c:347 dialer/history.c:697
+#: tizen/answer_daemon.c:478 utils/contacts-tizen.c:777
+#: utils/contacts-tizen.c:789 utils/contacts-tizen.c:925
+msgid "Unknown"
+msgstr "Unknown"
+
+#: dialer/gui.c:349
+msgid "Decline"
+msgstr "Decline"
+
+#: dialer/gui.c:350
+msgid "Hold + Answer"
+msgstr "Hold + Answer"
+
+#: dialer/gui.c:351
+msgid "Hangup + Answer"
+msgstr "Hangup + Answer"
+
+#: dialer/gui.c:354
+msgid "All"
+msgstr "All"
+
+#: dialer/gui.c:355
+msgid "Missed"
+msgstr "Missed"
+
+#: dialer/gui.c:356
+msgid "Clear"
+msgstr "Clear"
+
+#: dialer/gui.c:357
+msgid "Done"
+msgstr "Done"
+
+#: dialer/history.c:641
+msgid "Clear History"
+msgstr "Clear History"
+
+#: dialer/history.c:642
+msgid "Do you want to clear all history entries?"
+msgstr "Do you want to clear all history entries?"
+
+#: dialer/history.c:648
+msgid "Yes, Clear"
+msgstr "Yes, Clear"
+
+#: dialer/keypad.c:104
+msgid "IMEI Request"
+msgstr "IMEI Request"
+
+#: dialer/keypad.c:104
+msgid "No modem"
+msgstr "No Modem"
+
+#: dialer/ussd.c:40
+msgid "Offline"
+msgstr "Offline"
+
+#: dialer/ussd.c:41
+msgid "System is Offline"
+msgstr "System is Offline"
+
+#: dialer/ussd.c:48
+#, c-format
+msgid "Could not complete.<br>Error: %s.<br>Try again:<br><br>%s"
+msgstr "Could not complete.<br>Error: %s.<br>Try again:<br><br>%s"
+
+#: dialer/ussd.c:53
+#, c-format
+msgid "Could not complete.<br>Error: %s."
+msgstr "Could not complete.<br>Error: %s."
+
+#: dialer/ussd.c:122
+msgid "Respond"
+msgstr "Respond"
+
+#: dialer/ussd.c:125
+msgid "Cancel"
+msgstr "Cancel"
+
+#: dialer/ussd.c:165
+msgid "Supplementary Services"
+msgstr "Supplementary Services"
+
+#: utils/contacts-tizen.c:729
+msgid "Other"
+msgstr "Other"
+
+#: utils/contacts-tizen.c:732 utils/contacts-tizen.c:738 utils/contacts.c:711
+msgid "Home"
+msgstr "Home"
+
+#: utils/contacts-tizen.c:735 utils/contacts.c:727
+msgid "Work"
+msgstr "Work"
+
+#: utils/contacts-tizen.c:741
+msgid "Fax"
+msgstr "Fax"
+
+#: utils/contacts-tizen.c:744
+msgid "Message"
+msgstr "Message"
+
+#: utils/contacts-tizen.c:747 utils/contacts.c:695
+msgid "Mobile"
+msgstr "Mobile"
+
+#: utils/contacts-tizen.c:750
+msgid "Pager"
+msgstr "Pager"
+
+#: utils/contacts-tizen.c:753
+msgid "Bulletin board"
+msgstr "Bulletin board"
+
+#: utils/contacts-tizen.c:756
+msgid "Modem"
+msgstr "Modem"
+
+#: utils/contacts-tizen.c:759
+msgid "Car phone"
+msgstr "Car phone"
+
+#: utils/contacts-tizen.c:762
+msgid "ISDN"
+msgstr "ISDN"
+
+#: utils/contacts-tizen.c:765
+msgid "Video conference"
+msgstr "Video conference"
+
+#: utils/contacts-tizen.c:768
+msgid "Personal communicatior"
+msgstr "Personal communicatior"
+
+#: utils/contacts-tizen.c:771
+msgid "Assistant telephone"
+msgstr "Assistant telephone"
+
+#: utils/contacts-tizen.c:774
+msgid "Custom"
+msgstr "Custom"
#include <power.h>
#include <aul.h>
#endif
+#include "i18n.h"
#define APP_NAME "org.tizen.answer"
#define BUS_NAME "org.tizen.dialer"
} else
elm_icon_standard_set(icon, "no-picture");
- elm_object_part_text_set(cs->layout, "elm.text.state", "Incoming...");
+ elm_object_part_text_set(cs->layout, "elm.text.state", _("Incoming..."));
elm_object_part_text_set(cs->layout, "elm.text.phone.type", c->type);
elm_object_part_content_set(cs->layout, "elm.swallow.photo", icon);
elm_object_signal_emit(cs->layout, "show,activecall", "gui");
win = elm_win_util_standard_add("answer screen", "oFono Answer");
EINA_SAFETY_ON_NULL_RETURN_VAL(win, EINA_FALSE);
elm_win_autodel_set(win, EINA_FALSE);
+ elm_object_part_text_set(win, "elm.text.name", _("Unknown"));
+ elm_object_part_text_set(win, "elm.text.state", _("Incoming..."));
lay = gui_layout_add(win, "answer");
EINA_SAFETY_ON_NULL_RETURN_VAL(lay, EINA_FALSE);
elm_object_style_set(slider, "answer");
elm_actionslider_indicator_pos_set(slider, ELM_ACTIONSLIDER_CENTER);
elm_actionslider_magnet_pos_set(slider, ELM_ACTIONSLIDER_CENTER);
- elm_object_part_text_set(slider, "left", "Hangup");
- elm_object_part_text_set(slider, "right", "Answer");
+ elm_object_part_text_set(slider, "left", _("Hangup"));
+ elm_object_part_text_set(slider, "right", _("Answer"));
evas_object_smart_callback_add(slider, "selected",
_slider_pos_changed_cb, cs);
evas_object_show(slider);
return NULL;
if (number_type & CONTACTS_NUMBER_TYPE_OTHER) {
- return "Other";
+ return _("Other");
}
else if (number_type & CONTACTS_NUMBER_TYPE_HOME) {
- return "Home";
+ return _("Home");
}
else if (number_type & CONTACTS_NUMBER_TYPE_WORK) {
- return "Work";
+ return _("Work");
}
else if (number_type & CONTACTS_NUMBER_TYPE_VOICE) {
- return "Home";
+ return _("Home");
}
else if (number_type & CONTACTS_NUMBER_TYPE_FAX) {
- return "Fax";
+ return _("Fax");
}
else if (number_type & CONTACTS_NUMBER_TYPE_MSG) {
- return "Message";
+ return _("Message");
}
else if (number_type & CONTACTS_NUMBER_TYPE_CELL) {
- return "Mobile";
+ return _("Mobile");
}
else if (number_type & CONTACTS_NUMBER_TYPE_PAGER) {
- return "Pager";
+ return _("Pager");
}
else if (number_type & CONTACTS_NUMBER_TYPE_BBS) {
- return "Bulletin board";
+ return _("Bulletin board");
}
else if (number_type & CONTACTS_NUMBER_TYPE_MODEM) {
- return "Modem";
+ return _("Modem");
}
else if (number_type & CONTACTS_NUMBER_TYPE_CAR) {
- return "Car phone";
+ return _("Car phone");
}
else if (number_type & CONTACTS_NUMBER_TYPE_ISDN) {
- return "ISDN";
+ return _("ISDN");
}
else if (number_type & CONTACTS_NUMBER_TYPE_VIDEO) {
- return "Video conference";
+ return _("Video conference");
}
else if (number_type & CONTACTS_NUMBER_TYPE_PCS) {
- return "Personal communicatior";
+ return _("Personal communicatior");
}
else if (number_type & CONTACTS_NUMBER_TYPE_ASSISTANT) {
- return "Assistant telephone";
+ return _("Assistant telephone");
}
else if (number_type & CONTACTS_NUMBER_TYPE_CUSTOM) {
- return "Custom";
+ return _("Custom");
}
else {
- return "Unknown";
+ return _("Unknown");
}
}
if (_is_alias(cn, alias))
return cn->type;
}
- return "Unknown";
+ return _("Unknown");
}
static Eina_Bool _alias_create(Contact_Info *c_info, const char *number)
if (_contact_number_is_equal(cn, number))
return cn->type;
}
- return "Unknown";
+ return _("Unknown");
}
Eina_Bool contact_info_picture_set(Contact_Info *c __UNUSED__,
#include "ofono.h"
#include "contacts-ofono-efl.h"
#include "util.h"
+#include "i18n.h"
#ifndef EET_COMPRESSION_DEFAULT
#define EET_COMPRESSION_DEFAULT 1
EINA_SAFETY_ON_NULL_RETURN(btn);
elm_object_style_set(btn, "contacts");
phone = phone_format(c_info->mobile);
- elm_object_part_text_set(btn, "elm.text.type", "Mobile");
+ elm_object_part_text_set(btn, "elm.text.type", _("Mobile"));
elm_object_part_text_set(btn, "elm.text.phone", phone);
free(phone);
evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND,
EINA_SAFETY_ON_NULL_RETURN(btn);
elm_object_style_set(btn, "contacts");
phone = phone_format(c_info->home);
- elm_object_part_text_set(btn, "elm.text.type", "Home");
+ elm_object_part_text_set(btn, "elm.text.type", _("Home"));
elm_object_part_text_set(btn, "elm.text.phone", phone);
free(phone);
evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND,
EINA_SAFETY_ON_NULL_RETURN(btn);
elm_object_style_set(btn, "contacts");
phone = phone_format(c_info->work);
- elm_object_part_text_set(btn, "elm.text.type", "Work");
+ elm_object_part_text_set(btn, "elm.text.type", _("Work"));
elm_object_part_text_set(btn, "elm.text.phone", phone);
free(phone);
evas_object_size_hint_weight_set(btn, EVAS_HINT_EXPAND,
details = layout_add(parent, "contacts_details");
EINA_SAFETY_ON_NULL_GOTO(details, err_layout);
+ elm_object_part_text_set(details, "label.back", _("Back"));
obj = layout_add(parent, "contacts_bg");
EINA_SAFETY_ON_NULL_GOTO(obj, err_obj);
--- /dev/null
+#ifndef _I18N_H__
+#define _I18N_H__
+
+#ifdef HAVE_TIZEN
+#include <appcore-efl.h>
+#else
+#include <libintl.h>
+#define _(String) gettext (String)
+#define gettext_noop(String) String
+#define N_(String) gettext_noop (String)
+#endif
+
+#endif
int ret;
const char *config_path;
char base_dir[PATH_MAX];
- Eet_File *efile;
eet_init();
config_path = efreet_config_home_get();