From e72ba8183d646854d281cc30086cb8a527cc502d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?= Date: Tue, 19 May 2015 16:34:23 +0200 Subject: [PATCH 01/18] Fix crash while linphone quiting --- gtk/status_icon.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gtk/status_icon.c b/gtk/status_icon.c index ba16e28ea..916d9da62 100644 --- a/gtk/status_icon.c +++ b/gtk/status_icon.c @@ -412,9 +412,9 @@ static void _linphone_status_icon_impl_sn_init(LinphoneStatusIcon *si) { si->data = bc_status_notifier_new(); } -static void _linphone_status_icon_impl_sn_uninit(LinphoneStatusIcon *si) { - bc_status_notifier_unref((BcStatusNotifier *)si->data); -} +// static void _linphone_status_icon_impl_sn_uninit(LinphoneStatusIcon *si) { +// bc_status_notifier_unref((BcStatusNotifier *)si->data); +// } static void _linphone_status_icon_impl_sn_activated_cb(BcStatusNotifier *sn, int x, int y, void *user_data) { LinphoneStatusIcon *si = (LinphoneStatusIcon *)user_data; @@ -508,7 +508,7 @@ static gboolean _linphone_status_icon_impl_sn_is_supported( static const _LinphoneStatusIconDesc _linphone_status_icon_impl_status_notifier = { .impl_name = "status_notifier", .init = _linphone_status_icon_impl_sn_init, - .uninit = _linphone_status_icon_impl_sn_uninit, + .uninit = NULL, .start = _linphone_status_icon_impl_sn_start, .enable_blinking = _linphone_status_icon_impl_sn_enable_blinking, .is_supported = _linphone_status_icon_impl_sn_is_supported From cbccbafd42fb7dd928059a7ba88f496ebf4435cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?= Date: Wed, 20 May 2015 13:34:02 +0200 Subject: [PATCH 02/18] Fix missing status icon on Linux desktop environment that does not support StatusNotifierItem Only the first implementation of LinphoneStatusIcon was checked at startup --- gtk/status_icon.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/status_icon.c b/gtk/status_icon.c index 916d9da62..b5b161c7d 100644 --- a/gtk/status_icon.c +++ b/gtk/status_icon.c @@ -132,7 +132,7 @@ static void _linphone_status_icon_desc_is_supported_result_cb( _LinphoneStatusIconDescSearchCtx *ctx) { if(!result) { - ; + ctx->i = g_slist_next(ctx->i); for(; ctx->i; ctx->i = g_slist_next(ctx->i)) { if(_linphone_status_icon_desc_is_supported( (const _LinphoneStatusIconDesc *)g_slist_nth_data(ctx->i, 0), From 96e4b9469025b952ba02b84d6c037bfebc6e6721 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?= Date: Wed, 20 May 2015 13:58:42 +0200 Subject: [PATCH 03/18] Fix double free while linphone quits --- gtk/status_icon.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gtk/status_icon.c b/gtk/status_icon.c index b5b161c7d..19782b1cc 100644 --- a/gtk/status_icon.c +++ b/gtk/status_icon.c @@ -304,10 +304,10 @@ static void _linphone_status_icon_impl_gtk_init(LinphoneStatusIcon *si) { si->data = icon; } -static void _linphone_status_icon_impl_gtk_uninit(LinphoneStatusIcon *si) { - GtkStatusIcon *icon = GTK_STATUS_ICON(si->data); - gtk_status_icon_set_visible(icon, FALSE); -} +// static void _linphone_status_icon_impl_gtk_uninit(LinphoneStatusIcon *si) { +// GtkStatusIcon *icon = GTK_STATUS_ICON(si->data); +// gtk_status_icon_set_visible(icon, FALSE); +// } static void _linphone_status_icon_impl_gtk_start(LinphoneStatusIcon *si) { GtkStatusIcon *icon = GTK_STATUS_ICON(si->data); @@ -359,7 +359,7 @@ static gboolean _linphone_status_icon_impl_is_supported( static const _LinphoneStatusIconDesc _linphone_status_icon_impl_gtk_desc = { "gtk_status_icon", _linphone_status_icon_impl_gtk_init, - _linphone_status_icon_impl_gtk_uninit, + NULL, _linphone_status_icon_impl_gtk_start, _linphone_status_icon_impl_enable_blinking, _linphone_status_icon_impl_is_supported From 4c91dfd81cee1f14ac5d33866176b2cefa72b60f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?= Date: Tue, 26 May 2015 12:13:55 +0200 Subject: [PATCH 04/18] Fix crash in the GTK implementation of StatusIcon when blinking is set --- gtk/status_icon.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gtk/status_icon.c b/gtk/status_icon.c index 19782b1cc..0b8f17dcd 100644 --- a/gtk/status_icon.c +++ b/gtk/status_icon.c @@ -297,10 +297,8 @@ static void _linphone_status_icon_impl_gtk_init(LinphoneStatusIcon *si) { g_signal_connect_swapped(G_OBJECT(icon),"activate", G_CALLBACK(_linphone_status_icon_impl_gtk_on_click_cb), si); g_signal_connect(G_OBJECT(icon), "popup-menu", G_CALLBACK(_linphone_status_icon_impl_gtk_popup_menu), si); g_object_set_data_full(G_OBJECT(icon),"icon",pbuf, g_object_unref); - g_object_unref(pbuf); pbuf=create_pixbuf(call_icon_path); g_object_set_data_full(G_OBJECT(icon),"call_icon",pbuf, g_object_unref); - g_object_unref(pbuf); si->data = icon; } From 6d9dd3bf5bcefcf678c4f91ec68514574dcc25e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?= Date: Thu, 4 Jun 2015 14:39:03 +0200 Subject: [PATCH 05/18] Only start status notifier item whether Linphone has been launched on KDE --- gtk/status_icon.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/gtk/status_icon.c b/gtk/status_icon.c index 0b8f17dcd..80ddf9acd 100644 --- a/gtk/status_icon.c +++ b/gtk/status_icon.c @@ -488,10 +488,18 @@ static gboolean _linphone_status_icon_impl_sn_is_supported( LinphoneStatusIconDescIsSupportedResultCb cb, void *user_data) { - _LinphoneStatusIconDesc *desc2 = g_new(_LinphoneStatusIconDesc, 1); - void **data = g_new(void *, 3); + _LinphoneStatusIconDesc *desc2; + void **data; + const char *desktop = g_getenv("XDG_CURRENT_DESKTOP"); + if(desktop == NULL || g_strcmp0(desktop, "KDE") != 0) { + *result = FALSE; + return TRUE; + } + + desc2 = g_new(_LinphoneStatusIconDesc, 1); *desc2 = *desc; + data = g_new(void *, 3); data[0] = desc2; data[1] = cb; data[2] = user_data; @@ -500,7 +508,7 @@ static gboolean _linphone_status_icon_impl_sn_is_supported( (BcStatusNotifierSupportDetectionCb)_linphone_status_icon_impl_is_supported_cb, data ); - return 0; + return FALSE; } static const _LinphoneStatusIconDesc _linphone_status_icon_impl_status_notifier = { From a9e04ddae94c21626911517419b2abf7e6694c13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?= Date: Thu, 4 Jun 2015 15:35:20 +0200 Subject: [PATCH 06/18] Increment version number to 3.8.3 and update NEWS --- CMakeLists.txt | 2 +- NEWS | 3 +++ configure.ac | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b6c1d4a04..170cd2f2b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,7 +26,7 @@ project(LINPHONE C CXX) set(LINPHONE_MAJOR_VERSION "3") set(LINPHONE_MINOR_VERSION "8") -set(LINPHONE_MICRO_VERSION "2") +set(LINPHONE_MICRO_VERSION "3") set(LINPHONE_VERSION "${LINPHONE_MAJOR_VERSION}.${LINPHONE_MINOR_VERSION}.${LINPHONE_MICRO_VERSION}") set(LINPHONE_SO_VERSION "7") diff --git a/NEWS b/NEWS index 624ad27cb..479818bd4 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,6 @@ +linphone-3.8.3 -- June 4th, 2015 + * Fix status icons on all platforms (Windows, MacOS, non-KDE Linux desktop environment) + linphone-3.8.2 -- May 7th, 2015 Application level improvements: * add support of the StatusNotifierItem standard to display a status icon on KDE5 diff --git a/configure.ac b/configure.ac index 9800c19f4..07344a6a2 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([linphone],[3.8.2],[linphone-developers@nongnu.org]) +AC_INIT([linphone],[3.8.3],[linphone-developers@nongnu.org]) AC_CANONICAL_SYSTEM AC_CONFIG_SRCDIR([coreapi/linphonecore.c]) From cbae403a1f4c380da62539e43edc42135f087c0f Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Tue, 2 Jun 2015 11:02:23 +0200 Subject: [PATCH 07/18] Handle XML-RPC request in liblinphone directly instead of using libsoup. --- coreapi/CMakeLists.txt | 2 + coreapi/linphonecore.h | 2 + coreapi/private.h | 36 ++++- coreapi/proxy.c | 2 +- coreapi/sipsetup.h | 3 + coreapi/sipwizard.c | 154 +++++------------- coreapi/xmlrpc.c | 346 +++++++++++++++++++++++++++++++++++++++++ coreapi/xmlrpc.h | 164 +++++++++++++++++++ gtk/setupwizard.c | 1 + 9 files changed, 592 insertions(+), 118 deletions(-) create mode 100644 coreapi/xmlrpc.c create mode 100644 coreapi/xmlrpc.h diff --git a/coreapi/CMakeLists.txt b/coreapi/CMakeLists.txt index b8b6b27cb..ea1ccb0ea 100644 --- a/coreapi/CMakeLists.txt +++ b/coreapi/CMakeLists.txt @@ -92,6 +92,8 @@ set(SOURCE_FILES xml2lpc.c xml2lpc.h xml.c + xmlrpc.c + xmlrpc.h vtables.c ) if(ENABLE_TUNNEL) diff --git a/coreapi/linphonecore.h b/coreapi/linphonecore.h index 22788939a..d77ea401c 100644 --- a/coreapi/linphonecore.h +++ b/coreapi/linphonecore.h @@ -373,6 +373,7 @@ LINPHONE_PUBLIC const char* linphone_privacy_to_string(LinphonePrivacy privacy); #include "content.h" #include "event.h" #include "linphonefriend.h" +#include "xmlrpc.h" #else #include "linphone/buffer.h" #include "linphone/call_log.h" @@ -380,6 +381,7 @@ LINPHONE_PUBLIC const char* linphone_privacy_to_string(LinphonePrivacy privacy); #include "linphone/content.h" #include "linphone/event.h" #include "linphone/linphonefriend.h" +#include "linphone/xmlrpc.h" #endif LINPHONE_PUBLIC LinphoneAddress * linphone_address_new(const char *addr); diff --git a/coreapi/private.h b/coreapi/private.h index 9ef265d26..a74bf8710 100644 --- a/coreapi/private.h +++ b/coreapi/private.h @@ -979,6 +979,38 @@ struct _LinphoneBuffer { BELLE_SIP_DECLARE_VPTR(LinphoneBuffer); +/***************************************************************************** + * XML-RPC interface * + ****************************************************************************/ + +struct _LinphoneXmlRpcRequest { + belle_sip_object_t base; + void *user_data; + belle_sip_list_t *arg_list; + char *content; /**< The string representation of the XML-RPC request */ + char *method; + LinphoneXmlRpcStatus status; + int response; +}; + +BELLE_SIP_DECLARE_VPTR(LinphoneXmlRpcRequest); + +struct _LinphoneXmlRpcSession { + belle_sip_object_t base; + void *user_data; + belle_sip_list_t *arg_list; + LinphoneCore *core; + LinphoneXmlRpcRequest *request; + LinphoneContent *content; + char *url; + ms_cond_t cond; + ms_mutex_t cond_mutex; + ms_mutex_t mutex; +}; + +BELLE_SIP_DECLARE_VPTR(LinphoneXmlRpcSession); + + /***************************************************************************** * REMOTE PROVISIONING FUNCTIONS * ****************************************************************************/ @@ -1083,7 +1115,9 @@ BELLE_SIP_TYPE_ID(LinphoneContent), BELLE_SIP_TYPE_ID(LinphoneLDAPContactProvider), BELLE_SIP_TYPE_ID(LinphoneLDAPContactSearch), BELLE_SIP_TYPE_ID(LinphoneProxyConfig), -BELLE_SIP_TYPE_ID(LinphoneFriend) +BELLE_SIP_TYPE_ID(LinphoneFriend), +BELLE_SIP_TYPE_ID(LinphoneXmlRpcRequest), +BELLE_SIP_TYPE_ID(LinphoneXmlRpcSession) BELLE_SIP_DECLARE_TYPES_END diff --git a/coreapi/proxy.c b/coreapi/proxy.c index 4283712d9..f32935f12 100644 --- a/coreapi/proxy.c +++ b/coreapi/proxy.c @@ -1507,7 +1507,7 @@ LinphoneAccountCreator *linphone_account_creator_new(struct _LinphoneCore *core, return NULL; } obj=ms_new0(LinphoneAccountCreator,1); - cfg=linphone_proxy_config_new(); + cfg=linphone_core_create_proxy_config(core); ssctx=sip_setup_context_new(ss,cfg); obj->lc=core; obj->ssctx=ssctx; diff --git a/coreapi/sipsetup.h b/coreapi/sipsetup.h index 2cbe24036..63d71d5f1 100644 --- a/coreapi/sipsetup.h +++ b/coreapi/sipsetup.h @@ -31,10 +31,13 @@ struct _SipSetup; struct _BuddyInfo; +struct _LinphoneXmlRpcSession; + struct _SipSetupContext{ struct _SipSetup *funcs; struct _LinphoneProxyConfig *cfg; + struct _LinphoneXmlRpcSession *xmlrpc_session; char domain[128]; char username[128]; void *data; diff --git a/coreapi/sipwizard.c b/coreapi/sipwizard.c index 879b9942a..7c1e4d1bb 100644 --- a/coreapi/sipwizard.c +++ b/coreapi/sipwizard.c @@ -20,18 +20,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "linphonecore.h" #include "private.h" #include -#include -typedef struct _BLReq{ - int status; - int result; - SoupMessage *msg; - SoupSession *session; - ortp_thread_t th; -}BLReq; -static const int XMLRPC_FAILED = -1; -static const int XMLRPC_OK = 0; static const char *XMLRPC_URL = "https://www.linphone.org/wizard.php"; static void sip_wizard_init_instance(SipSetupContext *ctx){ @@ -40,6 +30,13 @@ static void sip_wizard_init_instance(SipSetupContext *ctx){ linphone_proxy_config_enable_register(cfg,FALSE); } +static void sip_wizard_uninit_instance(SipSetupContext *ctx) { + if (ctx->xmlrpc_session != NULL) { + linphone_xml_rpc_session_unref(ctx->xmlrpc_session); + ctx->xmlrpc_session = NULL; + } +} + static const char ** sip_wizard_get_domains(SipSetupContext *ctx) { LinphoneProxyConfig *cfg=sip_setup_context_get_proxy_config(ctx); const char **domains = (const char**) &cfg->reg_proxy; @@ -47,94 +44,23 @@ static const char ** sip_wizard_get_domains(SipSetupContext *ctx) { } -static int xml_rpc_parse_response(BLReq *blreq, SoupMessage *sm){ - SoupBuffer *sb; - GValue retval; - GError *error=NULL; - sb=soup_message_body_flatten(sm->response_body); - ms_message("This the xml-rpc response:\n%s\n",sb->data); - if (soup_xmlrpc_parse_method_response(sb->data,sb->length,&retval,&error)==FALSE){ - if (error!=NULL){ - ms_error("xmlrpc fault: %s",error->message); - g_error_free(error); - }else{ - ms_error("Could not parse xml-rpc response !"); - } - blreq->status=XMLRPC_FAILED; - }else{ - ms_message("Extracting values from return type..."); - blreq->result = g_value_get_int(&retval); - g_value_unset(&retval); - blreq->status=XMLRPC_OK; - } - soup_buffer_free(sb); - return blreq->status; -} +static int do_simple_xmlrpc_request(SipSetupContext *ctx, LinphoneXmlRpcRequest *request) { + int ret = -1; -static void got_headers(BLReq *blreq, SoupMessage*msg){ - ms_message("Got headers !"); - blreq->status=XMLRPC_OK; -} - -#if SERIALIZE_HTTPS -/*on windows libsoup support for threads with gnutls is not yet functionnal (only in git) -This will come in next release of libsoup, probably. -In the meantime, we are forced to serialize all soup https processing with a big -ugly global mutex...*/ - -static GStaticMutex big_mutex = G_STATIC_MUTEX_INIT; -#endif - -static void * process_xml_rpc_request(void *up){ - BLReq *blreq=(BLReq*)up; - SoupMessage *sm=blreq->msg; - int code; - g_signal_connect_swapped(G_OBJECT(sm),"got-headers",(GCallback)got_headers,blreq); - blreq->status=XMLRPC_OK; -#if SERIALIZE_HTTPS - g_static_mutex_lock(&big_mutex); -#endif - code=soup_session_send_message(blreq->session,sm); - if (code==200){ - xml_rpc_parse_response(blreq,sm); - }else{ - ms_error("request failed, error-code=%i (%s)",code,soup_status_get_phrase(code)); - blreq->status=XMLRPC_FAILED; - } -#if SERIALIZE_HTTPS - g_static_mutex_unlock(&big_mutex); -#endif - return NULL; -} - - -static int do_simple_xmlrpc_request(SoupMessage *msg) { - int ret=-1; - BLReq *req; - - if (!msg){ - ms_error("Fail to create SoupMessage !"); + if (!request) { + ms_error("Fail to create XML-RPC request!"); return -1; - }else{ - SoupBuffer *sb=soup_message_body_flatten(msg->request_body); - ms_message("This is the XML-RPC request we are going to send:\n%s\n",sb->data); - soup_buffer_free(sb); + } else { + ms_message("This is the XML-RPC request we are going to send:\n%s\n", linphone_xml_rpc_request_get_content(request)); } - req=ms_new0(BLReq, 1); - req->session=soup_session_sync_new(); - req->msg=msg; - - process_xml_rpc_request(req); - - if (req->status == XMLRPC_OK) { - ret=req->result; - } - - // Freeing allocated structures lead to a crash (why?) - //g_free(req->session); - //g_free(msg); - ms_free(req); + if (ctx->xmlrpc_session == NULL) { + ctx->xmlrpc_session = linphone_xml_rpc_session_new(ctx->cfg->lc, XMLRPC_URL); + } + if (linphone_xml_rpc_session_send_request(ctx->xmlrpc_session, request) == LinphoneXmlRpcStatusOk) { + ret = linphone_xml_rpc_request_get_response(request); + } + linphone_xml_rpc_request_unref(request); return ret; } @@ -145,30 +71,27 @@ static int do_simple_xmlrpc_request(SoupMessage *msg) { * -1 if information isn't available */ static int sip_wizard_account_exists(SipSetupContext *ctx, const char *identity) { - SoupMessage *msg=soup_xmlrpc_request_new(XMLRPC_URL, - "check_account", - G_TYPE_STRING, identity, - G_TYPE_INVALID); - return do_simple_xmlrpc_request(msg); + LinphoneXmlRpcRequest *request = linphone_xml_rpc_request_new("check_account", + LinphoneXmlRpcArgString, identity, + LinphoneXmlRpcArgNone); + return do_simple_xmlrpc_request(ctx, request); } static int sip_wizard_account_validated(SipSetupContext *ctx, const char *identity) { - SoupMessage *msg=soup_xmlrpc_request_new(XMLRPC_URL, - "check_account_validated", - G_TYPE_STRING, identity, - G_TYPE_INVALID); - return do_simple_xmlrpc_request(msg); + LinphoneXmlRpcRequest *request = linphone_xml_rpc_request_new("check_account_validated", + LinphoneXmlRpcArgString, identity, + LinphoneXmlRpcArgNone); + return do_simple_xmlrpc_request(ctx, request); } -static int sip_wizard_create_account(SipSetupContext *ctx, const char *identity, const char *passwd, const char *email, int suscribe) { - SoupMessage *msg=soup_xmlrpc_request_new(XMLRPC_URL, - "create_account", - G_TYPE_STRING, identity, - G_TYPE_STRING, passwd, - G_TYPE_STRING, email, - G_TYPE_INT, suscribe, - G_TYPE_INVALID); - return do_simple_xmlrpc_request(msg); +static int sip_wizard_create_account(SipSetupContext *ctx, const char *identity, const char *passwd, const char *email, int subscribe) { + LinphoneXmlRpcRequest *request = linphone_xml_rpc_request_new("create_account", + LinphoneXmlRpcArgString, identity, + LinphoneXmlRpcArgString, passwd, + LinphoneXmlRpcArgString, email, + LinphoneXmlRpcArgInt, subscribe, + LinphoneXmlRpcArgNone); + return do_simple_xmlrpc_request(ctx, request); } static void guess_display_name(LinphoneAddress *from){ @@ -232,6 +155,7 @@ SipSetup linphone_sip_wizard={ .name="SipWizard", .capabilities=SIP_SETUP_CAP_ACCOUNT_MANAGER, .init_instance=sip_wizard_init_instance, + .uninit_instance=sip_wizard_uninit_instance, .account_exists=sip_wizard_account_exists, .create_account=sip_wizard_create_account, .login_account=sip_wizard_do_login, @@ -247,7 +171,7 @@ SipSetup linphone_sip_wizard={ NULL, NULL, sip_wizard_init_instance, - NULL, + sip_wizard_uninit_instance, sip_wizard_account_exists, sip_wizard_create_account, sip_wizard_do_login, @@ -261,6 +185,4 @@ SipSetup linphone_sip_wizard={ sip_wizard_account_validated }; - - #endif diff --git a/coreapi/xmlrpc.c b/coreapi/xmlrpc.c new file mode 100644 index 000000000..89f16f10d --- /dev/null +++ b/coreapi/xmlrpc.c @@ -0,0 +1,346 @@ +/* +linphone +Copyright (C) 2010-2015 Belledonne Communications SARL + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + +#include "linphonecore.h" +#include "private.h" + +#include +#include +#include + + + +typedef struct _LinphoneXmlRpcArg { + LinphoneXmlRpcArgType type; + union { + int i; + char *s; + } data; +} LinphoneXmlRpcArg; + +static void format_request(LinphoneXmlRpcRequest *request) { + char si[64]; + belle_sip_list_t *arg_ptr = request->arg_list; + xmlBufferPtr buf; + xmlTextWriterPtr writer; + int err; + + buf = xmlBufferCreate(); + if (buf == NULL) { + ms_error("Error creating the XML buffer"); + return; + } + writer = xmlNewTextWriterMemory(buf, 0); + if (writer == NULL) { + ms_error("Error creating the XML writer"); + return; + } + + err = xmlTextWriterStartDocument(writer, "1.0", "UTF-8", NULL); + if (err >= 0) { + err = xmlTextWriterStartElement(writer, (const xmlChar *)"methodCall"); + } + if (err >= 0) { + err = xmlTextWriterWriteElement(writer, (const xmlChar *)"methodName", (const xmlChar *)request->method); + } + if (err >= 0) { + err = xmlTextWriterStartElement(writer, (const xmlChar *)"params"); + } + while (arg_ptr != NULL) { + LinphoneXmlRpcArg *arg = (LinphoneXmlRpcArg *)arg_ptr->data; + if (err >= 0) { + err = xmlTextWriterStartElement(writer, (const xmlChar *)"param"); + } + if (err >= 0) { + err = xmlTextWriterStartElement(writer, (const xmlChar *)"value"); + } + switch (arg->type) { + case LinphoneXmlRpcArgNone: + break; + case LinphoneXmlRpcArgInt: + memset(si, 0, sizeof(si)); + snprintf(si, sizeof(si), "%i", arg->data.i); + err = xmlTextWriterWriteElement(writer, (const xmlChar *)"int", (const xmlChar *)si); + break; + case LinphoneXmlRpcArgString: + err = xmlTextWriterWriteElement(writer, (const xmlChar *)"string", (const xmlChar *)arg->data.s); + break; + } + if (err >= 0) { + /* Close the "value" element. */ + err = xmlTextWriterEndElement(writer); + } + if (err >= 0) { + /* Close the "param" element. */ + err = xmlTextWriterEndElement(writer); + } + arg_ptr = arg_ptr->next; + } + if (err >= 0) { + /* Close the "params" element. */ + err = xmlTextWriterEndElement(writer); + } + if (err >= 0) { + /* Close the "methodCall" element. */ + err = xmlTextWriterEndElement(writer); + } + if (err >= 0) { + err = xmlTextWriterEndDocument(writer); + } + if (err > 0) { + /* xmlTextWriterEndDocument returns the size of the content. */ + request->content = belle_sip_strdup((const char *)buf->content); + } + xmlFreeTextWriter(writer); + xmlBufferFree(buf); +} + +static void free_arg(LinphoneXmlRpcArg *arg) { + if ((arg->type == LinphoneXmlRpcArgString) && (arg->data.s != NULL)) { + belle_sip_free(arg->data.s); + } + belle_sip_free(arg); +} + +static void process_io_error_from_post_xml_rpc_request(void *data, const belle_sip_io_error_event_t *event) { + LinphoneXmlRpcSession *session = (LinphoneXmlRpcSession *)data; + ms_error("I/O Error during XML-RPC request sending to %s", session->url); + session->request->status = LinphoneXmlRpcStatusFailed; + ms_cond_signal(&session->cond); +} + +static void process_auth_requested_from_post_xml_rpc_request(void *data, belle_sip_auth_event_t *event) { + LinphoneXmlRpcSession *session = (LinphoneXmlRpcSession *)data; + ms_error("Error during XML-RPC request sending to connect %s", session->url); + session->request->status = LinphoneXmlRpcStatusFailed; + ms_cond_signal(&session->cond); +} + +static void parse_valid_xml_rpc_response(LinphoneXmlRpcSession *session, const char *response_body) { + xmlparsing_context_t *xml_ctx = linphone_xmlparsing_context_new(); + xmlSetGenericErrorFunc(xml_ctx, linphone_xmlparsing_genericxml_error); + session->request->status = LinphoneXmlRpcStatusFailed; + xml_ctx->doc = xmlReadDoc((const unsigned char*)response_body, 0, NULL, 0); + if (xml_ctx->doc != NULL) { + const char *response_str; + if (linphone_create_xml_xpath_context(xml_ctx) < 0) goto end; + response_str = linphone_get_xml_text_content(xml_ctx, "/methodResponse/params/param/value/int"); + if (response_str != NULL) { + session->request->response = atoi(response_str); + session->request->status = LinphoneXmlRpcStatusOk; + } + linphone_free_xml_text_content(response_str); + } else { + ms_warning("Wrongly formatted XML-RPC response: %s", xml_ctx->errorBuffer); + } +end: + linphone_xmlparsing_context_destroy(xml_ctx); + ms_cond_signal(&session->cond); +} + +static void notify_xml_rpc_error(LinphoneXmlRpcSession *session) { + session->request->status = LinphoneXmlRpcStatusOk; + ms_cond_signal(&session->cond); +} + +/** + * Callback function called when we have a response from server during the upload of the log collection to the server (rcs5.1 recommandation) + * Note: The first post is empty and the server shall reply a 204 (No content) message, this will trigger a new post request to the server + * to upload the file. The server response to this second post is processed by this same function + * + * @param[in] data The user-defined pointer associated with the request, it contains the LinphoneCore object + * @param[in] event The response from server + */ +static void process_response_from_post_xml_rpc_request(void *data, const belle_http_response_event_t *event) { + LinphoneXmlRpcSession *session = (LinphoneXmlRpcSession *)data; + + /* Check the answer code */ + if (event->response) { + int code = belle_http_response_get_status_code(event->response); + if (code == 200) { /* Valid response from the server. */ + parse_valid_xml_rpc_response(session, belle_sip_message_get_body((belle_sip_message_t *)event->response)); + } else { + notify_xml_rpc_error(session); + } + } +} + + +static void linphone_xml_rpc_request_destroy(LinphoneXmlRpcRequest *request) { + belle_sip_list_free_with_data(request->arg_list, (void (*)(void*))free_arg); + if (request->content) belle_sip_free(request->content); + belle_sip_free(request->method); +} + +static void linphone_xml_rpc_session_destroy(LinphoneXmlRpcSession *session) { + belle_sip_free(session->url); + ms_cond_destroy(&session->cond); + ms_mutex_destroy(&session->cond_mutex); + ms_mutex_destroy(&session->mutex); +} + +BELLE_SIP_DECLARE_NO_IMPLEMENTED_INTERFACES(LinphoneXmlRpcRequest); +BELLE_SIP_DECLARE_NO_IMPLEMENTED_INTERFACES(LinphoneXmlRpcSession); + +BELLE_SIP_INSTANCIATE_VPTR(LinphoneXmlRpcRequest, belle_sip_object_t, + (belle_sip_object_destroy_t)linphone_xml_rpc_request_destroy, + NULL, // clone + NULL, // marshal + TRUE +); + +BELLE_SIP_INSTANCIATE_VPTR(LinphoneXmlRpcSession, belle_sip_object_t, + (belle_sip_object_destroy_t)linphone_xml_rpc_session_destroy, + NULL, // clone + NULL, // marshal + TRUE +); + + +LinphoneXmlRpcRequest * linphone_xml_rpc_request_new(const char *method, ...) { + bool_t cont = TRUE; + va_list args; + LinphoneXmlRpcArgType arg_type; + LinphoneXmlRpcArg *arg = NULL; + LinphoneXmlRpcRequest *request = belle_sip_object_new(LinphoneXmlRpcRequest); + belle_sip_object_ref(request); + request->status = LinphoneXmlRpcStatusPending; + request->response = -1; + request->method = belle_sip_strdup(method); + va_start(args, method); + while (cont) { + arg_type = va_arg(args, LinphoneXmlRpcArgType); + switch (arg_type) { + case LinphoneXmlRpcArgNone: + cont = FALSE; + break; + case LinphoneXmlRpcArgInt: + arg = belle_sip_malloc0(sizeof(LinphoneXmlRpcArg)); + arg->type = LinphoneXmlRpcArgInt; + arg->data.i = va_arg(args, int); + request->arg_list = belle_sip_list_append(request->arg_list, arg); + break; + case LinphoneXmlRpcArgString: + arg = belle_sip_malloc0(sizeof(LinphoneXmlRpcArg)); + arg->type = LinphoneXmlRpcArgString; + arg->data.s = belle_sip_strdup(va_arg(args, char *)); + request->arg_list = belle_sip_list_append(request->arg_list, arg); + break; + } + } + va_end(args); + format_request(request); + return request; +} + +LinphoneXmlRpcRequest * linphone_xml_rpc_request_ref(LinphoneXmlRpcRequest *request) { + belle_sip_object_ref(request); + return request; +} + +void linphone_xml_rpc_request_unref(LinphoneXmlRpcRequest *request) { + belle_sip_object_unref(request); +} + +void *linphone_xml_rpc_request_get_user_data(const LinphoneXmlRpcRequest *request) { + return request->user_data; +} + +void linphone_xml_rpc_request_set_user_data(LinphoneXmlRpcRequest *request, void *ud) { + request->user_data = ud; +} + +const char * linphone_xml_rpc_request_get_content(const LinphoneXmlRpcRequest *request) { + return request->content; +} + +LinphoneXmlRpcStatus linphone_xml_rpc_request_get_status(const LinphoneXmlRpcRequest *request) { + return request->status; +} + +int linphone_xml_rpc_request_get_response(const LinphoneXmlRpcRequest *request) { + return request->response; +} + + +LinphoneXmlRpcSession * linphone_xml_rpc_session_new(LinphoneCore *core, const char *url) { + LinphoneXmlRpcSession *session = belle_sip_object_new(LinphoneXmlRpcSession); + belle_sip_object_ref(session); + session->core = core; + session->url = belle_sip_strdup(url); + ms_cond_init(&session->cond, NULL); + ms_mutex_init(&session->cond_mutex, NULL); + ms_mutex_init(&session->mutex, NULL); + return session; +} + +LinphoneXmlRpcSession * linphone_xml_rpc_session_ref(LinphoneXmlRpcSession *session) { + belle_sip_object_ref(session); + return session; +} + +void linphone_xml_rpc_session_unref(LinphoneXmlRpcSession *session) { + belle_sip_object_unref(session); +} + +void *linphone_xml_rpc_session_get_user_data(const LinphoneXmlRpcSession *session) { + return session->user_data; +} + +void linphone_xml_rpc_session_set_user_data(LinphoneXmlRpcSession *session, void *ud) { + session->user_data = ud; +} + +LinphoneXmlRpcStatus linphone_xml_rpc_session_send_request(LinphoneXmlRpcSession *session, LinphoneXmlRpcRequest *request) { + belle_http_request_listener_callbacks_t cbs = { 0 }; + belle_http_request_listener_t *l; + belle_generic_uri_t *uri; + belle_http_request_t *req; + belle_sip_memory_body_handler_t *bh; + const char *data; + LinphoneXmlRpcStatus status; + + ms_mutex_lock(&session->mutex); + session->request = linphone_xml_rpc_request_ref(request); + session->content = linphone_content_new(); + linphone_content_set_type(session->content, "text"); + linphone_content_set_subtype(session->content,"xml"); + linphone_content_set_string_buffer(session->content, linphone_xml_rpc_request_get_content(request)); + uri = belle_generic_uri_parse(session->url); + req = belle_http_request_create("POST", uri, belle_sip_header_content_type_create("text", "xml"), NULL); + data = linphone_xml_rpc_request_get_content(request); + bh = belle_sip_memory_body_handler_new_copy_from_buffer(data, strlen(data), NULL, session); + belle_sip_message_set_body_handler(BELLE_SIP_MESSAGE(req), BELLE_SIP_BODY_HANDLER(bh)); + cbs.process_response = process_response_from_post_xml_rpc_request; + cbs.process_io_error = process_io_error_from_post_xml_rpc_request; + cbs.process_auth_requested = process_auth_requested_from_post_xml_rpc_request; + l = belle_http_request_listener_create_from_callbacks(&cbs, session); + belle_http_provider_send_request(session->core->http_provider, req, l); + + ms_mutex_lock(&session->cond_mutex); + ms_cond_wait(&session->cond, &session->cond_mutex); + ms_mutex_unlock(&session->cond_mutex); + status = session->request->status; + linphone_xml_rpc_request_unref(session->request); + session->request = NULL; + linphone_content_unref(session->content); + session->content = NULL; + ms_mutex_unlock(&session->mutex); + return status; +} diff --git a/coreapi/xmlrpc.h b/coreapi/xmlrpc.h new file mode 100644 index 000000000..34141be89 --- /dev/null +++ b/coreapi/xmlrpc.h @@ -0,0 +1,164 @@ +/* +buffer.h +Copyright (C) 2010-2015 Belledonne Communications SARL + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + +#ifndef LINPHONE_XMLRPC_H_ +#define LINPHONE_XMLRPC_H_ + + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * @addtogroup misc + * @{ + */ + +typedef enum _LinphoneXmlRpcArgType { + LinphoneXmlRpcArgNone, + LinphoneXmlRpcArgInt, + LinphoneXmlRpcArgString +} LinphoneXmlRpcArgType; + +typedef enum _LinphoneXmlRpcStatus { + LinphoneXmlRpcStatusPending, + LinphoneXmlRpcStatusOk, + LinphoneXmlRpcStatusFailed +} LinphoneXmlRpcStatus; + +/** + * The LinphoneXmlRpcRequest object representing a XML-RPC request to be sent. +**/ +typedef struct _LinphoneXmlRpcRequest LinphoneXmlRpcRequest; + +/** + * The LinphoneXmlRpcSession object used to send XML-RPC requests and handle their responses. +**/ +typedef struct _LinphoneXmlRpcSession LinphoneXmlRpcSession; + + +/** + * Create a new LinphoneXmlRpcRequest object. + * @param[in] method The XML-RPC method to call. + * @return A new LinphoneXmlRpcRequest object. + */ +LINPHONE_PUBLIC LinphoneXmlRpcRequest * linphone_xml_rpc_request_new(const char *method, ...); + +/** + * Acquire a reference to the XML-RPC request. + * @param[in] request LinphoneXmlRpcRequest object. + * @return The same LinphoneXmlRpcRequest object. +**/ +LINPHONE_PUBLIC LinphoneXmlRpcRequest * linphone_xml_rpc_request_ref(LinphoneXmlRpcRequest *request); + +/** + * Release reference to the XML-RPC request. + * @param[in] request LinphoneXmlRpcRequest object. +**/ +LINPHONE_PUBLIC void linphone_xml_rpc_request_unref(LinphoneXmlRpcRequest *request); + +/** + * Retrieve the user pointer associated with the XML-RPC request. + * @param[in] request LinphoneXmlRpcRequest object. + * @return The user pointer associated with the XML-RPC request. +**/ +LINPHONE_PUBLIC void *linphone_xml_rpc_request_get_user_data(const LinphoneXmlRpcRequest *request); + +/** + * Assign a user pointer to the XML-RPC request. + * @param[in] request LinphoneXmlRpcRequest object. + * @param[in] ud The user pointer to associate with the XML-RPC request. +**/ +LINPHONE_PUBLIC void linphone_xml_rpc_request_set_user_data(LinphoneXmlRpcRequest *request, void *ud); + +/** + * Get the content of the XML-RPC request. + * @param[in] request LinphoneXmlRpcRequest object. + * @return The string representation of the content of the XML-RPC request. + */ +LINPHONE_PUBLIC const char * linphone_xml_rpc_request_get_content(const LinphoneXmlRpcRequest *request); + +/** + * Get the status of the XML-RPC request. + * @param[in] request LinphoneXmlRpcRequest object. + * @return The status of the XML-RPC request. +**/ +LINPHONE_PUBLIC LinphoneXmlRpcStatus linphone_xml_rpc_request_get_status(const LinphoneXmlRpcRequest *request); + +/** + * Get the response to an XML-RPC request sent with linphone_xml_rpc_session_send_request(). + * @param[in] request LinphoneXmlRpcRequest object. + * @return The response to the XML-RPC request. +**/ +LINPHONE_PUBLIC int linphone_xml_rpc_request_get_response(const LinphoneXmlRpcRequest *request); + +/** + * Create a new LinphoneXmlRpcSession object. + * @param[in] core The LinphoneCore object used to send the XML-RPC requests. + * @param[in] url The URL of the XML-RPC server to send the XML-RPC requests to. + * @return A new LinphoneXmlRpcSession object. + */ +LINPHONE_PUBLIC LinphoneXmlRpcSession * linphone_xml_rpc_session_new(LinphoneCore *core, const char *url); + +/** + * Acquire a reference to the XML-RPC session. + * @param[in] session LinphoneXmlRpcSession object. + * @return The same LinphoneXmlRpcSession object. +**/ +LINPHONE_PUBLIC LinphoneXmlRpcSession * linphone_xml_rpc_session_ref(LinphoneXmlRpcSession *session); + +/** + * Release reference to the XML-RPC session. + * @param[in] session LinphoneXmlRpcSession object. +**/ +LINPHONE_PUBLIC void linphone_xml_rpc_session_unref(LinphoneXmlRpcSession *session); + +/** + * Retrieve the user pointer associated with the XML-RPC session. + * @param[in] session LinphoneXmlRpcSession object. + * @return The user pointer associated with the XML-RPC session. +**/ +LINPHONE_PUBLIC void *linphone_xml_rpc_session_get_user_data(const LinphoneXmlRpcSession *session); + +/** + * Assign a user pointer to the XML-RPC session. + * @param[in] session LinphoneXmlRpcSession object. + * @param[in] ud The user pointer to associate with the XML-RPC session. +**/ +LINPHONE_PUBLIC void linphone_xml_rpc_session_set_user_data(LinphoneXmlRpcSession *session, void *ud); + +/** + * Send an XML-RPC request. + * @param[in] session LinphoneXmlRpcSession object. + * @param[in] request The LinphoneXmlRpcRequest to be sent. + * @return The status of the XML-RPC request sending. If it is LinphoneXmlRpcStatusOk, use linphone_xml_rpc_session_get_response() to get the XML-RPC response. +**/ +LINPHONE_PUBLIC LinphoneXmlRpcStatus linphone_xml_rpc_session_send_request(LinphoneXmlRpcSession *session, LinphoneXmlRpcRequest *request); + +/** + * @} + */ + + +#ifdef __cplusplus +} +#endif + +#endif /* LINPHONE_XMLRPC_H_ */ diff --git a/gtk/setupwizard.c b/gtk/setupwizard.c index 335062a01..6d17dc945 100644 --- a/gtk/setupwizard.c +++ b/gtk/setupwizard.c @@ -292,6 +292,7 @@ static void account_username_changed(GtkEntry *entry, GtkWidget *w) { LinphoneAccountCreator *creator=linphone_gtk_assistant_get_creator(assistant); linphone_account_creator_set_username(creator, gtk_entry_get_text(username)); + linphone_account_creator_set_domain(creator, "sip.linphone.org"); if (g_regex_match_simple("^[a-zA-Z]+[a-zA-Z0-9.\\-_]{3,}$", gtk_entry_get_text(username), 0, 0)) { #if !GLIB_CHECK_VERSION(2, 31, 0) From a152132b1efdec47f67f6679c879a6ea62ab84e0 Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Tue, 2 Jun 2015 11:12:55 +0200 Subject: [PATCH 08/18] Remove check for libsoup. --- CMakeLists.txt | 21 +------------- README | 3 +- README.macos.md | 4 +-- cmake/FindSoup.cmake | 65 ------------------------------------------ configure.ac | 12 -------- coreapi/CMakeLists.txt | 3 -- coreapi/Makefile.am | 2 -- gtk/CMakeLists.txt | 3 -- 8 files changed, 4 insertions(+), 109 deletions(-) delete mode 100644 cmake/FindSoup.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 170cd2f2b..90d8d0d11 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -81,16 +81,6 @@ if(MSVC) ) endif() endif() - if(ENABLE_ASSISTANT) - if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/libsoup.zip") - message(STATUS "Installing libsoup") - file(DOWNLOAD http://www.linphone.org/files/libsoup_2.24.0-1_win32.zip "${CMAKE_CURRENT_BINARY_DIR}/libsoup.zip" SHOW_PROGRESS) - execute_process( - COMMAND "${CMAKE_COMMAND}" "-E" "tar" "x" "${CMAKE_CURRENT_BINARY_DIR}/libsoup.zip" - WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}" - ) - endif() - endif() endif() find_package(BelleSIP REQUIRED) @@ -131,13 +121,7 @@ if(ENABLE_NOTIFY) endif() endif() if(ENABLE_ASSISTANT) - find_package(Soup) - if(SOUP_FOUND) - set(BUILD_WIZARD 1) - else() - message(WARNING "Could not find the soup library!") - set(ENABLE_ASSISTANT OFF CACHE BOOL "Turn on assistant compiling." FORCE) - endif() + set(BUILD_WIZARD 1) endif() find_package(Gettext) @@ -162,9 +146,6 @@ endif() if(ENABLE_TUNNEL) include_directories(${TUNNEL_INCLUDE_DIRS}) endif() -if(ENABLE_ASSISTANT) - include_directories(${SOUP_INCLUDE_DIRS}) -endif() if(MSVC) include_directories(${MSVC_INCLUDE_DIR}) endif() diff --git a/README b/README index 94ad9602a..7e0b97524 100644 --- a/README +++ b/README @@ -26,7 +26,6 @@ This is Linphone, a free (GPL) video softphone based on the SIP protocol. - theora (optional) + gsm codec (gsm source package or libgsm-dev or gsm-devel) (optional) + libreadline (optional: for convenient command line in linphonec) - + libsoup (optional: for wizard - account creation assistant) + libsqlite3 (optional : for a local history of chat messages) + if you want uPnP support (optional): - libupnp (version 1.6 branch (not patched with 18-url-upnpstrings.patch)) @@ -39,7 +38,7 @@ libglew1.6-dev libv4l-dev libxml2-dev + for optional library $ sudo apt-get install libreadline-dev libgsm1-dev libtheora-dev \ -libsoup2.4-dev libsqlite3-dev libupnp4-dev libsrtp-dev +libsqlite3-dev libupnp4-dev libsrtp-dev + Install zrtp (optional), for unbreakable call encryption $ git clone git://git.linphone.org:bzrtp diff --git a/README.macos.md b/README.macos.md index 6f54e1444..f214bf88f 100644 --- a/README.macos.md +++ b/README.macos.md @@ -31,7 +31,7 @@ In order to enable generation of bundle for older MacOS version, it is recommend Install `GTK`. It is recommended to use the `quartz` backend for better integration. - sudo port install gtk2 +quartz +no_x11 libsoup + sudo port install gtk2 +quartz +no_x11 sudo port install gtk-osx-application +no_python sudo port install hicolor-icon-theme @@ -49,7 +49,7 @@ Install `GTK`. It is recommended to use the `quartz` backend for better integrat brew install cairo --without-x11 brew install gtk+ --without-x11 - brew install gettext gtk-mac-integration libsoup hicolor-icon-theme + brew install gettext gtk-mac-integration hicolor-icon-theme #readline is required from linphonec.c otherwise compilation will fail brew link readline --force diff --git a/cmake/FindSoup.cmake b/cmake/FindSoup.cmake deleted file mode 100644 index 3aeffaefa..000000000 --- a/cmake/FindSoup.cmake +++ /dev/null @@ -1,65 +0,0 @@ -############################################################################ -# FindSoup.cmake -# Copyright (C) 2014 Belledonne Communications, Grenoble France -# -############################################################################ -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License -# as published by the Free Software Foundation; either version 2 -# of the License, or (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -############################################################################ -# -# - Find the soup include file and library -# -# SOUP_FOUND - system has libsoup -# SOUP_INCLUDE_DIRS - the libsoup include directory -# SOUP_LIBRARIES - The libraries needed to use libsoup - -if(WIN32) - set(GTK2_ADDITIONAL_SUFFIXES "../lib/glib-2.0/include" "../lib/gtk-2.0/include") -endif() -find_package(GTK2 2.18 REQUIRED gtk) - -set(_SOUP_ROOT_PATHS - ${CMAKE_INSTALL_PREFIX} -) - -find_path(SOUP_INCLUDE_DIRS - NAMES libsoup/soup.h - HINTS _SOUP_ROOT_PATHS - PATH_SUFFIXES include/libsoup-2.4 -) - -if(SOUP_INCLUDE_DIRS) - set(HAVE_LIBSOUP_SOUP_H 1) - list(APPEND SOUP_INCLUDE_DIRS ${GTK2_INCLUDE_DIRS}) -endif() - -find_library(SOUP_LIBRARIES - NAMES soup-2.4 - HINTS ${_SOUP_ROOT_PATHS} - PATH_SUFFIXES bin lib -) - -if(SOUP_LIBRARIES) - list(APPEND SOUP_LIBRARIES ${GTK2_LIBRARIES}) -endif() - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Soup - DEFAULT_MSG - SOUP_INCLUDE_DIRS SOUP_LIBRARIES HAVE_LIBSOUP_SOUP_H -) - -mark_as_advanced(SOUP_INCLUDE_DIRS SOUP_LIBRARIES HAVE_LIBSOUP_SOUP_H) diff --git a/configure.ac b/configure.ac index 07344a6a2..4db7ce12b 100644 --- a/configure.ac +++ b/configure.ac @@ -739,16 +739,6 @@ AC_ARG_ENABLE(assistant, [build_wizard=check] ) -dnl check libsoup (needed for wizard) -if test "$build_wizard" != "false" ; then - PKG_CHECK_MODULES(LIBSOUP, [libsoup-2.4 >= 2.26],[], - [if test "$build_wizard" = "true" ; then - AC_MSG_ERROR([Could not found libsoup, assistant cannot be compiled.]) - else - build_wizard=false - fi] - ) -fi if test "$build_wizard" != "false" ; then PKG_CHECK_MODULES(LIBGTKWIZARD, [gtk+-2.0 >= 2.22.0],[], [if test "$build_wizard" = "true" ; then @@ -758,8 +748,6 @@ if test "$build_wizard" != "false" ; then fi] ) fi -AC_SUBST(LIBSOUP_CFLAGS) -AC_SUBST(LIBSOUP_LIBS) AM_CONDITIONAL(BUILD_WIZARD, test x$build_wizard != xfalse) if test "$build_wizard" != "false" ; then build_wizard=true diff --git a/coreapi/CMakeLists.txt b/coreapi/CMakeLists.txt index ea1ccb0ea..10bef3b30 100644 --- a/coreapi/CMakeLists.txt +++ b/coreapi/CMakeLists.txt @@ -139,9 +139,6 @@ endif() if(ENABLE_TUNNEL) list(APPEND LIBS ${TUNNEL_LIBRARIES}) endif() -if(ENABLE_ASSISTANT) - list(APPEND LIBS ${SOUP_LIBRARIES}) -endif() if(MSVC AND NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsPhone") list(APPEND LIBS ${LIBGCC} ${LIBMINGWEX}) endif() diff --git a/coreapi/Makefile.am b/coreapi/Makefile.am index 8582213c5..35dd9fec0 100644 --- a/coreapi/Makefile.am +++ b/coreapi/Makefile.am @@ -137,7 +137,6 @@ liblinphone_la_LIBADD= \ $(ORTP_LIBS) \ $(SIPSTACK_LIBS) \ $(TUNNEL_LIBS) \ - $(LIBSOUP_LIBS) \ $(SQLITE3_LIBS) \ $(LIBXML2_LIBS) \ $(LDAP_LIBS) \ @@ -170,7 +169,6 @@ COMMON_CFLAGS=\ $(STRICT_OPTIONS) \ -DIN_LINPHONE \ $(SIPSTACK_CFLAGS) \ - $(LIBSOUP_CFLAGS) \ -DENABLE_TRACE \ -DLOG_DOMAIN=\"LinphoneCore\" \ $(IPV6_CFLAGS) \ diff --git a/gtk/CMakeLists.txt b/gtk/CMakeLists.txt index 848a872b9..24f811ce7 100644 --- a/gtk/CMakeLists.txt +++ b/gtk/CMakeLists.txt @@ -101,9 +101,6 @@ if(ENABLE_NOTIFY) target_include_directories(linphone-gtk PUBLIC ${NOTIFY_INCLUDE_DIRS}) target_link_libraries(linphone-gtk ${NOTIFY_LIBRARIES}) endif() -if(ENABLE_ASSISTANT) - target_link_libraries(linphone-gtk ${SOUP_LIBRARIES}) -endif() install(TARGETS linphone-gtk RUNTIME DESTINATION bin From 067bbef127ee249e7dbc6fda3313ad11ccf57e21 Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Wed, 3 Jun 2015 13:49:28 +0200 Subject: [PATCH 09/18] Improve XML-RPC API. - Handle XML-RPC request returning a string response - Allow creating a request adding the arguments one at a time (useful for automatically generated wrappers where variable args functions can be an issue) --- coreapi/private.h | 10 +++- coreapi/sipwizard.c | 15 +++--- coreapi/xmlrpc.c | 112 +++++++++++++++++++++++++++++++------------- coreapi/xmlrpc.h | 48 ++++++++++++++++--- 4 files changed, 138 insertions(+), 47 deletions(-) diff --git a/coreapi/private.h b/coreapi/private.h index a74bf8710..7140d8d78 100644 --- a/coreapi/private.h +++ b/coreapi/private.h @@ -983,6 +983,14 @@ BELLE_SIP_DECLARE_VPTR(LinphoneBuffer); * XML-RPC interface * ****************************************************************************/ +typedef struct _LinphoneXmlRpcArg { + LinphoneXmlRpcArgType type; + union { + int i; + char *s; + } data; +} LinphoneXmlRpcArg; + struct _LinphoneXmlRpcRequest { belle_sip_object_t base; void *user_data; @@ -990,7 +998,7 @@ struct _LinphoneXmlRpcRequest { char *content; /**< The string representation of the XML-RPC request */ char *method; LinphoneXmlRpcStatus status; - int response; + LinphoneXmlRpcArg response; }; BELLE_SIP_DECLARE_VPTR(LinphoneXmlRpcRequest); diff --git a/coreapi/sipwizard.c b/coreapi/sipwizard.c index 7c1e4d1bb..54b03fcfb 100644 --- a/coreapi/sipwizard.c +++ b/coreapi/sipwizard.c @@ -50,19 +50,17 @@ static int do_simple_xmlrpc_request(SipSetupContext *ctx, LinphoneXmlRpcRequest if (!request) { ms_error("Fail to create XML-RPC request!"); return -1; - } else { - ms_message("This is the XML-RPC request we are going to send:\n%s\n", linphone_xml_rpc_request_get_content(request)); } if (ctx->xmlrpc_session == NULL) { ctx->xmlrpc_session = linphone_xml_rpc_session_new(ctx->cfg->lc, XMLRPC_URL); } if (linphone_xml_rpc_session_send_request(ctx->xmlrpc_session, request) == LinphoneXmlRpcStatusOk) { - ret = linphone_xml_rpc_request_get_response(request); + ret = linphone_xml_rpc_request_get_int_response(request); } linphone_xml_rpc_request_unref(request); - return ret; + return ret; } /* @@ -71,21 +69,24 @@ static int do_simple_xmlrpc_request(SipSetupContext *ctx, LinphoneXmlRpcRequest * -1 if information isn't available */ static int sip_wizard_account_exists(SipSetupContext *ctx, const char *identity) { - LinphoneXmlRpcRequest *request = linphone_xml_rpc_request_new("check_account", + LinphoneXmlRpcRequest *request = linphone_xml_rpc_request_new_with_args("check_account", + LinphoneXmlRpcArgInt, LinphoneXmlRpcArgString, identity, LinphoneXmlRpcArgNone); return do_simple_xmlrpc_request(ctx, request); } static int sip_wizard_account_validated(SipSetupContext *ctx, const char *identity) { - LinphoneXmlRpcRequest *request = linphone_xml_rpc_request_new("check_account_validated", + LinphoneXmlRpcRequest *request = linphone_xml_rpc_request_new_with_args("check_account_validated", + LinphoneXmlRpcArgInt, LinphoneXmlRpcArgString, identity, LinphoneXmlRpcArgNone); return do_simple_xmlrpc_request(ctx, request); } static int sip_wizard_create_account(SipSetupContext *ctx, const char *identity, const char *passwd, const char *email, int subscribe) { - LinphoneXmlRpcRequest *request = linphone_xml_rpc_request_new("create_account", + LinphoneXmlRpcRequest *request = linphone_xml_rpc_request_new_with_args("create_account", + LinphoneXmlRpcArgInt, LinphoneXmlRpcArgString, identity, LinphoneXmlRpcArgString, passwd, LinphoneXmlRpcArgString, email, diff --git a/coreapi/xmlrpc.c b/coreapi/xmlrpc.c index 89f16f10d..1e5731535 100644 --- a/coreapi/xmlrpc.c +++ b/coreapi/xmlrpc.c @@ -26,14 +26,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -typedef struct _LinphoneXmlRpcArg { - LinphoneXmlRpcArgType type; - union { - int i; - char *s; - } data; -} LinphoneXmlRpcArg; - static void format_request(LinphoneXmlRpcRequest *request) { char si[64]; belle_sip_list_t *arg_ptr = request->arg_list; @@ -41,6 +33,11 @@ static void format_request(LinphoneXmlRpcRequest *request) { xmlTextWriterPtr writer; int err; + if (request->content != NULL) { + belle_sip_free(request->content); + request->content = NULL; + } + buf = xmlBufferCreate(); if (buf == NULL) { ms_error("Error creating the XML buffer"); @@ -140,10 +137,23 @@ static void parse_valid_xml_rpc_response(LinphoneXmlRpcSession *session, const c if (xml_ctx->doc != NULL) { const char *response_str; if (linphone_create_xml_xpath_context(xml_ctx) < 0) goto end; - response_str = linphone_get_xml_text_content(xml_ctx, "/methodResponse/params/param/value/int"); - if (response_str != NULL) { - session->request->response = atoi(response_str); - session->request->status = LinphoneXmlRpcStatusOk; + switch (session->request->response.type) { + case LinphoneXmlRpcArgInt: + response_str = linphone_get_xml_text_content(xml_ctx, "/methodResponse/params/param/value/int"); + if (response_str != NULL) { + session->request->response.data.i = atoi(response_str); + session->request->status = LinphoneXmlRpcStatusOk; + } + break; + case LinphoneXmlRpcArgString: + response_str = linphone_get_xml_text_content(xml_ctx, "/methodResponse/params/param/value/string"); + if (response_str != NULL) { + session->request->response.data.s = belle_sip_strdup(response_str); + session->request->status = LinphoneXmlRpcStatusOk; + } + break; + default: + break; } linphone_free_xml_text_content(response_str); } else { @@ -182,13 +192,39 @@ static void process_response_from_post_xml_rpc_request(void *data, const belle_h } -static void linphone_xml_rpc_request_destroy(LinphoneXmlRpcRequest *request) { +static LinphoneXmlRpcRequest * _linphone_xml_rpc_request_new(const char *method, LinphoneXmlRpcArgType return_type) { + LinphoneXmlRpcRequest *request = belle_sip_object_new(LinphoneXmlRpcRequest); + belle_sip_object_ref(request); + request->status = LinphoneXmlRpcStatusPending; + request->response.type = return_type; + request->method = belle_sip_strdup(method); + return request; +} + +static void _linphone_xml_rpc_request_add_int_arg(LinphoneXmlRpcRequest *request, int value) { + LinphoneXmlRpcArg *arg = belle_sip_malloc0(sizeof(LinphoneXmlRpcArg)); + arg->type = LinphoneXmlRpcArgInt; + arg->data.i = value; + request->arg_list = belle_sip_list_append(request->arg_list, arg); +} + +static void _linphone_xml_rpc_request_add_string_arg(LinphoneXmlRpcRequest *request, const char *value) { + LinphoneXmlRpcArg *arg = belle_sip_malloc0(sizeof(LinphoneXmlRpcArg)); + arg->type = LinphoneXmlRpcArgString; + arg->data.s = belle_sip_strdup(value); + request->arg_list = belle_sip_list_append(request->arg_list, arg); +} + +static void _linphone_xml_rpc_request_destroy(LinphoneXmlRpcRequest *request) { belle_sip_list_free_with_data(request->arg_list, (void (*)(void*))free_arg); + if ((request->response.type == LinphoneXmlRpcArgString) && (request->response.data.s != NULL)) { + belle_sip_free(request->response.data.s); + } if (request->content) belle_sip_free(request->content); belle_sip_free(request->method); } -static void linphone_xml_rpc_session_destroy(LinphoneXmlRpcSession *session) { +static void _linphone_xml_rpc_session_destroy(LinphoneXmlRpcSession *session) { belle_sip_free(session->url); ms_cond_destroy(&session->cond); ms_mutex_destroy(&session->cond_mutex); @@ -199,31 +235,33 @@ BELLE_SIP_DECLARE_NO_IMPLEMENTED_INTERFACES(LinphoneXmlRpcRequest); BELLE_SIP_DECLARE_NO_IMPLEMENTED_INTERFACES(LinphoneXmlRpcSession); BELLE_SIP_INSTANCIATE_VPTR(LinphoneXmlRpcRequest, belle_sip_object_t, - (belle_sip_object_destroy_t)linphone_xml_rpc_request_destroy, + (belle_sip_object_destroy_t)_linphone_xml_rpc_request_destroy, NULL, // clone NULL, // marshal TRUE ); BELLE_SIP_INSTANCIATE_VPTR(LinphoneXmlRpcSession, belle_sip_object_t, - (belle_sip_object_destroy_t)linphone_xml_rpc_session_destroy, + (belle_sip_object_destroy_t)_linphone_xml_rpc_session_destroy, NULL, // clone NULL, // marshal TRUE ); -LinphoneXmlRpcRequest * linphone_xml_rpc_request_new(const char *method, ...) { +LinphoneXmlRpcRequest * linphone_xml_rpc_request_new(const char *method, LinphoneXmlRpcArgType return_type) { + LinphoneXmlRpcRequest *request = _linphone_xml_rpc_request_new(method, return_type); + format_request(request); + return request; +} + +LinphoneXmlRpcRequest * linphone_xml_rpc_request_new_with_args(const char *method, LinphoneXmlRpcArgType return_type, ...) { bool_t cont = TRUE; va_list args; LinphoneXmlRpcArgType arg_type; LinphoneXmlRpcArg *arg = NULL; - LinphoneXmlRpcRequest *request = belle_sip_object_new(LinphoneXmlRpcRequest); - belle_sip_object_ref(request); - request->status = LinphoneXmlRpcStatusPending; - request->response = -1; - request->method = belle_sip_strdup(method); - va_start(args, method); + LinphoneXmlRpcRequest *request = _linphone_xml_rpc_request_new(method, return_type); + va_start(args, return_type); while (cont) { arg_type = va_arg(args, LinphoneXmlRpcArgType); switch (arg_type) { @@ -231,16 +269,10 @@ LinphoneXmlRpcRequest * linphone_xml_rpc_request_new(const char *method, ...) { cont = FALSE; break; case LinphoneXmlRpcArgInt: - arg = belle_sip_malloc0(sizeof(LinphoneXmlRpcArg)); - arg->type = LinphoneXmlRpcArgInt; - arg->data.i = va_arg(args, int); - request->arg_list = belle_sip_list_append(request->arg_list, arg); + _linphone_xml_rpc_request_add_int_arg(request, va_arg(args, int)); break; case LinphoneXmlRpcArgString: - arg = belle_sip_malloc0(sizeof(LinphoneXmlRpcArg)); - arg->type = LinphoneXmlRpcArgString; - arg->data.s = belle_sip_strdup(va_arg(args, char *)); - request->arg_list = belle_sip_list_append(request->arg_list, arg); + _linphone_xml_rpc_request_add_string_arg(request, va_arg(args, char *)); break; } } @@ -266,6 +298,16 @@ void linphone_xml_rpc_request_set_user_data(LinphoneXmlRpcRequest *request, void request->user_data = ud; } +void linphone_xml_rpc_request_add_int_arg(LinphoneXmlRpcRequest *request, int value) { + _linphone_xml_rpc_request_add_int_arg(request, value); + format_request(request); +} + +void linphone_xml_rpc_request_add_string_arg(LinphoneXmlRpcRequest *request, const char *value) { + _linphone_xml_rpc_request_add_string_arg(request, value); + format_request(request); +} + const char * linphone_xml_rpc_request_get_content(const LinphoneXmlRpcRequest *request) { return request->content; } @@ -274,8 +316,12 @@ LinphoneXmlRpcStatus linphone_xml_rpc_request_get_status(const LinphoneXmlRpcReq return request->status; } -int linphone_xml_rpc_request_get_response(const LinphoneXmlRpcRequest *request) { - return request->response; +int linphone_xml_rpc_request_get_int_response(const LinphoneXmlRpcRequest *request) { + return request->response.data.i; +} + +const char * linphone_xml_rpc_request_get_string_response(const LinphoneXmlRpcRequest *request) { + return request->response.data.s; } diff --git a/coreapi/xmlrpc.h b/coreapi/xmlrpc.h index 34141be89..fd98f16bc 100644 --- a/coreapi/xmlrpc.h +++ b/coreapi/xmlrpc.h @@ -31,12 +31,18 @@ extern "C" { * @{ */ +/** +* Enum describing the types of argument for LinphoneXmlRpcRequest. +**/ typedef enum _LinphoneXmlRpcArgType { LinphoneXmlRpcArgNone, LinphoneXmlRpcArgInt, LinphoneXmlRpcArgString } LinphoneXmlRpcArgType; +/** +* Enum describing the status of a LinphoneXmlRpcRequest. +**/ typedef enum _LinphoneXmlRpcStatus { LinphoneXmlRpcStatusPending, LinphoneXmlRpcStatusOk, @@ -55,11 +61,20 @@ typedef struct _LinphoneXmlRpcSession LinphoneXmlRpcSession; /** - * Create a new LinphoneXmlRpcRequest object. +* Create a new LinphoneXmlRpcRequest object. +* @param[in] method The XML-RPC method to call. +* @param[in] return_type The expected XML-RPC response type. +* @return A new LinphoneXmlRpcRequest object. +**/ +LINPHONE_PUBLIC LinphoneXmlRpcRequest * linphone_xml_rpc_request_new(const char *method, LinphoneXmlRpcArgType return_type); + +/** + * Create a new LinphoneXmlRpcRequest object giving the arguments to the method call. * @param[in] method The XML-RPC method to call. + * @param[in] return_type The expected XML-RPC response type. * @return A new LinphoneXmlRpcRequest object. - */ -LINPHONE_PUBLIC LinphoneXmlRpcRequest * linphone_xml_rpc_request_new(const char *method, ...); +**/ +LINPHONE_PUBLIC LinphoneXmlRpcRequest * linphone_xml_rpc_request_new_with_args(const char *method, LinphoneXmlRpcArgType return_type, ...); /** * Acquire a reference to the XML-RPC request. @@ -88,6 +103,20 @@ LINPHONE_PUBLIC void *linphone_xml_rpc_request_get_user_data(const LinphoneXmlRp **/ LINPHONE_PUBLIC void linphone_xml_rpc_request_set_user_data(LinphoneXmlRpcRequest *request, void *ud); +/** + * Add an integer argument to an XML-RPC request. + * @param[in] request LinphoneXmlRpcRequest object. + * @param[in] value The integer value of the added argument. +**/ +LINPHONE_PUBLIC void linphone_xml_rpc_request_add_int_arg(LinphoneXmlRpcRequest *request, int value); + +/** + * Add a string argument to an XML-RPC request. + * @param[in] request LinphoneXmlRpcRequest object. + * @param[in] value The string value of the added argument. +**/ +LINPHONE_PUBLIC void linphone_xml_rpc_request_add_string_arg(LinphoneXmlRpcRequest *request, const char *value); + /** * Get the content of the XML-RPC request. * @param[in] request LinphoneXmlRpcRequest object. @@ -103,11 +132,18 @@ LINPHONE_PUBLIC const char * linphone_xml_rpc_request_get_content(const Linphone LINPHONE_PUBLIC LinphoneXmlRpcStatus linphone_xml_rpc_request_get_status(const LinphoneXmlRpcRequest *request); /** - * Get the response to an XML-RPC request sent with linphone_xml_rpc_session_send_request(). + * Get the response to an XML-RPC request sent with linphone_xml_rpc_session_send_request() and returning an integer response. * @param[in] request LinphoneXmlRpcRequest object. - * @return The response to the XML-RPC request. + * @return The integer response to the XML-RPC request. **/ -LINPHONE_PUBLIC int linphone_xml_rpc_request_get_response(const LinphoneXmlRpcRequest *request); +LINPHONE_PUBLIC int linphone_xml_rpc_request_get_int_response(const LinphoneXmlRpcRequest *request); + +/** +* Get the response to an XML-RPC request sent with linphone_xml_rpc_session_send_request() and returning a string response. +* @param[in] request LinphoneXmlRpcRequest object. +* @return The string response to the XML-RPC request. +**/ +LINPHONE_PUBLIC const char * linphone_xml_rpc_request_get_string_response(const LinphoneXmlRpcRequest *request); /** * Create a new LinphoneXmlRpcSession object. From 01be7132b61fb2eabea62b13b936e5380a26a1c6 Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Wed, 3 Jun 2015 14:23:07 +0200 Subject: [PATCH 10/18] Do not check account availability at each character being typed by the user but only when it's been 500ms since he has not typed anything in. --- gtk/setupwizard.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/gtk/setupwizard.c b/gtk/setupwizard.c index 6d17dc945..784d8984f 100644 --- a/gtk/setupwizard.c +++ b/gtk/setupwizard.c @@ -283,6 +283,16 @@ void* check_username_availability(void* w) { return NULL; } +static gboolean start_check_username_availability_thread(GtkWidget *w) { +#if !GLIB_CHECK_VERSION(2, 31, 0) + g_thread_create(check_username_availability, (void*)w, FALSE, NULL); +#else + g_thread_new(NULL, check_username_availability, w); +#endif + g_object_set_data(G_OBJECT(w), "usernameAvailabilityTimerID", GUINT_TO_POINTER(0)); + return FALSE; +} + static void account_username_changed(GtkEntry *entry, GtkWidget *w) { // Verifying if username choosed is available, and if form is correctly filled, let the user go next page GtkWidget *assistant = gtk_widget_get_toplevel(GTK_WIDGET(w)); @@ -295,11 +305,12 @@ static void account_username_changed(GtkEntry *entry, GtkWidget *w) { linphone_account_creator_set_domain(creator, "sip.linphone.org"); if (g_regex_match_simple("^[a-zA-Z]+[a-zA-Z0-9.\\-_]{3,}$", gtk_entry_get_text(username), 0, 0)) { -#if !GLIB_CHECK_VERSION(2, 31, 0) - g_thread_create(check_username_availability, (void*)w, FALSE, NULL); -#else - g_thread_new(NULL, check_username_availability, w); -#endif + guint timerID = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(w), "usernameAvailabilityTimerID")); + if (timerID > 0) { + g_source_remove(timerID); + } + timerID = g_timeout_add(500, start_check_username_availability_thread, w); + g_object_set_data(G_OBJECT(w), "usernameAvailabilityTimerID", GUINT_TO_POINTER(timerID)); } else { GdkPixbuf *notok = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "notok")); From 26fac3e08112ef47fcdfbafd5ebf6da166b72e81 Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Fri, 5 Jun 2015 15:49:47 +0200 Subject: [PATCH 11/18] Rework assistant for asynchronous XML-RPC requests. --- CMakeLists.txt | 4 - build/android/config.h | 3 - config.h.cmake | 1 - configure.ac | 26 - coreapi/CMakeLists.txt | 5 +- coreapi/Makefile.am | 14 +- coreapi/account_creator.c | 209 ++++++++ coreapi/account_creator.h | 78 +++ coreapi/linphonecore.h | 28 +- coreapi/private.h | 8 +- coreapi/proxy.c | 92 ---- coreapi/sipsetup.c | 6 - coreapi/sipwizard.c | 189 ------- coreapi/xmlrpc.c | 115 ++--- coreapi/xmlrpc.h | 25 +- gtk/CMakeLists.txt | 5 +- gtk/Makefile.am | 6 +- gtk/main.c | 4 - gtk/main.ui | 1 + gtk/password.ui | 1 - gtk/propertybox.c | 5 - gtk/setupwizard.c | 1006 ++++++++++++++++++------------------- 22 files changed, 861 insertions(+), 970 deletions(-) create mode 100644 coreapi/account_creator.c create mode 100644 coreapi/account_creator.h delete mode 100644 coreapi/sipwizard.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 90d8d0d11..ae08d4b1d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -51,7 +51,6 @@ option(ENABLE_TUTORIALS "Enable compilation of tutorials." YES) option(ENABLE_UNIT_TESTS "Enable compilation of unit tests." YES) option(ENABLE_UPNP "Build with uPnP support." YES) option(ENABLE_VIDEO "Build with video support." YES) -cmake_dependent_option(ENABLE_ASSISTANT "Turn on assistant compiling." YES "ENABLE_GTK_UI" NO) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") @@ -120,9 +119,6 @@ if(ENABLE_NOTIFY) set(ENABLE_NOTIFY OFF CACHE BOOL "Enable libnotify support." FORCE) endif() endif() -if(ENABLE_ASSISTANT) - set(BUILD_WIZARD 1) -endif() find_package(Gettext) diff --git a/build/android/config.h b/build/android/config.h index 0842116ab..6d0305b77 100644 --- a/build/android/config.h +++ b/build/android/config.h @@ -7,9 +7,6 @@ /* Define if tools enabled */ /* #undef BUILD_TOOLS */ -/* Define if wizard enabled */ -/* #undef BUILD_WIZARD */ - /* Tells whether localisation is possible */ /* #undef ENABLE_NLS */ diff --git a/config.h.cmake b/config.h.cmake index 3adb3cae4..6d0015a20 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -37,7 +37,6 @@ #define PACKAGE_DATA_DIR "${PACKAGE_DATA_DIR}" #define PACKAGE_SOUND_DIR "${PACKAGE_SOUND_DIR}" -#cmakedefine BUILD_WIZARD #cmakedefine HAVE_NOTIFY4 #cmakedefine HAVE_ZLIB 1 #cmakedefine HAVE_CU_GET_SUITE 1 diff --git a/configure.ac b/configure.ac index 4db7ce12b..8df0dcd0a 100644 --- a/configure.ac +++ b/configure.ac @@ -729,31 +729,6 @@ if test "$has_sighandler_t" = "yes" ; then AC_DEFINE( HAVE_SIGHANDLER_T, 1, [Define if sighandler_t available] ) fi -AC_ARG_ENABLE(assistant, - [AS_HELP_STRING([--enable-assistant], [Turn on assistant compiling])], - [case "${enableval}" in - yes) build_wizard=true ;; - no) build_wizard=false ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-assistant) ;; - esac], - [build_wizard=check] -) - -if test "$build_wizard" != "false" ; then - PKG_CHECK_MODULES(LIBGTKWIZARD, [gtk+-2.0 >= 2.22.0],[], - [if test "$build_wizard" = "true" ; then - AC_MSG_ERROR([gtk+-2.0 < 2.22.0, assistant cannot be compiled.]) - else - build_wizard=false - fi] - ) -fi -AM_CONDITIONAL(BUILD_WIZARD, test x$build_wizard != xfalse) -if test "$build_wizard" != "false" ; then - build_wizard=true - AC_DEFINE(BUILD_WIZARD, 1, [Define if wizard enabled] ) -fi - AC_CHECK_HEADERS(libudev.h) AC_CHECK_LIB(udev,udev_new) @@ -1062,7 +1037,6 @@ echo "Linphone build configuration ended." echo "Summary of build options:" printf "* %-30s %s\n" "Video support" $video printf "* %-30s %s\n" "GTK interface" $gtk_ui -printf "* %-30s %s\n" "Account assistant" $build_wizard printf "* %-30s %s\n" "Console interface" $console_ui printf "* %-30s %s\n" "Tools" $build_tools printf "* %-30s %s\n" "Message storage" $enable_msg_storage diff --git a/coreapi/CMakeLists.txt b/coreapi/CMakeLists.txt index 10bef3b30..8b972bbcc 100644 --- a/coreapi/CMakeLists.txt +++ b/coreapi/CMakeLists.txt @@ -31,6 +31,8 @@ endif() set(SOURCE_FILES + account_creator.c + account_creator.h address.c authentication.c bellesip_sal/sal_address_impl.c @@ -105,9 +107,6 @@ if(ENABLE_TUNNEL) else() list(APPEND SOURCE_FILES linphone_tunnel_stubs.c) endif() -if(ENABLE_ASSISTANT) - list(APPEND SOURCE_FILES sipwizard.c) -endif() set(GENERATED_SOURCE_FILES ${CMAKE_CURRENT_BINARY_DIR}/liblinphone_gitversion.h diff --git a/coreapi/Makefile.am b/coreapi/Makefile.am index 35dd9fec0..8130a8037 100644 --- a/coreapi/Makefile.am +++ b/coreapi/Makefile.am @@ -25,6 +25,7 @@ CLEANFILES=$(GITVERSION_FILE) linphone_includedir=$(includedir)/linphone linphone_include_HEADERS=\ + account_creator.h \ buffer.h \ call_log.h \ call_params.h \ @@ -38,11 +39,13 @@ linphone_include_HEADERS=\ lpc2xml.h \ lpconfig.h \ sipsetup.h \ - xml2lpc.h + xml2lpc.h \ + xmlrpc.h lib_LTLIBRARIES=liblinphone.la liblinphone_la_SOURCES=\ + account_creator.c \ address.c \ authentication.c \ buffer.c \ @@ -82,6 +85,7 @@ liblinphone_la_SOURCES=\ sipsetup.c sipsetup.h \ xml2lpc.c \ xml.c \ + xmlrpc.c \ vtables.c \ $(GITVERSION_FILE) @@ -102,10 +106,6 @@ liblinphone_la_SOURCES+= bellesip_sal/sal_address_impl.c \ bellesip_sal/sal_op_info.c \ bellesip_sal/sal_op_events.c -if BUILD_WIZARD -liblinphone_la_SOURCES+=sipwizard.c -endif - liblinphone_la_SOURCES+=linphone_tunnel_config.c if BUILD_TUNNEL liblinphone_la_SOURCES+=linphone_tunnel.cc TunnelManager.cc TunnelManager.hh linphone_tunnel.h @@ -181,10 +181,6 @@ COMMON_CFLAGS=\ $(SASL_CFLAGS) \ $(ZLIB_CFLAGS) -if BUILD_WIZARD -COMMON_CFLAGS+= -DBUILD_WIZARD -endif - COMMON_CFLAGS+= -DUSE_BELLESIP AM_CFLAGS=$(COMMON_CFLAGS) $(STRICT_OPTIONS_CC) diff --git a/coreapi/account_creator.c b/coreapi/account_creator.c new file mode 100644 index 000000000..800403cab --- /dev/null +++ b/coreapi/account_creator.c @@ -0,0 +1,209 @@ +/* +linphone +Copyright (C) 2010-2015 Belledonne Communications SARL + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + +#include "linphonecore.h" +#include "private.h" + + +struct _LinphoneAccountCreator { + LinphoneXmlRpcSession *xmlrpc_session; + LinphoneAccountCreatorCb existence_test_cb; + LinphoneAccountCreatorCb validation_test_cb; + LinphoneAccountCreatorCb validate_cb; + void *existence_test_cb_ud; + void *validation_test_cb_ud; + void *validate_cb_ud; + char *xmlrpc_url; + char *username; + char *password; + char *domain; + char *route; + char *email; + int subscribe; +}; + +LinphoneAccountCreator * linphone_account_creator_new(LinphoneCore *core, const char *xmlrpc_url) { + LinphoneAccountCreator *creator; + creator = ms_new0(LinphoneAccountCreator, 1); + creator->xmlrpc_session = linphone_xml_rpc_session_new(core, xmlrpc_url); + return creator; +} + +void linphone_account_creator_set_username(LinphoneAccountCreator *creator, const char *username) { + set_string(&creator->username, username); +} + +const char * linphone_account_creator_get_username(const LinphoneAccountCreator *creator) { + return creator->username; +} + +void linphone_account_creator_set_password(LinphoneAccountCreator *creator, const char *password){ + set_string(&creator->password, password); +} + +const char * linphone_account_creator_get_password(const LinphoneAccountCreator *creator) { + return creator->password; +} + +void linphone_account_creator_set_domain(LinphoneAccountCreator *creator, const char *domain){ + set_string(&creator->domain, domain); +} + +const char * linphone_account_creator_get_domain(const LinphoneAccountCreator *creator) { + return creator->domain; +} + +void linphone_account_creator_set_route(LinphoneAccountCreator *creator, const char *route) { + set_string(&creator->route, route); +} + +const char * linphone_account_creator_get_route(const LinphoneAccountCreator *creator) { + return creator->route; +} + +void linphone_account_creator_set_email(LinphoneAccountCreator *creator, const char *email) { + set_string(&creator->email, email); +} + +const char * linphone_account_creator_get_email(const LinphoneAccountCreator *creator) { + return creator->email; +} + +void linphone_account_creator_set_subscribe(LinphoneAccountCreator *creator, int subscribe) { + creator->subscribe = subscribe; +} + +int linphone_account_creator_get_subscribe(const LinphoneAccountCreator *creator) { + return creator->subscribe; +} + +void linphone_account_creator_set_test_existence_cb(LinphoneAccountCreator *creator, LinphoneAccountCreatorCb cb, void *user_data) { + creator->existence_test_cb = cb; + creator->existence_test_cb_ud = user_data; +} + +void linphone_account_creator_set_test_validation_cb(LinphoneAccountCreator *creator, LinphoneAccountCreatorCb cb, void *user_data) { + creator->validation_test_cb = cb; + creator->validation_test_cb_ud = user_data; +} + +void linphone_account_creator_set_validate_cb(LinphoneAccountCreator *creator, LinphoneAccountCreatorCb cb, void *user_data) { + creator->validate_cb = cb; + creator->validate_cb_ud = user_data; +} + +static void _test_existence_cb(LinphoneXmlRpcRequest *request, void *user_data) { + LinphoneAccountCreator *creator = (LinphoneAccountCreator *)user_data; + if (creator->existence_test_cb != NULL) { + LinphoneAccountCreatorStatus status = LinphoneAccountCreatorFailed; + if ((linphone_xml_rpc_request_get_status(request) == LinphoneXmlRpcStatusOk) + && (linphone_xml_rpc_request_get_int_response(request) == 0)) { + status = LinphoneAccountCreatorOk; + } + creator->existence_test_cb(creator, status, creator->existence_test_cb_ud); + } +} + +LinphoneAccountCreatorStatus linphone_account_creator_test_existence(LinphoneAccountCreator *creator) { + LinphoneXmlRpcRequest *request; + char *identity; + + if (!creator->username || !creator->domain) return LinphoneAccountCreatorFailed; + + identity = ms_strdup_printf("%s@%s", creator->username, creator->domain); + request = linphone_xml_rpc_request_new_with_args("check_account", LinphoneXmlRpcArgInt, + _test_existence_cb, creator, + LinphoneXmlRpcArgString, identity, + LinphoneXmlRpcArgNone); + linphone_xml_rpc_session_send_request(creator->xmlrpc_session, request); + linphone_xml_rpc_request_unref(request); + ms_free(identity); + return LinphoneAccountCreatorOk; +} + +static void _test_validation_cb(LinphoneXmlRpcRequest *request, void *user_data) { + LinphoneAccountCreator *creator = (LinphoneAccountCreator *)user_data; + if (creator->validation_test_cb != NULL) { + LinphoneAccountCreatorStatus status = LinphoneAccountCreatorFailed; + if ((linphone_xml_rpc_request_get_status(request) == LinphoneXmlRpcStatusOk) + && (linphone_xml_rpc_request_get_int_response(request) == 1)) { + status = LinphoneAccountCreatorOk; + } + creator->validation_test_cb(creator, status, creator->validation_test_cb_ud); + } +} + +LinphoneAccountCreatorStatus linphone_account_creator_test_validation(LinphoneAccountCreator *creator) { + LinphoneXmlRpcRequest *request; + char *identity; + + if (!creator->username || !creator->domain) return LinphoneAccountCreatorFailed; + + identity = ms_strdup_printf("%s@%s", creator->username, creator->domain); + request = linphone_xml_rpc_request_new_with_args("check_account_validated", LinphoneXmlRpcArgInt, + _test_validation_cb, creator, + LinphoneXmlRpcArgString, identity, + LinphoneXmlRpcArgNone); + linphone_xml_rpc_session_send_request(creator->xmlrpc_session, request); + linphone_xml_rpc_request_unref(request); + ms_free(identity); + return LinphoneAccountCreatorOk; +} + +static void _validate_cb(LinphoneXmlRpcRequest *request, void *user_data) { + LinphoneAccountCreator *creator = (LinphoneAccountCreator *)user_data; + if (creator->validate_cb != NULL) { + LinphoneAccountCreatorStatus status = LinphoneAccountCreatorFailed; + if ((linphone_xml_rpc_request_get_status(request) == LinphoneXmlRpcStatusOk) + && (linphone_xml_rpc_request_get_int_response(request) == 0)) { + status = LinphoneAccountCreatorOk; + } + creator->validate_cb(creator, status, creator->validate_cb_ud); + } +} + +LinphoneAccountCreatorStatus linphone_account_creator_validate(LinphoneAccountCreator *creator) { + LinphoneXmlRpcRequest *request; + char *identity; + + if (!creator->username || !creator->domain) return LinphoneAccountCreatorFailed; + + identity = ms_strdup_printf("%s@%s", creator->username, creator->domain); + request = linphone_xml_rpc_request_new_with_args("create_account", LinphoneXmlRpcArgInt, + _validate_cb, creator, + LinphoneXmlRpcArgString, identity, + LinphoneXmlRpcArgString, creator->password, + LinphoneXmlRpcArgString, creator->email, + LinphoneXmlRpcArgInt, creator->subscribe, + LinphoneXmlRpcArgNone); + linphone_xml_rpc_session_send_request(creator->xmlrpc_session, request); + linphone_xml_rpc_request_unref(request); + ms_free(identity); + return LinphoneAccountCreatorOk; +} + +void linphone_account_creator_destroy(LinphoneAccountCreator *creator){ + linphone_xml_rpc_session_unref(creator->xmlrpc_session); + if (creator->username) ms_free(creator->username); + if (creator->password) ms_free(creator->password); + if (creator->domain) ms_free(creator->domain); + if (creator->route) ms_free(creator->route); + if (creator->email) ms_free(creator->email); + ms_free(creator); +} diff --git a/coreapi/account_creator.h b/coreapi/account_creator.h new file mode 100644 index 000000000..f4c5faef2 --- /dev/null +++ b/coreapi/account_creator.h @@ -0,0 +1,78 @@ +/* +account_creator.h +Copyright (C) 2010-2015 Belledonne Communications SARL + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + +#ifndef LINPHONE_ACCOUNT_CREATOR_H_ +#define LINPHONE_ACCOUNT_CREATOR_H_ + + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * @addtogroup misc + * @{ + */ + +enum _LinphoneAccountCreatorStatus { + LinphoneAccountCreatorOk, + LinphoneAccountCreatorFailed +}; + +typedef enum _LinphoneAccountCreatorStatus LinphoneAccountCreatorStatus; + +typedef struct _LinphoneAccountCreator LinphoneAccountCreator; + +typedef void (*LinphoneAccountCreatorCb)(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, void *user_data); + +LINPHONE_PUBLIC LinphoneAccountCreator * linphone_account_creator_new(LinphoneCore *core, const char *xmlrpc_url); +LINPHONE_PUBLIC void linphone_account_creator_destroy(LinphoneAccountCreator *creator); + +LINPHONE_PUBLIC void linphone_account_creator_set_username(LinphoneAccountCreator *creator, const char *username); +LINPHONE_PUBLIC const char * linphone_account_creator_get_username(const LinphoneAccountCreator *creator); +LINPHONE_PUBLIC void linphone_account_creator_set_password(LinphoneAccountCreator *creator, const char *password); +LINPHONE_PUBLIC const char * linphone_account_creator_get_password(const LinphoneAccountCreator *creator); +LINPHONE_PUBLIC void linphone_account_creator_set_domain(LinphoneAccountCreator *creator, const char *domain); +LINPHONE_PUBLIC const char * linphone_account_creator_get_domain(const LinphoneAccountCreator *creator); +LINPHONE_PUBLIC void linphone_account_creator_set_route(LinphoneAccountCreator *creator, const char *route); +LINPHONE_PUBLIC const char * linphone_account_creator_get_route(const LinphoneAccountCreator *creator); +LINPHONE_PUBLIC void linphone_account_creator_set_email(LinphoneAccountCreator *creator, const char *email); +LINPHONE_PUBLIC const char * linphone_account_creator_get_email(const LinphoneAccountCreator *creator); +LINPHONE_PUBLIC void linphone_account_creator_set_subscribe(LinphoneAccountCreator *creator, int suscribre); +LINPHONE_PUBLIC int linphone_account_creator_get_subscribe(const LinphoneAccountCreator *creator); + +LINPHONE_PUBLIC void linphone_account_creator_set_test_existence_cb(LinphoneAccountCreator *creator, LinphoneAccountCreatorCb cb, void *user_data); +LINPHONE_PUBLIC void linphone_account_creator_set_test_validation_cb(LinphoneAccountCreator *creator, LinphoneAccountCreatorCb cb, void *user_data); +LINPHONE_PUBLIC void linphone_account_creator_set_validate_cb(LinphoneAccountCreator *creator, LinphoneAccountCreatorCb cb, void *user_data); + +LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_test_existence(LinphoneAccountCreator *creator); +LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_test_validation(LinphoneAccountCreator *creator); +LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_validate(LinphoneAccountCreator *creator); + +/** + * @} + */ + + +#ifdef __cplusplus +} +#endif + +#endif /* LINPHONE_ACCOUNT_CREATOR_H_ */ diff --git a/coreapi/linphonecore.h b/coreapi/linphonecore.h index d77ea401c..e859a9af8 100644 --- a/coreapi/linphonecore.h +++ b/coreapi/linphonecore.h @@ -367,6 +367,7 @@ LINPHONE_PUBLIC const char* linphone_privacy_to_string(LinphonePrivacy privacy); #ifdef IN_LINPHONE +#include "account_creator.h" #include "buffer.h" #include "call_log.h" #include "call_params.h" @@ -375,6 +376,7 @@ LINPHONE_PUBLIC const char* linphone_privacy_to_string(LinphonePrivacy privacy); #include "linphonefriend.h" #include "xmlrpc.h" #else +#include "linphone/account_creator.h" #include "linphone/buffer.h" #include "linphone/call_log.h" #include "linphone/call_params.h" @@ -1179,32 +1181,6 @@ LINPHONE_PUBLIC void linphone_proxy_config_set_custom_header(LinphoneProxyConfig * @} **/ -typedef struct _LinphoneAccountCreator{ - LinphoneCore *lc; - struct _SipSetupContext *ssctx; - char *username; - char *password; - char *domain; - char *route; - char *email; - int suscribe; - bool_t succeeded; -}LinphoneAccountCreator; - -LINPHONE_PUBLIC LinphoneAccountCreator *linphone_account_creator_new(LinphoneCore *core, const char *type); -LINPHONE_PUBLIC void linphone_account_creator_set_username(LinphoneAccountCreator *obj, const char *username); -LINPHONE_PUBLIC void linphone_account_creator_set_password(LinphoneAccountCreator *obj, const char *password); -LINPHONE_PUBLIC void linphone_account_creator_set_domain(LinphoneAccountCreator *obj, const char *domain); -LINPHONE_PUBLIC void linphone_account_creator_set_route(LinphoneAccountCreator *obj, const char *route); -LINPHONE_PUBLIC void linphone_account_creator_set_email(LinphoneAccountCreator *obj, const char *email); -LINPHONE_PUBLIC void linphone_account_creator_set_suscribe(LinphoneAccountCreator *obj, int suscribre); -LINPHONE_PUBLIC const char * linphone_account_creator_get_username(LinphoneAccountCreator *obj); -LINPHONE_PUBLIC const char * linphone_account_creator_get_domain(LinphoneAccountCreator *obj); -LINPHONE_PUBLIC int linphone_account_creator_test_existence(LinphoneAccountCreator *obj); -LINPHONE_PUBLIC int linphone_account_creator_test_validation(LinphoneAccountCreator *obj); -LINPHONE_PUBLIC LinphoneProxyConfig * linphone_account_creator_validate(LinphoneAccountCreator *obj); -LINPHONE_PUBLIC void linphone_account_creator_destroy(LinphoneAccountCreator *obj); - struct _LinphoneAuthInfo; /** diff --git a/coreapi/private.h b/coreapi/private.h index 7140d8d78..fb84a4467 100644 --- a/coreapi/private.h +++ b/coreapi/private.h @@ -997,6 +997,8 @@ struct _LinphoneXmlRpcRequest { belle_sip_list_t *arg_list; char *content; /**< The string representation of the XML-RPC request */ char *method; + LinphoneXmlRpcResponseCb cb; + void *cb_ud; LinphoneXmlRpcStatus status; LinphoneXmlRpcArg response; }; @@ -1006,14 +1008,8 @@ BELLE_SIP_DECLARE_VPTR(LinphoneXmlRpcRequest); struct _LinphoneXmlRpcSession { belle_sip_object_t base; void *user_data; - belle_sip_list_t *arg_list; LinphoneCore *core; - LinphoneXmlRpcRequest *request; - LinphoneContent *content; char *url; - ms_cond_t cond; - ms_mutex_t cond_mutex; - ms_mutex_t mutex; }; BELLE_SIP_DECLARE_VPTR(LinphoneXmlRpcSession); diff --git a/coreapi/proxy.c b/coreapi/proxy.c index f32935f12..56c4ff750 100644 --- a/coreapi/proxy.c +++ b/coreapi/proxy.c @@ -1494,98 +1494,6 @@ SipSetupContext *linphone_proxy_config_get_sip_setup_context(LinphoneProxyConfig * @} **/ -LinphoneAccountCreator *linphone_account_creator_new(struct _LinphoneCore *core, const char *type){ - LinphoneAccountCreator *obj; - LinphoneProxyConfig *cfg; - SipSetup *ss=sip_setup_lookup(type); - SipSetupContext *ssctx; - if (!ss){ - return NULL; - } - if (!(sip_setup_get_capabilities(ss) & SIP_SETUP_CAP_ACCOUNT_MANAGER)){ - ms_error("%s cannot manage accounts.",type); - return NULL; - } - obj=ms_new0(LinphoneAccountCreator,1); - cfg=linphone_core_create_proxy_config(core); - ssctx=sip_setup_context_new(ss,cfg); - obj->lc=core; - obj->ssctx=ssctx; - set_string(&obj->domain,sip_setup_context_get_domains(ssctx)[0]); - cfg->lc=core; - return obj; -} - -void linphone_account_creator_set_username(LinphoneAccountCreator *obj, const char *username){ - set_string(&obj->username,username); -} - -void linphone_account_creator_set_password(LinphoneAccountCreator *obj, const char *password){ - set_string(&obj->password,password); -} - -void linphone_account_creator_set_domain(LinphoneAccountCreator *obj, const char *domain){ - set_string(&obj->domain,domain); -} - -void linphone_account_creator_set_route(LinphoneAccountCreator *obj, const char *route) { - set_string(&obj->route,route); -} - -void linphone_account_creator_set_email(LinphoneAccountCreator *obj, const char *email) { - set_string(&obj->email,email); -} - -void linphone_account_creator_set_suscribe(LinphoneAccountCreator *obj, int suscribe) { - obj->suscribe = suscribe; -} - -const char * linphone_account_creator_get_username(LinphoneAccountCreator *obj){ - return obj->username; -} - -const char * linphone_account_creator_get_domain(LinphoneAccountCreator *obj){ - return obj->domain; -} - -int linphone_account_creator_test_existence(LinphoneAccountCreator *obj){ - SipSetupContext *ssctx=obj->ssctx; - char *uri=ms_strdup_printf("%s@%s",obj->username,obj->domain); - int err=sip_setup_context_account_exists(ssctx,uri); - ms_free(uri); - return err; -} - -int linphone_account_creator_test_validation(LinphoneAccountCreator *obj) { - SipSetupContext *ssctx=obj->ssctx; - int err=sip_setup_context_account_validated(ssctx,obj->username); - return err; -} - -LinphoneProxyConfig * linphone_account_creator_validate(LinphoneAccountCreator *obj){ - SipSetupContext *ssctx=obj->ssctx; - char *uri=ms_strdup_printf("%s@%s",obj->username,obj->domain); - int err=sip_setup_context_create_account(ssctx, uri, obj->password, obj->email, obj->suscribe); - ms_free(uri); - if (err==0) { - obj->succeeded=TRUE; - return sip_setup_context_get_proxy_config(ssctx); - } - return NULL; -} - -void linphone_account_creator_destroy(LinphoneAccountCreator *obj){ - if (obj->username) - ms_free(obj->username); - if (obj->password) - ms_free(obj->password); - if (obj->domain) - ms_free(obj->domain); - if (!obj->succeeded){ - linphone_proxy_config_destroy(sip_setup_context_get_proxy_config(obj->ssctx)); - } -} - void linphone_proxy_config_set_user_data(LinphoneProxyConfig *cfg, void *ud) { cfg->user_data = ud; } diff --git a/coreapi/sipsetup.c b/coreapi/sipsetup.c index bf1b411e8..7c9f074d9 100644 --- a/coreapi/sipsetup.c +++ b/coreapi/sipsetup.c @@ -24,14 +24,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "linphonecore.h" extern SipSetup linphone_sip_login; -#ifdef BUILD_WIZARD -extern SipSetup linphone_sip_wizard; -#endif static SipSetup *all_sip_setups[]={ &linphone_sip_login, -#ifdef BUILD_WIZARD - &linphone_sip_wizard, -#endif NULL }; diff --git a/coreapi/sipwizard.c b/coreapi/sipwizard.c deleted file mode 100644 index 54b03fcfb..000000000 --- a/coreapi/sipwizard.c +++ /dev/null @@ -1,189 +0,0 @@ -/* -sipwizard.c -Copyright (C) 2011 Belledonne Communication, Grenoble, France - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - -#include "linphonecore.h" -#include "private.h" -#include - - -static const char *XMLRPC_URL = "https://www.linphone.org/wizard.php"; - -static void sip_wizard_init_instance(SipSetupContext *ctx){ - LinphoneProxyConfig *cfg=sip_setup_context_get_proxy_config(ctx); - /*disable registration until the user logs in*/ - linphone_proxy_config_enable_register(cfg,FALSE); -} - -static void sip_wizard_uninit_instance(SipSetupContext *ctx) { - if (ctx->xmlrpc_session != NULL) { - linphone_xml_rpc_session_unref(ctx->xmlrpc_session); - ctx->xmlrpc_session = NULL; - } -} - -static const char ** sip_wizard_get_domains(SipSetupContext *ctx) { - LinphoneProxyConfig *cfg=sip_setup_context_get_proxy_config(ctx); - const char **domains = (const char**) &cfg->reg_proxy; - return domains; -} - - -static int do_simple_xmlrpc_request(SipSetupContext *ctx, LinphoneXmlRpcRequest *request) { - int ret = -1; - - if (!request) { - ms_error("Fail to create XML-RPC request!"); - return -1; - } - - if (ctx->xmlrpc_session == NULL) { - ctx->xmlrpc_session = linphone_xml_rpc_session_new(ctx->cfg->lc, XMLRPC_URL); - } - if (linphone_xml_rpc_session_send_request(ctx->xmlrpc_session, request) == LinphoneXmlRpcStatusOk) { - ret = linphone_xml_rpc_request_get_int_response(request); - } - linphone_xml_rpc_request_unref(request); - - return ret; -} - -/* - * Return 1 if account already exists - * 0 if account doesn't exists - * -1 if information isn't available - */ -static int sip_wizard_account_exists(SipSetupContext *ctx, const char *identity) { - LinphoneXmlRpcRequest *request = linphone_xml_rpc_request_new_with_args("check_account", - LinphoneXmlRpcArgInt, - LinphoneXmlRpcArgString, identity, - LinphoneXmlRpcArgNone); - return do_simple_xmlrpc_request(ctx, request); -} - -static int sip_wizard_account_validated(SipSetupContext *ctx, const char *identity) { - LinphoneXmlRpcRequest *request = linphone_xml_rpc_request_new_with_args("check_account_validated", - LinphoneXmlRpcArgInt, - LinphoneXmlRpcArgString, identity, - LinphoneXmlRpcArgNone); - return do_simple_xmlrpc_request(ctx, request); -} - -static int sip_wizard_create_account(SipSetupContext *ctx, const char *identity, const char *passwd, const char *email, int subscribe) { - LinphoneXmlRpcRequest *request = linphone_xml_rpc_request_new_with_args("create_account", - LinphoneXmlRpcArgInt, - LinphoneXmlRpcArgString, identity, - LinphoneXmlRpcArgString, passwd, - LinphoneXmlRpcArgString, email, - LinphoneXmlRpcArgInt, subscribe, - LinphoneXmlRpcArgNone); - return do_simple_xmlrpc_request(ctx, request); -} - -static void guess_display_name(LinphoneAddress *from){ - const char *username=linphone_address_get_username(from); - char *dn=(char*)ms_malloc(strlen(username)+1); - const char *it; - char *wptr=dn; - bool_t begin=TRUE; - bool_t surname=FALSE; - for(it=username;*it!='\0';++it){ - if (begin){ - *wptr=toupper(*it); - begin=FALSE; - }else if (*it=='.'){ - if (surname) break; - *wptr=' '; - begin=TRUE; - surname=TRUE; - }else { - *wptr=*it; - } - wptr++; - } - *wptr='\0'; - linphone_address_set_display_name(from,dn); - ms_free(dn); -} - -static int sip_wizard_do_login(SipSetupContext * ctx, const char *uri, const char *passwd, const char *userid){ - LinphoneProxyConfig *cfg=sip_setup_context_get_proxy_config(ctx); - LinphoneCore *lc=linphone_proxy_config_get_core(cfg); - LinphoneAuthInfo *auth; - LinphoneAddress *parsed_uri; - char *tmp; - - parsed_uri=linphone_address_new(uri); - if (parsed_uri==NULL){ - return -1; - } - if (linphone_address_get_display_name(parsed_uri)!=NULL){ - guess_display_name(parsed_uri); - } - tmp=linphone_address_as_string(parsed_uri); - linphone_proxy_config_set_identity(cfg,tmp); - if (passwd) { - auth=linphone_auth_info_new(linphone_address_get_username(parsed_uri),NULL,passwd,NULL,NULL,NULL); - linphone_core_add_auth_info(lc,auth); - } - linphone_proxy_config_enable_register(cfg,TRUE); - linphone_proxy_config_done(cfg); - ms_free(tmp); - linphone_address_destroy(parsed_uri); - return 0; -} - -/* a simple SipSetup built-in plugin to allow creating accounts at runtime*/ - -#ifndef _MSC_VER - -SipSetup linphone_sip_wizard={ - .name="SipWizard", - .capabilities=SIP_SETUP_CAP_ACCOUNT_MANAGER, - .init_instance=sip_wizard_init_instance, - .uninit_instance=sip_wizard_uninit_instance, - .account_exists=sip_wizard_account_exists, - .create_account=sip_wizard_create_account, - .login_account=sip_wizard_do_login, - .get_domains=sip_wizard_get_domains, - .account_validated=sip_wizard_account_validated -}; - -#else -SipSetup linphone_sip_wizard={ - "SipWizard", - SIP_SETUP_CAP_ACCOUNT_MANAGER, - 0, - NULL, - NULL, - sip_wizard_init_instance, - sip_wizard_uninit_instance, - sip_wizard_account_exists, - sip_wizard_create_account, - sip_wizard_do_login, - NULL, - NULL, - NULL, - NULL, - sip_wizard_get_domains, - NULL, - NULL, - sip_wizard_account_validated -}; - -#endif diff --git a/coreapi/xmlrpc.c b/coreapi/xmlrpc.c index 1e5731535..61a6566d1 100644 --- a/coreapi/xmlrpc.c +++ b/coreapi/xmlrpc.c @@ -116,40 +116,46 @@ static void free_arg(LinphoneXmlRpcArg *arg) { } static void process_io_error_from_post_xml_rpc_request(void *data, const belle_sip_io_error_event_t *event) { - LinphoneXmlRpcSession *session = (LinphoneXmlRpcSession *)data; - ms_error("I/O Error during XML-RPC request sending to %s", session->url); - session->request->status = LinphoneXmlRpcStatusFailed; - ms_cond_signal(&session->cond); + LinphoneXmlRpcRequest *request = (LinphoneXmlRpcRequest *)data; + ms_error("I/O Error during XML-RPC request sending"); + request->status = LinphoneXmlRpcStatusFailed; + if (request->cb != NULL) { + request->cb(request, request->cb_ud); + } + linphone_xml_rpc_request_unref(request); } static void process_auth_requested_from_post_xml_rpc_request(void *data, belle_sip_auth_event_t *event) { - LinphoneXmlRpcSession *session = (LinphoneXmlRpcSession *)data; - ms_error("Error during XML-RPC request sending to connect %s", session->url); - session->request->status = LinphoneXmlRpcStatusFailed; - ms_cond_signal(&session->cond); + LinphoneXmlRpcRequest *request = (LinphoneXmlRpcRequest *)data; + ms_error("Authentication error during XML-RPC request sending"); + request->status = LinphoneXmlRpcStatusFailed; + if (request->cb != NULL) { + request->cb(request, request->cb_ud); + } + linphone_xml_rpc_request_unref(request); } -static void parse_valid_xml_rpc_response(LinphoneXmlRpcSession *session, const char *response_body) { +static void parse_valid_xml_rpc_response(LinphoneXmlRpcRequest *request, const char *response_body) { xmlparsing_context_t *xml_ctx = linphone_xmlparsing_context_new(); xmlSetGenericErrorFunc(xml_ctx, linphone_xmlparsing_genericxml_error); - session->request->status = LinphoneXmlRpcStatusFailed; + request->status = LinphoneXmlRpcStatusFailed; xml_ctx->doc = xmlReadDoc((const unsigned char*)response_body, 0, NULL, 0); if (xml_ctx->doc != NULL) { const char *response_str; if (linphone_create_xml_xpath_context(xml_ctx) < 0) goto end; - switch (session->request->response.type) { + switch (request->response.type) { case LinphoneXmlRpcArgInt: response_str = linphone_get_xml_text_content(xml_ctx, "/methodResponse/params/param/value/int"); if (response_str != NULL) { - session->request->response.data.i = atoi(response_str); - session->request->status = LinphoneXmlRpcStatusOk; + request->response.data.i = atoi(response_str); + request->status = LinphoneXmlRpcStatusOk; } break; case LinphoneXmlRpcArgString: response_str = linphone_get_xml_text_content(xml_ctx, "/methodResponse/params/param/value/string"); if (response_str != NULL) { - session->request->response.data.s = belle_sip_strdup(response_str); - session->request->status = LinphoneXmlRpcStatusOk; + request->response.data.s = belle_sip_strdup(response_str); + request->status = LinphoneXmlRpcStatusOk; } break; default: @@ -161,43 +167,42 @@ static void parse_valid_xml_rpc_response(LinphoneXmlRpcSession *session, const c } end: linphone_xmlparsing_context_destroy(xml_ctx); - ms_cond_signal(&session->cond); + if (request->cb != NULL) { + request->cb(request, request->cb_ud); + } } -static void notify_xml_rpc_error(LinphoneXmlRpcSession *session) { - session->request->status = LinphoneXmlRpcStatusOk; - ms_cond_signal(&session->cond); +static void notify_xml_rpc_error(LinphoneXmlRpcRequest *request) { + request->status = LinphoneXmlRpcStatusOk; + if (request->cb != NULL) { + request->cb(request, request->cb_ud); + } } -/** - * Callback function called when we have a response from server during the upload of the log collection to the server (rcs5.1 recommandation) - * Note: The first post is empty and the server shall reply a 204 (No content) message, this will trigger a new post request to the server - * to upload the file. The server response to this second post is processed by this same function - * - * @param[in] data The user-defined pointer associated with the request, it contains the LinphoneCore object - * @param[in] event The response from server - */ static void process_response_from_post_xml_rpc_request(void *data, const belle_http_response_event_t *event) { - LinphoneXmlRpcSession *session = (LinphoneXmlRpcSession *)data; + LinphoneXmlRpcRequest *request = (LinphoneXmlRpcRequest *)data; /* Check the answer code */ if (event->response) { int code = belle_http_response_get_status_code(event->response); if (code == 200) { /* Valid response from the server. */ - parse_valid_xml_rpc_response(session, belle_sip_message_get_body((belle_sip_message_t *)event->response)); + parse_valid_xml_rpc_response(request, belle_sip_message_get_body((belle_sip_message_t *)event->response)); } else { - notify_xml_rpc_error(session); + notify_xml_rpc_error(request); } } + linphone_xml_rpc_request_unref(request); } -static LinphoneXmlRpcRequest * _linphone_xml_rpc_request_new(const char *method, LinphoneXmlRpcArgType return_type) { +static LinphoneXmlRpcRequest * _linphone_xml_rpc_request_new(const char *method, LinphoneXmlRpcArgType return_type, LinphoneXmlRpcResponseCb cb, void *user_data) { LinphoneXmlRpcRequest *request = belle_sip_object_new(LinphoneXmlRpcRequest); belle_sip_object_ref(request); request->status = LinphoneXmlRpcStatusPending; request->response.type = return_type; request->method = belle_sip_strdup(method); + request->cb = cb; + request->cb_ud = user_data; return request; } @@ -226,9 +231,6 @@ static void _linphone_xml_rpc_request_destroy(LinphoneXmlRpcRequest *request) { static void _linphone_xml_rpc_session_destroy(LinphoneXmlRpcSession *session) { belle_sip_free(session->url); - ms_cond_destroy(&session->cond); - ms_mutex_destroy(&session->cond_mutex); - ms_mutex_destroy(&session->mutex); } BELLE_SIP_DECLARE_NO_IMPLEMENTED_INTERFACES(LinphoneXmlRpcRequest); @@ -249,19 +251,18 @@ BELLE_SIP_INSTANCIATE_VPTR(LinphoneXmlRpcSession, belle_sip_object_t, ); -LinphoneXmlRpcRequest * linphone_xml_rpc_request_new(const char *method, LinphoneXmlRpcArgType return_type) { - LinphoneXmlRpcRequest *request = _linphone_xml_rpc_request_new(method, return_type); +LinphoneXmlRpcRequest * linphone_xml_rpc_request_new(const char *method, LinphoneXmlRpcArgType return_type, LinphoneXmlRpcResponseCb cb, void *user_data) { + LinphoneXmlRpcRequest *request = _linphone_xml_rpc_request_new(method, return_type, cb, user_data); format_request(request); return request; } -LinphoneXmlRpcRequest * linphone_xml_rpc_request_new_with_args(const char *method, LinphoneXmlRpcArgType return_type, ...) { +LinphoneXmlRpcRequest * linphone_xml_rpc_request_new_with_args(const char *method, LinphoneXmlRpcArgType return_type, LinphoneXmlRpcResponseCb cb, void *user_data, ...) { bool_t cont = TRUE; va_list args; LinphoneXmlRpcArgType arg_type; - LinphoneXmlRpcArg *arg = NULL; - LinphoneXmlRpcRequest *request = _linphone_xml_rpc_request_new(method, return_type); - va_start(args, return_type); + LinphoneXmlRpcRequest *request = _linphone_xml_rpc_request_new(method, return_type, cb, user_data); + va_start(args, cb); while (cont) { arg_type = va_arg(args, LinphoneXmlRpcArgType); switch (arg_type) { @@ -330,9 +331,6 @@ LinphoneXmlRpcSession * linphone_xml_rpc_session_new(LinphoneCore *core, const c belle_sip_object_ref(session); session->core = core; session->url = belle_sip_strdup(url); - ms_cond_init(&session->cond, NULL); - ms_mutex_init(&session->cond_mutex, NULL); - ms_mutex_init(&session->mutex, NULL); return session; } @@ -353,40 +351,29 @@ void linphone_xml_rpc_session_set_user_data(LinphoneXmlRpcSession *session, void session->user_data = ud; } -LinphoneXmlRpcStatus linphone_xml_rpc_session_send_request(LinphoneXmlRpcSession *session, LinphoneXmlRpcRequest *request) { +void linphone_xml_rpc_session_send_request(LinphoneXmlRpcSession *session, LinphoneXmlRpcRequest *request) { belle_http_request_listener_callbacks_t cbs = { 0 }; belle_http_request_listener_t *l; belle_generic_uri_t *uri; belle_http_request_t *req; belle_sip_memory_body_handler_t *bh; const char *data; - LinphoneXmlRpcStatus status; + LinphoneContent *content; - ms_mutex_lock(&session->mutex); - session->request = linphone_xml_rpc_request_ref(request); - session->content = linphone_content_new(); - linphone_content_set_type(session->content, "text"); - linphone_content_set_subtype(session->content,"xml"); - linphone_content_set_string_buffer(session->content, linphone_xml_rpc_request_get_content(request)); + linphone_xml_rpc_request_ref(request); + content = linphone_content_new(); + linphone_content_set_type(content, "text"); + linphone_content_set_subtype(content, "xml"); + linphone_content_set_string_buffer(content, linphone_xml_rpc_request_get_content(request)); uri = belle_generic_uri_parse(session->url); req = belle_http_request_create("POST", uri, belle_sip_header_content_type_create("text", "xml"), NULL); data = linphone_xml_rpc_request_get_content(request); - bh = belle_sip_memory_body_handler_new_copy_from_buffer(data, strlen(data), NULL, session); + bh = belle_sip_memory_body_handler_new_copy_from_buffer(data, strlen(data), NULL, NULL); belle_sip_message_set_body_handler(BELLE_SIP_MESSAGE(req), BELLE_SIP_BODY_HANDLER(bh)); cbs.process_response = process_response_from_post_xml_rpc_request; cbs.process_io_error = process_io_error_from_post_xml_rpc_request; cbs.process_auth_requested = process_auth_requested_from_post_xml_rpc_request; - l = belle_http_request_listener_create_from_callbacks(&cbs, session); + l = belle_http_request_listener_create_from_callbacks(&cbs, request); belle_http_provider_send_request(session->core->http_provider, req, l); - - ms_mutex_lock(&session->cond_mutex); - ms_cond_wait(&session->cond, &session->cond_mutex); - ms_mutex_unlock(&session->cond_mutex); - status = session->request->status; - linphone_xml_rpc_request_unref(session->request); - session->request = NULL; - linphone_content_unref(session->content); - session->content = NULL; - ms_mutex_unlock(&session->mutex); - return status; + linphone_content_unref(content); } diff --git a/coreapi/xmlrpc.h b/coreapi/xmlrpc.h index fd98f16bc..de099b3fb 100644 --- a/coreapi/xmlrpc.h +++ b/coreapi/xmlrpc.h @@ -1,5 +1,5 @@ /* -buffer.h +xmlrpc.h Copyright (C) 2010-2015 Belledonne Communications SARL This program is free software; you can redistribute it and/or @@ -59,22 +59,30 @@ typedef struct _LinphoneXmlRpcRequest LinphoneXmlRpcRequest; **/ typedef struct _LinphoneXmlRpcSession LinphoneXmlRpcSession; +typedef void (*LinphoneXmlRpcResponseCb)(LinphoneXmlRpcRequest *request, void *user_data); + /** -* Create a new LinphoneXmlRpcRequest object. -* @param[in] method The XML-RPC method to call. -* @param[in] return_type The expected XML-RPC response type. -* @return A new LinphoneXmlRpcRequest object. + * Create a new LinphoneXmlRpcRequest object. + * @param[in] method The XML-RPC method to call. + * @param[in] return_type The expected XML-RPC response type. + * @param[in] cb The callback that will be called when the XML-RPC response is received or if an error occurs. + * @param[in] user_data A user data that will be passed as a parameter to the callback. + * @return A new LinphoneXmlRpcRequest object. **/ -LINPHONE_PUBLIC LinphoneXmlRpcRequest * linphone_xml_rpc_request_new(const char *method, LinphoneXmlRpcArgType return_type); +LINPHONE_PUBLIC LinphoneXmlRpcRequest * linphone_xml_rpc_request_new(const char *method, LinphoneXmlRpcArgType return_type, + LinphoneXmlRpcResponseCb cb, void *user_data); /** * Create a new LinphoneXmlRpcRequest object giving the arguments to the method call. * @param[in] method The XML-RPC method to call. * @param[in] return_type The expected XML-RPC response type. + * @param[in] cb The callback that will be called when the XML-RPC response is received or if an error occurs. + * @param[in] user_data A user data that will be passed as a parameter to the callback. * @return A new LinphoneXmlRpcRequest object. **/ -LINPHONE_PUBLIC LinphoneXmlRpcRequest * linphone_xml_rpc_request_new_with_args(const char *method, LinphoneXmlRpcArgType return_type, ...); +LINPHONE_PUBLIC LinphoneXmlRpcRequest * linphone_xml_rpc_request_new_with_args(const char *method, LinphoneXmlRpcArgType return_type, + LinphoneXmlRpcResponseCb cb, void *user_data, ...); /** * Acquire a reference to the XML-RPC request. @@ -184,9 +192,8 @@ LINPHONE_PUBLIC void linphone_xml_rpc_session_set_user_data(LinphoneXmlRpcSessio * Send an XML-RPC request. * @param[in] session LinphoneXmlRpcSession object. * @param[in] request The LinphoneXmlRpcRequest to be sent. - * @return The status of the XML-RPC request sending. If it is LinphoneXmlRpcStatusOk, use linphone_xml_rpc_session_get_response() to get the XML-RPC response. **/ -LINPHONE_PUBLIC LinphoneXmlRpcStatus linphone_xml_rpc_session_send_request(LinphoneXmlRpcSession *session, LinphoneXmlRpcRequest *request); +LINPHONE_PUBLIC void linphone_xml_rpc_session_send_request(LinphoneXmlRpcSession *session, LinphoneXmlRpcRequest *request); /** * @} diff --git a/gtk/CMakeLists.txt b/gtk/CMakeLists.txt index 24f811ce7..91ec2fdba 100644 --- a/gtk/CMakeLists.txt +++ b/gtk/CMakeLists.txt @@ -63,6 +63,7 @@ set(SOURCE_FILES loginframe.c main.c propertybox.c + setupwizard.c singleinstance.c status_icon.c status_notifier.c @@ -75,10 +76,6 @@ if(WIN32) list(APPEND SOURCE_FILES linphone.rc) endif() -if(ENABLE_ASSISTANT) - list(APPEND SOURCE_FILES setupwizard.c) -endif() - if(GETTEXT_FOUND) add_definitions("-DENABLE_NLS") endif() diff --git a/gtk/Makefile.am b/gtk/Makefile.am index 32656c993..946de574b 100644 --- a/gtk/Makefile.am +++ b/gtk/Makefile.am @@ -53,6 +53,7 @@ linphone_SOURCES= \ singleinstance.c \ conference.c \ config-fetching.c \ + setupwizard.c \ audio_assistant.c \ videowindow.c \ status_icon.c status_icon.h \ @@ -64,11 +65,6 @@ linphone_SOURCES+= \ status_notifier.h endif -if BUILD_WIZARD -linphone_SOURCES+= \ - setupwizard.c -endif - linphone_LDADD= $(top_builddir)/coreapi/liblinphone.la \ $(LIBGTK_LIBS) $(NOTIFY1_LIBS) $(NOTIFY4_LIBS) $(LIBGTKMAC_LIBS) $(INTLLIBS) $(SQLITE3_LIBS) $(BELLESIP_LIBS) diff --git a/gtk/main.c b/gtk/main.c index c73c57ec2..6fff6bbe3 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -1977,9 +1977,7 @@ static void linphone_gtk_check_soundcards(){ static void linphone_gtk_quit_core(void){ linphone_gtk_unmonitor_usb(); g_source_remove_by_user_data(linphone_gtk_get_core()); -#ifdef BUILD_WIZARD linphone_gtk_close_assistant(); -#endif linphone_gtk_set_ldap(NULL); linphone_gtk_destroy_log_window(); linphone_core_destroy(the_core); @@ -2019,12 +2017,10 @@ static gboolean on_block_termination(void){ static void linphone_gtk_init_ui(void){ linphone_gtk_init_main_window(); -#ifdef BUILD_WIZARD // Veryfing if at least one sip account is configured. If not, show wizard if (linphone_core_get_proxy_config_list(linphone_gtk_get_core()) == NULL) { linphone_gtk_show_assistant(); } -#endif if(run_audio_assistant){ linphone_gtk_show_audio_assistant(); diff --git a/gtk/main.ui b/gtk/main.ui index 48e5a61d6..df7bbc6e2 100644 --- a/gtk/main.ui +++ b/gtk/main.ui @@ -923,6 +923,7 @@ Account assistant + True False connect_image False diff --git a/gtk/password.ui b/gtk/password.ui index a355c1848..d9ce720aa 100644 --- a/gtk/password.ui +++ b/gtk/password.ui @@ -9,7 +9,6 @@ True center-on-parent dialog - False True diff --git a/gtk/propertybox.c b/gtk/propertybox.c index 6f4816ece..ff0aa9baa 100644 --- a/gtk/propertybox.c +++ b/gtk/propertybox.c @@ -1584,11 +1584,6 @@ void linphone_gtk_show_parameters(void){ gtk_entry_set_text(GTK_ENTRY(linphone_gtk_get_widget(pb,"username")),linphone_address_get_username(contact)); linphone_address_destroy(contact); } -#ifdef BUILD_WIZARD - gtk_widget_show(linphone_gtk_get_widget(pb,"wizard")); -#else - gtk_widget_hide(linphone_gtk_get_widget(pb,"wizard")); -#endif linphone_gtk_show_sip_accounts(pb); /* CODECS CONFIG */ linphone_gtk_init_codec_list(GTK_TREE_VIEW(codec_list)); diff --git a/gtk/setupwizard.c b/gtk/setupwizard.c index 784d8984f..0de93a957 100644 --- a/gtk/setupwizard.c +++ b/gtk/setupwizard.c @@ -20,107 +20,236 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "linphone.h" #include #include -static LinphoneAccountCreator *linphone_gtk_assistant_get_creator(GtkWidget*w); + static const int PASSWORD_MIN_SIZE = 6; static const int LOGIN_MIN_SIZE = 4; +static GtkWidget *the_assistant = NULL; -static GtkWidget *the_assistant=NULL; -static GtkWidget *create_intro(){ - GtkWidget *vbox=gtk_vbox_new(FALSE,2); - GtkWidget *label=gtk_label_new(_("Welcome!\nThis assistant will help you to use a SIP account for your calls.")); - gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 2); - g_object_set_data(G_OBJECT(vbox),"label",label); +static LinphoneAccountCreator * linphone_gtk_assistant_init(GtkWidget *w) { + LinphoneAccountCreator *creator = linphone_account_creator_new(linphone_gtk_get_core(), "https://www.linphone.org/wizard.php"); + g_object_set_data(G_OBJECT(w), "creator", creator); + return creator; +} + +static LinphoneAccountCreator * linphone_gtk_assistant_get_creator(GtkWidget *w) { + return (LinphoneAccountCreator *)g_object_get_data(G_OBJECT(w), "creator"); +} + +static void linphone_gtk_account_validate_cb(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, void *user_data) { + GtkWidget *assistant = (GtkWidget *)user_data; + if (status == LinphoneAccountCreatorOk) { + // Go to page_6_linphone_account_validation_wait + gtk_assistant_set_current_page(GTK_ASSISTANT(assistant), 6); + } else { // Error when attempting to create the account + // Go to page_8_error + gtk_assistant_set_current_page(GTK_ASSISTANT(assistant), 8); + } +} + +static void create_account(GtkWidget *assistant) { + LinphoneAccountCreator *creator = linphone_gtk_assistant_get_creator(assistant); + linphone_account_creator_set_validate_cb(creator, linphone_gtk_account_validate_cb, assistant); + linphone_account_creator_validate(creator); +} + +static void linphone_gtk_test_account_validation_cb(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, void *user_data) { + GtkWidget *assistant = (GtkWidget *)user_data; + if (status == LinphoneAccountCreatorOk) { + // Go to page_9_finish + gtk_assistant_set_current_page(GTK_ASSISTANT(assistant), 9); + } else { + // Go to page_8_error + gtk_assistant_set_current_page(GTK_ASSISTANT(assistant), 8); + } +} + +static void check_account_validation(GtkWidget *page) { + LinphoneAccountCreator *creator = linphone_gtk_assistant_get_creator(gtk_widget_get_toplevel(page)); + linphone_account_creator_set_test_validation_cb(creator, linphone_gtk_test_account_validation_cb, page); + linphone_account_creator_test_validation(creator); +} + +static void linphone_gtk_assistant_closed(GtkWidget *w) { + linphone_gtk_close_assistant(); +} + +static void linphone_gtk_assistant_prepare(GtkWidget *assistant, GtkWidget *page) { + int pagenum = gtk_assistant_get_current_page(GTK_ASSISTANT(assistant)); + + switch (pagenum) { + case 5: + create_account(assistant); + break; + case 7: + check_account_validation(assistant); + break; + case 9: + { + LinphoneAddress *identity; + LinphoneAuthInfo *info; + LinphoneAccountCreator *creator = linphone_gtk_assistant_get_creator(assistant); + LinphoneProxyConfig *cfg = linphone_core_create_proxy_config(linphone_gtk_get_core()); + char *identity_str = ms_strdup_printf("sip:%s@%s", linphone_account_creator_get_username(creator), linphone_account_creator_get_domain(creator)); + + linphone_proxy_config_set_identity(cfg, identity_str); + linphone_proxy_config_set_server_addr(cfg, linphone_account_creator_get_domain(creator)); + linphone_proxy_config_set_route(cfg, linphone_account_creator_get_route(creator)); + linphone_proxy_config_enable_publish(cfg, FALSE); + linphone_proxy_config_enable_register(cfg, TRUE); + + if (strcmp(linphone_account_creator_get_domain(creator), "sip.linphone.org") == 0) { + linphone_proxy_config_enable_avpf(cfg,TRUE); + // If account created on sip.linphone.org, we configure linphone to use TLS by default + if (linphone_core_sip_transport_supported(linphone_gtk_get_core(), LinphoneTransportTls)) { + LinphoneAddress *addr = linphone_address_new(linphone_proxy_config_get_server_addr(cfg)); + char *tmp; + linphone_address_set_transport(addr, LinphoneTransportTls); + tmp = linphone_address_as_string(addr); + linphone_proxy_config_set_server_addr(cfg, tmp); + linphone_proxy_config_set_route(cfg, tmp); + ms_free(tmp); + linphone_address_destroy(addr); + } + linphone_core_set_stun_server(linphone_gtk_get_core(), "stun.linphone.org"); + linphone_core_set_firewall_policy(linphone_gtk_get_core(), LinphonePolicyUseIce); + } + + identity = linphone_address_new(linphone_proxy_config_get_identity(cfg)); + info = linphone_auth_info_new(linphone_address_get_username(identity), NULL, + linphone_account_creator_get_password(creator), NULL, NULL, linphone_address_get_domain(identity)); + linphone_core_add_auth_info(linphone_gtk_get_core(), info); + linphone_address_destroy(identity); + + if (linphone_core_add_proxy_config(linphone_gtk_get_core(), cfg) != -1) { + linphone_core_set_default_proxy(linphone_gtk_get_core(), cfg); + linphone_gtk_load_identities(); + } + gtk_assistant_commit(GTK_ASSISTANT(assistant)); + } + break; + default: + break; + } +} + +static gint destroy_assistant(GtkWidget* w){ + gtk_widget_destroy(w); + the_assistant = NULL; + return FALSE; +} + +static int linphone_gtk_assistant_forward(int curpage, gpointer data) { + GtkWidget *w = GTK_WIDGET(data); + GtkWidget *box = gtk_assistant_get_nth_page(GTK_ASSISTANT(w), curpage); + LinphoneAccountCreator *creator = linphone_gtk_assistant_get_creator(w); + + switch (curpage) { + case 0: + curpage = 1; // Go to page_1_choice + break; + case 1: + { + GtkWidget *create_button = (GtkWidget*)g_object_get_data(G_OBJECT(box), "create_account"); + GtkWidget *setup_linphone_account = (GtkWidget*)g_object_get_data(G_OBJECT(box), "setup_linphone_account"); + GtkWidget *setup_account = (GtkWidget*)g_object_get_data(G_OBJECT(box), "setup_account"); + GtkWidget *config_uri = (GtkWidget*)g_object_get_data(G_OBJECT(box), "config-uri"); + + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(create_button))) { + curpage = 4; // Go to page_4_linphone_account_creation_configuration + } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(setup_linphone_account))) { + curpage = 3; // Go to page_3_linphone_account_configuration + } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(setup_account))) { + curpage = 2; // Go to page_2_external_account_configuration + } else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(config_uri))) { + /* Destroy the assistant and popup config-uri dialog */ + gtk_widget_hide(w); + linphone_gtk_set_configuration_uri(); + curpage = 0; + g_idle_add((GSourceFunc)destroy_assistant, w); + } + } + break; + case 2: + linphone_account_creator_set_username(creator, gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box),"username")))); + linphone_account_creator_set_domain(creator, gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box),"domain")))); + linphone_account_creator_set_route(creator, gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box), "proxy")))); + linphone_account_creator_set_password(creator, gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box), "password")))); + curpage = 9; // Go to page_9_finish + break; + case 3: + linphone_account_creator_set_username(creator, gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box),"username")))); + linphone_account_creator_set_domain(creator, "sip.linphone.org"); + linphone_account_creator_set_route(creator, "sip.linphone.org"); + linphone_account_creator_set_password(creator, gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box), "password")))); + curpage = 9; // Go to page_9_finish + break; + case 4: + linphone_account_creator_set_username(creator, gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box), "username")))); + linphone_account_creator_set_password(creator, gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box), "password")))); + linphone_account_creator_set_email(creator, gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box), "email")))); + linphone_account_creator_set_subscribe(creator, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_object_get_data(G_OBJECT(box), "newsletter")))); + curpage = 5; // Go to page_5_linphone_account_creation_in_progress + break; + case 6: + curpage = 7; // Go to page_7_linphone_account_validation_check_in_progress + break; + default: + break; + } + return curpage; +} + +static GtkWidget * create_intro_page(void) { + GtkWidget *vbox = gtk_vbox_new(FALSE, 2); + GtkWidget *label = gtk_label_new(_("Welcome!\nThis assistant will help you to use a SIP account for your calls.")); + gtk_box_pack_start(GTK_BOX (vbox), label, TRUE, TRUE, 2); + g_object_set_data(G_OBJECT(vbox), "label", label); gtk_widget_show_all(vbox); return vbox; } -static GtkWidget *create_setup_signin_choice(){ - GtkWidget *vbox=gtk_vbox_new(FALSE,2); - GtkWidget *t1=gtk_radio_button_new_with_label(NULL,_("Create an account on linphone.org")); - GtkWidget *t2=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(t1),_("I have already a linphone.org account and I just want to use it")); - GtkWidget *t3=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(t1),_("I have already a sip account and I just want to use it")); - GtkWidget *t4=gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(t1),_("I want to specify a remote configuration URI")); +static GtkWidget * create_choice_page(void) { + GtkWidget *vbox = gtk_vbox_new(FALSE, 2); + GtkWidget *t1 = gtk_radio_button_new_with_label(NULL, _("Create an account on linphone.org")); + GtkWidget *t2 = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(t1), _("I have already a linphone.org account and I just want to use it")); + GtkWidget *t3 = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(t1), _("I have already a sip account and I just want to use it")); + GtkWidget *t4 = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(t1), _("I want to specify a remote configuration URI")); - gtk_box_pack_start (GTK_BOX (vbox), t1, TRUE, TRUE, 2); - gtk_box_pack_start (GTK_BOX (vbox), t2, TRUE, TRUE, 2); - gtk_box_pack_start (GTK_BOX (vbox), t3, TRUE, TRUE, 2); - gtk_box_pack_start (GTK_BOX (vbox), t4, TRUE, TRUE, 2); + gtk_box_pack_start(GTK_BOX (vbox), t1, TRUE, TRUE, 2); + gtk_box_pack_start(GTK_BOX (vbox), t2, TRUE, TRUE, 2); + gtk_box_pack_start(GTK_BOX (vbox), t3, TRUE, TRUE, 2); + gtk_box_pack_start(GTK_BOX (vbox), t4, TRUE, TRUE, 2); gtk_widget_show_all(vbox); - g_object_set_data(G_OBJECT(vbox),"create_account",t1); - g_object_set_data(G_OBJECT(vbox),"setup_linphone_account",t2); - g_object_set_data(G_OBJECT(vbox),"setup_account",t3); - g_object_set_data(G_OBJECT(vbox),"config-uri",t4); + g_object_set_data(G_OBJECT(vbox), "create_account", t1); + g_object_set_data(G_OBJECT(vbox), "setup_linphone_account", t2); + g_object_set_data(G_OBJECT(vbox), "setup_account", t3); + g_object_set_data(G_OBJECT(vbox), "config-uri", t4); return vbox; } -static int all_account_information_entered(GtkWidget *w) { - GtkEntry* username = GTK_ENTRY(g_object_get_data(G_OBJECT(w),"username")); - GtkEntry* domain = GTK_ENTRY(g_object_get_data(G_OBJECT(w),"domain")); +static int external_account_configuration_complete(GtkWidget *w) { + GtkEntry* username = GTK_ENTRY(g_object_get_data(G_OBJECT(w), "username")); + GtkEntry* domain = GTK_ENTRY(g_object_get_data(G_OBJECT(w), "domain")); - if (gtk_entry_get_text_length(username) > 0 && - gtk_entry_get_text_length(domain) > 0 && - g_regex_match_simple("^[a-zA-Z0-9]+[a-zA-Z0-9.\\-_]{2,}$", gtk_entry_get_text(username), 0, 0) && - g_regex_match_simple("^(sip:)?([a-zA-Z0-9]+([\\.-][a-zA-Z0-9]+)*)$", gtk_entry_get_text(domain), 0, 0)) { + if ((gtk_entry_get_text_length(username) > 0) + && (gtk_entry_get_text_length(domain) > 0) + && (g_regex_match_simple("^[a-zA-Z0-9]+[a-zA-Z0-9.\\-_]{2,}$", gtk_entry_get_text(username), 0, 0)) + && (g_regex_match_simple("^(sip:)?([a-zA-Z0-9]+([\\.-][a-zA-Z0-9]+)*)$", gtk_entry_get_text(domain), 0, 0))) { return 1; } return 0; } -static void account_informations_changed(GtkEntry *entry, GtkWidget *w) { - GtkWidget *assistant=gtk_widget_get_toplevel(w); - gtk_assistant_set_page_complete(GTK_ASSISTANT(assistant),w, - all_account_information_entered(w)>0); +static void external_account_configuration_changed(GtkEntry *entry, GtkWidget *w) { + GtkWidget *assistant = gtk_widget_get_toplevel(w); + gtk_assistant_set_page_complete(GTK_ASSISTANT(assistant), w, external_account_configuration_complete(w) > 0); } -static void linphone_account_informations_changed(GtkEntry *entry, GtkWidget *w) { - GtkWidget *assistant=gtk_widget_get_toplevel(w); - GtkEntry* username = GTK_ENTRY(g_object_get_data(G_OBJECT(w),"username")); - - gtk_assistant_set_page_complete(GTK_ASSISTANT(assistant),w, - gtk_entry_get_text_length(username) > 0); -} - -static GtkWidget *create_linphone_account_informations_page() { - GtkWidget *vbox=gtk_table_new(3, 2, TRUE); - GtkWidget *label=gtk_label_new(_("Enter your linphone.org username")); - - GdkColor color; - GtkWidget *labelEmpty; - GtkWidget *labelUsername; - GtkWidget *entryUsername; - GtkWidget *labelPassword; - GtkWidget *entryPassword; - - gdk_color_parse ("red", &color); - labelEmpty=gtk_label_new(NULL); - gtk_widget_modify_fg(labelEmpty, GTK_STATE_NORMAL, &color); - - labelUsername=gtk_label_new(_("Username:")); - entryUsername=gtk_entry_new(); - labelPassword=gtk_label_new(_("Password:")); - entryPassword=gtk_entry_new(); - gtk_entry_set_visibility(GTK_ENTRY(entryPassword), FALSE); - - gtk_table_attach_defaults(GTK_TABLE(vbox), label, 0, 2, 0, 1); - gtk_table_attach_defaults(GTK_TABLE(vbox), labelUsername, 0, 1, 1, 2); - gtk_table_attach_defaults(GTK_TABLE(vbox), entryUsername, 1, 2, 1, 2); - gtk_table_attach_defaults(GTK_TABLE(vbox), labelPassword, 0, 1, 2, 3); - gtk_table_attach_defaults(GTK_TABLE(vbox), entryPassword, 1, 2, 2, 3); - - gtk_widget_show_all(vbox); - g_object_set_data(G_OBJECT(vbox),"username",entryUsername); - g_object_set_data(G_OBJECT(vbox),"password",entryPassword); - g_object_set_data(G_OBJECT(vbox),"errorstring",labelEmpty); - g_signal_connect(G_OBJECT(entryUsername),"changed",(GCallback)linphone_account_informations_changed,vbox); - return vbox; -} - -static GtkWidget *create_account_informations_page() { - GtkWidget *vbox=gtk_table_new(6, 2, FALSE); - GtkWidget *label=gtk_label_new(_("Enter your account informations")); - +static GtkWidget * create_external_account_configuration_page(void) { + GtkWidget *vbox = gtk_table_new(6, 2, FALSE); + GtkWidget *label = gtk_label_new(_("Enter your account information")); GdkColor color; GtkWidget *labelEmpty; GtkWidget *labelUsername; @@ -131,19 +260,19 @@ static GtkWidget *create_account_informations_page() { GtkWidget *entryUsername; GtkWidget *entryDomain; GtkWidget *entryRoute; - gdk_color_parse ("red", &color); - labelEmpty=gtk_label_new(NULL); - gtk_widget_modify_fg(labelEmpty, GTK_STATE_NORMAL, &color); - labelUsername=gtk_label_new(_("Username*")); - labelPassword=gtk_label_new(_("Password*")); - entryPassword=gtk_entry_new(); + gdk_color_parse("red", &color); + labelEmpty = gtk_label_new(NULL); + gtk_widget_modify_fg(labelEmpty, GTK_STATE_NORMAL, &color); + labelUsername = gtk_label_new(_("Username*")); + labelPassword = gtk_label_new(_("Password*")); + entryPassword = gtk_entry_new(); gtk_entry_set_visibility(GTK_ENTRY(entryPassword), FALSE); - labelDomain=gtk_label_new(_("Domain*")); - labelProxy=gtk_label_new(_("Proxy")); - entryUsername=gtk_entry_new(); - entryDomain=gtk_entry_new(); - entryRoute=gtk_entry_new(); + labelDomain = gtk_label_new(_("Domain*")); + labelProxy = gtk_label_new(_("Proxy")); + entryUsername = gtk_entry_new(); + entryDomain = gtk_entry_new(); + entryRoute = gtk_entry_new(); gtk_table_attach_defaults(GTK_TABLE(vbox), label, 0, 2, 0, 1); gtk_table_attach_defaults(GTK_TABLE(vbox), labelUsername, 0, 1, 1, 2); @@ -157,190 +286,191 @@ static GtkWidget *create_account_informations_page() { gtk_table_attach_defaults(GTK_TABLE(vbox), labelEmpty, 0, 2, 5, 6); gtk_widget_show_all(vbox); - g_object_set_data(G_OBJECT(vbox),"username",entryUsername); - g_object_set_data(G_OBJECT(vbox),"password",entryPassword); - g_object_set_data(G_OBJECT(vbox),"domain",entryDomain); - g_object_set_data(G_OBJECT(vbox),"proxy",entryRoute); - g_object_set_data(G_OBJECT(vbox),"errorstring",labelEmpty); - g_signal_connect(G_OBJECT(entryUsername),"changed",(GCallback)account_informations_changed,vbox); - g_signal_connect(G_OBJECT(entryDomain),"changed",(GCallback)account_informations_changed,vbox); - g_signal_connect(G_OBJECT(entryRoute),"changed",(GCallback)account_informations_changed,vbox); + g_object_set_data(G_OBJECT(vbox), "username", entryUsername); + g_object_set_data(G_OBJECT(vbox), "password", entryPassword); + g_object_set_data(G_OBJECT(vbox), "domain", entryDomain); + g_object_set_data(G_OBJECT(vbox), "proxy", entryRoute); + g_object_set_data(G_OBJECT(vbox), "errorstring", labelEmpty); + g_signal_connect(G_OBJECT(entryUsername), "changed", (GCallback)external_account_configuration_changed, vbox); + g_signal_connect(G_OBJECT(entryDomain), "changed", (GCallback)external_account_configuration_changed, vbox); + g_signal_connect(G_OBJECT(entryRoute), "changed", (GCallback)external_account_configuration_changed, vbox); return vbox; } -static int create_account(GtkWidget *page) { - LinphoneAccountCreator *creator=linphone_gtk_assistant_get_creator(gtk_widget_get_toplevel(page)); - LinphoneProxyConfig *res=linphone_account_creator_validate(creator); - if (res) { - if (!g_regex_match_simple("^sip:[a-zA-Z]+[a-zA-Z0-9.\\-_]{2,}@sip.linphone.org$",creator->username, 0, 0)) { - gchar identity[128]; - g_snprintf(identity, sizeof(identity), "sip:%s@sip.linphone.org", creator->username); - linphone_account_creator_set_username(creator, identity); - linphone_account_creator_set_domain(creator, "sip:sip.linphone.org"); - } +static void linphone_account_configuration_changed(GtkEntry *entry, GtkWidget *w) { + GtkWidget *assistant = gtk_widget_get_toplevel(w); + GtkEntry* username = GTK_ENTRY(g_object_get_data(G_OBJECT(w), "username")); + gtk_assistant_set_page_complete(GTK_ASSISTANT(assistant), w, gtk_entry_get_text_length(username) > 0); +} + +static GtkWidget * create_linphone_account_configuration_page(void) { + GtkWidget *vbox = gtk_table_new(3, 2, TRUE); + GtkWidget *label = gtk_label_new(_("Enter your linphone.org username")); + GdkColor color; + GtkWidget *labelEmpty; + GtkWidget *labelUsername; + GtkWidget *entryUsername; + GtkWidget *labelPassword; + GtkWidget *entryPassword; + + gdk_color_parse("red", &color); + labelEmpty = gtk_label_new(NULL); + gtk_widget_modify_fg(labelEmpty, GTK_STATE_NORMAL, &color); + + labelUsername = gtk_label_new(_("Username:")); + entryUsername = gtk_entry_new(); + labelPassword = gtk_label_new(_("Password:")); + entryPassword = gtk_entry_new(); + gtk_entry_set_visibility(GTK_ENTRY(entryPassword), FALSE); + + gtk_table_attach_defaults(GTK_TABLE(vbox), label, 0, 2, 0, 1); + gtk_table_attach_defaults(GTK_TABLE(vbox), labelUsername, 0, 1, 1, 2); + gtk_table_attach_defaults(GTK_TABLE(vbox), entryUsername, 1, 2, 1, 2); + gtk_table_attach_defaults(GTK_TABLE(vbox), labelPassword, 0, 1, 2, 3); + gtk_table_attach_defaults(GTK_TABLE(vbox), entryPassword, 1, 2, 2, 3); + + gtk_widget_show_all(vbox); + g_object_set_data(G_OBJECT(vbox), "username", entryUsername); + g_object_set_data(G_OBJECT(vbox), "password", entryPassword); + g_object_set_data(G_OBJECT(vbox), "errorstring", labelEmpty); + g_signal_connect(G_OBJECT(entryUsername), "changed", (GCallback)linphone_account_configuration_changed, vbox); + return vbox; +} + +static int linphone_account_creation_configuration_correct(GtkWidget *w) { + int is_username_available = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(w), "is_username_available")); + int is_email_correct = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(w), "is_email_correct")); + int is_password_correct = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(w), "is_password_correct")); + if ((is_username_available == 1) && (is_email_correct == 1) && (is_password_correct == 1)) { return 1; } return 0; } -static int is_account_information_correct(GtkWidget *w) { - int is_username_available = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(w),"is_username_available")); - int is_email_correct = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(w),"is_email_correct")); - int is_password_correct = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(w),"is_password_correct")); - - if (is_username_available == 1 && is_email_correct == 1 && is_password_correct == 1) { - return 1; - } - return 0; -} - -static void account_email_changed(GtkEntry *entry, GtkWidget *w) { - // Verifying if email entered is correct, and if form is correctly filled, let the user go next page - - GtkEntry* email = GTK_ENTRY(g_object_get_data(G_OBJECT(w),"email")); - GtkImage* isEmailOk = GTK_IMAGE(g_object_get_data(G_OBJECT(w),"emailOk")); - GtkWidget *assistant=gtk_widget_get_toplevel(w); - - if (g_regex_match_simple("^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\\.-][a-z0-9]+)*)+\\.[a-z]{2,}$", gtk_entry_get_text(email), 0, 0)) { - GdkPixbuf *ok = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "ok")); - g_object_set_data(G_OBJECT(w),"is_email_correct",GINT_TO_POINTER(1)); - gtk_image_set_from_pixbuf(isEmailOk, ok); - } - else { - GdkPixbuf *notok = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "notok")); - g_object_set_data(G_OBJECT(w),"is_email_correct",GINT_TO_POINTER(0)); - gtk_image_set_from_pixbuf(isEmailOk, notok); - } - gtk_assistant_set_page_complete(GTK_ASSISTANT(assistant),w, - is_account_information_correct(w)>0); -} - -static void account_password_changed(GtkEntry *entry, GtkWidget *w) { - // Verifying if passwords entered match, and if form is correctly filled, let the user go next page - - GtkEntry* password = GTK_ENTRY(g_object_get_data(G_OBJECT(w),"password")); - GtkImage* isPasswordOk = GTK_IMAGE(g_object_get_data(G_OBJECT(w),"passwordOk")); - GtkEntry* password_confirm = GTK_ENTRY(g_object_get_data(G_OBJECT(w),"password_confirm")); - GtkWidget *assistant=gtk_widget_get_toplevel(w); - GtkLabel* passwordError = GTK_LABEL(g_object_get_data(G_OBJECT(w),"error")); - - if (gtk_entry_get_text_length(password) >= PASSWORD_MIN_SIZE && - g_ascii_strcasecmp(gtk_entry_get_text(password), gtk_entry_get_text(password_confirm)) == 0) { - GdkPixbuf *ok = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "ok")); - g_object_set_data(G_OBJECT(w),"is_password_correct",GINT_TO_POINTER(1)); - gtk_image_set_from_pixbuf(isPasswordOk, ok); - gtk_label_set_text(passwordError, ""); - } - else { - GdkPixbuf *notok = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "notok")); - if (gtk_entry_get_text_length(password) < PASSWORD_MIN_SIZE) { - gtk_label_set_text(passwordError, "Password is too short !"); - } - else if (!g_ascii_strcasecmp(gtk_entry_get_text(password), gtk_entry_get_text(password_confirm)) == 0) { - gtk_label_set_text(passwordError, "Passwords don't match !"); - } - g_object_set_data(G_OBJECT(w),"is_password_correct",GINT_TO_POINTER(0)); - gtk_image_set_from_pixbuf(isPasswordOk, notok); - } - gtk_assistant_set_page_complete(GTK_ASSISTANT(assistant),w, - is_account_information_correct(w)>0); -} - -gboolean update_interface_with_username_availability(gpointer *w) { +static gboolean update_interface_with_username_availability(void *w) { GtkWidget *assistant = gtk_widget_get_toplevel(GTK_WIDGET(w)); - GtkImage* isUsernameOk = GTK_IMAGE(g_object_get_data(G_OBJECT(w),"usernameOk")); - GtkLabel* usernameError = GTK_LABEL(g_object_get_data(G_OBJECT(w),"error")); - int account_existing = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(w),"is_username_used")); + GtkImage* isUsernameOk = GTK_IMAGE(g_object_get_data(G_OBJECT(w), "usernameOk")); + GtkLabel* usernameError = GTK_LABEL(g_object_get_data(G_OBJECT(w), "error")); + int account_existing = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(w), "is_username_used")); if (account_existing == 0) { - GdkPixbuf *ok = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "ok")); - g_object_set_data(G_OBJECT(w),"is_username_available",GINT_TO_POINTER(1)); - gtk_image_set_from_pixbuf(isUsernameOk, ok); + GdkPixbuf *ok_pixbuf = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "ok_pixbuf")); + g_object_set_data(G_OBJECT(w), "is_username_available", GINT_TO_POINTER(1)); + gtk_image_set_from_pixbuf(isUsernameOk, ok_pixbuf); gtk_label_set_text(usernameError, ""); - } - else { - GdkPixbuf *notok = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "notok")); + } else { + GdkPixbuf *nok_pixbuf = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "nok_pixbuf")); gtk_label_set_text(usernameError, "Username is already in use !"); - g_object_set_data(G_OBJECT(w),"is_username_available",GINT_TO_POINTER(0)); - gtk_image_set_from_pixbuf(isUsernameOk, notok); + g_object_set_data(G_OBJECT(w), "is_username_available", GINT_TO_POINTER(0)); + gtk_image_set_from_pixbuf(isUsernameOk, nok_pixbuf); } - - gtk_assistant_set_page_complete(GTK_ASSISTANT(assistant),GTK_WIDGET(w), - is_account_information_correct(GTK_WIDGET(w))>0); - + gtk_assistant_set_page_complete(GTK_ASSISTANT(assistant), GTK_WIDGET(w), linphone_account_creation_configuration_correct(GTK_WIDGET(w)) > 0); return FALSE; } -void* check_username_availability(void* w) { - LinphoneAccountCreator *creator=linphone_gtk_assistant_get_creator(gtk_widget_get_toplevel(GTK_WIDGET(w))); - - int account_existing = linphone_account_creator_test_existence(creator); - - g_object_set_data(G_OBJECT(w),"is_username_used",GINT_TO_POINTER(account_existing)); +static void linphone_gtk_test_account_existence_cb(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, void *user_data) { + GtkWidget *w = (GtkWidget *)user_data; + int account_existing = (status == LinphoneAccountCreatorOk) ? 0 : 1; + g_object_set_data(G_OBJECT(w), "is_username_used", GINT_TO_POINTER(account_existing)); gdk_threads_add_idle((GSourceFunc)update_interface_with_username_availability, (void*)w); - - return NULL; } -static gboolean start_check_username_availability_thread(GtkWidget *w) { -#if !GLIB_CHECK_VERSION(2, 31, 0) - g_thread_create(check_username_availability, (void*)w, FALSE, NULL); -#else - g_thread_new(NULL, check_username_availability, w); -#endif +static gboolean check_username_availability(void *w) { + LinphoneAccountCreator *creator = linphone_gtk_assistant_get_creator(gtk_widget_get_toplevel(GTK_WIDGET(w))); g_object_set_data(G_OBJECT(w), "usernameAvailabilityTimerID", GUINT_TO_POINTER(0)); + linphone_account_creator_set_test_existence_cb(creator, linphone_gtk_test_account_existence_cb, w); + linphone_account_creator_test_existence(creator); return FALSE; } -static void account_username_changed(GtkEntry *entry, GtkWidget *w) { - // Verifying if username choosed is available, and if form is correctly filled, let the user go next page +static void linphone_account_creation_username_changed(GtkEntry *entry, GtkWidget *w) { GtkWidget *assistant = gtk_widget_get_toplevel(GTK_WIDGET(w)); - GtkEntry* username = GTK_ENTRY(g_object_get_data(G_OBJECT(w),"username")); - GtkImage* isUsernameOk = GTK_IMAGE(g_object_get_data(G_OBJECT(w),"usernameOk")); - GtkLabel* usernameError = GTK_LABEL(g_object_get_data(G_OBJECT(w),"error")); + GtkEntry* username = GTK_ENTRY(g_object_get_data(G_OBJECT(w), "username")); + GtkImage* isUsernameOk = GTK_IMAGE(g_object_get_data(G_OBJECT(w), "usernameOk")); + GtkLabel* usernameError = GTK_LABEL(g_object_get_data(G_OBJECT(w), "error")); - LinphoneAccountCreator *creator=linphone_gtk_assistant_get_creator(assistant); + LinphoneAccountCreator *creator = linphone_gtk_assistant_get_creator(assistant); linphone_account_creator_set_username(creator, gtk_entry_get_text(username)); linphone_account_creator_set_domain(creator, "sip.linphone.org"); + linphone_account_creator_set_route(creator, "sip.linphone.org"); if (g_regex_match_simple("^[a-zA-Z]+[a-zA-Z0-9.\\-_]{3,}$", gtk_entry_get_text(username), 0, 0)) { guint timerID = GPOINTER_TO_UINT(g_object_get_data(G_OBJECT(w), "usernameAvailabilityTimerID")); if (timerID > 0) { g_source_remove(timerID); } - timerID = g_timeout_add(500, start_check_username_availability_thread, w); + timerID = g_timeout_add(500, (GSourceFunc)check_username_availability, w); g_object_set_data(G_OBJECT(w), "usernameAvailabilityTimerID", GUINT_TO_POINTER(timerID)); - } - else { - GdkPixbuf *notok = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "notok")); + } else { + GdkPixbuf *nok_pixbuf = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "nok_pixbuf")); if (gtk_entry_get_text_length(username) < LOGIN_MIN_SIZE) { gtk_label_set_text(usernameError, "Username is too short"); - } - else if (!g_regex_match_simple("^[a-zA-Z]+[a-zA-Z0-9.\\-_]{3,}$", gtk_entry_get_text(username), 0, 0)) { + } else if (!g_regex_match_simple("^[a-zA-Z]+[a-zA-Z0-9.\\-_]{3,}$", gtk_entry_get_text(username), 0, 0)) { gtk_label_set_text(usernameError, "Unauthorized username"); } - g_object_set_data(G_OBJECT(w),"is_username_available",GINT_TO_POINTER(0)); - gtk_image_set_from_pixbuf(isUsernameOk, notok); - - gtk_assistant_set_page_complete(GTK_ASSISTANT(assistant),w, - is_account_information_correct(w)>0); + g_object_set_data(G_OBJECT(w), "is_username_available", GINT_TO_POINTER(0)); + gtk_image_set_from_pixbuf(isUsernameOk, nok_pixbuf); + gtk_assistant_set_page_complete(GTK_ASSISTANT(assistant), w, linphone_account_creation_configuration_correct(w) > 0); } } -static GtkWidget *create_account_information_page() { - GtkWidget *vbox=gtk_table_new(7, 3, FALSE); - GdkPixbuf *notok = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "notok")); - GtkWidget *label=gtk_label_new(_("(*) Required fields")); - GtkWidget *labelUsername=gtk_label_new(_("Username: (*)")); - GtkWidget *isUsernameOk=gtk_image_new_from_pixbuf(notok); - GtkWidget *labelPassword=gtk_label_new(_("Password: (*)")); - GtkWidget *isPasswordOk=gtk_image_new_from_pixbuf(notok); - GtkWidget *labelEmail=gtk_label_new(_("Email: (*)")); - GtkWidget *isEmailOk=gtk_image_new_from_pixbuf(notok); - GtkWidget *labelPassword2=gtk_label_new(_("Confirm your password: (*)")); - GtkWidget *entryUsername=gtk_entry_new(); - GtkWidget *entryPassword=gtk_entry_new(); +static void linphone_account_creation_email_changed(GtkEntry *entry, GtkWidget *w) { + GtkEntry* email = GTK_ENTRY(g_object_get_data(G_OBJECT(w), "email")); + GtkImage* isEmailOk = GTK_IMAGE(g_object_get_data(G_OBJECT(w), "emailOk")); + GtkWidget *assistant = gtk_widget_get_toplevel(w); + + if (g_regex_match_simple("^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\\.-][a-z0-9]+)*)+\\.[a-z]{2,}$", gtk_entry_get_text(email), 0, 0)) { + GdkPixbuf *ok_pixbuf = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "ok_pixbuf")); + g_object_set_data(G_OBJECT(w), "is_email_correct", GINT_TO_POINTER(1)); + gtk_image_set_from_pixbuf(isEmailOk, ok_pixbuf); + } else { + GdkPixbuf *nok_pixbuf = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "nok_pixbuf")); + g_object_set_data(G_OBJECT(w), "is_email_correct", GINT_TO_POINTER(0)); + gtk_image_set_from_pixbuf(isEmailOk, nok_pixbuf); + } + gtk_assistant_set_page_complete(GTK_ASSISTANT(assistant), w, linphone_account_creation_configuration_correct(w) > 0); +} + +static void linphone_account_creation_password_changed(GtkEntry *entry, GtkWidget *w) { + GtkEntry* password = GTK_ENTRY(g_object_get_data(G_OBJECT(w), "password")); + GtkImage* isPasswordOk = GTK_IMAGE(g_object_get_data(G_OBJECT(w), "passwordOk")); + GtkEntry* password_confirm = GTK_ENTRY(g_object_get_data(G_OBJECT(w), "password_confirm")); + GtkWidget *assistant = gtk_widget_get_toplevel(w); + GtkLabel* passwordError = GTK_LABEL(g_object_get_data(G_OBJECT(w), "error")); + + if ((gtk_entry_get_text_length(password) >= PASSWORD_MIN_SIZE) + && (g_ascii_strcasecmp(gtk_entry_get_text(password), gtk_entry_get_text(password_confirm)) == 0)) { + GdkPixbuf *ok_pixbuf = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "ok_pixbuf")); + g_object_set_data(G_OBJECT(w), "is_password_correct", GINT_TO_POINTER(1)); + gtk_image_set_from_pixbuf(isPasswordOk, ok_pixbuf); + gtk_label_set_text(passwordError, ""); + } else { + GdkPixbuf *nok_pixbuf = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "nok_pixbuf")); + if (gtk_entry_get_text_length(password) < PASSWORD_MIN_SIZE) { + gtk_label_set_text(passwordError, "Password is too short !"); + } else if (!g_ascii_strcasecmp(gtk_entry_get_text(password), gtk_entry_get_text(password_confirm)) == 0) { + gtk_label_set_text(passwordError, "Passwords don't match !"); + } + g_object_set_data(G_OBJECT(w), "is_password_correct", GINT_TO_POINTER(0)); + gtk_image_set_from_pixbuf(isPasswordOk, nok_pixbuf); + } + gtk_assistant_set_page_complete(GTK_ASSISTANT(assistant), w, linphone_account_creation_configuration_correct(w) > 0); +} + +static GtkWidget * create_linphone_account_creation_configuration_page(void) { + GtkWidget *vbox = gtk_table_new(7, 3, FALSE); + GdkPixbuf *nok_pixbuf = GDK_PIXBUF(g_object_get_data(G_OBJECT(the_assistant), "nok_pixbuf")); + GtkWidget *label = gtk_label_new(_("(*) Required fields")); + GtkWidget *labelUsername = gtk_label_new(_("Username: (*)")); + GtkWidget *isUsernameOk = gtk_image_new_from_pixbuf(nok_pixbuf); + GtkWidget *labelPassword = gtk_label_new(_("Password: (*)")); + GtkWidget *isPasswordOk = gtk_image_new_from_pixbuf(nok_pixbuf); + GtkWidget *labelEmail = gtk_label_new(_("Email: (*)")); + GtkWidget *isEmailOk = gtk_image_new_from_pixbuf(nok_pixbuf); + GtkWidget *labelPassword2 = gtk_label_new(_("Confirm your password: (*)")); + GtkWidget *entryUsername = gtk_entry_new(); + GtkWidget *entryPassword = gtk_entry_new(); GtkWidget *entryEmail; GtkWidget *entryPassword2; GtkWidget *checkNewsletter; @@ -348,22 +478,23 @@ static GtkWidget *create_account_information_page() { GtkWidget *passwordVbox1; GtkWidget *passwordVbox2; GdkColor color; - gtk_entry_set_visibility(GTK_ENTRY(entryPassword), FALSE); - entryEmail=gtk_entry_new(); - entryPassword2=gtk_entry_new(); - gtk_entry_set_visibility(GTK_ENTRY(entryPassword2), FALSE); - checkNewsletter=gtk_check_button_new_with_label(_("Keep me informed with linphone updates")); - gdk_color_parse ("red", &color); - labelError=gtk_label_new(NULL); + gtk_entry_set_visibility(GTK_ENTRY(entryPassword), FALSE); + entryEmail = gtk_entry_new(); + entryPassword2 = gtk_entry_new(); + gtk_entry_set_visibility(GTK_ENTRY(entryPassword2), FALSE); + checkNewsletter = gtk_check_button_new_with_label(_("Keep me informed with linphone updates")); + + gdk_color_parse("red", &color); + labelError = gtk_label_new(NULL); gtk_widget_modify_fg(labelError, GTK_STATE_NORMAL, &color); - passwordVbox1=gtk_vbox_new(FALSE,2); - passwordVbox2=gtk_vbox_new(FALSE,2); - gtk_box_pack_start (GTK_BOX (passwordVbox1), labelPassword, TRUE, FALSE, 2); - gtk_box_pack_start (GTK_BOX (passwordVbox1), labelPassword2, TRUE, FALSE, 2); - gtk_box_pack_start (GTK_BOX (passwordVbox2), entryPassword, TRUE, FALSE, 2); - gtk_box_pack_start (GTK_BOX (passwordVbox2), entryPassword2, TRUE, FALSE, 2); + passwordVbox1 = gtk_vbox_new(FALSE, 2); + passwordVbox2 = gtk_vbox_new(FALSE, 2); + gtk_box_pack_start(GTK_BOX (passwordVbox1), labelPassword, TRUE, FALSE, 2); + gtk_box_pack_start(GTK_BOX (passwordVbox1), labelPassword2, TRUE, FALSE, 2); + gtk_box_pack_start(GTK_BOX (passwordVbox2), entryPassword, TRUE, FALSE, 2); + gtk_box_pack_start(GTK_BOX (passwordVbox2), entryPassword2, TRUE, FALSE, 2); gtk_table_attach_defaults(GTK_TABLE(vbox), label, 0, 3, 0, 1); gtk_table_attach_defaults(GTK_TABLE(vbox), labelEmail, 0, 1, 1, 2); @@ -379,310 +510,159 @@ static GtkWidget *create_account_information_page() { gtk_table_attach_defaults(GTK_TABLE(vbox), checkNewsletter, 0, 3, 6, 7); gtk_widget_show_all(vbox); - g_object_set_data(G_OBJECT(vbox),"username",entryUsername); - g_object_set_data(G_OBJECT(vbox),"password",entryPassword); - g_object_set_data(G_OBJECT(vbox),"email",entryEmail); - g_object_set_data(G_OBJECT(vbox),"usernameOk",isUsernameOk); - g_object_set_data(G_OBJECT(vbox),"passwordOk",isPasswordOk); - g_object_set_data(G_OBJECT(vbox),"emailOk",isEmailOk); - g_object_set_data(G_OBJECT(vbox),"password_confirm",entryPassword2); - g_object_set_data(G_OBJECT(vbox),"newsletter",checkNewsletter); - g_object_set_data(G_OBJECT(vbox),"error",labelError); - g_signal_connect(G_OBJECT(entryUsername),"changed",(GCallback)account_username_changed,vbox); - g_signal_connect(G_OBJECT(entryPassword),"changed",(GCallback)account_password_changed,vbox); - g_signal_connect(G_OBJECT(entryEmail),"changed",(GCallback)account_email_changed,vbox); - g_signal_connect(G_OBJECT(entryPassword2),"changed",(GCallback)account_password_changed,vbox); + g_object_set_data(G_OBJECT(vbox), "username", entryUsername); + g_object_set_data(G_OBJECT(vbox), "password", entryPassword); + g_object_set_data(G_OBJECT(vbox), "email", entryEmail); + g_object_set_data(G_OBJECT(vbox), "usernameOk", isUsernameOk); + g_object_set_data(G_OBJECT(vbox), "passwordOk", isPasswordOk); + g_object_set_data(G_OBJECT(vbox), "emailOk", isEmailOk); + g_object_set_data(G_OBJECT(vbox), "password_confirm", entryPassword2); + g_object_set_data(G_OBJECT(vbox), "newsletter", checkNewsletter); + g_object_set_data(G_OBJECT(vbox), "error", labelError); + g_signal_connect(G_OBJECT(entryUsername), "changed", (GCallback)linphone_account_creation_username_changed, vbox); + g_signal_connect(G_OBJECT(entryPassword), "changed", (GCallback)linphone_account_creation_password_changed, vbox); + g_signal_connect(G_OBJECT(entryEmail), "changed", (GCallback)linphone_account_creation_email_changed, vbox); + g_signal_connect(G_OBJECT(entryPassword2), "changed", (GCallback)linphone_account_creation_password_changed, vbox); return vbox; } -/* -static GtkWidget *create_confirmation_page(){ - GtkWidget *vbox=gtk_vbox_new(FALSE,2); - GtkWidget *label=gtk_label_new(NULL); - gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 2); - g_object_set_data(G_OBJECT(vbox),"label",label); - gtk_widget_show_all(vbox); - return vbox; -} -*/ - -static GtkWidget *create_error_page(){ - GtkWidget *vbox=gtk_table_new(2, 1, FALSE); - GtkWidget *label=gtk_label_new(_("Error, account not validated, username already used or server unreachable.\nPlease go back and try again.")); - - gtk_table_attach(GTK_TABLE(vbox), label, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND, 0, 100); - - g_object_set_data(G_OBJECT(vbox),"label",label); - gtk_widget_show_all(vbox); - return vbox; -} - -static GtkWidget *create_finish_page(){ - GtkWidget *vbox=gtk_vbox_new(FALSE,2); - GtkWidget *label=gtk_label_new(_("Thank you. Your account is now configured and ready for use.")); +static GtkWidget * create_linphone_account_creation_in_progress_page(void) { + GtkWidget *vbox = gtk_vbox_new(FALSE, 2); + GtkWidget *label = gtk_label_new(_("Your account is being created, please wait.")); gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 2); gtk_widget_show_all(vbox); return vbox; } -static GtkWidget *wait_for_activation() { - GtkWidget *vbox=gtk_table_new(2, 1, FALSE); - GtkWidget *label=gtk_label_new(_("Please validate your account by clicking on the link we just sent you by email.\n" - "Then come back here and press Next button.")); - +static GtkWidget * create_linphone_account_validation_wait_page(void) { + GtkWidget *vbox = gtk_table_new(2, 1, FALSE); + GtkWidget *label = gtk_label_new(_("Please validate your account by clicking on the link we just sent you by email.\n" + "Then come back here and press Next button.")); gtk_table_attach(GTK_TABLE(vbox), label, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND, 0, 100); - - g_object_set_data(G_OBJECT(vbox),"label",label); + g_object_set_data(G_OBJECT(vbox), "label", label); gtk_widget_show_all(vbox); return vbox; } -static int is_account_validated(GtkWidget *page) { - LinphoneAccountCreator *creator=linphone_gtk_assistant_get_creator(gtk_widget_get_toplevel(page)); - return linphone_account_creator_test_validation(creator); +static GtkWidget * create_linphone_account_validation_check_in_progress_page(void) { + GtkWidget *vbox = gtk_vbox_new(FALSE, 2); + GtkWidget *label = gtk_label_new(_("Checking if your account is been validated, please wait.")); + gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 2); + gtk_widget_show_all(vbox); + return vbox; } -static void linphone_gtk_assistant_closed(GtkWidget *w){ - linphone_gtk_close_assistant(); +static GtkWidget * create_error_page(void) { + GtkWidget *vbox = gtk_table_new(2, 1, FALSE); + GtkWidget *label = gtk_label_new(_("Error, account not validated, username already used or server unreachable.\nPlease go back and try again.")); + gtk_table_attach(GTK_TABLE(vbox), label, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND, 0, 100); + g_object_set_data(G_OBJECT(vbox), "label", label); + gtk_widget_show_all(vbox); + return vbox; } -static void linphone_gtk_assistant_prepare(GtkWidget *assistant, GtkWidget *page){ - int pagenum=gtk_assistant_get_current_page(GTK_ASSISTANT(assistant)); - - if (pagenum == 5) { - gtk_assistant_commit(GTK_ASSISTANT(assistant)); - } else if (pagenum == gtk_assistant_get_n_pages(GTK_ASSISTANT(assistant)) - 1) { - LinphoneAddress *identity; - LinphoneAuthInfo *info; - // Saving the account and making it default - LinphoneAccountCreator *creator=linphone_gtk_assistant_get_creator(assistant); - LinphoneProxyConfig *cfg=linphone_proxy_config_new(); - linphone_proxy_config_set_identity(cfg, creator->username); - linphone_proxy_config_set_server_addr(cfg, creator->domain); - linphone_proxy_config_set_route(cfg, creator->route); - linphone_proxy_config_set_expires(cfg, 3600); - linphone_proxy_config_enable_publish(cfg, FALSE); - linphone_proxy_config_enable_register(cfg, TRUE); - - identity = linphone_address_new(creator->username); - info=linphone_auth_info_new(linphone_address_get_username(identity), NULL, creator->password, NULL, NULL, linphone_address_get_domain(identity)); - linphone_core_add_auth_info(linphone_gtk_get_core(),info); - linphone_address_destroy(identity); - - if (strcmp(creator->domain, "sip:sip.linphone.org") == 0) { - linphone_proxy_config_enable_avpf(cfg,TRUE); - // If account created on sip.linphone.org, we configure linphone to use TLS by default - if (linphone_core_sip_transport_supported(linphone_gtk_get_core(),LinphoneTransportTls)) { - LinphoneAddress *addr=linphone_address_new(creator->domain); - char *tmp; - linphone_address_set_transport(addr, LinphoneTransportTls); - tmp=linphone_address_as_string(addr); - linphone_proxy_config_set_server_addr(cfg,tmp); - linphone_proxy_config_set_route(cfg,tmp); - ms_free(tmp); - linphone_address_destroy(addr); - } - linphone_core_set_stun_server(linphone_gtk_get_core(), "stun.linphone.org"); - linphone_core_set_firewall_policy(linphone_gtk_get_core(), LinphonePolicyUseIce); - } - - if (linphone_core_add_proxy_config(linphone_gtk_get_core(),cfg)==-1) - return; - - linphone_core_set_default_proxy(linphone_gtk_get_core(),cfg); - linphone_gtk_load_identities(); - - - } +static GtkWidget * create_finish_page(void) { + GtkWidget *vbox = gtk_vbox_new(FALSE, 2); + GtkWidget *label = gtk_label_new(_("Thank you. Your account is now configured and ready for use.")); + gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 2); + gtk_widget_show_all(vbox); + return vbox; } -static gint destroy_assistant(GtkWidget* w){ - gtk_widget_destroy(w); - the_assistant = NULL; - return FALSE; -} - -static int linphone_gtk_assistant_forward(int curpage, gpointer data){ - GtkWidget *w=(GtkWidget*)data; - GtkWidget *box=gtk_assistant_get_nth_page(GTK_ASSISTANT(w),curpage); - if (curpage==1){ - GtkWidget *create_button=(GtkWidget*)g_object_get_data(G_OBJECT(box),"create_account"); - GtkWidget *setup_linphone_account=(GtkWidget*)g_object_get_data(G_OBJECT(box),"setup_linphone_account"); - GtkWidget *setup_account=(GtkWidget*)g_object_get_data(G_OBJECT(box),"setup_account"); - GtkWidget *config_uri=(GtkWidget*)g_object_get_data(G_OBJECT(box),"config-uri"); - - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(create_button))) { - curpage += 3; // Going to P33 - } - else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(setup_linphone_account))) { - curpage += 2; // Going to P32 - } - else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(setup_account))) { - curpage += 1; // Going to P31 - } - else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(config_uri))) { - /*destroy the assistant and popup config-uri dialog*/ - gtk_widget_hide(w); - linphone_gtk_set_configuration_uri(); - curpage=0; - g_idle_add((GSourceFunc)destroy_assistant,w); - } - } - else if (curpage == 2) { // Account's informations entered - LinphoneAccountCreator *c=linphone_gtk_assistant_get_creator(w); - gchar identity[128]; - gchar proxy[128]; - g_snprintf(identity, sizeof(identity), "sip:%s@%s", gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box),"username"))), gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box),"domain")))); - - g_snprintf(proxy, sizeof(proxy), "sip:%s", gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box),"domain")))); - - linphone_account_creator_set_username(c, identity); - linphone_account_creator_set_domain(c, proxy); - linphone_account_creator_set_route(c, gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box),"proxy")))); - linphone_account_creator_set_password(c,gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box),"password")))); - curpage = gtk_assistant_get_n_pages(GTK_ASSISTANT(w)) - 1; // Going to the last page - } - else if (curpage == 3) { // Linphone Account's informations entered - LinphoneAccountCreator *c=linphone_gtk_assistant_get_creator(w); - gchar identity[128]; - g_snprintf(identity, sizeof(identity), "sip:%s@sip.linphone.org", gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box),"username")))); - linphone_account_creator_set_username(c, identity); - linphone_account_creator_set_domain(c, "sip:sip.linphone.org"); - linphone_account_creator_set_password(c,gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box),"password")))); - curpage = gtk_assistant_get_n_pages(GTK_ASSISTANT(w)) - 1; // Going to the last page - } - else if (curpage == 4) { // Password & Email entered - LinphoneAccountCreator *c=linphone_gtk_assistant_get_creator(w); - linphone_account_creator_set_username(c, gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box),"username")))); - linphone_account_creator_set_password(c,gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box),"password")))); - linphone_account_creator_set_email(c,gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box),"email")))); - linphone_account_creator_set_suscribe(c,gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_object_get_data(G_OBJECT(box),"newsletter")))); - if (create_account(w) == 1) { - curpage += 1; - } else { // Error when attempting to create the account - curpage += 2; - } - } - else if (curpage == 5) { // Waiting for account validation - if (is_account_validated(w) == 1) { - curpage += 2; // Going to the last page - } else { - curpage += 1; - } - } - else { - curpage += 1; - } - return curpage; -} - -static LinphoneAccountCreator * linphone_gtk_assistant_init(GtkWidget *w){ - const MSList *elem; - LinphoneCore *lc=linphone_gtk_get_core(); - for(elem=linphone_core_get_sip_setups(lc);elem!=NULL;elem=elem->next){ - SipSetup *ss=(SipSetup*)elem->data; - if (sip_setup_get_capabilities(ss) & SIP_SETUP_CAP_ACCOUNT_MANAGER){ - LinphoneAccountCreator *creator=linphone_account_creator_new(lc,ss->name); - g_object_set_data(G_OBJECT(w),"creator",creator); - return creator; - } - } - return NULL; -} - -static LinphoneAccountCreator *linphone_gtk_assistant_get_creator(GtkWidget*w){ - return (LinphoneAccountCreator*)g_object_get_data(G_OBJECT(w),"creator"); -} - -void linphone_gtk_close_assistant(void){ - if(the_assistant==NULL) - return; - gtk_widget_destroy(the_assistant); - the_assistant = NULL; -} - -void linphone_gtk_show_assistant(void){ +void linphone_gtk_show_assistant(GtkWidget *parent) { GtkWidget *w; - GtkWidget *p1; - GtkWidget *p2; - GtkWidget *p31; - GtkWidget *p32; - GtkWidget *p33; - //GtkWidget *confirm; - GtkWidget *validate; - GtkWidget *error; - GtkWidget *end; - GdkPixbuf *ok; - GdkPixbuf *notok; - if(the_assistant!=NULL) - return; - w=the_assistant=gtk_assistant_new(); + GtkWidget *page_0_intro; + GtkWidget *page_1_choice; + GtkWidget *page_2_external_account_configuration; + GtkWidget *page_3_linphone_account_configuration; + GtkWidget *page_4_linphone_account_creation_configuration; + GtkWidget *page_5_linphone_account_creation_in_progress; + GtkWidget *page_6_linphone_account_validation_wait; + GtkWidget *page_7_linphone_account_validation_check_in_progress; + GtkWidget *page_8_error; + GtkWidget *page_9_finish; + GdkPixbuf *ok_pixbuf; + GdkPixbuf *nok_pixbuf; + + if (the_assistant != NULL) return; + + w = the_assistant = gtk_assistant_new(); gtk_window_set_resizable (GTK_WINDOW(w), FALSE); - gtk_window_set_title(GTK_WINDOW(w),_("SIP account configuration assistant")); + gtk_window_set_title(GTK_WINDOW(w), _("SIP account configuration assistant")); - ok = create_pixbuf(linphone_gtk_get_ui_config("ok","ok.png")); - g_object_set_data_full(G_OBJECT(the_assistant), "ok", ok, g_object_unref); - notok = create_pixbuf(linphone_gtk_get_ui_config("notok","notok.png")); - g_object_set_data_full(G_OBJECT(the_assistant), "notok", notok, g_object_unref); + ok_pixbuf = create_pixbuf(linphone_gtk_get_ui_config("ok", "ok.png")); + g_object_set_data_full(G_OBJECT(the_assistant), "ok_pixbuf", ok_pixbuf, g_object_unref); + nok_pixbuf = create_pixbuf(linphone_gtk_get_ui_config("notok", "notok.png")); + g_object_set_data_full(G_OBJECT(the_assistant), "nok_pixbuf", nok_pixbuf, g_object_unref); - p1=create_intro(); - p2=create_setup_signin_choice(); - p31=create_account_informations_page(); - p32=create_linphone_account_informations_page(); - p33=create_account_information_page(); - //confirm=create_confirmation_page(); - validate=wait_for_activation(); - error=create_error_page(); - end=create_finish_page(); + page_0_intro = create_intro_page(); + page_1_choice = create_choice_page(); + page_2_external_account_configuration = create_external_account_configuration_page(); + page_3_linphone_account_configuration = create_linphone_account_configuration_page(); + page_4_linphone_account_creation_configuration = create_linphone_account_creation_configuration_page(); + page_5_linphone_account_creation_in_progress = create_linphone_account_creation_in_progress_page(); + page_6_linphone_account_validation_wait = create_linphone_account_validation_wait_page(); + page_7_linphone_account_validation_check_in_progress = create_linphone_account_validation_check_in_progress_page(); + page_8_error = create_error_page(); + page_9_finish = create_finish_page(); linphone_gtk_assistant_init(w); - gtk_assistant_append_page(GTK_ASSISTANT(w),p1); - gtk_assistant_set_page_type(GTK_ASSISTANT(w),p1,GTK_ASSISTANT_PAGE_INTRO); - gtk_assistant_set_page_title(GTK_ASSISTANT(w),p1,_("Welcome to the account setup assistant")); - gtk_assistant_set_page_complete(GTK_ASSISTANT(w),p1,TRUE); - gtk_assistant_append_page(GTK_ASSISTANT(w),p2); - gtk_assistant_set_page_type(GTK_ASSISTANT(w),p2,GTK_ASSISTANT_PAGE_CONTENT); - gtk_assistant_set_page_title(GTK_ASSISTANT(w),p2,_("Account setup assistant")); - gtk_assistant_set_page_complete(GTK_ASSISTANT(w),p2,TRUE); + gtk_assistant_append_page(GTK_ASSISTANT(w), page_0_intro); + gtk_assistant_set_page_type(GTK_ASSISTANT(w), page_0_intro, GTK_ASSISTANT_PAGE_INTRO); + gtk_assistant_set_page_title(GTK_ASSISTANT(w), page_0_intro, _("Welcome to the account setup assistant")); + gtk_assistant_set_page_complete(GTK_ASSISTANT(w), page_0_intro, TRUE); - gtk_assistant_append_page(GTK_ASSISTANT(w),p31); - gtk_assistant_set_page_type(GTK_ASSISTANT(w),p31,GTK_ASSISTANT_PAGE_CONFIRM); - gtk_assistant_set_page_complete(GTK_ASSISTANT(w),p31,FALSE); - gtk_assistant_set_page_title(GTK_ASSISTANT(w),p31,_("Configure your account (step 1/1)")); + gtk_assistant_append_page(GTK_ASSISTANT(w), page_1_choice); + gtk_assistant_set_page_type(GTK_ASSISTANT(w), page_1_choice, GTK_ASSISTANT_PAGE_CONTENT); + gtk_assistant_set_page_title(GTK_ASSISTANT(w), page_1_choice, _("Account setup assistant")); + gtk_assistant_set_page_complete(GTK_ASSISTANT(w), page_1_choice, TRUE); - gtk_assistant_append_page(GTK_ASSISTANT(w),p32); - gtk_assistant_set_page_type(GTK_ASSISTANT(w),p32,GTK_ASSISTANT_PAGE_CONFIRM); - gtk_assistant_set_page_complete(GTK_ASSISTANT(w),p32,FALSE); - gtk_assistant_set_page_title(GTK_ASSISTANT(w),p32,_("Enter your sip username (step 1/1)")); + gtk_assistant_append_page(GTK_ASSISTANT(w), page_2_external_account_configuration); + gtk_assistant_set_page_type(GTK_ASSISTANT(w), page_2_external_account_configuration, GTK_ASSISTANT_PAGE_CONFIRM); + gtk_assistant_set_page_title(GTK_ASSISTANT(w), page_2_external_account_configuration, _("Configure your account (step 1/1)")); - gtk_assistant_append_page(GTK_ASSISTANT(w),p33); - gtk_assistant_set_page_type(GTK_ASSISTANT(w),p33,GTK_ASSISTANT_PAGE_CONFIRM); - gtk_assistant_set_page_title(GTK_ASSISTANT(w),p33,_("Enter account information (step 1/2)")); + gtk_assistant_append_page(GTK_ASSISTANT(w), page_3_linphone_account_configuration); + gtk_assistant_set_page_type(GTK_ASSISTANT(w), page_3_linphone_account_configuration, GTK_ASSISTANT_PAGE_CONFIRM); + gtk_assistant_set_page_title(GTK_ASSISTANT(w), page_3_linphone_account_configuration, _("Enter your sip username (step 1/1)")); - /*gtk_assistant_append_page(GTK_ASSISTANT(w),confirm); - gtk_assistant_set_page_type(GTK_ASSISTANT(w),confirm,GTK_ASSISTANT_PAGE_CONFIRM); - gtk_assistant_set_page_title(GTK_ASSISTANT(w),confirm,_("Confirmation (step 2/2)")); - gtk_assistant_set_page_complete(GTK_ASSISTANT(w),confirm,TRUE);*/ + gtk_assistant_append_page(GTK_ASSISTANT(w), page_4_linphone_account_creation_configuration); + gtk_assistant_set_page_type(GTK_ASSISTANT(w), page_4_linphone_account_creation_configuration, GTK_ASSISTANT_PAGE_CONFIRM); + gtk_assistant_set_page_title(GTK_ASSISTANT(w), page_4_linphone_account_creation_configuration, _("Enter account information (step 1/2)")); - gtk_assistant_append_page(GTK_ASSISTANT(w),validate); - gtk_assistant_set_page_type(GTK_ASSISTANT(w),validate,GTK_ASSISTANT_PAGE_CONTENT); - gtk_assistant_set_page_title(GTK_ASSISTANT(w),validate,_("Validation (step 2/2)")); - gtk_assistant_set_page_complete(GTK_ASSISTANT(w),validate,TRUE); + gtk_assistant_append_page(GTK_ASSISTANT(w), page_5_linphone_account_creation_in_progress); + gtk_assistant_set_page_type(GTK_ASSISTANT(w), page_5_linphone_account_creation_in_progress, GTK_ASSISTANT_PAGE_PROGRESS); + gtk_assistant_set_page_title(GTK_ASSISTANT(w), page_5_linphone_account_creation_in_progress, _("Account creation in progress")); - gtk_assistant_append_page(GTK_ASSISTANT(w),error); - gtk_assistant_set_page_type(GTK_ASSISTANT(w),error,GTK_ASSISTANT_PAGE_CONTENT); - gtk_assistant_set_page_title(GTK_ASSISTANT(w),error,_("Error")); + gtk_assistant_append_page(GTK_ASSISTANT(w), page_6_linphone_account_validation_wait); + gtk_assistant_set_page_type(GTK_ASSISTANT(w), page_6_linphone_account_validation_wait, GTK_ASSISTANT_PAGE_CONTENT); + gtk_assistant_set_page_title(GTK_ASSISTANT(w), page_6_linphone_account_validation_wait, _("Validation (step 2/2)")); + gtk_assistant_set_page_complete(GTK_ASSISTANT(w), page_6_linphone_account_validation_wait, TRUE); - gtk_assistant_append_page(GTK_ASSISTANT(w),end); - gtk_assistant_set_page_type(GTK_ASSISTANT(w),end,GTK_ASSISTANT_PAGE_SUMMARY); - gtk_assistant_set_page_title(GTK_ASSISTANT(w),end,_("Terminating")); + gtk_assistant_append_page(GTK_ASSISTANT(w), page_7_linphone_account_validation_check_in_progress); + gtk_assistant_set_page_type(GTK_ASSISTANT(w), page_7_linphone_account_validation_check_in_progress, GTK_ASSISTANT_PAGE_PROGRESS); + gtk_assistant_set_page_title(GTK_ASSISTANT(w), page_7_linphone_account_validation_check_in_progress, _("Account validation check in progress")); - gtk_assistant_set_forward_page_func(GTK_ASSISTANT(w),linphone_gtk_assistant_forward,w,NULL); - g_signal_connect(G_OBJECT(w),"close",(GCallback)linphone_gtk_assistant_closed,NULL); - g_signal_connect(G_OBJECT(w),"cancel",(GCallback)linphone_gtk_assistant_closed,NULL); - g_signal_connect(G_OBJECT(w),"prepare",(GCallback)linphone_gtk_assistant_prepare,NULL); + gtk_assistant_append_page(GTK_ASSISTANT(w), page_8_error); + gtk_assistant_set_page_type(GTK_ASSISTANT(w), page_8_error, GTK_ASSISTANT_PAGE_CONTENT); + gtk_assistant_set_page_title(GTK_ASSISTANT(w), page_8_error, _("Error")); + + gtk_assistant_append_page(GTK_ASSISTANT(w), page_9_finish); + gtk_assistant_set_page_type(GTK_ASSISTANT(w), page_9_finish, GTK_ASSISTANT_PAGE_SUMMARY); + gtk_assistant_set_page_title(GTK_ASSISTANT(w), page_9_finish, _("Terminating")); + + gtk_assistant_set_forward_page_func(GTK_ASSISTANT(w), linphone_gtk_assistant_forward, w, NULL); + g_signal_connect(G_OBJECT(w), "close", (GCallback)linphone_gtk_assistant_closed, NULL); + g_signal_connect(G_OBJECT(w), "cancel", (GCallback)linphone_gtk_assistant_closed, NULL); + g_signal_connect(G_OBJECT(w), "prepare", (GCallback)linphone_gtk_assistant_prepare, NULL); + + gtk_window_set_transient_for(GTK_WINDOW(the_assistant), GTK_WINDOW(linphone_gtk_get_main_window())); gtk_widget_show(w); } +void linphone_gtk_close_assistant(void) { + if (the_assistant == NULL) return; + gtk_widget_destroy(the_assistant); + the_assistant = NULL; +} From 1dee00dd5a41efe4e53a05df7a13ca997e14911a Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Fri, 5 Jun 2015 16:22:28 +0200 Subject: [PATCH 12/18] Add documentation for account creator. --- coreapi/account_creator.c | 8 +- coreapi/account_creator.h | 160 ++++++++++++++++++++++++++++++++++---- coreapi/xmlrpc.h | 5 ++ gtk/setupwizard.c | 1 + 4 files changed, 155 insertions(+), 19 deletions(-) diff --git a/coreapi/account_creator.c b/coreapi/account_creator.c index 800403cab..991b612fb 100644 --- a/coreapi/account_creator.c +++ b/coreapi/account_creator.c @@ -35,7 +35,7 @@ struct _LinphoneAccountCreator { char *domain; char *route; char *email; - int subscribe; + bool_t subscribe; }; LinphoneAccountCreator * linphone_account_creator_new(LinphoneCore *core, const char *xmlrpc_url) { @@ -85,11 +85,11 @@ const char * linphone_account_creator_get_email(const LinphoneAccountCreator *cr return creator->email; } -void linphone_account_creator_set_subscribe(LinphoneAccountCreator *creator, int subscribe) { +void linphone_account_creator_set_subscribe(LinphoneAccountCreator *creator, bool_t subscribe) { creator->subscribe = subscribe; } -int linphone_account_creator_get_subscribe(const LinphoneAccountCreator *creator) { +bool_t linphone_account_creator_get_subscribe(const LinphoneAccountCreator *creator) { return creator->subscribe; } @@ -190,7 +190,7 @@ LinphoneAccountCreatorStatus linphone_account_creator_validate(LinphoneAccountCr LinphoneXmlRpcArgString, identity, LinphoneXmlRpcArgString, creator->password, LinphoneXmlRpcArgString, creator->email, - LinphoneXmlRpcArgInt, creator->subscribe, + LinphoneXmlRpcArgInt, (creator->subscribe == TRUE) ? 1 : 0, LinphoneXmlRpcArgNone); linphone_xml_rpc_session_send_request(creator->xmlrpc_session, request); linphone_xml_rpc_request_unref(request); diff --git a/coreapi/account_creator.h b/coreapi/account_creator.h index f4c5faef2..953422f1d 100644 --- a/coreapi/account_creator.h +++ b/coreapi/account_creator.h @@ -31,39 +31,169 @@ extern "C" { * @{ */ -enum _LinphoneAccountCreatorStatus { +/** +* Enum describing the status of a LinphoneAccountCreator operation. +**/ +typedef enum _LinphoneAccountCreatorStatus { LinphoneAccountCreatorOk, LinphoneAccountCreatorFailed -}; - -typedef enum _LinphoneAccountCreatorStatus LinphoneAccountCreatorStatus; +} LinphoneAccountCreatorStatus; +/** + * The LinphoneAccountCreator object used to create an account on a server via XML-RPC. +**/ typedef struct _LinphoneAccountCreator LinphoneAccountCreator; +/** + * Callback used to notify the end of a LinphoneAccountCreator operation. + * @param[in] creator LinphoneAccountCreator object + * @param[in] status The status of the LinphoneAccountCreator operation that has just finished + * @param user_data A user data given when setting the callback. +**/ typedef void (*LinphoneAccountCreatorCb)(LinphoneAccountCreator *creator, LinphoneAccountCreatorStatus status, void *user_data); +/** + * Create a LinphoneAccountCreator. + * @param[in] core The LinphoneCore used for the XML-RPC communication + * @param[in] xmlrpc_url The URL to the XML-RPC server + * @return The new LinphoneAccountCreator object +**/ LINPHONE_PUBLIC LinphoneAccountCreator * linphone_account_creator_new(LinphoneCore *core, const char *xmlrpc_url); + +/** + * Destroy a LinphoneAccountCreator. + * @param[in] creator LinphoneAccountCreator object + * @param +**/ LINPHONE_PUBLIC void linphone_account_creator_destroy(LinphoneAccountCreator *creator); +/** + * Set the username. + * @param[in] creator LinphoneAccountCreator object + * @param[in] username The username to set +**/ LINPHONE_PUBLIC void linphone_account_creator_set_username(LinphoneAccountCreator *creator, const char *username); -LINPHONE_PUBLIC const char * linphone_account_creator_get_username(const LinphoneAccountCreator *creator); -LINPHONE_PUBLIC void linphone_account_creator_set_password(LinphoneAccountCreator *creator, const char *password); -LINPHONE_PUBLIC const char * linphone_account_creator_get_password(const LinphoneAccountCreator *creator); -LINPHONE_PUBLIC void linphone_account_creator_set_domain(LinphoneAccountCreator *creator, const char *domain); -LINPHONE_PUBLIC const char * linphone_account_creator_get_domain(const LinphoneAccountCreator *creator); -LINPHONE_PUBLIC void linphone_account_creator_set_route(LinphoneAccountCreator *creator, const char *route); -LINPHONE_PUBLIC const char * linphone_account_creator_get_route(const LinphoneAccountCreator *creator); -LINPHONE_PUBLIC void linphone_account_creator_set_email(LinphoneAccountCreator *creator, const char *email); -LINPHONE_PUBLIC const char * linphone_account_creator_get_email(const LinphoneAccountCreator *creator); -LINPHONE_PUBLIC void linphone_account_creator_set_subscribe(LinphoneAccountCreator *creator, int suscribre); -LINPHONE_PUBLIC int linphone_account_creator_get_subscribe(const LinphoneAccountCreator *creator); +/** + * Get the username. + * @param[in] creator LinphoneAccountCreator object + * @return The username of the LinphoneAccountCreator +**/ +LINPHONE_PUBLIC const char * linphone_account_creator_get_username(const LinphoneAccountCreator *creator); + +/** + * Set the password. + * @param[in] creator LinphoneAccountCreator object + * @param[in] password The password to set +**/ +LINPHONE_PUBLIC void linphone_account_creator_set_password(LinphoneAccountCreator *creator, const char *password); + +/** + * Get the password. + * @param[in] creator LinphoneAccountCreator object + * @return The password of the LinphoneAccountCreator +**/ +LINPHONE_PUBLIC const char * linphone_account_creator_get_password(const LinphoneAccountCreator *creator); + +/** + * Set the domain. + * @param[in] creator LinphoneAccountCreator object + * @param[in] domain The domain to set +**/ +LINPHONE_PUBLIC void linphone_account_creator_set_domain(LinphoneAccountCreator *creator, const char *domain); + +/** + * Get the domain. + * @param[in] creator LinphoneAccountCreator object + * @return The domain of the LinphoneAccountCreator +**/ +LINPHONE_PUBLIC const char * linphone_account_creator_get_domain(const LinphoneAccountCreator *creator); + +/** + * Set the route. + * @param[in] creator LinphoneAccountCreator object + * @param[in] route The route to set +**/ +LINPHONE_PUBLIC void linphone_account_creator_set_route(LinphoneAccountCreator *creator, const char *route); + +/** + * Get the route. + * @param[in] creator LinphoneAccountCreator object + * @return The route of the LinphoneAccountCreator +**/ +LINPHONE_PUBLIC const char * linphone_account_creator_get_route(const LinphoneAccountCreator *creator); + +/** + * Set the email. + * @param[in] creator LinphoneAccountCreator object + * @param[in] email The email to set +**/ +LINPHONE_PUBLIC void linphone_account_creator_set_email(LinphoneAccountCreator *creator, const char *email); + +/** + * Get the email. + * @param[in] creator LinphoneAccountCreator object + * @return The email of the LinphoneAccountCreator +**/ +LINPHONE_PUBLIC const char * linphone_account_creator_get_email(const LinphoneAccountCreator *creator); + +/** + * Set the subscribe (to the newsletter) field. + * @param[in] creator LinphoneAccountCreator object + * @param[in] subscribe A boolean telling whether to subscribe to the newsletter or not. +**/ +LINPHONE_PUBLIC void linphone_account_creator_set_subscribe(LinphoneAccountCreator *creator, bool_t subscribe); + +/** + * Get the subscribe (to the newsletter) field. + * @param[in] creator LinphoneAccountCreator object + * @return A boolean telling whether to subscribe to the newsletter or not. +**/ +LINPHONE_PUBLIC bool_t linphone_account_creator_get_subscribe(const LinphoneAccountCreator *creator); + +/** + * Set the callback called when the account existence test is finished. + * @param[in] creator LinphoneAccountCreator object + * @param[in] cb The callback called when the account existence test is finished + * @param[in] user_data The user data passed to the callback +**/ LINPHONE_PUBLIC void linphone_account_creator_set_test_existence_cb(LinphoneAccountCreator *creator, LinphoneAccountCreatorCb cb, void *user_data); + +/** + * Set the callback called when the account validation test is finished. + * @param[in] creator LinphoneAccountCreator object + * @param[in] cb The callback called when the account validation test is finished + * @param[in] user_data The user data passed to the callback +**/ LINPHONE_PUBLIC void linphone_account_creator_set_test_validation_cb(LinphoneAccountCreator *creator, LinphoneAccountCreatorCb cb, void *user_data); + +/** + * Set the callback called when the account creation is finished. + * @param[in] creator LinphoneAccountCreator object + * @param[in] cb The callback called when the account creation is finished + * @param[in] user_data The user data passed to the callback +**/ LINPHONE_PUBLIC void linphone_account_creator_set_validate_cb(LinphoneAccountCreator *creator, LinphoneAccountCreatorCb cb, void *user_data); +/** + * Send an XML-RPC request to test the existence of a Linphone account. + * @param[in] creator LinphoneAccountCreator object + * @return LinphoneAccountCreatorOk if the request has been sent, LinphoneAccountCreatorFailed otherwise +**/ LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_test_existence(LinphoneAccountCreator *creator); + +/** + * Send an XML-RPC request to test the validation of a Linphone account. + * @param[in] creator LinphoneAccountCreator object + * @return LinphoneAccountCreatorOk if the request has been sent, LinphoneAccountCreatorFailed otherwise +**/ LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_test_validation(LinphoneAccountCreator *creator); + +/** + * Send an XML-RPC request to create a Linphone account. + * @param[in] creator LinphoneAccountCreator object + * @return LinphoneAccountCreatorOk if the request has been sent, LinphoneAccountCreatorFailed otherwise +**/ LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_validate(LinphoneAccountCreator *creator); /** diff --git a/coreapi/xmlrpc.h b/coreapi/xmlrpc.h index de099b3fb..ce3dfe5bb 100644 --- a/coreapi/xmlrpc.h +++ b/coreapi/xmlrpc.h @@ -59,6 +59,11 @@ typedef struct _LinphoneXmlRpcRequest LinphoneXmlRpcRequest; **/ typedef struct _LinphoneXmlRpcSession LinphoneXmlRpcSession; +/** + * Callback used to notify the response to an XML-RPC request. + * @param[in] request LinphoneXmlRpcRequest object + * @param[in] user_data A user data given when setting the callback upon creation of the XML-RPC request. +**/ typedef void (*LinphoneXmlRpcResponseCb)(LinphoneXmlRpcRequest *request, void *user_data); diff --git a/gtk/setupwizard.c b/gtk/setupwizard.c index 0de93a957..a2ff13281 100644 --- a/gtk/setupwizard.c +++ b/gtk/setupwizard.c @@ -98,6 +98,7 @@ static void linphone_gtk_assistant_prepare(GtkWidget *assistant, GtkWidget *page linphone_proxy_config_set_route(cfg, linphone_account_creator_get_route(creator)); linphone_proxy_config_enable_publish(cfg, FALSE); linphone_proxy_config_enable_register(cfg, TRUE); + ms_free(identity_str); if (strcmp(linphone_account_creator_get_domain(creator), "sip.linphone.org") == 0) { linphone_proxy_config_enable_avpf(cfg,TRUE); From e9abeb45013ff883f9acc9496c0c56eb1254e82f Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Mon, 8 Jun 2015 09:46:01 +0200 Subject: [PATCH 13/18] Improve API of linphone account creator. --- coreapi/account_creator.c | 59 +++++++++++++++++++++++++++++++++++---- coreapi/account_creator.h | 15 +++++++--- coreapi/linphonecore.h | 9 ++++-- gtk/setupwizard.c | 48 ++++--------------------------- 4 files changed, 76 insertions(+), 55 deletions(-) diff --git a/coreapi/account_creator.c b/coreapi/account_creator.c index 991b612fb..3ae286dbb 100644 --- a/coreapi/account_creator.c +++ b/coreapi/account_creator.c @@ -26,6 +26,7 @@ struct _LinphoneAccountCreator { LinphoneAccountCreatorCb existence_test_cb; LinphoneAccountCreatorCb validation_test_cb; LinphoneAccountCreatorCb validate_cb; + LinphoneCore *core; void *existence_test_cb_ud; void *validation_test_cb_ud; void *validate_cb_ud; @@ -35,12 +36,13 @@ struct _LinphoneAccountCreator { char *domain; char *route; char *email; - bool_t subscribe; + bool_t subscribe_to_newsletter; }; LinphoneAccountCreator * linphone_account_creator_new(LinphoneCore *core, const char *xmlrpc_url) { LinphoneAccountCreator *creator; creator = ms_new0(LinphoneAccountCreator, 1); + creator->core = core; creator->xmlrpc_session = linphone_xml_rpc_session_new(core, xmlrpc_url); return creator; } @@ -85,12 +87,12 @@ const char * linphone_account_creator_get_email(const LinphoneAccountCreator *cr return creator->email; } -void linphone_account_creator_set_subscribe(LinphoneAccountCreator *creator, bool_t subscribe) { - creator->subscribe = subscribe; +void linphone_account_creator_enable_newsletter_subscription(LinphoneAccountCreator *creator, bool_t subscribe) { + creator->subscribe_to_newsletter = subscribe; } -bool_t linphone_account_creator_get_subscribe(const LinphoneAccountCreator *creator) { - return creator->subscribe; +bool_t linphone_account_creator_newsletter_subscription_enabled(const LinphoneAccountCreator *creator) { + return creator->subscribe_to_newsletter; } void linphone_account_creator_set_test_existence_cb(LinphoneAccountCreator *creator, LinphoneAccountCreatorCb cb, void *user_data) { @@ -190,7 +192,7 @@ LinphoneAccountCreatorStatus linphone_account_creator_validate(LinphoneAccountCr LinphoneXmlRpcArgString, identity, LinphoneXmlRpcArgString, creator->password, LinphoneXmlRpcArgString, creator->email, - LinphoneXmlRpcArgInt, (creator->subscribe == TRUE) ? 1 : 0, + LinphoneXmlRpcArgInt, (creator->subscribe_to_newsletter == TRUE) ? 1 : 0, LinphoneXmlRpcArgNone); linphone_xml_rpc_session_send_request(creator->xmlrpc_session, request); linphone_xml_rpc_request_unref(request); @@ -198,6 +200,51 @@ LinphoneAccountCreatorStatus linphone_account_creator_validate(LinphoneAccountCr return LinphoneAccountCreatorOk; } +LinphoneProxyConfig * linphone_account_creator_configure(const LinphoneAccountCreator *creator) { + LinphoneAddress *identity; + LinphoneAuthInfo *info; + LinphoneProxyConfig *cfg = linphone_core_create_proxy_config(creator->core); + char *identity_str = ms_strdup_printf("sip:%s@%s", creator->username, creator->domain); + + linphone_proxy_config_set_identity(cfg, identity_str); + linphone_proxy_config_set_server_addr(cfg, creator->domain); + linphone_proxy_config_set_route(cfg, creator->route); + linphone_proxy_config_enable_publish(cfg, FALSE); + linphone_proxy_config_enable_register(cfg, TRUE); + ms_free(identity_str); + + if (strcmp(creator->domain, "sip.linphone.org") == 0) { + linphone_proxy_config_enable_avpf(cfg, TRUE); + // If account created on sip.linphone.org, we configure linphone to use TLS by default + if (linphone_core_sip_transport_supported(creator->core, LinphoneTransportTls)) { + LinphoneAddress *addr = linphone_address_new(linphone_proxy_config_get_server_addr(cfg)); + char *tmp; + linphone_address_set_transport(addr, LinphoneTransportTls); + tmp = linphone_address_as_string(addr); + linphone_proxy_config_set_server_addr(cfg, tmp); + linphone_proxy_config_set_route(cfg, tmp); + ms_free(tmp); + linphone_address_destroy(addr); + } + linphone_core_set_stun_server(creator->core, "stun.linphone.org"); + linphone_core_set_firewall_policy(creator->core, LinphonePolicyUseIce); + } + + identity = linphone_address_new(linphone_proxy_config_get_identity(cfg)); + info = linphone_auth_info_new(linphone_address_get_username(identity), NULL, creator->password, NULL, NULL, linphone_address_get_domain(identity)); + linphone_core_add_auth_info(creator->core, info); + linphone_address_destroy(identity); + + if (linphone_core_add_proxy_config(creator->core, cfg) != -1) { + linphone_core_set_default_proxy(creator->core, cfg); + return cfg; + } + + linphone_core_remove_auth_info(creator->core, info); + linphone_proxy_config_unref(cfg); + return NULL; +} + void linphone_account_creator_destroy(LinphoneAccountCreator *creator){ linphone_xml_rpc_session_unref(creator->xmlrpc_session); if (creator->username) ms_free(creator->username); diff --git a/coreapi/account_creator.h b/coreapi/account_creator.h index 953422f1d..582b6d3bf 100644 --- a/coreapi/account_creator.h +++ b/coreapi/account_creator.h @@ -138,18 +138,18 @@ LINPHONE_PUBLIC void linphone_account_creator_set_email(LinphoneAccountCreator * LINPHONE_PUBLIC const char * linphone_account_creator_get_email(const LinphoneAccountCreator *creator); /** - * Set the subscribe (to the newsletter) field. + * Enable the newsletter subscription. * @param[in] creator LinphoneAccountCreator object * @param[in] subscribe A boolean telling whether to subscribe to the newsletter or not. **/ -LINPHONE_PUBLIC void linphone_account_creator_set_subscribe(LinphoneAccountCreator *creator, bool_t subscribe); +LINPHONE_PUBLIC void linphone_account_creator_enable_newsletter_subscription(LinphoneAccountCreator *creator, bool_t subscribe); /** - * Get the subscribe (to the newsletter) field. + * Tell whether to subscribe to the newsletter or not. * @param[in] creator LinphoneAccountCreator object * @return A boolean telling whether to subscribe to the newsletter or not. **/ -LINPHONE_PUBLIC bool_t linphone_account_creator_get_subscribe(const LinphoneAccountCreator *creator); +LINPHONE_PUBLIC bool_t linphone_account_creator_newsletter_subscription_enabled(const LinphoneAccountCreator *creator); /** * Set the callback called when the account existence test is finished. @@ -196,6 +196,13 @@ LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_test_valid **/ LINPHONE_PUBLIC LinphoneAccountCreatorStatus linphone_account_creator_validate(LinphoneAccountCreator *creator); +/** + * Configure an account (create a proxy config and authentication info for it). + * @param[in] creator LinphoneAccountCreator object + * @return A LinphoneProxyConfig object if successful, NULL otherwise +**/ +LINPHONE_PUBLIC LinphoneProxyConfig * linphone_account_creator_configure(const LinphoneAccountCreator *creator); + /** * @} */ diff --git a/coreapi/linphonecore.h b/coreapi/linphonecore.h index e859a9af8..caca7db74 100644 --- a/coreapi/linphonecore.h +++ b/coreapi/linphonecore.h @@ -367,7 +367,6 @@ LINPHONE_PUBLIC const char* linphone_privacy_to_string(LinphonePrivacy privacy); #ifdef IN_LINPHONE -#include "account_creator.h" #include "buffer.h" #include "call_log.h" #include "call_params.h" @@ -376,7 +375,6 @@ LINPHONE_PUBLIC const char* linphone_privacy_to_string(LinphonePrivacy privacy); #include "linphonefriend.h" #include "xmlrpc.h" #else -#include "linphone/account_creator.h" #include "linphone/buffer.h" #include "linphone/call_log.h" #include "linphone/call_params.h" @@ -1336,6 +1334,13 @@ LINPHONE_PUBLIC LinphoneAuthInfo * linphone_auth_info_new_from_config_file(LpCon */ +#ifdef IN_LINPHONE +#include "account_creator.h" +#else +#include "linphone/account_creator.h" +#endif + + struct _LinphoneChatRoom; /** * @addtogroup chatroom diff --git a/gtk/setupwizard.c b/gtk/setupwizard.c index a2ff13281..b0b644295 100644 --- a/gtk/setupwizard.c +++ b/gtk/setupwizard.c @@ -46,6 +46,7 @@ static void linphone_gtk_account_validate_cb(LinphoneAccountCreator *creator, Li // Go to page_8_error gtk_assistant_set_current_page(GTK_ASSISTANT(assistant), 8); } + gtk_assistant_commit(GTK_ASSISTANT(assistant)); } static void create_account(GtkWidget *assistant) { @@ -86,49 +87,10 @@ static void linphone_gtk_assistant_prepare(GtkWidget *assistant, GtkWidget *page check_account_validation(assistant); break; case 9: - { - LinphoneAddress *identity; - LinphoneAuthInfo *info; - LinphoneAccountCreator *creator = linphone_gtk_assistant_get_creator(assistant); - LinphoneProxyConfig *cfg = linphone_core_create_proxy_config(linphone_gtk_get_core()); - char *identity_str = ms_strdup_printf("sip:%s@%s", linphone_account_creator_get_username(creator), linphone_account_creator_get_domain(creator)); - - linphone_proxy_config_set_identity(cfg, identity_str); - linphone_proxy_config_set_server_addr(cfg, linphone_account_creator_get_domain(creator)); - linphone_proxy_config_set_route(cfg, linphone_account_creator_get_route(creator)); - linphone_proxy_config_enable_publish(cfg, FALSE); - linphone_proxy_config_enable_register(cfg, TRUE); - ms_free(identity_str); - - if (strcmp(linphone_account_creator_get_domain(creator), "sip.linphone.org") == 0) { - linphone_proxy_config_enable_avpf(cfg,TRUE); - // If account created on sip.linphone.org, we configure linphone to use TLS by default - if (linphone_core_sip_transport_supported(linphone_gtk_get_core(), LinphoneTransportTls)) { - LinphoneAddress *addr = linphone_address_new(linphone_proxy_config_get_server_addr(cfg)); - char *tmp; - linphone_address_set_transport(addr, LinphoneTransportTls); - tmp = linphone_address_as_string(addr); - linphone_proxy_config_set_server_addr(cfg, tmp); - linphone_proxy_config_set_route(cfg, tmp); - ms_free(tmp); - linphone_address_destroy(addr); - } - linphone_core_set_stun_server(linphone_gtk_get_core(), "stun.linphone.org"); - linphone_core_set_firewall_policy(linphone_gtk_get_core(), LinphonePolicyUseIce); - } - - identity = linphone_address_new(linphone_proxy_config_get_identity(cfg)); - info = linphone_auth_info_new(linphone_address_get_username(identity), NULL, - linphone_account_creator_get_password(creator), NULL, NULL, linphone_address_get_domain(identity)); - linphone_core_add_auth_info(linphone_gtk_get_core(), info); - linphone_address_destroy(identity); - - if (linphone_core_add_proxy_config(linphone_gtk_get_core(), cfg) != -1) { - linphone_core_set_default_proxy(linphone_gtk_get_core(), cfg); - linphone_gtk_load_identities(); - } - gtk_assistant_commit(GTK_ASSISTANT(assistant)); + if (linphone_account_creator_configure(linphone_gtk_assistant_get_creator(assistant)) != NULL) { + linphone_gtk_load_identities(); } + gtk_assistant_commit(GTK_ASSISTANT(assistant)); break; default: break; @@ -190,7 +152,7 @@ static int linphone_gtk_assistant_forward(int curpage, gpointer data) { linphone_account_creator_set_username(creator, gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box), "username")))); linphone_account_creator_set_password(creator, gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box), "password")))); linphone_account_creator_set_email(creator, gtk_entry_get_text(GTK_ENTRY(g_object_get_data(G_OBJECT(box), "email")))); - linphone_account_creator_set_subscribe(creator, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_object_get_data(G_OBJECT(box), "newsletter")))); + linphone_account_creator_enable_newsletter_subscription(creator, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(g_object_get_data(G_OBJECT(box), "newsletter")))); curpage = 5; // Go to page_5_linphone_account_creation_in_progress break; case 6: From 25decb74140ed5907ee2ac11db2f3852058e3665 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Mon, 8 Jun 2015 21:53:57 +0200 Subject: [PATCH 14/18] fix compilation errors --- coreapi/xmlrpc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/coreapi/xmlrpc.c b/coreapi/xmlrpc.c index 61a6566d1..ee0d441fe 100644 --- a/coreapi/xmlrpc.c +++ b/coreapi/xmlrpc.c @@ -141,7 +141,7 @@ static void parse_valid_xml_rpc_response(LinphoneXmlRpcRequest *request, const c request->status = LinphoneXmlRpcStatusFailed; xml_ctx->doc = xmlReadDoc((const unsigned char*)response_body, 0, NULL, 0); if (xml_ctx->doc != NULL) { - const char *response_str; + const char *response_str = NULL; if (linphone_create_xml_xpath_context(xml_ctx) < 0) goto end; switch (request->response.type) { case LinphoneXmlRpcArgInt: @@ -161,7 +161,7 @@ static void parse_valid_xml_rpc_response(LinphoneXmlRpcRequest *request, const c default: break; } - linphone_free_xml_text_content(response_str); + if (response_str) linphone_free_xml_text_content(response_str); } else { ms_warning("Wrongly formatted XML-RPC response: %s", xml_ctx->errorBuffer); } @@ -262,7 +262,7 @@ LinphoneXmlRpcRequest * linphone_xml_rpc_request_new_with_args(const char *metho va_list args; LinphoneXmlRpcArgType arg_type; LinphoneXmlRpcRequest *request = _linphone_xml_rpc_request_new(method, return_type, cb, user_data); - va_start(args, cb); + va_start(args, user_data); while (cont) { arg_type = va_arg(args, LinphoneXmlRpcArgType); switch (arg_type) { From 8707d201612c6c8ffe948d2beae6294df8328ce4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?= Date: Tue, 9 Jun 2015 11:28:01 +0200 Subject: [PATCH 15/18] Fix build issue --- gtk/setupwizard.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gtk/setupwizard.c b/gtk/setupwizard.c index b0b644295..e531ac6b5 100644 --- a/gtk/setupwizard.c +++ b/gtk/setupwizard.c @@ -532,7 +532,7 @@ static GtkWidget * create_finish_page(void) { return vbox; } -void linphone_gtk_show_assistant(GtkWidget *parent) { +void linphone_gtk_show_assistant(void) { GtkWidget *w; GtkWidget *page_0_intro; GtkWidget *page_1_choice; From 8f03136a63423b99c3d9ffb732af3333251b7538 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?= Date: Tue, 9 Jun 2015 12:19:57 +0200 Subject: [PATCH 16/18] Update translations --- po/ar.po | 308 +++++++++++++++++++++++--------------------- po/cs.po | 306 ++++++++++++++++++++++--------------------- po/de.po | 363 +++++++++++++++++++++++++++------------------------- po/es.po | 306 ++++++++++++++++++++++--------------------- po/fr.po | 310 +++++++++++++++++++++++--------------------- po/he.po | 310 +++++++++++++++++++++++--------------------- po/hu.po | 306 ++++++++++++++++++++++--------------------- po/it.po | 306 ++++++++++++++++++++++--------------------- po/ja.po | 304 +++++++++++++++++++++++-------------------- po/nb_NO.po | 306 ++++++++++++++++++++++--------------------- po/nl.po | 306 ++++++++++++++++++++++--------------------- po/pl.po | 306 ++++++++++++++++++++++--------------------- po/pt_BR.po | 306 ++++++++++++++++++++++--------------------- po/ru.po | 314 ++++++++++++++++++++++++--------------------- po/sr.po | 306 ++++++++++++++++++++++--------------------- po/sv.po | 306 ++++++++++++++++++++++--------------------- po/tr.po | 320 +++++++++++++++++++++++---------------------- po/zh_CN.po | 306 ++++++++++++++++++++++--------------------- po/zh_TW.po | 306 ++++++++++++++++++++++--------------------- 19 files changed, 3143 insertions(+), 2758 deletions(-) diff --git a/po/ar.po b/po/ar.po index d5b7711d4..8210635ed 100644 --- a/po/ar.po +++ b/po/ar.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Arabic (http://www.transifex.com/projects/p/linphone-gtk/language/ar/)\n" "MIME-Version: 1.0\n" @@ -19,38 +19,38 @@ msgstr "" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "اتصل بـ %s" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "أرسل رسالة إلى %s" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "المكالمات الفائتة (%i)" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "—" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "أُلغيت" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "فائتة" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "مرفوضة" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" @@ -61,7 +61,7 @@ msgstr[3] "%i دقائق" msgstr[4] "%i دقيقة" msgstr[5] "%i دقيقة" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" @@ -72,14 +72,14 @@ msgstr[3] "%i ثوان" msgstr[4] "%i ثانية" msgstr[5] "%i ثانية" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "%s\tالجودة : %s\n%s\t%s\t" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s\t%s" @@ -97,45 +97,49 @@ msgstr "أنا" msgid "Couldn't find pixmap file: %s" msgstr "أيقونة غير موجودة : %s" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "أظهِرْ بعض معلومات التنقيح خلال التشغيل." -#: ../gtk/main.c:138 +#: ../gtk/main.c:139 +msgid "display version and exit." +msgstr "" + +#: ../gtk/main.c:140 msgid "path to a file to write logs into." msgstr "الدليل إلى الملف الذي سيُكتَب فيه سجل الوقائع." -#: ../gtk/main.c:139 +#: ../gtk/main.c:141 msgid "Start linphone with video disabled." msgstr "ابدأ لِنْفُونْ لكن دون تفعيل الفيديو." -#: ../gtk/main.c:140 +#: ../gtk/main.c:142 msgid "Start only in the system tray, do not show the main interface." msgstr "شغِّله مُصغَّرا، ولا تُظهِر الواجهة الرئيسية." -#: ../gtk/main.c:141 +#: ../gtk/main.c:143 msgid "address to call right now" msgstr "العنوان المُراد الاتصال به الآن" -#: ../gtk/main.c:142 +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "حدِّد مجلد العمل (الذي سيكون مجلد التثبيت، مثلا c:\\Program Files\\Linphone)" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "ملف التهيئة" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "ابدأ مرشد الصوت" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "شغِّل الاختبار الذاتي ثم اخرِجْ 0 إذا نجح" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -143,129 +147,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "%s يريد إضافتك إلى جهة اتصاله.\nهل تريد السماح له برؤية معلومات حضورك وكذا إضافته إلى جهة اتصالك أيضا ؟ إذا أجبت بلا، سيُحظَر هذا الشخص مؤقتا." -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "ادخل كلمة السر لـ %s\n في نطاق %s:" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "خطأ في المكالمة" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "إنتهت المكالمة" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "مكالمة واردة" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "أجِبْ" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "ارفضْ" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "المكالمة متوقفة" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "بواسطة %s" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "يود %s تشغيل الفيديو. هل تقبل ذلك ؟" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "وصلة إلى الموقع وِبْ" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "لِنْفُونْ" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" -msgstr "" +msgstr "الهاتف المرئي عبر الإنترنت" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "%s (افتراضي)" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "التحويل إلى %s" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "لا وجود للوحة الصوت على هذا الحاسوب.\nلن تتمكن من تلقي أو إجراء أي مكالمة." -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "هاتف SIP المرئي الحر" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "أهلا\n" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "أضف إلى دفتر العناوين" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "معلومة الحضور" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "الاسم" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "اتصل" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "محادثة" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "ابحث في دليل %s" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "جهة اتصال sip غير صالحة !" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "حرر جهة الاتصال '%s'" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "احذف جهة الاتصال '%s'" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "احذف تاريخ دردشات '%s'" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "اضف جهة اتصال انطلاقا من الدليل %s" @@ -433,133 +437,149 @@ msgstr[3] "عُثِر على %i جهات اتصال" msgstr[4] "عُثِر على %i جهة اتصال" msgstr[5] "عُثِر على %i جهة اتصال" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "مرحبا !\nسيمكنك هذا المرشد من إعداد حسابك SIP لإجراء المكالمات." -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "إنشاء حساب في linphone.org" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "أتوفر مسبقا على حساب في linphone.org وأريد فقط استخدامه" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "أتوفر مسبقا على حساب sip وأريد فقط استخدامه" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "أريد تحديد عنوان التهيئة عن بعد" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" -msgstr "أدخِل اسم المستخدم في linphone.org" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" +msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "اسم المستخدم :" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "كلمة السر :" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "أدخل معلومات حسابك" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "اسم المستخدم*" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "كلمة السر*" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "النطاق*" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "الوكيل" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "أدخِل اسم المستخدم في linphone.org" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "اسم المستخدم :" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "كلمة السر :" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "(*) حقول ضرورية" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "اسم المستخدم* : (*)" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "كلمة السر* : (*)" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "البريد الالكتروني : (*)" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "أكِّد كلمة السر : (*)" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "أحطني علما بتحديثات لِنْفُونْ" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." -msgstr "خطأ، لم يتم تأكيد الحساب، سبق استخدام اسم المستخدم أو تعذر الوصول للخادم.\nيُرجى إعادة المحاولة لاحقا." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." +msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "شكرا لك، لقد جرت تهيئة حسابك وهو الآن قابل للاستخدام." - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "يُرجى تأكيد حسابك وذلك بالضغط على الوصلة التي أرسلناها لك بالبريد الإلكتروني.\nثم ارجع إلى هنا واضغط على زر التالي." -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "خطأ، لم يتم تأكيد الحساب، سبق استخدام اسم المستخدم أو تعذر الوصول للخادم.\nيُرجى إعادة المحاولة لاحقا." + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "شكرا لك، لقد جرت تهيئة حسابك وهو الآن قابل للاستخدام." + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "مرشد تهيئة حساب SIP" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "مرحبا بك في مرشد إعداد الحساب" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "مرشد تهيئة الحساب" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "تهيئة حسابك (المرحلة 1/1)" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "أدخل اسم المستخدم SIP (المرحلة 1/1)" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "أدخل معلومات حسابك (المرحلة 1/2)" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "تأكيد (المرحلة 2/2)" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "خطأ" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "في طور الإنهاء" @@ -1712,60 +1732,60 @@ msgstr "تجري التهيئة..." msgid "Please wait while fetching configuration from server..." msgstr "رجاءً انتظر ريثما ينتهي من جلب الإعدادات من الخادم..." -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "جاهز" -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "تجري التهيئة" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "يجري البحث عن وجهة رقم الهاتف..." -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "لم يتمكن من إيجاد هذا الرقم." #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "يتصل ب" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "لم يتمكن من الاتصال" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "آسف، وصل عدد المكالمات الآنية إلى حده الأقصى" -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "يتصل بك" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr "ويطلب ردا تلقائيا." -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "يجري تعديل إعدادات المكالمة..." -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "متصل." -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "أُلغيت المكالمة" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "لم يتمكن من توقيف المكالمة مؤقتا" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "وضع المكالمة قيد الانتظار..." @@ -1841,131 +1861,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "إن هوية SIP التي أدخلت غير صحيحة.\nيجب أن تكون بهذا النمط sip:username@proxydomain، مثلا sip:alice@example.net" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "تعذر الولوج بالهوية %s" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "يرن الجرس عن بعد..." -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "يرن الجرس عن بعد..." -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "أخذ المكالمة مبكرا." -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "المكاملة مع %s متوقفة." -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "يجيب %s عن المكالمة - في وضع الانتظار." -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "استُعيدت المكالمة." -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "أجاب عن المكالمة %s." -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "غير موائم، تحقق من المراميز أو إعدادات الأمان..." -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "إعدادات الوسائط غير موائمة." -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "استُأنِفت المكالمة." #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "وُقِّفت المكالمة مؤقتا من طرف آخر." #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "حُدِّث الاتصال من البعيد." -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "أُنهيت المكالمة." -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "المستخدم مشغول." -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "المستخدم غير متاح مؤقتا." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "لا يريد المستخدم أي إزعاج." -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "تم تجاهل المكالمة." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "انتهت مهلة الطلب." -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "مُوجَّه" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "فشل الاتصال." -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "تم التسجيل في %s بنجاح." -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "أُلغي التسجيل في %s ." -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "لا إجابة قبل انتهاء المهلة" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "فَشِل التسجيل في %s: %s" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "خدمة غير متاحة، تجري الإعادة" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "شارة التحقق من الهوية هي %s" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "عُدِّلت معاملات المكالمات بنجاج." -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/cs.po b/po/cs.po index cdb192696..12b549dad 100644 --- a/po/cs.po +++ b/po/cs.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Czech (http://www.transifex.com/projects/p/linphone-gtk/language/cs/)\n" "MIME-Version: 1.0\n" @@ -19,38 +19,38 @@ msgstr "" "Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "Volat komu: %s" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "Poslat text komu: %s" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "Nedávné hovory (%i)" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "–" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "Přerušen" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "Zmeškán" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "Odmítnut" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" @@ -58,7 +58,7 @@ msgstr[0] "%i minuta" msgstr[1] "%i minuty" msgstr[2] "%i minut" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" @@ -66,14 +66,14 @@ msgstr[0] "%i sekunda" msgstr[1] "%i sekundy" msgstr[2] "%i sekund" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "%s\tKvalita: %s\n%s\t%s\t" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s\t%s" @@ -91,45 +91,49 @@ msgstr "Já" msgid "Couldn't find pixmap file: %s" msgstr "Nelze najít soubor s obrázkem: %s" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "Za běhu vypisuje některé ladicí informace na standardní výstup." -#: ../gtk/main.c:138 +#: ../gtk/main.c:139 +msgid "display version and exit." +msgstr "" + +#: ../gtk/main.c:140 msgid "path to a file to write logs into." msgstr "Soubor, kam zapisovat protokol." -#: ../gtk/main.c:139 +#: ../gtk/main.c:141 msgid "Start linphone with video disabled." msgstr "Spustí linphone se zakázaným obrazem." -#: ../gtk/main.c:140 +#: ../gtk/main.c:142 msgid "Start only in the system tray, do not show the main interface." msgstr "Spustí se pouze do systémové oblasti, nezobrazí hlavní okno." -#: ../gtk/main.c:141 +#: ../gtk/main.c:143 msgid "address to call right now" msgstr "Zavolá právě teď na tuto adresu" -#: ../gtk/main.c:142 +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "Zadejte pracovní adresář (měl by být základní instalační adresář, například c:\\Program Files\\Linphone)" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -137,129 +141,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "%s si vás chce přidat do svého adresáře.\nDovolíte mu, aby viděl váš stav přítomnosti, nebo si ho také chcete přidat do svého adresáře?\nOdpovíte-li ne, tato osobo bude dočasně blokována." -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "Chyba hovoru" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "Hovor ukončen" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Příchozí hovor" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "Odpovědět" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "Odmítnout" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "Hovor odložen" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "kým: %s" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s navrhuje začít videohovor. Přijímáte?" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "Odkaz na webovou stránku" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "%s (Výchozí)" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "Byly jsme přepojeni na %s" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "Na tomto počítači nebyla objevena žádná zvuková karta.\nNebudete moci vytáčet a přijímat a zvukové hovory." -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "Volný SIP videofon" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "Přidat do adresáře" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "Stav" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "Jméno" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "Zavolat" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "Diskuze" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "Hledat v adresáři %s" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "Neplatný sipový kontakt!" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "Upravit kontakt „%s“" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "Odstranit kontakt „%s“" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "Odstranit historii diskuze u kontaktu „%s“" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "Přidat nový kontakt z adresáře %s" @@ -424,133 +428,149 @@ msgstr[0] "Nalezen %i kontakt" msgstr[1] "Nalezeny %i kontakty" msgstr[2] "Nalezeno %i kontaktů" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "Vytvořit účet na linphone.org" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "Účet na linphone.org již mám a chci jej použít" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "SIP účet již mám a chci jej použít" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" -msgstr "Zadejte uživatelské jméno na linphone.org" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" +msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "Uživatelské jméno:" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "Heslo:" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "Zadejte údaje o vašem účtu" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "Uživatelské jméno*" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "Heslo*" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "Doména*" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "Zadejte uživatelské jméno na linphone.org" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "Uživatelské jméno:" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "Heslo:" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "(*) Povinné položky" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "Uživatelské jméno: (*)" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "Heslo: (*)" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "E-mail: (*)" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "Potvrďte heslo: (*)" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." -msgstr "Došlo k chybě (účet nebyl ověřen, uživatelské jméno již existuje nebo server není dostupný).\nProsím, vraťte se a zkoste to znovu." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." +msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "Děkujeme vám. Váš účet je nyní nastaven a připraven k použití." - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "Prosím, ověřte svůj účet tak, že kliknete na odkaz, který jsme vám právě zaslali e-mailem.\nPak se sem vraťte a stiskněte tlačítko Další." -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "Došlo k chybě (účet nebyl ověřen, uživatelské jméno již existuje nebo server není dostupný).\nProsím, vraťte se a zkoste to znovu." + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "Děkujeme vám. Váš účet je nyní nastaven a připraven k použití." + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "Vítejte v průvodci nastavení účtu" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "Průvodce nastavením účtu" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "Nastavit účet (krok 1/1)" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "Zadejte vaše sipové uživatelské jméno (krok 1/1)" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "Zadejte údaje o účtu (krok 1/2)" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "Ověření (krok 2/2)" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "Chyba" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "Ukončuje se" @@ -1703,60 +1723,60 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "Připraven." -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "Vyhledává se umístění čísla…" -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "Toto číslo nelze vyhledat." #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "Navazuje se spojení" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "Nelze volat" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Je nám líto, ale byl dosažen maximální počet současných hovorů." -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "vás volá" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr " a požaduje automatickou zvednutí." -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "Upravují se parametry hovoru…" -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "Připojeno." -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "Hovor přerušen" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "Hovor nebylo možné odložit" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "Současný hovor se odkládá…" @@ -1832,131 +1852,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "SIP identita, kterou jste zadali, není platná.\nMěla by mít tvar sip:uživatel@proxydoména, například sip:alice@example.net" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "Nelze se přihlásit jako %s" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "Vyzvání na druhé straně." -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "Vyzvání na druhé straně…" -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "Časná média." -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "Hovor s %s je odložen." -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "Hovor přijat kým: %s – odložen." -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "Hovor obnoven." -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "Hovor přijat kým: %s." -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "Není slučitelné. Zkontrolujte nastavení kodeků a zabezpečení…" -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "Neslučitelné parametry médií." -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "Byli jsme obnoveni." #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "Byli jsme odloženi protistranou." #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "Hovor byl aktualizován protistranou." -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "Hovor ukončen." -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "Uživatel je zaneprázdněn." -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "Uživatel je dočasně nedostupný." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "Uživatel si nepřeje být rušen." -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "Volání odmítnuto." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "Přesměrováno" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "Volání se nezdařilo." -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "Registrace na %s byla úspěšná." -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "Odregistrování z %s hotovo." -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "odpověď nedorazila včas" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "Registrace na %s selhala: %s" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "Klíč k ověření totožnosti je %s" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/de.po b/po/de.po index 6a6e30e83..11179fd87 100644 --- a/po/de.po +++ b/po/de.po @@ -5,14 +5,15 @@ # Translators: # andreas, 2014 # andreas, 2014 +# Ettore Atalan , 2015 # Gerhard Stengel , 2011-2012 # Simon Morlat , 2001 msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: German (http://www.transifex.com/projects/p/linphone-gtk/language/de/)\n" "MIME-Version: 1.0\n" @@ -21,59 +22,59 @@ msgstr "" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "„%s“ anrufen" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "Text zu „%s“ schicken" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" -msgstr "letzte Anrufe (%i)" +msgstr "Letzte Anrufe (%i)" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" -msgstr "nicht verfügbar" +msgstr "n/v" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "Abgebrochen" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" -msgstr "Entgangen" +msgstr "Verpasst" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "Abgewiesen" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "%i Minute" msgstr[1] "%i Minuten" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "%i Sekunde" msgstr[1] "%i Sekunden" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "%s\tQualität: %s\n%s\t%s\t" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s\t%s" @@ -91,45 +92,49 @@ msgstr "Eigenes Telefon" msgid "Couldn't find pixmap file: %s" msgstr "Pixmapdatei %s kann nicht gefunden werden." -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "Ausgabe von Debug-Informationen auf stdout während der Laufzeit" -#: ../gtk/main.c:138 +#: ../gtk/main.c:139 +msgid "display version and exit." +msgstr "" + +#: ../gtk/main.c:140 msgid "path to a file to write logs into." msgstr "Pfad zu einer Datei, in die Protokolle geschrieben werden." -#: ../gtk/main.c:139 +#: ../gtk/main.c:141 msgid "Start linphone with video disabled." msgstr "Linphone mit ausgeschaltetem Video starten." -#: ../gtk/main.c:140 +#: ../gtk/main.c:142 msgid "Start only in the system tray, do not show the main interface." msgstr "Nur im Systemabschnitt der Kontrollleiste starten, aber das Hauptfenster nicht zeigen." -#: ../gtk/main.c:141 +#: ../gtk/main.c:143 msgid "address to call right now" msgstr "Im Moment anzurufende Adresse" -#: ../gtk/main.c:142 +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "Geben Sie einen Arbeitsordner an (sollte der Installationsordner sein, z. B. C:\\Programme\\Linphone)" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "Konfigurationsdatei" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "Starte den Audio-Assistent" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" -msgstr "" +msgstr "Selbsttest ausführen und mit 0 beenden, wenn erfolgreich" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -137,129 +142,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "%s möchte Sie zu seiner Kontaktliste hinzufügen.\nMöchten Sie ihm erlauben, Ihren Anwesenheitsstatus zu sehen, oder ihn zu Ihrer Kontaktliste hinzufügen?\nWenn Sie mit Nein antworten, wird diese Person vorläufig blockiert." -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "Bitte geben Sie Ihr Passwort für den Benutzernamen %s\n für Bereich %s ein:" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "Anruf fehlgeschlagen" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "Anruf beendet" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Eingehender Anruf" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "Annehmen" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "Abweisen" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "Anruf wird gehalten" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "von %s" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s schlägt vor, eine Videoübertragung zu starten. Nehmen Sie an?" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "Website-Verknüpfung" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" -msgstr "" +msgstr "Ein Internet-Video-Telefon" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "%s (Vorgabe)" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "Vermittlung nach %s" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "Auf diesem Rechner können keine Soundkarten gefunden werden.\nSie können keine Audio-Anrufe tätigen oder entgegennehmen." -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "Ein freies SIP-Video-Telefon" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" -msgstr "" +msgstr "Hallo\n" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "Zum Adressbuch hinzufügen" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "Anwesenheitsstatus" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "Name" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "Anrufen" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "Chat" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "Im %s-Verzeichnis suchen" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "Ungültiger SIP-Kontakt!" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "Kontakt „%s“ bearbeiten" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "Kontakt „%s“ löschen" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "Lösche Gesprächshistorie von '%s'" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "Einen neuen Kontakt aus dem %s-Verzeichnis hinzufügen" @@ -379,7 +384,7 @@ msgstr "SRTP" #: ../gtk/propertybox.c:1265 msgid "DTLS" -msgstr "" +msgstr "DTLS" #: ../gtk/propertybox.c:1272 msgid "ZRTP" @@ -423,133 +428,149 @@ msgid_plural "Found %i contacts" msgstr[0] "%i Kontakt gefunden" msgstr[1] "%i Kontakte gefunden" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "Willkommen!\nDieser Assistent hilft Ihnen dabei ein SIP-Konto einzurichten." -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "Ein Konto bei linphone.org erstellen." -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "Ich habe bereits ein Konto bei linphone.org und möchte es jetzt benutzen." -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "Ich habe bereits ein SIP-Konto und möchte es jetzt benutzen." -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "Ich möchte eine URI zur Fernkonfiguration angeben" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" -msgstr "Geben Sie Ihren Benutzernamen bei linphone.org ein." +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" +msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "Benutzername:" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "Passwort:" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "Geben Sie Ihre Zugangsdaten ein." - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "Benutzername*" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "Passwort*" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "Domäne*" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "Geben Sie Ihren Benutzernamen bei linphone.org ein." + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "Benutzername:" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "Passwort:" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "(*) erforderliche Felder" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "Benutzername: (*)" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "Passwort: (*)" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "E-Mail: (*)" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "Bestätigen Sie Ihr Passwort: (*)" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "Halte mich über linphone Aktualisierungen auf dem laufenden" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." -msgstr "Fehler, Konto kann nicht bestätigt werden. Der Benutzername wird bereits\nverwendet oder der Server ist unerreichbar.\nBitte gehen Sie zurück und versuchen Sie es noch einmal." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." +msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "Danke. Ihr Konto ist nun fertig eingerichtet und kann verwendet werden." - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "Bitte bestätigen Sie Ihr Konto, indem Sie auf die Verknüpfung klicken, die wir Ihnen soeben per E-Mail geschickt haben.\nDanach gehen Sie hierher zurück und drücken auf „Vor“." -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "Fehler, Konto kann nicht bestätigt werden. Der Benutzername wird bereits\nverwendet oder der Server ist unerreichbar.\nBitte gehen Sie zurück und versuchen Sie es noch einmal." + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "Danke. Ihr Konto ist nun fertig eingerichtet und kann verwendet werden." + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "SIP-Konto-Einrichtungsassistent" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "Willkommen zum Konto-Einrichtungsassistenten" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "Konto-Einrichtungsassistent" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "Konto einrichten (Schritt 1/1)" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "Geben Sie Ihren SIP-Benutzernamen ein (Schritt 1/1)" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "Geben Sie Ihre Zugangsdaten ein (Schritt 1/2)" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "Bestätigung (Schritt 2/2)" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "Fehler" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "Fertigstellen" @@ -678,7 +699,7 @@ msgstr "Gesichert durch SRTP" #: ../gtk/incall_view.c:685 msgid "Secured by DTLS" -msgstr "" +msgstr "Gesichert durch DTLS" #: ../gtk/incall_view.c:691 #, c-format @@ -773,15 +794,15 @@ msgstr "zu laut" #: ../gtk/audio_assistant.c:183 msgid "Did you hear three beeps ?" -msgstr "" +msgstr "Haben Sie die drei Signaltöne gehört?" #: ../gtk/audio_assistant.c:292 ../gtk/audio_assistant.c:297 msgid "Sound preferences not found " -msgstr "" +msgstr "Toneinstellungen nicht gefunden" #: ../gtk/audio_assistant.c:306 msgid "Cannot launch system sound control " -msgstr "" +msgstr "Systemtonsteuerung kann nicht gestartet werden" #: ../gtk/audio_assistant.c:318 msgid "" @@ -803,7 +824,7 @@ msgstr "Keine Stimme" #: ../gtk/audio_assistant.c:334 ../gtk/audio_assistant.c:373 msgid "System sound preferences" -msgstr "" +msgstr "Systemtoneinstellungen" #: ../gtk/audio_assistant.c:369 msgid "Playback device" @@ -823,11 +844,11 @@ msgstr "Hören Sie das Aufgenommene" #: ../gtk/audio_assistant.c:405 msgid "Record" -msgstr "" +msgstr "Aufnahme" #: ../gtk/audio_assistant.c:406 msgid "Play" -msgstr "" +msgstr "Wiedergabe" #: ../gtk/audio_assistant.c:433 msgid "Let's start Linphone now" @@ -1211,7 +1232,7 @@ msgstr "DTMFs als SIP-Info senden" #: ../gtk/parameters.ui.h:17 msgid "Allow IPv6" -msgstr "" +msgstr "IPv6 erlauben" #: ../gtk/parameters.ui.h:18 msgid "Transport" @@ -1223,7 +1244,7 @@ msgstr "SIP/UDP Port" #: ../gtk/parameters.ui.h:21 msgid "Random" -msgstr "" +msgstr "Zufällig" #: ../gtk/parameters.ui.h:22 msgid "SIP/TCP port" @@ -1339,7 +1360,7 @@ msgstr "Methode zur Videoausgabe" #: ../gtk/parameters.ui.h:50 msgid "Show camera preview" -msgstr "" +msgstr "Kameravorschau anzeigen" #: ../gtk/parameters.ui.h:51 msgid "Video" @@ -1399,15 +1420,15 @@ msgstr "Privatsphäre" #: ../gtk/parameters.ui.h:65 msgid "Automatically answer when a call is received" -msgstr "" +msgstr "Automatisch antworten, wenn ein Anruf eingeht" #: ../gtk/parameters.ui.h:66 msgid "Delay before answering (ms)" -msgstr "" +msgstr "Verzögerung vor der Beantwortung (ms)" #: ../gtk/parameters.ui.h:67 msgid "Auto-answer" -msgstr "" +msgstr "Automatische Antwort" #: ../gtk/parameters.ui.h:68 msgid "Manage SIP Accounts" @@ -1702,60 +1723,60 @@ msgstr "Einstellen..." msgid "Please wait while fetching configuration from server..." msgstr "Bitte warten Sie während die Einstellungen vom Server abgerufen werden..." -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "Bereit" -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "Einstellen" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "Telefonnummernziel wird gesucht..." -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "Diese Nummer kann nicht aufgelöst werden." #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "Verbindungsaufbau" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "Anruf kann nicht getätigt werden." -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Die maximale Anzahl der gleichzeitigen Anrufe ist erreicht." -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "ruft Sie an" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr " und fragt nach automatischer Antwort." -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "Die Anrufparameter werden verändert..." -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "Verbunden." -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "Anruf abgebrochen" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "Anruf kann nicht gehalten werden" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "Aktueller Anruf wird gehalten..." @@ -1831,131 +1852,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "Die von Ihnen eingegebene SIP-Identität ist ungültig.\nSie sollte wie sip:benutzername@proxydomain aussehen, also z.B. sip:alice@beispiel.net" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "Anmeldung als %s fehlgeschlagen" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "Klingeln bei der Gegenseite." -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "Klingeln bei der Gegenseite..." -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "nicht kompatibel, prüfe Codecs oder Sicherheitseinstellungen..." -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "Anruf mit %s wird gehalten." -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "Der von %s entgegengenommene Anruf wird gehalten." -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "Anruf fortgesetzt." -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "Anruf wird von %s entgegengenommen." -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "Inkompatibel, prüfe Codecs oder Sicherheitseinstellungen..." -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "Inkompatible Medienparameter." -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "Anruf wird fortgesetzt." #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "Anruf wird von der Gegenseite gehalten." #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "Anruf ist von der Gegenseite aktualisiert worden." -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "Anruf beendet." -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "Teilnehmer ist besetzt." -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "Teilnehmer zur Zeit nicht verfügbar." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "Teilnehmer möchte nicht gestört werden." -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "Anruf abgewiesen" -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "Zeitüberschreitung bei der Anfrage" -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "Umgeleitet" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "Anruf fehlgeschlagen." -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "Registrierung auf %s erfolgreich." -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "Abmeldung von %s ist erfolgt." -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "Zeitüberschreitung bei der Antwort" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "Registrierung auf %s fehlgeschlagen: %s" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "Service nicht verfügbar, versuche erneut" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "Authentifizierungs-Token ist %s" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." -msgstr "" +msgstr "Anrufparameter wurden erfolgreich geändert." -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." @@ -1964,19 +1985,19 @@ msgstr[1] "Sie haben %i Anrufe in Abwesenheit." #: ../coreapi/call_log.c:209 msgid "aborted" -msgstr "" +msgstr "abgebrochen" #: ../coreapi/call_log.c:212 msgid "completed" -msgstr "" +msgstr "abgeschlossen" #: ../coreapi/call_log.c:215 msgid "missed" -msgstr "" +msgstr "verpasst" #: ../coreapi/call_log.c:218 msgid "unknown" -msgstr "" +msgstr "unbekannt" #: ../coreapi/call_log.c:220 #, c-format @@ -1986,13 +2007,13 @@ msgid "" "To: %s\n" "Status: %s\n" "Duration: %i mn %i sec\n" -msgstr "" +msgstr "%s um %s\nVon: %s\nAn: %s\nStatus: %s\nDauer: %i Min. %i Sek.\n" #: ../coreapi/call_log.c:221 msgid "Outgoing call" -msgstr "" +msgstr "Ausgehender Anruf" #: ../gtk/videowindow.c:66 #, c-format msgid "Cannot play %s." -msgstr "" +msgstr "Kann %s nicht wiedergeben." diff --git a/po/es.po b/po/es.po index 54548cf24..38b9b5e5a 100644 --- a/po/es.po +++ b/po/es.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Spanish (http://www.transifex.com/projects/p/linphone-gtk/language/es/)\n" "MIME-Version: 1.0\n" @@ -17,59 +17,59 @@ msgstr "" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "Llamar a %s" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "Enviar mensaje a %s" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "n/a" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "%i minuto" msgstr[1] "%i minutos" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "%i segundo" msgstr[1] "%i segundos" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "" @@ -87,45 +87,49 @@ msgstr "Yo" msgid "Couldn't find pixmap file: %s" msgstr "No se pudo encontrar el archivo pixmap: %s" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "registra a stdout cierta información de depuración durante la ejecución." -#: ../gtk/main.c:138 -msgid "path to a file to write logs into." -msgstr "ruta a un fichero donde escribir logs." - #: ../gtk/main.c:139 -msgid "Start linphone with video disabled." +msgid "display version and exit." msgstr "" #: ../gtk/main.c:140 +msgid "path to a file to write logs into." +msgstr "ruta a un fichero donde escribir logs." + +#: ../gtk/main.c:141 +msgid "Start linphone with video disabled." +msgstr "" + +#: ../gtk/main.c:142 msgid "Start only in the system tray, do not show the main interface." msgstr "Iniciar sólo en la barra de tareas, no mostrar la interfaz principal." -#: ../gtk/main.c:141 +#: ../gtk/main.c:143 msgid "address to call right now" msgstr "dirección a la que llamar inmediatamente" -#: ../gtk/main.c:142 +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "Especifique un directorio de trabajo (debería ser la raíz de la instalación, ej: c:\\Archivos de Programa\\Linphone)" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -133,129 +137,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "%s desea añadirle a su lista de contactos.\n¿Desea permitirle ver su estado de presencia o añadirle a su lista de contactos?\nSi responde no, esta persona será bloqueada temporalmente." -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Llamada entrante" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "Contestar" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "Enlace a la Web" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "%s (Opción predeterminada)" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "Somos transferidos a %s" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "No se ha encontrado una tarjeta de sonido en este equipo.\nNo será posible realizar o recibir llamadas de audio." -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "Un video-teléfono SIP gratuito" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "Nombre" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "Buscar en el directorio %s" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "¡Contacto SIP no válido!" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "Eliminar contacto '%s'" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "Añadir nuevo contacto desde el directorio %s" @@ -419,133 +423,149 @@ msgid_plural "Found %i contacts" msgstr[0] "Se encontró %i contacto" msgstr[1] "Se encontraron %i contactos" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "Gracias. Su cuenta está configurada y lista para su utilización." - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "" -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "" + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "Gracias. Su cuenta está configurada y lista para su utilización." + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "Bienvenido al asistente de configuración de cuenta" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "Asistente de configuración de cuenta" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "" @@ -1698,60 +1718,60 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "" -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "Buscando el número de teléfono del destinatario…" -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "No se ha podido resolver este número." #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Disculpe, se ha alcanzado el máximo número de llamadas simultáneas" -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr "y ha solicitado auto respuesta." -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "Modificando parámetros de llamada…" -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "Conectado." -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "No se pudo pausar la llamada" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "Pausando la llamada actual..." @@ -1827,131 +1847,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "La identidad SIP que ha introducido no es válida.\nDebe ser del tipo sip:username@proxydomain, como por ejemplo sip:alice@example.net" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "" -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "Medios iniciales." -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "La llamada con %s está puesta en pausa." -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "Llamada respondida por %s - en espera." -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "" -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "" #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "" -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "El usuario está ocupado." -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "El usuario no está disponible temporalmente." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "El usuario no quiere que le molesten." -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "Llamada rechazada." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "Redigirida" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "" -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "timeout sin respuesta" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/fr.po b/po/fr.po index 652612561..451a1cb50 100644 --- a/po/fr.po +++ b/po/fr.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:35+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 10:04+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: French (http://www.transifex.com/projects/p/linphone-gtk/language/fr/)\n" "MIME-Version: 1.0\n" @@ -22,59 +22,59 @@ msgstr "" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "Appeler %s" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "Chatter avec %s" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "Appels récents (%i)" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "inconnu" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "Abandonné" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "Manqué" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "Refusé" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "%i minute" msgstr[1] "%i minutes" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "%i seconde" msgstr[1] "%i secondes" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "%s\tQualité: %s\n%s\t%s\t" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s\t%s" @@ -92,45 +92,49 @@ msgstr "Moi" msgid "Couldn't find pixmap file: %s" msgstr "Icone non trouvée: %s" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "affiche des informations de debogage" -#: ../gtk/main.c:138 +#: ../gtk/main.c:139 +msgid "display version and exit." +msgstr "Afficher la version et quitter." + +#: ../gtk/main.c:140 msgid "path to a file to write logs into." msgstr "chemin vers le fichier de logs." -#: ../gtk/main.c:139 +#: ../gtk/main.c:141 msgid "Start linphone with video disabled." msgstr "Démarrer linphone avec la vidéo désactivée." -#: ../gtk/main.c:140 +#: ../gtk/main.c:142 msgid "Start only in the system tray, do not show the main interface." msgstr "Démarre iconifié, sans interface principale." -#: ../gtk/main.c:141 +#: ../gtk/main.c:143 msgid "address to call right now" msgstr "adresse à appeler maintenant" -#: ../gtk/main.c:142 +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "Spécifie un répertoire de travail (qui devrait être le répertoire d'installation, par exemple c:\\Program Files\\Linphone)" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "Ficher de configuration" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "Démarre l'assistant audio" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "Exécuter le test local et retourner 0 en cas de succès" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -138,129 +142,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "%s souhaite vous ajouter à sa liste de contact.\nSouhaitez vous l'autoriser à voir votre information de présence et l'ajouter à votre liste également ?\nSi vous répondez non, cette personne sera mise temporairement sur liste noire." -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "Entrez le mot de passe pour %s\n sur le domaine %s:" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "Erreur lors de l'appel" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "Appel terminé." -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Appel entrant" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "Répondre" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "Refuser" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "Appel en pause" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "b>par %s" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s propose de démarrer la vidéo. Acceptez-vous ?" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "Lien site web" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" msgstr "Appels vidéo via internet" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "%s (par défaut)" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "Transfert vers %s" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "Aucune carte son n'a été détectée sur cet ordinateur.\nVous ne pourrez pas effectuer d'appels audio." -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "Un visiophone libre" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "Bonjour\n" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "Ajouter au carnet d'adresse" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "Info de présence" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "Nom" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "Appeler" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "Chat" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "Rechercher dans l'annuaire de %s" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "Contact sip invalide !" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "Editer le contact '%s'" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "Supprimer le contact '%s'" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "Supprimer l'historique de chat de '%s'" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "Ajouter un contact depuis l'annuaire %s" @@ -424,133 +428,149 @@ msgid_plural "Found %i contacts" msgstr[0] "%i contact trouvé." msgstr[1] "%i contacts trouvés." -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "Bienvenue !\nCet assistant va vous aider à utiliser un compte SIP pour vos appels." -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "Créer un compte sur linphone.org" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "J'ai déjà un compte linphone.org et je souhaite l'utiliser" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "J'ai déjà un compte Sip et je souhaite l'utiliser" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "Je veux spécifier une URI de configuration" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" -msgstr "Entrez votre identifiant linphone.org" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" +msgstr "Entrez vos paramètres de compte" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "Nom d'utilisateur:" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "Mot de passe:" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "Entrez les informations concernant votre compte" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "Nom d'utilisateur*" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "Mot de passe*" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "Domaine*" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "Entrez votre identifiant linphone.org" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "Nom d'utilisateur:" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "Mot de passe:" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "(*) Champs requis" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "Nom d'utilisateur: (*)" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "Mot de passe: (*)" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "Email : (*)" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "Confirmez votre mot de passe: (*)" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" -msgstr "Me tenir informer des mises à jour de Linphone " +msgstr "Me tenir informé des mises à jour de Linphone " -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." -msgstr "Erreur, le compte n'est pas validé, l'identifiant est déjà utilisé ou le serveur n'est pas accessible.\nMerci d'essayer à nouveau." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." +msgstr "Votre compte est en cours de création. Veuillez patienter." -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "Merci. Votre compte est maintenant configuré et prêt à être utilisé." - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "Merci de valider votre compte en cliquant sur le lien que nous avons envoyé par email.\nPuis appuyez sur suivant." -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "Vérification que le compte a été validé. Veuillez patienter." + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "Erreur, le compte n'est pas validé, l'identifiant est déjà utilisé ou le serveur n'est pas accessible.\nMerci d'essayer à nouveau." + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "Merci. Votre compte est maintenant configuré et prêt à être utilisé." + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "Assistant de configuration de compte." -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "Bienvenue dans l'assistant de configuration de compte." -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "Assistant de configuration de compte." -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "Configurez votre compte (étape 1/1)" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "Entrez votre identifiant sip (étape 1/1)" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "Entrez les informations concernant votre compte (étape 1/2)" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "Création du compte en cours" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "Validation (étape 2/2)" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "Vérification de la validité du compte en cours" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "Erreur" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "En cours d’arrêt." @@ -928,7 +948,7 @@ msgstr "URI de configuration" #: ../gtk/main.ui.h:25 msgid "Always start video" -msgstr "Toujours démarrer la vidéo" +msgstr "Toujours activer la vidéo" #: ../gtk/main.ui.h:26 msgid "Enable self-view" @@ -1703,60 +1723,60 @@ msgstr "Configuration en cours" msgid "Please wait while fetching configuration from server..." msgstr "Veuillez patenter un instant pendant le chargement de la configuration distante..." -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "Prêt." -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "Configuration en cours" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "Recherche de la destination du numéro de téléphone..." -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "La destination n'a pu être trouvée." #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "Appel de" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "Echec de l'appel" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Désolé, le nombre maximum d'appels simultanés est atteint." -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "vous appelle" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr "et sollicite un décrochage automatique." -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "Modifications des paramètres d'appels..." -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "En ligne." -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "Appel abandonné" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "La mise en attente a échoué" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "Mise en attente de l'appel..." @@ -1832,131 +1852,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "L'identité SIP que vous avez fourni est invalide.\nElle doit être de la forme sip:utilisateur@domaine, comme par exemple sip:alice@example.net" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "Echec de la connexion en tant que %s" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "Sonnerie distante." -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "Sonnerie distante..." -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "Prise d'appel anticipée." -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "%s est maintenant en attente." -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "Appel répondu par %s - en attente" -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "Appel repris." -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "Appel répondu par %s." -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "Incompatible, vérfiez les codecs ou les paramètres de sécurité..." -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "Paramètres media incompatibles." -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "Appel repris." #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "L'appel a été mis en attente." #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "L'appel est modifié par la partie distante." -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "Appel terminé." -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "Occupé..." -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "L'usager est temporairement indisponible." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "L'usager ne souhaite pas être dérangé" -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "Appel décliné." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "Délai d'attente de la requête dépassé." -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "Redirection" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "L'appel a échoué." -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "Enregistrement sur %s effectué." -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "Désenregistrement sur %s effectué." -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "Pas de réponse" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "Echec de l'enregistrement sur %s: %s" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "Service indisponible, nouvelle tentative" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "Le jeton d'authentification est %s" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "Les paramètres d'appel ont été modifiés avec succès." -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/he.po b/po/he.po index 08c49042c..d74168f4f 100644 --- a/po/he.po +++ b/po/he.po @@ -12,8 +12,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Hebrew (http://www.transifex.com/projects/p/linphone-gtk/language/he/)\n" "MIME-Version: 1.0\n" @@ -22,59 +22,59 @@ msgstr "" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "התקשר אל %s" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "שלח טקסט אל %s" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "שיחות אחרונות (%i)" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "לא זמין (n/a)" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "ננטשה" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "הוחמצה" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "נדחתה" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "דקה %i" msgstr[1] "%i דקות" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "שניה %i" msgstr[1] "%i שניות" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "%s\tאיכות: %s\n%s\t%s\t" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "" @@ -92,45 +92,49 @@ msgstr "אני" msgid "Couldn't find pixmap file: %s" msgstr "לא ניתן למצוא קובץ ‫pixmap: ‫%s" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "" -#: ../gtk/main.c:138 -msgid "path to a file to write logs into." -msgstr "" - #: ../gtk/main.c:139 -msgid "Start linphone with video disabled." +msgid "display version and exit." msgstr "" #: ../gtk/main.c:140 -msgid "Start only in the system tray, do not show the main interface." +msgid "path to a file to write logs into." msgstr "" #: ../gtk/main.c:141 -msgid "address to call right now" +msgid "Start linphone with video disabled." msgstr "" #: ../gtk/main.c:142 +msgid "Start only in the system tray, do not show the main interface." +msgstr "" + +#: ../gtk/main.c:143 +msgid "address to call right now" +msgstr "" + +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -138,129 +142,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "‫%s מעוניין להוסיפך אל רשימת אנשי הקשר שלו.\nהאם ברצונך להרשות להם לראות את מצב נוכחותך או להוסיפם אל רשימת אנשי הקשר שלך ?\nהיה ותשובתך תהיה לא, אדם זה יהיה מסומן באופן זמני ברשימה השחורה." -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "אנא הזן סיסמה עבור משתמש %s\nבמתחם %s:" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "שגיאת קריאה" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "שיחה הסתיימה" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "קריאה נכנסת" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "לענות" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "לדחות" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "שיחה הושהתה" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "על ידי %s" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "‏%s רוצה להתחיל וידאו. האם אתה מסכים ?" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "קישור אתר רשת" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "‫%s (ברירת מחדל)" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "אנחנו מועברים אל %s" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "לא אותרו כרטיסי קול במחשב זה.\nלא תהיה ביכולתך לשלוח או לקבל שיחות אודיו." -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "וידאופון SIP חופשי" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "הוסף אל ספר כתובות" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "מצב נוכחות" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "שם" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "קריאה" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "שיחה" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "חיפוש במדור %s" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "כתובת sip לא תקפה !" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "ערוך איש קשר '%s'" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "מחק איש קשר '%s'" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "מחק היסטוריית שיחה של '%s'" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "הוסף איש קשר חדש מן מדור %s" @@ -424,133 +428,149 @@ msgid_plural "Found %i contacts" msgstr[0] "נמצא איש קשר %i" msgstr[1] "נמצאו %i אנשי קשר" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "צור חשבון אצל linphone.org" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "כבר קיים חשבון linphone.org ברשותי וברצוני לעשות בו שימוש" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "כבר קיים חשבון sip ברשותי וברצוני לעשות בו שימוש" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" -msgstr "הזן את שם משתמשך אצל linphone.org" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" +msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "שם משתמש:" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "סיסמה:" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "הזן את מידע חשבונך" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "שם משתמש*" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "סיסמה*" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "מתחם*" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "פרוקסי" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "הזן את שם משתמשך אצל linphone.org" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "שם משתמש:" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "סיסמה:" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "(*) שדות חובה" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "שם משתמש: (*)" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "סיסמה: (*)" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "דוא״ל: (*)" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "אימות סיסמתך: (*)" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." -msgstr "שגיאה, חשבון לא אומת, שם משתמש כבר בשימוש או שרת לא ניתן להשגה.\nנא לחזור ולנסות שוב." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." +msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "תודה לך. חשבונך מוגדר ומוכן לשימוש כעת." - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "נא לאמת את חשבונך באמצעות הקלקה על הקישור ששלחנו לך עתה באמצעות דוא״ל.\nאחרי כן נא לחזור לכאן וללחוץ על הלחצן 'קדימה'." -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "שגיאה, חשבון לא אומת, שם משתמש כבר בשימוש או שרת לא ניתן להשגה.\nנא לחזור ולנסות שוב." + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "תודה לך. חשבונך מוגדר ומוכן לשימוש כעת." + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "ברוך בואך אל אשף הגדרת החשבון" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "אשף הגדרת חשבון" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "הגדרת חשבונך (צעד 1/1)" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "הזנת שם משתמש sip (צעד 1/1)" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "הזנת מידע חשבון (צעד 1/2)" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "אימות (צעד 2/2)" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "שגיאה" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "מסיים כעת" @@ -1703,60 +1723,60 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "מוכן" -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "מחפש כעת עבור יעד מספר טלפון..." -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "לא ניתן לפתור את מספר זה." #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "מתקשר כעת" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "לא ניתן להתקשר" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "הגענו אל המספר המרבי של שיחות מקבילות, עמך הסליחה" -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "מתקשר/ת אליך" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr " ומבקש/ת מענה אוטומטי." -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "מתאים כעת פרמטרים של שיחה..." -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "מקושר." -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "קריאה בוטלה" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "לא ניתן להשהות את השיחה" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "משהה כעת שיחה נוכחית..." @@ -1832,131 +1852,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "זהות sip שהוזנה הינה שגויה.\nזו צריכה להיראות כמו sip:username@proxydomain, למשל sip:alice@example.net" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "לא ניתן להתחבר בזהות %s" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "צלצול מרוחק." -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "צלצול מרוחק..." -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "מדיה מוקדמת." -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "שיחה עם %s מושהית." -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "קריאה נענתה על ידי %s - בהמתנה." -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "קריאה חודשה." -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "קריאה נענתה על ידי %s." -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "חוסר תאימות, בדוק קודקים או הגדרות אבטחה..." -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "פרמטריי מדיה חסרי תואמים." -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "חזרנו." #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "אנו מושהים על ידי צד אחר." #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "שיחה עודכנה מרחוק." -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "קריאה הסתיימה." -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "משתמש עסוק כעת." -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "משתמש לא זמין זמנית." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "משתמש לא מעוניין שיפריעו לו." -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "קריאה סורבה." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "מכוון מחדש" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "קריאה נכשלה." -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "רישום אצל %s הושלם בהצלחה." -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "אי רישום אצל %s סוים." -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "אין היענות תוך זמן מוגדר" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "רישום אצל %s נכשל: %s" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "אות האימות הינה %s" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/hu.po b/po/hu.po index 1a20cf6c7..f360892be 100644 --- a/po/hu.po +++ b/po/hu.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Hungarian (http://www.transifex.com/projects/p/linphone-gtk/language/hu/)\n" "MIME-Version: 1.0\n" @@ -17,59 +17,59 @@ msgstr "" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "%s hívása" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "Szöveg küldése a következőnek: %s" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "-" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "Megszakítva" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "Nem fogadott" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "Elutasítva" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "" @@ -87,45 +87,49 @@ msgstr "én" msgid "Couldn't find pixmap file: %s" msgstr "Nemtalálható a pixmap fájl: %s" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "Futás közben némi hibakeresési információ az stdout-ra naplózása." -#: ../gtk/main.c:138 +#: ../gtk/main.c:139 +msgid "display version and exit." +msgstr "" + +#: ../gtk/main.c:140 msgid "path to a file to write logs into." msgstr "fájl elérési útja, melybe a naplók kerülnek." -#: ../gtk/main.c:139 +#: ../gtk/main.c:141 msgid "Start linphone with video disabled." msgstr "Linphone indítása, videó kikpacsolva. " -#: ../gtk/main.c:140 +#: ../gtk/main.c:142 msgid "Start only in the system tray, do not show the main interface." msgstr "Csak a tálcaikon indítása, ne mutassa a fő ablakot." -#: ../gtk/main.c:141 +#: ../gtk/main.c:143 msgid "address to call right now" msgstr "Cím azonnali híváshoz" -#: ../gtk/main.c:142 +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "Adjon meg egy munkakönyvtárat (ennek az installációs könyvtárnak kéne lennie, pl. C:\\Program Files\\Linphone)" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -133,129 +137,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "%s szeretné Önt hozzáadni partnerlistájához.\nSzeretné megengedni neki, hogy lássa az Ön jelenlétét, illetve hozzá szeretné adni a partnerlistához?\nHa nemmel válaszol, ez a személy átmenetileg tiltólistára kerül." -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "Hiba a hívás közben" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "Hívás vége" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Beérkező hívás" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "Hívás fogadása" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "Elutasítás" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "Hívás várakoztatva" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "a következő által: %s" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s szerené elidítani a videót. Elfogadja?" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "Internetes oldal" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "%s (Alapértelmezett)" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "Át vagyunk irányítva ide: %s" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "Hangkártya nincs érzékelve ezen a számítógépen.\nNem fog tudni hang hívásokat küldeni vagy fogadni." -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "Egy ingyenes SIP video-telefon" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "Hozzáadás címjegyzékhez" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "Jelenlét státusz" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "Név" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "Hivás" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "Csevegés" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "Keresés ebben a könyvtárban: %s" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "Érvénytelen sip partner !" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "Kapcsolatinformációk szerkesztése: '%s'" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "'%s' partner törlése" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "Új partner hozzáadása ebből a könyvtárból: %s" @@ -419,133 +423,149 @@ msgid_plural "Found %i contacts" msgstr[0] "" msgstr[1] "" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "Fiók létrehozása a linphone.org -on" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "Már rendelkezem linphone.org fiókkal, azt szeretném használni" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "Már rendelkezem sip fiókkal, azt szeretném használni" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" -msgstr "Adja meg linphone.org felhasználónevét" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" +msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "Felhasználónév:" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "Jelszó:" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "Írja be fiókinformációit" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "Felhasználónév*" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "Jelszó*" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "Tartomány" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "Adja meg linphone.org felhasználónevét" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "Felhasználónév:" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "Jelszó:" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "(*) Mező kitöltése szükséges" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "Felhasználónév: (*)" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "Jelszó: (*)" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "E-mail: (*)" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "Jelszó megerősítése: (*)" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." -msgstr "Hiba, a fiók nincs érvényesítve. Valaki már használja ezt a felhasználónevet vagy a kiszolgáló nem elérhető.\nKérjük, lépjen vissza és próbálja újra." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." +msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "Köszönjük! Az Ön fiókját beállítottuk és használatra kész." - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "Kérjük, érvényesítse fiókját az általunk elektronikus levélben küldött hivatkozásra kattintva.\nAzután térjen vissza ide és kattintson a Következő gombra." -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "Hiba, a fiók nincs érvényesítve. Valaki már használja ezt a felhasználónevet vagy a kiszolgáló nem elérhető.\nKérjük, lépjen vissza és próbálja újra." + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "Köszönjük! Az Ön fiókját beállítottuk és használatra kész." + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "A fiók beállítása varázsló üdvözli Önt" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "Fiók beállítása varázsló" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "Az Ön fiókjának beállítása (1/1 lépés)" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "Adja meg sip felhasználónevét (1/2 lépés)" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "Adja meg a fiókinformációt (1/2 lépés)" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "Érvényesítés (2/2 lépés)" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "Hiba" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "Befejezés" @@ -1698,60 +1718,60 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "Kész" -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "Telefonszám-cél keresése..." -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "Nem sikkerült értelmezni a számot." #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "Kapcsolódás" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "Nem sikerült hívni" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Elnézést, elértük a egyidejű hívások maximális számát" -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "kapcsolatba lépett veled." -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr "és automatikus választ kért." -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "A hívási jellemzők módosítása..." -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "Kapcsolódva." -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "Hívás megszakítva" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "Nem sikerült várakoztatni a hívást" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "Jelenlegi hívás várakoztatásának aktiválása..." @@ -1827,131 +1847,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "Az Ön által megadott SIP identitás érvénytelen.\nÍgy kéne kinéznie: sip:felhasznalonev@proxytartomany, például sip:aladar@pelda.hu" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "Nem sikerült belépni ezzel: %s" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "Távoli csengés." -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "Távoli csengés..." -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "Korai médiák." -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "A hívás a következővel: %s várakoztatva" -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "%s fogadta a hívást - várakoztatva." -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "Hívás visszatért" -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "%s válaszolt a hívásra." -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "Nem kompatibilis, ellenőrizze a kódek- vagy a biztonsági beállításokat..." -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "Nem kompatibilis médiajellemzők." -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "Visszatértünk." #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "Megállítva a másik fél által." #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "A hívás távolról frissítve." -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "A hívás befejezve." -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "A felhasználó foglalt." -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "A felhasználó ideiglenesen nem elérhető" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "A felhasználó nem akarja, hogy zavarják." -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "Hívás elutasítva" -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "Átirányítva" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "Nem sikerült a hívás." -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "A regisztáció a %s -n sikerült." -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "A kiregisztrálás kész a következőn: %s ." -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "időtúllépés után nincs válasz" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "A regisztáció a %s -n nem sikerült: %s" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "Hitelesítési jel: %s" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/it.po b/po/it.po index a801a9acf..e8f4bda9d 100644 --- a/po/it.po +++ b/po/it.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Italian (http://www.transifex.com/projects/p/linphone-gtk/language/it/)\n" "MIME-Version: 1.0\n" @@ -17,59 +17,59 @@ msgstr "" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "Chiamata %s" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "Invia testo a %s" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "" @@ -87,45 +87,49 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "" -#: ../gtk/main.c:138 -msgid "path to a file to write logs into." -msgstr "" - #: ../gtk/main.c:139 -msgid "Start linphone with video disabled." +msgid "display version and exit." msgstr "" #: ../gtk/main.c:140 -msgid "Start only in the system tray, do not show the main interface." +msgid "path to a file to write logs into." msgstr "" #: ../gtk/main.c:141 -msgid "address to call right now" +msgid "Start linphone with video disabled." msgstr "" #: ../gtk/main.c:142 +msgid "Start only in the system tray, do not show the main interface." +msgstr "" + +#: ../gtk/main.c:143 +msgid "address to call right now" +msgstr "" + +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -133,129 +137,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "%s voui aggiungere il tuo contatto alla sua listaVoui permettere che lui veda il tuo stato o aggiungerlo alla tua lista dei contatti Se rispondi no questo utente sarà momentaneamente bloccato." -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "Chiamata terminata" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Chimata in entrata" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "Rifiuta" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "%s (Default)" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "" -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "Presenza" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "Nome" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "Cerca contatti nella directory %s" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "Contatto SIP non valido" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "Modifica contatto %s" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "Elimina contatto %s" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "Aggiungi nuovo contatto dalla directory %s" @@ -419,133 +423,149 @@ msgid_plural "Found %i contacts" msgstr[0] "Trovato %i contatto" msgstr[1] "Trovato %i contatti" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "Manuale utente" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "Password:" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "Manuale utente" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "Password:" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "Grazie. Il tuo account è configurato e pronto all'uso" - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "" -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "" + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "Grazie. Il tuo account è configurato e pronto all'uso" + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "Benvenuto nel configuratore di account" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "Configuratore di account" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "" @@ -1698,60 +1718,60 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "Pronto" -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "Ricerca numero destinazione..." -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "Impossibile risolvere il numero." #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "In connessione" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr "" -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "Connessione" -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "" @@ -1827,131 +1847,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "L'identità sip utilizza è invalida.\nDovrebbre essere sip:username@proxydomain, esempio: sip:alice@example.net" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "impossibile login come %s" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "" -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "" -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "" -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "" -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "" -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "" #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "Chiamata terminata." -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "Utente occupato" -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "Utente non disponibile" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "L'utente non vuole essere disturbato" -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "Chiamata rifiutata" -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "Registrazione su %s attiva" -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "Unregistrazione su %s" -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "timeout no risposta" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "Registrazione su %s fallita: %s" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/ja.po b/po/ja.po index 3707eeab9..98c4efafc 100644 --- a/po/ja.po +++ b/po/ja.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Japanese (http://www.transifex.com/projects/p/linphone-gtk/language/ja/)\n" "MIME-Version: 1.0\n" @@ -19,57 +19,57 @@ msgstr "" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "%s を呼び出し中" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "%s に文章を送信" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "通話時間 (%i)" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "n/a" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "中断" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "失敗" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "辞退" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "%i 分" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "%i 秒" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "%s品質: %s\n%s⇥%s⇥" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s⇥%s" @@ -87,45 +87,49 @@ msgstr "自分" msgid "Couldn't find pixmap file: %s" msgstr "pixmapファイルが見つかりません %s" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "実行中にいくつかのデバッグ情報をstdoutに送信します。" -#: ../gtk/main.c:138 +#: ../gtk/main.c:139 +msgid "display version and exit." +msgstr "" + +#: ../gtk/main.c:140 msgid "path to a file to write logs into." msgstr "ログを書き込むファイルへのパス。" -#: ../gtk/main.c:139 +#: ../gtk/main.c:141 msgid "Start linphone with video disabled." msgstr "ビデオを無効にしてLinphoneを開始します。" -#: ../gtk/main.c:140 +#: ../gtk/main.c:142 msgid "Start only in the system tray, do not show the main interface." msgstr "主なインターフェイスを表示しないでシステムトレイに移動します。" -#: ../gtk/main.c:141 +#: ../gtk/main.c:143 msgid "address to call right now" msgstr "今すぐに呼び出す" -#: ../gtk/main.c:142 +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "作業ディレクトリをSpecifiy (インストールした時のベースである必要があります。例:c:\\Program Files\\Linphone)" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "設定ファイル" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "オーディオアシスタントを実行" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -133,129 +137,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "%s が連絡相手にあなたを追加しようとしています。\nあなたのステータスを参照させるか、もしくは連絡先リストに追加することができます。\nあなたが拒否すると、この人は一時的にブラックリストへ登録されます。" -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "呼出エラー" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "呼出終了" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "着信" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "応答" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "拒否" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "呼び出しの一時停止" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "%s" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "ウェブサイトリンク" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "%s (デフォルト)" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "%s に転送しました" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "" -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "無料 SIP ビデオ-電話" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "電話帳に追加する" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "状態のステータス" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "名前" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "通話" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "チャット" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "%s のディレクトリ内を検索" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "無効なSIP接続です!" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "'%s' の連絡先を編集" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "'%s' の連絡先を削除" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "'%s' のチャット履歴を削除" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "" @@ -418,133 +422,149 @@ msgid "Found %i contact" msgid_plural "Found %i contacts" msgstr[0] "%i 件発見" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "ようこそ!\nあなたの通話のためのSIPアカウント設定をお手伝いします。" -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "linphone.orgのアカウントを作成" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "linphone.orgのアカウントを持っているのでそれを使います" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "SIPアカウントを持っているのでそれを使います" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" -msgstr "linphone.orgで取得したユーザー名を入力" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" +msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "ユーザー名:" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "パスワード:" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "アカウント情報を入力" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "ユーザー名*" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "パスワード*" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "ドメイン*" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "プロキシ*" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "linphone.orgで取得したユーザー名を入力" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "ユーザー名:" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "パスワード:" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "(*) 必須" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "ユーザー名: (*)" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "パスワード: (*)" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "メールアドレス: (*)" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "パスワードを再入力: (*)" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "アップデートでLinphoneを常に最新にする" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "ありがとう。あなたのアカウントは無事に設定され、使用する準備ができました。" - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "送信されたメールの本文内にあるリンクをクリックしてアカウントを有効にしてください。\nその後こちらへ戻って「次へ」を押してください。" -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "" + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "ありがとう。あなたのアカウントは無事に設定され、使用する準備ができました。" + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "SIPアカウント設定アシスタント" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "アカウント設定アシスタントへようこそ" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "アカウント設定アシスタント" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "アカウントを設定します (1/1)" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "SIPのユーザー名を入力してください (1/1)" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "アカウント情報を入力してください (1/2)" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "検証します (2/2)" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "エラー" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "終了" @@ -1697,60 +1717,60 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "準備" -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "" -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "" #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr "と自動応答を尋ねる" -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "コールパラメーターの変更..." -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "接続しました。" -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "呼び出しを打ち切る" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "呼び出しを一時停止できませんでした" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "現在の通話を一時停止..." @@ -1826,131 +1846,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "" -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "Early media." -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "" -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "" -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "" -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "" #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "呼び出し終了。" -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "相手はビジーです。" -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "相手は、今出られません。" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "相手は手が離せないようです。" -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "通話は拒否されました。" -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "リクエストは時間切れです。" -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "" -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/nb_NO.po b/po/nb_NO.po index 0d6edd4df..36eb99b9e 100644 --- a/po/nb_NO.po +++ b/po/nb_NO.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/p/linphone-gtk/language/nb_NO/)\n" "MIME-Version: 1.0\n" @@ -18,59 +18,59 @@ msgstr "" "Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "Ring %s" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "Send tekst til %s" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "" @@ -88,45 +88,49 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "Fant ikke pixmap fli: %s" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "skriv logg-informasjon under kjøring" -#: ../gtk/main.c:138 -msgid "path to a file to write logs into." -msgstr "" - #: ../gtk/main.c:139 -msgid "Start linphone with video disabled." +msgid "display version and exit." msgstr "" #: ../gtk/main.c:140 +msgid "path to a file to write logs into." +msgstr "" + +#: ../gtk/main.c:141 +msgid "Start linphone with video disabled." +msgstr "" + +#: ../gtk/main.c:142 msgid "Start only in the system tray, do not show the main interface." msgstr "Start skjult i systemkurven, ikke vis programbildet." -#: ../gtk/main.c:141 +#: ../gtk/main.c:143 msgid "address to call right now" msgstr "address som skal ringes nå" -#: ../gtk/main.c:142 +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "Spesifiser arbeidsmappe (bør være base for installasjonen, f.eks: c:\\Programfiler\\Linphone)" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -134,129 +138,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "%s vil legge deg til i hans/hennes kontaktliste.\nVil du tillate vedkommende å se din tilstedestatus eller legge vedkommende i din kontaktliste?\nHvis du svarer nei vil personen bli svartelyst midlertidig." -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "Samtale avsluttet" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Innkommende samtale" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "Svarer" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "Avvis" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "Peker til nettsted" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "%s (Standard)" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "Vi er overført til %s" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "Klarte ikke å finne noe lydkort på denne datamaskinen.\nDu vil ikke kunne sende eller motta lydsamtaler." -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "En gratis SIP video-telefon" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "Tilstedestatus" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "Navn" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "Søk i %s katalogen" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "Ugyldig SIP kontakt !" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "Rediger kontakt '%s'" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "Slett kontakt '%s'" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "Legg til kontakt fra %s katalogen" @@ -420,133 +424,149 @@ msgid_plural "Found %i contacts" msgstr[0] "Fant kontakt %i" msgstr[1] "Hittat kontakt %i" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "Brukernavn:" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "Passord:" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "Brukernavn:" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "Passord:" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "Takk. Ditt konto er nå satt opp og klart til bruk." - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "" -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "" + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "Takk. Ditt konto er nå satt opp og klart til bruk." + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "Velkommen til brukerkontoveiviseren" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "Brukerkontoveiviser" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "" @@ -1699,60 +1719,60 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "Klar" -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "Ser etter telefonnummer for destinasjonen..." -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "Kan ikke tilkoble dette nummeret." #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "Tilknytter" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "Kunne ikke ringe" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Beklager, du har nådd maksimalt antall samtidige samtaler" -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "Kontakter deg." -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr " og ba om autosvar." -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "Endrer ringeparametre..." -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "Tilkoblet" -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "Samtale avbrutt" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "Kunne ikke pause samtalen" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "Pauser nåværende samtale" @@ -1828,131 +1848,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "SIP adressen du har angitt er feil. Adressen bør se ut som sip: brukernavn@domenenavn, f.eks sip:ola@eksempel.no" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "Ikke ikke logge inn som %s" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "Ringer hos motparten." -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "Tidlig media" -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "Samtalen med %s er pauset." -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "Samtale besvart av %s - på vent." -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "Samtale gjenopptatt." -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "Samtale besvart av %s." -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "" #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "Samtale avsluttet." -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "Brukeren er opptatt." -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "Brukeren er midlertidig ikke tilgjengelig." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "Brukeren vil ikke bli forstyrret." -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "Samtale avvist." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "Omdirigert" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "Samtale feilet." -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "Registrering hos %s lykkes." -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "Avregistrering hos %s lykkes." -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "ingen svar innen angitt tid" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "Registrering hos %s mislykkes: %s" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/nl.po b/po/nl.po index 98034aaaf..b69c6e540 100644 --- a/po/nl.po +++ b/po/nl.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/linphone-gtk/language/nl/)\n" "MIME-Version: 1.0\n" @@ -18,59 +18,59 @@ msgstr "" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "%s bellen" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "SMS versturen aan %s" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "Recent oproepen (%i)" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "n.v.t." -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "Afgebroken" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "Gemist" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "Geweigerd" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "%i minuut" msgstr[1] "%i minuten" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "%i seconde" msgstr[1] "%i seconden" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "%s\tKwaliteit: %s\n%s\t%s\t" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s\t%s" @@ -88,45 +88,49 @@ msgstr "Ik" msgid "Couldn't find pixmap file: %s" msgstr "Het pixmap-bestand %s kon niet worden gevonden" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "loggen naar stdout om wat foutopsporingsinformatie te verkrijgen tijdens uitvoeren." -#: ../gtk/main.c:138 +#: ../gtk/main.c:139 +msgid "display version and exit." +msgstr "" + +#: ../gtk/main.c:140 msgid "path to a file to write logs into." msgstr "Pad naar een bestand om logbestanden heen te schrijven." -#: ../gtk/main.c:139 +#: ../gtk/main.c:141 msgid "Start linphone with video disabled." msgstr "Linphone opstarten met uitgeschakelde video." -#: ../gtk/main.c:140 +#: ../gtk/main.c:142 msgid "Start only in the system tray, do not show the main interface." msgstr "Alleen in het systeemvak opstarten, niet met venster en al." -#: ../gtk/main.c:141 +#: ../gtk/main.c:143 msgid "address to call right now" msgstr "adres om nu naar toe te bellen" -#: ../gtk/main.c:142 +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "Specificeer een werkmap (dit moet de basis van uw installatie zijn, bijv.: C:\\Program Files\\Linphone)" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "Configuratiebestand" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "Doorloop de audio-instelwizard" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "Draai een zelftest en exit 0 wanneer succesvol" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -134,129 +138,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "%s wil u toevoegen aan zijn/haar contactpersonenlijst.\nWilt u toestaan dat hij/zij uw aanwezigheidsstatus ziet of hem/haar toevoegen aan uw contactpersonenljst?\nIndien u nee antwoordt, zal deze persoon tijdelijk op de zwarte lijst worden gezet." -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "Vul uw wachtwoord in voor gebruikersnaam %s\nop realm %s" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "Oproepfout" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "Oproep beëindigd" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Inkomende oproep" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "Opnemen" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "Weigeren" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "Oproep gepauzeerd" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "door %s" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s stelt u voor om video in te schakelen. Wilt u dit accepteren?" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "Websitelink" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "%s (Standaard)" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "We zijn overgeschakeld naar %s" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "Er zijn geluidskaarten aangetroffen op deze computer.\nU zult niet in staat zijn om audio-oproepen te ontvangen of versturen." -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "Een gratis SIP-videotelefoon" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "Toevoegen aan adresboek" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "Aanwezigheidsstatus" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "Naam" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "Bellen" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "Chatten" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "Zoeken in de map %s" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "Ongeldig SIP-contactpersoon" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "Contactpersoon '%s' bewerken" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "Contactpersoon '%s' verwijderen" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "Chatgeschiedenis van '%s' verwijderen" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "Nieuw contactpersoon toevoegen vanuit de map %s" @@ -420,133 +424,149 @@ msgid_plural "Found %i contacts" msgstr[0] "%i contactpersoon gevonden" msgstr[1] "%i contactpersonen gevonden" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "Welkom!\nDeze instelwizard zal u begeleiden bij het gebruiken van een SIP-account voor oproepen." -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "Creëer een account op linphone.org" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "Ik heb al een linphone.org-account en wil deze graag gebruiken" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "Ik heb al een SIP-account en wil deze graag gebruiken" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "Ik wil een externe URI-configuratie opgeven" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" -msgstr "Vul uw linphone.org-gebruikersnaam in" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" +msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "Gebruikersnaam:" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "Wachtwoord:" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "Vul uw accountinformatie in" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "Gebruikersnaam*" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "Wachtwoord*" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "Domeinnaam*" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "Vul uw linphone.org-gebruikersnaam in" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "Gebruikersnaam:" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "Wachtwoord:" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "(*) Verplichte velden" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "Gebruikersnaam: (*)" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "Wachtwoord: (*)" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "E-mailadres: (*)" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "Bevestig uw wachtwoord: (*)" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "Houdt me op de hoogte van linphone-updates" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." -msgstr "Er is een fout opgetreden: uw account is niet gevalideerd, de gebruikersnaam wordt al door iemand anders gebruikt of de server is onbereikbaar.\nGa terug en probeer het opnieuw." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." +msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "Bedankt. Uw account is nu ingesteld en klaar voor gebruik." - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "Valideer uw account door te klikken op de link die we zojuist naar uw e-mailadres hebben verstuurd.\nKom dan terug naar dit venster en klik op de knop Volgende." -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "Er is een fout opgetreden: uw account is niet gevalideerd, de gebruikersnaam wordt al door iemand anders gebruikt of de server is onbereikbaar.\nGa terug en probeer het opnieuw." + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "Bedankt. Uw account is nu ingesteld en klaar voor gebruik." + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "SIP-account-instelwizard" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "Welkom bij de account-instelwizard" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "Account-instelwizard" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "Uw account instellen (stap 1/1)" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "Vul uw SIP-gebruikersnaam in (stap 1/1)" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "Vul uw accountinformatie in (stap 1/2)" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "Geldigheid (stap 2/2)" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "Fout" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "Bezig met vernietigen" @@ -1699,60 +1719,60 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "Gereed." -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "Zoekt de lokatie van het telefoonnummer..." -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "Kon dit nummer niet vinden." #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "Verbinden" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr "" -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "Verbonden." -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "" @@ -1828,131 +1848,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "" -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "" -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "" -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "" -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "" -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "" #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "Oproep beeindigd." -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "Gebruiker is bezet." -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "Gebruiker is tijdelijk niet beschikbaar." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "De gebruiker wenst niet gestoord te worden." -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "Oproep geweigerd." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "Registratie op %s gelukt." -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/pl.po b/po/pl.po index 6dbfbfdb0..7b44728bc 100644 --- a/po/pl.po +++ b/po/pl.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Polish (http://www.transifex.com/projects/p/linphone-gtk/language/pl/)\n" "MIME-Version: 1.0\n" @@ -17,38 +17,38 @@ msgstr "" "Language: pl\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" @@ -56,7 +56,7 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" @@ -64,14 +64,14 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "" @@ -89,45 +89,49 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "Nie można znaleźć pixmapy: %s" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "" -#: ../gtk/main.c:138 -msgid "path to a file to write logs into." -msgstr "" - #: ../gtk/main.c:139 -msgid "Start linphone with video disabled." +msgid "display version and exit." msgstr "" #: ../gtk/main.c:140 -msgid "Start only in the system tray, do not show the main interface." +msgid "path to a file to write logs into." msgstr "" #: ../gtk/main.c:141 -msgid "address to call right now" +msgid "Start linphone with video disabled." msgstr "" #: ../gtk/main.c:142 +msgid "Start only in the system tray, do not show the main interface." +msgstr "" + +#: ../gtk/main.c:143 +msgid "address to call right now" +msgstr "" + +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -135,129 +139,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "" -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "Nazwa" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "" @@ -422,133 +426,149 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "" - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "" -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "" + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "" + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "" @@ -1701,60 +1721,60 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "" -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "" -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "" #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr "" -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "Połączony" -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "" @@ -1830,131 +1850,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "" -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "" -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "" -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "" -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "" -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "" #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "" -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "Osoba jest zajęta." -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "Osoba jest tymczasowo niedostępna." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "Osoba nie chce, aby jej przeszkadzać." -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "Rozmowa odrzucona." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "" -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/pt_BR.po b/po/pt_BR.po index 00d0b57e3..fc9c78344 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/linphone-gtk/language/pt_BR/)\n" "MIME-Version: 1.0\n" @@ -17,59 +17,59 @@ msgstr "" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "" @@ -87,45 +87,49 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "Não é possível achar arquivo pixmap: %s" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "" -#: ../gtk/main.c:138 -msgid "path to a file to write logs into." -msgstr "" - #: ../gtk/main.c:139 -msgid "Start linphone with video disabled." +msgid "display version and exit." msgstr "" #: ../gtk/main.c:140 -msgid "Start only in the system tray, do not show the main interface." +msgid "path to a file to write logs into." msgstr "" #: ../gtk/main.c:141 -msgid "address to call right now" +msgid "Start linphone with video disabled." msgstr "" #: ../gtk/main.c:142 +msgid "Start only in the system tray, do not show the main interface." +msgstr "" + +#: ../gtk/main.c:143 +msgid "address to call right now" +msgstr "" + +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -133,129 +137,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Camadas recebidas" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "" -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "Status de presença" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "Nome" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "" @@ -419,133 +423,149 @@ msgid_plural "Found %i contacts" msgstr[0] "" msgstr[1] "" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "" - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "" -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "" + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "" + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "" @@ -1698,60 +1718,60 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "" -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "Procurando por telefone de destino..." -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "Não foi possível encontrar este número." #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr "" -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "Conectado." -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "" @@ -1827,131 +1847,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "" -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "" -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "" -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "" -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "" -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "" #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "" -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "Usuário está ocupado." -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "Usuário está temporáriamente indisponível." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "" -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "" -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "" -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/ru.po b/po/ru.po index a82543013..8cfbb2c60 100644 --- a/po/ru.po +++ b/po/ru.po @@ -12,71 +12,73 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Russian (http://www.transifex.com/projects/p/linphone-gtk/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "Звонок %s" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "Послать текст для %s" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "Последние вызовы (%i)" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "—" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "Прервано" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "Пропущено" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "Отклонено" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "%i минута" msgstr[1] "%i минуты" msgstr[2] "%i минут" +msgstr[3] "%i минут" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "%i секунда" msgstr[1] "%i секунды" msgstr[2] "%i секунд" +msgstr[3] "%i секунд" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "%s\tКачество: %s\n%s\t%s\t" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s\t%s" @@ -94,45 +96,49 @@ msgstr "Мне" msgid "Couldn't find pixmap file: %s" msgstr "Невозможно найти графический файл: %s" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "Вывод некоторой отладочной информации на устройство стандартного вывода во время работы." -#: ../gtk/main.c:138 +#: ../gtk/main.c:139 +msgid "display version and exit." +msgstr "" + +#: ../gtk/main.c:140 msgid "path to a file to write logs into." msgstr "Путь к файлу для записи логов." -#: ../gtk/main.c:139 +#: ../gtk/main.c:141 msgid "Start linphone with video disabled." msgstr "Запуск linphone с видео отключен." -#: ../gtk/main.c:140 +#: ../gtk/main.c:142 msgid "Start only in the system tray, do not show the main interface." msgstr "Показывать только в системном лотке, не запуская главное окно." -#: ../gtk/main.c:141 +#: ../gtk/main.c:143 msgid "address to call right now" msgstr "Адрес для звонка прямо сейчас." -#: ../gtk/main.c:142 +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "Определить рабочий каталог (относительно каталога установки, например: c:\\Program Files\\Linphone)" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "Файл конфигурации" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "Запустить помощника аудио" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "Запустить самотест и выйти при успехе со статусом 0" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -140,129 +146,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "%s вы бы хотели быть добавленным в этот контактный лист.\nВы разрешаете ему(ей) видеть ваш статус присутствия или добавить в контактный лист?\nЕсли вы ответите Нет, эта персона будет временно в чёрном списке." -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "Пожалуйста, введите пароль для пользователя %s\n для реалм (рилм) %s:" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "Ошибка звонка" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "Звонок окончен" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Входящий звонок" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "Ответ" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "Отклонить" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "Звонок приостановлен" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "%s" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s предложил запустить видео. Вы принимаете?" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "Домашняя страница" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" -msgstr "" +msgstr "Видео интернет телефон" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "%s (по умолчанию)" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "Мы передали в %s" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "Звуковые карты не были обнаружены на этом компьютере.\nВы не сможете отправлять или получать аудио звонки." -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "Свободный SIP видео-телефон" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "Привет\n" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "Добавить в адресную книгу" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "Статус присутствия" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "Имя" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "Звонок" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "Чат" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "Поиск в директории %s" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "Неверный sip контакт!" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "Редактировать контакт '%s'" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "Удалить контакт '%s'" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "Удалить историю чата для '%s'" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "Добавить новый контакт из директории '%s'" @@ -426,134 +432,151 @@ msgid_plural "Found %i contacts" msgstr[0] "Найден %i контакт" msgstr[1] "Найдено %i контакта" msgstr[2] "Найдено %i контактов" +msgstr[3] "Найдено %i контактов" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "Добро пожаловать!\nЭтот ассистент поможет вам использовать SIP аккаунт для ваших звонков." -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "Создать учётную запись на linphone.org" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "Я уже имею учётную запись на linphone.org и только хочу использовать её" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "Я уже имею учётную запись sip и только хочу использовать её" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "Я хочу указать удалённую конфигурацию URI" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" -msgstr "Введите ваше имя пользователя для linphone.org" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" +msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "Имя пользователя:" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "Пароль:" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "Введите вашу информацию об учётной записи" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "Имя пользователя*" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "Пароль*" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "Домен*" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "Прокси" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "Введите ваше имя пользователя для linphone.org" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "Имя пользователя:" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "Пароль:" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "(*) Обязательные поля" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "Имя пользователя: (*)" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "Пароль: (*)" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "Электронная почта: (*)" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "Подтвердите ваш пароль: (*)" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "Информировать об обновлениях linphone" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." -msgstr "Ошибка, учётная запись не подтверждена, имя пользователя уже используется или\nсервер недоступен. Пожалуйста, зайдите снова и попробуйте ещё раз." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." +msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "Спасибо! Учётная запись успешно настроена и готова к использованию." - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "Пожалуйста, подтвердите вашу учётную запись, щёлкнув на ссылку, которую вы только\nчто получили по электронной почте. Затем вернитесь сюда и нажмите кнопку Далее." -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "Ошибка, учётная запись не подтверждена, имя пользователя уже используется или\nсервер недоступен. Пожалуйста, зайдите снова и попробуйте ещё раз." + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "Спасибо! Учётная запись успешно настроена и готова к использованию." + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "Помощник настройки учётной записи SIP" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "Добро пожаловать в помощник настройки учётной записи" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "Помощник настройки учётной записи" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "Настроить вашу учётную запись (шаг 1/1)" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "Введите ваше sip имя пользователя (шаг 1/1)" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "Введите информацию об учётной записи (шаг 1/2)" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "Подтверждение (шаг 2/2)" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "Ошибка" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "Прерывание" @@ -1706,60 +1729,60 @@ msgstr "Конфигурирование..." msgid "Please wait while fetching configuration from server..." msgstr "Пожалуйста, подождите пока получается конфигурация с сервера..." -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "Готов" -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "Конфигурирование" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "Поиск назначения для телефонного номера.." -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "Не получилось принять решение по этому номеру." #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "Соединение" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "Невозможно позвонить" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "К сожалению, мы достигли максимального количества одновременных звонков" -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "контактирует с вами" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr "и спросил автоматический ответ." -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "Изменение параметров звонка..." -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "Соединён." -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "Звонок отменён" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "Невозможно приостановить звонок" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "Приостановка текущего звонка..." @@ -1835,137 +1858,138 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "Неверные параметры для sip идентификации\nДолжно выглядеть как sip:имя_пользователя@домен_прокси, как например, sip:alice@example.net" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "Невозможно зайти как: %s" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "Дистанционный звонок." -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "Дистанционный звонок..." -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "Предответное проключение." -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "Звонок с %s приостановлен." -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "На звонок ответил %s - на удержании." -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "Звонок возобновлён." -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "На звонок ответил %s." -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "Несовместимость, проверьте кодеки или параметры безопасности..." -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "Несовместимость медиа-параметров." -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "Мы возобновили." #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "Мы приостановлены другой стороной." #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "Звонок был дистанционно обновлён." -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "Звонок прерван." -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "Пользователь занят." -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "Пользователь временно недоступен." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "Пользователь не хочет чтобы его беспокоили." -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "Звонок отклонён." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "Таймаут запроса." -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "Переадресован" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "Звонок не удался." -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "Регистрация на %s прошла успешно." -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "Отмена регистрации на %s завершена." -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "время ожидания истекло" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "Регистрация на %s не удалась: %s" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "Сервис недоступен, повтор" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "Маркер проверки подлинности: %s" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "Параметры звонка были успешно изменены." -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." msgstr[0] "У вас %i пропущенный вызов." msgstr[1] "У вас %i пропущенных вызова." msgstr[2] "У вас %i пропущенных вызов." +msgstr[3] "У вас %i пропущенных вызов." #: ../coreapi/call_log.c:209 msgid "aborted" diff --git a/po/sr.po b/po/sr.po index 6adc05f37..70f4984da 100644 --- a/po/sr.po +++ b/po/sr.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Serbian (http://www.transifex.com/projects/p/linphone-gtk/language/sr/)\n" "MIME-Version: 1.0\n" @@ -18,38 +18,38 @@ msgstr "" "Language: sr\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "Позови „%s“" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "Пошаљи текст за %s" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "Недавни позиви (%i)" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "н/д" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "Прекинут" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "Пропуштен" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "Одбијен" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" @@ -57,7 +57,7 @@ msgstr[0] "%i минут" msgstr[1] "%i минута" msgstr[2] "%i минута" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" @@ -65,14 +65,14 @@ msgstr[0] "%i секунда" msgstr[1] "%i секунде" msgstr[2] "%i секунди" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "%s\tКвалитет: %s\n%s\t%s\t" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s\t%s" @@ -90,45 +90,49 @@ msgstr "Ја" msgid "Couldn't find pixmap file: %s" msgstr "Не могу да пронађем датотеку сличице: %s" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "бележи на стандардни излаз неке податке прочишћавања док ради." -#: ../gtk/main.c:138 +#: ../gtk/main.c:139 +msgid "display version and exit." +msgstr "" + +#: ../gtk/main.c:140 msgid "path to a file to write logs into." msgstr "путања до датотеке за уписивање дневника." -#: ../gtk/main.c:139 +#: ../gtk/main.c:141 msgid "Start linphone with video disabled." msgstr "Покреће линфон са искљученим видеом." -#: ../gtk/main.c:140 +#: ../gtk/main.c:142 msgid "Start only in the system tray, do not show the main interface." msgstr "Покреће се само у системској фиоци, не приказује главно сучеље." -#: ../gtk/main.c:141 +#: ../gtk/main.c:143 msgid "address to call right now" msgstr "адреса за позивање управо сада" -#: ../gtk/main.c:142 +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "Наводи радни директоријум (треба да буде основа инсталације, нпр: „c:\\Program Files\\Linphone“)" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "Датотека подешавања" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "Покреће помоћника звука" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "Покреће самоиспробавање и излази 0 ако је успешно" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -136,129 +140,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "%s жели да вас дода на списак пријатеља.\nДа ли желите да му допустите да види ваше стање присуства или да га додате на ваш списак пријатеља ?\nАко одговорите са не, ова особа ће привремено бити стављена на списак забрана." -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "Унесите вашу лозинку за корисничко име %s\n на подручју %s:" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "Грешка позива" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "Позив је завршен" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Долазни позив" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "Јави се" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "Одбиј" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "Позив је заустављен" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "од %s" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s предлаже да започнете видео. Да ли прихватате ?" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "Веза веб сајта" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Линфон" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "%s (основно)" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "Преселили смо се на %s" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "Ниједна звучна картица није откривена на овом рачунару.\nНећете бити у могућности да шаљете или да примате звучне позиве." -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "Слободан СИП телефон са снимком" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "Додајте у адресар" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "Стање присуства" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "Име" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "Позови" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "Ћаскај" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "Тражи у директоријуму „%s“" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "Неисправан сип контакт !" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "Уредите контакт „%s“" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "Обришите контакт „%s“" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "Обришите историјат ћаскања за „%s“" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "Додајте нови контакт из директоријума „%s“" @@ -423,133 +427,149 @@ msgstr[0] "Нашао сам %i контакт" msgstr[1] "Нашао сам %i контакта" msgstr[2] "Нашао сам %i контаката" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "Добро дошли!\nОвај помоћник ће вам помоћи да користите СИП налог за ваше позиве." -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "Направи налог на линфон.орг-у" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "Већ имам налог линфон.орг-а и желим да га користим" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "Већ имам сип налог и желим да га користим" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "Желим да наведем удаљену путању подешавања" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" -msgstr "Унесите ваше корисничко име линфон.орг-а" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" +msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "Корисничко име:" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "Лозинка:" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "Унесите податке вашег налога" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "Корисник*" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "Лозинка*" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "Домен*" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "Посредник" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "Унесите ваше корисничко име линфон.орг-а" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "Корисничко име:" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "Лозинка:" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "(*) Обавезна поља" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "Корисник: (*)" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "Лозинка: (*)" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "Ел. пошта: (*)" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "Потврдите вашу лозинку: (*)" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "Обавештавај ме о ажурирањима линфона" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." -msgstr "Грешка, налог није потврђен, корисничко име је већ у употреби или је сервер недоступан.\nВратите се назад и покушајте опет." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." +msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "Хвала вам. Ваш налог је сада подешен и спреман за употребу." - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "Потврдите ваш налог притиском на везу коју смо вам управо послали ел. поштом.\nЗатим се вратите овде и притисните дугме „Напред“." -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "Грешка, налог није потврђен, корисничко име је већ у употреби или је сервер недоступан.\nВратите се назад и покушајте опет." + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "Хвала вам. Ваш налог је сада подешен и спреман за употребу." + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "Помоћник подешавања СИП налога" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "Добро дошли у помоћника подешавања налога" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "Помоћник подешавања налога" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "Подесите ваш налог (корак 1/1)" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "Унесите ваше корисничко име сип-а (корак 1/1)" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "Унесите податке налога (корак 1/2)" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "Потврђивање (корак 2/2)" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "Грешка" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "Завршавам" @@ -1702,60 +1722,60 @@ msgstr "Подешавам..." msgid "Please wait while fetching configuration from server..." msgstr "Сачекајте док довучем подешавања са сервера..." -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "Спреман" -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "Подешавам" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "Тражим одредиште телефонског броја..." -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "Не могу да решим овај број." #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "Ступам у везу" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "Не могу да позовем" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Извините, достигли смо највећи број истовремених позива" -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "вам се обраћа" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr " и затражени само-одговор." -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "Мењам параметре позива..." -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "Повезан сам." -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "Позив је прекинут" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "Не могу да зауставим позив" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "Заустављам тренутни позив..." @@ -1831,131 +1851,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "Сип идентитет који сте унели није исправан.\nТреба да изгледа као „sip:корисник@домен-посредника, као што је „sip:alice@example.net“" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "Не могу да се пријавим као %s" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "Удаљено звоњење." -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "Удаљено звоњење..." -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "Ранији медиј." -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "Позив са „%s“ је заустављен." -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "Позив на који је одговорио „%s“ — на чекању." -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "Позив је настављен." -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "На позив је одговорио „%s“." -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "Несагласно, проверите кодеке или безбедносна подешавања..." -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "Медијски параметри су несагласни." -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "Наставили смо." #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "Друга страна нас је паузирала." #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "Позив је освежен удаљеним." -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "Позив је завршен." -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "Корисник је заузет." -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "Корисник је привремено недоступан." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "Корисник не жели да буде узнемираван." -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "Позив је одбијен." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "Истекло је време захтева." -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "Преусмерен" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "Позив није успео." -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "Уписивање на „%s“ је успело." -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "Исписивање са „%s“ је обављено." -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "нема ограничења одговора" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "Уписивање на „%s“ није успело: %s" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "Услуга није доступна, поново покушавам" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "Симбол потврђивања идентитета је „%s“" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/sv.po b/po/sv.po index bbc77c665..62321e372 100644 --- a/po/sv.po +++ b/po/sv.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/linphone-gtk/language/sv/)\n" "MIME-Version: 1.0\n" @@ -17,59 +17,59 @@ msgstr "" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "Ringer %s" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "Skicka text till %s" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "" @@ -87,45 +87,49 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "Kunde inte hitta pixmap filen: %s" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "skriv loggning information under körning" -#: ../gtk/main.c:138 -msgid "path to a file to write logs into." -msgstr "" - #: ../gtk/main.c:139 -msgid "Start linphone with video disabled." +msgid "display version and exit." msgstr "" #: ../gtk/main.c:140 +msgid "path to a file to write logs into." +msgstr "" + +#: ../gtk/main.c:141 +msgid "Start linphone with video disabled." +msgstr "" + +#: ../gtk/main.c:142 msgid "Start only in the system tray, do not show the main interface." msgstr "Starta ikonifierat, visa inte huvudfönstret" -#: ../gtk/main.c:141 +#: ../gtk/main.c:143 msgid "address to call right now" msgstr "Samtalsmottagare" -#: ../gtk/main.c:142 +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "Välj en arbetskatalog som ska vara basen för installationen, såsom C:\\Program\\Linphone" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -133,129 +137,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "%s skulle vilja lägga till dig till hans/hennes kontaktlista.\nVill du tillåta honom/henne att se din närvarostatus eller lägga till honom/henne till din kontaktlista?\nOm du svarar nej, personen kommer att vara bannlyst." -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "Samtalet slut" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Inkommande samtal" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "Avböj" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "Webbsajt" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "%s (Default)" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "" -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "En gratis SIP video-telefon" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "Närvarostatus" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "Namn" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "Sök i %s katalogen" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "ogiltig SIP kontakt!" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "Ändra kontakt '%s'" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "Ta bort kontakt '%s'" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "Lägg till kontakt ifrån %s katalogen" @@ -419,133 +423,149 @@ msgid_plural "Found %i contacts" msgstr[0] "Hittat kontakt %i" msgstr[1] "Hittat kontakt %i" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "Användarnamn:" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "Lösenord:" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "Användarnamn:" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "Lösenord:" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "Tack. Ditt konto är nu konfigurerad och färdig att användas." - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "" -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "" + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "Tack. Ditt konto är nu konfigurerad och färdig att användas." + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "Välkommen till kontoinstallationsassistenten" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "Kontoinstallationsassistenten" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "" @@ -1698,60 +1718,60 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "Redo" -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "Leta efter telefonnummer för destinationen..." -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "Kan inte nå dett nummer." #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "Kontaktar" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr "" -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "Kopplad" -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "" @@ -1827,131 +1847,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "SIP adressen som du matade in är inte rätt. Adressen borde se ut som sip:namn@domän, såsom sip:peter@exempel.se" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "Kunde inte logga in som %s" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "Ringer hos motparten." -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "Tidig media" -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "" -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "" -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "" -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "" #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "Samtalet slut." -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "Användare upptagen." -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "Användaren temporärt inte tillgänglig." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "Användaren vill inte bli störd." -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "Samtalet avböjdes." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "Registrering hos %s lyckades." -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "Avregistrering hos %s lyckades." -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "Inget svar inom angiven tid" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "Registrering hos %s mislyckades: %s" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/tr.po b/po/tr.po index e2d9c815e..3214dabdc 100644 --- a/po/tr.po +++ b/po/tr.po @@ -8,8 +8,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Turkish (http://www.transifex.com/projects/p/linphone-gtk/language/tr/)\n" "MIME-Version: 1.0\n" @@ -18,59 +18,59 @@ msgstr "" "Language: tr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "İptal edildi" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "Yanıtsız" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "Reddedildi" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "" @@ -88,45 +88,49 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "" -#: ../gtk/main.c:138 +#: ../gtk/main.c:139 +msgid "display version and exit." +msgstr "" + +#: ../gtk/main.c:140 msgid "path to a file to write logs into." msgstr "Günlükleri içine yazmak için bir dosya yolu" -#: ../gtk/main.c:139 +#: ../gtk/main.c:141 msgid "Start linphone with video disabled." msgstr "Linphonu görüntü olmadan başlat" -#: ../gtk/main.c:140 +#: ../gtk/main.c:142 msgid "Start only in the system tray, do not show the main interface." msgstr "Sadece sistem tepsisinde başlat, ana arayüzü gösterme." -#: ../gtk/main.c:141 +#: ../gtk/main.c:143 msgid "address to call right now" msgstr "adres ara" -#: ../gtk/main.c:142 +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "Bir çalışma dizini belirtin (kurulum temelinde olmalı,örneğin: c:\\Program Files\\Linphone)" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "Yapılandırma dosyası" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "Ses yardımcısını çalıştır" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -134,129 +138,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "Çağrı yanlış" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "Çağrı sonlandırıldı" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Gelen çağrı" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "Yanıt" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "Reddet" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "Çağrı duraklatıldı" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "İnternet " -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" -msgstr "" +msgstr "Görüntülü internet telefonu" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "" -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "Özgür bir SİP görüntülü-telefon" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "Merhaba\n" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "Adres defterine ekle" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "durum bilgisi" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "Ad" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "Çağrı" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "Söyleşi" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "Geçersiz sip bağlantısı !" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "" @@ -395,7 +399,7 @@ msgstr "En son sürümü çalıştırıyorsunuz" #: ../gtk/buddylookup.c:85 msgid "Firstname, Lastname" -msgstr "" +msgstr "İlk ad, Son ad" #: ../gtk/buddylookup.c:160 msgid "Error communicating with server." @@ -420,133 +424,149 @@ msgid_plural "Found %i contacts" msgstr[0] "" msgstr[1] "" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "Hoşgeldiniz!\nBu yardımcı,çağrılarınız için bir SIP hesabı kullanmanıza yardım edecek." -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "linphone.org'da bir hesap oluştur" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" -msgstr "linphone.org kullanıcı adınızı girin" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" +msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "Kullanıcı adı:" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "Parola:" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "Hesap bilgilerinizi girin" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "Kallanıcı adı*" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "Parola*" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "Alan adı*" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "Vekil sunucu" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "linphone.org kullanıcı adınızı girin" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "Kullanıcı adı:" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "Parola:" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "(*) Zorunlu alanlar" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "Kullanıcı adı: (*)" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "Parola: (*)" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "E-posta: (*)" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "Parolanızı onaylayın: (*)" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "linphone güncellemeleri hakkında beni bilgilendir" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." -msgstr "Hata,hesap geçersiz,kullanıcı adı kullanılıyor veya sunucuya erişilemiyor.\nLütfen geri dönün ve tekrar deneyin." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." +msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "Teşekkürler. Hesabınız yapılandırıldı ve kullanıma hazır." - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "Lütfen size e-posta yoluyla gönderdiğimiz bağlantıyı tıklayarak hesabınızı doğrulayın.\nSonra buraya geri dönün ve İleri düğmesine basın." -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "Hata,hesap geçersiz,kullanıcı adı kullanılıyor veya sunucuya erişilemiyor.\nLütfen geri dönün ve tekrar deneyin." + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "Teşekkürler. Hesabınız yapılandırıldı ve kullanıma hazır." + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "SİP hesabı yapılandırma yardımcısı" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "Hesap açma yardımcısına hoşgeldiniz" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "Hesap açma yardımcısı" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "Hesabınızı yapılandırın (adım 1/1)" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "sip kullanıcı adınızı girin (adım 1/1)" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "Hesap bilgilerini girin (adım 1/2)" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "Doğrulama (adım 2/2)" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "Hata" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "Sonlandırma" @@ -684,7 +704,7 @@ msgstr "" #: ../gtk/incall_view.c:697 msgid "Set unverified" -msgstr "" +msgstr "Doğrulanmamış ayar" #: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 msgid "Set verified" @@ -848,7 +868,7 @@ msgstr "" #: ../gtk/audio_assistant.c:529 msgid "Record and Play" -msgstr "" +msgstr "Kaydet ve Oynat" #: ../gtk/main.ui.h:1 msgid "Callee name" @@ -860,7 +880,7 @@ msgstr "Gönder" #: ../gtk/main.ui.h:3 msgid "End conference" -msgstr "" +msgstr "Grup görüşme son" #: ../gtk/main.ui.h:7 msgid "Record this call to an audio file" @@ -1148,11 +1168,11 @@ msgstr "kimliği belirsiz" #: ../gtk/parameters.ui.h:2 msgid "GSSAPI" -msgstr "" +msgstr "GSSAPI" #: ../gtk/parameters.ui.h:3 msgid "SASL" -msgstr "" +msgstr "SASL" #: ../gtk/parameters.ui.h:4 msgid "default soundcard" @@ -1699,60 +1719,60 @@ msgstr "Yapılandırılıyor..." msgid "Please wait while fetching configuration from server..." msgstr "" -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "Hazır" -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "Yapılandırılıyor" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "" -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "" #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "Bağlanıyor" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr "" -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "Bağlandı." -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "Çağrı iptal edildi" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "" @@ -1828,131 +1848,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "" -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "" -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "" -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "" -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "" -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "" #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "Çağrı sonlandırıldı" -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "Kullanıcı meşgul" -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "Kullanıcı rahatsız edilmek istemiyor." -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "Çağrı reddedildi." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "İstek zamanaşımına uğradı." -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "Yeniden yönlendirildi" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "Arama başarısız" -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "" -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "Servis kullanımdışı, tekrar deneyin" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/zh_CN.po b/po/zh_CN.po index 00322bce9..6d630339d 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Chinese (China) (http://www.transifex.com/projects/p/linphone-gtk/language/zh_CN/)\n" "MIME-Version: 1.0\n" @@ -17,57 +17,57 @@ msgstr "" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "呼叫 %s" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "发送消息给 %s" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "" @@ -85,45 +85,49 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "无法打开位图文件:%s" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "运行时向标准输出记录调试信息。" -#: ../gtk/main.c:138 -msgid "path to a file to write logs into." -msgstr "" - #: ../gtk/main.c:139 -msgid "Start linphone with video disabled." +msgid "display version and exit." msgstr "" #: ../gtk/main.c:140 +msgid "path to a file to write logs into." +msgstr "" + +#: ../gtk/main.c:141 +msgid "Start linphone with video disabled." +msgstr "" + +#: ../gtk/main.c:142 msgid "Start only in the system tray, do not show the main interface." msgstr "启动到系统托盘,不显示主界面。" -#: ../gtk/main.c:141 +#: ../gtk/main.c:143 msgid "address to call right now" msgstr "现在呼叫的地址" -#: ../gtk/main.c:142 +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "指定工作目录(应为安装目录例如 C:\\Program Files\\Linphone)" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -131,129 +135,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "%s 想加您为联系人。\n您是否允许他看到您的在线状态或者将它加为您的联系人允许?\n如果您回答否,则会将该人临时性的放入黑名单" -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "呼叫结束" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "呼入" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "拒绝" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "网站" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "%s (默认)" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "未在此计算机上检测到声卡。\n您无法发送或接收音频呼叫。" -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "免费的 SIP 视频电话" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "在线状态" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "名称" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "在 %s 目录中查找 " -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "无效的 SIP 联系人!" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "编辑联系人 %s" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "删除联系人 %s" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "从 %s 目录增加联系人 " @@ -416,133 +420,149 @@ msgid "Found %i contact" msgid_plural "Found %i contacts" msgstr[0] "找到 %i 联系方式" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "用户名:" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "密码:" - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "用户名:" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "密码:" + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "谢谢,您的帐户已经配置完毕,可以使用。" - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "" -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "" + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "谢谢,您的帐户已经配置完毕,可以使用。" + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "欢迎使用帐户设置向导" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "帐户设置向导" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "" @@ -1695,60 +1715,60 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "就绪" -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "查询电话号码目的地..." -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "该号码无法解析。" #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "联系中" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "正在联系您" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr " 并询问了自动回答。" -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "已连接。" -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "" @@ -1824,131 +1844,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "您输入的地址无效。\n它应具有“sip:用户名@代理域”的形式,例如 sip:alice@example.net" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "无法登录为 %s" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "响铃。" -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "" -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "" -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "" -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "" -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "" #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "通话结束。" -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "被叫正忙。" -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "您呼叫的用户暂时无法接通。" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "用户已开启免打扰功能。" -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "呼叫被拒绝。" -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "已重定向" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "呼叫失败。" -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "成功注册到 %s" -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "已在 %s 解除注册。" -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "没有响应,超时" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "注册到 %s 失败: %s" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/zh_TW.po b/po/zh_TW.po index 0e5d4080f..718dde598 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-04-30 10:13+0200\n" -"PO-Revision-Date: 2015-04-30 08:13+0000\n" +"POT-Creation-Date: 2015-06-09 11:47+0200\n" +"PO-Revision-Date: 2015-06-09 09:47+0000\n" "Last-Translator: Belledonne Communications \n" "Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/linphone-gtk/language/zh_TW/)\n" "MIME-Version: 1.0\n" @@ -17,57 +17,57 @@ msgstr "" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../gtk/calllogs.c:148 ../gtk/friendlist.c:974 +#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:978 #, c-format msgid "Call %s" msgstr "播打給 %s" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:975 +#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:979 #, c-format msgid "Send text to %s" msgstr "傳送文字給 %s" -#: ../gtk/calllogs.c:232 +#: ../gtk/calllogs.c:233 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:314 +#: ../gtk/calllogs.c:315 msgid "n/a" msgstr "" -#: ../gtk/calllogs.c:317 +#: ../gtk/calllogs.c:318 msgid "Aborted" msgstr "" -#: ../gtk/calllogs.c:320 +#: ../gtk/calllogs.c:321 msgid "Missed" msgstr "" -#: ../gtk/calllogs.c:323 +#: ../gtk/calllogs.c:324 msgid "Declined" msgstr "" -#: ../gtk/calllogs.c:329 +#: ../gtk/calllogs.c:330 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "" -#: ../gtk/calllogs.c:332 +#: ../gtk/calllogs.c:333 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "" -#: ../gtk/calllogs.c:337 +#: ../gtk/calllogs.c:338 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:341 +#: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "" @@ -85,45 +85,49 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "找不到 pixmap 檔:%s" -#: ../gtk/main.c:137 +#: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "執行時將一些除錯資訊記錄到標準輸出。" -#: ../gtk/main.c:138 -msgid "path to a file to write logs into." -msgstr "" - #: ../gtk/main.c:139 -msgid "Start linphone with video disabled." +msgid "display version and exit." msgstr "" #: ../gtk/main.c:140 +msgid "path to a file to write logs into." +msgstr "" + +#: ../gtk/main.c:141 +msgid "Start linphone with video disabled." +msgstr "" + +#: ../gtk/main.c:142 msgid "Start only in the system tray, do not show the main interface." msgstr "只在系統匣啟動,不要顯示主要介面。" -#: ../gtk/main.c:141 +#: ../gtk/main.c:143 msgid "address to call right now" msgstr "現在要打電話的位址" -#: ../gtk/main.c:142 +#: ../gtk/main.c:144 msgid "" "Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" msgstr "指定一個工作目錄(應該為安裝的根目錄,例如:c:\\Program Files\\Linphone)" -#: ../gtk/main.c:143 +#: ../gtk/main.c:145 msgid "Configuration file" msgstr "" -#: ../gtk/main.c:144 +#: ../gtk/main.c:146 msgid "Run the audio assistant" msgstr "" -#: ../gtk/main.c:145 +#: ../gtk/main.c:147 msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1070 +#: ../gtk/main.c:1073 #, c-format msgid "" "%s would like to add you to his contact list.\n" @@ -131,129 +135,129 @@ msgid "" "If you answer no, this person will be temporarily blacklisted." msgstr "%s 想要加您加入他的連絡人清單。\n您是否要允許他看見您的上線狀態或將他加入您的連絡人清單?\n如果您回答否,這個人會被暫時列入黑名單。" -#: ../gtk/main.c:1147 +#: ../gtk/main.c:1150 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1268 +#: ../gtk/main.c:1271 msgid "Call error" msgstr "" -#: ../gtk/main.c:1271 ../coreapi/linphonecore.c:3846 +#: ../gtk/main.c:1274 ../coreapi/linphonecore.c:3889 msgid "Call ended" msgstr "通話已結束" -#: ../gtk/main.c:1274 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1277 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "來電" -#: ../gtk/main.c:1276 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1279 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 msgid "Answer" msgstr "接聽" -#: ../gtk/main.c:1278 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1281 ../gtk/main.ui.h:6 msgid "Decline" msgstr "拒接" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1284 +#: ../gtk/main.c:1287 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1354 +#: ../gtk/main.c:1357 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1509 +#: ../gtk/main.c:1512 msgid "Website link" msgstr "網站連結" -#: ../gtk/main.c:1568 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1571 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1569 +#: ../gtk/main.c:1572 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1629 +#: ../gtk/main.c:1631 #, c-format msgid "%s (Default)" msgstr "%s (預設值)" -#: ../gtk/main.c:1962 ../coreapi/callbacks.c:1063 +#: ../gtk/main.c:1964 ../coreapi/callbacks.c:1077 #, c-format msgid "We are transferred to %s" msgstr "我們被轉接到 %s" -#: ../gtk/main.c:1972 +#: ../gtk/main.c:1974 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." msgstr "在這臺電腦中偵測不到音效卡。\n您將無法傳送或接收語音電話。" -#: ../gtk/main.c:2117 +#: ../gtk/main.c:2102 msgid "A free SIP video-phone" msgstr "自由的 SIP 視訊電話" -#: ../gtk/main.c:2221 +#: ../gtk/main.c:2211 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:505 +#: ../gtk/friendlist.c:506 msgid "Add to addressbook" msgstr "" -#: ../gtk/friendlist.c:691 +#: ../gtk/friendlist.c:692 msgid "Presence status" msgstr "上線狀態" -#: ../gtk/friendlist.c:709 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 +#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:569 ../gtk/contact.ui.h:1 msgid "Name" msgstr "名稱" -#: ../gtk/friendlist.c:721 +#: ../gtk/friendlist.c:722 msgid "Call" msgstr "" -#: ../gtk/friendlist.c:726 +#: ../gtk/friendlist.c:727 msgid "Chat" msgstr "" -#: ../gtk/friendlist.c:756 +#: ../gtk/friendlist.c:757 #, c-format msgid "Search in %s directory" msgstr "在 %s 目錄中搜尋" -#: ../gtk/friendlist.c:924 +#: ../gtk/friendlist.c:928 msgid "Invalid sip contact !" msgstr "無效的 sip 連絡人!" -#: ../gtk/friendlist.c:976 +#: ../gtk/friendlist.c:980 #, c-format msgid "Edit contact '%s'" msgstr "編輯連絡人「%s」" -#: ../gtk/friendlist.c:977 +#: ../gtk/friendlist.c:981 #, c-format msgid "Delete contact '%s'" msgstr "刪除連絡人「%s」" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:982 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1029 +#: ../gtk/friendlist.c:1033 #, c-format msgid "Add new contact from %s directory" msgstr "從 %s 目錄加入新的連絡人" @@ -416,133 +420,149 @@ msgid "Found %i contact" msgid_plural "Found %i contacts" msgstr[0] "找不到 %i 個連絡人" -#: ../gtk/setupwizard.c:32 +#: ../gtk/setupwizard.c:169 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:41 +#: ../gtk/setupwizard.c:178 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:42 +#: ../gtk/setupwizard.c:179 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:43 +#: ../gtk/setupwizard.c:180 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:44 +#: ../gtk/setupwizard.c:181 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:87 -msgid "Enter your linphone.org username" +#: ../gtk/setupwizard.c:215 +msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:100 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 -msgid "Username:" -msgstr "使用者名稱:" - -#: ../gtk/setupwizard.c:102 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 -msgid "Password:" -msgstr "密碼: " - -#: ../gtk/setupwizard.c:122 -msgid "Enter your account informations" -msgstr "" - -#: ../gtk/setupwizard.c:138 +#: ../gtk/setupwizard.c:230 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:139 +#: ../gtk/setupwizard.c:231 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:142 +#: ../gtk/setupwizard.c:234 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:143 +#: ../gtk/setupwizard.c:235 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:322 +#: ../gtk/setupwizard.c:272 +msgid "Enter your linphone.org username" +msgstr "" + +#: ../gtk/setupwizard.c:284 ../gtk/parameters.ui.h:85 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "使用者名稱:" + +#: ../gtk/setupwizard.c:286 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "密碼: " + +#: ../gtk/setupwizard.c:427 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:323 +#: ../gtk/setupwizard.c:428 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:325 +#: ../gtk/setupwizard.c:430 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:327 +#: ../gtk/setupwizard.c:432 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:329 +#: ../gtk/setupwizard.c:434 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:343 +#: ../gtk/setupwizard.c:449 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:399 -msgid "" -"Error, account not validated, username already used or server unreachable.\n" -"Please go back and try again." +#: ../gtk/setupwizard.c:494 +msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:410 -msgid "Thank you. Your account is now configured and ready for use." -msgstr "謝謝您。您的帳號已設定完成並且可以使用。" - -#: ../gtk/setupwizard.c:418 +#: ../gtk/setupwizard.c:502 msgid "" "Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." msgstr "" -#: ../gtk/setupwizard.c:609 +#: ../gtk/setupwizard.c:512 +msgid "Checking if your account is been validated, please wait." +msgstr "" + +#: ../gtk/setupwizard.c:520 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "" + +#: ../gtk/setupwizard.c:529 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "謝謝您。您的帳號已設定完成並且可以使用。" + +#: ../gtk/setupwizard.c:554 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:629 +#: ../gtk/setupwizard.c:575 msgid "Welcome to the account setup assistant" msgstr "歡迎使用帳號設定助理" -#: ../gtk/setupwizard.c:634 +#: ../gtk/setupwizard.c:580 msgid "Account setup assistant" msgstr "帳號設定助理" -#: ../gtk/setupwizard.c:640 +#: ../gtk/setupwizard.c:585 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:645 +#: ../gtk/setupwizard.c:589 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:649 +#: ../gtk/setupwizard.c:593 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:658 +#: ../gtk/setupwizard.c:597 +msgid "Account creation in progress" +msgstr "" + +#: ../gtk/setupwizard.c:601 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:663 +#: ../gtk/setupwizard.c:606 +msgid "Account validation check in progress" +msgstr "" + +#: ../gtk/setupwizard.c:610 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:667 ../gtk/audio_assistant.c:534 +#: ../gtk/setupwizard.c:614 ../gtk/audio_assistant.c:534 msgid "Terminating" msgstr "" @@ -1695,60 +1715,60 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" -#: ../coreapi/linphonecore.c:1539 +#: ../coreapi/linphonecore.c:1547 msgid "Ready" msgstr "準備就緒" -#: ../coreapi/linphonecore.c:2551 +#: ../coreapi/linphonecore.c:2563 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2725 +#: ../coreapi/linphonecore.c:2737 msgid "Looking for telephone number destination..." msgstr "尋找電話號碼目的端..." -#: ../coreapi/linphonecore.c:2727 +#: ../coreapi/linphonecore.c:2739 msgid "Could not resolve this number." msgstr "無法解析這個號碼。" #. must be known at that time -#: ../coreapi/linphonecore.c:3013 +#: ../coreapi/linphonecore.c:3025 msgid "Contacting" msgstr "正在連絡" -#: ../coreapi/linphonecore.c:3018 +#: ../coreapi/linphonecore.c:3030 msgid "Could not call" msgstr "無法通話" -#: ../coreapi/linphonecore.c:3169 +#: ../coreapi/linphonecore.c:3181 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "抱歉,我們已達瀏同步通話的最大數目" -#: ../coreapi/linphonecore.c:3327 +#: ../coreapi/linphonecore.c:3339 msgid "is contacting you" msgstr "正在連絡您" -#: ../coreapi/linphonecore.c:3328 +#: ../coreapi/linphonecore.c:3340 msgid " and asked autoanswer." msgstr "並要求自動接聽。" -#: ../coreapi/linphonecore.c:3452 +#: ../coreapi/linphonecore.c:3466 msgid "Modifying call parameters..." msgstr "修改通話參數..." -#: ../coreapi/linphonecore.c:3802 +#: ../coreapi/linphonecore.c:3845 msgid "Connected." msgstr "已連線。" -#: ../coreapi/linphonecore.c:3827 +#: ../coreapi/linphonecore.c:3870 msgid "Call aborted" msgstr "通話已放棄" -#: ../coreapi/linphonecore.c:4024 +#: ../coreapi/linphonecore.c:4067 msgid "Could not pause the call" msgstr "無法暫停通話" -#: ../coreapi/linphonecore.c:4027 +#: ../coreapi/linphonecore.c:4070 msgid "Pausing the current call..." msgstr "暫停目前的通話..." @@ -1824,131 +1844,131 @@ msgid "" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "您輸入的 sip 身分是無效的。\n它應該看起來像 sip:使用者名稱@代理網域,像是 sip:alice@example.net" -#: ../coreapi/proxy.c:1416 +#: ../coreapi/proxy.c:1429 #, c-format msgid "Could not login as %s" msgstr "無法以 %s 登入" -#: ../coreapi/callbacks.c:428 +#: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "遠端響鈴。" -#: ../coreapi/callbacks.c:440 +#: ../coreapi/callbacks.c:454 msgid "Remote ringing..." msgstr "遠端響鈴..." -#: ../coreapi/callbacks.c:461 +#: ../coreapi/callbacks.c:475 msgid "Early media." msgstr "早期媒體。" -#: ../coreapi/callbacks.c:534 +#: ../coreapi/callbacks.c:548 #, c-format msgid "Call with %s is paused." msgstr "和 %s 的通話已暫停。" -#: ../coreapi/callbacks.c:547 +#: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." msgstr "通話由 %s 接聽 - 保留中。" -#: ../coreapi/callbacks.c:557 +#: ../coreapi/callbacks.c:571 msgid "Call resumed." msgstr "通話已繼續。" -#: ../coreapi/callbacks.c:561 +#: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." msgstr "通話由 %s 接聽。" -#: ../coreapi/callbacks.c:584 +#: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:589 ../coreapi/callbacks.c:906 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:619 +#: ../coreapi/callbacks.c:633 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:628 +#: ../coreapi/callbacks.c:642 msgid "We are paused by other party." msgstr "" #. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:666 +#: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:782 +#: ../coreapi/callbacks.c:796 msgid "Call terminated." msgstr "通話已終止。" -#: ../coreapi/callbacks.c:810 +#: ../coreapi/callbacks.c:824 msgid "User is busy." msgstr "使用者現正忙碌。" -#: ../coreapi/callbacks.c:811 +#: ../coreapi/callbacks.c:825 msgid "User is temporarily unavailable." msgstr "使用者暫時無法聯繫。" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:813 +#: ../coreapi/callbacks.c:827 msgid "User does not want to be disturbed." msgstr "使用者不想要被打擾。" -#: ../coreapi/callbacks.c:814 +#: ../coreapi/callbacks.c:828 msgid "Call declined." msgstr "通話被拒接。" -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:843 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:860 +#: ../coreapi/callbacks.c:874 msgid "Redirected" msgstr "已重新導向" -#: ../coreapi/callbacks.c:915 +#: ../coreapi/callbacks.c:929 msgid "Call failed." msgstr "通話失敗。" -#: ../coreapi/callbacks.c:993 +#: ../coreapi/callbacks.c:1007 #, c-format msgid "Registration on %s successful." msgstr "在 %s 註冊成功。" -#: ../coreapi/callbacks.c:994 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Unregistration on %s done." msgstr "在 %s 取消註冊完成。" -#: ../coreapi/callbacks.c:1012 +#: ../coreapi/callbacks.c:1026 msgid "no response timeout" msgstr "沒有回應逾時" -#: ../coreapi/callbacks.c:1015 +#: ../coreapi/callbacks.c:1029 #, c-format msgid "Registration on %s failed: %s" msgstr "在 %s 註冊失敗:%s" -#: ../coreapi/callbacks.c:1022 +#: ../coreapi/callbacks.c:1036 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:180 +#: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1310 +#: ../coreapi/linphonecall.c:1312 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3686 +#: ../coreapi/linphonecall.c:3754 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." From abf725dd1f15ac764d3c8439990effa2d149aad2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?= Date: Tue, 9 Jun 2015 14:33:31 +0200 Subject: [PATCH 17/18] Set version number to 3.8.4 --- CMakeLists.txt | 2 +- configure.ac | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ae08d4b1d..7b04de8a4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,7 +26,7 @@ project(LINPHONE C CXX) set(LINPHONE_MAJOR_VERSION "3") set(LINPHONE_MINOR_VERSION "8") -set(LINPHONE_MICRO_VERSION "3") +set(LINPHONE_MICRO_VERSION "4") set(LINPHONE_VERSION "${LINPHONE_MAJOR_VERSION}.${LINPHONE_MINOR_VERSION}.${LINPHONE_MICRO_VERSION}") set(LINPHONE_SO_VERSION "7") diff --git a/configure.ac b/configure.ac index 8df0dcd0a..37a7b4cfa 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT([linphone],[3.8.3],[linphone-developers@nongnu.org]) +AC_INIT([linphone],[3.8.4],[linphone-developers@nongnu.org]) AC_CANONICAL_SYSTEM AC_CONFIG_SRCDIR([coreapi/linphonecore.c]) From ec622c62f569ab44232a886b90163d7872bd4326 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Grisez?= Date: Tue, 9 Jun 2015 15:26:12 +0200 Subject: [PATCH 18/18] Update changelog --- NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/NEWS b/NEWS index 479818bd4..a373225f3 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,6 @@ +linphone-3.8.4 -- June 9th, 2015 + * Add a built-in XMLRPC client. Linphone does not depend on libsoup anymore + linphone-3.8.3 -- June 4th, 2015 * Fix status icons on all platforms (Windows, MacOS, non-KDE Linux desktop environment)