}
part{ name:"elm.swallow.content";
type: SWALLOW;
- scale : 1;
description { state: "default" 0.0;
- min: 400 0;
- align: 0.5 0.5;
- fixed: 1 0;
rel1 {
- relative: 0.5 1.0;
+ relative: 0.0 1.0;
to: "pad_t";
}
rel2 {
- relative: 0.5 0.0;
+ relative: 1.0 0.0;
to: "pad_b";
}
}
gedit_navi_item_clear(cgedit_d->navi_it);
ctui_gedit_navi_create_btn(cgedit_d);
+ elm_genlist_select_mode_set(cgedit_d->genlist, ELM_OBJECT_SELECT_MODE_DEFAULT);
+
item = elm_genlist_first_item_get(genlist);
while (item) {
elm_object_item_disabled_set(item, EINA_FALSE);
Evas_Object *r_btn;
Evas_Object *l_btn;
+ elm_genlist_select_mode_set(cgedit_d->genlist, ELM_OBJECT_SELECT_MODE_NONE);
+
elm_object_item_part_content_set(cgedit_d->navi_it, "controlbar", NULL);
elm_object_item_part_content_set(cgedit_d->navi_it, "prev_btn", NULL);
ctui_hide_notify(cgedit_d->navi);
evas_object_show(entry);
elm_object_focus_set(entry, EINA_TRUE);
+ elm_entry_cursor_end_set(entry);
return edit_field;
}
cgedit_d->genlist = elm_genlist_add(base);
elm_genlist_decorate_mode_set(cgedit_d->genlist, EINA_TRUE);
- elm_genlist_select_mode_set(cgedit_d->genlist, ELM_OBJECT_SELECT_MODE_NONE);
gedit_genlist_style_set();
evas_object_size_hint_weight_set(cgedit_d->genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(cgedit_d->genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);
void ctui_entry_entry_set(Evas_Object *entry, const char *s)
{
char *s_markup;
- if(NULL == s || '\0' == s[0])
- return;
-
s_markup = elm_entry_utf8_to_markup(s);
elm_entry_entry_set(entry, s_markup);
free(s_markup);
#include "contacts.h"
#include "ct-common.h"
-Evas_Object* ctui_progressbar_popup(Evas_Object *parent, ct_progress_info *p_info)
+Evas_Object* ctui_progressbar_popup(Evas_Object *parent, ct_progress_info *p_info, const char *title)
{
+ char buf[CT_TEXT_MAX_LEN];
Evas_Object *popup;
Evas_Object *layout;
- Evas_Object *title;
+ Evas_Object *label;
Evas_Object *progressbar;
popup = elm_popup_add(parent);
evas_object_size_hint_weight_set(layout, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
p_info->layout = layout;
- title = elm_label_add(layout);
- c_retvm_if(NULL == title, NULL, "elm_label_add() return NULL");
- elm_object_style_set(title, "popup_description/default");
- elm_label_line_wrap_set(title, EINA_TRUE);
- evas_object_size_hint_weight_set(title, EVAS_HINT_EXPAND, 0.0);
- evas_object_size_hint_align_set(title, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_show(title);
- p_info->label = title;
+ label = elm_label_add(layout);
+ c_retvm_if(NULL == label, NULL, "elm_label_add() return NULL");
+ snprintf(buf, sizeof(buf), "<align=middle>%s</>", title);
+ elm_object_text_set(label, buf);
+ elm_object_style_set(label, "popup_description/default");
+ elm_label_line_wrap_set(label, EINA_TRUE);
+ evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ evas_object_show(label);
progressbar = elm_progressbar_add(layout);
c_retvm_if(NULL == progressbar, NULL, "elm_progressbar_add() return NULL");
p_info->progressbar= progressbar;
- elm_object_part_content_set(layout, "elm.swallow.content", title);
+ elm_object_part_content_set(layout, "elm.swallow.content", label);
elm_object_part_content_set(layout, "elm.swallow.end", progressbar);
if (0 < p_info->cnt_checked_total) {
N_("IDS_PB_POP_MAXIMUM_NUMBER_OF_ENTRIES_EXCEEDED"),
N_("IDS_PB_POP_INITIALISING_TRY_LATER_ING"),
N_("IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"),
+ N_("IDS_PB_BODY_INVALID_NUMBER"),
};
static const char *base_op_str[] = {
#include <vconf.h>
#include <vconf-keys.h>
#include <unicode/udatpg.h>
-#include <unicode/udat.h>
#include <unicode/ucal.h>
#include <unicode/ustring.h>
#include "contacts.h"
return NULL;
}
-static char* detail_get_datetime_str(int year, int mon, int day)
+static char* detail_get_datetime_str(UDateFormat* formatter, int year, int mon, int day)
{
- char *locale;
- char *ret_str;
+ time_t timer;
+ struct tm stime;
+ char *ret_str = NULL;
char formatted_str[CT_TEXT_SHORT_LEN];
- int32_t pattern_capacity;
int32_t formattedCapacity;
- UCalendar *cal;
- UChar *tzId;
- UChar pattern[CT_TEXT_SHORT_LEN];
UChar formatted[CT_TEXT_SHORT_LEN];
- UChar customSkeleton[CT_TEXT_SHORT_LEN];
- UDate date;
- UDateFormat *formatter = NULL;
- UDateTimePatternGenerator generator;
UErrorCode status = U_ZERO_ERROR;
- u_uastrncpy(customSkeleton, UDAT_YEAR_MONTH_DAY, strlen(UDAT_YEAR_MONTH_DAY));
-
- locale = vconf_get_str(VCONFKEY_REGIONFORMAT);
- c_retvm_if(NULL == locale, NULL, "vconf_get_str() return NULL");
-
- generator = udatpg_open(locale, &status);
- c_retvm_if(U_FAILURE(status), NULL, "udatpg_open() Failed()");
+ memset(&stime, 0, sizeof(struct tm));
+ stime.tm_year = year-1900;
+ stime.tm_mon = mon-1;
+ stime.tm_mday = day;
+ timer=mktime(&stime);
- pattern_capacity = (int32_t) (sizeof(pattern) / sizeof((pattern)[0]));
- udatpg_getBestPattern(generator, customSkeleton, 6, pattern, pattern_capacity, &status);
- c_retvm_if(U_FAILURE(status), NULL, "udatpg_getBestPattern() Failed()");
-
- formatter = udat_open(UDAT_IGNORE, UDAT_IGNORE, locale, NULL, -1, pattern, -1, &status);
- c_retvm_if(U_FAILURE(status), NULL, "udat_open() Failed()");
-
- formattedCapacity = (int32_t) (sizeof(formatted) / sizeof((formatted)[0]));
-
- tzId = (UChar*)malloc(sizeof(UChar) * (strlen("PST")+1) );
- c_retvm_if(NULL == tzId, NULL, "malloc() return NULL");
- u_uastrcpy(tzId, "PST");
- cal = ucal_open(tzId, u_strlen(tzId), NULL, UCAL_TRADITIONAL, &status);
- free(tzId);
-
- ucal_setDate(cal, year, mon, day, &status);
- c_retvm_if(U_FAILURE(status), NULL, "ucal_setDate() Failed()");
- date = ucal_getMillis(cal, &status);
-
- udat_format(formatter, date, formatted, formattedCapacity, NULL, &status);
+ formattedCapacity = (int32_t)(sizeof(formatted)/sizeof((formatted)[0]));
+ udat_format(formatter, (UDate)timer*1000, formatted, formattedCapacity, NULL, &status);
c_retvm_if(U_FAILURE(status), NULL, "udat_format() Failed()");
u_austrcpy(formatted_str, formatted);
- udat_close(formatter);
ret_str = g_strdup(formatted_str);
return ret_str;
int type;
const char *ret_str;
CTSvalue *value = data;
+ ct_detail_data *cdetail_d = evas_object_data_get(obj, "cdetail_d");
c_retvm_if(NULL == value, NULL, "parameter(CTSvalue) is NULL");
year = date/10000;
c_retvm_if(mon < 1 || 12 < mon || day < 1 || 31 < day, NULL, "Invalid date(mon=%d,day=%d)",mon,day);
- return detail_get_datetime_str(year, mon - 1, day - 1);
+ return detail_get_datetime_str(cdetail_d->formatter, year, mon, day);
case CTS_VALUE_MESSENGER:
ret_str = contacts_svc_value_get_str(value, CTS_MESSENGER_VAL_IM_ID_STR);
detail_voice_call_cb, num);
item = elm_ctxpopup_item_append(cdetail_d->popup, S_(CT_SYS_BODY_MESSAGE), NULL,
detail_msg_ug_cb, num);
- elm_object_item_disabled_set(item, EINA_TRUE);
evas_object_move(cdetail_d->popup, cdetail_d->touch_x, cdetail_d->touch_y);
evas_object_show(cdetail_d->popup);
btn = ctui_create_btn(obj, label);
c_retvm_if(NULL == btn, NULL, "ctui_create_btn() return NULL");
- if (0 == strcmp(part, "elm.icon.2"))
- elm_object_disabled_set(btn, EINA_TRUE);
-
evas_object_data_set(btn, "cdetail_d", cdetail_d);
evas_object_smart_callback_add(btn, "clicked", clicked_fn, number);
evas_object_data_del(cdetail_d->navi, "cdetail_d");
+ if (cdetail_d->formatter)
+ udat_close(cdetail_d->formatter);
+ cdetail_d->formatter = NULL;
+
if (cdetail_d->has_input)
cdetail_d->has_detail = false;
else
return genlist;
}
+static UDateFormat* detail_init_time_formatter()
+{
+ const char *locale;
+ int32_t pattern_capacity;
+ UChar pattern[CT_TEXT_SHORT_LEN];
+ UChar customSkeleton[CT_TEXT_SHORT_LEN];
+ UDateFormat *formatter = NULL;
+ UDateTimePatternGenerator generator;
+ UErrorCode status = U_ZERO_ERROR;
+
+ u_uastrncpy(customSkeleton, UDAT_YEAR_MONTH_DAY, strlen(UDAT_YEAR_MONTH_DAY));
+
+ locale = uloc_getDefault();
+ c_retvm_if(NULL == locale, NULL, "uloc_getDefault() return NULL");
+
+ generator = udatpg_open(locale, &status);
+ c_retvm_if(U_FAILURE(status), NULL, "udatpg_open() Failed()");
+
+ pattern_capacity = (int32_t) (sizeof(pattern) / sizeof((pattern)[0]));
+ udatpg_getBestPattern(generator, customSkeleton, 6, pattern, pattern_capacity, &status);
+
+ if (!U_FAILURE(status))
+ formatter = udat_open(UDAT_IGNORE, UDAT_IGNORE, locale, NULL, -1, pattern, -1, &status);
+
+ udatpg_close(generator);
+ return formatter;
+}
Evas_Object* ct_detail_create_content(ct_detail_data *cdetail_d)
{
}
detail_create_itcs();
+ cdetail_d->formatter = detail_init_time_formatter();
genlist = ctui_detail_genlist_update(cdetail_d);
evas_object_data_set(cdetail_d->navi, "cdetail_d", cdetail_d);
return layout;
}
+static inline bool input_num_email_check_dirty_number(char digit)
+{
+ switch (digit)
+ {
+ case '0' ... '9':
+ case 'p':
+ case 'w':
+ case 'P':
+ case 'W':
+ case '#':
+ case '*':
+ return false;
+ case '+': //only first position
+ default:
+ return true;
+ }
+}
+
+static inline int input_check_utf8(char c)
+{
+ if (c < 128)
+ return 1;
+ else if ((c & (char)0xe0) == (char)0xc0)
+ return 2;
+ else if ((c & (char)0xf0) == (char)0xe0)
+ return 3;
+ else if ((c & (char)0xf8) == (char)0xf0)
+ return 4;
+ else if ((c & (char)0xfc) == (char)0xf8)
+ return 5;
+ else if ((c & (char)0xfe) == (char)0xfc)
+ return 6;
+ else
+ return CTS_ERR_FAIL;
+}
+
+static int input_num_email_clean_number(const char *src, char *dest, int dest_size)
+{
+ int s_pos=0, d_pos=0, char_type;
+
+ if (NULL == src)
+ ERR("The parameter(src) is NULL");
+ else
+ {
+ if ('+' == src[s_pos])
+ dest[d_pos++] = src[s_pos++];
+
+ while (src[s_pos] != 0)
+ {
+ if (d_pos >= dest_size-2) break;
+ char_type = input_check_utf8(src[s_pos]);
+ if (char_type <= 1) {
+ if (input_num_email_check_dirty_number(src[s_pos])) {
+ s_pos++;
+ continue;
+ }
+ dest[d_pos++] = src[s_pos++];
+ }
+ else
+ s_pos += char_type;
+ }
+ }
+
+ dest[d_pos] = 0;
+ return d_pos;
+}
+
static void input_number_changed_cb(void *data, Evas_Object *obj, void *event_info)
{
+ int len;
int ret;
- ct_input_data *cinput_d = data;
+ char *tmp;
+ char buf[CT_TEXT_MAX_LEN];
Evas_Object *btn_minus;
+ ct_input_data *cinput_d = data;
ct_input_typed_data *typed_data;
- evas_object_smart_callback_del(obj, "changed", input_number_changed_cb);
c_retm_if(NULL == cinput_d, "parameter(ct_input_data) is NULL");
+ tmp = ctui_entry_markup_to_utf8(elm_entry_entry_get(obj));
+ c_retm_if(NULL == tmp, "ctui_entry_markup_to_utf8() return NULL");
+ len = input_num_email_clean_number(tmp, buf, sizeof(buf));
+
+ if (strlen(tmp) != len) {
+ CT_DBG("buf=%s",buf);
+ ctui_entry_entry_set(obj, buf);
+ elm_entry_cursor_end_set(obj);
+ ctui_create_popup(cinput_d->cdetail_d->win, T_(CT_GET_TEXT_ERR, CTTEXT_INVALID_NUMBER), 2.0);
+ free(tmp);
+ return;
+ }
+ free(tmp);
+ if (0 == len)
+ return;
+
typed_data = evas_object_data_get(obj, "typed_data");
c_retm_if(NULL == typed_data, "evas_object_data_get() return NULL");
+ if (!contacts_svc_value_get_bool(typed_data->value, CTS_NUM_VAL_DELETE_BOOL))
+ return;
+
ret = contacts_svc_value_set_bool(typed_data->value, CTS_NUM_VAL_DELETE_BOOL, false);
c_warn_if(CTS_SUCCESS != ret, "contacts_svc_value_set_bool() failed(%d)", ret);
cinput_d->cnt_num++;
cinput_d->ly_number_default = typed_data->ly_main;
edje_object_signal_emit(_EDJ(typed_data->ly_content), "elm,state,contact,default_number,enabled", "elm");
+
+ ret = contacts_svc_value_set_bool(typed_data->value, CTS_NUM_VAL_DEFAULT_BOOL, true);
+ c_warn_if(CTS_SUCCESS != ret, "contacts_svc_value_set_bool() Failed(%d)", ret);
}
}
else if (!contacts_svc_value_get_bool(typed_data->value, CTS_NUM_VAL_DELETE_BOOL)) {
if (cinput_d->ly_number_set_default)
input_number_set_default_button_reset(cinput_d);
-
- if (typed_data->data)
- evas_object_smart_callback_add(typed_data->data, "changed", input_number_changed_cb, cinput_d);
}
free(input);
elm_entry_input_panel_layout_set(entry, ELM_INPUT_PANEL_LAYOUT_PHONENUMBER);
val_str = contacts_svc_value_get_str(typed_data->value, CTS_NUM_VAL_NUMBER_STR);
- if (val_str && *val_str) {
+ if (val_str && *val_str)
ctui_entry_entry_set(entry, val_str);
- }
- else
- evas_object_smart_callback_add(entry, "changed", input_number_changed_cb, cinput_d);
+
+ evas_object_smart_callback_add(entry, "changed", input_number_changed_cb, cinput_d);
return editfield;
ct_input_data *cinput_d = data;
elm_object_focus_set(obj, EINA_FALSE);
-
c_retm_if(NULL == cinput_d, "cinput_d is NULL");
cdetail_d = cinput_d->cdetail_d;
ct_input_data *cinput_d = data;
ret = contacts_svc_struct_get_value(cinput_d->contact, CTS_CF_COMPANY_VALUE, &value);
- c_retm_if(CTS_SUCCESS != ret, "contacts_svc_struct_get_value() Failed(%d)", ret);
+ if (NULL == value) {
+ value = contacts_svc_value_new(CTS_VALUE_COMPANY);
+ contacts_svc_struct_store_value(cinput_d->contact, CTS_CF_COMPANY_VALUE, value);
+ }
input_baseinfo_value_set(value, obj, CTS_COMPANY_VAL_NAME_STR);
}
ct_input_data *cinput_d = data;
value = ct_input_get_nickname(cinput_d->contact);
- c_retm_if(NULL == value, "ct_input_get_nickname() return NULL");
+ if (NULL == value)
+ value = input_new_nickname(cinput_d->contact);
input_baseinfo_value_set(value, obj, CTS_NICKNAME_VAL_NAME_STR);
}
#include <libintl.h>
#include <ui-gadget.h>
#include <contacts-svc.h>
+#include <unicode/udat.h>
#include "contacts-ug.h"
#include "ct-path.h"
Ecore_Timer *timer;
Evas_Object *progressbar;
Evas_Object *layout;
- Evas_Object *label;
} ct_progress_info;
typedef struct {
int view_creat_ver;
CTSstruct *contact;
ct_list_data *clist_d;
+
+ UDateFormat* formatter;
}ct_detail_data;
typedef struct {
Evas_Object* ctui_create_base_layout(Evas_Object *parent, bool is_fullview);
Evas_Object* ctui_create_popup(Evas_Object *parent, const char *desc, double timeout);
-Evas_Object* ctui_progressbar_popup(Evas_Object *parent, ct_progress_info *p_info);
+Evas_Object* ctui_progressbar_popup(Evas_Object *parent, ct_progress_info *p_info, const char *title);
void ctui_progress_popup_hide_cb(void *data, Evas_Object *obj, void *event_info);
void ctui_ld_to_dd(ct_list_data *clist_d, ct_detail_data *cdetail_d);
void ctui_ug_layout_cb(struct ui_gadget *ug, enum ug_mode mode, void *priv);
CTTEXT_EXCEED_LIMIT,
CTTEXT_INITIALISING_TRY_LATER_ING,
CTTEXT_DATA_NOT_EXIST,
+ CTTEXT_INVALID_NUMBER,
};//CT_GET_TEXT_ERR
enum {
FREEandSTRDUP(clist_d->title, T_(CT_GET_TEXT_BASIC, CTTEXT_ALL_CONTACTS));
list_lazy_update(clist_d);
}
+ else {
+ const char *grp_name;
+ char buf[CT_TEXT_MAX_LEN];
+ grp_name = contacts_svc_value_get_str(group, CTS_GROUP_VAL_NAME_STR);
+ snprintf(buf, sizeof(buf), "%s (%d)", grp_name, clist_d->cnt_list);
+ free(clist_d->title);
+ clist_d->title = strdup(buf);
+ elm_object_item_text_set(clist_d->navi_item, buf);
+ }
}
static void list_view_delete_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
return;
}
- clist_d->popup = ctui_progressbar_popup(clist_d->win, p_info);
- elm_object_text_set(p_info->label, T_(CT_GET_TEXT_BASIC, CTTEXT_DELETING_CONTACTS));
+ clist_d->popup = ctui_progressbar_popup(clist_d->win, p_info, T_(CT_GET_TEXT_BASIC, CTTEXT_DELETING_CONTACTS));
btn = ctui_create_popup_button(clist_d->popup, 1, S_(CT_SYS_SK_CANCEL), ctui_progress_popup_hide_cb, &p_info->alive);
evas_object_data_set(btn, "p_popup", &clist_d->popup);
}
return;
}
- clist_d->popup = ctui_progressbar_popup(clist_d->win, p_info);
if (CT_LIST_EDIT_MOVE == clist_d->edit_op)
- elm_object_text_set(p_info->label, T_(CT_GET_TEXT_BASIC, CTTEXT_MOVING_CONTACTS));
+ clist_d->popup = ctui_progressbar_popup(clist_d->win, p_info, T_(CT_GET_TEXT_BASIC, CTTEXT_MOVING_CONTACTS));
else
- elm_object_text_set(p_info->label, T_(CT_GET_TEXT_BASIC, CTTEXT_COPYING_CONTACTS));
+ clist_d->popup = ctui_progressbar_popup(clist_d->win, p_info, T_(CT_GET_TEXT_BASIC, CTTEXT_COPYING_CONTACTS));
btn = ctui_create_popup_button(clist_d->popup, 1, S_(CT_SYS_SK_CANCEL), ctui_progress_popup_hide_cb, &p_info->alive);
evas_object_data_set(btn, "p_popup", &clist_d->popup);
c_warn_if(CTS_SUCCESS != ret, "contacts_svc_disconnect() Failed(%d)", ret);
return NULL;
}
+ elm_object_style_set(bg, "group_list");
if (create_setting_view(base, csetting_d ))
elm_object_part_content_set(base, "elm.swallow.content", csetting_d->navi);
csetting_d->p_info = NULL;
return;
}
- csetting_d->popup = ctui_progressbar_popup(csetting_d->navi, p_info);
- elm_object_text_set(p_info->label, T_(CT_GET_TEXT_BASIC, CTTEXT_IMPORTING_SIM_CONTACTS));
+ csetting_d->popup = ctui_progressbar_popup(csetting_d->navi, p_info, T_(CT_GET_TEXT_BASIC, CTTEXT_IMPORTING_SIM_CONTACTS));
}
static inline Eina_List* setting_get_contact_list(Eina_List *list_ab)
return;
}
- csetting_d->popup = ctui_progressbar_popup(csetting_d->navi, p_info);
- elm_object_text_set(p_info->label, title);
+ csetting_d->popup = ctui_progressbar_popup(csetting_d->navi, p_info, title);
ctui_create_popup_button(csetting_d->popup, 1, S_(CT_SYS_SK_CANCEL), setting_popup_hide_cb, NULL);
}
return;
}
- csetting_d->popup = ctui_progressbar_popup(csetting_d->navi, p_info);
- elm_object_text_set(p_info->label, title);
+ csetting_d->popup = ctui_progressbar_popup(csetting_d->navi, p_info, title);
ctui_create_popup_button(csetting_d->popup, 1, S_(CT_SYS_SK_CANCEL), setting_popup_hide_cb, NULL);
}
}
item = elm_genlist_item_next_get(item);
}
+
+ if(NULL == csetting_d->list_id_ab) {
+ char err[CT_TEXT_SHORT_LEN];
+ snprintf(err, sizeof(err), "Fail (%s)", T_(CT_GET_TEXT_ERR, CTTEXT_NO_CONTACTS));
+ ctui_show_notify(csetting_d->navi, err, 2.0);
+
+ csetting_d->select_all_checked = EINA_FALSE;
+ evas_object_del(csetting_d->popup);
+ csetting_d->popup = NULL;
+ return;
+ }
+
if (csetting_d->list_id_ab && 1 != eina_list_count(csetting_d->list_id_ab)) {
free(csetting_d->name_ab);
csetting_d->name_ab = NULL;
{
Evas_Object *genlist;
Elm_Object_Item *item;
- Evas_Object *base;
int sim_state;
setting_create_itcs();
- base = ctui_create_base_layout(csetting_d->navi, true);
-
- genlist = elm_genlist_add(base);
- elm_object_part_content_set(base, "elm.swallow.content", genlist);
+ genlist = elm_genlist_add(csetting_d->navi);
evas_object_data_set(genlist, "csetting_d", csetting_d);
+ ctui_list_detail_genlist_append_separator_line_20px(genlist);
+
vconf_get_int(VCONFKEY_TELEPHONY_SIM_PB_INIT, &sim_state);
if (sim_state)
elm_genlist_item_append(genlist, &setting_itcs[SETTING_ITC_IMPORT_SIM],
evas_object_smart_callback_add(genlist, "expanded", setting_gl_exp, csetting_d);
evas_object_smart_callback_add(genlist, "contracted", setting_gl_con, csetting_d);
- return base;
+ return genlist;
}
#~ msgstr "Exchange-Server suchen"
msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr "Ausgewählte Daten sind nicht vorhanden"
\ No newline at end of file
+msgstr "Ausgewählte Daten sind nicht vorhanden"
+
+msgid "IDS_PB_BODY_INVALID_NUMBER"
+msgstr "Ungültige Nummer"
msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
msgstr "Τα επιλεγμένα δεδομένα δεν υπάρχουν"
+
+msgid "IDS_PB_BODY_INVALID_NUMBER"
+msgstr "Μη έγκυρος αριθμός"
\ No newline at end of file
msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
msgstr "Selected data does not exist"
+
+msgid "IDS_PB_BODY_INVALID_NUMBER"
+msgstr "Invalid number"
#~ msgstr "Search Exchange server"
msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr "Selected data does not exist"
\ No newline at end of file
+msgstr "Selected data does not exist"
+
+msgid "IDS_PB_BODY_INVALID_NUMBER"
+msgstr "Invalid number"
#~ msgstr "Buscar Exchange server"
msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr "Los datos seleccionados no existe"
\ No newline at end of file
+msgstr "Los datos seleccionados no existe"
+
+msgid "IDS_PB_BODY_INVALID_NUMBER"
+msgstr "Número no válido"
#~ msgstr "Rechercher serveur Exchange"
msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr "Les données sélectionnées n'existent pas"
\ No newline at end of file
+msgstr "Les données sélectionnées n'existent pas"
+
+msgid "IDS_PB_BODY_INVALID_NUMBER"
+msgstr "Numéro non valide"
msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
msgstr "I dati selezionati non esistono"
+
+msgid "IDS_PB_BODY_INVALID_NUMBER"
+msgstr "Numero non valido"
#~ msgstr "Exchange serverの連絡先を検索"
msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr "選択したデータは存在しません"
\ No newline at end of file
+msgstr "選択したデータは存在しません"
+
+msgid "IDS_PB_BODY_INVALID_NUMBER"
+msgstr "番号が無効です。"
#~ msgstr "익스체인지 서버 검색"
msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr "존재하지 않는 데이터입니다"
\ No newline at end of file
+msgstr "존재하지 않는 데이터입니다"
+
+msgid "IDS_PB_BODY_INVALID_NUMBER"
+msgstr "전화번호가 바르지 않습니다"
#~ msgstr "Exchange-server zoeken"
msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr "Geselecteerde gegevens bestaan niet"
\ No newline at end of file
+msgstr "Geselecteerde gegevens bestaan niet"
+
+msgid "IDS_PB_BODY_INVALID_NUMBER"
+msgstr "Ongeldig getal"
#~ msgstr "Procurar servidor Exchange"
msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr "Os dados seleccionados não existem"
\ No newline at end of file
+msgstr "Os dados seleccionados não existem"
+
+msgid "IDS_PB_BODY_INVALID_NUMBER"
+msgstr "Número inválido"
\ No newline at end of file
#~ msgstr "Поиск на сервере Exchange"
msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr "Выбранные данные не существуют"
\ No newline at end of file
+msgstr "Выбранные данные не существуют"
+
+msgid "IDS_PB_BODY_INVALID_NUMBER"
+msgstr "Неправильный номер"
#~ msgstr "Exchange sunucusu ara"
msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr "Seçilen veriler mevcut değil"
\ No newline at end of file
+msgstr "Seçilen veriler mevcut değil"
+
+msgid "IDS_PB_BODY_INVALID_NUMBER"
+msgstr "Geçersiz numara"
#~ msgstr "搜索Exchange服务器"
msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr "选择的数据不存在"
\ No newline at end of file
+msgstr "选择的数据不存在"
+
+msgid "IDS_PB_BODY_INVALID_NUMBER"
+msgstr "Geçersiz numara"
#~ msgstr "搜尋 Exchange 伺服器"
msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr "已選資料不存在"
\ No newline at end of file
+msgstr "已選資料不存在"
+
+msgid "IDS_PB_BODY_INVALID_NUMBER"
+msgstr "號碼無效"
\ No newline at end of file
#~ msgstr "搜尋Exchange伺服器"
msgid "IDS_SEARCH_BODY_DATA_DOES_NOT_EXIST"
-msgstr "選定的數據不存在"
\ No newline at end of file
+msgstr "選定的數據不存在"
+
+msgid "IDS_PB_BODY_INVALID_NUMBER"
+msgstr "號碼無效"