]> sjero.net Git - linphone/commitdiff
Merge commit 'a3f10cc'
authorJehan Monnier <jehan.monnier@linphone.org>
Thu, 25 Apr 2013 08:39:00 +0000 (10:39 +0200)
committerJehan Monnier <jehan.monnier@linphone.org>
Thu, 25 Apr 2013 08:39:00 +0000 (10:39 +0200)
72 files changed:
README
build/android/Android-no-neon.mk
build/android/Android.mk
build/android/common.mk
build/android/lpc2xml.mk
build/android/xml2lpc.mk
configure.ac
console/commands.c
coreapi/Makefile.am
coreapi/chat.c
coreapi/ec-calibrator.c
coreapi/linphonecall.c
coreapi/linphonecore.c
coreapi/linphonecore.h
coreapi/linphonecore_jni.cc
coreapi/linphonecore_utils.h
coreapi/linphonefriend.h
coreapi/lpconfig.c
coreapi/lpconfig.h
coreapi/message_storage.c
coreapi/misc.c
coreapi/private.h
coreapi/proxy.c
coreapi/sal_eXosip2.c
coreapi/sal_eXosip2.h
coreapi/sal_eXosip2_presence.c
coreapi/test_ecc.c
coreapi/upnp.c
gtk/call_logs.ui
gtk/calllogs.c
gtk/chat.c
gtk/friendlist.c
gtk/incall_view.c
gtk/linphone.h
gtk/logging.c
gtk/main.c
gtk/main.ui
java/common/org/linphone/core/CallDirection.java
java/common/org/linphone/core/LinphoneAddress.java
java/common/org/linphone/core/LinphoneAuthInfo.java
java/common/org/linphone/core/LinphoneCallLog.java
java/common/org/linphone/core/LinphoneCallStats.java
java/common/org/linphone/core/LinphoneChatMessage.java
java/common/org/linphone/core/LinphoneCore.java
java/common/org/linphone/core/LinphoneCoreFactory.java
java/impl/org/linphone/core/LinphoneCallImpl.java
java/impl/org/linphone/core/LinphoneCallStatsImpl.java
java/impl/org/linphone/core/LinphoneChatMessageImpl.java
java/impl/org/linphone/core/LinphoneCoreFactoryImpl.java
java/impl/org/linphone/core/LinphoneCoreImpl.java
java/impl/org/linphone/tools/Lpc2Xml.java
java/impl/org/linphone/tools/Xml2Lpc.java
m4/exosip.m4
pixmaps/active_chat.png
po/README
po/cs.po
po/de.po
po/es.po
po/fr.po
po/he.po
po/hu.po
po/it.po
po/ja.po
po/nb_NO.po
po/nl.po
po/pl.po
po/pt_BR.po
po/ru.po
po/sr.po
po/sv.po
po/zh_CN.po
po/zh_TW.po

diff --git a/README b/README
index 658f07ae05d1a31ceb03dfd36f1d22352be161c9..db78b72e561eada12eda84a3aab25c9bf3e7f33f 100644 (file)
--- a/README
+++ b/README
@@ -2,24 +2,64 @@ This is Linphone, a free (GPL) video softphone based on the SIP protocol.
 
 
 ******************Building linphone ***********************************
+
+- Install build time dependencies
+       - libtool
+       - intltool
+
 - you need at least:
-               - libosip2>=3.0.3
-               - libeXosip2>=3.0.3
-               - speex>=1.2.0 (including libspeexdsp part)
-               - libreadline (optional: for convenient command line in linphonec)
-       + gsm codec (gsm source package or libgsm-dev or gsm-devel) (optional)
-       + if you want to gtk/glade interface:
-               - gtk>=2.16.0
+       - libosip2>=3.0.3
+       - libeXosip2>=3.0.3
+       - speex>=1.2.0 (including libspeexdsp part)
+       
+       + if you want the gtk/glade interface:
+               - libgtk >=2.16.0
        + if you want video support:
                - SDL>=1.2.10
                - libavcodec (ffmpeg) 
                - libswscale (part of ffmpeg too) for better scaling performance
+               - libxv (x11 video extension)
+              - ligl1-mesa (OpenGL API -- GLX development files)
+              - libglew (OpenGL Extension Wrangler library)
+              - libv4l (Video for linux)
+              - libx11 (x11)
                - theora (optional)
-       + if you want uPnP support:
+
+       + 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 messages)
+       + if you want uPnP support (optional):
                - libupnp (version 1.6 branch (not patched with 18-url-upnpstrings.patch))
+       
+       + Install srtp (optional) for call encryption :
+               $ git clone git://git.linphone.org/srtp.git
+               $ cd srtp && autoconf && ./configure && make
+               $ sudo make install
+
+       + Install zrtpcpp (optional), for unbreakable call encryption
+               $ sudo apt-get install cmake libssl-dev
+               $ git clone git://git.linphone.org/zrtpcpp.git
+               $ cd zrtpcpp && cmake -Denable-ccrtp=false . && make
+               $ sudo make install
 
 with their corresponding -dev or -devel package if you don't use source packages.
 
+- Compile linphone
+
+ $ ./autogen.sh
+ $ ./configure 
+ $ sudo make install 
+ $ sudo ldconfig
+
+- Command line for Ubuntu && Debian 
+
+       $ sudo apt-get install libtool intltool libgtk2.0-dev libosip2-dev libexosip2-dev libspeexdsp-dev libavcodec-dev libswscale-dev libx11-dev libvx-dev ligl1-mesa-dev libglew-dev libv4l-dev
+
+       + for optional library
+       $ sudo apt-get install libreadline-dev liggsm1-dev libtheora-dev libsoup2.4-dev libsqlit3-dev libupnp6-dev 
+
 For windows compilation see README.mingw.
 For macOS X, see README.macos
 
index d0c87b4f82bf15e0bf7e9e4b52616fd84c8befde..d8e75ca0b9aeb9805bc395ed313008bd351e3fe8 100644 (file)
@@ -21,7 +21,6 @@
 
 LOCAL_PATH:= $(call my-dir)/../../coreapi
 
-
 include $(CLEAR_VARS)
 
 include $(linphone-root-dir)/submodules/linphone/build/android/common.mk
@@ -43,4 +42,3 @@ include $(BUILD_SHARED_LIBRARY)
 
 $(call import-module,android/cpufeatures)
 
-
index 7fb75d0a4dce209506ec2d19da1348eb3f6fdcc8..10fba32dde675a67c35a4270ea8fa2491a2df79c 100755 (executable)
@@ -39,10 +39,3 @@ include $(BUILD_SHARED_LIBRARY)
 
 $(call import-module,android/cpufeatures)
 
-
-ifeq ($(BUILD_REMOTE_PROVISIONING),1)
-
-include $(linphone-root-dir)/submodules/linphone/build/android/xml2lpc.mk
-include $(linphone-root-dir)/submodules/linphone/build/android/lpc2xml.mk
-
-endif
index 543a9dc19492307cfd0bf208a17b7fce44bbf853..d0bf70cad875cea0cdfcdaec7a38ea070f327003 100644 (file)
@@ -96,6 +96,13 @@ LOCAL_STATIC_LIBRARIES := \
        libosip2 \
        libgsm 
 
+ifeq ($(BUILD_REMOTE_PROVISIONING),1)
+LOCAL_STATIC_LIBRARIES += \
+       libxml2lpc \
+       liblpc2xml \
+       liblpxml2
+endif
+
 ifeq ($(BUILD_TUNNEL),1)
 LOCAL_CFLAGS +=-DTUNNEL_ENABLED
 LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../tunnel/include $(LOCAL_PATH)/../../tunnel/src
index f7858f94db8a3c0d1c85ad0d59a002a8d4bc0366..d93be9b790cdcce18ae11a02a1c83b8602baa4fe 100644 (file)
@@ -39,9 +39,9 @@ LOCAL_C_INCLUDES = \
        $(LOCAL_PATH)/../../externals/build/libxml2 \
 
 LOCAL_SHARED_LIBRARIES = \
-       libxml2 \
-       liblinphone \
+#      liblinphonenoneon \
+#      liblinphone \
 
 LOCAL_MODULE := liblpc2xml
 
-include $(BUILD_SHARED_LIBRARY)
+include $(BUILD_STATIC_LIBRARY)
index 32bfb38c33947385a4307305626961d4ebd243e3..55e4a03a0f5a49afe6b32d9243554e07085e35bb 100644 (file)
@@ -39,9 +39,9 @@ LOCAL_C_INCLUDES = \
        $(LOCAL_PATH)/../../externals/build/libxml2 \
 
 LOCAL_SHARED_LIBRARIES = \
-       libxml2 \
-       liblinphone \
+#      liblinphonenoneon \
+#      liblinphone \
 
 LOCAL_MODULE := libxml2lpc
 
-include $(BUILD_SHARED_LIBRARY)
+include $(BUILD_STATIC_LIBRARY)
index 4957eeb58ce4c83b26f990d438293a334900d872..7bc526bbb288f379be0ad3ceae3f86cf1930a86b 100644 (file)
@@ -444,19 +444,6 @@ fi
 dnl setup flags for exosip library
 LP_SETUP_EXOSIP
 
-dnl check exosip support of DSCP in exosip
-AC_MSG_CHECKING([for DSCP support in exosip])
-AC_TRY_COMPILE([#include <eXosip2/eXosip.h>],
-       [int dscp=0;eXosip_set_option(EXOSIP_OPT_SET_DSCP,&dscp);],
-       has_exosip_dscp=yes,
-       has_exosip_dscp=no
-)
-AC_MSG_RESULT($has_exosip_dscp)
-if test "$has_exosip_dscp" = "yes" ; then
-       AC_DEFINE( HAVE_EXOSIP_DSCP, 1, [Define if exosip dscp available] )
-fi
-
-
 if test "$console_ui" = "true" ; then
        dnl check gnu readline
        LP_CHECK_READLINE
@@ -684,7 +671,6 @@ AC_ARG_ENABLE(msg-storage,
        [enable_msg_storage=auto]
 )
 
-echo "enable_msg_storage = $enable_msg_storage"
 
 AM_CONDITIONAL(BUILD_MSG_STORAGE, test x$enable_msg_storage = xtrue)
 if test x$enable_msg_storage != xfalse; then
index 22b09a5a6b92e89ec3feea40a9deb089197e9fea..67b2446f45ae806fa1ae969c7a172062aa62c27e 100644 (file)
@@ -2510,13 +2510,15 @@ static int lpc_cmd_camera(LinphoneCore *lc, char *args){
                const LinphoneCallParams *cp=linphone_call_get_current_params (call);
                if (args){
                        linphone_call_enable_camera(call,activated);
-                       if ((activated && !linphone_call_params_video_enabled (cp))){
-                               /*update the call to add the video stream*/
-                               LinphoneCallParams *ncp=linphone_call_params_copy(cp);
-                               linphone_call_params_enable_video(ncp,TRUE);
-                               linphone_core_update_call(lc,call,ncp);
-                               linphone_call_params_destroy (ncp);
-                               linphonec_out("Trying to bring up video stream...\n");
+                       if (linphone_call_get_state(call)==LinphoneCallStreamsRunning){
+                               if ((activated && !linphone_call_params_video_enabled (cp))){
+                                       /*update the call to add the video stream*/
+                                       LinphoneCallParams *ncp=linphone_call_params_copy(cp);
+                                       linphone_call_params_enable_video(ncp,TRUE);
+                                       linphone_core_update_call(lc,call,ncp);
+                                       linphone_call_params_destroy (ncp);
+                                       linphonec_out("Trying to bring up video stream...\n");
+                               }
                        }
                }
                if (linphone_call_camera_enabled (call))
index bef0613b5117ca55e7e5ce7e67c01546fc12ba4e..91fc9bd222d85f69b89f44249dc43e3028d1848c 100644 (file)
@@ -1,6 +1,6 @@
 GITVERSION_FILE=liblinphone_gitversion.h
 GITVERSION_FILE_TMP=liblinphone_gitversion.h.tmp
-GITDESCRIBE=`git describe`
+GITDESCRIBE=`git describe --always`
 GITREVISION=`git rev-parse HEAD`
 
 ECHO=/bin/echo
index 69893217d2e291c5bb42b38df195ab888002fea1..c12bb33988a984f29c5d3b8491c24cac257aafb3 100644 (file)
@@ -436,6 +436,7 @@ void linphone_chat_message_destroy(LinphoneChatMessage* msg) {
        if (msg->message) ms_free(msg->message);
        if (msg->external_body_url) ms_free(msg->external_body_url);
        if (msg->from) linphone_address_destroy(msg->from);
+       if (msg->to) linphone_address_destroy(msg->to);
        if (msg->custom_headers) sal_custom_header_free(msg->custom_headers);
        ms_free(msg);
 }
index e19559fc421eaa4d38fc05a0b43b6e41b5880ac0..223fb087d91b3c3144aefccee607a12d7ce894dd 100644 (file)
@@ -29,6 +29,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 static void ecc_init_filters(EcCalibrator *ecc){
        unsigned int rate;
+       int channels = 1;
+       int ecc_channels = 1;
        MSTickerParams params={0};
        params.name="Echo calibrator";
        params.prio=MS_TICKER_PRIO_HIGH;
@@ -37,9 +39,13 @@ static void ecc_init_filters(EcCalibrator *ecc){
        ecc->sndread=ms_snd_card_create_reader(ecc->play_card);
        ms_filter_call_method(ecc->sndread,MS_FILTER_SET_SAMPLE_RATE,&ecc->rate);
        ms_filter_call_method(ecc->sndread,MS_FILTER_GET_SAMPLE_RATE,&rate);
+       ms_filter_call_method(ecc->sndread,MS_FILTER_SET_NCHANNELS,&ecc_channels);
+       ms_filter_call_method(ecc->sndread,MS_FILTER_GET_NCHANNELS,&channels);
        ecc->read_resampler=ms_filter_new(MS_RESAMPLE_ID);
        ms_filter_call_method(ecc->read_resampler,MS_FILTER_SET_SAMPLE_RATE,&rate);
        ms_filter_call_method(ecc->read_resampler,MS_FILTER_SET_OUTPUT_SAMPLE_RATE,&ecc->rate);
+       ms_filter_call_method(ecc->read_resampler,MS_FILTER_SET_NCHANNELS,&ecc_channels);
+       ms_filter_call_method(ecc->read_resampler,MS_FILTER_SET_OUTPUT_NCHANNELS,&channels);
        
        
        ecc->det=ms_filter_new(MS_TONE_DETECTOR_ID);
@@ -50,7 +56,7 @@ static void ecc_init_filters(EcCalibrator *ecc){
        ms_filter_link(ecc->read_resampler,0,ecc->det,0);
        ms_filter_link(ecc->det,0,ecc->rec,0);
 
-       ecc->play=ms_filter_new(MS_FILE_PLAYER_ID);
+       ecc->play=ms_filter_new(MS_VOID_SOURCE_ID);
        ecc->gen=ms_filter_new(MS_DTMF_GEN_ID);
        ms_filter_call_method(ecc->gen,MS_FILTER_SET_SAMPLE_RATE,&ecc->rate);
        ecc->write_resampler=ms_filter_new(MS_RESAMPLE_ID);
@@ -58,8 +64,12 @@ static void ecc_init_filters(EcCalibrator *ecc){
        
        ms_filter_call_method(ecc->sndwrite,MS_FILTER_SET_SAMPLE_RATE,&ecc->rate);
        ms_filter_call_method(ecc->sndwrite,MS_FILTER_GET_SAMPLE_RATE,&rate);
+       ms_filter_call_method(ecc->sndwrite,MS_FILTER_SET_NCHANNELS,&ecc_channels);
+       ms_filter_call_method(ecc->sndwrite,MS_FILTER_GET_NCHANNELS,&channels);
        ms_filter_call_method(ecc->write_resampler,MS_FILTER_SET_SAMPLE_RATE,&ecc->rate);
        ms_filter_call_method(ecc->write_resampler,MS_FILTER_SET_OUTPUT_SAMPLE_RATE,&rate);
+       ms_filter_call_method(ecc->write_resampler,MS_FILTER_SET_NCHANNELS,&ecc_channels);
+       ms_filter_call_method(ecc->write_resampler,MS_FILTER_SET_OUTPUT_NCHANNELS,&channels);
 
        ms_filter_link(ecc->play,0,ecc->gen,0);
        ms_filter_link(ecc->gen,0,ecc->write_resampler,0);
@@ -67,10 +77,17 @@ static void ecc_init_filters(EcCalibrator *ecc){
 
        ms_ticker_attach(ecc->ticker,ecc->sndread);
        ms_ticker_attach(ecc->ticker,ecc->play);
-       
+
+       if (ecc->audio_init_cb != NULL) {
+               (*ecc->audio_init_cb)(ecc->cb_data);
+       }
 }
 
 static void ecc_deinit_filters(EcCalibrator *ecc){
+       if (ecc->audio_uninit_cb != NULL) {
+               (*ecc->audio_uninit_cb)(ecc->cb_data);
+       }
+
        ms_ticker_detach(ecc->ticker,ecc->sndread);
        ms_ticker_detach(ecc->ticker,ecc->play);
 
@@ -222,12 +239,15 @@ static void  * ecc_thread(void *p){
        return NULL;
 }
 
-EcCalibrator * ec_calibrator_new(MSSndCard *play_card, MSSndCard *capt_card, unsigned int rate, LinphoneEcCalibrationCallback cb, void *cb_data ){
+EcCalibrator * ec_calibrator_new(MSSndCard *play_card, MSSndCard *capt_card, unsigned int rate, LinphoneEcCalibrationCallback cb,
+                                LinphoneEcCalibrationAudioInit audio_init_cb, LinphoneEcCalibrationAudioUninit audio_uninit_cb, void *cb_data){
        EcCalibrator *ecc=ms_new0(EcCalibrator,1);
 
        ecc->rate=rate;
        ecc->cb=cb;
        ecc->cb_data=cb_data;
+       ecc->audio_init_cb=audio_init_cb;
+       ecc->audio_uninit_cb=audio_uninit_cb;
        ecc->capt_card=capt_card;
        ecc->play_card=play_card;
        ms_thread_create(&ecc->thread,NULL,ecc_thread,ecc);
@@ -243,13 +263,14 @@ void ec_calibrator_destroy(EcCalibrator *ecc){
        ms_free(ecc);
 }
 
-int linphone_core_start_echo_calibration(LinphoneCore *lc, LinphoneEcCalibrationCallback cb, void *cb_data){
+int linphone_core_start_echo_calibration(LinphoneCore *lc, LinphoneEcCalibrationCallback cb,
+                                        LinphoneEcCalibrationAudioInit audio_init_cb, LinphoneEcCalibrationAudioUninit audio_uninit_cb, void *cb_data){
        if (lc->ecc!=NULL){
                ms_error("Echo calibration is still on going !");
                return -1;
        }
        unsigned int rate = lp_config_get_int(lc->config,"sound","echo_cancellation_rate",8000);
-       lc->ecc=ec_calibrator_new(lc->sound_conf.play_sndcard,lc->sound_conf.capt_sndcard,rate,cb,cb_data);
+       lc->ecc=ec_calibrator_new(lc->sound_conf.play_sndcard,lc->sound_conf.capt_sndcard,rate,cb,audio_init_cb,audio_uninit_cb,cb_data);
        return 0;
 }
 
index 6c01c65bd73073500c65690787d5883d7b07345c..db3190bbb3e851709690144472689ea3cc3e6ad5 100644 (file)
@@ -469,7 +469,7 @@ LinphoneCall * linphone_call_new_outgoing(struct _LinphoneCore *lc, LinphoneAddr
        call->op=sal_op_new(lc->sal);
        sal_op_set_user_pointer(call->op,call);
        call->core=lc;
-       linphone_core_get_local_ip(lc,linphone_address_get_domain(to),call->localip);
+       linphone_core_get_local_ip(lc,NULL,call->localip);
        linphone_call_init_common(call,from,to);
        _linphone_call_params_copy(&call->params,params);
        sal_op_set_custom_header(call->op,call->params.custom_headers);
@@ -528,7 +528,7 @@ LinphoneCall * linphone_call_new_incoming(LinphoneCore *lc, LinphoneAddress *fro
        }
 
        linphone_address_clean(from);
-       linphone_core_get_local_ip(lc,linphone_address_get_domain(from),call->localip);
+       linphone_core_get_local_ip(lc,NULL,call->localip);
        linphone_call_init_common(call, from, to);
        call->log->call_id=ms_strdup(sal_op_get_call_id(op)); /*must be known at that time*/
        linphone_core_init_default_params(lc, &call->params);
@@ -1857,9 +1857,13 @@ void linphone_call_delete_upnp_session(LinphoneCall *call){
 }
 #endif //BUILD_UPNP
 
-static void linphone_call_log_fill_stats(LinphoneCallLog *log, AudioStream *st){
-       audio_stream_get_local_rtp_stats (st,&log->local_stats);
-       log->quality=audio_stream_get_average_quality_rating(st);
+static void linphone_call_log_fill_stats(LinphoneCallLog *log, MediaStream *st){
+       float quality=media_stream_get_average_quality_rating(st);
+       if (quality>=0){
+               if (log->quality!=-1){
+                       log->quality*=quality/5.0;
+               }else log->quality=quality;
+       }
 }
 
 void linphone_call_stop_audio_stream(LinphoneCall *call) {
@@ -1877,7 +1881,8 @@ void linphone_call_stop_audio_stream(LinphoneCall *call) {
                                lp_config_set_string(call->core->config,"sound","ec_state",state_str);
                        }
                }
-               linphone_call_log_fill_stats (call->log,call->audiostream);
+               audio_stream_get_local_rtp_stats(call->audiostream,&call->log->local_stats);
+               linphone_call_log_fill_stats (call->log,(MediaStream*)call->audiostream);
                if (call->endpoint){
                        linphone_call_remove_from_conf(call);
                }
@@ -1893,6 +1898,7 @@ void linphone_call_stop_video_stream(LinphoneCall *call) {
                ortp_ev_queue_flush(call->videostream_app_evq);
                ortp_ev_queue_destroy(call->videostream_app_evq);
                call->videostream_app_evq=NULL;
+               linphone_call_log_fill_stats(call->log,(MediaStream*)call->videostream);
                video_stream_stop(call->videostream);
                call->videostream=NULL;
        }
@@ -2009,10 +2015,20 @@ float linphone_call_get_record_volume(LinphoneCall *call){
  * active audio stream exist. Otherwise it returns the quality rating.
 **/
 float linphone_call_get_current_quality(LinphoneCall *call){
+       float audio_rating=-1;
+       float video_rating=-1;
+       float result;
        if (call->audiostream){
-               return audio_stream_get_quality_rating(call->audiostream);
+               audio_rating=media_stream_get_quality_rating((MediaStream*)call->audiostream)/5.0;
        }
-       return -1;
+       if (call->videostream){
+               video_rating=media_stream_get_quality_rating((MediaStream*)call->videostream)/5.0;
+       }
+       if (audio_rating<0 && video_rating<0) result=-1;
+       else if (audio_rating<0) result=video_rating*5.0;
+       else if (video_rating<0) result=audio_rating*5.0;
+       else result=audio_rating*video_rating*5.0;
+       return result;
 }
 
 /**
@@ -2027,18 +2043,34 @@ float linphone_call_get_average_quality(LinphoneCall *call){
        return -1;
 }
 
+static void update_local_stats(LinphoneCallStats *stats, MediaStream *stream){
+       const MSQualityIndicator *qi=media_stream_get_quality_indicator(stream);
+       if (qi) {
+               stats->local_late_rate=ms_quality_indicator_get_local_late_rate(qi);
+               stats->local_loss_rate=ms_quality_indicator_get_local_loss_rate(qi);
+       }
+}
+
 /**
  * Access last known statistics for audio stream, for a given call.
 **/
-const LinphoneCallStats *linphone_call_get_audio_stats(const LinphoneCall *call) {
-       return &call->stats[LINPHONE_CALL_STATS_AUDIO];
+const LinphoneCallStats *linphone_call_get_audio_stats(LinphoneCall *call) {
+       LinphoneCallStats *stats=&call->stats[LINPHONE_CALL_STATS_AUDIO];
+       if (call->audiostream){
+               update_local_stats(stats,(MediaStream*)call->audiostream);
+       }
+       return stats;
 }
 
 /**
  * Access last known statistics for video stream, for a given call.
 **/
-const LinphoneCallStats *linphone_call_get_video_stats(const LinphoneCall *call) {
-       return &call->stats[LINPHONE_CALL_STATS_VIDEO];
+const LinphoneCallStats *linphone_call_get_video_stats(LinphoneCall *call) {
+       LinphoneCallStats *stats=&call->stats[LINPHONE_CALL_STATS_VIDEO];
+       if (call->videostream){
+               update_local_stats(stats,(MediaStream*)call->videostream);
+       }
+       return stats;
 }
 
 /**
@@ -2242,6 +2274,7 @@ void linphone_call_background_tasks(LinphoneCall *call, bool_t one_second_elapse
                                        freemsg(call->stats[LINPHONE_CALL_STATS_VIDEO].received_rtcp);
                                call->stats[LINPHONE_CALL_STATS_VIDEO].received_rtcp = evd->packet;
                                evd->packet = NULL;
+                               update_local_stats(&call->stats[LINPHONE_CALL_STATS_VIDEO],(MediaStream*)call->videostream);
                                if (lc->vtable.call_stats_updated)
                                        lc->vtable.call_stats_updated(lc, call, &call->stats[LINPHONE_CALL_STATS_VIDEO]);
                        } else if (evt == ORTP_EVENT_RTCP_PACKET_EMITTED) {
@@ -2250,6 +2283,7 @@ void linphone_call_background_tasks(LinphoneCall *call, bool_t one_second_elapse
                                        freemsg(call->stats[LINPHONE_CALL_STATS_VIDEO].sent_rtcp);
                                call->stats[LINPHONE_CALL_STATS_VIDEO].sent_rtcp = evd->packet;
                                evd->packet = NULL;
+                               update_local_stats(&call->stats[LINPHONE_CALL_STATS_VIDEO],(MediaStream*)call->videostream);
                                if (lc->vtable.call_stats_updated)
                                        lc->vtable.call_stats_updated(lc, call, &call->stats[LINPHONE_CALL_STATS_VIDEO]);
                        } else if ((evt == ORTP_EVENT_ICE_SESSION_PROCESSING_FINISHED) || (evt == ORTP_EVENT_ICE_GATHERING_FINISHED)
@@ -2283,6 +2317,7 @@ void linphone_call_background_tasks(LinphoneCall *call, bool_t one_second_elapse
                                        freemsg(call->stats[LINPHONE_CALL_STATS_AUDIO].received_rtcp);
                                call->stats[LINPHONE_CALL_STATS_AUDIO].received_rtcp = evd->packet;
                                evd->packet = NULL;
+                               update_local_stats(&call->stats[LINPHONE_CALL_STATS_AUDIO],(MediaStream*)call->audiostream);
                                if (lc->vtable.call_stats_updated)
                                        lc->vtable.call_stats_updated(lc, call, &call->stats[LINPHONE_CALL_STATS_AUDIO]);
                        } else if (evt == ORTP_EVENT_RTCP_PACKET_EMITTED) {
@@ -2291,6 +2326,7 @@ void linphone_call_background_tasks(LinphoneCall *call, bool_t one_second_elapse
                                        freemsg(call->stats[LINPHONE_CALL_STATS_AUDIO].sent_rtcp);
                                call->stats[LINPHONE_CALL_STATS_AUDIO].sent_rtcp = evd->packet;
                                evd->packet = NULL;
+                               update_local_stats(&call->stats[LINPHONE_CALL_STATS_AUDIO],(MediaStream*)call->audiostream);
                                if (lc->vtable.call_stats_updated)
                                        lc->vtable.call_stats_updated(lc, call, &call->stats[LINPHONE_CALL_STATS_AUDIO]);
                        } else if ((evt == ORTP_EVENT_ICE_SESSION_PROCESSING_FINISHED) || (evt == ORTP_EVENT_ICE_GATHERING_FINISHED)
index a2c910064fd1775cde5c491eb0f47b708e7ef69b..bb2b4a83cf324a5411da60366e7458e5f0d008bb 100644 (file)
@@ -116,6 +116,7 @@ LinphoneCallLog * linphone_call_log_new(LinphoneCall *call, LinphoneAddress *fro
        cl->from=from;
        cl->to=to;
        cl->status=LinphoneCallAborted; /*default status*/
+       cl->quality=-1;
        return cl;
 }
 
@@ -406,10 +407,24 @@ const LinphoneAddress *linphone_core_get_current_call_remote_address(struct _Lin
        return linphone_call_get_remote_address(call);
 }
 
+void linphone_core_set_log_handler(OrtpLogFunc logfunc) {
+       ortp_set_log_handler(logfunc);
+}
+
+void linphone_core_set_log_file(FILE *file) {
+       if (file == NULL) file = stdout;
+       ortp_set_log_file(file);
+}
+
+void linphone_core_set_log_level(OrtpLogLevel loglevel) {
+       ortp_set_log_level_mask(loglevel);
+}
+
 /**
  * Enable logs in supplied FILE*.
  *
  * @ingroup misc
+ * @deprecated Use #linphone_core_set_log_file and #linphone_core_set_log_level instead.
  *
  * @param file a C FILE* where to fprintf logs. If null stdout is used.
  *
@@ -424,6 +439,7 @@ void linphone_core_enable_logs(FILE *file){
  * Enable logs through the user's supplied log callback.
  *
  * @ingroup misc
+ * @deprecated Use #linphone_core_set_log_handler and #linphone_core_set_log_level instead.
  *
  * @param logfunc The address of a OrtpLogFunc callback whose protoype is
  *               typedef void (*OrtpLogFunc)(OrtpLogLevel lev, const char *fmt, va_list args);
@@ -438,6 +454,7 @@ void linphone_core_enable_logs_with_cb(OrtpLogFunc logfunc){
  * Entirely disable logging.
  *
  * @ingroup misc
+ * @deprecated Use #linphone_core_set_log_level instead.
 **/
 void linphone_core_disable_logs(){
        ortp_set_log_level_mask(ORTP_ERROR|ORTP_FATAL);
@@ -463,7 +480,7 @@ static void net_config_read (LinphoneCore *lc)
        linphone_core_set_firewall_policy(lc,tmp);
        tmp=lp_config_get_int(lc->config,"net","nat_sdp_only",0);
        lc->net_conf.nat_sdp_only=tmp;
-       tmp=lp_config_get_int(lc->config,"net","mtu",0);
+       tmp=lp_config_get_int(lc->config,"net","mtu",1300);
        linphone_core_set_mtu(lc,tmp);
        tmp=lp_config_get_int(lc->config,"net","download_ptime",0);
        linphone_core_set_download_ptime(lc,tmp);
@@ -581,9 +598,6 @@ static void sip_config_read(LinphoneCore *lc)
        int ipv6;
        int random_port;
 
-       tmp=lp_config_get_int(lc->config,"sip","use_info",0);
-       linphone_core_set_use_info_for_dtmf(lc,tmp);
-
        if (lp_config_get_int(lc->config,"sip","use_session_timers",0)==1){
                sal_use_session_timers(lc->sal,200);
        }
@@ -593,9 +607,6 @@ static void sip_config_read(LinphoneCore *lc)
        sal_reuse_authorization(lc->sal, lp_config_get_int(lc->config,"sip","reuse_authorization",0));
        sal_expire_old_registration_contacts(lc->sal,lp_config_get_int(lc->config,"sip","expire_old_registration_contacts",0));
 
-       tmp=lp_config_get_int(lc->config,"sip","use_rfc2833",1);
-       linphone_core_set_use_rfc2833_for_dtmf(lc,tmp);
-
        ipv6=lp_config_get_int(lc->config,"sip","use_ipv6",-1);
        if (ipv6==-1){
                ipv6=0;
@@ -1194,18 +1205,18 @@ void linphone_core_set_state(LinphoneCore *lc, LinphoneGlobalState gstate, const
 }
 static void misc_config_read (LinphoneCore *lc) {
        LpConfig *config=lc->config;
-    lc->max_call_logs=lp_config_get_int(config,"misc","history_max_size",15);
-    lc->max_calls=lp_config_get_int(config,"misc","max_calls",NB_MAX_CALLS);
+       lc->max_call_logs=lp_config_get_int(config,"misc","history_max_size",15);
+       lc->max_calls=lp_config_get_int(config,"misc","max_calls",NB_MAX_CALLS);
 }
 
 
 
 
-static void linphone_core_init (LinphoneCore * lc, const LinphoneCoreVTable *vtable, const char *config_path,
-    const char *factory_config_path, void * userdata)
+static void linphone_core_init (LinphoneCore * lc, const LinphoneCoreVTable *vtable, LpConfig *config, void * userdata)
 {
        ms_message("Initializing LinphoneCore %s", linphone_core_get_version());
        memset (lc, 0, sizeof (LinphoneCore));
+       lc->config=config;
        lc->data=userdata;
        lc->ringstream_autorelease=TRUE;
 
@@ -1274,6 +1285,8 @@ static void linphone_core_init (LinphoneCore * lc, const LinphoneCoreVTable *vta
        linphone_core_assign_payload_type(lc,&payload_type_silk_wb,-1,NULL);
        linphone_core_assign_payload_type(lc,&payload_type_silk_swb,-1,NULL);
        linphone_core_assign_payload_type(lc,&payload_type_g729,18,"annexb=no");
+       linphone_core_assign_payload_type(lc,&payload_type_aaceld_22k,-1,"config=F8EE2000; constantDuration=512;  indexDeltaLength=3; indexLength=3; mode=AAC-hbr; profile-level-id=24; sizeLength=13; streamType=5");
+       linphone_core_assign_payload_type(lc,&payload_type_aaceld_44k,-1,"config=F8E82000; constantDuration=512;  indexDeltaLength=3; indexLength=3; mode=AAC-hbr; profile-level-id=24; sizeLength=13; streamType=5");
        linphone_core_handle_static_payloads(lc);
        
        ms_init();
@@ -1282,10 +1295,6 @@ static void linphone_core_init (LinphoneCore * lc, const LinphoneCoreVTable *vta
        lc->msevq=ms_event_queue_new();
        ms_set_global_event_queue(lc->msevq);
 
-       lc->config=lp_config_new(config_path);
-       if (factory_config_path)
-               lp_config_read_file(lc->config,factory_config_path);
-
        lc->sal=sal_init();
        sal_set_user_pointer(lc->sal,lc);
        sal_set_callbacks(lc->sal,&linphone_sal_callbacks);
@@ -1331,13 +1340,19 @@ static void linphone_core_init (LinphoneCore * lc, const LinphoneCoreVTable *vta
  *        It is OPTIONAL, use NULL if unneeded.
  * @param userdata an opaque user pointer that can be retrieved at any time (for example in
  *        callbacks) using linphone_core_get_user_data().
- *
+ * @see linphone_core_new_with_config
 **/
 LinphoneCore *linphone_core_new(const LinphoneCoreVTable *vtable,
                                                const char *config_path, const char *factory_config_path, void * userdata)
 {
-       LinphoneCore *core=ms_new(LinphoneCore,1);
-       linphone_core_init(core,vtable,config_path, factory_config_path, userdata);
+       LpConfig *config = lp_config_new_with_factory(config_path, factory_config_path);
+       return linphone_core_new_with_config(vtable, config, userdata);
+}
+
+LinphoneCore *linphone_core_new_with_config(const LinphoneCoreVTable *vtable, struct _LpConfig *config, void *userdata)
+{
+       LinphoneCore *core = ms_new(LinphoneCore, 1);
+       linphone_core_init(core, vtable, config, userdata);
        return core;
 }
 
@@ -1704,7 +1719,7 @@ void linphone_core_set_nortp_timeout(LinphoneCore *lc, int nortp_timeout){
 **/
 bool_t linphone_core_get_use_info_for_dtmf(LinphoneCore *lc)
 {
-       return lc->sip_conf.use_info;
+       return lp_config_get_int(lc->config, "sip", "use_info", 0);
 }
 
 /**
@@ -1714,7 +1729,9 @@ bool_t linphone_core_get_use_info_for_dtmf(LinphoneCore *lc)
 **/
 void linphone_core_set_use_info_for_dtmf(LinphoneCore *lc,bool_t use_info)
 {
-       lc->sip_conf.use_info=use_info;
+       if (linphone_core_ready(lc)) {
+               lp_config_set_int(lc->config, "sip", "use_info", use_info);
+       }
 }
 
 /**
@@ -1724,7 +1741,7 @@ void linphone_core_set_use_info_for_dtmf(LinphoneCore *lc,bool_t use_info)
 **/
 bool_t linphone_core_get_use_rfc2833_for_dtmf(LinphoneCore *lc)
 {
-       return lc->sip_conf.use_rfc2833;
+       return lp_config_get_int(lc->config, "sip", "use_rfc2833", 1);
 }
 
 /**
@@ -1734,7 +1751,9 @@ bool_t linphone_core_get_use_rfc2833_for_dtmf(LinphoneCore *lc)
 **/
 void linphone_core_set_use_rfc2833_for_dtmf(LinphoneCore *lc,bool_t use_rfc2833)
 {
-       lc->sip_conf.use_rfc2833=use_rfc2833;
+       if (linphone_core_ready(lc)) {
+               lp_config_set_int(lc->config, "sip", "use_rfc2833", use_rfc2833);
+       }
 }
 
 /**
@@ -2117,8 +2136,9 @@ void linphone_core_iterate(LinphoneCore *lc){
                if (call->state==LinphoneCallIncomingReceived){
                        ms_message("incoming call ringing for %i seconds",elapsed);
                        if (elapsed>lc->sip_conf.inc_timeout){
+                               LinphoneReason decline_reason;
                                ms_message("incoming call timeout (%i)",lc->sip_conf.inc_timeout);
-                               LinphoneReason decline_reason=lc->current_call ? LinphoneReasonBusy : LinphoneReasonDeclined;
+                               decline_reason=lc->current_call ? LinphoneReasonBusy : LinphoneReasonDeclined;
                                call->log->status=LinphoneCallMissed;
                                call->reason=LinphoneReasonNotAnswered;
                                linphone_core_decline_call(lc,call,decline_reason);
@@ -2150,8 +2170,10 @@ void linphone_core_iterate(LinphoneCore *lc){
                lc->initial_subscribes_sent=TRUE;
        }
 
-       if (one_second_elapsed && lp_config_needs_commit(lc->config)){
-               lp_config_sync(lc->config);
+       if (one_second_elapsed) {
+               if (lp_config_needs_commit(lc->config)) {
+                       lp_config_sync(lc->config);
+               }
        }
 }
 
@@ -4705,7 +4727,7 @@ int linphone_core_get_device_rotation(LinphoneCore *lc ) {
  *
 **/
 void linphone_core_set_device_rotation(LinphoneCore *lc, int rotation) {
-ms_message("%s : rotation=%d\n", __FUNCTION__, rotation);
+       ms_message("%s : rotation=%d\n", __FUNCTION__, rotation);
        lc->device_rotation = rotation;
 #ifdef VIDEO_ENABLED
        LinphoneCall *call=linphone_core_get_current_call(lc);
@@ -4905,26 +4927,6 @@ void linphone_core_play_dtmf(LinphoneCore *lc, char dtmf, int duration_ms){
        else ms_filter_call_method(f, MS_DTMF_GEN_START, &dtmf);
 }
 
-/**
- * @ingroup media_parameters
- * Plays a repeated tone to the local user until next further call to #linphone_core_stop_dtmf()
- * @param lc #LinphoneCore
-**/
-void linphone_core_play_tone(LinphoneCore *lc){
-       MSFilter *f=get_dtmf_gen(lc);
-       MSDtmfGenCustomTone def;
-       if (f==NULL){
-               ms_error("No dtmf generator at this time !");
-               return;
-       }
-       memset(&def,0,sizeof(def));
-       def.duration=300;
-       def.frequencies[0]=500;
-       def.amplitude=1;
-       def.interval=2000;
-       ms_filter_call_method(f, MS_DTMF_GEN_PLAY_CUSTOM,&def);
-}
-
 void linphone_core_play_named_tone(LinphoneCore *lc, LinphoneToneID toneid){
        if (linphone_core_tone_indications_enabled(lc)){
                MSFilter *f=get_dtmf_gen(lc);
@@ -5104,8 +5106,6 @@ void sip_config_uninit(LinphoneCore *lc)
        lp_config_set_int(lc->config,"sip","inc_timeout",config->inc_timeout);
        lp_config_set_int(lc->config,"sip","in_call_timeout",config->in_call_timeout);
        lp_config_set_int(lc->config,"sip","delayed_timeout",config->delayed_timeout);
-       lp_config_set_int(lc->config,"sip","use_info",config->use_info);
-       lp_config_set_int(lc->config,"sip","use_rfc2833",config->use_rfc2833);
        lp_config_set_int(lc->config,"sip","use_ipv6",config->ipv6_enabled);
        lp_config_set_int(lc->config,"sip","register_only_when_network_is_up",config->register_only_when_network_is_up);
        lp_config_set_int(lc->config,"sip","register_only_when_upnp_is_ok",config->register_only_when_upnp_is_ok);
index de8a05afacdca7ca725bfd562aab4dadc46982a7..5ae73cc4dd91bb48676affa7a65d06151992d48e 100644 (file)
@@ -47,14 +47,30 @@ typedef struct _LinphoneCore LinphoneCore;
 struct _LpConfig;
 
 
-struct _LCSipTransports{
+/**
+ * Linphone core SIP transport ports.
+ * Use with #linphone_core_set_sip_transports
+ * @ingroup initializing
+ */
+typedef struct _LCSipTransports{
+       /**
+        * udp port to listening on, negative value if not set
+        * */
        int udp_port;
+       /**
+        * tcp port to listening on, negative value if not set
+        * */
        int tcp_port;
+       /**
+        * dtls port to listening on, negative value if not set
+        * */
        int dtls_port;
+       /**
+        * tls port to listening on, negative value if not set
+        * */
        int tls_port;
-};
+} LCSipTransports;
 
-typedef struct _LCSipTransports LCSipTransports;
 
 /**
  * Object that represents a SIP address.
@@ -327,14 +343,16 @@ struct _LinphoneCallStats {
        LinphoneUpnpState       upnp_state; /**< State of uPnP processing. */
        float download_bandwidth; /**<Download bandwidth measurement of received stream, expressed in kbit/s, including IP/UDP/RTP headers*/
        float upload_bandwidth; /**<Download bandwidth measurement of sent stream, expressed in kbit/s, including IP/UDP/RTP headers*/
+       float local_late_rate; /**<percentage of packet received too late over last second*/
+       float local_loss_rate; /**<percentage of lost packet over last second*/
 };
 
 /**
  * @}
 **/
 
-const LinphoneCallStats *linphone_call_get_audio_stats(const LinphoneCall *call);
-const LinphoneCallStats *linphone_call_get_video_stats(const LinphoneCall *call);
+const LinphoneCallStats *linphone_call_get_audio_stats(LinphoneCall *call);
+const LinphoneCallStats *linphone_call_get_video_stats(LinphoneCall *call);
 
 
 /** Callback prototype */
@@ -678,6 +696,7 @@ void linphone_chat_room_send_message2(LinphoneChatRoom *cr, LinphoneChatMessage*
 MSList *linphone_chat_room_get_history(LinphoneChatRoom *cr,int nb_message);
 void linphone_chat_room_mark_as_read(LinphoneChatRoom *cr);
 void linphone_chat_room_delete_history(LinphoneChatRoom *cr);
+int linphone_chat_room_get_unread_messages_count(LinphoneChatRoom *cr);
 LinphoneCore* linphone_chat_room_get_lc(LinphoneChatRoom *cr);
 void linphone_chat_room_set_user_data(LinphoneChatRoom *cr, void * ud);
 void * linphone_chat_room_get_user_data(LinphoneChatRoom *cr);
@@ -685,6 +704,7 @@ void * linphone_chat_room_get_user_data(LinphoneChatRoom *cr);
 LinphoneChatMessageState linphone_chat_message_get_state(const LinphoneChatMessage* message);
 const char* linphone_chat_message_state_to_string(const LinphoneChatMessageState state);
 LinphoneChatMessage* linphone_chat_message_clone(const LinphoneChatMessage* message);
+void linphone_chat_message_destroy(LinphoneChatMessage* msg);
 void linphone_chat_message_set_from(LinphoneChatMessage* message, const LinphoneAddress* from);
 const LinphoneAddress* linphone_chat_message_get_from(const LinphoneChatMessage* message);
 const LinphoneAddress* linphone_chat_message_get_to(const LinphoneChatMessage* message);
@@ -854,6 +874,35 @@ typedef void * (*LinphoneWaitingCallback)(struct _LinphoneCore *lc, void *contex
 
 /* THE main API */
 
+/**
+ * Define a log handler.
+ *
+ * @ingroup misc
+ *
+ * @param logfunc The function pointer of the log handler.
+ */
+void linphone_core_set_log_handler(OrtpLogFunc logfunc);
+/**
+ * Define a log file.
+ *
+ * @ingroup misc
+ *
+ * If the file pointer passed as an argument is NULL, stdout is used instead.
+ *
+ * @param file A pointer to the FILE structure of the file to write to.
+ */
+void linphone_core_set_log_file(FILE *file);
+/**
+ * Define the log level.
+ *
+ * @ingroup misc
+ *
+ * The loglevel parameter is a bitmask parameter. Therefore to enable only warning and error
+ * messages, use ORTP_WARNING | ORTP_ERROR. To disable logs, simply set loglevel to 0.
+ *
+ * @param loglevel A bitmask of the log levels to set.
+ */
+void linphone_core_set_log_level(OrtpLogLevel loglevel);
 void linphone_core_enable_logs(FILE *file);
 void linphone_core_enable_logs_with_cb(OrtpLogFunc logfunc);
 void linphone_core_disable_logs(void);
@@ -864,6 +913,20 @@ const char *linphone_core_get_user_agent_version(void);
 LinphoneCore *linphone_core_new(const LinphoneCoreVTable *vtable,
                                                const char *config_path, const char *factory_config, void* userdata);
 
+/**
+ * Instantiates a LinphoneCore object with a given LpConfig.
+ * @ingroup initializing
+ *
+ * The LinphoneCore object is the primary handle for doing all phone actions.
+ * It should be unique within your application.
+ * @param vtable a LinphoneCoreVTable structure holding your application callbacks
+ * @param config a pointer to an LpConfig object holding the configuration of the LinphoneCore to be instantiated.
+ * @param userdata an opaque user pointer that can be retrieved at any time (for example in
+ *        callbacks) using linphone_core_get_user_data().
+ * @see linphone_core_new
+**/
+LinphoneCore *linphone_core_new_with_config(const LinphoneCoreVTable *vtable, struct _LpConfig *config, void *userdata);
+
 /* function to be periodically called in a main loop */
 /* For ICE to work properly it should be called every 20ms */
 void linphone_core_iterate(LinphoneCore *lc);
@@ -932,7 +995,12 @@ int linphone_core_update_call(LinphoneCore *lc, LinphoneCall *call, const Linpho
 int linphone_core_defer_call_update(LinphoneCore *lc, LinphoneCall *call);
 
 int linphone_core_accept_call_update(LinphoneCore *lc, LinphoneCall *call, const LinphoneCallParams *params);
-
+/**
+ * @ingroup media_parameters
+ * Get default call parameters reflecting current linphone core configuration
+ * @param LinphoneCore object
+ * @return  LinphoneCallParams
+ */
 LinphoneCallParams *linphone_core_create_default_call_parameters(LinphoneCore *lc);
 
 LinphoneCall *linphone_core_get_call_by_remote_address(LinphoneCore *lc, const char *remote_address);
@@ -980,16 +1048,23 @@ const MSList *linphone_core_get_video_codecs(const LinphoneCore *lc);
 int linphone_core_set_video_codecs(LinphoneCore *lc, MSList *codecs);
 
 bool_t linphone_core_payload_type_enabled(LinphoneCore *lc, const PayloadType *pt);
-
+/**
+ * Enable payload type
+ * @param linphone core
+ * @param pt payload type to enable, can be retrieve from #linphone_core_find_payload_type
+ * @param TRUE if enabled
+ * @return 0 if succed
+ *
+ */
 int linphone_core_enable_payload_type(LinphoneCore *lc, PayloadType *pt, bool_t enable);
 
 /**
- * Wildcard value used by #linphone_core_find_payload_type to ignore rate in search algirithm
+ * Wildcard value used by #linphone_core_find_payload_type to ignore rate in search algorithm
  * @ingroup media_parameters
  */
 #define LINPHONE_FIND_PAYLOAD_IGNORE_RATE -1
 /**
- * Wildcard value used by #linphone_core_find_payload_type to ignore channel in search algirithm
+ * Wildcard value used by #linphone_core_find_payload_type to ignore channel in search algorithm
  * @ingroup media_parameters
  */
 #define LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS -1
@@ -1368,7 +1443,13 @@ void linphone_core_refresh_registers(LinphoneCore* lc);
 /* Path to the file storing secrets cache */
 void linphone_core_set_zrtp_secrets_file(LinphoneCore *lc, const char* file);
 const char *linphone_core_get_zrtp_secrets_file(LinphoneCore *lc);
-
+/**
+ * Search from the list of current calls if a remote address match uri
+ * @ingroup call_control
+ * @param lc
+ * @param uri which should match call remote uri
+ * @return LinphoneCall or NULL is no match is found
+ */
 const LinphoneCall* linphone_core_find_call_from_uri(LinphoneCore *lc, const char *uri);
 
 int linphone_core_add_to_conference(LinphoneCore *lc, LinphoneCall *call);
@@ -1383,8 +1464,19 @@ int linphone_core_terminate_conference(LinphoneCore *lc);
 int linphone_core_get_conference_size(LinphoneCore *lc);
 int linphone_core_start_conference_recording(LinphoneCore *lc, const char *path);
 int linphone_core_stop_conference_recording(LinphoneCore *lc);
-
+/**
+ * Get the maximum number of simultaneous calls Linphone core can manage at a time. All new call above this limit are declined with a busy answer
+ * @ingroup initializing
+ * @param lc core
+ * @return max number of simultaneous calls
+ */
 int linphone_core_get_max_calls(LinphoneCore *lc);
+/**
+ * Set the maximum number of simultaneous calls Linphone core can manage at a time. All new call above this limit are declined with a busy answer
+ * @ingroup initializing
+ * @param lc core
+ * @param max number of simultaneous calls
+ */
 void linphone_core_set_max_calls(LinphoneCore *lc, int max);
 
 bool_t linphone_core_sound_resources_locked(LinphoneCore *lc);
@@ -1430,7 +1522,6 @@ void linphone_core_set_video_dscp(LinphoneCore *lc, int dscp);
 int linphone_core_get_video_dscp(const LinphoneCore *lc);
 
 
-
 #ifdef __cplusplus
 }
 #endif
index 6b6c3f5ce8c640bdf4c2e1cdddb4996a300bd16a..02ac62c7a8498c546a1d49f557b7fe1cca97dabc 100644 (file)
@@ -996,6 +996,8 @@ extern "C" jint Java_org_linphone_core_LinphoneCoreImpl_startEchoCalibration(JNI
                                                                                                                                                                ,jobject data) {
        return (jint)linphone_core_start_echo_calibration((LinphoneCore*)lc
                                                                                                        , LinphoneCoreData::ecCalibrationStatus
+                                                                                                       , NULL
+                                                                                                       , NULL
                                                                                                        , data?env->NewGlobalRef(data):NULL);
 
 }
@@ -1578,6 +1580,23 @@ extern "C" jfloat Java_org_linphone_core_LinphoneCallStatsImpl_getJitterBufferSi
        return (jfloat)((LinphoneCallStats *)stats_ptr)->jitter_stats.jitter_buffer_size_ms;
 }
 
+extern "C" jfloat Java_org_linphone_core_LinphoneCallStatsImpl_getLocalLossRate(JNIEnv *env, jobject thiz,jlong stats_ptr) {
+       const LinphoneCallStats *stats = (LinphoneCallStats *)stats_ptr;
+       return stats->local_loss_rate;
+}
+
+extern "C" jfloat Java_org_linphone_core_LinphoneCallStatsImpl_getLocalLateRate(JNIEnv *env, jobject thiz, jlong stats_ptr) {
+       const LinphoneCallStats *stats = (LinphoneCallStats *)stats_ptr;
+       return stats->local_late_rate;
+}
+
+extern "C" void Java_org_linphone_core_LinphoneCallStatsImpl_updateStats(JNIEnv *env, jobject thiz, jlong call_ptr, jint mediatype) {
+       if (mediatype==LINPHONE_CALL_STATS_AUDIO)
+               linphone_call_get_audio_stats((LinphoneCall*)call_ptr);
+       else 
+               linphone_call_get_video_stats((LinphoneCall*)call_ptr);
+}
+
 /*payloadType*/
 extern "C" jstring Java_org_linphone_core_PayloadTypeImpl_toString(JNIEnv*  env,jobject  thiz,jlong ptr) {
        PayloadType* pt = (PayloadType*)ptr;
@@ -1702,7 +1721,6 @@ extern "C" jfloat Java_org_linphone_core_LinphoneCallImpl_getAverageQuality(      JNI
        return (jfloat)linphone_call_get_average_quality((LinphoneCall*)ptr);
 }
 
-
 //LinphoneFriend
 extern "C" jlong Java_org_linphone_core_LinphoneFriendImpl_newLinphoneFriend(JNIEnv*  env
                                                                                                                                                ,jobject  thiz
@@ -1855,6 +1873,12 @@ extern "C" jlong Java_org_linphone_core_LinphoneChatMessageImpl_getPeerAddress(J
        return (jlong) linphone_chat_message_get_peer_address((LinphoneChatMessage*)ptr);
 }
 
+extern "C" jlong Java_org_linphone_core_LinphoneChatMessageImpl_getTime(JNIEnv*  env
+                                                                                                                                               ,jobject  thiz
+                                                                                                                                               ,jlong ptr) {
+       return (jlong) linphone_chat_message_get_time((LinphoneChatMessage*)ptr);
+}
+
 extern "C" void Java_org_linphone_core_LinphoneChatRoomImpl_sendMessage(JNIEnv*  env
                                                                                                                                                ,jobject  thiz
                                                                                                                                                ,jlong ptr
@@ -2121,6 +2145,14 @@ extern "C" jint Java_org_linphone_core_LinphoneCallImpl_getDuration(JNIEnv*  env
        return (jint)linphone_call_get_duration((LinphoneCall *) ptr);
 }
 
+extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setSipDscp(JNIEnv* env,jobject thiz,jlong ptr, jint dscp){
+       linphone_core_set_sip_dscp((LinphoneCore*)ptr,dscp);
+}
+
+extern "C" jint Java_org_linphone_core_LinphoneCoreImpl_getSipDscp(JNIEnv* env,jobject thiz,jlong ptr){
+       return linphone_core_get_sip_dscp((LinphoneCore*)ptr);
+}
+
 extern "C" jint Java_org_linphone_core_LinphoneCoreImpl_getSignalingTransportPort(JNIEnv* env,jobject thiz,jlong ptr, jint code) {
        LCSipTransports tr;
        linphone_core_get_sip_transports((LinphoneCore *) ptr, &tr);
@@ -2425,6 +2457,22 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setVideoPortRange(JNIEnv
        linphone_core_set_video_port_range((LinphoneCore *)lc, min_port, max_port);
 }
 
+extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setAudioDscp(JNIEnv* env,jobject thiz,jlong ptr, jint dscp){
+       linphone_core_set_audio_dscp((LinphoneCore*)ptr,dscp);
+}
+
+extern "C" jint Java_org_linphone_core_LinphoneCoreImpl_getAudioDscp(JNIEnv* env,jobject thiz,jlong ptr){
+       return linphone_core_get_audio_dscp((LinphoneCore*)ptr);
+}
+
+extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setVideoDscp(JNIEnv* env,jobject thiz,jlong ptr, jint dscp){
+       linphone_core_set_video_dscp((LinphoneCore*)ptr,dscp);
+}
+
+extern "C" jint Java_org_linphone_core_LinphoneCoreImpl_getVideoDscp(JNIEnv* env,jobject thiz,jlong ptr){
+       return linphone_core_get_video_dscp((LinphoneCore*)ptr);
+}
+
 extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setIncomingTimeout(JNIEnv *env, jobject thiz, jlong lc, jint timeout) {
        linphone_core_set_inc_timeout((LinphoneCore *)lc, timeout);
 }
index cc0a6f692ad420071682b4505c443d26348dd6d2..b80992ad1471c6bc5c9aab370d8610087d6567a2 100644 (file)
@@ -64,12 +64,15 @@ typedef enum {
 
 
 typedef void (*LinphoneEcCalibrationCallback)(LinphoneCore *lc, LinphoneEcCalibratorStatus status, int delay_ms, void *data);
+typedef void (*LinphoneEcCalibrationAudioInit)(void *data);
+typedef void (*LinphoneEcCalibrationAudioUninit)(void *data);
 
 /**
  *
  * Start an echo calibration of the sound devices, in order to find adequate settings for the echo canceller automatically.
 **/
-int linphone_core_start_echo_calibration(LinphoneCore *lc, LinphoneEcCalibrationCallback cb, void *cb_data);
+int linphone_core_start_echo_calibration(LinphoneCore *lc, LinphoneEcCalibrationCallback cb,
+                                        LinphoneEcCalibrationAudioInit audio_init_cb, LinphoneEcCalibrationAudioUninit audio_uninit_cb, void *cb_data);
 /**
  * @ingroup IOS
  * Special function to warm up  dtmf feeback stream. #linphone_core_stop_dtmf_stream must() be called before entering FG mode
index ab75b7bf7a00352470cdc1ee90f12a83776f2936..6eb2ab2a2d44251d56d898c61a6dad799b4be7c7 100644 (file)
@@ -132,6 +132,13 @@ void linphone_friend_destroy(LinphoneFriend *lf);
  */
 int linphone_friend_set_addr(LinphoneFriend *fr, const LinphoneAddress* address);
 
+/**
+ * set the display name for this friend
+ * @param lf #LinphoneFriend object
+ * @param name 
+ */
+int linphone_friend_set_name(LinphoneFriend *lf, const char *name);
+
 /**
  * get address of this friend
  * @param lf #LinphoneFriend object
index db4e5de5c932b713ea968f80c5aa1c796cb276ee..ca65fd1ffcd5ca4158d8e5425df06b485a985fb5 100644 (file)
@@ -211,19 +211,23 @@ void lp_config_parse(LpConfig *lpconfig, FILE *file){
 }
 
 LpConfig * lp_config_new(const char *filename){
+       return lp_config_new_with_factory(filename, NULL);
+}
+
+LpConfig *lp_config_new_with_factory(const char *config_filename, const char *factory_config_filename) {
        LpConfig *lpconfig=lp_new0(LpConfig,1);
-       if (filename!=NULL){
-               ms_message("Using (r/w) config information from %s", filename);
-               lpconfig->filename=ortp_strdup(filename);
-               lpconfig->file=fopen(filename,"rw");
+       if (config_filename!=NULL){
+               ms_message("Using (r/w) config information from %s", config_filename);
+               lpconfig->filename=ortp_strdup(config_filename);
+               lpconfig->file=fopen(config_filename,"r+");
                if (lpconfig->file!=NULL){
                        struct stat fileStat;
                        lp_config_parse(lpconfig,lpconfig->file);
                        fclose(lpconfig->file);
 #if !defined(_WIN32_WCE)
-                       if ((stat(filename,&fileStat) == 0) && (S_ISREG(fileStat.st_mode))) {
+                       if ((stat(config_filename,&fileStat) == 0) && (S_ISREG(fileStat.st_mode))) {
                                /* make existing configuration files non-group/world-accessible */
-                               if (chmod(filename, S_IRUSR | S_IWUSR) == -1) {
+                               if (chmod(config_filename, S_IRUSR | S_IWUSR) == -1) {
                                        ms_warning("unable to correct permissions on "
                                        "configuration file: %s", strerror(errno));
                                }
@@ -233,6 +237,9 @@ LpConfig * lp_config_new(const char *filename){
                        lpconfig->modified=0;
                }
        }
+       if (factory_config_filename != NULL) {
+               lp_config_read_file(lpconfig, factory_config_filename);
+       }
        return lpconfig;
 }
 
index 310baaff3e5a147150643092ad9b04e57b83a4e3..43f761adb74663d7f92e81cba25043087d30ca1b 100644 (file)
@@ -65,7 +65,29 @@ extern "C" {
        (config) ? (lp_config_get_float(config, "default_values", name, default)) : (default)
 
 
+/**
+ * Instantiates a LpConfig object from a user config file.
+ *
+ * @ingroup misc
+ * @param filename the filename of the config file to read to fill the instantiated LpConfig
+ * @see lp_config_new_with_factory
+ */
 LpConfig * lp_config_new(const char *filename);
+
+/**
+ * Instantiates a LpConfig object from a user config file and a factory config file.
+ *
+ * @ingroup misc
+ * @param config_filename the filename of the user config file to read to fill the instantiated LpConfig
+ * @param factory_config_filename the filename of the factory config file to read to fill the instantiated LpConfig
+ * @see lp_config_new
+ *
+ * The user config file is read first to fill the LpConfig and then the factory config file is read.
+ * Therefore the configuration parameters defined in the user config file will be overwritten by the parameters
+ * defined in the factory config file.
+ */
+LpConfig * lp_config_new_with_factory(const char *config_filename, const char *factory_config_filename);
+
 int lp_config_read_file(LpConfig *lpconfig, const char *filename);
 /**
  * Retrieves a configuration item as a string, given its section, key, and default value.
index c62fa1ddb580ea8061526dd67d8482ef9502f906..8ba642b6877aecd0216177f057073b2bb435a248 100644 (file)
@@ -66,6 +66,7 @@ static void create_chat_message(char **argv, void *data){
                for(j=0;j<12;j++) { \r
                        if(strcmp(tmp2,months[j])==0) ret.tm_mon=j; \r
                }\r
+               ret.tm_isdst=-1;\r
        }\r
        new_message->time=argv[5]!=NULL ? mktime(&ret) : time(NULL);\r
        new_message->state=atoi(argv[7]);\r
@@ -78,11 +79,12 @@ static int callback(void *data, int argc, char **argv, char **colName){
 }\r
 \r
 void linphone_sql_request_message(sqlite3 *db,const char *stmt,LinphoneChatRoom *cr){\r
-       char* errmsg;\r
+       char* errmsg=NULL;\r
        int ret;\r
        ret=sqlite3_exec(db,stmt,callback,cr,&errmsg);\r
        if(ret != SQLITE_OK) {\r
                printf("Error in creation: %s.\n", errmsg);\r
+               sqlite3_free(errmsg);\r
        }\r
 }\r
 \r
@@ -99,7 +101,7 @@ void linphone_sql_request(sqlite3* db,const char *stmt){
 void linphone_chat_message_store(LinphoneChatMessage *msg){\r
        LinphoneCore *lc=linphone_chat_room_get_lc(msg->chat_room);\r
        if (lc->db){\r
-               const char *peer=msg->chat_room->peer;\r
+               char *peer=linphone_address_as_string_uri_only(linphone_chat_room_get_peer_address(msg->chat_room));\r
                char *local_contact=linphone_address_as_string_uri_only(linphone_chat_message_get_local_address(msg));\r
                char datebuf[26];\r
                char *buf=sqlite3_mprintf("insert into history values(NULL,%Q,%Q,%i,%Q,%Q,%i,%i);",\r
@@ -107,6 +109,7 @@ void linphone_chat_message_store(LinphoneChatMessage *msg){
                linphone_sql_request(lc->db,buf);\r
                sqlite3_free(buf);\r
                ms_free(local_contact);\r
+               ms_free(peer);\r
        }\r
 }\r
 \r
@@ -127,19 +130,45 @@ void linphone_chat_room_mark_as_read(LinphoneChatRoom *cr){
        \r
        if (lc->db==NULL) return ;\r
 \r
+       char *peer=linphone_address_as_string_uri_only(linphone_chat_room_get_peer_address(cr));\r
        char *buf=sqlite3_mprintf("update history set read=%i where remoteContact = %Q;",\r
-                      read,cr->peer);\r
+                      read,peer);\r
        linphone_sql_request(lc->db,buf);\r
        sqlite3_free(buf);\r
+       ms_free(peer);\r
+}\r
+\r
+int linphone_chat_room_get_unread_messages_count(LinphoneChatRoom *cr){\r
+       LinphoneCore *lc=linphone_chat_room_get_lc(cr);\r
+       int numrows=0;\r
+       \r
+       if (lc->db==NULL) return 0;\r
+       \r
+       char *peer=linphone_address_as_string_uri_only(linphone_chat_room_get_peer_address(cr));\r
+       char *buf=sqlite3_mprintf("select count(*) from history where remoteContact = %Q and read = 0;",peer);\r
+       sqlite3_stmt *selectStatement;\r
+       int returnValue = sqlite3_prepare_v2(lc->db,buf,-1,&selectStatement,NULL);\r
+       if (returnValue == SQLITE_OK){\r
+               if(sqlite3_step(selectStatement) == SQLITE_ROW){\r
+                       numrows= sqlite3_column_int(selectStatement, 0);\r
+               }\r
+       }\r
+       sqlite3_finalize(selectStatement);\r
+       sqlite3_free(buf);\r
+       ms_free(peer);\r
+       return numrows;\r
 }\r
 \r
 void linphone_chat_room_delete_history(LinphoneChatRoom *cr){\r
        LinphoneCore *lc=cr->lc;\r
        \r
        if (lc->db==NULL) return ;\r
-       char *buf=sqlite3_mprintf("delete from history where remoteContact = %Q;",cr->peer);\r
+       \r
+       char *peer=linphone_address_as_string_uri_only(linphone_chat_room_get_peer_address(cr));\r
+       char *buf=sqlite3_mprintf("delete from history where remoteContact = %Q;",peer);\r
        linphone_sql_request(lc->db,buf);\r
        sqlite3_free(buf);\r
+       ms_free(peer);\r
 }\r
 \r
 MSList *linphone_chat_room_get_history(LinphoneChatRoom *cr,int nb_message){\r
@@ -147,13 +176,14 @@ MSList *linphone_chat_room_get_history(LinphoneChatRoom *cr,int nb_message){
        MSList *ret;\r
        \r
        if (lc->db==NULL) return NULL;\r
-       \r
+       char *peer=linphone_address_as_string_uri_only(linphone_chat_room_get_peer_address(cr));\r
        cr->messages_hist = NULL;\r
-       char *buf=sqlite3_mprintf("select * from history where remoteContact = %Q order by id DESC limit %i ;",cr->peer,nb_message);\r
+       char *buf=sqlite3_mprintf("select * from history where remoteContact = %Q order by id DESC limit %i ;",peer,nb_message);\r
        linphone_sql_request_message(lc->db,buf,cr);\r
        sqlite3_free(buf);\r
        ret=cr->messages_hist;\r
        cr->messages_hist=NULL;\r
+       ms_free(peer);\r
        return ret;\r
 }\r
 \r
@@ -162,12 +192,13 @@ void linphone_close_storage(sqlite3* db){
 }\r
 \r
 void linphone_create_table(sqlite3* db){\r
-       char* errmsg;\r
+       char* errmsg=NULL;\r
        int ret;\r
        ret=sqlite3_exec(db,"CREATE TABLE if not exists history (id INTEGER PRIMARY KEY AUTOINCREMENT, localContact TEXT NOT NULL, remoteContact TEXT NOT NULL, direction INTEGER, message TEXT, time TEXT NOT NULL, read INTEGER, status INTEGER);",\r
                0,0,&errmsg);\r
        if(ret != SQLITE_OK) {\r
                printf("Error in creation: %s.\n", errmsg);\r
+               sqlite3_free(errmsg);\r
        }\r
 }\r
 \r
@@ -216,4 +247,8 @@ void linphone_core_message_storage_init(LinphoneCore *lc){
 void linphone_core_message_storage_close(LinphoneCore *lc){\r
 }\r
 \r
+int linphone_chat_room_get_unread_messages_count(LinphoneChatRoom *cr){\r
+       return 0;\r
+}\r
+\r
 #endif\r
index 5d4c0ebcc2d365915ece80841e5ac2c1f1e7b858..36fe7ae3f60ed8b7633d579d90eb730d93f9c20d 100644 (file)
@@ -1119,26 +1119,34 @@ static int get_local_ip_for_with_connect(int type, const char *dest, char *resul
 }
 
 int linphone_core_get_local_ip_for(int type, const char *dest, char *result){
+       int err;
         strcpy(result,type==AF_INET ? "127.0.0.1" : "::1");
+       
+       if (dest==NULL){
+               if (type==AF_INET)
+                       dest="87.98.157.38"; /*a public IP address*/
+               else dest="2a00:1450:8002::68";
+       }
+        err=get_local_ip_for_with_connect(type,dest,result);
+       if (err==0) return 0;
+       
+       /* if the connect method failed, which happens when no default route is set, 
+        * try to find 'the' running interface with getifaddrs*/
+       
 #ifdef HAVE_GETIFADDRS
-        if (dest==NULL) {
-                /*we use getifaddrs for lookup of default interface */
-                int found_ifs;
-
-                found_ifs=get_local_ip_with_getifaddrs(type,result,LINPHONE_IPADDR_SIZE);
-                if (found_ifs==1){
-                        return 0;
-                }else if (found_ifs<=0){
-                        /*absolutely no network on this machine */
-                        return -1;
-                }
-        }
+
+       /*we use getifaddrs for lookup of default interface */
+       int found_ifs;
+
+       found_ifs=get_local_ip_with_getifaddrs(type,result,LINPHONE_IPADDR_SIZE);
+       if (found_ifs==1){
+               return 0;
+       }else if (found_ifs<=0){
+               /*absolutely no network on this machine */
+               return -1;
+       }
 #endif
-        /*else use connect to find the best local ip address */
-        if (type==AF_INET)
-                dest="87.98.157.38"; /*a public IP address*/
-        else dest="2a00:1450:8002::68";
-        return get_local_ip_for_with_connect(type,dest,result);
+      return 0;  
 }
 
 #ifndef WIN32
index 5e265c616cb0b930b353257e4799c50fb68514e7..b5312bd60c27634b4f927266c690ef9506a41f91 100644 (file)
@@ -438,8 +438,6 @@ typedef struct sip_config
        int delayed_timeout;    /*timeout after a delayed call is resumed */
        unsigned int keepalive_period; /* interval in ms between keep alive messages sent to the proxy server*/
        LCSipTransports transports;
-       bool_t use_info;
-       bool_t use_rfc2833;     /*force RFC2833 to be sent*/
        bool_t guess_hostname;
        bool_t loopback_only;
        bool_t ipv6_enabled;
@@ -664,6 +662,8 @@ struct _EcCalibrator{
        MSTicker *ticker;
        LinphoneEcCalibrationCallback cb;
        void *cb_data;
+       LinphoneEcCalibrationAudioInit audio_init_cb;
+       LinphoneEcCalibrationAudioUninit audio_uninit_cb;
        int64_t acc;
        int delay;
        unsigned int rate;
index 5546102ba433a3a7ffd9767ddb82aad3715ee832..42c21f01b29a36000a9f0ed4b7ef882613c545f2 100644 (file)
@@ -792,6 +792,7 @@ int linphone_proxy_config_send_publish(LinphoneProxyConfig *proxy,
                               LinphoneOnlineStatus presence_mode){
        int err;
        SalOp *op=sal_op_new(proxy->lc->sal);
+       sal_op_set_route(op,proxy->reg_proxy);
        err=sal_publish(op,linphone_proxy_config_get_identity(proxy),
            linphone_proxy_config_get_identity(proxy),linphone_online_status_to_sal(presence_mode));
        if (proxy->publish_op!=NULL)
index 2ea0f9aff7303066f9433eb6dcbeb1a212cf647f..e577b6422ad43b4de8802e232456eae23eb7c477 100644 (file)
@@ -1771,6 +1771,26 @@ static bool_t comes_from_local_if(osip_message_t *msg){
 static const char *days[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};\r
 static const char *months[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};\r
 \r
+static int utc_offset() {\r
+       time_t ref = 24 * 60 * 60L;\r
+       struct tm * timeptr;\r
+       int gmtime_hours;\r
+\r
+       /* get the local reference time for Jan 2, 1900 00:00 UTC */\r
+       timeptr = localtime(&ref);\r
+       gmtime_hours = timeptr->tm_hour;\r
+\r
+       /* if the local time is the "day before" the UTC, subtract 24 hours\r
+       from the hours to get the UTC offset */\r
+       if (timeptr->tm_mday < 2) gmtime_hours -= 24;\r
+\r
+       return gmtime_hours;\r
+}\r
+\r
+time_t mktime_utc(struct tm *timeptr) {\r
+       return mktime(timeptr) + utc_offset() * 3600;\r
+}\r
+\r
 static void text_received(Sal *sal, eXosip_event_t *ev){\r
        osip_body_t *body=NULL;\r
        char *from=NULL,*msg=NULL;\r
@@ -1798,6 +1818,7 @@ static void text_received(Sal *sal, eXosip_event_t *ev){
                for(j=0;j<12;j++) { \r
                        if(strcmp(tmp2,months[j])==0) ret.tm_mon=j; \r
                }\r
+               ret.tm_isdst=0;\r
        }else ms_warning("No date header in SIP MESSAGE, we don't know when it was sent.");\r
        \r
        content_type= osip_message_get_content_type(ev->request);\r
@@ -1841,7 +1862,7 @@ static void text_received(Sal *sal, eXosip_event_t *ev){
        salmsg.text=msg;\r
        salmsg.url=external_body_size>0 ? unquoted_external_body_url : NULL;\r
        salmsg.message_id=message_id;\r
-       salmsg.time=date!=NULL ? mktime(&ret) : time(NULL);\r
+       salmsg.time=date!=NULL ? mktime_utc(&ret) : time(NULL);\r
        sal->callbacks.text_received(op,&salmsg);\r
        sal_op_release(op);\r
        osip_free(from);\r
@@ -2296,7 +2317,7 @@ static void register_set_contact(osip_message_t *msg, const char *contact){
        osip_uri_uparam_add(ct->url,osip_strdup("line"),line);\r
 }\r
 \r
-static void sal_register_add_route(osip_message_t *msg, const char *proxy){\r
+void sal_message_add_route(osip_message_t *msg, const char *proxy){\r
        osip_route_t *route;\r
 \r
        osip_list_special_free(&msg->routes,(void (*)(void*))osip_route_free);\r
@@ -2343,7 +2364,7 @@ int sal_register(SalOp *h, const char *proxy, const char *from, int expires){
                h->rid=eXosip_register_build_initial_register(from,domain,NULL,expires,&msg);\r
                if (msg){\r
                        if (contact) register_set_contact(msg,contact);\r
-                       sal_register_add_route(msg,proxy);\r
+                       sal_message_add_route(msg,proxy);\r
                        sal_add_register(h->base.root,h);\r
                }else{\r
                        ms_error("Could not build initial register.");\r
@@ -2353,7 +2374,7 @@ int sal_register(SalOp *h, const char *proxy, const char *from, int expires){
        }else{\r
                eXosip_lock();\r
                eXosip_register_build_register(h->rid,expires,&msg);\r
-               sal_register_add_route(msg,proxy);\r
+               sal_message_add_route(msg,proxy);\r
        }\r
        if (msg){\r
                eXosip_register_send_register(h->rid,msg);\r
@@ -2391,7 +2412,7 @@ int sal_register_refresh(SalOp *op, int expires){
        eXosip_register_build_register(op->rid,expires,&msg);\r
        if (msg!=NULL){\r
                if (contact) register_set_contact(msg,contact);\r
-               sal_register_add_route(msg,sal_op_get_route(op));\r
+               sal_message_add_route(msg,sal_op_get_route(op));\r
                eXosip_register_send_register(op->rid,msg);\r
        }else ms_error("Could not build REGISTER refresh message.");\r
        eXosip_unlock();\r
index 68a2d05ef845e5efc0063d0ab9acbf3d3f0bfd42..e00dd64d99722fb21851b77f8ac9dd60b04e0da1 100644 (file)
@@ -99,4 +99,6 @@ SalCustomHeader * sal_exosip_get_custom_headers(osip_message_t *msg);
 
 void _osip_list_set_empty(osip_list_t *l, void (*freefunc)(void*));
 
+void sal_message_add_route(osip_message_t *msg, const char *proxy);
+
 #endif
index 356d2a9fb3c982dbb7473999ac3ce7ca3be02f6d..c8191098649343f2bb6ebf8689d06e881efd557f 100644 (file)
@@ -81,23 +81,28 @@ void sal_remove_in_subscribe(Sal *sal, SalOp *op){
        sal->in_subscribes=ms_list_remove(sal->in_subscribes,op);
 }
 
-#ifdef WIN32
-
-static inline char *my_ctime_r(const time_t *t, char *buf){
-       strcpy(buf,ctime(t));
-       return buf;
-}
-
+static const char *days[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"};
+static const char *months[]={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
+
+static void msg_add_current_date(osip_message_t *msg){
+        char tmp[64]={0};
+        time_t curtime=time(NULL);
+        struct tm *ret;
+#ifndef WIN32
+        struct tm gmt;
+        ret=gmtime_r(&curtime,&gmt);
 #else
-#define my_ctime_r ctime_r
+        ret=gmtime(&curtime);
 #endif
+        /*cannot use strftime because it is locale dependant*/
+        snprintf(tmp,sizeof(tmp)-1,"%s, %i %s %i %02i:%02i:%02i GMT",
+                 days[ret->tm_wday],ret->tm_mday,months[ret->tm_mon],1900+ret->tm_year,ret->tm_hour,ret->tm_min,ret->tm_sec);
+        osip_message_replace_header(msg,"Date",tmp);
+}
+
 
 int sal_message_send(SalOp *op, const char *from, const char *to, const char* content_type, const char *msg){
        osip_message_t *sip=NULL;
-       char t[26];
-       time_t curtime=time(NULL);
-       
-       my_ctime_r(&curtime,t);
 
        if(op->cid == -1)
        {
@@ -113,7 +118,7 @@ int sal_message_send(SalOp *op, const char *from, const char *to, const char* co
                        sal_op_get_from(op),sal_op_get_route(op));
                if (sip!=NULL){
                        sal_exosip_add_custom_headers(sip,op->base.custom_headers);
-                       osip_message_set_date(sip,t);
+                       msg_add_current_date(sip);
                        osip_message_set_content_type(sip,content_type);
                        if (msg) osip_message_set_body(sip,msg,strlen(msg));
                        sal_add_other(op->base.root,op,sip);
@@ -136,7 +141,7 @@ int sal_message_send(SalOp *op, const char *from, const char *to, const char* co
                        return -1;
                }
                sal_exosip_add_custom_headers(sip,op->base.custom_headers);
-               osip_message_set_date(sip,t);
+               msg_add_current_date(sip);
                osip_message_set_content_type(sip,content_type);
                if (msg) osip_message_set_body(sip,msg,strlen(msg));
                eXosip_call_send_request(op->did,sip);
@@ -632,23 +637,26 @@ int sal_publish(SalOp *op, const char *from, const char *to, SalPresenceStatus p
        osip_message_t *pub;
        int i;
        char buf[1024];
+       const char *route=sal_op_get_route(op);
 
        mk_presence_body (presence_mode, from, buf, sizeof (buf), presence_style);
 
-       i = eXosip_build_publish(&pub,from, to, NULL, "presence", "300", 
+       i = eXosip_build_publish(&pub,to, from, NULL, "presence", "600", 
                presence_style ? "application/xpidf+xml" : "application/pidf+xml", buf);
        if (i<0){
                ms_warning("Failed to build publish request.");
                return -1;
        }
-
+       if (route)
+               sal_message_add_route(pub,route);
+       
        eXosip_lock();
        i = eXosip_publish(pub, to); /* should update the sip-if-match parameter
                                    from sip-etag  from last 200ok of PUBLISH */
        eXosip_unlock();
        if (i<0){
-         ms_message("Failed to send publish request.");
-         return -1;
+               ms_message("Failed to send publish request.");
+               return -1;
        }
        sal_add_other(sal_op_get_sal(op),op,pub);
        return 0;
index 43ae0dcb2bf4c3e7485be432c2628f80dbfc72c5..38ba727655e51192c00a67ec0e717e5dec621597 100644 (file)
@@ -45,7 +45,7 @@ int main(int argc, char *argv[]){
        
        linphone_core_enable_logs(NULL);
 
-       linphone_core_start_echo_calibration(lc,calibration_finished,NULL);
+       linphone_core_start_echo_calibration(lc,calibration_finished,NULL,NULL,NULL);
        
        while(count++<1000){
                linphone_core_iterate(lc);
index 2dfd7f39c46db6754fc9e1f926abf420fe5c5fe4..0922dad59eb7aa7c66d8f7517da589715f2c1422 100644 (file)
@@ -29,9 +29,9 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #define UPNP_REMOVE_MAX_RETRY 4
 #define UPNP_SECTION_NAME     "uPnP"
 #define UPNP_CORE_READY_CHECK 1 
-#define UPNP_CORE_RETRY_DELAY 4
-#define UPNP_CALL_RETRY_DELAY 1
-#define UPNP_UUID_LEN         32
+#define UPNP_CORE_RETRY_DELAY 10
+#define UPNP_CALL_RETRY_DELAY 3
+#define UPNP_UUID_LEN         128
 #define UPNP_UUID_LEN_STR     UPNP_TOSTRING(UPNP_UUID_LEN)
 /*
  * uPnP Definitions
@@ -338,7 +338,7 @@ UpnpContext* linphone_upnp_context_new(LinphoneCore *lc) {
        linphone_core_add_iterate_hook(lc, linphone_core_upnp_hook, lupnp);
 
        lupnp->upnp_igd_ctxt = NULL;
-       lupnp->upnp_igd_ctxt = upnp_igd_create(linphone_upnp_igd_callback, linphone_upnp_igd_print, lupnp);
+       lupnp->upnp_igd_ctxt = upnp_igd_create(linphone_upnp_igd_callback, linphone_upnp_igd_print, NULL, lupnp);
        if(lupnp->upnp_igd_ctxt == NULL) {
                lupnp->state = LinphoneUpnpStateKo;
                ms_error("Can't create uPnP IGD context");
@@ -553,9 +553,8 @@ int linphone_upnp_context_send_add_port_binding(UpnpContext *lupnp, UpnpPortBind
                mapping.local_port = port->local_port;
                mapping.local_host = port->local_addr;
                if(port->external_port == -1)
-                       mapping.remote_port = rand()%(0xffff - 1024) + 1024;
-               else
-                       mapping.remote_port = port->external_port;
+                       port->external_port = rand()%(0xffff - 1024) + 1024;
+               mapping.remote_port = port->external_port;
                mapping.remote_host = "";
                snprintf(description, 128, "%s %s at %s:%d",
                                PACKAGE_NAME,
@@ -1054,11 +1053,17 @@ UpnpPortBinding *linphone_upnp_port_binding_new_with_parameters(upnp_igd_ip_prot
 UpnpPortBinding *linphone_upnp_port_binding_new_or_collect(MSList *list, upnp_igd_ip_protocol protocol, int local_port, int external_port) {
        UpnpPortBinding *tmp_binding;
        UpnpPortBinding *end_binding;
-       end_binding = linphone_upnp_port_binding_new_with_parameters(protocol, local_port, external_port);
+       
+       // Seek an binding with same protocol and local port
+       end_binding = linphone_upnp_port_binding_new_with_parameters(protocol, local_port, -1);
        tmp_binding = linphone_upnp_port_binding_equivalent_in_list(list, end_binding);
-       if(tmp_binding != NULL) {
+       
+       // Must be not attached to any struct 
+       if(tmp_binding != NULL && tmp_binding->ref == 1) {
                linphone_upnp_port_binding_release(end_binding);
-               end_binding = tmp_binding;
+               end_binding = linphone_upnp_port_binding_retain(tmp_binding);
+       } else {
+               end_binding->external_port = external_port;
        }
        return end_binding;     
 } 
@@ -1105,10 +1110,11 @@ void linphone_upnp_port_binding_log(int level, const char *msg, const UpnpPortBi
        }
 }
 
+// Return true if the binding are equivalent. (Note external_port == -1 means "don't care")
 bool_t linphone_upnp_port_binding_equal(const UpnpPortBinding *port1, const UpnpPortBinding *port2) {
        return port1->protocol == port2->protocol &&
-                       port1->local_port == port2->local_port &&
-                       port1->external_port == port2->external_port;
+              port1->local_port == port2->local_port &&
+              (port1->external_port == -1 || port2->external_port == -1 || port1->external_port == port2->external_port);
 }
 
 UpnpPortBinding *linphone_upnp_port_binding_equivalent_in_list(MSList *list, const UpnpPortBinding *port) {
@@ -1236,7 +1242,7 @@ static void linphone_upnp_config_list_port_bindings_cb(const char *entry, struct
        bool_t valid = TRUE;
        UpnpPortBinding *port;
        
-       ret = sscanf(entry, "%"UPNP_UUID_LEN_STR"s-%3s-%i-%i", device_id, protocol_str, &external_port, &local_port);
+       ret = sscanf(entry, "%"UPNP_UUID_LEN_STR"[^-]-%3s-%i-%i", device_id, protocol_str, &external_port, &local_port);
        if(ret == 4) {
                // Handle only wanted device bindings
                if(device_id != NULL && strcmp(cookie->device_id, device_id) != 0) {
index 34c6ba3b270472f6675de0f47ebcc576166ab04c..23184841adba22140c0877fe82101086e947f1b4 100644 (file)
@@ -82,7 +82,9 @@
               <object class="GtkTreeView" id="logs_view">
                 <property name="visible">True</property>
                 <property name="can_focus">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
                 <property name="headers_visible">False</property>
+                <signal name="button-press-event" handler="linphone_gtk_call_log_button_pressed" swapped="no"/>
                 <signal name="row-activated" handler="linphone_gtk_history_row_activated" swapped="no"/>
               </object>
             </child>
index 9e703a8ffd6615e65020e35cc99a2ac2e7bf5bea..466541006c3bd0c664974ab142abdbbad5203a82 100644 (file)
@@ -19,10 +19,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
 #include "linphone.h"
 
-
 static void fill_renderers(GtkTreeView *v){
        GtkTreeViewColumn *c;
-       GtkCellRenderer *r=gtk_cell_renderer_pixbuf_new ();
+       GtkCellRenderer *r;
+       r=gtk_cell_renderer_pixbuf_new();
 
        c=gtk_tree_view_column_new_with_attributes("icon",r,"pixbuf",0,NULL);
        gtk_tree_view_append_column (v,c);
@@ -32,32 +32,244 @@ static void fill_renderers(GtkTreeView *v){
        gtk_tree_view_append_column (v,c);
 }
 
+void call_log_selection_changed(GtkTreeView *v){
+       GtkTreeSelection *select;
+       GtkTreeIter iter;
+       GtkTreeModel *model=NULL;
+       
+       select = gtk_tree_view_get_selection(v);
+       if (select!=NULL){
+               if (gtk_tree_selection_get_selected (select, &model, &iter)){
+                       GtkTreePath *path=gtk_tree_model_get_path(model,&iter);
+                       gtk_tree_view_collapse_all(v);
+                       gtk_tree_view_expand_row(v,path,TRUE);
+                       gtk_tree_path_free(path);
+               }
+       }
+}
+
+void linphone_gtk_call_log_chat_selected(GtkWidget *w){
+       GtkTreeSelection *select;
+       GtkTreeIter iter;
+       
+       select=gtk_tree_view_get_selection(GTK_TREE_VIEW(w));
+       if (select!=NULL){
+               GtkTreeModel *model=NULL;
+               if (gtk_tree_selection_get_selected (select,&model,&iter)){
+                       gpointer pla;
+                       LinphoneAddress *la;
+                       gtk_tree_model_get(model,&iter,2,&pla,-1);
+                       la=(LinphoneAddress*)pla;
+                       if (la!=NULL){
+                               linphone_gtk_friend_list_set_chat_conversation(la);
+                       }
+               }
+       }
+}
+
+void linphone_gtk_call_log_add_contact(GtkWidget *w){
+       GtkTreeSelection *select;
+       GtkTreeIter iter;
+       
+       select=gtk_tree_view_get_selection(GTK_TREE_VIEW(w));
+       if (select!=NULL){
+               GtkTreeModel *model=NULL;
+               if (gtk_tree_selection_get_selected (select,&model,&iter)){
+                       gpointer pla;
+                       LinphoneAddress *la;
+                       LinphoneFriend *lf;
+                       gtk_tree_model_get(model,&iter,2,&pla,-1);
+                       la=(LinphoneAddress*)pla;
+                       if (la!=NULL){
+                               char *uri=linphone_address_as_string(la);
+                               lf=linphone_friend_new_with_addr(uri);
+                               linphone_gtk_show_contact(lf);
+                               ms_free(uri);
+                       }
+               }
+       }
+}
+
+static bool_t put_selection_to_uribar(GtkWidget *treeview){
+       GtkTreeSelection *sel;
+       
+       sel=gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
+       if (sel!=NULL){
+               GtkTreeModel *model=NULL;
+               GtkTreeIter iter;
+               if (gtk_tree_selection_get_selected (sel,&model,&iter)){
+                       char *tmp;
+                       LinphoneAddress *la;
+                       gtk_tree_model_get(model,&iter,2,&la,-1);
+                       tmp=linphone_address_as_string(la);
+                       if(tmp!=NULL) 
+                               gtk_entry_set_text(GTK_ENTRY(linphone_gtk_get_widget(linphone_gtk_get_main_window(),"uribar")),tmp);
+                       ms_free(tmp);
+                       return TRUE;
+               }
+       }
+       return FALSE;
+}
+
+static void linphone_gtk_call_selected(GtkTreeView *treeview){
+       put_selection_to_uribar(GTK_WIDGET(treeview));
+       linphone_gtk_start_call(linphone_gtk_get_widget(gtk_widget_get_toplevel(GTK_WIDGET(treeview)),
+                                       "start_call"));
+}
+
+static GtkWidget *linphone_gtk_create_call_log_menu(GtkWidget *call_log){
+       GtkWidget *menu=gtk_menu_new();
+       GtkWidget *menu_item;
+       gchar *call_label=NULL;
+       gchar *text_label=NULL;
+       gchar *name=NULL;
+       GtkWidget *image;
+       GtkTreeSelection *select;
+       GtkTreeIter iter;
+       
+       select=gtk_tree_view_get_selection(GTK_TREE_VIEW(call_log));
+       if (select!=NULL){
+               GtkTreeModel *model=NULL;
+               if (gtk_tree_selection_get_selected (select,&model,&iter)){
+                       gpointer pla;
+                       LinphoneAddress *la;
+                       gtk_tree_model_get(model,&iter,2,&pla,-1);
+                       la=(LinphoneAddress*)pla;
+                       name=linphone_address_as_string(la);
+                       call_label=g_strdup_printf(_("Call %s"),name);
+                       text_label=g_strdup_printf(_("Send text to %s"),name);
+                       g_free(name);
+               }
+       }
+       if (call_label){
+               menu_item=gtk_image_menu_item_new_with_label(call_label);
+               image=gtk_image_new_from_stock(GTK_STOCK_NETWORK,GTK_ICON_SIZE_MENU);
+               gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item),image);
+               gtk_widget_show(image);
+               gtk_widget_show(menu_item);
+               gtk_menu_shell_append(GTK_MENU_SHELL(menu),menu_item);
+               g_signal_connect_swapped(G_OBJECT(menu_item),"activate",(GCallback)linphone_gtk_call_selected,call_log);
+       }
+       if (text_label){
+               menu_item=gtk_image_menu_item_new_with_label(text_label);
+               image=gtk_image_new_from_stock(GTK_STOCK_NETWORK,GTK_ICON_SIZE_MENU);
+               gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item),image);
+               gtk_widget_show(image);
+               gtk_widget_show(menu_item);
+               gtk_menu_shell_append(GTK_MENU_SHELL(menu),menu_item);
+               g_signal_connect_swapped(G_OBJECT(menu_item),"activate",(GCallback)linphone_gtk_call_log_chat_selected,call_log);
+       }
+       menu_item=gtk_image_menu_item_new_from_stock(GTK_STOCK_ADD,NULL);
+       gtk_widget_show(menu_item);
+       gtk_menu_shell_append(GTK_MENU_SHELL(menu),menu_item);
+       g_signal_connect_swapped(G_OBJECT(menu_item),"activate",(GCallback)linphone_gtk_call_log_add_contact,call_log);
+       gtk_widget_show(menu);
+       gtk_menu_attach_to_widget(GTK_MENU(menu),call_log, NULL);
+
+       if (call_label) g_free(call_label);
+       if (text_label) g_free(text_label);
+       return menu;
+}
+
+gboolean linphone_gtk_call_log_popup_contact(GtkWidget *list, GdkEventButton *event){
+       GtkWidget *m=linphone_gtk_create_call_log_menu(list);
+       gtk_menu_popup (GTK_MENU (m), NULL, NULL, NULL, NULL,
+                  event ? event->button : 0, event ? event->time : gtk_get_current_event_time());
+       return TRUE;
+}
+
+gboolean linphone_gtk_call_log_button_pressed(GtkWidget *widget, GdkEventButton *event){
+       if (event->button == 3 && event->type == GDK_BUTTON_PRESS){
+               return linphone_gtk_call_log_popup_contact(widget, event);
+       }
+       return FALSE;
+}
+
+void linphone_gtk_call_log_clear_missed_call(){
+       GtkWidget *mw=linphone_gtk_get_main_window();
+       GtkNotebook *notebook=GTK_NOTEBOOK(linphone_gtk_get_widget(mw,"viewswitch"));
+       GtkWidget *page=gtk_notebook_get_nth_page(notebook,0);
+       GtkWidget *box=gtk_hbox_new(FALSE,0);
+       GtkWidget *image=gtk_image_new_from_stock(GTK_STOCK_REFRESH,GTK_ICON_SIZE_MENU);
+       GtkWidget *l;
+       const gchar*text=gtk_label_get_text(GTK_LABEL(linphone_gtk_get_widget(mw,"label3")));
+       
+       l=gtk_label_new(text);
+       gtk_box_pack_start(GTK_BOX(box),image,FALSE,FALSE,0);
+       gtk_box_pack_start(GTK_BOX(box),l,FALSE,FALSE,0);
+       gtk_notebook_set_tab_label(notebook,page,box);
+       gtk_widget_show_all(box);
+}
+
+gboolean linphone_gtk_call_log_reset_missed_call(GtkWidget *w, GdkEvent *event,gpointer user_data){
+       GtkWidget *mw=linphone_gtk_get_main_window();
+       GtkNotebook *notebook=GTK_NOTEBOOK(linphone_gtk_get_widget(mw,"viewswitch"));
+       gtk_notebook_set_current_page(notebook,0);
+       linphone_core_reset_missed_calls_count(linphone_gtk_get_core());
+       linphone_gtk_call_log_clear_missed_call();
+       return TRUE;
+}
+
+void linphone_gtk_call_log_display_missed_call(int nb){
+       GtkWidget *mw=linphone_gtk_get_main_window();
+       GtkNotebook *notebook=GTK_NOTEBOOK(linphone_gtk_get_widget(mw,"viewswitch"));
+       GtkWidget *page=gtk_notebook_get_nth_page(notebook,0);
+       GtkWidget *ebox=gtk_event_box_new();
+       GtkWidget *box=gtk_hbox_new(FALSE,0);
+       GtkWidget *image=gtk_image_new_from_stock(GTK_STOCK_REFRESH,GTK_ICON_SIZE_MENU);
+       GtkWidget *l;
+       gchar *buf;
+       
+       buf=g_markup_printf_escaped(_("<b>Recent calls (%i)</b>"),nb);
+       l=gtk_label_new(NULL);
+       gtk_label_set_markup(GTK_LABEL(l),buf);
+       gtk_box_pack_start(GTK_BOX(box),image,FALSE,FALSE,0);
+       gtk_box_pack_start(GTK_BOX(box),l,FALSE,FALSE,0);
+       gtk_container_add(GTK_CONTAINER(ebox),box);
+       gtk_notebook_set_tab_label(notebook,page,ebox);
+       gtk_widget_add_events(ebox,GDK_BUTTON_PRESS_MASK);
+       g_signal_connect(G_OBJECT(ebox),"button_press_event",(GCallback)linphone_gtk_call_log_reset_missed_call,NULL);
+       gtk_widget_show_all(ebox);
+}
+
 void linphone_gtk_call_log_update(GtkWidget *w){
        GtkTreeView *v=GTK_TREE_VIEW(linphone_gtk_get_widget(w,"logs_view"));
-       GtkListStore *store;
+       GtkTreeStore *store;
        const MSList *logs;
+       GtkTreeSelection *select;
+       GtkWidget *notebook=linphone_gtk_get_widget(w,"viewswitch");
+       gint nb;
 
-       store=(GtkListStore*)gtk_tree_view_get_model(v);
+       store=(GtkTreeStore*)gtk_tree_view_get_model(v);
        if (store==NULL){
-               store=gtk_list_store_new(3,GDK_TYPE_PIXBUF,G_TYPE_STRING,G_TYPE_POINTER);
+               store=gtk_tree_store_new(3,GDK_TYPE_PIXBUF,G_TYPE_STRING,G_TYPE_POINTER,G_TYPE_STRING);
                gtk_tree_view_set_model(v,GTK_TREE_MODEL(store));
                g_object_unref(G_OBJECT(store));
                fill_renderers(GTK_TREE_VIEW(linphone_gtk_get_widget(w,"logs_view")));
+               select=gtk_tree_view_get_selection(v);
+               gtk_tree_selection_set_mode(select, GTK_SELECTION_SINGLE);
+               g_signal_connect_swapped(G_OBJECT(select),"changed",(GCallback)call_log_selection_changed,v);
+               g_signal_connect(G_OBJECT(notebook),"focus-tab",(GCallback)linphone_gtk_call_log_reset_missed_call,NULL);
+               g_signal_connect(G_OBJECT(v),"button-press-event",(GCallback)linphone_gtk_call_log_button_pressed,NULL);
 //             gtk_button_set_image(GTK_BUTTON(linphone_gtk_get_widget(w,"call_back_button")),
 //                                  create_pixmap (linphone_gtk_get_ui_config("callback_button","status-green.png")));
        }
-       gtk_list_store_clear (store);
+       nb=linphone_core_get_missed_calls_count(linphone_gtk_get_core());
+       if(nb > 0)
+               linphone_gtk_call_log_display_missed_call(nb);
+       gtk_tree_store_clear (store);
 
        for (logs=linphone_core_get_call_logs(linphone_gtk_get_core());logs!=NULL;logs=logs->next){
                LinphoneCallLog *cl=(LinphoneCallLog*)logs->data;
-               GtkTreeIter iter;
-               LinphoneAddress *la=linphone_call_log_get_dir(cl)==LinphoneCallIncoming ? linphone_call_log_get_from(cl) : linphone_call_log_get_to(cl);
-               char *addr= linphone_address_as_string_uri_only (la);
+               GtkTreeIter iter, iter2;
+               const LinphoneAddress *la=linphone_call_log_get_dir(cl)==LinphoneCallIncoming ? linphone_call_log_get_from(cl) : linphone_call_log_get_to(cl);
+               char *addr= linphone_address_as_string(la);
                const char *display;
-               gchar *logtxt, *minutes, *seconds;
+               gchar *logtxt, *headtxt, *minutes, *seconds;
                gchar quality[20];
                const char *status=NULL;
                gchar *start_date=NULL;
+               LinphoneFriend *lf=NULL;
                int duration=linphone_call_log_get_duration(cl);
                time_t start_date_time=linphone_call_log_get_start_date(cl);
                
@@ -70,12 +282,18 @@ void linphone_gtk_call_log_update(GtkWidget *w){
 #else
                start_date=g_strdup(ctime(&start_date_time));
 #endif
-               
-               display=linphone_address_get_display_name (la);
+               lf=linphone_core_get_friend_by_address(linphone_gtk_get_core(),addr);
+               if(lf != NULL){
+                       la=linphone_friend_get_address(lf);
+                       display=linphone_address_get_display_name(la);
+               } else {
+                       display=linphone_address_get_display_name(la);
+               }
                if (display==NULL){
                        display=linphone_address_get_username (la);
-                       if (display==NULL)
+                       if (display==NULL){
                                display=linphone_address_get_domain (la);
+                       }
                }
                if (linphone_call_log_get_quality(cl)!=-1){
                        snprintf(quality,sizeof(quality),"%.1f",linphone_call_log_get_quality(cl));
@@ -99,52 +317,34 @@ void linphone_gtk_call_log_update(GtkWidget *w){
                seconds=g_markup_printf_escaped(
                        ngettext("%i second", "%i seconds", duration%60),
                        duration%60);
-               if (status==NULL) logtxt=g_markup_printf_escaped(
-                               _("<big><b>%s</b></big>\t<small><i>%s</i>\t"
-                                       "<i>Quality: %s</i></small>\n%s\t%s %s\t"),
-                               display, addr, quality ,
-                               start_date ? start_date : "", minutes, seconds);
-               else logtxt=g_markup_printf_escaped(
-                               _("<big><b>%s</b></big>\t<small><i>%s</i></small>\t"
-                                       "\n%s\t%s"),
-                               display, addr,
-                               start_date ? start_date : "", status);
+               if (status==NULL) {
+                               headtxt=g_markup_printf_escaped(_("<big><b>%s</b></big>\t%s"),display,start_date ? start_date : "");
+                               logtxt=g_markup_printf_escaped(
+                               _("<small><i>%s</i>\t" 
+                                 "<i>Quality: %s</i></small>\n%s\t%s\t"),
+                               addr, quality, minutes, seconds);
+               } else {
+                       headtxt=g_markup_printf_escaped(_("<big><b>%s</b></big>\t%s"),display,start_date ? start_date : "");
+                       logtxt=g_markup_printf_escaped(
+                       _("<small><i>%s</i></small>\t"
+                               "\n%s"),addr, status);
+               }
                g_free(minutes);
                g_free(seconds);
                if (start_date) g_free(start_date);
-               gtk_list_store_append (store,&iter);
+               gtk_tree_store_append (store,&iter,NULL);
 
                GdkPixbuf *incoming = create_pixbuf("call_status_incoming.png");
                GdkPixbuf *outgoing = create_pixbuf("call_status_outgoing.png");
-               gtk_list_store_set (store,&iter,
+               gtk_tree_store_set (store,&iter,
                               0, linphone_call_log_get_dir(cl)==LinphoneCallOutgoing ? outgoing : incoming,
-                              1, logtxt,2,la,-1);
+                              1, headtxt,2,la,-1);     
+               gtk_tree_store_append (store,&iter2,&iter);
+               gtk_tree_store_set (store,&iter2,1,logtxt,2,la,-1);
                ms_free(addr);
                g_free(logtxt);
+               g_free(headtxt);
        }
-       
-}
-
-static bool_t put_selection_to_uribar(GtkWidget *treeview){
-       GtkTreeSelection *sel;
-
-       sel=gtk_tree_view_get_selection(GTK_TREE_VIEW(treeview));
-       if (sel!=NULL){
-               GtkTreeModel *model=NULL;
-               GtkTreeIter iter;
-               if (gtk_tree_selection_get_selected (sel,&model,&iter)){
-                       gpointer pla;
-                       LinphoneAddress *la;
-                       char *tmp;
-                       gtk_tree_model_get(model,&iter,2,&pla,-1);
-                       la=(LinphoneAddress*)pla;
-                       tmp=linphone_address_as_string (la);
-                       gtk_entry_set_text(GTK_ENTRY(linphone_gtk_get_widget(linphone_gtk_get_main_window(),"uribar")),tmp);
-                       ms_free(tmp);
-                       return TRUE;
-               }
-       }
-       return FALSE;
 }
 
 void linphone_gtk_history_row_activated(GtkWidget *treeview){
@@ -160,6 +360,7 @@ void linphone_gtk_history_row_selected(GtkWidget *treeview){
 
 void linphone_gtk_clear_call_logs(GtkWidget *button){
        linphone_core_clear_call_logs (linphone_gtk_get_core());
+       linphone_gtk_call_log_clear_missed_call();
        linphone_gtk_call_log_update(gtk_widget_get_toplevel(button));
 }
 
@@ -183,8 +384,6 @@ void linphone_gtk_call_log_response(GtkWidget *w, guint response_id){
        gtk_widget_destroy(w);
 }
 
-
-
 GtkWidget * linphone_gtk_show_call_logs(void){
        GtkWidget *mw=linphone_gtk_get_main_window();
 
@@ -199,5 +398,4 @@ GtkWidget * linphone_gtk_show_call_logs(void){
                linphone_gtk_call_log_update(w);
        }else gtk_window_present(GTK_WINDOW(w));
        return w;
-}
-
+}
\ No newline at end of file
index 6a65cd9fc41c250025307cface55afb05d3127df..2cba0754fe48772caa9932cfb9edaf6db70ccaa9 100644 (file)
@@ -61,20 +61,27 @@ void linphone_gtk_quit_chatroom(LinphoneChatRoom *cr) {
        GtkWidget *nb=linphone_gtk_get_widget(main_window,"viewswitch");
        GtkWidget *friendlist=linphone_gtk_get_widget(main_window,"contact_list");
        GtkWidget *w=g_object_get_data(G_OBJECT(friendlist),"chatview");
-       int idx = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(w),"idx"));
+       gchar *from;
+       GHashTable *table=g_object_get_data(G_OBJECT(w),"table");
        
        g_return_if_fail(w!=NULL);
-       gtk_notebook_remove_page(GTK_NOTEBOOK(nb),idx);
-       linphone_gtk_create_chat_picture(FALSE);
+       gtk_notebook_remove_page(GTK_NOTEBOOK(nb),gtk_notebook_page_num(GTK_NOTEBOOK(nb),w));
+       linphone_gtk_friend_list_update_chat_picture();
        g_object_set_data(G_OBJECT(friendlist),"chatview",NULL);
-       g_object_set_data(G_OBJECT(w),"from_message",NULL);     
+       from=g_object_get_data(G_OBJECT(w),"from_message");
+       if (from){
+               g_object_set_data(G_OBJECT(w),"from_message",NULL);
+               g_free(from);
+       }
+       g_hash_table_destroy(table);
        g_object_set_data(G_OBJECT(w),"cr",NULL);
        g_object_set_data(G_OBJECT(friendlist),"from",NULL);
        gtk_widget_destroy(w);
 }
 
 const char* get_display_name(const LinphoneAddress *from){
-       const char *display=linphone_address_get_display_name(from);
+       const char *display;
+       display=linphone_address_get_display_name(from);
        if (display==NULL || display[0]=='\0') {
                display=linphone_address_get_username(from);
        }
@@ -92,7 +99,7 @@ GtkWidget *create_tab_chat_header(LinphoneChatRoom *cr,const LinphoneAddress *ur
        gtk_button_set_relief(GTK_BUTTON(b),GTK_RELIEF_NONE);
        gtk_widget_set_size_request(b,25,20);
        g_signal_connect_swapped(G_OBJECT(b),"clicked",G_CALLBACK(linphone_gtk_quit_chatroom),cr);
-       l=gtk_label_new (get_display_name(uri));
+       l=gtk_label_new(get_display_name(uri));
        gtk_box_pack_start (GTK_BOX(w),i,FALSE,FALSE,0);
        gtk_box_pack_start (GTK_BOX(w),l,FALSE,FALSE,0);
        gtk_box_pack_end(GTK_BOX(w),b,TRUE,TRUE,0);
@@ -128,10 +135,15 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from,
        GtkTextIter iter,begin;
        int off;
        char *from_str=linphone_address_as_string_uri_only(from);
-       char *from_message=(char *)g_object_get_data(G_OBJECT(w),"from_message");
-       GList *list=g_object_get_data(G_OBJECT(w),"list");
+       gchar *from_message=(gchar *)g_object_get_data(G_OBJECT(w),"from_message");
+       GHashTable *table=(GHashTable*)g_object_get_data(G_OBJECT(w),"table");
        time_t t;
-
+       char buf[80];
+       time_t tnow;
+       struct tm *tm;
+       int tnow_day;
+       int tnow_year;
+       
        gtk_text_buffer_get_start_iter(buffer,&begin);
        gtk_text_buffer_get_end_iter(buffer,&iter);
        off=gtk_text_iter_get_offset(&iter);
@@ -143,34 +155,42 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from,
                gtk_text_buffer_insert_with_tags_by_name(buffer,&iter," : ",-1,"bold",me ? "bg":NULL,NULL);
                gtk_text_buffer_get_end_iter(buffer,&iter);
                gtk_text_buffer_insert(buffer,&iter,"\n",-1);
-               g_object_set_data(G_OBJECT(w),"from_message",from_str);
+               g_free(from_message);
+               g_object_set_data(G_OBJECT(w),"from_message",g_strdup(from_str));
        }
-       gtk_text_buffer_get_end_iter(buffer,&iter);                     
+       gtk_text_buffer_get_end_iter(buffer,&iter);
        gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,linphone_chat_message_get_text(msg),-1,"margin",me ? "bg":NULL,NULL);
-       gtk_text_buffer_get_end_iter(buffer,&iter);     
-       gtk_text_buffer_insert(buffer,&iter,"\n",-1);;  
+       gtk_text_buffer_get_end_iter(buffer,&iter);
+       gtk_text_buffer_insert(buffer,&iter,"\n",-1);
        gtk_text_buffer_get_end_iter(buffer,&iter);
        t=linphone_chat_message_get_time(msg);
        switch (linphone_chat_message_get_state (msg)){
                case LinphoneChatMessageStateInProgress:
                {
-                       list=g_list_append(list,GINT_TO_POINTER(gtk_text_iter_get_line(&iter)));
+                       g_hash_table_insert(table,(gpointer)msg,GINT_TO_POINTER(gtk_text_iter_get_line(&iter)));
                        gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,"Sending .. ",-1,                                                                 
                                                "right","small","italic","font_grey","bg",NULL);
-                       g_object_set_data(G_OBJECT(w),"list",list);
+                       g_object_set_data(G_OBJECT(w),"table",table);
                        break;
                }
                case LinphoneChatMessageStateDelivered:
                {
-                               struct tm *tm=localtime(&t);
-                               char buf[80];
+                       tnow=time(NULL);
+                       tm=localtime(&tnow);
+                       tnow_day=tm->tm_yday;
+                       tnow_year=tm->tm_year;
+                       tm=localtime(&t);
+                       if(tnow_day != tm->tm_yday || (tnow_day == tm->tm_yday && tnow_year != tm->tm_year)) {
+                               strftime(buf,80,"%a %x, %H:%M",tm);
+                       } else {
                                strftime(buf,80,"%H:%M",tm);
-                               gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,buf,-1,                                                                   
-                              "right","small","italic","font_grey",me ? "bg":NULL,NULL);
-                               break;
+                       }
+                       gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,buf,-1,                                                                   
+                             "right","small","italic","font_grey",me ? "bg":NULL,NULL);
+                       break;
                }
                case  LinphoneChatMessageStateNotDelivered:
-                               gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,"Error",-1,                                                                       
+                               gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,"Message not sent",-1,                                                                    
                               "right","small","italic","font_grey",me ? "bg":NULL,NULL);
                                break;
                default : gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,"Sending ..",-1,                                                                        
@@ -180,6 +200,7 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from,
        gtk_text_buffer_insert(buffer,&iter,"\n",-1);
        GtkTextMark *mark=gtk_text_buffer_create_mark(buffer,NULL,&iter,FALSE);
        gtk_text_view_scroll_mark_onscreen(text,mark); 
+       ms_free(from_str);
 }
 
 const LinphoneAddress* linphone_gtk_get_used_identity(){
@@ -194,7 +215,7 @@ void update_chat_state_message(LinphoneChatMessageState state,LinphoneChatMessag
        GtkWidget *main_window=linphone_gtk_get_main_window();
        GtkWidget *friendlist=linphone_gtk_get_widget(main_window,"contact_list");
        GtkWidget *page=(GtkWidget*)g_object_get_data(G_OBJECT(friendlist),"chatview");
-       GList *list=g_object_get_data(G_OBJECT(page),"list");
+       GHashTable *table=(GHashTable*)g_object_get_data(G_OBJECT(page),"table");
        
        if(page!=NULL){
                GtkTextView *text=GTK_TEXT_VIEW(linphone_gtk_get_widget(page,"textview"));
@@ -202,22 +223,21 @@ void update_chat_state_message(LinphoneChatMessageState state,LinphoneChatMessag
                GtkTextIter iter;
                GtkTextIter end;
                GtkTextIter start;
+               gchar *result;
+               gint line;
+               line=GPOINTER_TO_INT(g_hash_table_lookup(table,msg));
 
-               gtk_text_buffer_get_iter_at_line(b,&iter,
-                                          GPOINTER_TO_INT(g_list_nth_data(list,0)));
+               gtk_text_buffer_get_iter_at_line(b,&iter,line);
                if(gtk_text_iter_get_chars_in_line(&iter) >0) {
-                       gtk_text_buffer_get_iter_at_line_offset(b,&start,
-                                                       GPOINTER_TO_INT(g_list_nth_data(list,0)),
-                                           gtk_text_iter_get_chars_in_line(&iter)-1);
+                       gtk_text_buffer_get_iter_at_line_offset(b,&start,line,
+                                       gtk_text_iter_get_chars_in_line(&iter)-1);
                }else{
-                       gtk_text_buffer_get_iter_at_line_offset(b,&start,
-                                               GPOINTER_TO_INT(g_list_nth_data(list,0)),0);
+                       gtk_text_buffer_get_iter_at_line_offset(b,&start,line,0);
                }
-               gtk_text_buffer_get_iter_at_line_offset(b,&end,
-                                           GPOINTER_TO_INT(g_list_nth_data(list,0)),0);
+               gtk_text_buffer_get_iter_at_line_offset(b,&end,line,0);
                gtk_text_buffer_delete(b,&start,&end);
-               gtk_text_buffer_get_iter_at_line(b,&iter,GPOINTER_TO_INT(g_list_nth_data(list,0)));
-               gchar *result;
+               gtk_text_buffer_get_iter_at_line(b,&iter,line);
+
                switch (state) {
                        case LinphoneChatMessageStateInProgress:
                                result="Sending ";
@@ -232,14 +252,14 @@ void update_chat_state_message(LinphoneChatMessageState state,LinphoneChatMessag
                                break;
                        }
                        case  LinphoneChatMessageStateNotDelivered:
-                               result="Error ";
+                               result="Message not sent";
                                break;
                        default : result="Sending ..";
                }
                gtk_text_buffer_insert_with_tags_by_name(b,&iter,result,-1,
                                                                                                "right","small","italic","font_grey","bg",NULL);
-               list=g_list_remove(list,g_list_nth_data(list,0));
-               g_object_set_data(G_OBJECT(page),"list",list);
+               g_hash_table_remove(table,msg);
+               g_object_set_data(G_OBJECT(page),"table",table);
        } 
 }
 
@@ -248,9 +268,9 @@ static void on_chat_state_changed(LinphoneChatMessage *msg, LinphoneChatMessageS
 }
 
 void linphone_gtk_send_text(){
-    GtkWidget *main_window=linphone_gtk_get_main_window();
+       GtkWidget *main_window=linphone_gtk_get_main_window();
        GtkWidget *friendlist=linphone_gtk_get_widget(main_window,"contact_list");
-    GtkWidget *w=(GtkWidget*)g_object_get_data(G_OBJECT(friendlist),"chatview");
+       GtkWidget *w=(GtkWidget*)g_object_get_data(G_OBJECT(friendlist),"chatview");
        GtkWidget *entry=linphone_gtk_get_widget(w,"text_entry");
        const gchar *entered;
        LinphoneChatRoom *cr=g_object_get_data(G_OBJECT(w),"cr");
@@ -259,17 +279,27 @@ void linphone_gtk_send_text(){
                LinphoneChatMessage *msg;
                msg=linphone_chat_room_create_message(cr,entered);
                linphone_chat_room_send_message2(cr,msg,on_chat_state_changed,NULL);
-               linphone_gtk_push_text(w,linphone_gtk_get_used_identity(),
+               linphone_gtk_push_text(w,linphone_chat_message_get_from(msg),
                                TRUE,cr,msg,FALSE);
                gtk_entry_set_text(GTK_ENTRY(entry),"");
        }
 }
 
+static void linphone_gtk_chat_message_destroy(LinphoneChatMessage *msg){
+       linphone_chat_message_destroy(msg);
+}
+
+void linphone_gtk_free_list(MSList *messages){
+       ms_list_for_each(messages,(void (*)(void*))linphone_gtk_chat_message_destroy);
+       ms_list_free(messages);
+}
+
 void display_history_message(GtkWidget *chat_view,MSList *messages,const LinphoneAddress *with){
        if(messages != NULL){
                MSList *it;
                char *from_str;
                char *with_str;
+               gchar *tmp;
                for(it=messages;it!=NULL;it=it->next){
                        LinphoneChatMessage *msg=(LinphoneChatMessage *)it->data;
                        from_str=linphone_address_as_string_uri_only(linphone_chat_message_get_from(msg));
@@ -279,12 +309,39 @@ void display_history_message(GtkWidget *chat_view,MSList *messages,const Linphon
                                                        strcmp(from_str,with_str)==0? FALSE : TRUE,
                                                linphone_chat_message_get_chat_room(msg),msg,TRUE);
                }
-               g_object_set_data(G_OBJECT(chat_view),"from_message",NULL);
+               tmp=g_object_get_data(G_OBJECT(chat_view),"from_message");
+               if (tmp){
+                       g_object_set_data(G_OBJECT(chat_view),"from_message",NULL);
+                       g_free(tmp);
+               }
                ms_free(from_str);
                ms_free(with_str);
+               linphone_gtk_free_list(messages);
        } 
 }
 
+void linphone_gtk_chat_add_contact(const LinphoneAddress *addr){
+       LinphoneFriend *lf=NULL;
+       char *uri=linphone_address_as_string(addr);
+       lf=linphone_friend_new_with_addr(uri);
+       ms_free(uri);
+       char *fixed_uri=NULL;
+       gboolean show_presence=FALSE;
+
+       linphone_friend_set_inc_subscribe_policy(lf,LinphoneSPDeny);
+       linphone_friend_send_subscribe(lf,show_presence);
+
+       linphone_core_interpret_friend_uri(linphone_gtk_get_core(),uri,&fixed_uri);
+       if (fixed_uri==NULL){
+               linphone_gtk_display_something(GTK_MESSAGE_WARNING,_("Invalid sip contact !"));
+               return ;
+       }
+       linphone_friend_set_addr(lf,addr);
+       linphone_core_add_friend(linphone_gtk_get_core(),lf);
+       ms_free(fixed_uri);
+       linphone_gtk_show_friends();
+}
+
 GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddress *with){
        GtkWidget *chat_view=linphone_gtk_create_widget("main","chatroom_frame");
        GtkWidget *main_window=linphone_gtk_get_main_window ();
@@ -295,30 +352,30 @@ GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddres
        int idx;
        GtkWidget *button;
        GtkWidget *entry;
-       GList *list=NULL;
        MSList *messages;
+       GHashTable *table;
        char *with_str;
 
        color.red = 32512;
        color.green = 32512;
        color.blue = 32512;
-       
        colorb.red = 56832;
        colorb.green = 60928;
        colorb.blue = 61952;
-
+       
        with_str=linphone_address_as_string_uri_only(with);
        linphone_chat_room_mark_as_read(cr);
        gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(text),GTK_WRAP_WORD_CHAR);
        gtk_text_view_set_editable(GTK_TEXT_VIEW(text),FALSE);
+       gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(text),FALSE);
        gtk_notebook_append_page(notebook,chat_view,create_tab_chat_header(cr,with));
        idx = gtk_notebook_page_num(notebook, chat_view);
        gtk_notebook_set_current_page(notebook, idx);
        gtk_widget_show(chat_view);
+       table=g_hash_table_new_full(g_direct_hash,g_direct_equal,NULL,NULL);
        g_object_set_data(G_OBJECT(chat_view),"cr",cr);
-       g_object_set_data(G_OBJECT(chat_view),"idx",GINT_TO_POINTER(idx));
        g_object_set_data(G_OBJECT(chat_view),"from_message",NULL);
-       g_object_set_data(G_OBJECT(chat_view),"list",list);
+       g_object_set_data(G_OBJECT(chat_view),"table",table);
        gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
                                "right","justification", GTK_JUSTIFY_RIGHT,NULL);
        gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
@@ -341,6 +398,7 @@ GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddres
        g_signal_connect_swapped(G_OBJECT(button),"clicked",(GCallback)linphone_gtk_send_text,NULL);
        entry = linphone_gtk_get_widget(chat_view,"text_entry");
        g_signal_connect_swapped(G_OBJECT(entry),"activate",(GCallback)linphone_gtk_send_text,NULL);
+       g_signal_connect(G_OBJECT(notebook),"switch_page",(GCallback)linphone_gtk_notebook_tab_select,NULL);
        ms_free(with_str);
        return chat_view;
 }
@@ -354,29 +412,32 @@ LinphoneChatRoom * linphone_gtk_create_chatroom(const LinphoneAddress *with){
 void linphone_gtk_load_chatroom(LinphoneChatRoom *cr,const LinphoneAddress *uri,GtkWidget *chat_view){
        GtkWidget *main_window=linphone_gtk_get_main_window ();
        LinphoneChatRoom *cr2=(LinphoneChatRoom *)g_object_get_data(G_OBJECT(chat_view),"cr");
-       char *from_str=linphone_address_as_string(linphone_chat_room_get_peer_address (cr2));
+       const LinphoneAddress *from=linphone_chat_room_get_peer_address(cr2);
+       char *from_str=linphone_address_as_string_uri_only(from);
        char *uri_str=linphone_address_as_string(uri);
+       char *uri_only=linphone_address_as_string_uri_only(uri);
        MSList *messages=NULL;
-
-       linphone_chat_room_mark_as_read(cr);
-       if(g_strcmp0(from_str,uri_str)!=0){
+       
+       if(g_strcmp0(from_str,uri_only)!=0){
                GtkTextView *text_view=GTK_TEXT_VIEW(linphone_gtk_get_widget(chat_view,"textview"));
                GtkTextIter start;
                GtkTextIter end;
                GtkTextBuffer *text_buffer;
-               
+
+               linphone_chat_room_mark_as_read(cr);
                text_buffer=gtk_text_view_get_buffer(text_view);
                gtk_text_buffer_get_bounds(text_buffer, &start, &end);
                gtk_text_buffer_delete (text_buffer, &start, &end);
                udpate_tab_chat_header(chat_view,uri,cr);
                g_object_set_data(G_OBJECT(chat_view),"cr",cr);
                g_object_set_data(G_OBJECT(linphone_gtk_get_widget(main_window,"contact_list")),"chatview",(gpointer)chat_view);
-               messages = linphone_chat_room_get_history(cr,NB_MSG_HIST);
-               g_object_set_data(G_OBJECT(chat_view),"from_message",uri_str);
+               messages=linphone_chat_room_get_history(cr,NB_MSG_HIST);
+               g_object_set_data(G_OBJECT(chat_view),"from_message",g_strdup(uri_str));
                display_history_message(chat_view,messages,uri);
        }
        ms_free(from_str);
        ms_free(uri_str);
+       ms_free(uri_only);
 }
 
 void linphone_gtk_chat_destroyed(GtkWidget *w){
@@ -390,38 +451,58 @@ void linphone_gtk_chat_close(GtkWidget *button){
 }
 
 
-void linphone_gtk_text_received(LinphoneCore *lc, LinphoneChatRoom *room, 
-                               LinphoneChatMessage *msg){
+void linphone_gtk_text_received ( LinphoneCore *lc, LinphoneChatRoom *room,
+                                                                 LinphoneChatMessage *msg ) {
        GtkWidget *main_window=linphone_gtk_get_main_window();
-       GtkWidget *friendlist=linphone_gtk_get_widget(main_window,"contact_list");
-    GtkWidget *w;                                         
-
-    w=(GtkWidget*)g_object_get_data(G_OBJECT(friendlist),"chatview");
-    if(w!=NULL){
-        linphone_gtk_load_chatroom(room,linphone_chat_message_get_from(msg),w);
-    } else {
-        w=linphone_gtk_init_chatroom(room,linphone_chat_message_get_from(msg));
-        g_object_set_data(G_OBJECT(friendlist),"chatview",(gpointer)w);
-               char *from=linphone_address_as_string(linphone_chat_message_get_from(msg));
-               g_object_set_data(G_OBJECT(friendlist),"from",from);
-    }
-       get_display_name(linphone_chat_message_get_from(msg));
-       #ifdef HAVE_GTK_OSXs
+       GtkWidget *friendlist=linphone_gtk_get_widget ( main_window,"contact_list" );
+       GtkWidget *w;
+       gboolean send=TRUE;
+       GtkNotebook *notebook= ( GtkNotebook * ) linphone_gtk_get_widget ( main_window,"viewswitch" );
+       char *from=linphone_address_as_string ( linphone_chat_message_get_from ( msg ) );
+
+       w= ( GtkWidget* ) g_object_get_data ( G_OBJECT ( friendlist ),"chatview" );
+       if ( w!=NULL ) {
+               char *from_chatview= ( char * ) g_object_get_data ( G_OBJECT ( friendlist ),"from" );
+               if ( g_strcmp0 ( from,from_chatview ) ==0 ) {
+                       send=TRUE;
+               } else {
+                       if ( !linphone_gtk_friend_list_is_contact ( linphone_chat_message_get_from ( msg ) ) ) {
+                               linphone_gtk_chat_add_contact ( linphone_chat_message_get_from ( msg ) );
+                       }
+                       send=FALSE;
+               }
+       } else {
+               send=FALSE;
+               if ( !linphone_gtk_friend_list_is_contact ( linphone_chat_message_get_from ( msg ) ) ) {
+                       linphone_gtk_chat_add_contact ( linphone_chat_message_get_from ( msg ) );
+               }
+               w=linphone_gtk_init_chatroom ( room,linphone_chat_message_get_from ( msg ) );
+               g_object_set_data ( G_OBJECT ( friendlist ),"chatview", ( gpointer ) w );
+               g_object_set_data ( G_OBJECT ( friendlist ),"from",from );
+       }
+
+#ifdef HAVE_GTK_OSXs
        /* Notified when a new message is sent */
-       linphone_gtk_status_icon_set_blinking(TRUE);
-       #else
-       if(!gtk_window_is_active(GTK_WINDOW(main_window))){
-               if(!GPOINTER_TO_INT(g_object_get_data(G_OBJECT(w),"is_notified"))){
-                       linphone_gtk_notify(NULL,linphone_chat_message_get_text(msg));
-                       g_object_set_data(G_OBJECT(w),"is_notified",GINT_TO_POINTER(TRUE));
+       linphone_gtk_status_icon_set_blinking ( TRUE );
+#else
+       if ( !gtk_window_is_active ( GTK_WINDOW ( main_window ) ) ) {
+               if ( !GPOINTER_TO_INT ( g_object_get_data ( G_OBJECT ( w ),"is_notified" ) ) ) {
+                       linphone_gtk_notify ( NULL,linphone_chat_message_get_text ( msg ) );
+                       g_object_set_data ( G_OBJECT ( w ),"is_notified",GINT_TO_POINTER ( TRUE ) );
+               } else {
+                       g_object_set_data ( G_OBJECT ( w ),"is_notified",GINT_TO_POINTER ( FALSE ) );
+               }
+       }
+#endif
+       if ( send ) {
+               if ( gtk_notebook_get_current_page ( notebook ) !=gtk_notebook_page_num ( notebook,w ) ) {
+                       linphone_gtk_show_friends();
                } else {
-                       g_object_set_data(G_OBJECT(w),"is_notified",GINT_TO_POINTER(FALSE));
+                       linphone_chat_room_mark_as_read ( room );
                }
+               linphone_gtk_push_text ( w,linphone_chat_message_get_from ( msg ),
+                                                                FALSE,room,msg,FALSE );
+       } else {
+               linphone_gtk_show_friends();
        }
-       #endif
-       linphone_gtk_push_text(w,linphone_chat_message_get_from(msg),
-                             FALSE,room,msg,FALSE);
-       linphone_gtk_update_chat_picture();
-       //gtk_window_present(GTK_WINDOW(w));
-       /*gtk_window_set_urgency_hint(GTK_WINDOW(w),TRUE);*/
 }
index fc2c2f4b52f537ec0a33ebde2f4a779fbff85b81..8f73c2fcb7fea3d325547b5d58912cf3f0740377 100644 (file)
@@ -32,7 +32,6 @@ enum{
        FRIEND_ICON,
        FRIEND_CALL,
        FRIEND_CHAT,
-       FRIEND_CHAT_CONVERSATION,
        FRIEND_LIST_NCOL
 };
 
@@ -76,17 +75,18 @@ static GdkPixbuf *create_call_picture(){
        return pixbuf;
 }
 
-static GdkPixbuf *create_chat_picture(){
+static GdkPixbuf *create_unread_msg(){
        GdkPixbuf *pixbuf;
-       pixbuf = create_pixbuf("chat.png");
+       pixbuf = create_pixbuf("active_chat.png");
        return pixbuf;
 }
 
-static GdkPixbuf *create_active_chat_picture(){
+static GdkPixbuf *create_chat_picture(){
        GdkPixbuf *pixbuf;
-       pixbuf = create_pixbuf("active_chat.png");
+       pixbuf = create_pixbuf("chat.png");
        return pixbuf;
 }
+
 /*
 void linphone_gtk_set_friend_status(GtkWidget *friendlist , LinphoneFriend * fid, const gchar *url, const gchar *status, const gchar *img){
        GtkTreeIter iter;
@@ -110,6 +110,16 @@ void linphone_gtk_set_friend_status(GtkWidget *friendlist , LinphoneFriend * fid
        }
 }
 */
+
+gboolean linphone_gtk_friend_list_is_contact(const LinphoneAddress *addr){
+       LinphoneFriend *lf;
+       char *addr_str=linphone_address_as_string(addr);
+       lf=linphone_core_get_friend_by_address(linphone_gtk_get_core(),addr_str);
+       if(lf == NULL){
+               return FALSE;
+       } return TRUE;
+}
+
 static void linphone_gtk_set_selection_to_uri_bar(GtkTreeView *treeview){
        GtkTreeSelection *select;
        GtkTreeIter iter;
@@ -156,28 +166,51 @@ void linphone_gtk_remove_contact(GtkWidget *button){
        GtkTreeIter iter;
        GtkTreeModel *model;
        LinphoneFriend *lf=NULL;
+       LinphoneChatRoom *cr=NULL;
        select = gtk_tree_view_get_selection(GTK_TREE_VIEW(linphone_gtk_get_widget(w,"contact_list")));
        if (gtk_tree_selection_get_selected (select, &model, &iter))
        {
                gtk_tree_model_get (model, &iter,FRIEND_ID , &lf, -1);
                linphone_core_remove_friend(linphone_gtk_get_core(),lf);
+               gtk_tree_model_get (model, &iter,FRIEND_CHATROOM , &cr, -1);
+               linphone_chat_room_delete_history(cr);
                linphone_gtk_show_friends();
        }
 }
 
 void linphone_gtk_delete_history(GtkWidget *button){
-       GtkWidget *w=gtk_widget_get_toplevel(button);
+       GtkWidget *w=linphone_gtk_get_main_window();
        GtkTreeSelection *select;
        GtkTreeIter iter;
        GtkTreeModel *model;
+       GtkWidget *chat_view;
        LinphoneFriend *lf=NULL;
-       select = gtk_tree_view_get_selection(GTK_TREE_VIEW(linphone_gtk_get_widget(w,"contact_list")));
+       GtkWidget *friendlist;
+       
+       friendlist=linphone_gtk_get_widget(w,"contact_list");
+       chat_view=(GtkWidget *)g_object_get_data(G_OBJECT(friendlist),"chatview");
+       select = gtk_tree_view_get_selection(GTK_TREE_VIEW(friendlist));
        if (gtk_tree_selection_get_selected (select, &model, &iter))
        {
                LinphoneChatRoom *cr;
                gtk_tree_model_get (model, &iter,FRIEND_ID , &lf, -1);
-               cr=linphone_core_get_chat_room(linphone_gtk_get_core(),linphone_friend_get_address(lf));
+               gtk_tree_model_get (model, &iter,FRIEND_CHATROOM , &cr, -1);
                linphone_chat_room_delete_history(cr);
+               if(chat_view!=NULL){
+                       char *from=g_object_get_data(G_OBJECT(friendlist),"from");
+                       char *addr=linphone_address_as_string(linphone_friend_get_address(lf));
+                       if(g_strcmp0(from,addr)==0){
+                               GtkTextView *text_view=GTK_TEXT_VIEW(linphone_gtk_get_widget(chat_view,"textview"));
+                               GtkTextIter start;
+                               GtkTextIter end;
+                               GtkTextBuffer *text_buffer;
+               
+                               text_buffer=gtk_text_view_get_buffer(text_view);
+                               gtk_text_buffer_get_bounds(text_buffer, &start, &end);
+                               gtk_text_buffer_delete (text_buffer, &start, &end);
+                               g_object_set_data(G_OBJECT(chat_view),"from_message",NULL);
+                       }
+               }
                linphone_gtk_show_friends();
        }
 }
@@ -188,23 +221,32 @@ static void linphone_gtk_call_selected(GtkTreeView *treeview){
                                        "start_call"));
 }
 
-void linphone_gtk_create_chat_picture(gboolean active){
+void linphone_gtk_friend_list_update_chat_picture(){
        GtkTreeIter iter;
        GtkWidget *w = linphone_gtk_get_main_window();
        GtkWidget *friendlist=linphone_gtk_get_widget(w,"contact_list");
        GtkTreeModel *model=gtk_tree_view_get_model(GTK_TREE_VIEW(friendlist));
+       LinphoneChatRoom *cr=NULL;
+       int nbmsg=0;
        if (gtk_tree_model_get_iter_first(model,&iter)) {
                do{
-                       if(!active){
-                               gtk_list_store_set(GTK_LIST_STORE(model),&iter,FRIEND_CHAT,create_chat_picture(),-1);
+                       gtk_tree_model_get (model, &iter,FRIEND_CHATROOM , &cr, -1);
+                       nbmsg=linphone_chat_room_get_unread_messages_count(cr);
+                       if(nbmsg != 0){
+                               gtk_list_store_set(GTK_LIST_STORE(model),&iter,FRIEND_CHAT,create_unread_msg(),-1);
                        } else {
-                               gtk_list_store_set(GTK_LIST_STORE(model),&iter,FRIEND_CHAT,create_active_chat_picture(),-1);
+                               gtk_list_store_set(GTK_LIST_STORE(model),&iter,FRIEND_CHAT,create_chat_picture(),-1);
                        }
                }while(gtk_tree_model_iter_next(model,&iter));
        }
 }
 
-void linphone_gtk_update_chat_picture(){
+static gboolean grab_focus(GtkWidget *w){
+       gtk_widget_grab_focus(w);
+       return FALSE;
+}
+
+void linphone_gtk_friend_list_set_chat_conversation(const LinphoneAddress *la){
        GtkTreeIter iter;
        GtkListStore *store=NULL;
        GtkWidget *w = linphone_gtk_get_main_window();
@@ -212,28 +254,71 @@ void linphone_gtk_update_chat_picture(){
        GtkTreeModel *model=gtk_tree_view_get_model(GTK_TREE_VIEW(friendlist));
        GtkWidget *chat_view=(GtkWidget*)g_object_get_data(G_OBJECT(friendlist),"chatview");
        LinphoneFriend *lf=NULL;
-       char *uri=(char *)g_object_get_data(G_OBJECT(friendlist),"from");
-       store=GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(friendlist)));
-       if (gtk_tree_model_get_iter_first(model,&iter)) {
-               do{
-                       gtk_tree_model_get (model, &iter,FRIEND_ID , &lf, -1);
-                       if(chat_view!=NULL){
-                               if(uri !=NULL) {
-                                       if(g_strcmp0(linphone_address_as_string(linphone_friend_get_address(lf)),
-                                               uri)==0){
-                                                       gtk_list_store_set(store,&iter,FRIEND_CHAT,create_active_chat_picture(),-1);
+       LinphoneChatRoom *cr=NULL;
+       GtkNotebook *notebook=(GtkNotebook *)linphone_gtk_get_widget(w,"viewswitch");
+       char *la_str=linphone_address_as_string(la);
+       
+       lf=linphone_core_get_friend_by_address(linphone_gtk_get_core(),la_str);
+       if(lf==NULL){
+               cr=linphone_gtk_create_chatroom(la);
+               g_object_set_data(G_OBJECT(friendlist),"from",la_str);
+               if(chat_view==NULL){
+                       chat_view=linphone_gtk_init_chatroom(cr,la);
+                       g_object_set_data(G_OBJECT(friendlist),"chatview",(gpointer)chat_view);
+               } else {
+                       linphone_gtk_load_chatroom(cr,la,chat_view);
+               }
+               gtk_notebook_set_current_page(notebook,gtk_notebook_page_num(notebook,chat_view));
+               linphone_gtk_friend_list_update_chat_picture();
+               g_idle_add((GSourceFunc)grab_focus,linphone_gtk_get_widget(chat_view,"text_entry"));
+       } else {
+               store=GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(friendlist)));
+               if (gtk_tree_model_get_iter_first(model,&iter)) {
+                       do{
+                               const LinphoneAddress *uri;
+                               char *lf_str;
+                               gtk_tree_model_get(model, &iter,FRIEND_ID , &lf, -1);
+                               uri=linphone_friend_get_address(lf);
+                               lf_str=linphone_address_as_string(uri);
+                               if( g_strcmp0(lf_str,la_str)==0){
+                                       gtk_tree_model_get (model, &iter,FRIEND_CHATROOM , &cr, -1);
+                                       if(cr==NULL){
+                                               cr=linphone_gtk_create_chatroom(uri);
+                                               gtk_list_store_set(store,&iter,FRIEND_CHATROOM,cr,-1);
+                                       }
+                                       g_object_set_data(G_OBJECT(friendlist),"from",linphone_address_as_string(uri));
+                                       if(chat_view==NULL){
+                                               chat_view=linphone_gtk_init_chatroom(cr,uri);
+                                               g_object_set_data(G_OBJECT(friendlist),"chatview",(gpointer)chat_view);
                                        } else {
-                                               gtk_list_store_set(store,&iter,FRIEND_CHAT,create_chat_picture(),-1);
+                                               linphone_gtk_load_chatroom(cr,uri,chat_view);
                                        }
+                                       gtk_notebook_set_current_page(notebook,gtk_notebook_page_num(notebook,chat_view));
+                                       linphone_gtk_friend_list_update_chat_picture();
+                                       g_idle_add((GSourceFunc)grab_focus,linphone_gtk_get_widget(chat_view,"text_entry"));
+                                       break;
                                }
-                       }
-               }while(gtk_tree_model_iter_next(model,&iter));
-       }
+                       }while(gtk_tree_model_iter_next(model,&iter));
+               }
+       }       
 }
 
-static gboolean grab_focus(GtkWidget *w){
-       gtk_widget_grab_focus(w);
-       return FALSE;
+void linphone_gtk_notebook_tab_select(GtkNotebook *notebook,GtkWidget *page,guint page_num, gpointer data){
+       GtkWidget *w=linphone_gtk_get_main_window();
+       GtkWidget *friendlist=linphone_gtk_get_widget(w,"contact_list");
+       GtkWidget *chat_view;
+       LinphoneChatRoom *cr=NULL;
+       chat_view=(GtkWidget*)g_object_get_data(G_OBJECT(friendlist),"chatview");
+       if(page != NULL){
+               notebook=(GtkNotebook *)linphone_gtk_get_widget(w,"viewswitch");
+               if(gtk_notebook_page_num(notebook,page)==gtk_notebook_page_num(notebook,chat_view)){
+                       cr=g_object_get_data(G_OBJECT(chat_view),"cr");
+                       if(cr!=NULL){
+                               linphone_chat_room_mark_as_read(cr);
+                               linphone_gtk_show_friends();
+                       }
+               }
+       }
 }
 
 void linphone_gtk_chat_selected(GtkWidget *item){
@@ -253,9 +338,11 @@ void linphone_gtk_chat_selected(GtkWidget *item){
                GtkNotebook *notebook=(GtkNotebook *)linphone_gtk_get_widget(w,"viewswitch");
                const LinphoneAddress *uri;
                gtk_tree_model_get (model, &iter,FRIEND_ID , &lf, -1);
+               gtk_tree_model_get (model, &iter,FRIEND_CHATROOM , &cr, -1);
                uri=linphone_friend_get_address(lf);
-               if(cr == NULL){
+               if(cr==NULL){
                        cr=linphone_gtk_create_chatroom(uri);
+                       gtk_list_store_set(store,&iter,FRIEND_CHATROOM,cr,-1);
                }
                page=(GtkWidget*)g_object_get_data(G_OBJECT(friendlist),"chatview");
                g_object_set_data(G_OBJECT(friendlist),"from",linphone_address_as_string(uri));
@@ -266,9 +353,8 @@ void linphone_gtk_chat_selected(GtkWidget *item){
                        linphone_gtk_load_chatroom(cr,uri,page);
                }
                gtk_notebook_set_current_page(notebook,gtk_notebook_page_num(notebook,page));
-               linphone_gtk_create_chat_picture(FALSE);
+               linphone_gtk_friend_list_update_chat_picture();
                g_idle_add((GSourceFunc)grab_focus,linphone_gtk_get_widget(page,"text_entry"));
-               gtk_list_store_set(store,&iter,FRIEND_CHAT,create_active_chat_picture(),-1);
        }
 }
 
@@ -541,7 +627,7 @@ static void linphone_gtk_friend_list_init(GtkWidget *friendlist){
        linphone_gtk_init_bookmark_icon();
 
        store = gtk_list_store_new(FRIEND_LIST_NCOL,GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING,  G_TYPE_POINTER,
-                                                               G_TYPE_POINTER, G_TYPE_STRING, GDK_TYPE_PIXBUF, GDK_TYPE_PIXBUF, GDK_TYPE_PIXBUF, G_TYPE_STRING);
+                                                               G_TYPE_POINTER, G_TYPE_STRING, GDK_TYPE_PIXBUF, GDK_TYPE_PIXBUF, GDK_TYPE_PIXBUF);
 
        gtk_tree_view_set_model(GTK_TREE_VIEW(friendlist),GTK_TREE_MODEL(store));
        g_object_unref(G_OBJECT(store));
@@ -551,7 +637,7 @@ static void linphone_gtk_friend_list_init(GtkWidget *friendlist){
        gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(friendlist),friend_search_func,NULL,NULL);
        gtk_tree_view_set_search_column(GTK_TREE_VIEW(friendlist),FRIEND_NAME);
        gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store),FRIEND_NAME,friend_sort,NULL,NULL);
-
+       
        /*Name and presence column*/
        renderer = gtk_cell_renderer_text_new ();
        column = gtk_tree_view_column_new_with_attributes (_("Presence status"),
@@ -562,6 +648,7 @@ static void linphone_gtk_friend_list_init(GtkWidget *friendlist){
        g_signal_connect_swapped(G_OBJECT(column),"clicked",(GCallback)on_presence_column_clicked,GTK_TREE_MODEL(store));
        gtk_tree_view_column_set_clickable(column,TRUE);
        gtk_tree_view_column_set_visible(column,linphone_gtk_get_ui_config_int("friendlist_status",1));
+       gtk_tree_view_column_set_min_width(column,50);
 
        renderer = gtk_cell_renderer_pixbuf_new();
        gtk_tree_view_column_pack_start(column,renderer,TRUE);
@@ -586,7 +673,7 @@ static void linphone_gtk_friend_list_init(GtkWidget *friendlist){
        column = gtk_tree_view_column_new_with_attributes (_("Call"),renderer,"pixbuf",FRIEND_CALL,NULL);
        gtk_tree_view_append_column (GTK_TREE_VIEW (friendlist), column);
 
-       /* chat column*/
+       /* Chat column*/
        renderer = gtk_cell_renderer_pixbuf_new();
        column = gtk_tree_view_column_new_with_attributes (_("Chat"),renderer,"pixbuf",FRIEND_CHAT,NULL);
        gtk_tree_view_append_column (GTK_TREE_VIEW (friendlist), column);
@@ -599,7 +686,7 @@ static void linphone_gtk_friend_list_init(GtkWidget *friendlist){
        gtk_tree_view_set_tooltip_column(GTK_TREE_VIEW(friendlist),FRIEND_SIP_ADDRESS);
 #endif
 
-       gtk_widget_set_size_request(friendlist,200,100);
+       gtk_widget_set_size_request(friendlist,200,120);
        /*gtk_combo_box_set_active(GTK_COMBO_BOX(linphone_gtk_get_widget(
                                        gtk_widget_get_toplevel(friendlist),"show_category")),0);*/
 }
@@ -668,9 +755,9 @@ void linphone_gtk_show_friends(void){
        //const gchar *search=NULL;
        //gboolean lookup=FALSE;
        MSList *sorted;
+       LinphoneChatRoom *cr=NULL;
 
        linphone_gtk_show_directory_search();
-
        if (gtk_tree_view_get_model(GTK_TREE_VIEW(friendlist))==NULL){
                linphone_gtk_friend_list_init(friendlist);
        }
@@ -692,6 +779,9 @@ void linphone_gtk_show_friends(void){
                const char *name=linphone_address_get_display_name(f_uri);
                const char *display=name;
                char *escaped=NULL;
+               //char buf[26]={0};
+               int nbmsg=0;
+
                /*if (lookup){
                        if (strstr(uri,search)==NULL){
                                ms_free(uri);
@@ -706,15 +796,16 @@ void linphone_gtk_show_friends(void){
                gtk_list_store_append(store,&iter);
                gtk_list_store_set(store,&iter,FRIEND_NAME, display,FRIEND_ID,lf,
                            FRIEND_PRESENCE_IMG, send_subscribe ? create_status_picture(linphone_friend_get_status(lf)) : NULL,
-                           -1);
-
-               gtk_list_store_set(store,&iter,FRIEND_CALL,create_call_picture(),-1);
-               gtk_list_store_set(store,&iter,FRIEND_CHAT,create_chat_picture(),-1);
-
+                               FRIEND_CHAT,create_chat_picture(),FRIEND_CALL,create_call_picture(),-1);
+               cr=linphone_gtk_create_chatroom(f_uri);
+               gtk_list_store_set(store,&iter,FRIEND_CHATROOM,cr,-1);
+               nbmsg=linphone_chat_room_get_unread_messages_count(cr);
+               if(nbmsg != 0){
+                       gtk_list_store_set(store,&iter,FRIEND_CHAT,create_unread_msg(),-1);
+               }
                escaped=g_markup_escape_text(uri,-1);
                gtk_list_store_set(store,&iter,FRIEND_SIP_ADDRESS,escaped,-1);
                g_free(escaped);
-               linphone_gtk_update_chat_picture();
                //bi=linphone_friend_get_info(lf);
                /*if (bi!=NULL && bi->image_data!=NULL){
                        GdkPixbuf *pbuf=
@@ -758,9 +849,11 @@ void linphone_gtk_contact_cancel(GtkWidget *button){
 void linphone_gtk_contact_ok(GtkWidget *button){
        GtkWidget *w=gtk_widget_get_toplevel(button);
        LinphoneFriend *lf=(LinphoneFriend*)g_object_get_data(G_OBJECT(w),"friend_ref");
+       LinphoneFriend *lf2;
        char *fixed_uri=NULL;
        gboolean show_presence=FALSE,allow_presence=FALSE;
        const gchar *name,*uri;
+       LinphoneAddress* friend_address;
        if (lf==NULL){
                lf=linphone_friend_new();
                if (linphone_gtk_get_ui_config_int("use_subscribe_notify",1)==1){
@@ -779,19 +872,23 @@ void linphone_gtk_contact_ok(GtkWidget *button){
                linphone_gtk_display_something(GTK_MESSAGE_WARNING,_("Invalid sip contact !"));
                return ;
        }
-       LinphoneAddress* friend_address = linphone_address_new(fixed_uri);
+       friend_address = linphone_address_new(fixed_uri);
        linphone_address_set_display_name(friend_address,name);
        linphone_friend_set_addr(lf,friend_address);
-       ms_free(fixed_uri);
        linphone_address_destroy(friend_address);
 
        linphone_friend_send_subscribe(lf,show_presence);
        linphone_friend_set_inc_subscribe_policy(lf,allow_presence==TRUE ? LinphoneSPAccept : LinphoneSPDeny);
        if (linphone_friend_in_list(lf)) {
                linphone_friend_done(lf);
-       }else{
-               linphone_core_add_friend(linphone_gtk_get_core(),lf);
+       } else {
+               lf2=linphone_core_get_friend_by_address(linphone_gtk_get_core(),fixed_uri);
+               if(lf2==NULL){
+                       linphone_friend_set_name(lf,name);
+                       linphone_core_add_friend(linphone_gtk_get_core(),lf);
+               }
        }
+       ms_free(fixed_uri);
        linphone_gtk_show_friends();
        gtk_widget_destroy(w);
 }
@@ -911,52 +1008,41 @@ gboolean linphone_gtk_popup_contact_menu(GtkWidget *list, GdkEventButton *event)
 }
 
 gint get_col_number_from_tree_view_column (GtkTreeViewColumn *col){
-    GList *cols;
-    gint   num;
-    g_return_val_if_fail ( col != NULL, -1 );
-    g_return_val_if_fail ( col->tree_view != NULL, -1 );
-    cols = gtk_tree_view_get_columns(GTK_TREE_VIEW(col->tree_view));
-    num = g_list_index(cols, (gpointer) col);
-    g_list_free(cols);
-
-    return num;
-}
-
-int longueur_list (GtkTreeView *tree_view){
-    GtkTreeIter iter;
-       int i=0;
-       GtkTreeModel *model=gtk_tree_view_get_model(tree_view);
-       if (gtk_tree_model_get_iter_first(model,&iter)) {
-               do{
-                       i++;
-               }while(gtk_tree_model_iter_next(model,&iter));
-       }
-       return i;
+       GList *cols;
+       gint   num;
+       g_return_val_if_fail ( col != NULL, -1 );
+       g_return_val_if_fail ( col->tree_view != NULL, -1 );
+       cols = gtk_tree_view_get_columns(GTK_TREE_VIEW(col->tree_view));
+       num = g_list_index(cols, (gpointer) col);
+       g_list_free(cols);
+
+       return num;
 }
 
 static gint tree_view_get_cell_from_pos(GtkTreeView *view, guint x, guint y){
        GtkTreeViewColumn *col = NULL;
        GList *node, *columns;
        gint colx = 0;
-       gint coly = longueur_list(view);
-       gint height=0;
+       GtkTreePath *path;
+       GtkTreeViewDropPosition pos;
        
        g_return_val_if_fail ( view != NULL, 0 );
        columns = gtk_tree_view_get_columns(view);
 
-        for (node = columns;  node != NULL && col == NULL;  node = node->next){
-            GtkTreeViewColumn *checkcol = (GtkTreeViewColumn*) node->data;
-                       gtk_tree_view_column_cell_get_size(checkcol,NULL,NULL,NULL,NULL,&height);
-            if (x >= colx  &&  x < (colx + checkcol->width) && y < (height+2)*coly){
-                col = checkcol;
-                gint num = get_col_number_from_tree_view_column(col);
+       gtk_tree_view_get_dest_row_at_pos(view,x,y,&path,&pos);
+       if(path != NULL){
+               for (node = columns;  node != NULL && col == NULL;  node = node->next){
+                       GtkTreeViewColumn *checkcol = (GtkTreeViewColumn*) node->data;
+                       if (x >= colx  &&  x < (colx + checkcol->width)){
+                               col = checkcol;
+                               gint num = get_col_number_from_tree_view_column(col);
                                return num;
-            }
-            else {
-                colx += checkcol->width;
+                       } else {
+                               colx += checkcol->width;
                        }
-        }
-        g_list_free(columns);
+               }
+       }
+       g_list_free(columns);
        return 0;
 }
 
@@ -979,6 +1065,4 @@ gboolean linphone_gtk_contact_list_button_pressed(GtkWidget *widget, GdkEventBut
 void linphone_gtk_buddy_info_updated(LinphoneCore *lc, LinphoneFriend *lf){
        /*refresh the entire list*/
        linphone_gtk_show_friends();
-}
-
-
+}
\ No newline at end of file
index 0a64a1041d2484f6cca2b1eb21f9f2e9c48b9414..44b35c03c6cefb784759cef6b1c16ec3d344c092 100644 (file)
@@ -75,7 +75,7 @@ static GtkWidget *make_tab_header(int number){
        return w;
 }
 
-void update_tab_header(LinphoneCall *call,gboolean pause){
+void linphone_gtk_call_update_tab_header(LinphoneCall *call,gboolean pause){
        GtkWidget *w=(GtkWidget*)linphone_call_get_user_pointer(call);
        GtkWidget *main_window=linphone_gtk_get_main_window();
        GtkNotebook *notebook=GTK_NOTEBOOK(linphone_gtk_get_widget(main_window,"viewswitch"));
@@ -431,8 +431,6 @@ void linphone_gtk_remove_in_call_view(LinphoneCall *call){
        int idx;
        g_return_if_fail(w!=NULL);
        idx=gtk_notebook_page_num(GTK_NOTEBOOK(nb),w);
-       gtk_notebook_remove_page (GTK_NOTEBOOK(nb),idx);
-       gtk_widget_destroy(w);
        if (in_conf){
                linphone_gtk_unset_from_conference(call);
        }
@@ -444,12 +442,13 @@ void linphone_gtk_remove_in_call_view(LinphoneCall *call){
                        /*show the conference*/
                        gtk_notebook_set_current_page(GTK_NOTEBOOK(nb),gtk_notebook_page_num(GTK_NOTEBOOK(nb),
                                            g_object_get_data(G_OBJECT(main_window),"conf_frame")));
-               }else gtk_notebook_set_current_page(GTK_NOTEBOOK(nb), 0);
+               }else gtk_notebook_prev_page(GTK_NOTEBOOK(nb));
        }else{
                /*show the active call*/
-               gtk_notebook_set_current_page(GTK_NOTEBOOK(nb),gtk_notebook_page_num(GTK_NOTEBOOK(nb),
-                                                                                    linphone_call_get_user_pointer(call)));
+               gtk_notebook_set_current_page(GTK_NOTEBOOK(nb),gtk_notebook_page_num(GTK_NOTEBOOK(nb),                                                                     linphone_call_get_user_pointer(call)));
        }
+       gtk_notebook_remove_page (GTK_NOTEBOOK(nb),idx);
+       gtk_widget_destroy(w);
 }
 
 static void display_peer_name_in_label(GtkWidget *label, const LinphoneAddress *from){
@@ -689,7 +688,7 @@ void linphone_gtk_in_call_view_set_in_call(LinphoneCall *call){
 
        gtk_label_set_text(GTK_LABEL(duration),_("00::00::00"));
        linphone_gtk_in_call_set_animation_image(callview,GTK_STOCK_MEDIA_PLAY,TRUE);
-               update_tab_header(call,FALSE);
+       linphone_gtk_call_update_tab_header(call,FALSE);
        linphone_gtk_enable_mute_button(
                                        GTK_BUTTON(linphone_gtk_get_widget(callview,"incall_mute")),TRUE);
        
@@ -844,7 +843,7 @@ void linphone_gtk_draw_hold_button(GtkButton *button, gboolean active){
 void linphone_gtk_hold_clicked(GtkButton *button){
        int active=GPOINTER_TO_INT(g_object_get_data(G_OBJECT(button),"active"));
        LinphoneCall *call=linphone_gtk_get_currently_displayed_call(NULL);
-       update_tab_header(call,active);
+       linphone_gtk_call_update_tab_header(call,active);
        if (!call) return;
        if(!active)
        {
@@ -860,7 +859,7 @@ void linphone_gtk_enable_hold_button(LinphoneCall *call, gboolean sensitive, gbo
        GtkWidget *callview=(GtkWidget*)linphone_call_get_user_pointer (call);
        GtkWidget *button;
        g_return_if_fail(callview!=NULL);
-       update_tab_header(call,!holdon);
+       linphone_gtk_call_update_tab_header(call,!holdon);
        button=linphone_gtk_get_widget(callview,"hold_call");
        gtk_widget_set_sensitive(GTK_WIDGET(button),sensitive);
        gtk_widget_set_visible(GTK_WIDGET(button),sensitive);
index aaa021a2864f3e82d2feb1936a39cb1a3e281110..f987b2abe50486529f37b0cbe6a96a2c2788c086 100644 (file)
@@ -58,7 +58,6 @@ GtkWidget *linphone_gtk_create_window(const char *window_name);
 GtkWidget *linphone_gtk_get_widget(GtkWidget *window, const char *name);
 GtkWidget *linphone_gtk_create_widget(const char *filename, const char *widget_name);
 
-
 const char *linphone_gtk_message_storage_get_db_file(const char *filename);
 void linphone_gtk_show_assistant(void);
 void linphone_gtk_close_assistant(void);
@@ -68,15 +67,11 @@ GtkWidget *linphone_gtk_get_main_window();
 void linphone_gtk_display_something(GtkMessageType type,const gchar *message);
 void linphone_gtk_start_call(GtkWidget *button);
 void linphone_gtk_call_terminated();
-void linphone_gtk_show_friends(void);
-void linphone_gtk_show_contact(LinphoneFriend *lf);
 void linphone_gtk_set_my_presence(LinphoneOnlineStatus ss);
 void linphone_gtk_show_parameters(void);
 void linphone_gtk_fill_soundcards(GtkWidget *pb);
 void linphone_gtk_fill_webcams(GtkWidget *pb);
 void linphone_gtk_load_identities(void);
-LinphoneChatRoom * linphone_gtk_create_chatroom(const LinphoneAddress *with);
-void linphone_gtk_text_received(LinphoneCore *lc, LinphoneChatRoom *room, LinphoneChatMessage *msg);
 void linphone_gtk_call_log_update(GtkWidget *w);
 void linphone_gtk_create_log_window(void);
 void linphone_gtk_log_show(void);
@@ -85,7 +80,6 @@ void linphone_gtk_log_push(OrtpLogLevel lev, const char *fmt, va_list args);
 void linphone_gtk_destroy_log_window(void);
 void linphone_gtk_refer_received(LinphoneCore *lc, const char *refer_to);
 gboolean linphone_gtk_check_logs();
-void linphone_gtk_buddy_info_updated(LinphoneCore *lc, LinphoneFriend *lf);
 const gchar *linphone_gtk_get_ui_config(const char *key, const char *def);
 int linphone_gtk_get_ui_config_int(const char *key, int def);
 void linphone_gtk_set_ui_config_int(const char *key , int val);
@@ -99,21 +93,25 @@ SipSetupContext* linphone_gtk_get_default_sip_setup_context(void);
 GtkWidget * linphone_gtk_show_buddy_lookup_window(SipSetupContext *ctx);
 void linphone_gtk_buddy_lookup_set_keyword(GtkWidget *w, const char *kw);
 void * linphone_gtk_wait(LinphoneCore *lc, void *ctx, LinphoneWaitingState ws, const char *purpose, float progress);
-
 void linphone_gtk_terminate_call(GtkWidget *button);
-void update_tab_header(LinphoneCall *call,gboolean pause);
-
+void linphone_gtk_call_update_tab_header(LinphoneCall *call,gboolean pause);
 void linphone_gtk_show_directory_search(void);
 void linphone_gtk_status_icon_set_blinking(gboolean val);
 void linphone_gtk_notify(LinphoneCall *call, const char *msg);
-LinphoneChatRoom *linphone_gtk_start_chat(GtkTreeView* t);
+
 void linphone_gtk_load_chatroom(LinphoneChatRoom *cr,const LinphoneAddress *uri,GtkWidget *chat_view);
 void linphone_gtk_send_text();
 GtkWidget * linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddress *with);
-void linphone_gtk_create_chat_picture(gboolean active);
-void linphone_gtk_update_chat_picture();
-void linphone_gtk_chat_set_conversation(const LinphoneAddress *uri,gchar *conversation);
-gchar * linphone_gtk_chat_get_conversation(const LinphoneAddress *uri);
+LinphoneChatRoom * linphone_gtk_create_chatroom(const LinphoneAddress *with);
+void linphone_gtk_text_received(LinphoneCore *lc, LinphoneChatRoom *room, LinphoneChatMessage *msg);
+
+void linphone_gtk_friend_list_update_chat_picture();
+void linphone_gtk_friend_list_set_chat_conversation(const LinphoneAddress *la);
+gboolean linphone_gtk_friend_list_is_contact(const LinphoneAddress *addr);
+void linphone_gtk_notebook_tab_select(GtkNotebook *notebook,GtkWidget *page,guint page_num, gpointer data);
+void linphone_gtk_show_friends(void);
+void linphone_gtk_show_contact(LinphoneFriend *lf);
+void linphone_gtk_buddy_info_updated(LinphoneCore *lc, LinphoneFriend *lf);
 
 /*functions controlling the different views*/
 gboolean linphone_gtk_use_in_call_view();
@@ -151,5 +149,4 @@ void linphone_gtk_uninit_instance(void);
 void linphone_gtk_monitor_usb(void);
 void linphone_gtk_unmonitor_usb(void);
 
-gchar *linphone_gtk_get_record_path(const LinphoneAddress *address, gboolean is_conference);
-
+gchar *linphone_gtk_get_record_path(const LinphoneAddress *address, gboolean is_conference);
\ No newline at end of file
index 15bef85e0c221de2242c4ef8c4fffb25376e9198..26027251f6aad830a5bea120bd2a3fe621ff8536 100644 (file)
@@ -23,6 +23,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 #include <sys/stat.h>
 #include <sys/types.h>
 #endif
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 
 extern gchar *linphone_logfile;
 
index c6065241cfe05d00eba32cdf13303e9531d9becf..e914e42bd5e9016ea6a70af956c351a522688175 100644 (file)
@@ -63,12 +63,16 @@ static void linphone_gtk_call_log_updated(LinphoneCore *lc, LinphoneCallLog *cl)
 static void linphone_gtk_call_state_changed(LinphoneCore *lc, LinphoneCall *call, LinphoneCallState cs, const char *msg);
 static void linphone_gtk_call_encryption_changed(LinphoneCore *lc, LinphoneCall *call, bool_t enabled, const char *token);
 static void linphone_gtk_transfer_state_changed(LinphoneCore *lc, LinphoneCall *call, LinphoneCallState cstate);
+void linphone_gtk_save_main_window_position(GtkWindow* mw, GdkEvent *event, gpointer data);
 static gboolean linphone_gtk_auto_answer(LinphoneCall *call);
 void linphone_gtk_status_icon_set_blinking(gboolean val);
 void _linphone_gtk_enable_video(gboolean val);
 
 
-
+#ifndef HAVE_GTK_OSX
+static gint main_window_x=0;
+static gint main_window_y=0;
+#endif
 static gboolean verbose=0;
 static gboolean auto_answer = 0;
 static gchar * addr_to_call = NULL;
@@ -1228,10 +1232,10 @@ static void linphone_gtk_call_state_changed(LinphoneCore *lc, LinphoneCall *call
                break;
                case LinphoneCallPausing:
                        linphone_gtk_enable_hold_button(call,TRUE,FALSE);
-                       update_tab_header(call,FALSE);
+                       linphone_gtk_call_update_tab_header(call,FALSE);
                case LinphoneCallPausedByRemote:
                        linphone_gtk_in_call_view_set_paused(call);
-                       update_tab_header(call,TRUE);
+                       linphone_gtk_call_update_tab_header(call,TRUE);
                break;
                case LinphoneCallConnected:
                        linphone_gtk_enable_hold_button (call,TRUE,TRUE);
@@ -1371,11 +1375,20 @@ static GtkWidget *create_icon_menu(){
        return menu;
 }
 
+void linphone_gtk_save_main_window_position(GtkWindow* mw, GdkEvent *event, gpointer data){
+       gtk_window_get_position(GTK_WINDOW(mw), &main_window_x, &main_window_y); 
+}
+
 static void handle_icon_click() {
        GtkWidget *mw=linphone_gtk_get_main_window();
        if (!gtk_window_is_active((GtkWindow*)mw)) {
+               if(!gtk_widget_is_drawable(mw)){ 
+                       //we only move if window was hidden. If it was simply behind the window stack, ie, drawable, we keep it as it was
+                       gtk_window_move (GTK_WINDOW(mw), main_window_x, main_window_y);
+               }
                linphone_gtk_show_main_window();
        } else {
+               linphone_gtk_save_main_window_position((GtkWindow*)mw, NULL, NULL);
                gtk_widget_hide(mw);
        }
 }
@@ -1713,6 +1726,7 @@ static void linphone_gtk_init_main_window(){
        linphone_gtk_load_identities();
        linphone_gtk_set_my_presence(linphone_core_get_presence_info(linphone_gtk_get_core()));
        linphone_gtk_show_friends();
+       linphone_core_reset_missed_calls_count(linphone_gtk_get_core());
        main_window=linphone_gtk_get_main_window();
        linphone_gtk_call_log_update(main_window);
 
@@ -1735,7 +1749,6 @@ static void linphone_gtk_init_main_window(){
        linphone_gtk_check_menu_items();
 }
 
-
 void linphone_gtk_log_handler(OrtpLogLevel lev, const char *fmt, va_list args){
        if (verbose){
                const char *lname="undef";
index e1c8c91291fcdd0b9cc626d84fff03a8e22f49a8..347a402eae529f64574e2ef92a3249d3d1776294 100644 (file)
                   <object class="GtkLabel" id="in_call_uri">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
-                    <property name="label" translatable="yes">label</property>
                     <property name="justify">center</property>
                   </object>
                   <packing>
                       <object class="GtkLabel" id="encryption_label">
                         <property name="visible">True</property>
                         <property name="can_focus">False</property>
-                        <property name="label" translatable="yes">label</property>
                       </object>
                       <packing>
                         <property name="expand">True</property>
   <object class="GtkWindow" id="main">
     <property name="can_focus">False</property>
     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+    <property name="default_width">660</property>
+    <property name="default_height">450</property>
     <child>
       <object class="GtkVBox" id="vbox2">
         <property name="visible">True</property>
                       <packing>
                         <property name="expand">False</property>
                         <property name="fill">False</property>
+                        <property name="padding">6</property>
                         <property name="pack_type">end</property>
                         <property name="position">1</property>
                       </packing>
                                     <property name="position">0</property>
                                   </packing>
                                 </child>
-                                <child>
-                                  <object class="GtkHButtonBox" id="dialog-action_area1">
-                                    <property name="visible">True</property>
-                                    <property name="can_focus">False</property>
-                                    <property name="layout_style">end</property>
-                                    <child>
-                                      <object class="GtkButton" id="erase_call_logs_button">
-                                        <property name="label">gtk-clear</property>
-                                        <property name="visible">True</property>
-                                        <property name="can_focus">True</property>
-                                        <property name="receives_default">True</property>
-                                        <property name="use_action_appearance">False</property>
-                                        <property name="use_stock">True</property>
-                                        <signal name="clicked" handler="linphone_gtk_clear_call_logs" swapped="no"/>
-                                      </object>
-                                      <packing>
-                                        <property name="expand">False</property>
-                                        <property name="fill">False</property>
-                                        <property name="position">0</property>
-                                      </packing>
-                                    </child>
-                                    <child>
-                                      <placeholder/>
-                                    </child>
-                                    <child>
-                                      <placeholder/>
-                                    </child>
-                                  </object>
-                                  <packing>
-                                    <property name="expand">False</property>
-                                    <property name="fill">True</property>
-                                    <property name="pack_type">end</property>
-                                    <property name="position">1</property>
-                                  </packing>
-                                </child>
                                 <child>
                                   <object class="GtkVBox" id="vbox7">
                                     <property name="visible">True</property>
                                     <property name="can_focus">False</property>
                                     <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
-                                    <child>
-                                      <placeholder/>
-                                    </child>
                                     <child>
                                       <object class="GtkFrame" id="directory_search_box">
                                         <property name="can_focus">False</property>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
                                         <property name="padding">5</property>
-                                        <property name="position">2</property>
+                                        <property name="position">0</property>
                                       </packing>
                                     </child>
                                     <child>
                                       <packing>
                                         <property name="expand">False</property>
                                         <property name="fill">False</property>
-                                        <property name="position">3</property>
+                                        <property name="position">1</property>
                                       </packing>
                                     </child>
                                   </object>
                                   <packing>
                                     <property name="expand">False</property>
                                     <property name="fill">False</property>
-                                    <property name="pack_type">end</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkHButtonBox" id="dialog-action_area1">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="layout_style">end</property>
+                                    <child>
+                                      <object class="GtkButton" id="erase_call_logs_button">
+                                        <property name="label">gtk-clear</property>
+                                        <property name="visible">True</property>
+                                        <property name="can_focus">True</property>
+                                        <property name="receives_default">True</property>
+                                        <property name="use_action_appearance">False</property>
+                                        <property name="use_stock">True</property>
+                                        <signal name="clicked" handler="linphone_gtk_clear_call_logs" swapped="no"/>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">0</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <placeholder/>
+                                    </child>
+                                    <child>
+                                      <placeholder/>
+                                    </child>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">True</property>
                                     <property name="position">2</property>
                                   </packing>
                                 </child>
                           <object class="GtkHBox" id="hbox6">
                             <property name="visible">True</property>
                             <property name="can_focus">False</property>
+                            <signal name="button-press-event" handler="linphone_gtk_call_log_reset_missed_call" swapped="no"/>
                             <child>
                               <object class="GtkImage" id="history_tab_icon">
                                 <property name="visible">True</property>
index 142708cc2b20aa5ffa4622d2eb29a94c83c285fc..40a5e32d99092fe85d1eead1a3db222d72e0971b 100644 (file)
@@ -18,9 +18,17 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */
 
 package org.linphone.core;
-
+/**
+ * Enum representing the direction of a call.
+**/
  public class CallDirection {
+        /**
+         * outgoing calls*
+         * */
        public static CallDirection Outgoing = new CallDirection("CallOutgoing");
+       /**
+        * incoming calls
+        */
        public static CallDirection Incoming = new CallDirection("Callincoming");
        private String mStringValue;
        private CallDirection(String aStringValue) {
index b2a2c938046801a094ecade7086fc4c877453d88..fe5164b018c0d24bb8cf4ba5ac4218e3b4a36bb9 100644 (file)
@@ -39,21 +39,48 @@ public interface LinphoneAddress {
         */
        public String getUserName();
        /**
-        * 
+        * Domain name
         * @return null if not set
         */
        public String getDomain();
+       /**
+        * Port as String
+        * @return null if not set
+        */
        public String getPort();
+       /**
+        * Port as integer value. 
+        * @return negative value if not set if not set
+        */
        public int getPortInt();
        /**
         * set display name 
         * @param name
         */
        public void setDisplayName(String name);
+       /**
+        * set user name 
+        * @param username
+        */
        public void setUserName(String username);
+       /**
+        * set domain name 
+        * @param domain
+        */
        public void setDomain(String domain);
+       /**
+        * set port as String 
+        * @param port, null if not set
+        */
        public void setPort(String port);
+       /**
+        * set port as int 
+        * @param port, negative value if not set
+        */
        public void setPortInt(int port);
+       /**
+        * Removes address's tags and uri headers so that it is displayable to the user.
+       **/
        public void clean();
        
        /**
index ed8a8401769b3208c49840926cafa0001d474861..0213720eb0eb4c964f0dbe0f61fef28ceb826e50 100644 (file)
@@ -20,7 +20,7 @@ package org.linphone.core;
 /**
  * Object holding authentication information.
  * In most case, authentication information consists of a username and password. Sometimes, a userid is required by proxy, and realm can be useful to discriminate different SIP domains.
- *<br>This object is instanciated using {@link LinphoneCoreFactory#createAuthInfo(String, String, String)}.
+ *<br>This object is instantiated using either {@link LinphoneCoreFactory#createAuthInfo(String, String, String)} or {@link LinphoneCoreFactory#createAuthInfo(String, String, String, String, String)}.
  *<br>
  *Once created and filled, a LinphoneAuthInfo must be added to the LinphoneCore in order to become known and used automatically when needed. 
  *Use {@link LinphoneCore#addAuthInfo(LinphoneAuthInfo)} for that purpose.
index 2e839234fd2828c9ce79a07848486bdaa611364b..f1dd742b3f04a4aaca109f2634a0b477ef526565 100644 (file)
@@ -24,7 +24,11 @@ package org.linphone.core;
 import java.util.Vector;
 
 
-
+/**
+ * Object representing a call log.
+ *
+ *
+**/
 public interface LinphoneCallLog {
        /**
         * Represents call status
@@ -91,26 +95,30 @@ public interface LinphoneCallLog {
        public CallDirection getDirection();
        /**
         * get status of this call
-        * @return
+        * @return CallStatus
         */
        public CallStatus getStatus();
        
        /**
-        * @return a human readble String with the start date/time of the call
+        * A human readable String with the start date/time of the call
+        * @return String
         */
        public String getStartDate();
        
        /**
-        * @return a timestamp of the start date/time of the call in milliseconds since January 1st 1970
+        * A  timestamp of the start date/time of the call in milliseconds since January 1st 1970
+        * @return  long
         */
        public long getTimestamp();
        
        /**
-        * @return the call duration, in seconds
+        * The call duration, in seconds
+        * @return int
         */
        public int getCallDuration();
        /**
-        * @return the call id from signaling
+        *  Call id from signaling
+        * @return int
         */
        public int getCallId();
 }
index f1248c445540e0ae070ef99ce153a7e5a9dd7ba1..295c99484105b96e51e76dd5ad2618ac3938c03f 100644 (file)
@@ -121,25 +121,25 @@ public interface LinphoneCallStats {
        public float getUploadBandwidth();
 
        /**
-        * Get the sender loss rate since last report
+        * Get the local loss rate since last report
         * @return The sender loss rate
         */
        public float getSenderLossRate();
 
        /**
-        * Get the receiver loss rate since last report
+        * Get the remote reported loss rate since last report
         * @return The receiver loss rate
         */
        public float getReceiverLossRate();
 
        /**
-        * Get the sender interarrival jitter
+        * Get the local interarrival jitter
         * @return The interarrival jitter at last emitted sender report
         */
        public float getSenderInterarrivalJitter();
 
        /**
-        * Get the receiver interarrival jitter
+        * Get the remote reported interarrival jitter
         * @return The interarrival jitter at last received receiver report
         */
        public float getReceiverInterarrivalJitter();
@@ -161,4 +161,16 @@ public interface LinphoneCallStats {
         * @return The jitter buffer size in milliseconds
         */
        public float getJitterBufferSize();
+
+       /**
+        * Get the local loss rate. Unlike getSenderLossRate() that returns this loss rate "since last emitted RTCP report", the value returned here is updated every second.
+        * @return The local loss rate percentage.
+       **/
+       public float getLocalLossRate();
+
+       /**
+        * Get the local late packets rate. The value returned here is updated every second.
+        * @return The local late rate percentage.
+       **/
+       public float getLocalLateRate();
 }
index 3a2a4571813edd40c1564708a78e7717853be018..b6b6c30ec3c59026b07041e44984b251f88802aa 100644 (file)
@@ -106,4 +106,10 @@ public interface LinphoneChatMessage {
         * @return the value of the header, or null if not found.
         */
        String  getCustomHeader(String name);
+       
+       /**
+        * Gets the time at which the message was sent
+        * @return the time in milliseconds
+        */
+       long getTime();
 }
index ab25520a42abd3e781d8b85469f49c9b57a0d8e3..d76acad9a235d435db1f348f8d2424743899611c 100644 (file)
@@ -20,6 +20,9 @@ package org.linphone.core;
 
 import java.util.Vector;
 
+import org.linphone.core.LinphoneCall.State;
+import org.linphone.mediastream.video.capture.hwconf.AndroidCameraConfiguration;
+
 /**
  * Linphone core main object created by method {@link LinphoneCoreFactory#createLinphoneCore(LinphoneCoreListener, String, String, Object)}.   
  *
@@ -172,11 +175,22 @@ public interface LinphoneCore {
        }
        
        /**
-        * Signaling transports ports.
+        * Linphone core SIP transport ports.
+        * Use with {@link LinphoneCore#setSignalingTransportPorts(Transports)}
+        * @ingroup initializing
         */
        static public class Transports {
+               /**
+                * udp port to listening on, negative value if not set
+                * */
                public int udp;
+               /**
+                * tcp port to listening on, negative value if not set
+                * */
                public int tcp;
+               /**
+                * tls port to listening on, negative value if not set
+                * */
                public int tls;
                
                public Transports() {};
@@ -389,10 +403,10 @@ public interface LinphoneCore {
        public LinphoneCall invite(String destination)throws LinphoneCoreException;
        /**
         * Initiates an outgoing call given a destination LinphoneAddress
-        *<br>The LinphoneAddress can be constructed directly using linphone_address_new(), or created by linphone_core_interpret_url(). The application doesn't own a reference to the returned LinphoneCall object. Use linphone_call_ref() to safely keep the LinphoneCall pointer valid within your application.
+        *<br>The LinphoneAddress can be constructed directly using {@link LinphoneCoreFactory#createLinphoneAddress} , or created {@link LinphoneCore#interpretUrl(String)}. .
         * @param to the destination of the call (sip address).
-        * @return LinphoneCall
-        * @throws LinphoneCoreException
+        * @return linphone call
+        * @throws LinphoneCoreException if linphone call cannot be created
         */
        public LinphoneCall invite(LinphoneAddress to)throws LinphoneCoreException;
        /**
@@ -402,6 +416,8 @@ public interface LinphoneCore {
        public void terminateCall(LinphoneCall aCall);
        /**
         * Declines an incoming call, providing a reason for declining it.
+        * @param call the LinphoneCall, must be in the {@link LinphoneCall.State#IncomingReceived} state.
+        * @param reason the reason for rejecting the call: {@link Reason#Declined}  or {@link Reason#Busy}
         */
        public void declineCall(LinphoneCall aCall, Reason reason);
        /**
@@ -417,7 +433,7 @@ public interface LinphoneCore {
        public LinphoneAddress getRemoteAddress();
        /**
         *  
-        * @return  TRUE if there is a call running or pending.
+        * @return  true if there is a call running or pending.
         */
        public boolean isIncall();
        /**
@@ -482,8 +498,6 @@ public interface LinphoneCore {
         */
        public void deferCallUpdate(LinphoneCall aCall) throws LinphoneCoreException;
 
-       public void startRinging();
-
        /**
         * @return a list of LinphoneCallLog 
         */
@@ -499,7 +513,7 @@ public interface LinphoneCore {
         */
        public void setNetworkReachable(boolean isReachable);
        /**
-        * 
+        * Get network state has known by {@link LinphoneCore}
         * @return if false, there is no network connection.
         */
        public boolean isNetworkReachable();
@@ -541,16 +555,16 @@ public interface LinphoneCore {
 
        /**
         * Initiate a dtmf signal if in call
-        * @param number
+        * @param send dtmf ['0'..'9'] | '#', '*'
         */
        void sendDtmf(char number);
        /**
         * Initiate a dtmf signal to the speaker if not in call.
         * Sending of the DTMF is done in another function.
-        * @param number
+        * @param dtmf ['0'..'9'] | '#', '*'
         * @param duration in ms , -1 for unlimited
         */
-       void playDtmf(char number,int duration);
+       void playDtmf(char dtmf,int duration);
        /**
         * stop current dtmf
         */
@@ -560,23 +574,43 @@ public interface LinphoneCore {
         * remove all call logs
         */
        void clearCallLogs();
-       /***
-        * get payload type  from mime type, clock rate, and number of channels.-
-        * 
-        * return null if not found
-        */
+       
+       
+       
+       
+       /**
+        * Get payload type from mime type and clock rate
+        *
+        * This function searches in audio and video codecs for the given payload type name and clockrate.
+        * @param mime payload mime type (I.E SPEEX, PCMU, VP8)
+        * @param clockRate (I.E 8000, 16000, 90000, ...) 
+        * @param channels  number of channels
+        * @return Returns null if not found.
+        */     
        PayloadType findPayloadType(String mime, int clockRate, int channels); 
        /***
         * get payload type  from mime type and clock rate..
-        * 
-        * return null if not found
+        * Same as @{link {@link #findPayloadType(String, int, int)} but ignoring channels params
+        * @param mime payload mime type (I.E SPEEX, PCMU, VP8)
+        * @param clockRate (I.E 8000, 16000, 90000, ...) 
+        * @return null if not found
         */
        PayloadType findPayloadType(String mime, int clockRate); 
+       
+       /***
+        * get payload type  from mime type 
+        * Same as @{link {@link #findPayloadType(String, int, int)} but ignoring channels and clock rate params
+        * @param mime payload mime type (I.E SPEEX, PCMU, VP8)
+        * @return null if not found
+        */
+       PayloadType findPayloadType(String mime); 
+       
        /**
-        * not implemented yet
-        * @param pt
-        * @param enable
-        * @throws LinphoneCoreException
+        * Enable payload type
+        * @param pt payload type to enable, can be retrieve from {@link #findPayloadType}
+        * @param true if enabled
+        * @exception LinphoneCoreException
+        *
         */
        void enablePayloadType(PayloadType pt, boolean enable) throws LinphoneCoreException;
        /**
@@ -595,13 +629,28 @@ public interface LinphoneCore {
         */
        boolean isEchoLimiterEnabled();
        /**
-        * @param transports used for signaling (TCP, UDP and TLS)
+        * Set transport ports linphone core will listen on
+        * @param local transports ports used for signaling (TCP, UDP and TLS)
         */
        void setSignalingTransportPorts(Transports transports);
-       /**
+       /**Get 
         * @return transports used for signaling (TCP, UDP, TLS)
         */
        Transports getSignalingTransportPorts();
+       
+       /**
+        * Assign a dscp value for the SIP socket.
+        * DSCP is an IP packet field used to indicate the type of routing service to routers.
+        * @param dscp
+        */
+       void setSipDscp(int dscp);
+       
+       /**
+        * Get DSCP used for SIP socket.
+        * @return the DSCP value used for the SIP socket.
+        */
+       int getSipDscp();
+       
        /**
         * Activates or deactivates the speaker.
         * @param value
@@ -632,12 +681,36 @@ public interface LinphoneCore {
         * @return {@link LinphoneChatRoom} where messaging can take place.
         */
        LinphoneChatRoom createChatRoom(String to);
-       
+       /**
+        * Set the native video window id where the video is to be displayed.
+        * On Android, it must be of type {@link AndroidVideoWindowImpl}
+        * @param video window of type {@link AndroidVideoWindowImpl}
+       **/
        void setVideoWindow(Object w);
+       /**
+        * Set the native video window id where the video preview is to be displayed.
+        * On Android, it must of type {@link SurfaceView}
+        * @param video window of type {@link SurfaceView}
+       **/
        void setPreviewWindow(Object w);
+       /**
+        * Tells the core the device current orientation. This can be used by capture filters
+        * on mobile devices to select between portrait/landscape mode and to produce properly
+        * oriented images. The exact meaning of the value in rotation if left to each device
+        * specific implementations.
+        *@param rotation . Android supported values are 0, 90, 180 and 270.
+        *
+       **/
        void setDeviceRotation(int rotation);
-       
+       /**
+        * Sets the active video device.
+        *
+        * @param id  of the video device as returned by {@link AndroidCameraConfiguration#retrieveCameras}
+       **/
        void setVideoDevice(int id);
+       /**
+        * Returns the id of the currently active video device as found in {@link AndroidCameraConfiguration#retrieveCameras}.
+       **/
        int getVideoDevice();
        
        /**
@@ -665,6 +738,7 @@ public interface LinphoneCore {
         */
        void setStunServer(String stun_server);
        /**
+        * Get STUN server
         * @return stun server address if previously set.
         */
        String getStunServer();
@@ -678,11 +752,35 @@ public interface LinphoneCore {
         * @return previously set firewall policy.
         */
        FirewallPolicy getFirewallPolicy();
-
+       /**
+        * Initiates an outgoing call given a destination LinphoneAddress
+        *
+        * @param addr the destination of the call {@link #LinphoneAddress }.
+        * @param params call parameters {@link #LinphoneCallParams }
+        *
+        *<br>The LinphoneAddress can be constructed directly using {@link LinphoneCoreFactory#createLinphoneAddress} , or created {@link LinphoneCore#interpretUrl(String)}. .
+        *
+        * @return a {@link #LinphoneCall LinphoneCall} object 
+        * @throws LinphoneCoreException  in case of failure
+       **/
        LinphoneCall inviteAddressWithParams(LinphoneAddress destination, LinphoneCallParams params) throws LinphoneCoreException ;
-       
+       /**
+        * Updates a running call according to supplied call parameters or parameters changed in the LinphoneCore.
+        *
+        * In this version this is limited to the following use cases:
+        * - setting up/down the video stream according to the video parameter of the {@link LinphoneCallParams} (see {@link LinphoneCallParams#enableVideo} ).
+        * - changing the size of the transmitted video after calling {@link LinphoneCore#setPreferredVideoSize(VideoSize)}
+        *
+        * In case no changes are requested through the {@link LinphoneCallParams} argument, then this argument can be omitted and set to null.
+        * @param call the {@link LinphoneCall} to be updated
+        * @param params the new  {@link  LinphoneCallParams call parameters} to use. (may be NULL)
+        * @return 0 if successful, -1 otherwise.
+       **/
        int updateCall(LinphoneCall call, LinphoneCallParams params);
-
+       /**
+        * Get default call parameters reflecting current linphone core configuration
+        * @return  LinphoneCallParams
+        */
        LinphoneCallParams createDefaultCallParameters();
 
        /**
@@ -694,7 +792,7 @@ public interface LinphoneCore {
        /**
         * gets the path to a wav file used for ringing.
         *
-        * @param null if not set
+        * @return null if not set
         */
        String getRing();
        
@@ -706,7 +804,18 @@ public interface LinphoneCore {
        void setRootCA(String path);
        
        void setUploadBandwidth(int bw);
-
+       /**
+        * Sets maximum available download bandwidth
+        *
+        *
+        * This is IP bandwidth, in kbit/s.
+        * This information is used signaled to other parties during
+        * calls (within SDP messages) so that the remote end can have
+        * sufficient knowledge to properly configure its audio & video
+        * codec output bitrate to not overflow available bandwidth.
+        *
+        * @param bw the bandwidth in kbits/s, 0 for infinite
+        */
        void setDownloadBandwidth(int bw);
        
        /**
@@ -720,9 +829,20 @@ public interface LinphoneCore {
         * @param ptime packetization interval in milliseconds
         */
        void setUploadPtime(int ptime);
-
+       /**
+        * Sets the preferred video size.
+        *
+        * This applies only to the stream that is captured and sent to the remote party,
+        * since we accept all standard video size on the receive path.
+        * @param vSize
+        * 
+       **/
        void setPreferredVideoSize(VideoSize vSize);
-       
+       /**
+        * get current preferred video size for sending.
+        * @return  video size
+        *
+       **/
        VideoSize getPreferredVideoSize();
        
        /**
@@ -766,13 +886,18 @@ public interface LinphoneCore {
        void adjustSoftwareVolume(int i);
        
        /**
-        * Pause a call.
+        * Pauses a call. If a music file has been setup using {@link LinphoneCore#setPlayFile(String)},
+        * this file will be played to the remote user.
+        *
        **/
        boolean pauseCall(LinphoneCall call);
        /**
         * Resume a call.
        **/
        boolean resumeCall(LinphoneCall call);
+       /**
+        * Pause all currently running calls.
+       **/
        boolean pauseAllCalls();
        
        void setZrtpSecretsCache(String file);
@@ -783,33 +908,75 @@ public interface LinphoneCore {
        **/
        boolean isInConference();
        /**
-        * Connect the local user to the conference.
+        * Moves the local participant inside the conference.
+        * 
+        * Makes the local participant to join the conference. 
+        * Typically, the local participant is by default always part of the conference when joining an active call into a conference.
+        * However, by calling {@link #leaveConference()} and {@link #enterConference()} the application can decide to temporarily
+        * move out and in the local participant from the conference.
+        * 
+        * @returns true if successful
        **/
        boolean enterConference();
        /**
-        * Disconnect the local user from the conference.
+        * Moves the local participant out of the conference.
+        * When the local participant is out of the conference, the remote participants can continue to talk normally.
        **/
        void leaveConference();
 
        /**
-        * Add an established call to the conference. The LinphoneCore is able to manage one client based conference.
+        * Merge a call into a conference.
+        * 
+        * If this is the first call that enters the conference, the virtual conference will be created automatically.
+        * If the local user was actively part of the call (ie not in paused state), then the local user is automatically entered into the conference.
+        * If the call was in paused state, then it is automatically resumed when entering into the conference.
+        * @param call an established call, either in {@link LinphoneCall.State#StreamsRunning} or {@link LinphoneCall.State#Paused} state.
+        * 
        **/
        void addToConference(LinphoneCall call);
        /**
-        * Remove an established call from the conference.
-       **/
+        * Remove a call from the conference.
+        * @param call a call that has been previously merged into the conference.
+        * 
+        * After removing the remote participant belonging to the supplied call, the call becomes a normal call in paused state.
+        * If one single remote participant is left alone together with the local user in the conference after the removal, then the conference is
+        * automatically transformed into a simple call in StreamsRunning state.
+        * The conference's resources are then automatically destroyed.
+        * 
+        * In other words, unless {@link #leaveConference()} is explicitely called, the last remote participant of a conference is automatically
+        * put in a simple call in running state.
+        * 
+        **/
        void removeFromConference(LinphoneCall call);
+       /**
+        * Add all calls into a conference.
+        * 
+        * Merge all established calls (either in {@link LinphoneCall.State#StreamsRunning} or {@link LinphoneCall.State#Paused}) into a conference.
+        * 
+       **/
        void addAllToConference();
        
        /**
-        * Terminate the conference, all users are disconnected.
+        * Terminates the conference and the calls associated with it.
+        * 
+        * All the calls that were merged to the conference are terminated, and the conference resources are destroyed.
+        * 
        **/
        void terminateConference();
+       /**
+        * Returns the number of participants to the conference, including the local participant.
+        * 
+        * Typically, after merging two calls into the conference, there is total of 3 participants:
+        * the local participant (or local user), and two remote participants that were the destinations of the two previously establised calls.
+        * 
+        * @returns the number of participants to the conference
+       **/
        int getConferenceSize();
 
        /**
         * Request recording of the conference into a supplied file path.
         * The format is wav.
+        * @param path where to write recording file
        **/
        void startConferenceRecording(String path);
        
@@ -817,22 +984,60 @@ public interface LinphoneCore {
         * Stop recording of the conference.
        **/
        void stopConferenceRecording();
-
+       /**
+        * Terminates all the calls.
+        */
        void terminateAllCalls();
        /**
         * Returns all calls.
+        * @return an array with all call currently handle by Linphone core
        **/
        LinphoneCall[] getCalls();
+       /**
+        * Get number of calls currently handled by Linphone core
+        * @returns number of calls
+        * */
        int getCallsNb();
 
-
+       /**
+        * Performs a simple call transfer to the specified destination.
+        *
+        * @param call The current local call remains active and thus can be later paused or terminated.
+        * @param  referTo The remote call party endpoint is expected to issue a new call to this specified destination.
+       **/
        void transferCall(LinphoneCall call, String referTo);
+       /**
+        * Transfer a call to destination of another running call. This is used for "attended transfer" scenarios.
+        * The transfered call is supposed to be in paused state, so that it is able to accept the transfer immediately.
+        * The destination call is a call previously established to introduce the transfered person.
+        * This method will send a transfer request to the transfered person. The phone of the transfered is then
+        * expected to automatically call to the destination of the transfer. The receiver of the transfer will then automatically
+        * close the call with us (the 'dest' call).
+        * @param call a running call you want to transfer
+        * @param dest a running call whose remote person will receive the transfer
+       **/
        void transferCallToAnother(LinphoneCall callToTransfer, LinphoneCall destination);
-
+       /**
+        * Search from the list of current calls if a remote address match uri
+        * @param uri which should match call remote uri
+        * @return LinphoneCall or NULL is no match is found
+        */
        LinphoneCall findCallFromUri(String uri);
-
+       /**
+        * Get the maximum number of simultaneous calls Linphone core can manage at a time. All new call above this limit are declined with a busy answer
+        * @return max number of simultaneous calls
+        */
        int getMaxCalls();
+       /**
+        * Set the maximum number of simultaneous calls Linphone core can manage at a time. All new call above this limit are declined with a busy answer
+        * @param max number of simultaneous calls
+        */
        void setMaxCalls(int max);
+       /**
+        * @deprecated
+        * @param uri
+        * @return
+        */
        boolean isMyself(String uri);
 
        /**
@@ -884,15 +1089,31 @@ public interface LinphoneCore {
        void tunnelAddServerAndMirror(String host, int port, int udpMirrorPort, int roundTripDelay);
 
        boolean isTunnelAvailable();
-       
+       /**
+        * Returns an unmodifiable list of entered proxy configurations.
+        * @return list of proxy config
+       **/
        LinphoneProxyConfig[] getProxyConfigList();
-       
+       /**
+        * Sets the default policy for video.
+        * This policy defines whether:
+        * @param autoInitiate video shall be initiated by default for outgoing calls
+        * @param autoAccept video shall be accepter by default for incoming calls
+       **/
        void setVideoPolicy(boolean autoInitiate, boolean autoAccept);
-
+       /** Set static picture to be used when "Static picture" is the video device 
+        * @param path to the static picture file
+        * */
        void setStaticPicture(String path);
-
+       /**
+        * Sets the user agent string used in SIP messages.
+        * @param user agent name
+        * @param user agent version
+       **/
        void setUserAgent(String name, String version);
-       
+       /**
+        * Set the number of cores used for media processing
+        * */
        void setCpuCount(int count);
        
        /**
@@ -939,6 +1160,19 @@ public interface LinphoneCore {
         */
        void setAudioPortRange(int minPort, int maxPort);
        
+       /**
+        * Assign a DSCP value to the audio RTP sockets.
+        * @param dscp the DSCP value.
+        * DSCP is an IP header field used to indicate a type of service to routers.
+        */
+       void setAudioDscp(int dscp);
+       
+       /**
+        * Return DSCP value used for the audio RTP sockets.
+        * @return the DSCP value used for the audio RTP sockets.
+        */
+       int getAudioDscp();
+       
        /**
         * Sets the UDP port used for video streaming.
        **/
@@ -949,6 +1183,19 @@ public interface LinphoneCore {
         */
        void setVideoPortRange(int minPort, int maxPort);
        
+       /**
+        * Assign a DSCP value to the video RTP sockets.
+        * @param dscp the DSCP value.
+        * DSCP is an IP header field used to indicate a type of service to routers.
+        */
+       void setVideoDscp(int dscp);
+       
+       /**
+        * Return DSCP value used for the video RTP sockets.
+        * @return the DSCP value used for the video RTP sockets.
+        */
+       int getVideoDscp();
+       
        /**
         * Set the incoming call timeout in seconds.
         * If an incoming call isn't answered for this timeout period, it is
@@ -961,7 +1208,10 @@ public interface LinphoneCore {
         * Once this time is elapsed (ringing included), the call is automatically hung up.
        **/
        void setInCallTimeout(int timeout);
-       
+       /**
+        * Allow to control microphone level:  
+        * @param gain in db
+       **/
        void setMicrophoneGain(float gain);
        
        /**
index ea325057e34a76a07c0805cf3b0479ee7c3cf87c..5e86379993026d60c777719b8b62b17536fcaf9a 100644 (file)
@@ -48,6 +48,12 @@ abstract public class LinphoneCoreFactory {
                }
                return theLinphoneCoreFactory;
        }
+       /**
+        * create  {@link LinphoneAuthInfo}
+        * @param username
+        * @param userid user id as set in auth header
+        * @param passwd
+        * */
        abstract public LinphoneAuthInfo createAuthInfo(String username,String password, String realm);
        /**
         * create  {@link LinphoneAuthInfo}
index 30bcd528fce17e94ec46bd94c393513cc7962d50..041acaef226a79ff7efcbba7974f3e4addd6126d 100644 (file)
@@ -68,9 +68,11 @@ class LinphoneCallImpl implements LinphoneCall {
                videoStats = stats;
        }
        public LinphoneCallStats getAudioStats() {
+               if (audioStats!=null) ((LinphoneCallStatsImpl)audioStats).updateRealTimeStats(this);
                return audioStats;
        }
        public LinphoneCallStats getVideoStats() {
+               if (videoStats!=null) ((LinphoneCallStatsImpl)videoStats).updateRealTimeStats(this);
                return videoStats;
        }
        public CallDirection getDirection() {
index 53fcb5ffd5fe701d54b0802e9d5a34e57cb35dee..4657ba01aefe773118a4364bb68925d00aa170b9 100644 (file)
@@ -31,6 +31,9 @@ class LinphoneCallStatsImpl implements LinphoneCallStats {
        private float roundTripDelay;
        private long latePacketsCumulativeNumber;
        private float jitterBufferSize;
+       private float localLossRate;
+       private float localLateRate;
+       private long nativePtr;
 
        private native int getMediaType(long nativeStatsPtr);
        private native int getIceState(long nativeStatsPtr);
@@ -43,8 +46,12 @@ class LinphoneCallStatsImpl implements LinphoneCallStats {
        private native float getRoundTripDelay(long nativeStatsPtr);
        private native long getLatePacketsCumulativeNumber(long nativeStatsPtr, long nativeCallPtr);
        private native float getJitterBufferSize(long nativeStatsPtr);
+       private native float getLocalLossRate(long nativeStatsPtr);
+       private native float getLocalLateRate(long nativeStatsPtr);
+       private native void updateStats(long nativeCallPtr, int mediaType);
 
        protected LinphoneCallStatsImpl(long nativeCallPtr, long nativeStatsPtr) {
+               nativePtr=nativeStatsPtr;
                mediaType = getMediaType(nativeStatsPtr);
                iceState = getIceState(nativeStatsPtr);
                downloadBandwidth = getDownloadBandwidth(nativeStatsPtr);
@@ -56,6 +63,13 @@ class LinphoneCallStatsImpl implements LinphoneCallStats {
                roundTripDelay = getRoundTripDelay(nativeStatsPtr);
                latePacketsCumulativeNumber = getLatePacketsCumulativeNumber(nativeStatsPtr, nativeCallPtr);
                jitterBufferSize = getJitterBufferSize(nativeStatsPtr);
+               
+       }
+
+       protected void updateRealTimeStats(LinphoneCall call){
+               updateStats( ((LinphoneCallImpl)call).nativePtr, mediaType);
+               localLossRate=getLocalLossRate(nativePtr);
+               localLateRate=getLocalLateRate(nativePtr);
        }
 
        public MediaType getMediaType() {
@@ -101,4 +115,12 @@ class LinphoneCallStatsImpl implements LinphoneCallStats {
        public float getJitterBufferSize() {
                return jitterBufferSize;
        }
+
+       public float getLocalLossRate(){
+               return localLossRate;
+       }
+
+       public float getLocalLateRate(){
+               return localLateRate;
+       }
 }
index 1373708ca07508a846dc290e1dbe7d71bdeb8260..8162f67bf9f0aec5df062f6f55b9ca42edcee490 100644 (file)
@@ -8,6 +8,7 @@ public class LinphoneChatMessageImpl implements LinphoneChatMessage {
        private native String getExternalBodyUrl(long ptr);
        private native void setExternalBodyUrl(long ptr, String url);
        private native long getFrom(long ptr);
+       private native long getTime(long ptr);
        
        protected LinphoneChatMessageImpl(long aNativePtr)  {
                nativePtr = aNativePtr;
@@ -64,4 +65,8 @@ public class LinphoneChatMessageImpl implements LinphoneChatMessage {
        public String getCustomHeader(String name) {
                return getCustomHeader(nativePtr,name);
        }
+       
+       public long getTime() {
+               return getTime(nativePtr) * 1000; // Need milliseconds, not seconds
+       }
 }
index 7b21ecaae367cddccb5df402388beccb0fb03fde..0b799f33ee169bac41f0890068e96af85e64d1d2 100644 (file)
@@ -21,7 +21,7 @@ package org.linphone.core;
 import java.io.File;
 import java.io.IOException;
 
-import org.linphone.CpuUtils;
+import org.linphone.mediastream.CpuUtils;
 import org.linphone.mediastream.Version;
 
 import android.util.Log;
index 5a52f7559a7408718f2a898fbb33ae3d8afeae1e..f9a7abf39bc7f5a68be5aff9a85b881408083a54 100644 (file)
@@ -745,12 +745,6 @@ class LinphoneCoreImpl implements LinphoneCore {
                deferCallUpdate(nativePtr, getCallPtr(aCall));
        }
 
-       public synchronized void startRinging() {
-               if (!contextInitialized()) return;
-               if (Hacks.needGalaxySAudioHack()) {
-                       mAudioManager.setMode(MODE_RINGTONE);
-               }
-       }
        
        private native void setVideoPolicy(long nativePtr, boolean autoInitiate, boolean autoAccept);
        public synchronized void setVideoPolicy(boolean autoInitiate, boolean autoAccept) {
@@ -801,10 +795,17 @@ class LinphoneCoreImpl implements LinphoneCore {
        public String getVersion() {
                return getVersion(nativePtr);
        }
-       
+       /**
+        * Wildcard value used by #linphone_core_find_payload_type to ignore rate in search algorithm
+        */
+       static int FIND_PAYLOAD_IGNORE_RATE = -1;
+       /**
+        * Wildcard value used by #linphone_core_find_payload_type to ignore channel in search algorithm
+        */
+       static int FIND_PAYLOAD_IGNORE_CHANNELS = -1;
        @Override
        public synchronized PayloadType findPayloadType(String mime, int clockRate) {
-               return findPayloadType(mime, clockRate, 1);
+               return findPayloadType(mime, clockRate, FIND_PAYLOAD_IGNORE_CHANNELS);
        }
        
        private native void removeFriend(long ptr, long lf);
@@ -908,4 +909,43 @@ class LinphoneCoreImpl implements LinphoneCore {
        public void stopConferenceRecording() {
                stopConferenceRecording(nativePtr);
        }
+       @Override
+       public PayloadType findPayloadType(String mime) {
+               return findPayloadType(mime, FIND_PAYLOAD_IGNORE_RATE);
+       }
+       
+       private native void setSipDscp(long nativePtr, int dscp);
+       @Override
+       public void setSipDscp(int dscp) {
+               setSipDscp(nativePtr,dscp);
+       }
+       
+       private native int getSipDscp(long nativePtr);
+       @Override
+       public int getSipDscp() {
+               return getSipDscp(nativePtr);
+       }
+       private native void setAudioDscp(long nativePtr, int dscp);
+       @Override
+       public void setAudioDscp(int dscp) {
+               setAudioDscp(nativePtr, dscp);
+       }
+       
+       private native int getAudioDscp(long nativePtr);
+       @Override
+       public int getAudioDscp() {
+               return getAudioDscp(nativePtr);
+       }
+       
+       private native void setVideoDscp(long nativePtr, int dscp);
+       @Override
+       public void setVideoDscp(int dscp) {
+               setVideoDscp(nativePtr,dscp);
+       }
+       
+       private native int getVideoDscp(long nativePtr);
+       @Override
+       public int getVideoDscp() {
+               return getVideoDscp(nativePtr);
+       }
 }
index 97ef99637bb2f82a3224ec3ab4b5ee8e677edb17..2f3d907516a0e8367b61106671ff28e151c4829b 100644 (file)
@@ -59,7 +59,7 @@ public class Lpc2Xml {
        static {
                try {
                        System.loadLibrary("xml2");
-                       System.loadLibrary("lpc2xml");
+                       //System.loadLibrary("lpc2xml");
                        mAvailable = true;
                } catch (Throwable e) {
                        mAvailable = false;
index 9f6cb0f27b925e3544dd857a76b32ce8a27b856a..5e0a818809be3ef48f100dada5d389cb8bb16916 100644 (file)
@@ -63,7 +63,7 @@ public class Xml2Lpc {
        static {
                try {
                        System.loadLibrary("xml2");
-                       System.loadLibrary("xml2lpc");
+                       //System.loadLibrary("xml2lpc");
                        mAvailable = true;
                } catch (Throwable e) {
                        mAvailable = false;
index 31769e00da95f21065f0f10cea816d978b2b87a6..e7c72647dff2ddd0b8fe6bab3926705f198cada5 100644 (file)
@@ -20,6 +20,19 @@ EXOSIP_LIBS="$OSIP_LIBS -leXosip2  "
 CPPFLAGS_save=$CPPFLAGS
 CPPFLAGS="$OSIP_CFLAGS $CPPFLAGS"
 AC_CHECK_HEADER([eXosip2/eXosip.h], ,AC_MSG_ERROR([Could not find eXosip2 headers !]))
+
+dnl check exosip support of DSCP in exosip
+AC_MSG_CHECKING([for DSCP support in exosip])
+AC_TRY_COMPILE([#include <eXosip2/eXosip.h>],
+       [int dscp=0;eXosip_set_option(EXOSIP_OPT_SET_DSCP,&dscp);],
+       has_exosip_dscp=yes,
+       has_exosip_dscp=no
+)
+AC_MSG_RESULT($has_exosip_dscp)
+if test "$has_exosip_dscp" = "yes" ; then
+       AC_DEFINE( HAVE_EXOSIP_DSCP, 1, [Define if exosip dscp available] )
+fi
+
 CPPFLAGS=$CPPFLAGS_save
 
 
index e428845d55648e21ab59ad6c9d94e48b7e8a70ea..d82b7c595c8a90fddb3c313be4bd9c6c524b0af4 100644 (file)
Binary files a/pixmaps/active_chat.png and b/pixmaps/active_chat.png differ
index adec33171e5455d7d7f8ba036e406e61e5cec138..19a1dbd530a36bc7c7821e33a82f201cac771a51 100644 (file)
--- a/po/README
+++ b/po/README
@@ -5,7 +5,7 @@ To add a translation file in linphone project you should first :
        - then add the file .po in the directory /po
        - run ./autogen.sh
 
-Update the tranlation files 
+Update the translation files 
 ***************************
 To update all the translation files, in the directory /po run the following command 
        $ make update-po
index 726ba26a42e937a606b19f4bd9f3485ca42b5368..481b7aa17d0e0a06e78e124228f55125221abffc 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -17,7 +17,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: linphone-3.4.99.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
 "PO-Revision-Date: 2011-11-04 22:30+0100\n"
 "Last-Translator: Petr Pisar <petr.pisar@atlas.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -27,26 +27,41 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
 
-#: ../gtk/calllogs.c:82
+#: ../gtk/calllogs.c:139 ../gtk/friendlist.c:922
+#, c-format
+msgid "Call %s"
+msgstr "Volat komu: %s"
+
+#: ../gtk/calllogs.c:140 ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr "Poslat text komu: %s"
+
+#: ../gtk/calllogs.c:223
+#, fuzzy, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "<b>Probíhá hovor</b>"
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
 msgstr "–"
 
-#: ../gtk/calllogs.c:85
+#: ../gtk/calllogs.c:303
 #, fuzzy
 msgid "Aborted"
 msgstr "přerušen"
 
-#: ../gtk/calllogs.c:88
+#: ../gtk/calllogs.c:306
 #, fuzzy
 msgid "Missed"
 msgstr "promeškán"
 
-#: ../gtk/calllogs.c:91
+#: ../gtk/calllogs.c:309
 #, fuzzy
 msgid "Declined"
 msgstr "Odmítnout"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
@@ -54,7 +69,7 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
@@ -62,21 +77,26 @@ msgstr[0] ""
 msgstr[1] ""
 msgstr[2] ""
 
-#: ../gtk/calllogs.c:103
+#: ../gtk/calllogs.c:321 ../gtk/calllogs.c:327
+#, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+
+#: ../gtk/calllogs.c:323
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
-"%s\t%s %s\t"
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
 
-#: ../gtk/calllogs.c:108
+#: ../gtk/calllogs.c:329
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38 ../gtk/main.ui.h:13
 msgid "Conference"
 msgstr "Konference"
 
@@ -89,31 +109,35 @@ msgstr "Já"
 msgid "Couldn't find pixmap file: %s"
 msgstr "Nelze najít soubor s obrázkem: %s"
 
-#: ../gtk/main.c:88
+#: ../gtk/chat.c:324 ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr "Neplatný sipový kontakt!"
+
+#: ../gtk/main.c:92
 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:95
+#: ../gtk/main.c:99
 msgid "path to a file to write logs into."
 msgstr "Soubor, kam zapisovat protokol."
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
 msgstr ""
 
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 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:116
+#: ../gtk/main.c:120
 msgid "address to call right now"
 msgstr "Zavolá právě teď na tuto adresu"
 
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 msgid "if set automatically answer incoming calls"
 msgstr "je-li nastaveno, automaticky zvedne příchozí hovor"
 
-#: ../gtk/main.c:130
+#: ../gtk/main.c:134
 msgid ""
 "Specifiy a working directory (should be the base of the installation, eg: c:"
 "\\Program Files\\Linphone)"
@@ -121,12 +145,12 @@ msgstr ""
 "Zadejte pracovní adresář (měl by být základní instalační adresář, například "
 "c:\\Program Files\\Linphone)"
 
-#: ../gtk/main.c:510
+#: ../gtk/main.c:515
 #, c-format
 msgid "Call with %s"
 msgstr "Hovor s %s"
 
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
@@ -139,7 +163,7 @@ msgstr ""
 "do svého adresáře?\n"
 "Odpovíte-li ne, tato osobo bude dočasně blokována."
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
@@ -148,59 +172,59 @@ msgstr ""
 "Prosím, zadejte heslo pro uživatele <i>%s</i>\n"
 "v doméně <i>%s</i>:"
 
-#: ../gtk/main.c:1121
+#: ../gtk/main.c:1126
 msgid "Call error"
 msgstr "Chyba hovoru"
 
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129 ../coreapi/linphonecore.c:3189
 msgid "Call ended"
 msgstr "Hovor ukončen"
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132 ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr "Příchozí hovor"
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134 ../gtk/incall_view.c:497 ../gtk/main.ui.h:5
 msgid "Answer"
 msgstr "Odpovědět"
 
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
+#: ../gtk/main.c:1136 ../gtk/main.ui.h:6
 msgid "Decline"
 msgstr "Odmítnout"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 msgid "Call paused"
 msgstr "Hovor odložen"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy, c-format
 msgid "<b>by %s</b>"
 msgstr "<b>Porty</b>"
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, c-format
 msgid "%s proposed to start video. Do you accept ?"
 msgstr ""
 
-#: ../gtk/main.c:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
 msgstr "Odkaz na webovou stránku"
 
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
 msgstr "Lipnhone – internetový videofon"
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
 msgstr "%s (Výchozí)"
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796 ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
 msgstr "Byly jsme přepojeni na %s"
 
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 msgid ""
 "No sound cards have been detected on this computer.\n"
 "You won't be able to send or receive audio calls."
@@ -208,63 +232,54 @@ msgstr ""
 "Na tomto počítači nebyla objevena žádná zvuková karta.\n"
 "Nebudete moci vytáčet a přijímat a zvukové hovory."
 
-#: ../gtk/main.c:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr "Volný SIP videofon"
 
-#: ../gtk/friendlist.c:366
+#: ../gtk/friendlist.c:469
 #, fuzzy
 msgid "Add to addressbook"
 msgstr "Zobrazit adresář"
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 msgid "Presence status"
 msgstr "Stav"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "Jméno"
 
-#: ../gtk/friendlist.c:569
+#: ../gtk/friendlist.c:673
 #, fuzzy
 msgid "Call"
 msgstr "Volat komu: %s"
 
-#: ../gtk/friendlist.c:574
+#: ../gtk/friendlist.c:678
 #, fuzzy
 msgid "Chat"
 msgstr "Diskuzní skupina"
 
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
 msgstr "Hledat v adresáři %s"
 
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr "Neplatný sipový kontakt!"
-
-#: ../gtk/friendlist.c:807
-#, c-format
-msgid "Call %s"
-msgstr "Volat komu: %s"
-
-#: ../gtk/friendlist.c:808
-#, c-format
-msgid "Send text to %s"
-msgstr "Poslat text komu: %s"
-
-#: ../gtk/friendlist.c:809
+#: ../gtk/friendlist.c:924
 #, c-format
 msgid "Edit contact '%s'"
 msgstr "Upravit kontakt „%s“"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
 msgstr "Odstranit kontakt „%s“"
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:926
+#, fuzzy, c-format
+msgid "Delete chat history of '%s'"
+msgstr "Odstranit kontakt „%s“"
+
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
 msgstr "Přidat nový kontakt z adresáře %s"
@@ -365,20 +380,24 @@ msgstr "norština"
 msgid "Hebrew"
 msgstr ""
 
-#: ../gtk/propertybox.c:847
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
+msgstr ""
+
+#: ../gtk/propertybox.c:848
 msgid ""
 "You need to restart linphone for the new language selection to take effect."
 msgstr "Aby se projevil výběr nového jazyka, je nutné znovu spustit linphone."
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 msgid "None"
 msgstr "Žádná"
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
 msgstr "SRTP"
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
 msgstr "ZRTP"
 
@@ -634,114 +653,114 @@ msgstr ""
 msgid "%.3f seconds"
 msgstr ""
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:12
 msgid "Hang up"
 msgstr ""
 
-#: ../gtk/incall_view.c:477
+#: ../gtk/incall_view.c:476
 msgid "<b>Calling...</b>"
 msgstr "<b>Volá se…</b>"
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479 ../gtk/incall_view.c:689
 msgid "00::00::00"
 msgstr "00:00:00"
 
-#: ../gtk/incall_view.c:491
+#: ../gtk/incall_view.c:490
 msgid "<b>Incoming call</b>"
 msgstr "<b>Příchozí hovor</b>"
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
 msgstr "dobrá"
 
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
 msgstr "průměrná"
 
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
 msgstr "slabá"
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
 msgstr "velmi slabá"
 
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
 msgstr "příliš špatná"
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536 ../gtk/incall_view.c:552
 msgid "unavailable"
 msgstr "nedostupná"
 
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
 msgstr ""
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
 msgstr ""
 
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
 msgstr ""
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663 ../gtk/main.ui.h:4
 msgid "Set verified"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
 msgstr "Probíhá konference"
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "<b>In call</b>"
 msgstr "<b>Probíhá hovor</b>"
 
-#: ../gtk/incall_view.c:719
+#: ../gtk/incall_view.c:718
 msgid "<b>Paused call</b>"
 msgstr "<b>Odložený hovor</b>"
 
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
 msgstr "%02i:%02i:%02i"
 
-#: ../gtk/incall_view.c:749
+#: ../gtk/incall_view.c:748
 msgid "<b>Call ended.</b>"
 msgstr "<b>Hovor skončil.</b>"
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
 msgstr ""
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 #, fuzzy
 msgid "Transfer done."
 msgstr "Přepojit"
 
-#: ../gtk/incall_view.c:785
+#: ../gtk/incall_view.c:784
 #, fuzzy
 msgid "Transfer failed."
 msgstr "Přepojit"
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
 msgstr "Obnovit"
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835 ../gtk/main.ui.h:9
 msgid "Pause"
 msgstr "Odložit"
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, fuzzy
 msgid "(Paused)"
 msgstr "Odložit"
@@ -764,157 +783,152 @@ msgstr "Odeslat"
 msgid "End conference"
 msgstr "Probíhá konference"
 
-# XXX: Do not translate, this is GTK identifier
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr ""
-
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
 msgstr ""
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
 msgstr ""
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
 msgstr ""
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
 msgstr "Přepojit"
 
-#: ../gtk/main.ui.h:15
+#: ../gtk/main.ui.h:14
 msgid "In call"
 msgstr "Telefonuje se"
 
-#: ../gtk/main.ui.h:16
+#: ../gtk/main.ui.h:15
 msgid "Duration"
 msgstr "Délka"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
 msgstr "Hodnocení kvality hovoru"
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
 msgstr "V_olby"
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
 msgstr ""
 
-#: ../gtk/main.ui.h:20
+#: ../gtk/main.ui.h:19
 msgid "Enable self-view"
 msgstr "Zobrazovat sám sebe"
 
-#: ../gtk/main.ui.h:21
+#: ../gtk/main.ui.h:20
 msgid "_Help"
 msgstr "Nápo_věda"
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 msgid "Show debug window"
 msgstr "Zobrazit ladicí okno"
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 msgid "_Homepage"
 msgstr "_Domovská stránka"
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 msgid "Check _Updates"
 msgstr "Vyhledat akt_ualizace"
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 #, fuzzy
 msgid "Account assistant"
 msgstr "Průvodce nastavením účtu"
 
-#: ../gtk/main.ui.h:26
+#: ../gtk/main.ui.h:25
 msgid "SIP address or phone number:"
 msgstr "SIP adresa nebo telefonní číslo:"
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
 msgstr "Zahájit nový hovor"
 
-#: ../gtk/main.ui.h:28
+#: ../gtk/main.ui.h:27
 msgid "Contacts"
 msgstr "Kontakty"
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28 ../gtk/parameters.ui.h:50
 msgid "Add"
 msgstr "Přidat"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr "Upravit"
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
 msgstr "Hledat"
 
-#: ../gtk/main.ui.h:32
+#: ../gtk/main.ui.h:31
 msgid "<b>Add contacts from directory</b>"
 msgstr "<b>Přidat kontakty z adresáře</b>"
 
-#: ../gtk/main.ui.h:33
+#: ../gtk/main.ui.h:32
 msgid "Add contact"
 msgstr "Přidat kontakt"
 
-#: ../gtk/main.ui.h:34
+#: ../gtk/main.ui.h:33
 msgid "Recent calls"
 msgstr "Nedávné hovory"
 
-#: ../gtk/main.ui.h:35
+#: ../gtk/main.ui.h:34
 msgid "My current identity:"
 msgstr "Moje současná totožnost:"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
+#: ../gtk/main.ui.h:35 ../gtk/tunnel_config.ui.h:7
 msgid "Username"
 msgstr "Uživatelské jméno"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
+#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:8
 msgid "Password"
 msgstr "Heslo"
 
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
 msgstr "Připojení k Internetu:"
 
-#: ../gtk/main.ui.h:39
+#: ../gtk/main.ui.h:38
 msgid "Automatically log me in"
 msgstr "Přihlašovat mě automaticky"
 
-#: ../gtk/main.ui.h:40
+#: ../gtk/main.ui.h:39
 msgid "Login information"
 msgstr "Informace o přihlášení"
 
-#: ../gtk/main.ui.h:41
+#: ../gtk/main.ui.h:40
 msgid "<b>Welcome !</b>"
 msgstr "<b>Vítejte!</b>"
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
 msgstr "všech uživatelích"
 
-#: ../gtk/main.ui.h:43
+#: ../gtk/main.ui.h:42
 msgid "Online users"
 msgstr "připojených uživatelích"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
 msgstr "ADSL"
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 msgid "Fiber Channel"
 msgstr "Fiber Channel"
 
-#: ../gtk/main.ui.h:46
+#: ../gtk/main.ui.h:45
 msgid "Default"
 msgstr "Výchozí"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
 msgstr ""
 
@@ -1529,7 +1543,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr "Odchozí hovor"
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 msgid "Ready"
 msgstr "Připraven."
 
@@ -1584,11 +1598,11 @@ msgstr "Připojeno."
 msgid "Call aborted"
 msgstr "Hovor přerušen"
 
-#: ../coreapi/linphonecore.c:3351
+#: ../coreapi/linphonecore.c:3357
 msgid "Could not pause the call"
 msgstr "Hovor nebylo možné odložit"
 
-#: ../coreapi/linphonecore.c:3356
+#: ../coreapi/linphonecore.c:3362
 msgid "Pausing the current call..."
 msgstr "Současný hovor se odkládá…"
 
@@ -1688,116 +1702,116 @@ msgstr ""
 "SIP identita, kterou jste zadali, není platná.\n"
 "Měla by mít tvar sip:uživatel@proxydoména, například sip:alice@example.net"
 
-#: ../coreapi/proxy.c:1068
+#: ../coreapi/proxy.c:1069
 #, c-format
 msgid "Could not login as %s"
 msgstr "Nelze se přihlásit jako %s"
 
-#: ../coreapi/callbacks.c:283
+#: ../coreapi/callbacks.c:286
 msgid "Remote ringing."
 msgstr "Vyzvání na druhé straně."
 
-#: ../coreapi/callbacks.c:303
+#: ../coreapi/callbacks.c:306
 msgid "Remote ringing..."
 msgstr "Vyzvání na druhé straně…"
 
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
 msgstr "Časná média."
 
-#: ../coreapi/callbacks.c:365
+#: ../coreapi/callbacks.c:368
 #, c-format
 msgid "Call with %s is paused."
 msgstr "Hovor s %s je odložen."
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
 msgstr "Hovor přijat kým: %s – odložen."
 
-#: ../coreapi/callbacks.c:389
+#: ../coreapi/callbacks.c:392
 msgid "Call resumed."
 msgstr "Hovor obnoven."
 
-#: ../coreapi/callbacks.c:394
+#: ../coreapi/callbacks.c:397
 #, c-format
 msgid "Call answered by %s."
 msgstr "Hovor přijat kým: %s."
 
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 msgid "Incompatible, check codecs or security settings..."
 msgstr ""
 
-#: ../coreapi/callbacks.c:457
+#: ../coreapi/callbacks.c:460
 #, fuzzy
 msgid "We have been resumed."
 msgstr "Byli jsme obnoveni…"
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
 msgstr ""
 
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 #, fuzzy
 msgid "Call is updated by remote."
 msgstr "Hovor byl aktualizován protistranou…"
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 msgid "Call terminated."
 msgstr "Hovor ukončen."
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "Uživatel je zaneprázdněn."
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "Uživatel je dočasně nedostupný."
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr "Uživatel si nepřeje být rušen."
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr "Volání odmítnuto."
 
-#: ../coreapi/callbacks.c:568
+#: ../coreapi/callbacks.c:571
 msgid "No response."
 msgstr "Žádná odpověď."
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
 msgstr "Chyba protokolu."
 
-#: ../coreapi/callbacks.c:588
+#: ../coreapi/callbacks.c:591
 msgid "Redirected"
 msgstr "Přesměrováno"
 
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 msgid "Incompatible media parameters."
 msgstr ""
 
-#: ../coreapi/callbacks.c:630
+#: ../coreapi/callbacks.c:633
 msgid "Call failed."
 msgstr "Volání se nezdařilo."
 
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, c-format
 msgid "Registration on %s successful."
 msgstr "Registrace na %s byla úspěšná."
 
-#: ../coreapi/callbacks.c:734
+#: ../coreapi/callbacks.c:738
 #, c-format
 msgid "Unregistration on %s done."
 msgstr "Odregistrování z %s hotovo."
 
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr "odpověď nedorazila včas"
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, c-format
 msgid "Registration on %s failed: %s"
 msgstr "Registrace na %s selhala: %s"
@@ -1807,7 +1821,7 @@ msgstr "Registrace na %s selhala: %s"
 msgid "Authentication token is %s"
 msgstr "Klíč k ověření totožnosti je %s"
 
-#: ../coreapi/linphonecall.c:2314
+#: ../coreapi/linphonecall.c:2319
 #, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
index a4745d95f12dd5543abfa125a6f1282b27f7700d..44c1e66ea660fed6af7eecac03366aa44b0a9338 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: linphone 0.7.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
 "PO-Revision-Date: 2012-11-07 19:27+0100\n"
 "Last-Translator: Gerhard Stengel <gstengel@gmx.net>\n"
 "Language-Team: German <kde-i18n-de@kde.org>\n"
@@ -17,53 +17,73 @@ msgstr ""
 "X-Generator: Lokalize 1.5\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
-#: ../gtk/calllogs.c:82
+#: ../gtk/calllogs.c:139 ../gtk/friendlist.c:922
+#, c-format
+msgid "Call %s"
+msgstr "„%s“ anrufen"
+
+#: ../gtk/calllogs.c:140 ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr "Text zu „%s“ schicken"
+
+#: ../gtk/calllogs.c:223
+#, fuzzy, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "<b>Im Gespräch</b>"
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
 msgstr "nicht verfügbar"
 
-#: ../gtk/calllogs.c:85
+#: ../gtk/calllogs.c:303
 msgid "Aborted"
 msgstr "Abgebrochen"
 
-#: ../gtk/calllogs.c:88
+#: ../gtk/calllogs.c:306
 msgid "Missed"
 msgstr "Entgangen"
 
-#: ../gtk/calllogs.c:91
+#: ../gtk/calllogs.c:309
 msgid "Declined"
 msgstr "Abgewiesen"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
 msgstr[0] "%i Minute"
 msgstr[1] "%i Minuten"
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
 msgstr[0] "%i Sekunde"
 msgstr[1] "%i Sekunden"
 
-#: ../gtk/calllogs.c:103
+#: ../gtk/calllogs.c:321 ../gtk/calllogs.c:327
 #, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+
+#: ../gtk/calllogs.c:323
+#, fuzzy, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
-"%s\t%s %s\t"
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
 "<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Qualität: %s</i></small>\n"
 "%s\t%s %s\t"
 
-#: ../gtk/calllogs.c:108
+#: ../gtk/calllogs.c:329
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38 ../gtk/main.ui.h:13
 msgid "Conference"
 msgstr "Konferenz"
 
@@ -76,33 +96,37 @@ msgstr "Eigenes Telefon"
 msgid "Couldn't find pixmap file: %s"
 msgstr "Pixmapdatei %s kann nicht gefunden werden."
 
-#: ../gtk/main.c:88
+#: ../gtk/chat.c:324 ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr "Ungültiger SIP-Kontakt!"
+
+#: ../gtk/main.c:92
 msgid "log to stdout some debug information while running."
 msgstr "Ausgabe von Debug-Informationen auf stdout während der Laufzeit"
 
-#: ../gtk/main.c:95
+#: ../gtk/main.c:99
 msgid "path to a file to write logs into."
 msgstr "Pfad zu einer Datei, in die Protokolle geschrieben werden."
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
 msgstr "Linphone mit ausgeschaltetem Video starten."
 
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 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:116
+#: ../gtk/main.c:120
 msgid "address to call right now"
 msgstr "Im Moment anzurufende Adresse"
 
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 msgid "if set automatically answer incoming calls"
 msgstr "Falls aktiviert, werden eingehende Anrufe automatisch beantwortet"
 
-#: ../gtk/main.c:130
+#: ../gtk/main.c:134
 msgid ""
 "Specifiy a working directory (should be the base of the installation, eg: c:"
 "\\Program Files\\Linphone)"
@@ -110,12 +134,12 @@ msgstr ""
 "Geben Sie einen Arbeitsordner an (sollte der Installationsordner sein, z. B. "
 "C:\\Programme\\Linphone)"
 
-#: ../gtk/main.c:510
+#: ../gtk/main.c:515
 #, c-format
 msgid "Call with %s"
 msgstr "Im Gespräch mit %s"
 
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
@@ -128,7 +152,7 @@ msgstr ""
 "Ihrer Kontaktliste hinzufügen?\n"
 "Wenn Sie mit Nein antworten, wird diese Person vorläufig blockiert."
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
@@ -137,59 +161,59 @@ msgstr ""
 "Geben Sie bitte Ihr Passwort für den Benutzernamen <i>%s</i>\n"
 " auf der Domäne <i>%s</i> ein:"
 
-#: ../gtk/main.c:1121
+#: ../gtk/main.c:1126
 msgid "Call error"
 msgstr "Anruf fehlgeschlagen"
 
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129 ../coreapi/linphonecore.c:3189
 msgid "Call ended"
 msgstr "Anruf beendet"
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132 ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr "Eingehender Anruf"
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134 ../gtk/incall_view.c:497 ../gtk/main.ui.h:5
 msgid "Answer"
 msgstr "Annehmen"
 
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
+#: ../gtk/main.c:1136 ../gtk/main.ui.h:6
 msgid "Decline"
 msgstr "Abweisen"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 msgid "Call paused"
 msgstr "Anruf wird gehalten"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, c-format
 msgid "<b>by %s</b>"
 msgstr "<b>von %s</b>"
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, 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:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
 msgstr "Website-Verknüpfung"
 
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
 msgstr "Linphone - ein Internet-Video-Telefon"
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
 msgstr "%s (Vorgabe)"
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796 ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
 msgstr "Vermittlung nach %s"
 
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 msgid ""
 "No sound cards have been detected on this computer.\n"
 "You won't be able to send or receive audio calls."
@@ -197,61 +221,52 @@ msgstr ""
 "Auf diesem Rechner können keine Soundkarten gefunden werden.\n"
 "Sie können keine Audio-Anrufe tätigen oder entgegennehmen."
 
-#: ../gtk/main.c:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr "Ein freies SIP-Video-Telefon"
 
-#: ../gtk/friendlist.c:366
+#: ../gtk/friendlist.c:469
 msgid "Add to addressbook"
 msgstr "Zum Adressbuch hinzufügen"
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 msgid "Presence status"
 msgstr "Anwesenheitsstatus"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "Name"
 
-#: ../gtk/friendlist.c:569
+#: ../gtk/friendlist.c:673
 msgid "Call"
 msgstr "Anrufen"
 
-#: ../gtk/friendlist.c:574
+#: ../gtk/friendlist.c:678
 #, fuzzy
 msgid "Chat"
 msgstr "Chat Raum"
 
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
 msgstr "Im %s-Verzeichnis suchen"
 
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr "Ungültiger SIP-Kontakt!"
-
-#: ../gtk/friendlist.c:807
-#, c-format
-msgid "Call %s"
-msgstr "„%s“ anrufen"
-
-#: ../gtk/friendlist.c:808
-#, c-format
-msgid "Send text to %s"
-msgstr "Text zu „%s“ schicken"
-
-#: ../gtk/friendlist.c:809
+#: ../gtk/friendlist.c:924
 #, c-format
 msgid "Edit contact '%s'"
 msgstr "Kontakt „%s“ bearbeiten"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
 msgstr "Kontakt „%s“ löschen"
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:926
+#, fuzzy, c-format
+msgid "Delete chat history of '%s'"
+msgstr "Kontakt „%s“ löschen"
+
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
 msgstr "Einen neuen Kontakt aus dem %s-Verzeichnis hinzufügen"
@@ -352,22 +367,26 @@ msgstr "Norwegisch"
 msgid "Hebrew"
 msgstr ""
 
-#: ../gtk/propertybox.c:847
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
+msgstr ""
+
+#: ../gtk/propertybox.c:848
 msgid ""
 "You need to restart linphone for the new language selection to take effect."
 msgstr ""
 "Linphone muss neu gestartet werden, damit die neue Spracheinstellung wirksam "
 "wird."
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 msgid "None"
 msgstr "Keinen"
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
 msgstr ""
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
 msgstr ""
 
@@ -621,112 +640,112 @@ msgstr ""
 msgid "%.3f seconds"
 msgstr "%i Sekunde"
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:12
 msgid "Hang up"
 msgstr ""
 
-#: ../gtk/incall_view.c:477
+#: ../gtk/incall_view.c:476
 msgid "<b>Calling...</b>"
 msgstr "<b>Verbindungsaufbau...</b>"
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479 ../gtk/incall_view.c:689
 msgid "00::00::00"
 msgstr ""
 
-#: ../gtk/incall_view.c:491
+#: ../gtk/incall_view.c:490
 msgid "<b>Incoming call</b>"
 msgstr "<b>Eingehender Anruf</b>"
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
 msgstr "gut"
 
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
 msgstr "durchschnittlich"
 
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
 msgstr "schlecht"
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
 msgstr "sehr schlecht"
 
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
 msgstr "zu schlecht"
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536 ../gtk/incall_view.c:552
 msgid "unavailable"
 msgstr "nicht verfügbar"
 
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
 msgstr "Gesichert durch SRTP"
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
 msgstr "Gesichert durch ZRTP - [Auth.-Token: %s]"
 
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
 msgstr "Auf „Ungeprüft“ setzen"
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663 ../gtk/main.ui.h:4
 msgid "Set verified"
 msgstr "Auf „Geprüft“ setzen"
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
 msgstr "In Konferenz"
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "<b>In call</b>"
 msgstr "<b>Im Gespräch</b>"
 
-#: ../gtk/incall_view.c:719
+#: ../gtk/incall_view.c:718
 msgid "<b>Paused call</b>"
 msgstr "<b>Gehaltener Anruf</b>"
 
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
 msgstr ""
 
-#: ../gtk/incall_view.c:749
+#: ../gtk/incall_view.c:748
 msgid "<b>Call ended.</b>"
 msgstr "<b>Anruf beendet.</b>"
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
 msgstr "Vermittlung läuft"
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 msgid "Transfer done."
 msgstr "Vermittlung abgeschlossen."
 
-#: ../gtk/incall_view.c:785
+#: ../gtk/incall_view.c:784
 msgid "Transfer failed."
 msgstr "Vermittlung fehlgeschlagen."
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
 msgstr "Fortsetzen"
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835 ../gtk/main.ui.h:9
 msgid "Pause"
 msgstr "Halten"
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, fuzzy
 msgid "(Paused)"
 msgstr "Halten"
@@ -749,155 +768,151 @@ msgstr "Senden"
 msgid "End conference"
 msgstr "In Konferenz"
 
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr ""
-
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
 msgstr ""
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
 msgstr ""
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
 msgstr ""
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
 msgstr "Vermittlung"
 
-#: ../gtk/main.ui.h:15
+#: ../gtk/main.ui.h:14
 msgid "In call"
 msgstr "Im Gespräch"
 
-#: ../gtk/main.ui.h:16
+#: ../gtk/main.ui.h:15
 msgid "Duration"
 msgstr "Dauer"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
 msgstr "Bewertung der Verbindungsqualität"
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
 msgstr "_Optionen"
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
 msgstr "Video immer starten"
 
-#: ../gtk/main.ui.h:20
+#: ../gtk/main.ui.h:19
 msgid "Enable self-view"
 msgstr "Selbstansicht ein"
 
-#: ../gtk/main.ui.h:21
+#: ../gtk/main.ui.h:20
 msgid "_Help"
 msgstr "_Hilfe"
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 msgid "Show debug window"
 msgstr "Debug-Fenster anzeigen"
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 msgid "_Homepage"
 msgstr ""
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 msgid "Check _Updates"
 msgstr "Auf _Aktualisierungen überprüfen"
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 msgid "Account assistant"
 msgstr "Konto-Einrichtungsassistent"
 
-#: ../gtk/main.ui.h:26
+#: ../gtk/main.ui.h:25
 msgid "SIP address or phone number:"
 msgstr "SIP-Adresse oder Telefonnummer:"
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
 msgstr "Einen neuen Anruf beginnen"
 
-#: ../gtk/main.ui.h:28
+#: ../gtk/main.ui.h:27
 msgid "Contacts"
 msgstr "Kontakte"
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28 ../gtk/parameters.ui.h:50
 msgid "Add"
 msgstr "Hinzufügen"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr "Bearbeiten"
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
 msgstr "Suchen"
 
-#: ../gtk/main.ui.h:32
+#: ../gtk/main.ui.h:31
 msgid "<b>Add contacts from directory</b>"
 msgstr "<b>Kontakte aus einem Verzeichnis hinzufügen</b>"
 
-#: ../gtk/main.ui.h:33
+#: ../gtk/main.ui.h:32
 msgid "Add contact"
 msgstr "Kontakt hinzufügen"
 
-#: ../gtk/main.ui.h:34
+#: ../gtk/main.ui.h:33
 msgid "Recent calls"
 msgstr "Letzte Gespräche"
 
-#: ../gtk/main.ui.h:35
+#: ../gtk/main.ui.h:34
 msgid "My current identity:"
 msgstr "Aktuelle Identität:"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
+#: ../gtk/main.ui.h:35 ../gtk/tunnel_config.ui.h:7
 msgid "Username"
 msgstr "Benutzername"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
+#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:8
 msgid "Password"
 msgstr "Passwort"
 
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
 msgstr "Internetverbindung:"
 
-#: ../gtk/main.ui.h:39
+#: ../gtk/main.ui.h:38
 msgid "Automatically log me in"
 msgstr "Automatisch anmelden"
 
-#: ../gtk/main.ui.h:40
+#: ../gtk/main.ui.h:39
 msgid "Login information"
 msgstr "Anmeldeinformationen"
 
-#: ../gtk/main.ui.h:41
+#: ../gtk/main.ui.h:40
 msgid "<b>Welcome !</b>"
 msgstr "<b>Willkommen !</b>"
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
 msgstr "Alle Teilnehmer"
 
-#: ../gtk/main.ui.h:43
+#: ../gtk/main.ui.h:42
 msgid "Online users"
 msgstr "Angemeldete Teilnehmer"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
 msgstr ""
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 msgid "Fiber Channel"
 msgstr "Glasfaserkabel"
 
-#: ../gtk/main.ui.h:46
+#: ../gtk/main.ui.h:45
 msgid "Default"
 msgstr "Vorgabe"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
 msgstr ""
 
@@ -1508,7 +1523,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr "Abgehender Anruf"
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 msgid "Ready"
 msgstr "Bereit"
 
@@ -1564,11 +1579,11 @@ msgstr "Verbunden."
 msgid "Call aborted"
 msgstr "Anruf abgebrochen"
 
-#: ../coreapi/linphonecore.c:3351
+#: ../coreapi/linphonecore.c:3357
 msgid "Could not pause the call"
 msgstr "Anruf kann nicht gehalten werden"
 
-#: ../coreapi/linphonecore.c:3356
+#: ../coreapi/linphonecore.c:3362
 msgid "Pausing the current call..."
 msgstr "Aktueller Anruf wird gehalten..."
 
@@ -1669,115 +1684,115 @@ msgstr ""
 "Sie sollte wie sip:benutzername@proxydomain aussehen, also z.B. sip:"
 "alice@beispiel.net"
 
-#: ../coreapi/proxy.c:1068
+#: ../coreapi/proxy.c:1069
 #, c-format
 msgid "Could not login as %s"
 msgstr "Anmeldung als %s fehlgeschlagen"
 
-#: ../coreapi/callbacks.c:283
+#: ../coreapi/callbacks.c:286
 msgid "Remote ringing."
 msgstr "Klingeln bei der Gegenseite."
 
-#: ../coreapi/callbacks.c:303
+#: ../coreapi/callbacks.c:306
 msgid "Remote ringing..."
 msgstr "Klingeln bei der Gegenseite..."
 
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
 msgstr ""
 
-#: ../coreapi/callbacks.c:365
+#: ../coreapi/callbacks.c:368
 #, c-format
 msgid "Call with %s is paused."
 msgstr "Anruf mit %s wird gehalten."
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
 msgstr "Der von %s entgegengenommene Anruf wird gehalten."
 
-#: ../coreapi/callbacks.c:389
+#: ../coreapi/callbacks.c:392
 msgid "Call resumed."
 msgstr "Anruf fortgesetzt."
 
-#: ../coreapi/callbacks.c:394
+#: ../coreapi/callbacks.c:397
 #, c-format
 msgid "Call answered by %s."
 msgstr "Anruf wird von %s entgegengenommen."
 
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 #, fuzzy
 msgid "Incompatible, check codecs or security settings..."
 msgstr "Inkompatibel, überprüfen Sie die Codecs..."
 
-#: ../coreapi/callbacks.c:457
+#: ../coreapi/callbacks.c:460
 msgid "We have been resumed."
 msgstr "Anruf wird fortgesetzt."
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
 msgstr "Anruf wird von der Gegenseite gehalten."
 
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 msgid "Call is updated by remote."
 msgstr "Anruf ist von der Gegenseite aktualisiert worden."
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 msgid "Call terminated."
 msgstr "Anruf beendet."
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "Teilnehmer ist besetzt."
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "Teilnehmer zur Zeit nicht verfügbar."
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr "Teilnehmer möchte nicht gestört werden."
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr "Anruf abgewiesen"
 
-#: ../coreapi/callbacks.c:568
+#: ../coreapi/callbacks.c:571
 msgid "No response."
 msgstr "Keine Antwort."
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
 msgstr "Protokollfehler"
 
-#: ../coreapi/callbacks.c:588
+#: ../coreapi/callbacks.c:591
 msgid "Redirected"
 msgstr "Umgeleitet"
 
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 msgid "Incompatible media parameters."
 msgstr "Inkompatible Medienparameter."
 
-#: ../coreapi/callbacks.c:630
+#: ../coreapi/callbacks.c:633
 msgid "Call failed."
 msgstr "Anruf fehlgeschlagen."
 
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, c-format
 msgid "Registration on %s successful."
 msgstr "Registrierung auf %s erfolgreich."
 
-#: ../coreapi/callbacks.c:734
+#: ../coreapi/callbacks.c:738
 #, c-format
 msgid "Unregistration on %s done."
 msgstr "Abmeldung von %s ist erfolgt."
 
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr "Zeitüberschreitung bei der Antwort"
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, c-format
 msgid "Registration on %s failed: %s"
 msgstr "Registrierung auf %s fehlgeschlagen: %s"
@@ -1787,7 +1802,7 @@ msgstr "Registrierung auf %s fehlgeschlagen: %s"
 msgid "Authentication token is %s"
 msgstr "Authentifizierungs-Token ist %s"
 
-#: ../coreapi/linphonecall.c:2314
+#: ../coreapi/linphonecall.c:2319
 #, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
index 9bdca11b73b63995f6e012bceda0145fd5d57c82..90fa0f926c1c684abbb59c6c1e4868629f5059eb 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Linphone 0.9.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
 "PO-Revision-Date: 2012-12-06 15:54+0100\n"
 "Last-Translator: BERAUDO Guillaume <guillaume.beraudo@linphone.org>\n"
 "Language-Team: es <es@li.org>\n"
@@ -15,58 +15,80 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../gtk/calllogs.c:82
+#: ../gtk/calllogs.c:139 ../gtk/friendlist.c:922
+#, c-format
+msgid "Call %s"
+msgstr "Llamar a %s"
+
+#: ../gtk/calllogs.c:140 ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr "Enviar mensaje a %s"
+
+#: ../gtk/calllogs.c:223
+#, fuzzy, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "<b>En llamada </b>"
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
 msgstr "n/a"
 
-#: ../gtk/calllogs.c:85
+#: ../gtk/calllogs.c:303
 #, fuzzy
 msgid "Aborted"
 msgstr "abortada"
 
-#: ../gtk/calllogs.c:88
+#: ../gtk/calllogs.c:306
 #, fuzzy
 msgid "Missed"
 msgstr "perdida"
 
-#: ../gtk/calllogs.c:91
+#: ../gtk/calllogs.c:309
 #, fuzzy
 msgid "Declined"
 msgstr "Rechazar"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
 msgstr[0] "%i minuto"
 msgstr[1] "%i minutos"
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
 msgstr[0] "%i segundo"
 msgstr[1] "%i segundos"
 
-#: ../gtk/calllogs.c:103
-#, c-format
-msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+#: ../gtk/calllogs.c:321 ../gtk/calllogs.c:327
+#, fuzzy, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Calidad: %s</i></small>\n"
 "%s\t%s %s\t"
+
+#: ../gtk/calllogs.c:323
+#, fuzzy, c-format
+msgid ""
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
 "<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Calidad: %s</i></small>\n"
 "%s\t%s %s\t"
 
-#: ../gtk/calllogs.c:108
+#: ../gtk/calllogs.c:329
 #, fuzzy, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
 "<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Calidad: %s</i></small>\n"
 "%s\t%s %s\t"
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38 ../gtk/main.ui.h:13
 msgid "Conference"
 msgstr "Conferencia"
 
@@ -79,32 +101,36 @@ msgstr "Yo"
 msgid "Couldn't find pixmap file: %s"
 msgstr "No se pudo encontrar el archivo pixmap: %s"
 
-#: ../gtk/main.c:88
+#: ../gtk/chat.c:324 ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr "¡Contacto SIP no válido!"
+
+#: ../gtk/main.c:92
 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:95
+#: ../gtk/main.c:99
 msgid "path to a file to write logs into."
 msgstr "ruta a un fichero donde escribir logs."
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
 msgstr ""
 
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 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:116
+#: ../gtk/main.c:120
 msgid "address to call right now"
 msgstr "dirección a la que llamar inmediatamente"
 
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 msgid "if set automatically answer incoming calls"
 msgstr "si está activo, responder a llamadas entrantes automáticamente"
 
-#: ../gtk/main.c:130
+#: ../gtk/main.c:134
 msgid ""
 "Specifiy a working directory (should be the base of the installation, eg: c:"
 "\\Program Files\\Linphone)"
@@ -112,12 +138,12 @@ 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:510
+#: ../gtk/main.c:515
 #, c-format
 msgid "Call with %s"
 msgstr "Llamar con %s"
 
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
@@ -130,7 +156,7 @@ msgstr ""
 "contactos?\n"
 "Si responde no, esta persona será bloqueada temporalmente."
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
@@ -139,63 +165,63 @@ msgstr ""
 "Por favor, introduzca la contraseña para el usuario <i>%s</i>\n"
 " en el dominio <i>%s</i>:"
 
-#: ../gtk/main.c:1121
+#: ../gtk/main.c:1126
 #, fuzzy
 msgid "Call error"
 msgstr "Error en la llamada."
 
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129 ../coreapi/linphonecore.c:3189
 #, fuzzy
 msgid "Call ended"
 msgstr "Llamada terminada"
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132 ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr "Llamada entrante"
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134 ../gtk/incall_view.c:497 ../gtk/main.ui.h:5
 msgid "Answer"
 msgstr "Contestar"
 
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
+#: ../gtk/main.c:1136 ../gtk/main.ui.h:6
 #, fuzzy
 msgid "Decline"
 msgstr "Rechazar"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy
 msgid "Call paused"
 msgstr "Llamada en pausa"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy, c-format
 msgid "<b>by %s</b>"
 msgstr "<b>Puertos</b>"
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, c-format
 msgid "%s proposed to start video. Do you accept ?"
 msgstr ""
 
-#: ../gtk/main.c:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
 msgstr "Enlace a la Web"
 
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
 msgstr "Linphone - un video-teléfono a través de Internet"
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
 msgstr "%s (Opción predeterminada)"
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796 ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
 msgstr "Somos transferidos a %s"
 
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 msgid ""
 "No sound cards have been detected on this computer.\n"
 "You won't be able to send or receive audio calls."
@@ -203,63 +229,54 @@ msgstr ""
 "No se ha encontrado una tarjeta de sonido en este equipo.\n"
 "No será posible realizar o recibir llamadas de audio."
 
-#: ../gtk/main.c:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr "Un video-teléfono SIP gratuito"
 
-#: ../gtk/friendlist.c:366
+#: ../gtk/friendlist.c:469
 #, fuzzy
 msgid "Add to addressbook"
 msgstr "Añadir a la agenda"
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 #, fuzzy
 msgid "Presence status"
 msgstr "Estado de Presencia"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "Nombre"
 
-#: ../gtk/friendlist.c:569
+#: ../gtk/friendlist.c:673
 #, fuzzy
 msgid "Call"
 msgstr "Llamada"
 
-#: ../gtk/friendlist.c:574
+#: ../gtk/friendlist.c:678
 msgid "Chat"
 msgstr ""
 
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
 msgstr "Buscar en el directorio %s"
 
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr "¡Contacto SIP no válido!"
-
-#: ../gtk/friendlist.c:807
-#, c-format
-msgid "Call %s"
-msgstr "Llamar a %s"
-
-#: ../gtk/friendlist.c:808
-#, c-format
-msgid "Send text to %s"
-msgstr "Enviar mensaje a %s"
-
-#: ../gtk/friendlist.c:809
+#: ../gtk/friendlist.c:924
 #, fuzzy, c-format
 msgid "Edit contact '%s'"
 msgstr "Editar contacto '%s'"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
 msgstr "Eliminar contacto '%s'"
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:926
+#, fuzzy, c-format
+msgid "Delete chat history of '%s'"
+msgstr "Eliminar contacto '%s'"
+
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
 msgstr "Añadir nuevo contacto desde el directorio %s"
@@ -360,21 +377,25 @@ msgstr "Noruego"
 msgid "Hebrew"
 msgstr ""
 
-#: ../gtk/propertybox.c:847
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
+msgstr ""
+
+#: ../gtk/propertybox.c:848
 msgid ""
 "You need to restart linphone for the new language selection to take effect."
 msgstr "Deberá reiniciar linphone para aplicar la nueva selección de lenguaje"
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 #, fuzzy
 msgid "None"
 msgstr "Ninguno."
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
 msgstr "SRTP"
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
 msgstr "ZRTP"
 
@@ -632,119 +653,119 @@ msgstr ""
 msgid "%.3f seconds"
 msgstr "%i segundo"
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:12
 msgid "Hang up"
 msgstr ""
 
-#: ../gtk/incall_view.c:477
+#: ../gtk/incall_view.c:476
 #, fuzzy
 msgid "<b>Calling...</b>"
 msgstr " <b>Llamando...</b>"
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479 ../gtk/incall_view.c:689
 msgid "00::00::00"
 msgstr "00::00::00"
 
-#: ../gtk/incall_view.c:491
+#: ../gtk/incall_view.c:490
 #, fuzzy
 msgid "<b>Incoming call</b>"
 msgstr "<b>Llamada entrante</b>"
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
 msgstr "buena"
 
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
 msgstr "media"
 
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
 msgstr "mala"
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
 msgstr "muy mala"
 
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
 msgstr "demasiado mala"
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536 ../gtk/incall_view.c:552
 msgid "unavailable"
 msgstr "no disponible"
 
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
 msgstr "Cifrada con SRTP"
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
 msgstr "Cifrada con ZRTP - [token de autenticación: %s]"
 
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
 msgstr "Set sin verificar"
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663 ../gtk/main.ui.h:4
 msgid "Set verified"
 msgstr "Set verificado"
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
 msgstr "En conferencia"
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 #, fuzzy
 msgid "<b>In call</b>"
 msgstr "<b>En llamada </b>"
 
-#: ../gtk/incall_view.c:719
+#: ../gtk/incall_view.c:718
 #, fuzzy
 msgid "<b>Paused call</b>"
 msgstr "<b>Llamada en pausa</b>"
 
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
 msgstr "%02i::%02i::%02i"
 
-#: ../gtk/incall_view.c:749
+#: ../gtk/incall_view.c:748
 #, fuzzy
 msgid "<b>Call ended.</b>"
 msgstr "<b>Llamada finalizada.</b>"
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
 msgstr ""
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 #, fuzzy
 msgid "Transfer done."
 msgstr "Transferir"
 
-#: ../gtk/incall_view.c:785
+#: ../gtk/incall_view.c:784
 #, fuzzy
 msgid "Transfer failed."
 msgstr "Transferir"
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
 msgstr "Reanudar"
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835 ../gtk/main.ui.h:9
 msgid "Pause"
 msgstr "Pausar"
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, fuzzy
 msgid "(Paused)"
 msgstr "Pausar"
@@ -769,172 +790,168 @@ msgstr "Enviar"
 msgid "End conference"
 msgstr "En conferencia"
 
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr "etiqueta"
-
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
 msgstr ""
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
 msgstr ""
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
 msgstr ""
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
 msgstr "Transferir"
 
-#: ../gtk/main.ui.h:15
+#: ../gtk/main.ui.h:14
 #, fuzzy
 msgid "In call"
 msgstr "En llamada "
 
-#: ../gtk/main.ui.h:16
+#: ../gtk/main.ui.h:15
 #, fuzzy
 msgid "Duration"
 msgstr "Duración"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
 msgstr "Calidad de la llamada"
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
 msgstr "_Opciones"
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
 msgstr ""
 
-#: ../gtk/main.ui.h:20
+#: ../gtk/main.ui.h:19
 #, fuzzy
 msgid "Enable self-view"
 msgstr "Activar vista propia"
 
-#: ../gtk/main.ui.h:21
+#: ../gtk/main.ui.h:20
 msgid "_Help"
 msgstr "_Ayuda"
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 #, fuzzy
 msgid "Show debug window"
 msgstr "Mostrar ventana de depuración"
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 msgid "_Homepage"
 msgstr "_Pagina_de_Inicio"
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 msgid "Check _Updates"
 msgstr "Buscar_Actualizaciones"
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 #, fuzzy
 msgid "Account assistant"
 msgstr "Asistente de configuración de cuenta"
 
-#: ../gtk/main.ui.h:26
+#: ../gtk/main.ui.h:25
 #, fuzzy
 msgid "SIP address or phone number:"
 msgstr "Dirección SIP o número de teléfono"
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
 msgstr "Iniciar nueva llamada"
 
-#: ../gtk/main.ui.h:28
+#: ../gtk/main.ui.h:27
 #, fuzzy
 msgid "Contacts"
 msgstr "Contactos"
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28 ../gtk/parameters.ui.h:50
 msgid "Add"
 msgstr "Añadir"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr "Editar"
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
 msgstr "Buscar"
 
-#: ../gtk/main.ui.h:32
+#: ../gtk/main.ui.h:31
 #, fuzzy
 msgid "<b>Add contacts from directory</b>"
 msgstr "<b>Añadir contactos desde un directorio</b>"
 
-#: ../gtk/main.ui.h:33
+#: ../gtk/main.ui.h:32
 #, fuzzy
 msgid "Add contact"
 msgstr "Añadir contacto"
 
-#: ../gtk/main.ui.h:34
+#: ../gtk/main.ui.h:33
 #, fuzzy
 msgid "Recent calls"
 msgstr "Llamadas recientes "
 
-#: ../gtk/main.ui.h:35
+#: ../gtk/main.ui.h:34
 #, fuzzy
 msgid "My current identity:"
 msgstr "Mi identidad actual:"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
+#: ../gtk/main.ui.h:35 ../gtk/tunnel_config.ui.h:7
 #, fuzzy
 msgid "Username"
 msgstr "Nombre de usuario"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
+#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:8
 #, fuzzy
 msgid "Password"
 msgstr "Contraseña:"
 
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
 msgstr "Conexión a Internet"
 
-#: ../gtk/main.ui.h:39
+#: ../gtk/main.ui.h:38
 msgid "Automatically log me in"
 msgstr "Iniciar sesión automáticamente"
 
-#: ../gtk/main.ui.h:40
+#: ../gtk/main.ui.h:39
 #, fuzzy
 msgid "Login information"
 msgstr "Datos de inicio de sesión"
 
-#: ../gtk/main.ui.h:41
+#: ../gtk/main.ui.h:40
 #, fuzzy
 msgid "<b>Welcome !</b>"
 msgstr "<b>¡Bienvenido/a!</b>"
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
 msgstr "Todos los usuarios"
 
-#: ../gtk/main.ui.h:43
+#: ../gtk/main.ui.h:42
 #, fuzzy
 msgid "Online users"
 msgstr "Usuarios conectados"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
 msgstr "ADSL"
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 msgid "Fiber Channel"
 msgstr "Canal de Fibra"
 
-#: ../gtk/main.ui.h:46
+#: ../gtk/main.ui.h:45
 #, fuzzy
 msgid "Default"
 msgstr "Predeterminado"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
 msgstr ""
 
@@ -1586,7 +1603,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr "Llamada saliente"
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 #, fuzzy
 msgid "Ready"
 msgstr "Preparado"
@@ -1648,11 +1665,11 @@ msgstr "Conectado."
 msgid "Call aborted"
 msgstr "Llamada abortada"
 
-#: ../coreapi/linphonecore.c:3351
+#: ../coreapi/linphonecore.c:3357
 msgid "Could not pause the call"
 msgstr "No se pudo pausar la llamada"
 
-#: ../coreapi/linphonecore.c:3356
+#: ../coreapi/linphonecore.c:3362
 msgid "Pausing the current call..."
 msgstr "Pausando la llamada actual..."
 
@@ -1757,121 +1774,121 @@ msgstr ""
 "Debe ser del tipo sip:username@proxydomain, como por ejemplo sip:"
 "alice@example.net"
 
-#: ../coreapi/proxy.c:1068
+#: ../coreapi/proxy.c:1069
 #, fuzzy, c-format
 msgid "Could not login as %s"
 msgstr "No se pudo iniciar sesión como %s"
 
-#: ../coreapi/callbacks.c:283
+#: ../coreapi/callbacks.c:286
 #, fuzzy
 msgid "Remote ringing."
 msgstr "El destinatario está sonando..."
 
-#: ../coreapi/callbacks.c:303
+#: ../coreapi/callbacks.c:306
 #, fuzzy
 msgid "Remote ringing..."
 msgstr "El destinatario está sonando..."
 
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
 msgstr "Medios iniciales."
 
-#: ../coreapi/callbacks.c:365
+#: ../coreapi/callbacks.c:368
 #, c-format
 msgid "Call with %s is paused."
 msgstr "La llamada con %s está puesta en pausa."
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
 msgstr "Llamada respondida por %s - en espera."
 
-#: ../coreapi/callbacks.c:389
+#: ../coreapi/callbacks.c:392
 #, fuzzy
 msgid "Call resumed."
 msgstr "Llamada reanudada."
 
-#: ../coreapi/callbacks.c:394
+#: ../coreapi/callbacks.c:397
 #, fuzzy, c-format
 msgid "Call answered by %s."
 msgstr "Llamada respondida por %s."
 
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 msgid "Incompatible, check codecs or security settings..."
 msgstr ""
 
-#: ../coreapi/callbacks.c:457
+#: ../coreapi/callbacks.c:460
 #, fuzzy
 msgid "We have been resumed."
 msgstr "Nos han reanudado..."
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
 msgstr ""
 
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 #, fuzzy
 msgid "Call is updated by remote."
 msgstr "La llamada ha sido actualizada por el destinatario..."
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 #, fuzzy
 msgid "Call terminated."
 msgstr "Llamada finalizada."
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "El usuario está ocupado."
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "El usuario no está disponible temporalmente."
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr "El usuario no quiere que le molesten."
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr "Llamada rechazada."
 
-#: ../coreapi/callbacks.c:568
+#: ../coreapi/callbacks.c:571
 msgid "No response."
 msgstr "No hay respuesta."
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
 msgstr "Error de protocolo."
 
-#: ../coreapi/callbacks.c:588
+#: ../coreapi/callbacks.c:591
 msgid "Redirected"
 msgstr "Redigirida"
 
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 msgid "Incompatible media parameters."
 msgstr ""
 
-#: ../coreapi/callbacks.c:630
+#: ../coreapi/callbacks.c:633
 #, fuzzy
 msgid "Call failed."
 msgstr "La llamada ha fallado."
 
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, fuzzy, c-format
 msgid "Registration on %s successful."
 msgstr "Se ha registrado con éxito en %s."
 
-#: ../coreapi/callbacks.c:734
+#: ../coreapi/callbacks.c:738
 #, fuzzy, c-format
 msgid "Unregistration on %s done."
 msgstr "Cancelación de registro en %s completada."
 
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr "timeout sin respuesta"
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, fuzzy, c-format
 msgid "Registration on %s failed: %s"
 msgstr "El registro en %s ha fallado."
@@ -1881,13 +1898,16 @@ msgstr "El registro en %s ha fallado."
 msgid "Authentication token is %s"
 msgstr "El tóken de autenticación es%s"
 
-#: ../coreapi/linphonecall.c:2314
+#: ../coreapi/linphonecall.c:2319
 #, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
 msgstr[0] "Tiene %i llamada perdida."
 msgstr[1] "Tiene %i llamadas perdidas."
 
+#~ msgid "label"
+#~ msgstr "etiqueta"
+
 #~ msgid "Chat with %s"
 #~ msgstr "Conversación con %s"
 
index 322a2ff4c3eb99440576f355b4c571e2c6ae4105..48e85b46b39bfa0bd4c17ae3c401e89e13e3937a 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,60 +6,86 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Linphone 0.9.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
-"PO-Revision-Date: 2002-12-06 17:33+0100\n"
-"Last-Translator: Simon Morlat <simon.morlat@linphone.org>\n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
+"PO-Revision-Date: 2013-04-09 13:57+0100\n"
+"Last-Translator: Simon Morlat <simon.morlat@linphone.org> \n"
 "Language-Team: french <fr@li.org>\n"
 "Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../gtk/calllogs.c:82
+#: ../gtk/calllogs.c:139
+#: ../gtk/friendlist.c:922
+#, c-format
+msgid "Call %s"
+msgstr "Appeler %s"
+
+#: ../gtk/calllogs.c:140
+#: ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr "Chatter avec %s"
+
+#: ../gtk/calllogs.c:223
+#, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "<b>Appels récents (%i)</b>"
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
 msgstr "inconnu"
 
-#: ../gtk/calllogs.c:85
+#: ../gtk/calllogs.c:303
 msgid "Aborted"
 msgstr "Abandonné"
 
-#: ../gtk/calllogs.c:88
+#: ../gtk/calllogs.c:306
 msgid "Missed"
 msgstr "Manqué"
 
-#: ../gtk/calllogs.c:91
+#: ../gtk/calllogs.c:309
 msgid "Declined"
 msgstr "Refusé"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../gtk/calllogs.c:103
+#: ../gtk/calllogs.c:321
+#: ../gtk/calllogs.c:327
+#, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+
+#: ../gtk/calllogs.c:323
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
-"%s\t%s %s\t"
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
+"<small><i>%s</i>\t<i>Qualité: %s</i></small>\n"
+"%s\t%s\t"
 
-#: ../gtk/calllogs.c:108
+#: ../gtk/calllogs.c:329
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38
+#: ../gtk/main.ui.h:13
 msgid "Conference"
 msgstr "Conférence"
 
@@ -67,63 +93,63 @@ msgstr "Conférence"
 msgid "Me"
 msgstr "Moi"
 
-#: ../gtk/support.c:49 ../gtk/support.c:73 ../gtk/support.c:102
+#: ../gtk/support.c:49
+#: ../gtk/support.c:73
+#: ../gtk/support.c:102
 #, c-format
 msgid "Couldn't find pixmap file: %s"
 msgstr "Icone non trouvée: %s"
 
-#: ../gtk/main.c:88
+#: ../gtk/chat.c:324
+#: ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr "Contact sip invalide !"
+
+#: ../gtk/main.c:92
 msgid "log to stdout some debug information while running."
 msgstr "affiche des informations de debogage"
 
-#: ../gtk/main.c:95
+#: ../gtk/main.c:99
 msgid "path to a file to write logs into."
-msgstr ""
+msgstr "chemin vers le fichier de logs."
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
-msgstr ""
+msgstr "Démarrer linphone avec la vidéo désactivée."
 
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 msgid "Start only in the system tray, do not show the main interface."
 msgstr "Démarre iconifié, sans interface principale."
 
-#: ../gtk/main.c:116
+#: ../gtk/main.c:120
 msgid "address to call right now"
-msgstr "addresse à appeler maintenant"
+msgstr "adresse à appeler maintenant"
 
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 msgid "if set automatically answer incoming calls"
 msgstr "si positionné, répond automatiquement aux appels entrants"
 
-#: ../gtk/main.c:130
-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:134
+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:510
+#: ../gtk/main.c:515
 #, c-format
 msgid "Call with %s"
 msgstr "Appel avec %s"
 
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
-"Would you allow him to see your presence status or add him to your contact "
-"list ?\n"
+"Would you allow him to see your presence status or add him to your contact list ?\n"
 "If you answer no, this person will be temporarily blacklisted."
 msgstr ""
 "%s souhaite vous ajouter à sa liste de contact.\n"
-"Souhaitez vous l'autoriser à voir votre information de présence et l'ajouter "
-"à votre liste également ?\n"
-"Si vous répondez non, cette personne sera mise temporairement sur liste "
-"noire."
+"Souhaitez vous l'autoriser à voir votre information de présence et l'ajouter à votre liste également ?\n"
+"Si vous répondez non, cette personne sera mise temporairement sur liste noire."
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
@@ -132,59 +158,65 @@ msgstr ""
 "Entrez le mot de passe pour <i>%s</i>\n"
 " sur le domaine <i>%s</i>:"
 
-#: ../gtk/main.c:1121
+#: ../gtk/main.c:1126
 msgid "Call error"
 msgstr "Erreur lors de l'appel"
 
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129
+#: ../coreapi/linphonecore.c:3189
 msgid "Call ended"
 msgstr "Appel terminé."
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132
+#: ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr "Appel entrant"
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134
+#: ../gtk/incall_view.c:497
+#: ../gtk/main.ui.h:5
 msgid "Answer"
 msgstr "Répondre"
 
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
+#: ../gtk/main.c:1136
+#: ../gtk/main.ui.h:6
 msgid "Decline"
 msgstr "Refuser"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 msgid "Call paused"
 msgstr "Appel en pause"
 
-#: ../gtk/main.c:1137
-#, fuzzy, c-format
+#: ../gtk/main.c:1142
+#, c-format
 msgid "<b>by %s</b>"
-msgstr "<b>Ports utilisés</b>"
+msgstr "b>par %s</b>"
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, c-format
 msgid "%s proposed to start video. Do you accept ?"
-msgstr ""
+msgstr "%s propose de démarrer la vidéo. Acceptez-vous ?"
 
-#: ../gtk/main.c:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
 msgstr "Lien site web"
 
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
 msgstr "Linphone - un téléphone video pour l'internet"
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
 msgstr "%s (par défaut)"
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796
+#: ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
 msgstr "Transfert vers %s"
 
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 msgid ""
 "No sound cards have been detected on this computer.\n"
 "You won't be able to send or receive audio calls."
@@ -192,60 +224,53 @@ msgstr ""
 "Aucune carte son n'a été détectée sur cet ordinateur.\n"
 "Vous ne pourrez pas effectuer d'appels audio."
 
-#: ../gtk/main.c:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr "Un visiophone libre"
 
-#: ../gtk/friendlist.c:366
+#: ../gtk/friendlist.c:469
 msgid "Add to addressbook"
 msgstr "Ajouter au carnet d'adresse"
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 msgid "Presence status"
 msgstr "Info de présence"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661
+#: ../gtk/propertybox.c:367
+#: ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "Nom"
 
-#: ../gtk/friendlist.c:569
+#: ../gtk/friendlist.c:673
 msgid "Call"
 msgstr "Appeler"
 
-#: ../gtk/friendlist.c:574
+#: ../gtk/friendlist.c:678
 msgid "Chat"
 msgstr ""
 
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
 msgstr "Rechercher dans l'annuaire de %s"
 
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr "Contact sip invalide !"
-
-#: ../gtk/friendlist.c:807
-#, c-format
-msgid "Call %s"
-msgstr "Appeler %s"
-
-#: ../gtk/friendlist.c:808
-#, c-format
-msgid "Send text to %s"
-msgstr "Chatter avec %s"
-
-#: ../gtk/friendlist.c:809
+#: ../gtk/friendlist.c:924
 #, c-format
 msgid "Edit contact '%s'"
 msgstr "Editer le contact '%s'"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
 msgstr "Supprimer le contact '%s'"
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:926
+#, c-format
+msgid "Delete chat history of '%s'"
+msgstr "Supprimer l'historique de chat de '%s'"
+
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
 msgstr "Ajouter un contact depuis l'annuaire %s"
@@ -266,11 +291,13 @@ msgstr "Débit min. (kbit/s)"
 msgid "Parameters"
 msgstr "Paramètres"
 
-#: ../gtk/propertybox.c:435 ../gtk/propertybox.c:578
+#: ../gtk/propertybox.c:435
+#: ../gtk/propertybox.c:578
 msgid "Enabled"
 msgstr "Activé"
 
-#: ../gtk/propertybox.c:437 ../gtk/propertybox.c:578
+#: ../gtk/propertybox.c:437
+#: ../gtk/propertybox.c:578
 msgid "Disabled"
 msgstr "Désactivé"
 
@@ -346,22 +373,23 @@ msgstr "Norvégien"
 msgid "Hebrew"
 msgstr "Hébreu"
 
-#: ../gtk/propertybox.c:847
-msgid ""
-"You need to restart linphone for the new language selection to take effect."
-msgstr ""
-"La nouvelle selection de langue prendra effet au prochain démarrage de "
-"linphone."
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
+msgstr "Serbe"
+
+#: ../gtk/propertybox.c:848
+msgid "You need to restart linphone for the new language selection to take effect."
+msgstr "La nouvelle selection de langue prendra effet au prochain démarrage de linphone."
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 msgid "None"
-msgstr ""
+msgstr "Aucun"
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
 msgstr ""
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
 msgstr ""
 
@@ -371,10 +399,12 @@ msgid ""
 "A more recent version is availalble from %s.\n"
 "Would you like to open a browser to download it ?"
 msgstr ""
+"Une version plus récente est disponible sur %s.\n"
+"Voulez vous ouvrir le navigateur afin de pouvoir télécharger la dernière version ?"
 
 #: ../gtk/update.c:91
 msgid "You are running the lastest version."
-msgstr ""
+msgstr "Vous utilisez la dernière version."
 
 #: ../gtk/buddylookup.c:85
 msgid "Firstname, Lastname"
@@ -382,7 +412,7 @@ msgstr "Prénom, Nom"
 
 #: ../gtk/buddylookup.c:160
 msgid "Error communicating with server."
-msgstr ""
+msgstr "Erreur de communication avec le serveur."
 
 #: ../gtk/buddylookup.c:164
 msgid "Connecting..."
@@ -408,34 +438,37 @@ msgid ""
 "Welcome !\n"
 "This assistant will help you to use a SIP account for your calls."
 msgstr ""
+"Bienvenue!\n"
+"Cet assistant va vous aider à utiliser un compte SIP pour vos appels."
 
 #: ../gtk/setupwizard.c:43
 msgid "Create an account on linphone.org"
-msgstr ""
+msgstr "Créer un compte sur linphone.org"
 
 #: ../gtk/setupwizard.c:44
 msgid "I have already a linphone.org account and I just want to use it"
-msgstr ""
+msgstr "J'ai déjà un compte linphone.org et je souhaite l'utiliser"
 
 #: ../gtk/setupwizard.c:45
 msgid "I have already a sip account and I just want to use it"
-msgstr ""
+msgstr "J'ai déjà un compte Sip et je souhaite l'utiliser"
 
 #: ../gtk/setupwizard.c:85
 msgid "Enter your linphone.org username"
-msgstr ""
+msgstr "Entrez votre identifiant linphone.org"
 
 #: ../gtk/setupwizard.c:92
 msgid "Username:"
 msgstr "Nom d'utilisateur:"
 
-#: ../gtk/setupwizard.c:94 ../gtk/password.ui.h:4
+#: ../gtk/setupwizard.c:94
+#: ../gtk/password.ui.h:4
 msgid "Password:"
 msgstr "Mot de passe:"
 
 #: ../gtk/setupwizard.c:114
 msgid "Enter your account informations"
-msgstr ""
+msgstr "Entrez les informations concernant votre compte"
 
 #: ../gtk/setupwizard.c:121
 msgid "Username*"
@@ -447,7 +480,7 @@ msgstr "Mot de passe*"
 
 #: ../gtk/setupwizard.c:125
 msgid "Domain*"
-msgstr ""
+msgstr "Domaine*"
 
 #: ../gtk/setupwizard.c:126
 msgid "Proxy"
@@ -455,7 +488,7 @@ msgstr ""
 
 #: ../gtk/setupwizard.c:298
 msgid "(*) Required fields"
-msgstr ""
+msgstr "(*) Champs requis"
 
 #: ../gtk/setupwizard.c:299
 msgid "Username: (*)"
@@ -471,49 +504,51 @@ msgstr ""
 
 #: ../gtk/setupwizard.c:305
 msgid "Confirm your password: (*)"
-msgstr ""
+msgstr "Confirmez votre mot de passe: (*)"
 
 #: ../gtk/setupwizard.c:369
 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.\n"
+"Merci d'essayer à nouveau."
 
 #: ../gtk/setupwizard.c:380
 msgid "Thank you. Your account is now configured and ready for use."
-msgstr ""
+msgstr "Merci. Votre compte est maintenant configuré et prêt à être utilisé."
 
 #: ../gtk/setupwizard.c:388
 msgid ""
-"Please validate your account by clicking on the link we just sent you by "
-"email.\n"
+"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.\n"
+"Puis appuyez sur suivant."
 
 #: ../gtk/setupwizard.c:564
 msgid "Welcome to the account setup assistant"
-msgstr ""
+msgstr "Bienvenue dans l'assistant de configuration de compte."
 
 #: ../gtk/setupwizard.c:569
 msgid "Account setup assistant"
-msgstr ""
+msgstr "Assistant de configuration de compte."
 
 #: ../gtk/setupwizard.c:575
-#, fuzzy
 msgid "Configure your account (step 1/1)"
-msgstr "Configuer un compte SIP"
+msgstr "Configurez votre compte (étape 1/1)"
 
 #: ../gtk/setupwizard.c:580
 msgid "Enter your sip username (step 1/1)"
-msgstr ""
+msgstr "Entrez votre identifiant sip (étape 1/1)"
 
 #: ../gtk/setupwizard.c:584
 msgid "Enter account information (step 1/2)"
-msgstr ""
+msgstr "Entrez les informations concernant votre compte (étape 1/2)"
 
 #: ../gtk/setupwizard.c:593
 msgid "Validation (step 2/2)"
-msgstr ""
+msgstr "Validation (étape 2/2)"
 
 #: ../gtk/setupwizard.c:598
 msgid "Error"
@@ -521,9 +556,10 @@ msgstr "Erreur"
 
 #: ../gtk/setupwizard.c:602
 msgid "Terminating"
-msgstr ""
+msgstr "En cours d’arrêt."
 
-#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94
+#: ../gtk/incall_view.c:70
+#: ../gtk/incall_view.c:94
 #, c-format
 msgid "Call #%i"
 msgstr "Appel #%i"
@@ -533,14 +569,15 @@ msgstr "Appel #%i"
 msgid "Transfer to call #%i with %s"
 msgstr "Transférer vers l'appel #%i avec %s"
 
-#: ../gtk/incall_view.c:210 ../gtk/incall_view.c:213
+#: ../gtk/incall_view.c:210
+#: ../gtk/incall_view.c:213
 #, fuzzy
 msgid "Not used"
 msgstr "Non trouvé"
 
 #: ../gtk/incall_view.c:220
 msgid "ICE not activated"
-msgstr ""
+msgstr "ICE non activé"
 
 #: ../gtk/incall_view.c:222
 #, fuzzy
@@ -549,11 +586,11 @@ msgstr "L'appel a échoué."
 
 #: ../gtk/incall_view.c:224
 msgid "ICE in progress"
-msgstr ""
+msgstr "Négociation ICE en cours"
 
 #: ../gtk/incall_view.c:226
 msgid "Going through one or more NATs"
-msgstr ""
+msgstr "Via un ou plusieurs NATs"
 
 #: ../gtk/incall_view.c:228
 #, fuzzy
@@ -562,36 +599,35 @@ msgstr "Redirection"
 
 #: ../gtk/incall_view.c:230
 msgid "Through a relay server"
-msgstr ""
+msgstr "Via un serveur relais"
 
 #: ../gtk/incall_view.c:238
 msgid "uPnP not activated"
-msgstr ""
+msgstr "uPnP non activé"
 
 #: ../gtk/incall_view.c:240
-#, fuzzy
 msgid "uPnP in progress"
-msgstr "Découverte STUN en cours"
+msgstr "uPnP en cours"
 
 #: ../gtk/incall_view.c:242
-#, fuzzy
 msgid "uPnp not available"
-msgstr "indisponible"
+msgstr "uPnP est indisponible"
 
 #: ../gtk/incall_view.c:244
 msgid "uPnP is running"
-msgstr ""
+msgstr "uPnP en cours d’exécution"
 
 #: ../gtk/incall_view.c:246
-#, fuzzy
 msgid "uPnP failed"
-msgstr "L'appel a échoué."
+msgstr "uPnP a échoué."
 
-#: ../gtk/incall_view.c:256 ../gtk/incall_view.c:257
+#: ../gtk/incall_view.c:256
+#: ../gtk/incall_view.c:257
 msgid "Direct or through server"
-msgstr ""
+msgstr "Directe ou via un serveur"
 
-#: ../gtk/incall_view.c:259 ../gtk/incall_view.c:265
+#: ../gtk/incall_view.c:259
+#: ../gtk/incall_view.c:265
 #, c-format
 msgid ""
 "download: %f\n"
@@ -603,112 +639,117 @@ msgstr ""
 msgid "%.3f seconds"
 msgstr ""
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384
+#: ../gtk/main.ui.h:12
 msgid "Hang up"
-msgstr ""
+msgstr "Raccrocher"
 
-#: ../gtk/incall_view.c:477
+#: ../gtk/incall_view.c:476
 msgid "<b>Calling...</b>"
 msgstr "<b>Tentative d'appel...</b>"
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479
+#: ../gtk/incall_view.c:689
 msgid "00::00::00"
 msgstr ""
 
-#: ../gtk/incall_view.c:491
+#: ../gtk/incall_view.c:490
 msgid "<b>Incoming call</b>"
 msgstr "<b>Appel entrant</b>"
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
 msgstr "bon"
 
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
 msgstr "moyen"
 
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
 msgstr "faible"
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
 msgstr "très faible"
 
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
 msgstr "nulle"
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:552
 msgid "unavailable"
 msgstr "indisponible"
 
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
 msgstr "Sécurisé par SRTP"
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
 msgstr "Sécurisé par ZRTP- [jeton: %s]"
 
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
 msgstr "Marquer comme non vérifié"
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663
+#: ../gtk/main.ui.h:4
 msgid "Set verified"
 msgstr "Marquer comme vérifié"
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
 msgstr "En conférence"
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "<b>In call</b>"
 msgstr "<b>Appel en cours</b>"
 
-#: ../gtk/incall_view.c:719
+#: ../gtk/incall_view.c:718
 msgid "<b>Paused call</b>"
 msgstr "<b>Appel en attente</b>"
 
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
 msgstr ""
 
-#: ../gtk/incall_view.c:749
+#: ../gtk/incall_view.c:748
 msgid "<b>Call ended.</b>"
 msgstr "<b>Appel terminé.</b>"
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
-msgstr ""
+msgstr "Transfert en cours"
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 msgid "Transfer done."
 msgstr "Transfert terminé"
 
-#: ../gtk/incall_view.c:785
+#: ../gtk/incall_view.c:784
 msgid "Transfer failed."
 msgstr "Transfert échoué"
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
 msgstr "Reprendre"
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835
+#: ../gtk/main.ui.h:9
 msgid "Pause"
 msgstr "Pause"
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, fuzzy
 msgid "(Paused)"
 msgstr "Pause"
@@ -730,157 +771,157 @@ msgstr "Envoyer"
 msgid "End conference"
 msgstr "Fin de conférence"
 
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr ""
-
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
-msgstr ""
+msgstr "Enregistrement de l'appel dans un fichier audio."
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
 msgstr "Vidéo"
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
-msgstr ""
+msgstr "Couper le son"
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
 msgstr "Transfert"
 
-#: ../gtk/main.ui.h:15
+#: ../gtk/main.ui.h:14
 msgid "In call"
 msgstr "Appel en cours"
 
-#: ../gtk/main.ui.h:16
+#: ../gtk/main.ui.h:15
 msgid "Duration"
 msgstr "Durée"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
 msgstr "Qualité de l'appel"
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
 msgstr ""
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
-msgstr ""
+msgstr "Toujours démarrer la vidéo"
 
-#: ../gtk/main.ui.h:20
+#: ../gtk/main.ui.h:19
 msgid "Enable self-view"
 msgstr "Se voir"
 
-#: ../gtk/main.ui.h:21
+#: ../gtk/main.ui.h:20
 msgid "_Help"
 msgstr "_Aide"
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 msgid "Show debug window"
 msgstr "Fenêtre de débogage"
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 msgid "_Homepage"
 msgstr "_Site web"
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 msgid "Check _Updates"
 msgstr ""
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 msgid "Account assistant"
-msgstr ""
+msgstr "Assistant de compte"
 
-#: ../gtk/main.ui.h:26
+#: ../gtk/main.ui.h:25
 msgid "SIP address or phone number:"
 msgstr "Adresse SIP ou numéro"
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
 msgstr "Démarrer un nouvel appel"
 
-#: ../gtk/main.ui.h:28
+#: ../gtk/main.ui.h:27
 msgid "Contacts"
 msgstr "Contacts"
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28
+#: ../gtk/parameters.ui.h:50
 msgid "Add"
 msgstr "Ajouter"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29
+#: ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr "Editer"
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
 msgstr "Rechercher"
 
-#: ../gtk/main.ui.h:32
+#: ../gtk/main.ui.h:31
 msgid "<b>Add contacts from directory</b>"
 msgstr "<b>Ajouter un contact depuis l'annuaire</b>"
 
-#: ../gtk/main.ui.h:33
+#: ../gtk/main.ui.h:32
 msgid "Add contact"
 msgstr "Ajouter un contact."
 
-#: ../gtk/main.ui.h:34
+#: ../gtk/main.ui.h:33
 msgid "Recent calls"
 msgstr "Appels récents"
 
-#: ../gtk/main.ui.h:35
+#: ../gtk/main.ui.h:34
 msgid "My current identity:"
 msgstr "Mon identité sip:"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
+#: ../gtk/main.ui.h:35
+#: ../gtk/tunnel_config.ui.h:7
 msgid "Username"
 msgstr "Nom d'utilisateur"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
+#: ../gtk/main.ui.h:36
+#: ../gtk/tunnel_config.ui.h:8
 msgid "Password"
 msgstr "Mot de passe"
 
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
-msgstr ""
+msgstr "Connexion internet:"
 
-#: ../gtk/main.ui.h:39
+#: ../gtk/main.ui.h:38
 msgid "Automatically log me in"
 msgstr "Me connecter automatiquement"
 
-#: ../gtk/main.ui.h:40
+#: ../gtk/main.ui.h:39
 msgid "Login information"
 msgstr "Information de login"
 
-#: ../gtk/main.ui.h:41
+#: ../gtk/main.ui.h:40
 msgid "<b>Welcome !</b>"
 msgstr "<b>Bienvenue !</b>"
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
 msgstr "Tous"
 
-#: ../gtk/main.ui.h:43
+#: ../gtk/main.ui.h:42
 msgid "Online users"
 msgstr "En ligne"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
 msgstr ""
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 msgid "Fiber Channel"
 msgstr ""
 
-#: ../gtk/main.ui.h:46
+#: ../gtk/main.ui.h:45
 msgid "Default"
 msgstr "Par défaut"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
-msgstr ""
+msgstr "Supprimer"
 
 #: ../gtk/about.ui.h:1
 msgid "About linphone"
@@ -935,7 +976,7 @@ msgstr ""
 
 #: ../gtk/password.ui.h:1
 msgid "Linphone - Authentication required"
-msgstr "Linphone - Autentification demandée"
+msgstr "Linphone - Authentification demandée"
 
 #: ../gtk/password.ui.h:2
 msgid "Please enter the domain password"
@@ -975,7 +1016,7 @@ msgstr ""
 
 #: ../gtk/sip_account.ui.h:5
 msgid "SIP Proxy address:"
-msgstr "Addresse du proxy SIP:"
+msgstr "Adresse du proxy SIP:"
 
 #: ../gtk/sip_account.ui.h:6
 msgid "Looks like sip:<proxy hostname>"
@@ -999,7 +1040,7 @@ msgstr "Publier la présence"
 
 #: ../gtk/sip_account.ui.h:11
 msgid "Configure a SIP account"
-msgstr "Configuer un compte SIP"
+msgstr "Configurer un compte SIP"
 
 #: ../gtk/parameters.ui.h:1
 msgid "default soundcard"
@@ -1023,9 +1064,10 @@ msgstr "Codecs audio"
 
 #: ../gtk/parameters.ui.h:6
 msgid "Video codecs"
-msgstr "Codecs video"
+msgstr "Codecs vidéo"
 
-#: ../gtk/parameters.ui.h:7 ../gtk/keypad.ui.h:5
+#: ../gtk/parameters.ui.h:7
+#: ../gtk/keypad.ui.h:5
 msgid "C"
 msgstr ""
 
@@ -1075,7 +1117,7 @@ msgstr ""
 
 #: ../gtk/parameters.ui.h:19
 msgid "DSCP fields"
-msgstr ""
+msgstr "Champs DSCP"
 
 #: ../gtk/parameters.ui.h:20
 msgid "Fixed"
@@ -1111,14 +1153,12 @@ msgid "Behind NAT / Firewall (use STUN to resolve)"
 msgstr "Derrière un pare-feu (utiliser STUN)"
 
 #: ../gtk/parameters.ui.h:28
-#, fuzzy
 msgid "Behind NAT / Firewall (use ICE)"
-msgstr "Derrière un pare-feu (utiliser STUN)"
+msgstr "Derrière un pare-feu (utiliser ICE)"
 
 #: ../gtk/parameters.ui.h:29
-#, fuzzy
 msgid "Behind NAT / Firewall (use uPnP)"
-msgstr "Derrière un pare-feu (utiliser STUN)"
+msgstr "Derrière un pare-feu (utiliser uPnP)"
 
 #: ../gtk/parameters.ui.h:30
 msgid "Stun server:"
@@ -1162,11 +1202,11 @@ msgstr "<b>Son</b>"
 
 #: ../gtk/parameters.ui.h:40
 msgid "Video input device:"
-msgstr "Périphérique d'entrée video"
+msgstr "Périphérique d'entrée vidéo"
 
 #: ../gtk/parameters.ui.h:41
 msgid "Prefered video resolution:"
-msgstr "Résolution video préférée:"
+msgstr "Résolution de vidéo préférée:"
 
 #: ../gtk/parameters.ui.h:42
 msgid "<b>Video</b>"
@@ -1178,9 +1218,7 @@ msgstr "Paramètres multimedia"
 
 #: ../gtk/parameters.ui.h:44
 msgid "This section defines your SIP address when not using a SIP account"
-msgstr ""
-"Cette rubrique permet de définir son addresse SIP lorsqu'on ne possède pas "
-"de compte SIP"
+msgstr "Cette rubrique permet de définir son adresse SIP lorsqu'on ne possède pas de compte SIP"
 
 #: ../gtk/parameters.ui.h:45
 msgid "Your display name (eg: John Doe):"
@@ -1192,7 +1230,7 @@ msgstr "Votre nom d'utilisateur:"
 
 #: ../gtk/parameters.ui.h:47
 msgid "Your resulting SIP address:"
-msgstr "Votre addresse SIP:"
+msgstr "Votre adresse SIP:"
 
 #: ../gtk/parameters.ui.h:48
 msgid "<b>Default identity</b>"
@@ -1222,11 +1260,13 @@ msgstr "<b>Sécurité</b>"
 msgid "Manage SIP Accounts"
 msgstr "Gérer mes comptes SIP"
 
-#: ../gtk/parameters.ui.h:57 ../gtk/tunnel_config.ui.h:4
+#: ../gtk/parameters.ui.h:57
+#: ../gtk/tunnel_config.ui.h:4
 msgid "Enable"
 msgstr "Activer"
 
-#: ../gtk/parameters.ui.h:58 ../gtk/tunnel_config.ui.h:5
+#: ../gtk/parameters.ui.h:58
+#: ../gtk/tunnel_config.ui.h:5
 msgid "Disable"
 msgstr "Désactiver"
 
@@ -1251,13 +1291,8 @@ msgid "Enable adaptive rate control"
 msgstr "Activer le control de débit adaptatif."
 
 #: ../gtk/parameters.ui.h:64
-msgid ""
-"<i>Adaptive rate control is a technique to dynamically guess the available "
-"bandwidth during a call.</i>"
-msgstr ""
-"<i>Le control de débit adaptatif est une technique pour adapter la qualité "
-"de l'audio et de la video en fonction de la bande passante disponible, "
-"durant l'appel.</i>"
+msgid "<i>Adaptive rate control is a technique to dynamically guess the available bandwidth during a call.</i>"
+msgstr "<i>Le control de débit adaptatif est une technique pour adapter la qualité de l'audio et de la video en fonction de la bande passante disponible, durant l'appel.</i>"
 
 #: ../gtk/parameters.ui.h:65
 msgid "<b>Bandwidth control</b>"
@@ -1308,9 +1343,8 @@ msgid "Please wait"
 msgstr "En attente"
 
 #: ../gtk/dscp_settings.ui.h:1
-#, fuzzy
 msgid "Dscp settings"
-msgstr "Réglages"
+msgstr "Réglages Dscp"
 
 #: ../gtk/dscp_settings.ui.h:2
 msgid "SIP"
@@ -1330,10 +1364,9 @@ msgstr ""
 
 #: ../gtk/call_statistics.ui.h:1
 msgid "Call statistics"
-msgstr ""
+msgstr "Statistiques de l'appel"
 
 #: ../gtk/call_statistics.ui.h:2
-#, fuzzy
 msgid "Audio codec"
 msgstr "Codecs audio"
 
@@ -1364,9 +1397,8 @@ msgid "Round trip time"
 msgstr ""
 
 #: ../gtk/call_statistics.ui.h:9
-#, fuzzy
 msgid "<b>Call statistics and information</b>"
-msgstr "<b>Information sur le contact</b>"
+msgstr "<b>Statistiques de l'appel et informations</b>"
 
 #: ../gtk/tunnel_config.ui.h:1
 #, fuzzy
@@ -1480,7 +1512,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr "Appel sortant"
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 msgid "Ready"
 msgstr "Prêt."
 
@@ -1493,11 +1525,8 @@ msgid "Could not resolve this number."
 msgstr "La destination n'a pu être trouvée."
 
 #: ../coreapi/linphonecore.c:2231
-msgid ""
-"Could not parse given sip address. A sip url usually looks like sip:"
-"user@domain"
-msgstr ""
-"Adresse SIP mal formulée. Une address sip ressemble à <sip:nom@domaine>"
+msgid "Could not parse given sip address. A sip url usually looks like sip:user@domain"
+msgstr "Adresse SIP mal formulée. Une address sip ressemble à <sip:nom@domaine>"
 
 #: ../coreapi/linphonecore.c:2432
 msgid "Contacting"
@@ -1535,11 +1564,11 @@ msgstr "En ligne."
 msgid "Call aborted"
 msgstr "Appel abandonné"
 
-#: ../coreapi/linphonecore.c:3351
+#: ../coreapi/linphonecore.c:3357
 msgid "Could not pause the call"
 msgstr "La mise en attente a échoué"
 
-#: ../coreapi/linphonecore.c:3356
+#: ../coreapi/linphonecore.c:3362
 msgid "Pausing the current call..."
 msgstr "Mise en attente de l'appel..."
 
@@ -1610,7 +1639,7 @@ msgstr "Parti"
 
 #: ../coreapi/friend.c:57
 msgid "Using another messaging service"
-msgstr ""
+msgstr "Utilisation d'un autre service de messagerie"
 
 #: ../coreapi/friend.c:60
 msgid "Offline"
@@ -1625,12 +1654,8 @@ msgid "Unknown-bug"
 msgstr "Bug inconnu"
 
 #: ../coreapi/proxy.c:204
-msgid ""
-"The sip proxy address you entered is invalid, it must start with \"sip:\" "
-"followed by a hostname."
-msgstr ""
-"L'addresse SIP du proxy est invalide. Elle doit commencer par \"sip:\" "
-"suivie par un nom de domaine."
+msgid "The sip proxy address you entered is invalid, it must start with \"sip:\" followed by a hostname."
+msgstr "L'adresse SIP du proxy est invalide. Elle doit commencer par \"sip:\" suivie par un nom de domaine."
 
 #: ../coreapi/proxy.c:210
 msgid ""
@@ -1638,119 +1663,118 @@ msgid ""
 "It should look like sip:username@proxydomain, such as sip:alice@example.net"
 msgstr ""
 "L'identité SIP que vous avez fourni est invalide.\n"
-"Elle doit être de la forme sip:username@domain, comme par example sip:"
-"alice@example.net"
+"Elle doit être de la forme sip:username@domain, comme par example sip:alice@example.net"
 
-#: ../coreapi/proxy.c:1068
+#: ../coreapi/proxy.c:1069
 #, c-format
 msgid "Could not login as %s"
 msgstr "Echec de la connexion en tant que %s"
 
-#: ../coreapi/callbacks.c:283
+#: ../coreapi/callbacks.c:286
 msgid "Remote ringing."
 msgstr "Sonnerie distante."
 
-#: ../coreapi/callbacks.c:303
+#: ../coreapi/callbacks.c:306
 msgid "Remote ringing..."
 msgstr "Sonnerie distante..."
 
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
-msgstr "Prise d'appel anticipée"
+msgstr "Prise d'appel anticipée."
 
-#: ../coreapi/callbacks.c:365
+#: ../coreapi/callbacks.c:368
 #, c-format
 msgid "Call with %s is paused."
 msgstr "%s est maintenant en attente."
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
 msgstr "Appel répondu par %s - en attente"
 
-#: ../coreapi/callbacks.c:389
+#: ../coreapi/callbacks.c:392
 msgid "Call resumed."
 msgstr "Appel repris."
 
-#: ../coreapi/callbacks.c:394
+#: ../coreapi/callbacks.c:397
 #, c-format
 msgid "Call answered by %s."
 msgstr "Appel répondu par %s."
 
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 msgid "Incompatible, check codecs or security settings..."
 msgstr ""
 
-#: ../coreapi/callbacks.c:457
+#: ../coreapi/callbacks.c:460
 #, fuzzy
 msgid "We have been resumed."
 msgstr "Reprise..."
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
 msgstr ""
 
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 #, fuzzy
 msgid "Call is updated by remote."
 msgstr "L'appel a été repris par le correspondant."
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 msgid "Call terminated."
 msgstr "Appel terminé."
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "Occupé..."
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "L'usager est temporairement indisponible."
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr "L'usager ne souhaite pas être dérangé"
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr "Appel décliné."
 
-#: ../coreapi/callbacks.c:568
+#: ../coreapi/callbacks.c:571
 msgid "No response."
 msgstr "Pas de réponse."
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
 msgstr "Erreur de protocole"
 
-#: ../coreapi/callbacks.c:588
+#: ../coreapi/callbacks.c:591
 msgid "Redirected"
 msgstr "Redirection"
 
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 msgid "Incompatible media parameters."
 msgstr ""
 
-#: ../coreapi/callbacks.c:630
+#: ../coreapi/callbacks.c:633
 msgid "Call failed."
 msgstr "L'appel a échoué."
 
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, c-format
 msgid "Registration on %s successful."
 msgstr "Enregistrement sur %s effectué."
 
-#: ../coreapi/callbacks.c:734
+#: ../coreapi/callbacks.c:738
 #, c-format
 msgid "Unregistration on %s done."
 msgstr "Désenregistrement sur %s effectué."
 
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr "Pas de réponse"
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, c-format
 msgid "Registration on %s failed: %s"
 msgstr "Echec de l'enregistrement sur %s: %s"
@@ -1760,7 +1784,7 @@ msgstr "Echec de l'enregistrement sur %s: %s"
 msgid "Authentication token is %s"
 msgstr "Le jeton d'authentification est %s"
 
-#: ../coreapi/linphonecall.c:2314
+#: ../coreapi/linphonecall.c:2319
 #, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
@@ -1785,7 +1809,7 @@ msgstr[1] "Vous avez manqué %i appels"
 
 #~ msgid "Enter username, phone number, or full sip address"
 #~ msgstr ""
-#~ "Entrez un nom d'utilisateur, un numéro de téléphone, ou une addresse SIP"
+#~ "Entrez un nom d'utilisateur, un numéro de téléphone, ou une adresse SIP"
 
 #~ msgid "Lookup:"
 #~ msgstr "Rechercher:"
index 7439d265161f4ebf0667a89901b4b815724a394c..b8b2895b816d1f56898979f636ae047452912e35 100644 (file)
--- a/po/he.po
+++ b/po/he.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Linphone 3.5.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
 "PO-Revision-Date: 2012-12-27 10:14+0200\n"
 "Last-Translator: Isratine Citizen <genghiskhan@gmx.ca>\n"
 "Language-Team: Rahut <genghiskhan@gmx.ca>\n"
@@ -19,59 +19,82 @@ msgstr ""
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "X-Generator: Poedit 1.5.4\n"
 
-#: ../gtk/calllogs.c:82
+# צור קשר עם
+#: ../gtk/calllogs.c:139 ../gtk/friendlist.c:922
+#, c-format
+msgid "Call %s"
+msgstr "התקשר אל %s"
+
+#: ../gtk/calllogs.c:140 ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr "שלח טקסט אל %s"
+
+#: ../gtk/calllogs.c:223
+#, fuzzy, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "<b>בשיחה כעת</b>"
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
 msgstr "לא זמין (n/a)"
 
-#: ../gtk/calllogs.c:85
+#: ../gtk/calllogs.c:303
 #, fuzzy
 msgid "Aborted"
 msgstr "ננטשה"
 
-#: ../gtk/calllogs.c:88
+#: ../gtk/calllogs.c:306
 #, fuzzy
 msgid "Missed"
 msgstr "הוחמצה"
 
 # דחיה
-#: ../gtk/calllogs.c:91
+#: ../gtk/calllogs.c:309
 #, fuzzy
 msgid "Declined"
 msgstr "לדחות"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
 msgstr[0] "דקה %i"
 msgstr[1] "%i דקות"
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
 msgstr[0] "שניה %i"
 msgstr[1] "%i שניות"
 
-#: ../gtk/calllogs.c:103
-#, c-format
-msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+#: ../gtk/calllogs.c:321 ../gtk/calllogs.c:327
+#, fuzzy, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>איכות: %s</i></small>\n"
 "%s\t%s %s\t"
+
+#: ../gtk/calllogs.c:323
+#, fuzzy, c-format
+msgid ""
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
 "<big><b>%s</b></big>\t<small><i>%s</i>\t<i>איכות: %s</i></small>\n"
 "%s\t%s %s\t"
 
-#: ../gtk/calllogs.c:108
+#: ../gtk/calllogs.c:329
 #, fuzzy, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
 "<big><b>%s</b></big>\t<small><i>%s</i>\t<i>איכות: %s</i></small>\n"
 "%s\t%s %s\t"
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38 ../gtk/main.ui.h:13
 msgid "Conference"
 msgstr "ועידה"
 
@@ -84,42 +107,47 @@ msgstr "אני"
 msgid "Couldn't find pixmap file: %s"
 msgstr "לא ניתן למצוא קובץ ‫pixmap: ‫%s"
 
+# איש־קשר
+#: ../gtk/chat.c:324 ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr "כתובת sip לא תקפה !"
+
 # cli
-#: ../gtk/main.c:88
+#: ../gtk/main.c:92
 #, fuzzy
 msgid "log to stdout some debug information while running."
 msgstr "רשום אל stdout מידע ניפוי שגיאות מסוים בזמן ביצוע."
 
 # cli
-#: ../gtk/main.c:95
+#: ../gtk/main.c:99
 #, fuzzy
 msgid "path to a file to write logs into."
 msgstr "נתיב אל קובץ שברצונך לרשום אליו את הרשומות."
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
 msgstr ""
 
 # cli
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 #, fuzzy
 msgid "Start only in the system tray, do not show the main interface."
 msgstr "התחל במגש המערכת בלבד, אל תציג את הממשק הראשי."
 
 # cli
-#: ../gtk/main.c:116
+#: ../gtk/main.c:120
 #, fuzzy
 msgid "address to call right now"
 msgstr "כתובת להתקשרות ברגע זה"
 
 # cli
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 #, fuzzy
 msgid "if set automatically answer incoming calls"
 msgstr "באם אפשרות זו נקבעת ענה אוטומטית לקריאות נכנסות"
 
 # cli
-#: ../gtk/main.c:130
+#: ../gtk/main.c:134
 #, fuzzy
 msgid ""
 "Specifiy a working directory (should be the base of the installation, eg: c:"
@@ -128,14 +156,14 @@ msgstr ""
 "ציין מדור העבודה (אמור להיות מבוסס על ההתקנה, למשל: c:\\Program Files"
 "\\Linphone)"
 
-#: ../gtk/main.c:510
+#: ../gtk/main.c:515
 #, c-format
 msgid "Call with %s"
 msgstr "התקשרות באמצעות %s"
 
 # הקשר שלהם
 # אם התשובה
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
@@ -148,7 +176,7 @@ msgstr ""
 "שלך ?\n"
 "היה ותשובתך תהיה לא, אדם זה יהיה מסומן באופן זמני ברשימה השחורה."
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
@@ -158,64 +186,64 @@ msgstr ""
 " בתחום <i>%s</i>:"
 
 # שיחה
-#: ../gtk/main.c:1121
+#: ../gtk/main.c:1126
 msgid "Call error"
 msgstr "שגיאת קריאה"
 
 # Conversation ended
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129 ../coreapi/linphonecore.c:3189
 msgid "Call ended"
 msgstr "שיחה הסתיימה"
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132 ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr "קריאה נכנסת"
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134 ../gtk/incall_view.c:497 ../gtk/main.ui.h:5
 msgid "Answer"
 msgstr "לענות"
 
 # דחיה
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
+#: ../gtk/main.c:1136 ../gtk/main.ui.h:6
 msgid "Decline"
 msgstr "לדחות"
 
 # Conversation paused
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 msgid "Call paused"
 msgstr "שיחה הושהתה"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy, c-format
 msgid "<b>by %s</b>"
 msgstr "<b>Ports utilisés</b>"
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, c-format
 msgid "%s proposed to start video. Do you accept ?"
 msgstr ""
 
-#: ../gtk/main.c:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
 msgstr "קישור אתר רשת"
 
 # ‫Linphone - וידאופון במרשתת
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
 msgstr "‫Linphone - וידאופון אינטרנטי"
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
 msgstr "‫%s (משתמטת)"
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796 ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
 msgstr "אנחנו מועברים אל %s"
 
 # קריאות שמע
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 msgid ""
 "No sound cards have been detected on this computer.\n"
 "You won't be able to send or receive audio calls."
@@ -223,63 +251,52 @@ msgstr ""
 "לא אותרו כרטיסי קול במחשב זה.\n"
 "לא תהיה ביכולתך לשלוח או לקבל שיחות שמע."
 
-#: ../gtk/main.c:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr "וידאופון SIP חופשי"
 
-#: ../gtk/friendlist.c:366
+#: ../gtk/friendlist.c:469
 msgid "Add to addressbook"
 msgstr "הוסף אל ספר כתובות"
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 msgid "Presence status"
 msgstr "מצב נוכחות"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "שם"
 
-#: ../gtk/friendlist.c:569
+#: ../gtk/friendlist.c:673
 msgid "Call"
 msgstr "קריאה"
 
-#: ../gtk/friendlist.c:574
+#: ../gtk/friendlist.c:678
 msgid "Chat"
 msgstr ""
 
 # a name or a number
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
 msgstr "חיפוש במדור %s"
 
-# איש־קשר
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr "כתובת sip לא תקפה !"
-
-# צור קשר עם
-#: ../gtk/friendlist.c:807
-#, c-format
-msgid "Call %s"
-msgstr "התקשר אל %s"
-
-#: ../gtk/friendlist.c:808
-#, c-format
-msgid "Send text to %s"
-msgstr "שלח טקסט אל %s"
-
-#: ../gtk/friendlist.c:809
+#: ../gtk/friendlist.c:924
 #, c-format
 msgid "Edit contact '%s'"
 msgstr "ערוך איש קשר '%s'"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
 msgstr "מחק איש קשר '%s'"
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:926
+#, fuzzy, c-format
+msgid "Delete chat history of '%s'"
+msgstr "מחק איש קשר '%s'"
+
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
 msgstr "הוסף איש קשר חדש מן מדור %s"
@@ -384,21 +401,25 @@ msgstr "norsk"
 msgid "Hebrew"
 msgstr ""
 
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
+msgstr ""
+
 # selected הנבחרת
-#: ../gtk/propertybox.c:847
+#: ../gtk/propertybox.c:848
 msgid ""
 "You need to restart linphone for the new language selection to take effect."
 msgstr "עליך לאתחל את לינפון כדי שהשפה החדשה תיכנס לתוקף."
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 msgid "None"
 msgstr "ללא"
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
 msgstr ""
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
 msgstr ""
 
@@ -659,121 +680,121 @@ msgstr ""
 msgid "%.3f seconds"
 msgstr "שניה %i"
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:12
 msgid "Hang up"
 msgstr ""
 
-#: ../gtk/incall_view.c:477
+#: ../gtk/incall_view.c:476
 msgid "<b>Calling...</b>"
 msgstr "<b>מתקשר כעת...</b>"
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479 ../gtk/incall_view.c:689
 msgid "00::00::00"
 msgstr "‭00::00::00"
 
-#: ../gtk/incall_view.c:491
+#: ../gtk/incall_view.c:490
 msgid "<b>Incoming call</b>"
 msgstr "<b>קריאה נכנסת</b>"
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
 msgstr "טובה"
 
 # רגילה
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
 msgstr "ממוצעת"
 
 # weak חלשה חלושה רפויה רופפת
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
 msgstr "דלה"
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
 msgstr "דלה מאוד"
 
 # רעה
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
 msgstr "גרועה מדי"
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536 ../gtk/incall_view.c:552
 msgid "unavailable"
 msgstr "לא זמינה"
 
 # באמצעות
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
 msgstr "מאובטחת על ידי SRTP"
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
 msgstr "מאובטחת על ידי ZRTP - [אות אימות: %s]"
 
 # set or unset verification state of ZRTP SAS.
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
 msgstr "הגדר כלא מאומתת"
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663 ../gtk/main.ui.h:4
 msgid "Set verified"
 msgstr "הגדר כמאומתת"
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
 msgstr "בשיחת ועידה"
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "<b>In call</b>"
 msgstr "<b>בשיחה כעת</b>"
 
-#: ../gtk/incall_view.c:719
+#: ../gtk/incall_view.c:718
 msgid "<b>Paused call</b>"
 msgstr "<b>שיחה מושהית</b>"
 
 # שעות %02i דקות %02i שניות %02i
 # Force LTR time format (hours::minutes::seconds) with LRO chatacter (U+202D)
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
 msgstr "‭%02i::%02i::%02i"
 
-#: ../gtk/incall_view.c:749
+#: ../gtk/incall_view.c:748
 msgid "<b>Call ended.</b>"
 msgstr "<b>שיחה הסתיימה.</b>"
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
 msgstr ""
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 #, fuzzy
 msgid "Transfer done."
 msgstr "העברה"
 
-#: ../gtk/incall_view.c:785
+#: ../gtk/incall_view.c:784
 #, fuzzy
 msgid "Transfer failed."
 msgstr "העברה"
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
 msgstr "חזרה"
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835 ../gtk/main.ui.h:9
 msgid "Pause"
 msgstr "השהיה"
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, fuzzy
 msgid "(Paused)"
 msgstr "השהיה"
@@ -798,159 +819,155 @@ msgstr "שיגור"
 msgid "End conference"
 msgstr "בשיחת ועידה"
 
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr "תוויות"
-
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
 msgstr ""
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
 msgstr ""
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
 msgstr ""
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
 msgstr "העברה"
 
-#: ../gtk/main.ui.h:15
+#: ../gtk/main.ui.h:14
 msgid "In call"
 msgstr "בשיחה כעת"
 
-#: ../gtk/main.ui.h:16
+#: ../gtk/main.ui.h:15
 msgid "Duration"
 msgstr "משך זמן"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
 msgstr "אומדן איכות שיחה"
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
 msgstr "_אפשרויות"
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
 msgstr ""
 
-#: ../gtk/main.ui.h:20
+#: ../gtk/main.ui.h:19
 msgid "Enable self-view"
 msgstr "אפשר ראות-עצמית"
 
-#: ../gtk/main.ui.h:21
+#: ../gtk/main.ui.h:20
 msgid "_Help"
 msgstr "_עזרה"
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 msgid "Show debug window"
 msgstr "הצג חלון ניפוי שגיאות"
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 msgid "_Homepage"
 msgstr "_עמוד הבית"
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 msgid "Check _Updates"
 msgstr "בדיקת _עדכונים"
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 msgid "Account assistant"
 msgstr "אשף חשבון"
 
-#: ../gtk/main.ui.h:26
+#: ../gtk/main.ui.h:25
 msgid "SIP address or phone number:"
 msgstr "כתובת SIP או מספר טלפון"
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
 msgstr "התחלת שיחה חדשה"
 
-#: ../gtk/main.ui.h:28
+#: ../gtk/main.ui.h:27
 msgid "Contacts"
 msgstr "אנשי קשר"
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28 ../gtk/parameters.ui.h:50
 msgid "Add"
 msgstr "הוסף"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr "ערוך"
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
 msgstr "חיפוש"
 
-#: ../gtk/main.ui.h:32
+#: ../gtk/main.ui.h:31
 msgid "<b>Add contacts from directory</b>"
 msgstr "<b>הוסף אנשי קשר מן מדור</b>"
 
-#: ../gtk/main.ui.h:33
+#: ../gtk/main.ui.h:32
 msgid "Add contact"
 msgstr "הוספת איש קשר"
 
 # קריאות אחרונות
-#: ../gtk/main.ui.h:34
+#: ../gtk/main.ui.h:33
 msgid "Recent calls"
 msgstr "שיחות אחרונות"
 
 # הזהות הנוכחית שלי
-#: ../gtk/main.ui.h:35
+#: ../gtk/main.ui.h:34
 msgid "My current identity:"
 msgstr "זהותי הנוכחית:"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
+#: ../gtk/main.ui.h:35 ../gtk/tunnel_config.ui.h:7
 msgid "Username"
 msgstr "שם משתמש"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
+#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:8
 msgid "Password"
 msgstr "סיסמה"
 
 # מרשתת
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
 msgstr "חיבור אינטרנט:"
 
-#: ../gtk/main.ui.h:39
+#: ../gtk/main.ui.h:38
 msgid "Automatically log me in"
 msgstr "חבר אותי אוטומטית"
 
-#: ../gtk/main.ui.h:40
+#: ../gtk/main.ui.h:39
 msgid "Login information"
 msgstr "מידע התחברות"
 
-#: ../gtk/main.ui.h:41
+#: ../gtk/main.ui.h:40
 msgid "<b>Welcome !</b>"
 msgstr "<b>ברוך בואך !</b>"
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
 msgstr "כל המשתמשים"
 
-#: ../gtk/main.ui.h:43
+#: ../gtk/main.ui.h:42
 msgid "Online users"
 msgstr "משתמשים מקוונים"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
 msgstr "‫ADSL"
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 msgid "Fiber Channel"
 msgstr "ערוץ סיב"
 
 # משתמט
-#: ../gtk/main.ui.h:46
+#: ../gtk/main.ui.h:45
 msgid "Default"
 msgstr "ברירת מחדל"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
 msgstr ""
 
@@ -1577,7 +1594,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr "קריאה יוצאת"
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 msgid "Ready"
 msgstr "מוכן"
 
@@ -1636,11 +1653,11 @@ msgstr "מקושר."
 msgid "Call aborted"
 msgstr "קריאה בוטלה"
 
-#: ../coreapi/linphonecore.c:3351
+#: ../coreapi/linphonecore.c:3357
 msgid "Could not pause the call"
 msgstr "לא ניתן להשהות את השיחה"
 
-#: ../coreapi/linphonecore.c:3356
+#: ../coreapi/linphonecore.c:3362
 msgid "Pausing the current call..."
 msgstr "משהה כעת שיחה נוכחית..."
 
@@ -1747,40 +1764,40 @@ msgstr ""
 "זו צריכה להיראות כמו sip:username@proxydomain, למשל sip:alice@example.net"
 
 # בשם כ־
-#: ../coreapi/proxy.c:1068
+#: ../coreapi/proxy.c:1069
 #, c-format
 msgid "Could not login as %s"
 msgstr "לא ניתן להתחבר בזהות %s"
 
-#: ../coreapi/callbacks.c:283
+#: ../coreapi/callbacks.c:286
 msgid "Remote ringing."
 msgstr "צלצול מרוחק."
 
-#: ../coreapi/callbacks.c:303
+#: ../coreapi/callbacks.c:306
 msgid "Remote ringing..."
 msgstr "צלצול מרוחק..."
 
 # A SIP state
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
 msgstr "מדיה מוקדמת."
 
-#: ../coreapi/callbacks.c:365
+#: ../coreapi/callbacks.c:368
 #, c-format
 msgid "Call with %s is paused."
 msgstr "שיחה עם %s מושהית."
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
 msgstr "קריאה נענתה על ידי %s - בהמתנה."
 
 # renewed
-#: ../coreapi/callbacks.c:389
+#: ../coreapi/callbacks.c:392
 msgid "Call resumed."
 msgstr "קריאה חודשה."
 
-#: ../coreapi/callbacks.c:394
+#: ../coreapi/callbacks.c:397
 #, c-format
 msgid "Call answered by %s."
 msgstr "קריאה נענתה על ידי %s."
@@ -1788,89 +1805,89 @@ msgstr "קריאה נענתה על ידי %s."
 # לא תואם
 # אי תאימות
 # אי התאמה
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 #, fuzzy
 msgid "Incompatible, check codecs or security settings..."
 msgstr "חוסר תאימות, נא לבדוק קודקים..."
 
-#: ../coreapi/callbacks.c:457
+#: ../coreapi/callbacks.c:460
 #, fuzzy
 msgid "We have been resumed."
 msgstr "חזרנו..."
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
 msgstr ""
 
 # באופן מרוחק
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 #, fuzzy
 msgid "Call is updated by remote."
 msgstr "שיחה עודכנה מרחוק..."
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 msgid "Call terminated."
 msgstr "קריאה הסתיימה."
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "משתמש עסוק כעת."
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "משתמש לא זמין זמנית."
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr "משתמש לא מעוניין שיפריעו לו."
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr "קריאה סורבה."
 
-#: ../coreapi/callbacks.c:568
+#: ../coreapi/callbacks.c:571
 msgid "No response."
 msgstr "אין תגובה."
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
 msgstr "שגיאת פרוטוקול."
 
-#: ../coreapi/callbacks.c:588
+#: ../coreapi/callbacks.c:591
 msgid "Redirected"
 msgstr "מכוון מחדש"
 
 # לא תואם
 # אי תאימות
 # אי התאמה
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 #, fuzzy
 msgid "Incompatible media parameters."
 msgstr "חוסר תאימות, נא לבדוק קודקים..."
 
-#: ../coreapi/callbacks.c:630
+#: ../coreapi/callbacks.c:633
 msgid "Call failed."
 msgstr "קריאה נכשלה."
 
 # הרשמה אצל %s הושלמה בהצלחה.
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, c-format
 msgid "Registration on %s successful."
 msgstr "רישום אצל %s הושלם בהצלחה."
 
-#: ../coreapi/callbacks.c:734
+#: ../coreapi/callbacks.c:738
 #, c-format
 msgid "Unregistration on %s done."
 msgstr "אי רישום אצל %s סוים."
 
 # Pas de réponse
 # no response in defined time
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr "אין היענות תוך זמן מוגדר"
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, c-format
 msgid "Registration on %s failed: %s"
 msgstr "רישום אצל %s נכשל: %s"
@@ -1881,13 +1898,16 @@ msgid "Authentication token is %s"
 msgstr "אות האימות הינה %s"
 
 # האם כדאי לחקות את הטלפונים הניידים? שיחות של נענו
-#: ../coreapi/linphonecall.c:2314
+#: ../coreapi/linphonecall.c:2319
 #, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
 msgstr[0] "החמצת שיחה %i."
 msgstr[1] "החמצת %i שיחות."
 
+#~ msgid "label"
+#~ msgstr "תוויות"
+
 #~ msgid "<span size=\"large\">by %s</span>"
 #~ msgstr "<span size=\"large\">מאת %s</span>"
 
index 819bb2210438853d8d6ceebf8ee0bf1360418173..256e7ffba980f0cf9dfc1421abd99b0530db1521 100644 (file)
--- a/po/hu.po
+++ b/po/hu.po
-# SOME DESCRIPTIVE TITLE.\r
-# Copyright (C) YEAR Free Software Foundation, Inc.\r
-# This file is distributed under the same license as the PACKAGE package.\r
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.\r
-# \r
+# Hungarian translation for Linphone.
+# Copyright 2013.
+# This file is distributed under the same license as the linphone package.
+#
 msgid ""
 msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
+"Project-Id-Version: Linphone\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
-"PO-Revision-Date: 2007-12-14 11:12+0100\n"
-"Last-Translator: \n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
+"PO-Revision-Date: 2013-03-26 19:00+0100\n"
+"Last-Translator: Viktor <viktorbarczi@lavabit.com>\n"
+"Language-Team:  <LL@li.org>\n"
+"Language: Hungarian\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Poedit 1.5.4\n"
+"Plural-Forms: nplurals=1; plural=1 == 1 ? 0 : 1;\n"
 
-#: ../gtk/calllogs.c:82
+#: ../gtk/calllogs.c:139 ../gtk/friendlist.c:922
+#, c-format
+msgid "Call %s"
+msgstr "%s hívása"
+
+#: ../gtk/calllogs.c:140 ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr "Szöveg küldése a következőnek: %s"
+
+#: ../gtk/calllogs.c:223
+#, fuzzy, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "<b>vonalban</b>"
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
-msgstr ""
+msgstr "-"
 
-#: ../gtk/calllogs.c:85
-#, fuzzy
+#: ../gtk/calllogs.c:303
 msgid "Aborted"
-msgstr "megszakítva"
+msgstr "Megszakítva"
 
-#: ../gtk/calllogs.c:88
-#, fuzzy
+#: ../gtk/calllogs.c:306
 msgid "Missed"
-msgstr "elhibázva"
+msgstr "Nem fogadott"
 
-#: ../gtk/calllogs.c:91
-#, fuzzy
+#: ../gtk/calllogs.c:309
 msgid "Declined"
-msgstr "line"
+msgstr "Elutasítva"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%i perc"
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%i másodperc"
 
-#: ../gtk/calllogs.c:103
-#, c-format
+#: ../gtk/calllogs.c:321 ../gtk/calllogs.c:327
+#, fuzzy, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+"<nagy><b>%s</b></nagy>\t<kis><i>%s</i></kis>\t\n"
+"%s\t%s"
+
+#: ../gtk/calllogs.c:323
+#, fuzzy, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
-"%s\t%s %s\t"
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
+"<nagy><b>%s</b></nagy>\t<kis><i>%s</i>\t<i>Minőség: %s</i></kis>\n"
+"%s\t%s %s\t"
 
-#: ../gtk/calllogs.c:108
-#, c-format
+#: ../gtk/calllogs.c:329
+#, fuzzy, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
+"<nagy><b>%s</b></nagy>\t<kis><i>%s</i></kis>\t\n"
+"%s\t%s"
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38 ../gtk/main.ui.h:13
 msgid "Conference"
-msgstr ""
+msgstr "Konferencia"
 
 #: ../gtk/conference.c:46
 msgid "Me"
-msgstr ""
+msgstr "én"
 
 #: ../gtk/support.c:49 ../gtk/support.c:73 ../gtk/support.c:102
 #, c-format
 msgid "Couldn't find pixmap file: %s"
 msgstr "Nemtalálható a pixmap fájl: %s"
 
-#: ../gtk/main.c:88
+#: ../gtk/chat.c:324 ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr "Érvénytelen sip partner !"
+
+#: ../gtk/main.c:92
 msgid "log to stdout some debug information while running."
-msgstr ""
+msgstr "Futás közben némi hibakeresési információ az stdout-ra naplózása."
 
-#: ../gtk/main.c:95
+#: ../gtk/main.c:99
 msgid "path to a file to write logs into."
-msgstr ""
+msgstr "fájl elérési útja, melybe a naplók kerülnek."
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
-msgstr ""
+msgstr "Linphone indítása, videó kikpacsolva. "
 
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 msgid "Start only in the system tray, do not show the main interface."
-msgstr ""
+msgstr "Csak a tálcaikon indítása, ne mutassa a fő ablakot."
 
-#: ../gtk/main.c:116
+#: ../gtk/main.c:120
 msgid "address to call right now"
-msgstr ""
+msgstr "Cím azonnali híváshoz"
 
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 msgid "if set automatically answer incoming calls"
-msgstr ""
+msgstr "Bekapcsolva automatikusan válaszol a bejövő hívásokra"
 
-#: ../gtk/main.c:130
+#: ../gtk/main.c:134
 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:510
-#, fuzzy, c-format
+#: ../gtk/main.c:515
+#, c-format
 msgid "Call with %s"
-msgstr "Chat-elés %s -el"
+msgstr "Hívás %s -el"
 
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
@@ -119,135 +147,128 @@ msgid ""
 "list ?\n"
 "If you answer no, this person will be temporarily blacklisted."
 msgstr ""
+"%s szeretné Önt hozzáadni partnerlistájához.\n"
+"Szeretné megengedni neki, hogy lássa az Ön jelenlétét, illetve hozzá "
+"szeretné adni a partnerlistához?\n"
+"Ha nemmel válaszol, ez a személy átmenetileg tiltólistára kerül."
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
 " at domain <i>%s</i>:"
 msgstr ""
+"Kérem, adja meg jelszavát a következő felhasználónévhez: <i>%s</i>\n"
+"tartomány <i>%s</i>:"
 
-#: ../gtk/main.c:1121
-#, fuzzy
+#: ../gtk/main.c:1126
 msgid "Call error"
-msgstr "Linphone - Híváselőzmények"
+msgstr "Hiba a hívás közben"
 
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129 ../coreapi/linphonecore.c:3189
 msgid "Call ended"
 msgstr "Hívás vége"
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132 ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr "Beérkező hívás"
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134 ../gtk/incall_view.c:497 ../gtk/main.ui.h:5
 msgid "Answer"
-msgstr ""
+msgstr "Hívás fogadása"
 
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
-#, fuzzy
+#: ../gtk/main.c:1136 ../gtk/main.ui.h:6
 msgid "Decline"
-msgstr "line"
+msgstr "Elutasítás"
 
-#: ../gtk/main.c:1137
-#, fuzzy
+#: ../gtk/main.c:1142
 msgid "Call paused"
-msgstr "megszakítva"
+msgstr "Hívás várakoztatva"
 
-#: ../gtk/main.c:1137
-#, fuzzy, c-format
+#: ../gtk/main.c:1142
+#, c-format
 msgid "<b>by %s</b>"
-msgstr "Kapcsolatilista"
+msgstr "<b>a következő által: %s</b>"
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, c-format
 msgid "%s proposed to start video. Do you accept ?"
-msgstr ""
+msgstr "%s szerené elidítani a videót. Elfogadja?"
 
-#: ../gtk/main.c:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
-msgstr ""
+msgstr "Internetes oldal"
 
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
-msgstr ""
+msgstr "Linphone - internetes videó telefon"
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
-msgstr ""
+msgstr "%s (Alapértelmezett)"
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796 ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
-msgstr ""
+msgstr "Át vagyunk irányítva ide: %s"
 
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 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.\n"
+"Nem fog tudni hang hívásokat küldeni vagy fogadni."
 
-#: ../gtk/main.c:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr "Egy ingyenes SIP video-telefon"
 
-#: ../gtk/friendlist.c:366
-#, fuzzy
+#: ../gtk/friendlist.c:469
 msgid "Add to addressbook"
-msgstr "Címjegyzék"
+msgstr "Hozzáadás címjegyzékhez"
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 msgid "Presence status"
 msgstr "Jelenlét státusz"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "Név"
 
-#: ../gtk/friendlist.c:569
-#, fuzzy
+#: ../gtk/friendlist.c:673
 msgid "Call"
-msgstr "Hivás előzmények"
+msgstr "Hivás"
 
-#: ../gtk/friendlist.c:574
-#, fuzzy
+#: ../gtk/friendlist.c:678
 msgid "Chat"
-msgstr "Chat szoba"
+msgstr "Csevegés"
 
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
-msgstr ""
-
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr ""
-
-#: ../gtk/friendlist.c:807
-#, fuzzy, c-format
-msgid "Call %s"
-msgstr "Hivás előzmények"
+msgstr "Keresés ebben a könyvtárban: %s"
 
-#: ../gtk/friendlist.c:808
+#: ../gtk/friendlist.c:924
 #, c-format
-msgid "Send text to %s"
-msgstr ""
-
-#: ../gtk/friendlist.c:809
-#, fuzzy, c-format
 msgid "Edit contact '%s'"
-msgstr "Kapcsolatinformációk szerkesztése"
+msgstr "Kapcsolatinformációk szerkesztése: '%s'"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
-msgstr ""
+msgstr "'%s' partner törlése"
+
+#: ../gtk/friendlist.c:926
+#, fuzzy, c-format
+msgid "Delete chat history of '%s'"
+msgstr "'%s' partner törlése"
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
-msgstr ""
+msgstr "Új partner hozzáadása ebből a könyvtárból: %s"
 
 #: ../gtk/propertybox.c:373
 msgid "Rate (Hz)"
@@ -279,88 +300,94 @@ msgstr "Hozzáférés"
 
 #: ../gtk/propertybox.c:764
 msgid "English"
-msgstr ""
+msgstr "angol"
 
 #: ../gtk/propertybox.c:765
 msgid "French"
-msgstr ""
+msgstr "francia"
 
 #: ../gtk/propertybox.c:766
 msgid "Swedish"
-msgstr ""
+msgstr "svéd"
 
 #: ../gtk/propertybox.c:767
 msgid "Italian"
-msgstr ""
+msgstr "olasz"
 
 #: ../gtk/propertybox.c:768
 msgid "Spanish"
-msgstr ""
+msgstr "spanyol"
 
 #: ../gtk/propertybox.c:769
 msgid "Brazilian Portugese"
-msgstr ""
+msgstr "brazil-portugál"
 
 #: ../gtk/propertybox.c:770
 msgid "Polish"
-msgstr ""
+msgstr "lengyel"
 
 #: ../gtk/propertybox.c:771
 msgid "German"
-msgstr ""
+msgstr "német"
 
 #: ../gtk/propertybox.c:772
 msgid "Russian"
-msgstr ""
+msgstr "orosz"
 
 #: ../gtk/propertybox.c:773
 msgid "Japanese"
-msgstr ""
+msgstr "japán"
 
 #: ../gtk/propertybox.c:774
 msgid "Dutch"
-msgstr ""
+msgstr "holland"
 
 #: ../gtk/propertybox.c:775
 msgid "Hungarian"
-msgstr ""
+msgstr "magyar"
 
 #: ../gtk/propertybox.c:776
 msgid "Czech"
-msgstr ""
+msgstr "cseh"
 
 #: ../gtk/propertybox.c:777
 msgid "Chinese"
-msgstr ""
+msgstr "egyszerúsített kínai"
 
 #: ../gtk/propertybox.c:778
 msgid "Traditional Chinese"
-msgstr ""
+msgstr "tradícionális kínai"
 
 #: ../gtk/propertybox.c:779
 msgid "Norwegian"
-msgstr ""
+msgstr "norvég"
 
 #: ../gtk/propertybox.c:780
 msgid "Hebrew"
+msgstr "héber"
+
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
 msgstr ""
 
-#: ../gtk/propertybox.c:847
+#: ../gtk/propertybox.c:848
 msgid ""
 "You need to restart linphone for the new language selection to take effect."
 msgstr ""
+"Újra kell indítania a linphone-t, hogy az új nyelv kiválasztása érvényre "
+"jusson. "
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 msgid "None"
 msgstr "Nincs"
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
-msgstr ""
+msgstr "SRTP"
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
-msgstr ""
+msgstr "ZRTP"
 
 #: ../gtk/update.c:80
 #, c-format
@@ -368,125 +395,123 @@ msgid ""
 "A more recent version is availalble from %s.\n"
 "Would you like to open a browser to download it ?"
 msgstr ""
+"Elérhető egy újabb verzió a következőn: %s.\n"
+"Szeretné, hogy a letöltéshez egy új böngésző ablak nyíljon?"
 
 #: ../gtk/update.c:91
 msgid "You are running the lastest version."
-msgstr ""
+msgstr "Ön a legfrissebb verziót használja."
 
 #: ../gtk/buddylookup.c:85
 msgid "Firstname, Lastname"
-msgstr ""
+msgstr "Utónév, Családnév"
 
 #: ../gtk/buddylookup.c:160
 msgid "Error communicating with server."
-msgstr ""
+msgstr "Hiba a kiszolgálóval történő kommunikáció során."
 
 #: ../gtk/buddylookup.c:164
-#, fuzzy
 msgid "Connecting..."
-msgstr "Kapcsolódás"
+msgstr "Kapcsolódás..."
 
 #: ../gtk/buddylookup.c:168
-#, fuzzy
 msgid "Connected"
-msgstr "Kapcsolódva."
+msgstr "Kapcsolódva"
 
 #: ../gtk/buddylookup.c:172
 msgid "Receiving data..."
-msgstr ""
+msgstr "Adatok fogadása..."
 
 #: ../gtk/buddylookup.c:180
 #, c-format
 msgid "Found %i contact"
 msgid_plural "Found %i contacts"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "Találat: %i partner"
 
 #: ../gtk/setupwizard.c:34
 msgid ""
 "Welcome !\n"
 "This assistant will help you to use a SIP account for your calls."
 msgstr ""
+"Üdvözöljük !\n"
+"Ez a varázsló segít Önnek, hogy sip fiókot használjon hívásaihoz."
 
 #: ../gtk/setupwizard.c:43
 msgid "Create an account on linphone.org"
-msgstr ""
+msgstr "Fiók létrehozása a linphone.org -on"
 
 #: ../gtk/setupwizard.c:44
 msgid "I have already a linphone.org account and I just want to use it"
-msgstr ""
+msgstr "Már rendelkezem linphone.org fiókkal, azt szeretném használni"
 
 #: ../gtk/setupwizard.c:45
 msgid "I have already a sip account and I just want to use it"
-msgstr ""
+msgstr "Már rendelkezem sip fiókkal, azt szeretném használni"
 
 #: ../gtk/setupwizard.c:85
 msgid "Enter your linphone.org username"
-msgstr ""
+msgstr "Adja meg linphone.org felhasználónevét"
 
 #: ../gtk/setupwizard.c:92
-#, fuzzy
 msgid "Username:"
-msgstr "felhasználónév:"
+msgstr "Felhasználónév:"
 
 #: ../gtk/setupwizard.c:94 ../gtk/password.ui.h:4
-#, fuzzy
 msgid "Password:"
-msgstr "jelszó:"
+msgstr "Jelszó:"
 
 #: ../gtk/setupwizard.c:114
 msgid "Enter your account informations"
-msgstr ""
+msgstr "Írja be fiókinformációit"
 
 #: ../gtk/setupwizard.c:121
-#, fuzzy
 msgid "Username*"
-msgstr "felhasználónév:"
+msgstr "Felhasználónév*"
 
 #: ../gtk/setupwizard.c:122
-#, fuzzy
 msgid "Password*"
-msgstr "jelszó:"
+msgstr "Jelszó*"
 
 #: ../gtk/setupwizard.c:125
 msgid "Domain*"
-msgstr ""
+msgstr "Tartomány"
 
 #: ../gtk/setupwizard.c:126
 msgid "Proxy"
-msgstr ""
+msgstr "Proxy"
 
 #: ../gtk/setupwizard.c:298
 msgid "(*) Required fields"
-msgstr ""
+msgstr "(*) Mező kitöltése szükséges"
 
 #: ../gtk/setupwizard.c:299
-#, fuzzy
 msgid "Username: (*)"
-msgstr "felhasználónév:"
+msgstr "Felhasználónév: (*)"
 
 #: ../gtk/setupwizard.c:301
-#, fuzzy
 msgid "Password: (*)"
-msgstr "jelszó:"
+msgstr "Jelszó: (*)"
 
 #: ../gtk/setupwizard.c:303
 msgid "Email: (*)"
-msgstr ""
+msgstr "E-mail: (*)"
 
 #: ../gtk/setupwizard.c:305
 msgid "Confirm your password: (*)"
-msgstr ""
+msgstr "Jelszó megerősítése: (*)"
 
 #: ../gtk/setupwizard.c:369
 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ő.\n"
+"Kérjük, lépjen vissza és próbálja újra."
 
 #: ../gtk/setupwizard.c:380
 msgid "Thank you. Your account is now configured and ready for use."
-msgstr ""
+msgstr "Köszönjük! Az Ön fiókját beállítottuk és használatra kész."
 
 #: ../gtk/setupwizard.c:388
 msgid ""
@@ -494,105 +519,103 @@ msgid ""
 "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.\n"
+"Azután térjen vissza ide és kattintson a Következő gombra."
 
 #: ../gtk/setupwizard.c:564
 msgid "Welcome to the account setup assistant"
-msgstr ""
+msgstr "A fiók beállítása varázsló üdvözli Önt"
 
 #: ../gtk/setupwizard.c:569
 msgid "Account setup assistant"
-msgstr ""
+msgstr "Fiók beállítása varázsló"
 
 #: ../gtk/setupwizard.c:575
 msgid "Configure your account (step 1/1)"
-msgstr ""
+msgstr "Az Ön fiókjának beállítása (1/1 lépés)"
 
 #: ../gtk/setupwizard.c:580
 msgid "Enter your sip username (step 1/1)"
-msgstr ""
+msgstr "Adja meg sip felhasználónevét (1/2 lépés)"
 
 #: ../gtk/setupwizard.c:584
 msgid "Enter account information (step 1/2)"
-msgstr ""
+msgstr "Adja meg a fiókinformációt (1/2 lépés)"
 
 #: ../gtk/setupwizard.c:593
 msgid "Validation (step 2/2)"
-msgstr ""
+msgstr "Érvényesítés (2/2 lépés)"
 
 #: ../gtk/setupwizard.c:598
 msgid "Error"
-msgstr ""
+msgstr "Hiba"
 
 #: ../gtk/setupwizard.c:602
 msgid "Terminating"
-msgstr ""
+msgstr "Befejezés"
 
 #: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94
-#, fuzzy, c-format
+#, c-format
 msgid "Call #%i"
-msgstr "Hivás előzmények"
+msgstr "Hívás #%i"
 
 #: ../gtk/incall_view.c:154
 #, c-format
 msgid "Transfer to call #%i with %s"
-msgstr ""
+msgstr "Átirányítás #%i híváshoz ezzel: %s "
 
 #: ../gtk/incall_view.c:210 ../gtk/incall_view.c:213
 msgid "Not used"
-msgstr ""
+msgstr "Nem használt"
 
 #: ../gtk/incall_view.c:220
 msgid "ICE not activated"
-msgstr ""
+msgstr "ICE nincs aktiválva"
 
 #: ../gtk/incall_view.c:222
-#, fuzzy
 msgid "ICE failed"
-msgstr "Hívás elutasítva"
+msgstr "ICE nem sikerült"
 
 #: ../gtk/incall_view.c:224
 msgid "ICE in progress"
-msgstr ""
+msgstr "ICE folyamatban"
 
 #: ../gtk/incall_view.c:226
 msgid "Going through one or more NATs"
-msgstr ""
+msgstr "Átmegy egy vagy több NAT-on"
 
 #: ../gtk/incall_view.c:228
-#, fuzzy
 msgid "Direct"
-msgstr "Átirányítva idw %s..."
+msgstr "Közvetlen"
 
 #: ../gtk/incall_view.c:230
 msgid "Through a relay server"
-msgstr ""
+msgstr "Közvetítő kiszolgálón keresztül"
 
 #: ../gtk/incall_view.c:238
 msgid "uPnP not activated"
-msgstr ""
+msgstr "uPnP nincs aktiválva"
 
 #: ../gtk/incall_view.c:240
-#, fuzzy
 msgid "uPnP in progress"
-msgstr "Stun keresés folyamatban..."
+msgstr "uPnP folyamatban"
 
 #: ../gtk/incall_view.c:242
-#, fuzzy
 msgid "uPnp not available"
-msgstr "Nem érhető el információ"
+msgstr "uPnP nem elérhető"
 
 #: ../gtk/incall_view.c:244
 msgid "uPnP is running"
-msgstr ""
+msgstr "uPnP fut"
 
 #: ../gtk/incall_view.c:246
-#, fuzzy
 msgid "uPnP failed"
-msgstr "Hívás elutasítva"
+msgstr "uPnP nem sikerült"
 
 #: ../gtk/incall_view.c:256 ../gtk/incall_view.c:257
 msgid "Direct or through server"
-msgstr ""
+msgstr "közvetlen vagy kiszolgálón keresztül"
 
 #: ../gtk/incall_view.c:259 ../gtk/incall_view.c:265
 #, c-format
@@ -600,327 +623,303 @@ msgid ""
 "download: %f\n"
 "upload: %f (kbit/s)"
 msgstr ""
+"letöltés: %f\n"
+"feltöltés: %f (kbit/mp)"
 
 #: ../gtk/incall_view.c:286
 #, c-format
 msgid "%.3f seconds"
-msgstr ""
+msgstr "%.3f másodperc"
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:12
 msgid "Hang up"
-msgstr ""
+msgstr "Befejezés"
 
-#: ../gtk/incall_view.c:477
-#, fuzzy
+#: ../gtk/incall_view.c:476
 msgid "<b>Calling...</b>"
-msgstr "Kapcsolatilista"
+msgstr "<b>Hívás folyamatban...</b>"
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479 ../gtk/incall_view.c:689
 msgid "00::00::00"
-msgstr ""
+msgstr "00::00::00"
 
-#: ../gtk/incall_view.c:491
-#, fuzzy
+#: ../gtk/incall_view.c:490
 msgid "<b>Incoming call</b>"
-msgstr "Beérkező hívás"
+msgstr "<b>Beérkező hívás</b>"
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
-msgstr ""
+msgstr ""
 
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
-msgstr ""
+msgstr "közepes"
 
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
-msgstr ""
+msgstr "gyenge"
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
-msgstr ""
+msgstr "nagyon gyenge"
 
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
-msgstr ""
+msgstr "rossz"
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536 ../gtk/incall_view.c:552
 msgid "unavailable"
-msgstr ""
+msgstr "nem elérhető"
 
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
-msgstr ""
+msgstr "SRTP-vel titkosítva"
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
-msgstr ""
+msgstr "ZRTP-vel titkosítva - [hitelesítési jel: %s]"
 
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
-msgstr ""
+msgstr "Beállítás ellenőrizetlenként"
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663 ../gtk/main.ui.h:4
 msgid "Set verified"
-msgstr ""
+msgstr "Beállítás ellenőrzöttként"
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
-msgstr ""
+msgstr "Konferencián"
 
-#: ../gtk/incall_view.c:685
-#, fuzzy
+#: ../gtk/incall_view.c:684
 msgid "<b>In call</b>"
-msgstr "Kapcsolatilista"
+msgstr "<b>vonalban</b>"
 
-#: ../gtk/incall_view.c:719
-#, fuzzy
+#: ../gtk/incall_view.c:718
 msgid "<b>Paused call</b>"
-msgstr "Kapcsolatilista"
+msgstr "<b>Várakoztatott hívás</b>"
 
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
-msgstr ""
+msgstr "%02i::%02i::%02i"
 
-#: ../gtk/incall_view.c:749
-#, fuzzy
+#: ../gtk/incall_view.c:748
 msgid "<b>Call ended.</b>"
-msgstr "Hívás vége"
+msgstr "<b>Hívás vége.</b>"
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
-msgstr ""
+msgstr "Átvitel folyamatban"
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 msgid "Transfer done."
-msgstr ""
+msgstr "Átvitel befejezve."
 
-#: ../gtk/incall_view.c:785
-#, fuzzy
+#: ../gtk/incall_view.c:784
 msgid "Transfer failed."
-msgstr "Hívás elutasítva"
+msgstr "Az átvitel sikertelen."
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
-msgstr ""
+msgstr "Visszatérés"
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835 ../gtk/main.ui.h:9
 msgid "Pause"
-msgstr ""
+msgstr "Várakoztatás"
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
+"<small><i>Felvétel a következőbe\n"
+"%s %s</i></small>"
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 msgid "(Paused)"
-msgstr ""
+msgstr "(Várakoztatva)"
 
 #: ../gtk/loginframe.c:93
 #, c-format
 msgid "Please enter login information for %s"
-msgstr ""
+msgstr "Kérem, adja meg a bejelentkezési információt %s -hoz"
 
 #: ../gtk/main.ui.h:1
-#, fuzzy
 msgid "<b>Callee name</b>"
-msgstr "Hívás vége"
+msgstr "<b>Hívott neve</b>"
 
 #: ../gtk/main.ui.h:2
-#, fuzzy
 msgid "Send"
-msgstr "Hang"
+msgstr "Küld"
 
 #: ../gtk/main.ui.h:3
 msgid "End conference"
-msgstr ""
-
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr ""
+msgstr "Konferencia vége"
 
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
-msgstr ""
+msgstr "Beszélgetés felvétele hangfájlba"
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
-msgstr ""
+msgstr "Videó"
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
-msgstr ""
+msgstr "Elnémítás"
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
-msgstr ""
+msgstr "Átvitel"
 
-#: ../gtk/main.ui.h:15
-#, fuzzy
+#: ../gtk/main.ui.h:14
 msgid "In call"
-msgstr "Beérkező hívás"
+msgstr "vonalban"
 
-#: ../gtk/main.ui.h:16
-#, fuzzy
+#: ../gtk/main.ui.h:15
 msgid "Duration"
-msgstr "Információk"
+msgstr "Időtartam"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
-msgstr ""
+msgstr "Hívásminőség"
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
-msgstr ""
+msgstr "_Beállítások"
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
-msgstr ""
+msgstr "Videó indítása mindig"
 
-#: ../gtk/main.ui.h:20
-#, fuzzy
+#: ../gtk/main.ui.h:19
 msgid "Enable self-view"
-msgstr "Video engedélyezés"
+msgstr "Saját nézet"
 
-#: ../gtk/main.ui.h:21
-#, fuzzy
+#: ../gtk/main.ui.h:20
 msgid "_Help"
-msgstr "Help"
+msgstr "_Segítség"
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 msgid "Show debug window"
-msgstr ""
+msgstr "Hibakeresési ablak mutatása"
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 msgid "_Homepage"
-msgstr ""
+msgstr "_Honlap"
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 msgid "Check _Updates"
-msgstr ""
+msgstr "Frissítések keresése"
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 msgid "Account assistant"
-msgstr ""
+msgstr "Fiók varázsló"
 
-#: ../gtk/main.ui.h:26
-#, fuzzy
+#: ../gtk/main.ui.h:25
 msgid "SIP address or phone number:"
-msgstr "Gépeld ide a sip címet vagy a telefonszámot"
+msgstr "Adja meg a SIP címet vagy a telefonszámot:"
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
-msgstr ""
+msgstr "Új hívás kezdeményezése"
 
-#: ../gtk/main.ui.h:28
-#, fuzzy
+#: ../gtk/main.ui.h:27
 msgid "Contacts"
-msgstr "Kapcsolódás"
+msgstr "Partnerek"
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28 ../gtk/parameters.ui.h:50
 msgid "Add"
-msgstr ""
+msgstr "Hozzáadás"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr "Szerkesztés"
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
-msgstr ""
+msgstr "Keresés"
 
-#: ../gtk/main.ui.h:32
-#, fuzzy
+#: ../gtk/main.ui.h:31
 msgid "<b>Add contacts from directory</b>"
-msgstr "Kapcsolatiinformáció"
+msgstr "<b>Partnerek hozzáadása könyvtárból</b>"
 
-#: ../gtk/main.ui.h:33
-#, fuzzy
+#: ../gtk/main.ui.h:32
 msgid "Add contact"
-msgstr "Kapcsolatinformációk szerkesztése"
+msgstr "Partner hozzáadása"
 
-#: ../gtk/main.ui.h:34
-#, fuzzy
+#: ../gtk/main.ui.h:33
 msgid "Recent calls"
-msgstr "Beérkező hívás"
+msgstr "Legutóbbi hívások"
 
-#: ../gtk/main.ui.h:35
-#, fuzzy
+#: ../gtk/main.ui.h:34
 msgid "My current identity:"
-msgstr "SIP azonosító:"
+msgstr "Jelenlegi identitásom:"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
-#, fuzzy
+#: ../gtk/main.ui.h:35 ../gtk/tunnel_config.ui.h:7
 msgid "Username"
-msgstr "felhasználónév:"
+msgstr "Felhasználónév"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
-#, fuzzy
+#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:8
 msgid "Password"
-msgstr "jelszó:"
+msgstr "Jelszó"
 
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
-msgstr ""
+msgstr "Internet kapcsolat:"
 
-#: ../gtk/main.ui.h:39
-#, fuzzy
+#: ../gtk/main.ui.h:38
 msgid "Automatically log me in"
-msgstr "Automatikus valós hostnév megállapítása"
+msgstr "Jelentkeztessen be automatikusan"
 
-#: ../gtk/main.ui.h:40
-#, fuzzy
+#: ../gtk/main.ui.h:39
 msgid "Login information"
-msgstr "Kapcsolatiinformáció"
+msgstr "Bejelentkezési információ"
 
-#: ../gtk/main.ui.h:41
-#, fuzzy
+#: ../gtk/main.ui.h:40
 msgid "<b>Welcome !</b>"
-msgstr "Kapcsolatilista"
+msgstr "<b>Üdvözöljük !</b>"
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
-msgstr ""
+msgstr "Minden felhasználó"
 
-#: ../gtk/main.ui.h:43
-#, fuzzy
+#: ../gtk/main.ui.h:42
 msgid "Online users"
 msgstr "Elérhető"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
-msgstr ""
+msgstr "ADSL"
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 msgid "Fiber Channel"
-msgstr ""
+msgstr "Fiber csatorna"
 
-#: ../gtk/main.ui.h:46
-#, fuzzy
+#: ../gtk/main.ui.h:45
 msgid "Default"
-msgstr "SIP azonosító:"
+msgstr "Alapértelmezett"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
-msgstr ""
+msgstr "Törlés"
 
 #: ../gtk/about.ui.h:1
-#, fuzzy
 msgid "About linphone"
-msgstr "linphone"
+msgstr "Linphone névjegy"
 
 #: ../gtk/about.ui.h:2
 msgid "(C) Belledonne Communications,2010\n"
-msgstr ""
+msgstr "(C) Belledonne Communications,2010\n"
 
 #: ../gtk/about.ui.h:4
 msgid "An internet video phone using the standard SIP (rfc3261) protocol."
 msgstr ""
+"Internetes videó telefon, mely a szabványos SIP (rfc3261) protokolt "
+"használja."
 
 #: ../gtk/about.ui.h:5
 msgid ""
@@ -936,342 +935,325 @@ msgid ""
 "cs: Petr Pisar <petr.pisar@atlas.cz>\n"
 "hu: anonymous\n"
 msgstr ""
+"francia: Simon Morlat\n"
+"angol: Simon Morlat és Delphine Perreau\n"
+"olasz: Alberto Zanoni <alberto.zanoni@-NO-SPAM-PLEASE!-tiscalinet.it>\n"
+"német: Jean-Jacques Sarton <jj.sarton@-NO-SPAM-PLEASE-t-online.de>\n"
+"svéd: Daniel Nylander <po@danielnylander.se>\n"
+"spanyol: Jesus Benitez <gnelson at inMail dot sk>\n"
+"japán: YAMAGUCHI YOSHIYA <yushiya@anet.ne.jp>\n"
+"brazil-portugál: Rafael Caesar Lenzi <rc_lenzi@yahoo.com.br>\n"
+"lengyel: Robert Nasiadek <darkone@darkone.pl>\n"
+"cseh: Petr Pisar <petr.pisar@atlas.cz>\n"
+"magyar: anonymous és Barczi Viktor <viktorbarczi@lavabit.com>\n"
 
 #: ../gtk/contact.ui.h:2
-#, fuzzy
 msgid "SIP Address"
-msgstr "Sip cím:"
+msgstr "SIP cím"
 
 #: ../gtk/contact.ui.h:3
 msgid "Show this contact presence status"
-msgstr ""
+msgstr "A partner jelenlétének mutatása"
 
 #: ../gtk/contact.ui.h:4
 msgid "Allow this contact to see my presence status"
-msgstr ""
+msgstr "Megengedem ennek a partnernek, hogy lássa a jelenlétemet"
 
 #: ../gtk/contact.ui.h:5
-#, fuzzy
 msgid "<b>Contact information</b>"
-msgstr "Kapcsolatiinformáció"
+msgstr "<b>Partner információ</b>"
 
 #: ../gtk/log.ui.h:1
 msgid "Linphone debug window"
-msgstr ""
+msgstr "Linphone Hibakereső Ablak"
 
 #: ../gtk/log.ui.h:2
 msgid "Scroll to end"
-msgstr ""
+msgstr "Görgetés a végéhez"
 
 #: ../gtk/password.ui.h:1
-#, fuzzy
 msgid "Linphone - Authentication required"
-msgstr "Hitelesítést kértek"
+msgstr "Linphone - Hitelesítés szükséges"
 
 #: ../gtk/password.ui.h:2
 msgid "Please enter the domain password"
-msgstr ""
+msgstr "Kérem adja meg a tartomány jelszavát"
 
 #: ../gtk/password.ui.h:3
 msgid "UserID"
-msgstr ""
+msgstr "Felhasználó azonosító"
 
 #: ../gtk/call_logs.ui.h:1
-#, fuzzy
 msgid "Call history"
-msgstr "Linphone - Híváselőzmények"
+msgstr "Híváselőzmények"
 
 #: ../gtk/call_logs.ui.h:2
 msgid "Clear all"
-msgstr ""
+msgstr "Mind törlése"
 
 #: ../gtk/call_logs.ui.h:3
-#, fuzzy
 msgid "Call back"
-msgstr "Hivás előzmények"
+msgstr "Visszahívás"
 
 #: ../gtk/sip_account.ui.h:1
 msgid "Linphone - Configure a SIP account"
-msgstr ""
+msgstr "Linphone - SIP fiók beállítása"
 
 #: ../gtk/sip_account.ui.h:2
-#, fuzzy
 msgid "Your SIP identity:"
-msgstr "SIP azonosító:"
+msgstr "Az Ön SIP azonosítója:"
 
 #: ../gtk/sip_account.ui.h:3
 msgid "Looks like sip:<username>@<domain>"
-msgstr ""
+msgstr "Így néz ki: sip:<felhasznalonev>@<tartomany>"
 
 #: ../gtk/sip_account.ui.h:4
 msgid "sip:"
 msgstr "sip:"
 
 #: ../gtk/sip_account.ui.h:5
-#, fuzzy
 msgid "SIP Proxy address:"
-msgstr "SIP Proxy:"
+msgstr "SIP Proxy cím:"
 
 #: ../gtk/sip_account.ui.h:6
 msgid "Looks like sip:<proxy hostname>"
-msgstr ""
+msgstr "Így néz ki: sip:<proxy hosztnév>"
 
 #: ../gtk/sip_account.ui.h:7
 msgid "Route (optional):"
 msgstr "Út (nem kötelező):"
 
 #: ../gtk/sip_account.ui.h:8
-#, fuzzy
 msgid "Registration duration (sec):"
-msgstr "Regisztrálási Időköz:"
+msgstr "Regisztrálási Időköz (mp):"
 
 #: ../gtk/sip_account.ui.h:9
 msgid "Register"
-msgstr ""
+msgstr "Regisztráció"
 
 #: ../gtk/sip_account.ui.h:10
-#, fuzzy
 msgid "Publish presence information"
-msgstr "Jelenléti információ közlése:"
+msgstr "Jelenléti információ közlése"
 
 #: ../gtk/sip_account.ui.h:11
 msgid "Configure a SIP account"
-msgstr ""
+msgstr "SIP fiók beállítása"
 
 #: ../gtk/parameters.ui.h:1
 msgid "default soundcard"
-msgstr ""
+msgstr "alapértelmezett hangkártya"
 
 #: ../gtk/parameters.ui.h:2
 msgid "a sound card"
-msgstr ""
+msgstr "egy hangkártya"
 
 #: ../gtk/parameters.ui.h:3
 msgid "default camera"
-msgstr ""
+msgstr "alapértelmezett kamera"
 
 #: ../gtk/parameters.ui.h:4
 msgid "CIF"
-msgstr ""
+msgstr "CIF"
 
 #: ../gtk/parameters.ui.h:5
-#, fuzzy
 msgid "Audio codecs"
-msgstr "Audio kodekek"
+msgstr "Audió kódekek"
 
 #: ../gtk/parameters.ui.h:6
-#, fuzzy
 msgid "Video codecs"
-msgstr "Audio kodekek"
+msgstr "Videó kódekek"
 
 #: ../gtk/parameters.ui.h:7 ../gtk/keypad.ui.h:5
 msgid "C"
-msgstr ""
+msgstr "C"
 
 #: ../gtk/parameters.ui.h:8
 msgid "SIP (UDP)"
-msgstr ""
+msgstr "SIP (UDP)"
 
 #: ../gtk/parameters.ui.h:9
 msgid "SIP (TCP)"
-msgstr ""
+msgstr "SIP (TCP)"
 
 #: ../gtk/parameters.ui.h:10
 msgid "SIP (TLS)"
-msgstr ""
+msgstr "SIP (TLS)"
 
 #: ../gtk/parameters.ui.h:11
 msgid "Settings"
-msgstr ""
+msgstr "Beállítások"
 
 #: ../gtk/parameters.ui.h:12
 msgid "Set Maximum Transmission Unit:"
-msgstr ""
+msgstr "Maximum Továbbítási Egység beállítása:"
 
 #: ../gtk/parameters.ui.h:13
 msgid "Send DTMFs as SIP info"
-msgstr ""
+msgstr "DTMF küldése SIP infóként"
 
 #: ../gtk/parameters.ui.h:14
 msgid "Use IPv6 instead of IPv4"
-msgstr ""
+msgstr "IPv6 használata IPv4 helyett"
 
 #: ../gtk/parameters.ui.h:15
-#, fuzzy
 msgid "<b>Transport</b>"
-msgstr "Kapcsolatilista"
+msgstr "<b>Átvitel</b>"
 
 #: ../gtk/parameters.ui.h:16
 msgid "Media encryption type"
-msgstr ""
+msgstr "Média titkosítás típusa"
 
 #: ../gtk/parameters.ui.h:17
 msgid "Video RTP/UDP:"
-msgstr ""
+msgstr "Videó RTP/UDP:"
 
 #: ../gtk/parameters.ui.h:18
 msgid "Audio RTP/UDP:"
-msgstr ""
+msgstr "Audió RTP/UDP:"
 
 #: ../gtk/parameters.ui.h:19
 msgid "DSCP fields"
-msgstr ""
+msgstr "DSCP mezők"
 
 #: ../gtk/parameters.ui.h:20
 msgid "Fixed"
-msgstr ""
+msgstr "Javítva"
 
 #: ../gtk/parameters.ui.h:21
 msgid "Tunnel"
-msgstr ""
+msgstr "Alagút"
 
 #: ../gtk/parameters.ui.h:22
 msgid "Media encryption is mandatory"
-msgstr ""
+msgstr "Média titkosítás kötelező"
 
 #: ../gtk/parameters.ui.h:23
 msgid "<b>Network protocol and ports</b>"
-msgstr ""
+msgstr "<b>Hálózati protokoll és port</b>"
 
 #: ../gtk/parameters.ui.h:24
 msgid "Direct connection to the Internet"
-msgstr ""
+msgstr "Közvetlen Internet kapcsolat"
 
 #: ../gtk/parameters.ui.h:25
 msgid "Behind NAT / Firewall (specify gateway IP below)"
-msgstr ""
+msgstr "NAT / tűzfal mögött (adja meg az átjáró IP címét)"
 
 #: ../gtk/parameters.ui.h:26
-#, fuzzy
 msgid "Public IP address:"
-msgstr "Sip cím:"
+msgstr "Publikus IP cím:"
 
 #: ../gtk/parameters.ui.h:27
 msgid "Behind NAT / Firewall (use STUN to resolve)"
-msgstr ""
+msgstr "NAT / tűzfal mögött (STUN használata a feloldáshoz)"
 
 #: ../gtk/parameters.ui.h:28
 msgid "Behind NAT / Firewall (use ICE)"
-msgstr ""
+msgstr "NAT / tűzfal mögött (ICE használata)"
 
 #: ../gtk/parameters.ui.h:29
 msgid "Behind NAT / Firewall (use uPnP)"
-msgstr ""
+msgstr "NAT / tűzfal mögött (uPnP használata)"
 
 #: ../gtk/parameters.ui.h:30
-#, fuzzy
 msgid "Stun server:"
-msgstr "Hang eszköz"
+msgstr "STUN kiszolgáló:"
 
 #: ../gtk/parameters.ui.h:31
-#, fuzzy
 msgid "<b>NAT and Firewall</b>"
-msgstr "Kapcsolatilista"
+msgstr "<b>NAT és tűzfal</b>"
 
 #: ../gtk/parameters.ui.h:32
-#, fuzzy
 msgid "Network settings"
-msgstr "Hálózat"
+msgstr "Hálózati beállítások"
 
 #: ../gtk/parameters.ui.h:33
-#, fuzzy
 msgid "Ring sound:"
 msgstr "Csengőhang:"
 
 #: ../gtk/parameters.ui.h:34
 msgid "ALSA special device (optional):"
-msgstr ""
+msgstr "Különleges ALSA eszköz (nem kötelező):"
 
 #: ../gtk/parameters.ui.h:35
-#, fuzzy
 msgid "Capture device:"
 msgstr "Felvevő hang eszköz:"
 
 #: ../gtk/parameters.ui.h:36
-#, fuzzy
 msgid "Ring device:"
-msgstr "Csengőhang forrás:"
+msgstr "Csengőhang eszköz:"
 
 #: ../gtk/parameters.ui.h:37
-#, fuzzy
 msgid "Playback device:"
 msgstr "Lejátszó hang eszköz:"
 
 #: ../gtk/parameters.ui.h:38
 msgid "Enable echo cancellation"
-msgstr ""
+msgstr "Visszhang-elnyomás engedélyezése"
 
 #: ../gtk/parameters.ui.h:39
-#, fuzzy
 msgid "<b>Audio</b>"
-msgstr "Kapcsolatilista"
+msgstr "<b>Audió</b>"
 
 #: ../gtk/parameters.ui.h:40
-#, fuzzy
 msgid "Video input device:"
-msgstr "Hang eszköz"
+msgstr "Videó bemeneti eszköz:"
 
 #: ../gtk/parameters.ui.h:41
 msgid "Prefered video resolution:"
-msgstr ""
+msgstr "Kívánt videó felbontás:"
 
 #: ../gtk/parameters.ui.h:42
-#, fuzzy
 msgid "<b>Video</b>"
-msgstr "Kapcsolatilista"
+msgstr "<b>Videó</b>"
 
 #: ../gtk/parameters.ui.h:43
 msgid "Multimedia settings"
-msgstr ""
+msgstr "Multimédia beállítások"
 
 #: ../gtk/parameters.ui.h:44
 msgid "This section defines your SIP address when not using a SIP account"
-msgstr ""
+msgstr "Ez a rész határozza meg az Ön SIP címét, amikor nem használ SIP fiókot"
 
 #: ../gtk/parameters.ui.h:45
 msgid "Your display name (eg: John Doe):"
-msgstr ""
+msgstr "Az Ön megjelenített neve (pl. Kis József):"
 
 #: ../gtk/parameters.ui.h:46
-#, fuzzy
 msgid "Your username:"
-msgstr "felhasználónév:"
+msgstr "Az Ön felhasználóneve:"
 
 #: ../gtk/parameters.ui.h:47
-#, fuzzy
 msgid "Your resulting SIP address:"
-msgstr "Saját sip cím:"
+msgstr "Az Ön így keletkezett SIP címe:"
 
 #: ../gtk/parameters.ui.h:48
-#, fuzzy
 msgid "<b>Default identity</b>"
-msgstr "SIP azonosító:"
+msgstr "<b>Alapértelmezett identitás</b>"
 
 #: ../gtk/parameters.ui.h:49
 msgid "Wizard"
-msgstr ""
+msgstr "Varázsló"
 
 #: ../gtk/parameters.ui.h:52
 msgid "Remove"
 msgstr "Eltávolítás"
 
 #: ../gtk/parameters.ui.h:53
-#, fuzzy
 msgid "<b>Proxy accounts</b>"
-msgstr "Kapcsolatilista"
+msgstr "<b>Proxy fiókok</b>"
 
 #: ../gtk/parameters.ui.h:54
 msgid "Erase all passwords"
-msgstr ""
+msgstr "Minden kulcsszó törlése"
 
 #: ../gtk/parameters.ui.h:55
-#, fuzzy
 msgid "<b>Privacy</b>"
-msgstr "Kapcsolatilista"
+msgstr "<b>Titoktartás</b>"
 
 #: ../gtk/parameters.ui.h:56
 msgid "Manage SIP Accounts"
-msgstr ""
+msgstr "SIP fiókok beállítása"
 
 #: ../gtk/parameters.ui.h:57 ../gtk/tunnel_config.ui.h:4
 msgid "Enable"
@@ -1282,80 +1264,72 @@ msgid "Disable"
 msgstr "Tiltás"
 
 #: ../gtk/parameters.ui.h:59
-#, fuzzy
 msgid "<b>Codecs</b>"
-msgstr "Kapcsolatilista"
+msgstr "<b>Kódekek</b>"
 
 #: ../gtk/parameters.ui.h:60
 msgid "0 stands for \"unlimited\""
-msgstr ""
+msgstr "A 0 jelentése \"végtelen\""
 
 #: ../gtk/parameters.ui.h:61
-#, fuzzy
 msgid "Upload speed limit in Kbit/sec:"
-msgstr "Feltöltési sávszélesség (kbit/sec):"
+msgstr "Feltöltési sebesség korlát (kbit/mp):"
 
 #: ../gtk/parameters.ui.h:62
-#, fuzzy
 msgid "Download speed limit in Kbit/sec:"
-msgstr "Letöltési sávszélesség (kbit/sec):"
+msgstr "Letöltési sebesség korlát (kbit/mp):"
 
 #: ../gtk/parameters.ui.h:63
 msgid "Enable adaptive rate control"
-msgstr ""
+msgstr "Alkalmazkodó mérték-szabályozás engedélyezése"
 
 #: ../gtk/parameters.ui.h:64
 msgid ""
 "<i>Adaptive rate control is a technique to dynamically guess the available "
 "bandwidth during a call.</i>"
 msgstr ""
+"<i>Az alkalmazkodó mérték-szabályozás egy módszer, mely erőteljesen próbálja "
+"megállapítani a rendelkezésre álló sávszélességet hívás alatt.</i>"
 
 #: ../gtk/parameters.ui.h:65
 msgid "<b>Bandwidth control</b>"
-msgstr ""
+msgstr "<b>Sávszélesség szabályozása</b>"
 
 #: ../gtk/parameters.ui.h:66
-#, fuzzy
 msgid "Codecs"
-msgstr "Kodekek"
+msgstr "Kódekek"
 
 #: ../gtk/parameters.ui.h:67
-#, fuzzy
 msgid "<b>Language</b>"
-msgstr "Kapcsolatilista"
+msgstr "<b>Nyelv</b>"
 
 #: ../gtk/parameters.ui.h:68
 msgid "Show advanced settings"
-msgstr ""
+msgstr "Haladó beállítások megjelenítése"
 
 #: ../gtk/parameters.ui.h:69
-#, fuzzy
 msgid "<b>Level</b>"
-msgstr "Kapcsolatilista"
+msgstr "<b>Szint</b>"
 
 #: ../gtk/parameters.ui.h:70
-#, fuzzy
 msgid "User interface"
-msgstr "felhasználónév:"
+msgstr "Felhasználói környezet"
 
 #: ../gtk/parameters.ui.h:71
-#, fuzzy
 msgid "Done"
-msgstr "Elveszítve"
+msgstr "Kész"
 
 #: ../gtk/buddylookup.ui.h:1
-#, fuzzy
 msgid "Search contacts in directory"
-msgstr "Kapcsolatiinformáció"
+msgstr "Partnerek keresése könyvtárban"
 
 #: ../gtk/buddylookup.ui.h:2
 msgid "Add to my list"
-msgstr ""
+msgstr "Hozzáadása a listámhoz"
 
 #: ../gtk/buddylookup.ui.h:3
-#, fuzzy
 msgid "<b>Search somebody</b>"
-msgstr "Kapcsolatilista"
+msgstr "<b>Keres valakit</b>"
 
 #: ../gtk/waiting.ui.h:1
 msgid "Linphone"
@@ -1363,12 +1337,11 @@ msgstr "Linphone"
 
 #: ../gtk/waiting.ui.h:2
 msgid "Please wait"
-msgstr ""
+msgstr "Kérem várjon"
 
 #: ../gtk/dscp_settings.ui.h:1
-#, fuzzy
 msgid "Dscp settings"
-msgstr "Hálózat"
+msgstr "DSCP beállítások"
 
 #: ../gtk/dscp_settings.ui.h:2
 msgid "SIP"
@@ -1376,80 +1349,75 @@ msgstr "SIP"
 
 #: ../gtk/dscp_settings.ui.h:3
 msgid "Audio RTP stream"
-msgstr ""
+msgstr "Audió RTP folyam"
 
 #: ../gtk/dscp_settings.ui.h:4
 msgid "Video RTP stream"
-msgstr ""
+msgstr "Videó RTP folyam"
 
 #: ../gtk/dscp_settings.ui.h:5
 msgid "<b>Set DSCP values (in hexadecimal)</b>"
-msgstr ""
+msgstr "<b>DSCP értékek beállítása (hexadecimális)</b>"
 
 #: ../gtk/call_statistics.ui.h:1
-#, fuzzy
 msgid "Call statistics"
-msgstr "Hivás előzmények"
+msgstr "Hívási statisztika"
 
 #: ../gtk/call_statistics.ui.h:2
-#, fuzzy
 msgid "Audio codec"
-msgstr "Audio kodekek"
+msgstr "Audió kódek"
 
 #: ../gtk/call_statistics.ui.h:3
-#, fuzzy
 msgid "Video codec"
-msgstr "Audio kodekek"
+msgstr "Videó kódek"
 
 #: ../gtk/call_statistics.ui.h:4
 msgid "Audio IP bandwidth usage"
-msgstr ""
+msgstr "Audió IP sávszélesség használat"
 
 #: ../gtk/call_statistics.ui.h:5
 msgid "Audio Media connectivity"
-msgstr ""
+msgstr "Audió média kapcsolat"
 
 #: ../gtk/call_statistics.ui.h:6
 msgid "Video IP bandwidth usage"
-msgstr ""
+msgstr "Videó IP sávszélesség használat"
 
 #: ../gtk/call_statistics.ui.h:7
 msgid "Video Media connectivity"
-msgstr ""
+msgstr "Videó média kapcsolat"
 
 #: ../gtk/call_statistics.ui.h:8
-#, fuzzy
 msgid "Round trip time"
-msgstr "Hang beállítások"
+msgstr "Körbeérés ideje"
 
 #: ../gtk/call_statistics.ui.h:9
-#, fuzzy
 msgid "<b>Call statistics and information</b>"
-msgstr "Kapcsolatiinformáció"
+msgstr "<b>Hívási statisztika és információ</b>"
 
 #: ../gtk/tunnel_config.ui.h:1
 msgid "Configure VoIP tunnel"
-msgstr ""
+msgstr "VoIP alagút beállítása"
 
 #: ../gtk/tunnel_config.ui.h:2
 msgid "Host"
-msgstr ""
+msgstr "Hoszt"
 
 #: ../gtk/tunnel_config.ui.h:3
 msgid "Port"
-msgstr ""
+msgstr "Port"
 
 #: ../gtk/tunnel_config.ui.h:6
 msgid "<b>Configure tunnel</b>"
-msgstr ""
+msgstr "<b>Alagút beállítása</b>"
 
 #: ../gtk/tunnel_config.ui.h:9
 msgid "<b>Configure http proxy (optional)</b>"
-msgstr ""
+msgstr "<b>http proxy beállítása (nem kötelező)</b>"
 
 #: ../gtk/keypad.ui.h:1
 msgid "D"
-msgstr ""
+msgstr "D"
 
 #: ../gtk/keypad.ui.h:2
 msgid "#"
@@ -1465,23 +1433,23 @@ msgstr "*"
 
 #: ../gtk/keypad.ui.h:6
 msgid "9"
-msgstr ""
+msgstr "9"
 
 #: ../gtk/keypad.ui.h:7
 msgid "8"
-msgstr ""
+msgstr "8"
 
 #: ../gtk/keypad.ui.h:8
 msgid "7"
-msgstr ""
+msgstr "7"
 
 #: ../gtk/keypad.ui.h:9
 msgid "B"
-msgstr ""
+msgstr "B"
 
 #: ../gtk/keypad.ui.h:10
 msgid "6"
-msgstr ""
+msgstr "6"
 
 #: ../gtk/keypad.ui.h:11
 msgid "5"
@@ -1489,19 +1457,19 @@ msgstr "5"
 
 #: ../gtk/keypad.ui.h:12
 msgid "4"
-msgstr ""
+msgstr "4"
 
 #: ../gtk/keypad.ui.h:13
 msgid "A"
-msgstr ""
+msgstr "A"
 
 #: ../gtk/keypad.ui.h:14
 msgid "3"
-msgstr ""
+msgstr "3"
 
 #: ../gtk/keypad.ui.h:15
 msgid "2"
-msgstr ""
+msgstr "2"
 
 #: ../gtk/keypad.ui.h:16
 msgid "1"
@@ -1538,7 +1506,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr "Kimenő hívás"
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 msgid "Ready"
 msgstr "Kész"
 
@@ -1562,49 +1530,44 @@ msgid "Contacting"
 msgstr "Kapcsolódás"
 
 #: ../coreapi/linphonecore.c:2439
-#, fuzzy
 msgid "Could not call"
-msgstr "nem sikerült hívni"
+msgstr "Nem sikerült hívni"
 
 #: ../coreapi/linphonecore.c:2549
 msgid "Sorry, we have reached the maximum number of simultaneous calls"
-msgstr ""
+msgstr "Elnézést, elértük a egyidejű hívások maximális számát"
 
 #: ../coreapi/linphonecore.c:2731
-#, fuzzy
 msgid "is contacting you"
-msgstr "kapcsolatba lép veled."
+msgstr "kapcsolatba lépett veled."
 
 #: ../coreapi/linphonecore.c:2732
 msgid " and asked autoanswer."
-msgstr ""
+msgstr "és automatikus választ kért."
 
 #: ../coreapi/linphonecore.c:2732
 msgid "."
-msgstr ""
+msgstr "."
 
 #: ../coreapi/linphonecore.c:2799
 msgid "Modifying call parameters..."
-msgstr ""
+msgstr "A hívási jellemzők módosítása..."
 
 #: ../coreapi/linphonecore.c:3138
 msgid "Connected."
 msgstr "Kapcsolódva."
 
 #: ../coreapi/linphonecore.c:3166
-#, fuzzy
 msgid "Call aborted"
-msgstr "megszakítva"
+msgstr "Hívás megszakítva"
 
-#: ../coreapi/linphonecore.c:3351
-#, fuzzy
+#: ../coreapi/linphonecore.c:3357
 msgid "Could not pause the call"
-msgstr "nem sikerült hívni"
+msgstr "Nem sikerült várakoztatni a hívást"
 
-#: ../coreapi/linphonecore.c:3356
-#, fuzzy
+#: ../coreapi/linphonecore.c:3362
 msgid "Pausing the current call..."
-msgstr "nem sikerült hívni"
+msgstr "Jelenlegi hívás várakoztatásának aktiválása..."
 
 #: ../coreapi/misc.c:148
 msgid ""
@@ -1636,7 +1599,7 @@ msgstr "Stun keresés folyamatban..."
 
 #: ../coreapi/misc.c:630
 msgid "ICE local candidates gathering in progress..."
-msgstr ""
+msgstr "ICE helyi jelentkezők begyűjtése folyamatban..."
 
 #: ../coreapi/friend.c:33
 msgid "Online"
@@ -1647,21 +1610,18 @@ msgid "Busy"
 msgstr "Foglalt"
 
 #: ../coreapi/friend.c:39
-#, fuzzy
 msgid "Be right back"
-msgstr "Legyen igazad"
+msgstr "Mindjárt visszajön"
 
 #: ../coreapi/friend.c:42
 msgid "Away"
 msgstr "Nem elérhető"
 
 #: ../coreapi/friend.c:45
-#, fuzzy
 msgid "On the phone"
-msgstr "Telefonál"
+msgstr "Vonalban"
 
 #: ../coreapi/friend.c:48
-#, fuzzy
 msgid "Out to lunch"
 msgstr "Ebédelni ment"
 
@@ -1670,170 +1630,168 @@ msgid "Do not disturb"
 msgstr "Ne zavarj"
 
 #: ../coreapi/friend.c:54
-#, fuzzy
 msgid "Moved"
-msgstr "Kodekek"
+msgstr "Elment"
 
 #: ../coreapi/friend.c:57
 msgid "Using another messaging service"
-msgstr ""
+msgstr "Másik üzenő szolgáltatás használata"
 
 #: ../coreapi/friend.c:60
-#, fuzzy
 msgid "Offline"
-msgstr "Elérhető"
+msgstr "Nem elérhető"
 
 #: ../coreapi/friend.c:63
 msgid "Pending"
-msgstr ""
+msgstr "Függőben"
 
 #: ../coreapi/friend.c:66
 msgid "Unknown-bug"
-msgstr ""
+msgstr "Ismeretlen programhiba"
 
 #: ../coreapi/proxy.c:204
 msgid ""
 "The sip proxy address you entered is invalid, it must start with \"sip:\" "
 "followed by a hostname."
 msgstr ""
+"Az Ön által megadott SIP proxy cím érvénytelen. \"sip:\"-tal kell kezdődnie, "
+"ezt egy hosztnév követi."
 
 #: ../coreapi/proxy.c:210
 msgid ""
 "The sip identity you entered is invalid.\n"
 "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:1068
-#, fuzzy, c-format
+#: ../coreapi/proxy.c:1069
+#, c-format
 msgid "Could not login as %s"
-msgstr "Nemtalálható a pixmap fájl: %s"
+msgstr "Nem sikerült belépni ezzel: %s"
 
-#: ../coreapi/callbacks.c:283
-#, fuzzy
+#: ../coreapi/callbacks.c:286
 msgid "Remote ringing."
-msgstr "Távoli szolgáltatások"
+msgstr "Távoli csengés."
 
-#: ../coreapi/callbacks.c:303
-#, fuzzy
+#: ../coreapi/callbacks.c:306
 msgid "Remote ringing..."
-msgstr "Távoli szolgáltatások"
+msgstr "Távoli csengés..."
 
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
 msgstr "Korai médiák."
 
-#: ../coreapi/callbacks.c:365
-#, fuzzy, c-format
+#: ../coreapi/callbacks.c:368
+#, c-format
 msgid "Call with %s is paused."
-msgstr "Chat-elés %s -el"
+msgstr "A hívás a következővel: %s várakoztatva"
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
-msgstr ""
+msgstr "%s fogadta a hívást - várakoztatva."
 
-#: ../coreapi/callbacks.c:389
-#, fuzzy
+#: ../coreapi/callbacks.c:392
 msgid "Call resumed."
-msgstr "Hívás vége"
+msgstr "Hívás visszatért"
 
-#: ../coreapi/callbacks.c:394
-#, fuzzy, c-format
+#: ../coreapi/callbacks.c:397
+#, c-format
 msgid "Call answered by %s."
-msgstr ""
-"Hívás vagy\n"
-"Válasz"
+msgstr "%s válaszolt a hívásra."
 
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 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:457
+#: ../coreapi/callbacks.c:460
 msgid "We have been resumed."
-msgstr ""
+msgstr "Visszatértünk."
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
-msgstr ""
+msgstr "Megállítva a másik fél által."
 
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 msgid "Call is updated by remote."
-msgstr ""
+msgstr "A hívás távolról frissítve."
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 msgid "Call terminated."
 msgstr "A hívás befejezve."
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "A felhasználó foglalt."
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "A felhasználó ideiglenesen nem elérhető"
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr "A felhasználó nem akarja, hogy zavarják."
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr "Hívás elutasítva"
 
-#: ../coreapi/callbacks.c:568
-#, fuzzy
+#: ../coreapi/callbacks.c:571
 msgid "No response."
-msgstr "időtúllépés után nincs válasz"
+msgstr "Nincs válasz."
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
-msgstr ""
+msgstr "Protokol hiba."
 
-#: ../coreapi/callbacks.c:588
-#, fuzzy
+#: ../coreapi/callbacks.c:591
 msgid "Redirected"
-msgstr "Átirányítva idw %s..."
+msgstr "Átirányítva"
 
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 msgid "Incompatible media parameters."
-msgstr ""
+msgstr "Nem kompatibilis médiajellemzők."
 
-#: ../coreapi/callbacks.c:630
-#, fuzzy
+#: ../coreapi/callbacks.c:633
 msgid "Call failed."
-msgstr "Hívás elutasítva"
+msgstr "Nem sikerült a hívás."
 
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, c-format
 msgid "Registration on %s successful."
 msgstr "A regisztáció a %s -n sikerült."
 
-#: ../coreapi/callbacks.c:734
-#, fuzzy, c-format
+#: ../coreapi/callbacks.c:738
+#, c-format
 msgid "Unregistration on %s done."
-msgstr "A regisztáció a %s -n sikerült."
+msgstr "A kiregisztrálás kész a következőn: %s ."
 
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr "időtúllépés után nincs válasz"
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, c-format
 msgid "Registration on %s failed: %s"
 msgstr "A regisztáció a %s -n nem sikerült: %s"
 
 #: ../coreapi/linphonecall.c:129
-#, fuzzy, c-format
+#, c-format
 msgid "Authentication token is %s"
-msgstr "Hitelesítési információ"
+msgstr "Hitelesítési jel: %s"
 
-#: ../coreapi/linphonecall.c:2314
-#, fuzzy, c-format
+#: ../coreapi/linphonecall.c:2319
+#, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
-msgstr[0] "Van %i elhibázott hivás."
-msgstr[1] "Van %i elhibázott hivás."
+msgstr[0] "Van %i nem fogadott hivás."
+
+#~ msgid "label"
+#~ msgstr "címke"
 
 #~ msgid "Chat with %s"
 #~ msgstr "Chat-elés %s -el"
index 9e9a1183d68352f8e1dd342d07f08281b289d8b4..f1c29e8b063e3d9b79ad5ff3dfd6c9632500c938 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Linphone 3.2.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
 "PO-Revision-Date: 2002-10-15 HO:MI+ZONE\n"
 "Last-Translator: Matteo Piazza <matteo.piazza@trentinonetwork.it>\n"
 "Language-Team: it <it@li.org>\n"
@@ -15,54 +15,74 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../gtk/calllogs.c:82
+#: ../gtk/calllogs.c:139 ../gtk/friendlist.c:922
+#, c-format
+msgid "Call %s"
+msgstr "Chiamata %s"
+
+#: ../gtk/calllogs.c:140 ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr "Invia testo a %s"
+
+#: ../gtk/calllogs.c:223
+#, fuzzy, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "<b>In chiamata con</b>"
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
 msgstr ""
 
-#: ../gtk/calllogs.c:85
+#: ../gtk/calllogs.c:303
 #, fuzzy
 msgid "Aborted"
 msgstr "annullato"
 
-#: ../gtk/calllogs.c:88
+#: ../gtk/calllogs.c:306
 #, fuzzy
 msgid "Missed"
 msgstr "mancante"
 
-#: ../gtk/calllogs.c:91
+#: ../gtk/calllogs.c:309
 #, fuzzy
 msgid "Declined"
 msgstr "Rifiuta"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../gtk/calllogs.c:103
+#: ../gtk/calllogs.c:321 ../gtk/calllogs.c:327
+#, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+
+#: ../gtk/calllogs.c:323
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
-"%s\t%s %s\t"
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
 
-#: ../gtk/calllogs.c:108
+#: ../gtk/calllogs.c:329
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38 ../gtk/main.ui.h:13
 msgid "Conference"
 msgstr ""
 
@@ -78,42 +98,46 @@ msgstr ""
 msgid "Couldn't find pixmap file: %s"
 msgstr ""
 
-#: ../gtk/main.c:88
+#: ../gtk/chat.c:324 ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr "Contatto SIP non valido"
+
+#: ../gtk/main.c:92
 msgid "log to stdout some debug information while running."
 msgstr ""
 
-#: ../gtk/main.c:95
+#: ../gtk/main.c:99
 msgid "path to a file to write logs into."
 msgstr ""
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
 msgstr ""
 
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 msgid "Start only in the system tray, do not show the main interface."
 msgstr ""
 
-#: ../gtk/main.c:116
+#: ../gtk/main.c:120
 msgid "address to call right now"
 msgstr ""
 
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 msgid "if set automatically answer incoming calls"
 msgstr ""
 
-#: ../gtk/main.c:130
+#: ../gtk/main.c:134
 msgid ""
 "Specifiy a working directory (should be the base of the installation, eg: c:"
 "\\Program Files\\Linphone)"
 msgstr ""
 
-#: ../gtk/main.c:510
+#: ../gtk/main.c:515
 #, fuzzy, c-format
 msgid "Call with %s"
 msgstr "Chat con %s"
 
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
@@ -125,128 +149,119 @@ msgstr ""
 "veda il tuo stato o aggiungerlo alla tua lista dei contatti Se rispondi no "
 "questo utente sarà momentaneamente bloccato."
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
 " at domain <i>%s</i>:"
 msgstr "Prego inserire la password per username <i>%s</i> e dominio <i>%s<i>"
 
-#: ../gtk/main.c:1121
+#: ../gtk/main.c:1126
 #, fuzzy
 msgid "Call error"
 msgstr "Cronologia"
 
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129 ../coreapi/linphonecore.c:3189
 msgid "Call ended"
 msgstr "Chiamata terminata"
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132 ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr "Chimata in entrata"
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134 ../gtk/incall_view.c:497 ../gtk/main.ui.h:5
 msgid "Answer"
 msgstr ""
 
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
+#: ../gtk/main.c:1136 ../gtk/main.ui.h:6
 msgid "Decline"
 msgstr "Rifiuta"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy
 msgid "Call paused"
 msgstr "annullato"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy, c-format
 msgid "<b>by %s</b>"
 msgstr "<b>Porte</b>"
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, c-format
 msgid "%s proposed to start video. Do you accept ?"
 msgstr ""
 
-#: ../gtk/main.c:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
 msgstr ""
 
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
 msgstr ""
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
 msgstr "%s (Default)"
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796 ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
 msgstr ""
 
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 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:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr ""
 
-#: ../gtk/friendlist.c:366
+#: ../gtk/friendlist.c:469
 msgid "Add to addressbook"
 msgstr ""
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 msgid "Presence status"
 msgstr "Presenza"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "Nome"
 
-#: ../gtk/friendlist.c:569
+#: ../gtk/friendlist.c:673
 #, fuzzy
 msgid "Call"
 msgstr "Chiamata %s"
 
-#: ../gtk/friendlist.c:574
+#: ../gtk/friendlist.c:678
 msgid "Chat"
 msgstr ""
 
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
 msgstr "Cerca contatti nella directory %s"
 
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr "Contatto SIP non valido"
-
-#: ../gtk/friendlist.c:807
-#, c-format
-msgid "Call %s"
-msgstr "Chiamata %s"
-
-#: ../gtk/friendlist.c:808
-#, c-format
-msgid "Send text to %s"
-msgstr "Invia testo a %s"
-
-#: ../gtk/friendlist.c:809
+#: ../gtk/friendlist.c:924
 #, c-format
 msgid "Edit contact '%s'"
 msgstr "Modifica contatto %s"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
 msgstr "Elimina contatto %s"
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:926
+#, fuzzy, c-format
+msgid "Delete chat history of '%s'"
+msgstr "Elimina contatto %s"
+
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
 msgstr "Aggiungi nuovo contatto dalla directory %s"
@@ -347,20 +362,24 @@ msgstr ""
 msgid "Hebrew"
 msgstr ""
 
-#: ../gtk/propertybox.c:847
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
+msgstr ""
+
+#: ../gtk/propertybox.c:848
 msgid ""
 "You need to restart linphone for the new language selection to take effect."
 msgstr "Riavviare il software per utilizzare la nuova lingua selezionata"
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 msgid "None"
 msgstr ""
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
 msgstr ""
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
 msgstr ""
 
@@ -612,117 +631,117 @@ msgstr ""
 msgid "%.3f seconds"
 msgstr ""
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:12
 msgid "Hang up"
 msgstr ""
 
-#: ../gtk/incall_view.c:477
+#: ../gtk/incall_view.c:476
 #, fuzzy
 msgid "<b>Calling...</b>"
 msgstr "<b>Linguaggio</b>"
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479 ../gtk/incall_view.c:689
 msgid "00::00::00"
 msgstr ""
 
-#: ../gtk/incall_view.c:491
+#: ../gtk/incall_view.c:490
 #, fuzzy
 msgid "<b>Incoming call</b>"
 msgstr "Chimata in entrata"
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
 msgstr ""
 
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
 msgstr ""
 
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
 msgstr ""
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536 ../gtk/incall_view.c:552
 msgid "unavailable"
 msgstr ""
 
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
 msgstr ""
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
 msgstr ""
 
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
 msgstr ""
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663 ../gtk/main.ui.h:4
 msgid "Set verified"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 #, fuzzy
 msgid "<b>In call</b>"
 msgstr "<b>In chiamata con</b>"
 
-#: ../gtk/incall_view.c:719
+#: ../gtk/incall_view.c:718
 #, fuzzy
 msgid "<b>Paused call</b>"
 msgstr "<b>Termina chiamata</b>"
 
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
 msgstr ""
 
-#: ../gtk/incall_view.c:749
+#: ../gtk/incall_view.c:748
 msgid "<b>Call ended.</b>"
 msgstr "<b>Chiamata terminata.</b>"
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
 msgstr ""
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 msgid "Transfer done."
 msgstr ""
 
-#: ../gtk/incall_view.c:785
+#: ../gtk/incall_view.c:784
 #, fuzzy
 msgid "Transfer failed."
 msgstr "Chiamata rifiutata"
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
 msgstr ""
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835 ../gtk/main.ui.h:9
 msgid "Pause"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 msgid "(Paused)"
 msgstr ""
 
@@ -744,167 +763,163 @@ msgstr "Invia"
 msgid "End conference"
 msgstr ""
 
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr "etichetta"
-
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
 msgstr ""
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
 msgstr ""
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
 msgstr ""
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
 msgstr ""
 
-#: ../gtk/main.ui.h:15
+#: ../gtk/main.ui.h:14
 msgid "In call"
 msgstr "In chiamata"
 
-#: ../gtk/main.ui.h:16
+#: ../gtk/main.ui.h:15
 msgid "Duration"
 msgstr "Durata"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
 msgstr ""
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
 msgstr ""
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
 msgstr ""
 
-#: ../gtk/main.ui.h:20
+#: ../gtk/main.ui.h:19
 msgid "Enable self-view"
 msgstr "Self-view abilitato"
 
-#: ../gtk/main.ui.h:21
+#: ../gtk/main.ui.h:20
 msgid "_Help"
 msgstr ""
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 #, fuzzy
 msgid "Show debug window"
 msgstr "Linphone debug window"
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 msgid "_Homepage"
 msgstr ""
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 msgid "Check _Updates"
 msgstr ""
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 #, fuzzy
 msgid "Account assistant"
 msgstr "Configuratore di account"
 
-#: ../gtk/main.ui.h:26
+#: ../gtk/main.ui.h:25
 msgid "SIP address or phone number:"
 msgstr "Indirizzo sip o numero."
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
 msgstr ""
 
-#: ../gtk/main.ui.h:28
+#: ../gtk/main.ui.h:27
 #, fuzzy
 msgid "Contacts"
 msgstr "In connessione"
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28 ../gtk/parameters.ui.h:50
 msgid "Add"
 msgstr "Aggiungi"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr "Edita"
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
 msgstr ""
 
-#: ../gtk/main.ui.h:32
+#: ../gtk/main.ui.h:31
 #, fuzzy
 msgid "<b>Add contacts from directory</b>"
 msgstr "Aggiungi nuovo contatto dalla directory %s"
 
-#: ../gtk/main.ui.h:33
+#: ../gtk/main.ui.h:32
 #, fuzzy
 msgid "Add contact"
 msgstr "Trovato %i contatto"
 
-#: ../gtk/main.ui.h:34
+#: ../gtk/main.ui.h:33
 #, fuzzy
 msgid "Recent calls"
 msgstr "In chiamata"
 
-#: ../gtk/main.ui.h:35
+#: ../gtk/main.ui.h:34
 msgid "My current identity:"
 msgstr "Identità corrente"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
+#: ../gtk/main.ui.h:35 ../gtk/tunnel_config.ui.h:7
 msgid "Username"
 msgstr "Username"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
+#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:8
 msgid "Password"
 msgstr "Password"
 
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
 msgstr "Connessione Internet:"
 
-#: ../gtk/main.ui.h:39
+#: ../gtk/main.ui.h:38
 msgid "Automatically log me in"
 msgstr "Login Automatico"
 
-#: ../gtk/main.ui.h:40
+#: ../gtk/main.ui.h:39
 msgid "Login information"
 msgstr "Credenziali di accesso"
 
-#: ../gtk/main.ui.h:41
+#: ../gtk/main.ui.h:40
 msgid "<b>Welcome !</b>"
 msgstr "<b>Benvenuto !</b>"
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
 msgstr ""
 
-#: ../gtk/main.ui.h:43
+#: ../gtk/main.ui.h:42
 #, fuzzy
 msgid "Online users"
 msgstr ""
 "Tutti gli utenti\n"
 "Utenti Online"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
 msgstr ""
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 #, fuzzy
 msgid "Fiber Channel"
 msgstr ""
 "ADSL\n"
 "Fibra Ottica"
 
-#: ../gtk/main.ui.h:46
+#: ../gtk/main.ui.h:45
 msgid "Default"
 msgstr "Default"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
 msgstr ""
 
@@ -1521,7 +1536,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr "Chiamata in uscita"
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 msgid "Ready"
 msgstr "Pronto"
 
@@ -1580,12 +1595,12 @@ msgstr "Connessione"
 msgid "Call aborted"
 msgstr "annullato"
 
-#: ../coreapi/linphonecore.c:3351
+#: ../coreapi/linphonecore.c:3357
 #, fuzzy
 msgid "Could not pause the call"
 msgstr "chiamata fallita"
 
-#: ../coreapi/linphonecore.c:3356
+#: ../coreapi/linphonecore.c:3362
 #, fuzzy
 msgid "Pausing the current call..."
 msgstr "Mostra chiamata corrente"
@@ -1686,118 +1701,118 @@ msgstr ""
 "L'identità sip utilizza è invalida.\n"
 "Dovrebbre essere sip:username@proxydomain, esempio: sip:alice@example.net"
 
-#: ../coreapi/proxy.c:1068
+#: ../coreapi/proxy.c:1069
 #, c-format
 msgid "Could not login as %s"
 msgstr "impossibile login come %s"
 
-#: ../coreapi/callbacks.c:283
+#: ../coreapi/callbacks.c:286
 msgid "Remote ringing."
 msgstr ""
 
-#: ../coreapi/callbacks.c:303
+#: ../coreapi/callbacks.c:306
 msgid "Remote ringing..."
 msgstr ""
 
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
 msgstr ""
 
-#: ../coreapi/callbacks.c:365
+#: ../coreapi/callbacks.c:368
 #, fuzzy, c-format
 msgid "Call with %s is paused."
 msgstr "Chat con %s"
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
 msgstr ""
 
-#: ../coreapi/callbacks.c:389
+#: ../coreapi/callbacks.c:392
 #, fuzzy
 msgid "Call resumed."
 msgstr "Chiamata terminata"
 
-#: ../coreapi/callbacks.c:394
+#: ../coreapi/callbacks.c:397
 #, c-format
 msgid "Call answered by %s."
 msgstr ""
 
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 msgid "Incompatible, check codecs or security settings..."
 msgstr ""
 
-#: ../coreapi/callbacks.c:457
+#: ../coreapi/callbacks.c:460
 msgid "We have been resumed."
 msgstr ""
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
 msgstr ""
 
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 msgid "Call is updated by remote."
 msgstr ""
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 msgid "Call terminated."
 msgstr "Chiamata terminata."
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "Utente occupato"
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "Utente non disponibile"
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr "L'utente non vuole essere disturbato"
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr "Chiamata rifiutata"
 
-#: ../coreapi/callbacks.c:568
+#: ../coreapi/callbacks.c:571
 #, fuzzy
 msgid "No response."
 msgstr "timeout no risposta"
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
 msgstr ""
 
-#: ../coreapi/callbacks.c:588
+#: ../coreapi/callbacks.c:591
 #, fuzzy
 msgid "Redirected"
 msgstr "Rediretto verso %s..."
 
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 msgid "Incompatible media parameters."
 msgstr ""
 
-#: ../coreapi/callbacks.c:630
+#: ../coreapi/callbacks.c:633
 #, fuzzy
 msgid "Call failed."
 msgstr "Chiamata rifiutata"
 
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, c-format
 msgid "Registration on %s successful."
 msgstr "Registrazione su %s attiva"
 
-#: ../coreapi/callbacks.c:734
+#: ../coreapi/callbacks.c:738
 #, c-format
 msgid "Unregistration on %s done."
 msgstr "Unregistrazione su %s"
 
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr "timeout no risposta"
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, c-format
 msgid "Registration on %s failed: %s"
 msgstr "Registrazione su %s fallita: %s"
@@ -1807,13 +1822,16 @@ msgstr "Registrazione su %s fallita: %s"
 msgid "Authentication token is %s"
 msgstr "Linphone - Autenticazione richiesta"
 
-#: ../coreapi/linphonecall.c:2314
+#: ../coreapi/linphonecall.c:2319
 #, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
 msgstr[0] ""
 msgstr[1] ""
 
+#~ msgid "label"
+#~ msgstr "etichetta"
+
 #~ msgid "Chat with %s"
 #~ msgstr "Chat con %s"
 
index e95879bb8afce6dad1885eadc293dc449a703ef4..668018fd1353a6a99c930972d90cb069f522a7f7 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: linphone 0.10\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
 "PO-Revision-Date: 2003-01-21 00:05+9000\n"
 "Last-Translator: YAMAGUCHI YOSHIYA <yushiya@anet.ne.jp>\n"
 "Language-Team: <ja@li.org>\n"
@@ -17,53 +17,73 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../gtk/calllogs.c:82
+#: ../gtk/calllogs.c:139 ../gtk/friendlist.c:922
+#, c-format
+msgid "Call %s"
+msgstr ""
+
+#: ../gtk/calllogs.c:140 ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr ""
+
+#: ../gtk/calllogs.c:223
+#, fuzzy, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "接続中"
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
 msgstr ""
 
-#: ../gtk/calllogs.c:85
+#: ../gtk/calllogs.c:303
 #, fuzzy
 msgid "Aborted"
 msgstr "通話はキャンセルされました。"
 
-#: ../gtk/calllogs.c:88
+#: ../gtk/calllogs.c:306
 msgid "Missed"
 msgstr ""
 
-#: ../gtk/calllogs.c:91
+#: ../gtk/calllogs.c:309
 #, fuzzy
 msgid "Declined"
 msgstr "ライン入力"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../gtk/calllogs.c:103
+#: ../gtk/calllogs.c:321 ../gtk/calllogs.c:327
+#, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+
+#: ../gtk/calllogs.c:323
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
-"%s\t%s %s\t"
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
 
-#: ../gtk/calllogs.c:108
+#: ../gtk/calllogs.c:329
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38 ../gtk/main.ui.h:13
 msgid "Conference"
 msgstr ""
 
@@ -76,42 +96,46 @@ msgstr ""
 msgid "Couldn't find pixmap file: %s"
 msgstr "pixmapファイルが見つかりません %s"
 
-#: ../gtk/main.c:88
+#: ../gtk/chat.c:324 ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr ""
+
+#: ../gtk/main.c:92
 msgid "log to stdout some debug information while running."
 msgstr ""
 
-#: ../gtk/main.c:95
+#: ../gtk/main.c:99
 msgid "path to a file to write logs into."
 msgstr ""
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
 msgstr ""
 
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 msgid "Start only in the system tray, do not show the main interface."
 msgstr ""
 
-#: ../gtk/main.c:116
+#: ../gtk/main.c:120
 msgid "address to call right now"
 msgstr ""
 
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 msgid "if set automatically answer incoming calls"
 msgstr ""
 
-#: ../gtk/main.c:130
+#: ../gtk/main.c:134
 msgid ""
 "Specifiy a working directory (should be the base of the installation, eg: c:"
 "\\Program Files\\Linphone)"
 msgstr ""
 
-#: ../gtk/main.c:510
+#: ../gtk/main.c:515
 #, c-format
 msgid "Call with %s"
 msgstr ""
 
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
@@ -120,132 +144,123 @@ msgid ""
 "If you answer no, this person will be temporarily blacklisted."
 msgstr ""
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
 " at domain <i>%s</i>:"
 msgstr ""
 
-#: ../gtk/main.c:1121
+#: ../gtk/main.c:1126
 #, fuzzy
 msgid "Call error"
 msgstr "通話はキャンセルされました。"
 
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129 ../coreapi/linphonecore.c:3189
 #, fuzzy
 msgid "Call ended"
 msgstr "通話は拒否されました。"
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132 ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr ""
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134 ../gtk/incall_view.c:497 ../gtk/main.ui.h:5
 msgid "Answer"
 msgstr ""
 
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
+#: ../gtk/main.c:1136 ../gtk/main.ui.h:6
 #, fuzzy
 msgid "Decline"
 msgstr "ライン入力"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy
 msgid "Call paused"
 msgstr "通話はキャンセルされました。"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy, c-format
 msgid "<b>by %s</b>"
 msgstr "接続中"
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, c-format
 msgid "%s proposed to start video. Do you accept ?"
 msgstr ""
 
-#: ../gtk/main.c:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
 msgstr ""
 
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
 msgstr ""
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
 msgstr ""
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796 ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
 msgstr ""
 
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 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:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr ""
 
-#: ../gtk/friendlist.c:366
+#: ../gtk/friendlist.c:469
 #, fuzzy
 msgid "Add to addressbook"
 msgstr "電話帳"
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 #, fuzzy
 msgid "Presence status"
 msgstr "状態"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "名前"
 
-#: ../gtk/friendlist.c:569
+#: ../gtk/friendlist.c:673
 #, fuzzy
 msgid "Call"
 msgstr "通話はキャンセルされました。"
 
-#: ../gtk/friendlist.c:574
+#: ../gtk/friendlist.c:678
 msgid "Chat"
 msgstr ""
 
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
 msgstr ""
 
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr ""
-
-#: ../gtk/friendlist.c:807
-#, c-format
-msgid "Call %s"
-msgstr ""
-
-#: ../gtk/friendlist.c:808
-#, c-format
-msgid "Send text to %s"
-msgstr ""
-
-#: ../gtk/friendlist.c:809
+#: ../gtk/friendlist.c:924
 #, fuzzy, c-format
 msgid "Edit contact '%s'"
 msgstr "(接続するための情報がありません!)"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
 msgstr ""
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:926
+#, c-format
+msgid "Delete chat history of '%s'"
+msgstr ""
+
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
 msgstr ""
@@ -346,21 +361,25 @@ msgstr ""
 msgid "Hebrew"
 msgstr ""
 
-#: ../gtk/propertybox.c:847
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
+msgstr ""
+
+#: ../gtk/propertybox.c:848
 msgid ""
 "You need to restart linphone for the new language selection to take effect."
 msgstr ""
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 #, fuzzy
 msgid "None"
 msgstr "ありません。"
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
 msgstr ""
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
 msgstr ""
 
@@ -606,118 +625,118 @@ msgstr ""
 msgid "%.3f seconds"
 msgstr ""
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:12
 msgid "Hang up"
 msgstr ""
 
-#: ../gtk/incall_view.c:477
+#: ../gtk/incall_view.c:476
 #, fuzzy
 msgid "<b>Calling...</b>"
 msgstr "接続中"
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479 ../gtk/incall_view.c:689
 msgid "00::00::00"
 msgstr ""
 
-#: ../gtk/incall_view.c:491
+#: ../gtk/incall_view.c:490
 #, fuzzy
 msgid "<b>Incoming call</b>"
 msgstr "接続中"
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
 msgstr ""
 
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
 msgstr ""
 
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
 msgstr ""
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536 ../gtk/incall_view.c:552
 msgid "unavailable"
 msgstr ""
 
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
 msgstr ""
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
 msgstr ""
 
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
 msgstr ""
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663 ../gtk/main.ui.h:4
 msgid "Set verified"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 #, fuzzy
 msgid "<b>In call</b>"
 msgstr "接続中"
 
-#: ../gtk/incall_view.c:719
+#: ../gtk/incall_view.c:718
 #, fuzzy
 msgid "<b>Paused call</b>"
 msgstr "接続中"
 
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
 msgstr ""
 
-#: ../gtk/incall_view.c:749
+#: ../gtk/incall_view.c:748
 #, fuzzy
 msgid "<b>Call ended.</b>"
 msgstr "通話は拒否されました。"
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
 msgstr ""
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 msgid "Transfer done."
 msgstr ""
 
-#: ../gtk/incall_view.c:785
+#: ../gtk/incall_view.c:784
 #, fuzzy
 msgid "Transfer failed."
 msgstr "通話はキャンセルされました。"
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
 msgstr ""
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835 ../gtk/main.ui.h:9
 msgid "Pause"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 msgid "(Paused)"
 msgstr ""
 
@@ -740,170 +759,166 @@ msgstr "サウンド"
 msgid "End conference"
 msgstr ""
 
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr ""
-
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
 msgstr ""
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
 msgstr ""
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
 msgstr ""
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
 msgstr ""
 
-#: ../gtk/main.ui.h:15
+#: ../gtk/main.ui.h:14
 #, fuzzy
 msgid "In call"
 msgstr "接続中"
 
-#: ../gtk/main.ui.h:16
+#: ../gtk/main.ui.h:15
 #, fuzzy
 msgid "Duration"
 msgstr "情報"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
 msgstr ""
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
 msgstr ""
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
 msgstr ""
 
-#: ../gtk/main.ui.h:20
+#: ../gtk/main.ui.h:19
 #, fuzzy
 msgid "Enable self-view"
 msgstr "使用する"
 
-#: ../gtk/main.ui.h:21
+#: ../gtk/main.ui.h:20
 msgid "_Help"
 msgstr ""
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 msgid "Show debug window"
 msgstr ""
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 msgid "_Homepage"
 msgstr ""
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 msgid "Check _Updates"
 msgstr ""
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 msgid "Account assistant"
 msgstr ""
 
-#: ../gtk/main.ui.h:26
+#: ../gtk/main.ui.h:25
 #, fuzzy
 msgid "SIP address or phone number:"
 msgstr "レジストラサーバーのSIPアドレス"
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
 msgstr ""
 
-#: ../gtk/main.ui.h:28
+#: ../gtk/main.ui.h:27
 #, fuzzy
 msgid "Contacts"
 msgstr "接続中"
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28 ../gtk/parameters.ui.h:50
 msgid "Add"
 msgstr "追加する"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr ""
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
 msgstr ""
 
-#: ../gtk/main.ui.h:32
+#: ../gtk/main.ui.h:31
 #, fuzzy
 msgid "<b>Add contacts from directory</b>"
 msgstr "コーデックの情報"
 
-#: ../gtk/main.ui.h:33
+#: ../gtk/main.ui.h:32
 #, fuzzy
 msgid "Add contact"
 msgstr "(接続するための情報がありません!)"
 
-#: ../gtk/main.ui.h:34
+#: ../gtk/main.ui.h:33
 #, fuzzy
 msgid "Recent calls"
 msgstr "接続中"
 
-#: ../gtk/main.ui.h:35
+#: ../gtk/main.ui.h:34
 #, fuzzy
 msgid "My current identity:"
 msgstr "個人情報"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
+#: ../gtk/main.ui.h:35 ../gtk/tunnel_config.ui.h:7
 #, fuzzy
 msgid "Username"
 msgstr "ユーザーマニュアル"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
+#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:8
 #, fuzzy
 msgid "Password"
 msgstr "パスワード"
 
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
 msgstr ""
 
-#: ../gtk/main.ui.h:39
+#: ../gtk/main.ui.h:38
 msgid "Automatically log me in"
 msgstr ""
 
-#: ../gtk/main.ui.h:40
+#: ../gtk/main.ui.h:39
 #, fuzzy
 msgid "Login information"
 msgstr "コーデックの情報"
 
-#: ../gtk/main.ui.h:41
+#: ../gtk/main.ui.h:40
 #, fuzzy
 msgid "<b>Welcome !</b>"
 msgstr "接続中"
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
 msgstr ""
 
-#: ../gtk/main.ui.h:43
+#: ../gtk/main.ui.h:42
 #, fuzzy
 msgid "Online users"
 msgstr "ライン入力"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
 msgstr ""
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 msgid "Fiber Channel"
 msgstr ""
 
-#: ../gtk/main.ui.h:46
+#: ../gtk/main.ui.h:45
 #, fuzzy
 msgid "Default"
 msgstr "個人情報"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
 msgstr ""
 
@@ -1527,7 +1542,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr ""
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 #, fuzzy
 msgid "Ready"
 msgstr "準備完了。"
@@ -1589,11 +1604,11 @@ msgstr "接続しました。"
 msgid "Call aborted"
 msgstr "通話はキャンセルされました。"
 
-#: ../coreapi/linphonecore.c:3351
+#: ../coreapi/linphonecore.c:3357
 msgid "Could not pause the call"
 msgstr ""
 
-#: ../coreapi/linphonecore.c:3356
+#: ../coreapi/linphonecore.c:3362
 msgid "Pausing the current call..."
 msgstr ""
 
@@ -1693,121 +1708,121 @@ msgid ""
 "It should look like sip:username@proxydomain, such as sip:alice@example.net"
 msgstr ""
 
-#: ../coreapi/proxy.c:1068
+#: ../coreapi/proxy.c:1069
 #, fuzzy, c-format
 msgid "Could not login as %s"
 msgstr "pixmapファイルが見つかりません %s"
 
-#: ../coreapi/callbacks.c:283
+#: ../coreapi/callbacks.c:286
 #, fuzzy
 msgid "Remote ringing."
 msgstr "登録中……"
 
-#: ../coreapi/callbacks.c:303
+#: ../coreapi/callbacks.c:306
 #, fuzzy
 msgid "Remote ringing..."
 msgstr "登録中……"
 
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
 msgstr ""
 
-#: ../coreapi/callbacks.c:365
+#: ../coreapi/callbacks.c:368
 #, c-format
 msgid "Call with %s is paused."
 msgstr ""
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
 msgstr ""
 
-#: ../coreapi/callbacks.c:389
+#: ../coreapi/callbacks.c:392
 #, fuzzy
 msgid "Call resumed."
 msgstr "通話は拒否されました。"
 
-#: ../coreapi/callbacks.c:394
+#: ../coreapi/callbacks.c:397
 #, fuzzy, c-format
 msgid "Call answered by %s."
 msgstr ""
 "電話をかける\n"
 "電話に出る"
 
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 msgid "Incompatible, check codecs or security settings..."
 msgstr ""
 
-#: ../coreapi/callbacks.c:457
+#: ../coreapi/callbacks.c:460
 msgid "We have been resumed."
 msgstr ""
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
 msgstr ""
 
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 msgid "Call is updated by remote."
 msgstr ""
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 #, fuzzy
 msgid "Call terminated."
 msgstr "通話は拒否されました。"
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "ユーザーはビジーです"
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "ユーザーは、今出られません。"
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr "ユーザーは手が離せないようです。"
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr "通話は拒否されました。"
 
-#: ../coreapi/callbacks.c:568
+#: ../coreapi/callbacks.c:571
 msgid "No response."
 msgstr ""
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
 msgstr ""
 
-#: ../coreapi/callbacks.c:588
+#: ../coreapi/callbacks.c:591
 msgid "Redirected"
 msgstr ""
 
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 msgid "Incompatible media parameters."
 msgstr ""
 
-#: ../coreapi/callbacks.c:630
+#: ../coreapi/callbacks.c:633
 #, fuzzy
 msgid "Call failed."
 msgstr "通話はキャンセルされました。"
 
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, fuzzy, c-format
 msgid "Registration on %s successful."
 msgstr "登録しました。"
 
-#: ../coreapi/callbacks.c:734
+#: ../coreapi/callbacks.c:738
 #, fuzzy, c-format
 msgid "Unregistration on %s done."
 msgstr "登録しました。"
 
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr ""
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, fuzzy, c-format
 msgid "Registration on %s failed: %s"
 msgstr "登録しました。"
@@ -1817,7 +1832,7 @@ msgstr "登録しました。"
 msgid "Authentication token is %s"
 msgstr "コーデックの情報"
 
-#: ../coreapi/linphonecall.c:2314
+#: ../coreapi/linphonecall.c:2319
 #, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
index c1500d304407d4eacc7126a51ed530d088099fa1..8b7f20c28dd3d100691d8907e51e867adcda5307 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
 "PO-Revision-Date: 2011-04-05 01:56+0200\n"
 "Last-Translator: Øyvind Sæther <oyvinds@everdot.org>\n"
 "Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
@@ -17,54 +17,74 @@ msgstr ""
 "X-Generator: Lokalize 1.2\n"
 "Plural-Forms: nplurals=2; plural=n != 1;\n"
 
-#: ../gtk/calllogs.c:82
+#: ../gtk/calllogs.c:139 ../gtk/friendlist.c:922
+#, c-format
+msgid "Call %s"
+msgstr "Ring %s"
+
+#: ../gtk/calllogs.c:140 ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr "Send tekst til %s"
+
+#: ../gtk/calllogs.c:223
+#, fuzzy, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "<b>I samtale med</b>"
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
 msgstr ""
 
-#: ../gtk/calllogs.c:85
+#: ../gtk/calllogs.c:303
 #, fuzzy
 msgid "Aborted"
 msgstr "avbrutt"
 
-#: ../gtk/calllogs.c:88
+#: ../gtk/calllogs.c:306
 #, fuzzy
 msgid "Missed"
 msgstr "ubesvart"
 
-#: ../gtk/calllogs.c:91
+#: ../gtk/calllogs.c:309
 #, fuzzy
 msgid "Declined"
 msgstr "Avvis"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../gtk/calllogs.c:103
+#: ../gtk/calllogs.c:321 ../gtk/calllogs.c:327
+#, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+
+#: ../gtk/calllogs.c:323
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
-"%s\t%s %s\t"
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
 
-#: ../gtk/calllogs.c:108
+#: ../gtk/calllogs.c:329
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38 ../gtk/main.ui.h:13
 msgid "Conference"
 msgstr ""
 
@@ -78,31 +98,35 @@ msgstr "Skru mikrofonen av"
 msgid "Couldn't find pixmap file: %s"
 msgstr "Fant ikke pixmap fli: %s"
 
-#: ../gtk/main.c:88
+#: ../gtk/chat.c:324 ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr "Ugyldig SIP kontakt !"
+
+#: ../gtk/main.c:92
 msgid "log to stdout some debug information while running."
 msgstr "skriv logg-informasjon under kjøring"
 
-#: ../gtk/main.c:95
+#: ../gtk/main.c:99
 msgid "path to a file to write logs into."
 msgstr ""
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
 msgstr ""
 
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 msgid "Start only in the system tray, do not show the main interface."
 msgstr "Start skjult i systemkurven, ikke vis programbildet."
 
-#: ../gtk/main.c:116
+#: ../gtk/main.c:120
 msgid "address to call right now"
 msgstr "address som skal ringes nå"
 
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 msgid "if set automatically answer incoming calls"
 msgstr "besvarer innkommende samtaler automatisk om valgt"
 
-#: ../gtk/main.c:130
+#: ../gtk/main.c:134
 msgid ""
 "Specifiy a working directory (should be the base of the installation, eg: c:"
 "\\Program Files\\Linphone)"
@@ -110,12 +134,12 @@ msgstr ""
 "Spesifiser arbeidsmappe (bør være base for installasjonen, f.eks: c:"
 "\\Programfiler\\Linphone)"
 
-#: ../gtk/main.c:510
+#: ../gtk/main.c:515
 #, c-format
 msgid "Call with %s"
 msgstr "Ring med %s"
 
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
@@ -128,7 +152,7 @@ msgstr ""
 "din kontaktliste?\n"
 "Hvis du svarer nei vil personen bli svartelyst midlertidig."
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
@@ -137,61 +161,61 @@ msgstr ""
 "Skriv inn ditt passord for brukernavn <i>%s</i>\n"
 " på domene <i>%s</i>:i>:"
 
-#: ../gtk/main.c:1121
+#: ../gtk/main.c:1126
 #, fuzzy
 msgid "Call error"
 msgstr "Samtalehistorikk"
 
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129 ../coreapi/linphonecore.c:3189
 msgid "Call ended"
 msgstr "Samtale avsluttet"
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132 ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr "Innkommende samtale"
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134 ../gtk/incall_view.c:497 ../gtk/main.ui.h:5
 msgid "Answer"
 msgstr "Svarer"
 
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
+#: ../gtk/main.c:1136 ../gtk/main.ui.h:6
 msgid "Decline"
 msgstr "Avvis"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy
 msgid "Call paused"
 msgstr "Samtale avbrutt"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy, c-format
 msgid "<b>by %s</b>"
 msgstr "<b>Porter</b>"
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, c-format
 msgid "%s proposed to start video. Do you accept ?"
 msgstr ""
 
-#: ../gtk/main.c:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
 msgstr "Peker til nettsted"
 
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
 msgstr "Linphone - en video Internet telefon"
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
 msgstr "%s (Standard)"
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796 ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
 msgstr "Vi er overført til %s"
 
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 msgid ""
 "No sound cards have been detected on this computer.\n"
 "You won't be able to send or receive audio calls."
@@ -199,61 +223,52 @@ msgstr ""
 "Klarte ikke å finne noe lydkort på denne datamaskinen.\n"
 "Du vil ikke kunne sende eller motta lydsamtaler."
 
-#: ../gtk/main.c:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr "En gratis SIP video-telefon"
 
-#: ../gtk/friendlist.c:366
+#: ../gtk/friendlist.c:469
 msgid "Add to addressbook"
 msgstr ""
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 msgid "Presence status"
 msgstr "Tilstedestatus"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "Navn"
 
-#: ../gtk/friendlist.c:569
+#: ../gtk/friendlist.c:673
 #, fuzzy
 msgid "Call"
 msgstr "Ring %s"
 
-#: ../gtk/friendlist.c:574
+#: ../gtk/friendlist.c:678
 msgid "Chat"
 msgstr ""
 
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
 msgstr "Søk i %s katalogen"
 
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr "Ugyldig SIP kontakt !"
-
-#: ../gtk/friendlist.c:807
-#, c-format
-msgid "Call %s"
-msgstr "Ring %s"
-
-#: ../gtk/friendlist.c:808
-#, c-format
-msgid "Send text to %s"
-msgstr "Send tekst til %s"
-
-#: ../gtk/friendlist.c:809
+#: ../gtk/friendlist.c:924
 #, c-format
 msgid "Edit contact '%s'"
 msgstr "Rediger kontakt '%s'"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
 msgstr "Slett kontakt '%s'"
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:926
+#, fuzzy, c-format
+msgid "Delete chat history of '%s'"
+msgstr "Slett kontakt '%s'"
+
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
 msgstr "Legg til kontakt fra %s katalogen"
@@ -354,20 +369,24 @@ msgstr ""
 msgid "Hebrew"
 msgstr ""
 
-#: ../gtk/propertybox.c:847
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
+msgstr ""
+
+#: ../gtk/propertybox.c:848
 msgid ""
 "You need to restart linphone for the new language selection to take effect."
 msgstr "Du må restarte linphone for at det nye språkvalget skal iverksettes."
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 msgid "None"
 msgstr ""
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
 msgstr ""
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
 msgstr ""
 
@@ -620,114 +639,114 @@ msgstr ""
 msgid "%.3f seconds"
 msgstr ""
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:12
 msgid "Hang up"
 msgstr ""
 
-#: ../gtk/incall_view.c:477
+#: ../gtk/incall_view.c:476
 msgid "<b>Calling...</b>"
 msgstr "<b>Ringer...</b>"
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479 ../gtk/incall_view.c:689
 msgid "00::00::00"
 msgstr "00:00:00"
 
-#: ../gtk/incall_view.c:491
+#: ../gtk/incall_view.c:490
 msgid "<b>Incoming call</b>"
 msgstr "Innkommende samtale"
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
 msgstr ""
 
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
 msgstr ""
 
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
 msgstr ""
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536 ../gtk/incall_view.c:552
 msgid "unavailable"
 msgstr ""
 
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
 msgstr ""
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
 msgstr ""
 
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
 msgstr ""
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663 ../gtk/main.ui.h:4
 msgid "Set verified"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "<b>In call</b>"
 msgstr "<b>I samtale med</b>"
 
-#: ../gtk/incall_view.c:719
+#: ../gtk/incall_view.c:718
 msgid "<b>Paused call</b>"
 msgstr "<b>Pauset samtale</b>"
 
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
 msgstr "%02i:%02i:%02i"
 
-#: ../gtk/incall_view.c:749
+#: ../gtk/incall_view.c:748
 msgid "<b>Call ended.</b>"
 msgstr "<b>Samtale avsluttet.</b>"
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
 msgstr ""
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 #, fuzzy
 msgid "Transfer done."
 msgstr "Overfører"
 
-#: ../gtk/incall_view.c:785
+#: ../gtk/incall_view.c:784
 #, fuzzy
 msgid "Transfer failed."
 msgstr "Overfører"
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
 msgstr "Fortsett"
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835 ../gtk/main.ui.h:9
 msgid "Pause"
 msgstr "Pause"
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, fuzzy
 msgid "(Paused)"
 msgstr "Pause"
@@ -750,157 +769,153 @@ msgstr "Send"
 msgid "End conference"
 msgstr ""
 
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr "etikett"
-
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
 msgstr ""
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
 msgstr ""
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
 msgstr ""
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
 msgstr "Overfører"
 
-#: ../gtk/main.ui.h:15
+#: ../gtk/main.ui.h:14
 msgid "In call"
 msgstr "I samtale"
 
-#: ../gtk/main.ui.h:16
+#: ../gtk/main.ui.h:15
 msgid "Duration"
 msgstr "Varighet"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
 msgstr ""
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
 msgstr "_Alternativer"
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
 msgstr ""
 
-#: ../gtk/main.ui.h:20
+#: ../gtk/main.ui.h:19
 msgid "Enable self-view"
 msgstr "Vis video av deg selv"
 
-#: ../gtk/main.ui.h:21
+#: ../gtk/main.ui.h:20
 msgid "_Help"
 msgstr "_Hjelp"
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 msgid "Show debug window"
 msgstr "Vis avlusningsvindu"
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 msgid "_Homepage"
 msgstr "H_jemmeside"
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 msgid "Check _Updates"
 msgstr "Sjekk _Oppdateringer"
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 #, fuzzy
 msgid "Account assistant"
 msgstr "Brukerkontoveiviser"
 
-#: ../gtk/main.ui.h:26
+#: ../gtk/main.ui.h:25
 msgid "SIP address or phone number:"
 msgstr "Sip adresse eller telefonnummer:"
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
 msgstr "Start en ny samtale"
 
-#: ../gtk/main.ui.h:28
+#: ../gtk/main.ui.h:27
 msgid "Contacts"
 msgstr "Kontakter"
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28 ../gtk/parameters.ui.h:50
 msgid "Add"
 msgstr "Legg til"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr "Rediger"
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
 msgstr "Søk"
 
-#: ../gtk/main.ui.h:32
+#: ../gtk/main.ui.h:31
 msgid "<b>Add contacts from directory</b>"
 msgstr "<b>Legg til kontakter fra katalogen</b>"
 
-#: ../gtk/main.ui.h:33
+#: ../gtk/main.ui.h:32
 msgid "Add contact"
 msgstr "Legg til kontakt"
 
-#: ../gtk/main.ui.h:34
+#: ../gtk/main.ui.h:33
 #, fuzzy
 msgid "Recent calls"
 msgstr "I samtale"
 
-#: ../gtk/main.ui.h:35
+#: ../gtk/main.ui.h:34
 msgid "My current identity:"
 msgstr "Min nåværende identitet:"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
+#: ../gtk/main.ui.h:35 ../gtk/tunnel_config.ui.h:7
 msgid "Username"
 msgstr "Brukernavn"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
+#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:8
 msgid "Password"
 msgstr "Passord"
 
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
 msgstr "Internet forbindelse:"
 
-#: ../gtk/main.ui.h:39
+#: ../gtk/main.ui.h:38
 msgid "Automatically log me in"
 msgstr "Logg meg på automatisk"
 
-#: ../gtk/main.ui.h:40
+#: ../gtk/main.ui.h:39
 msgid "Login information"
 msgstr "Innlogginsinformasjon"
 
-#: ../gtk/main.ui.h:41
+#: ../gtk/main.ui.h:40
 msgid "<b>Welcome !</b>"
 msgstr "<b>Velkommen!</b>"
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
 msgstr "Alle brukere"
 
-#: ../gtk/main.ui.h:43
+#: ../gtk/main.ui.h:42
 msgid "Online users"
 msgstr "Tilkoblede brukere"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
 msgstr "ADSL"
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 msgid "Fiber Channel"
 msgstr "Fiber Kanal"
 
-#: ../gtk/main.ui.h:46
+#: ../gtk/main.ui.h:45
 msgid "Default"
 msgstr "Standard"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
 msgstr ""
 
@@ -1514,7 +1529,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr "Utgående samtale"
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 msgid "Ready"
 msgstr "Klar"
 
@@ -1570,11 +1585,11 @@ msgstr "Tilkoblet"
 msgid "Call aborted"
 msgstr "Samtale avbrutt"
 
-#: ../coreapi/linphonecore.c:3351
+#: ../coreapi/linphonecore.c:3357
 msgid "Could not pause the call"
 msgstr "Kunne ikke pause samtalen"
 
-#: ../coreapi/linphonecore.c:3356
+#: ../coreapi/linphonecore.c:3362
 msgid "Pausing the current call..."
 msgstr "Pauser nåværende samtale"
 
@@ -1676,116 +1691,116 @@ 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:1068
+#: ../coreapi/proxy.c:1069
 #, c-format
 msgid "Could not login as %s"
 msgstr "Ikke ikke logge inn som %s"
 
-#: ../coreapi/callbacks.c:283
+#: ../coreapi/callbacks.c:286
 msgid "Remote ringing."
 msgstr "Ringer hos motparten."
 
-#: ../coreapi/callbacks.c:303
+#: ../coreapi/callbacks.c:306
 #, fuzzy
 msgid "Remote ringing..."
 msgstr "Ringer hos motparten."
 
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
 msgstr "Tidlig media"
 
-#: ../coreapi/callbacks.c:365
+#: ../coreapi/callbacks.c:368
 #, c-format
 msgid "Call with %s is paused."
 msgstr "Samtalen med %s er pauset."
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
 msgstr "Samtale besvart av %s - på vent."
 
-#: ../coreapi/callbacks.c:389
+#: ../coreapi/callbacks.c:392
 msgid "Call resumed."
 msgstr "Samtale gjenopptatt."
 
-#: ../coreapi/callbacks.c:394
+#: ../coreapi/callbacks.c:397
 #, c-format
 msgid "Call answered by %s."
 msgstr "Samtale besvart av %s."
 
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 msgid "Incompatible, check codecs or security settings..."
 msgstr ""
 
-#: ../coreapi/callbacks.c:457
+#: ../coreapi/callbacks.c:460
 #, fuzzy
 msgid "We have been resumed."
 msgstr "Vi har blitt gjenopptatt..."
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
 msgstr ""
 
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 msgid "Call is updated by remote."
 msgstr ""
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 msgid "Call terminated."
 msgstr "Samtale avsluttet."
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "Brukeren er opptatt."
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "Brukeren er midlertidig ikke tilgjengelig."
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr "Brukeren vil ikke bli forstyrret."
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr "Samtale avvist."
 
-#: ../coreapi/callbacks.c:568
+#: ../coreapi/callbacks.c:571
 msgid "No response."
 msgstr "Ikke noe svar."
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
 msgstr "Protokollfeil."
 
-#: ../coreapi/callbacks.c:588
+#: ../coreapi/callbacks.c:591
 msgid "Redirected"
 msgstr "Omdirigert"
 
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 msgid "Incompatible media parameters."
 msgstr ""
 
-#: ../coreapi/callbacks.c:630
+#: ../coreapi/callbacks.c:633
 msgid "Call failed."
 msgstr "Samtale feilet."
 
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, c-format
 msgid "Registration on %s successful."
 msgstr "Registrering hos %s lykkes."
 
-#: ../coreapi/callbacks.c:734
+#: ../coreapi/callbacks.c:738
 #, c-format
 msgid "Unregistration on %s done."
 msgstr "Avregistrering hos %s lykkes."
 
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr "ingen svar innen angitt tid"
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, c-format
 msgid "Registration on %s failed: %s"
 msgstr "Registrering hos %s mislykkes: %s"
@@ -1795,13 +1810,16 @@ msgstr "Registrering hos %s mislykkes: %s"
 msgid "Authentication token is %s"
 msgstr "Autorisering kreves"
 
-#: ../coreapi/linphonecall.c:2314
+#: ../coreapi/linphonecall.c:2319
 #, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
 msgstr[0] "Du har %i ubesvarte anrop."
 msgstr[1] "Du har %i missade samtal"
 
+#~ msgid "label"
+#~ msgstr "etikett"
+
 #~ msgid "Keypad"
 #~ msgstr "Tastatur"
 
index 926bd7bb6485dc99c891e9d4f88b78a923b21ca0..8cfe7febdb6f76503b1209e1745f5fa2d6024201 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -10,7 +10,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: nl\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
 "PO-Revision-Date: 2007-09-05 10:40+0200\n"
 "Last-Translator: Hendrik-Jan Heins <hjheins@gmail.com>\n"
 "Language-Team: Nederlands <vertaling@nl.linux.org>\n"
@@ -19,54 +19,74 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../gtk/calllogs.c:82
+#: ../gtk/calllogs.c:139 ../gtk/friendlist.c:922
+#, fuzzy, c-format
+msgid "Call %s"
+msgstr "Oproepgeschiedenis"
+
+#: ../gtk/calllogs.c:140 ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr ""
+
+#: ../gtk/calllogs.c:223
+#, fuzzy, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "Contactlijst"
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
 msgstr ""
 
-#: ../gtk/calllogs.c:85
+#: ../gtk/calllogs.c:303
 #, fuzzy
 msgid "Aborted"
 msgstr "afgebroken"
 
-#: ../gtk/calllogs.c:88
+#: ../gtk/calllogs.c:306
 #, fuzzy
 msgid "Missed"
 msgstr "gemist"
 
-#: ../gtk/calllogs.c:91
+#: ../gtk/calllogs.c:309
 #, fuzzy
 msgid "Declined"
 msgstr "lijn"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../gtk/calllogs.c:103
+#: ../gtk/calllogs.c:321 ../gtk/calllogs.c:327
+#, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+
+#: ../gtk/calllogs.c:323
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
-"%s\t%s %s\t"
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
 
-#: ../gtk/calllogs.c:108
+#: ../gtk/calllogs.c:329
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38 ../gtk/main.ui.h:13
 msgid "Conference"
 msgstr ""
 
@@ -79,42 +99,46 @@ msgstr ""
 msgid "Couldn't find pixmap file: %s"
 msgstr "Kon pixmap bestand %s niet vinden"
 
-#: ../gtk/main.c:88
+#: ../gtk/chat.c:324 ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr ""
+
+#: ../gtk/main.c:92
 msgid "log to stdout some debug information while running."
 msgstr ""
 
-#: ../gtk/main.c:95
+#: ../gtk/main.c:99
 msgid "path to a file to write logs into."
 msgstr ""
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
 msgstr ""
 
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 msgid "Start only in the system tray, do not show the main interface."
 msgstr ""
 
-#: ../gtk/main.c:116
+#: ../gtk/main.c:120
 msgid "address to call right now"
 msgstr ""
 
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 msgid "if set automatically answer incoming calls"
 msgstr ""
 
-#: ../gtk/main.c:130
+#: ../gtk/main.c:134
 msgid ""
 "Specifiy a working directory (should be the base of the installation, eg: c:"
 "\\Program Files\\Linphone)"
 msgstr ""
 
-#: ../gtk/main.c:510
+#: ../gtk/main.c:515
 #, fuzzy, c-format
 msgid "Call with %s"
 msgstr "Chat met %s"
 
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
@@ -123,131 +147,122 @@ msgid ""
 "If you answer no, this person will be temporarily blacklisted."
 msgstr ""
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
 " at domain <i>%s</i>:"
 msgstr ""
 
-#: ../gtk/main.c:1121
+#: ../gtk/main.c:1126
 #, fuzzy
 msgid "Call error"
 msgstr "Linphone - Oproepgeschiedenis"
 
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129 ../coreapi/linphonecore.c:3189
 msgid "Call ended"
 msgstr "Oproep beeindigd"
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132 ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr "Inkomende oproep"
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134 ../gtk/incall_view.c:497 ../gtk/main.ui.h:5
 msgid "Answer"
 msgstr ""
 
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
+#: ../gtk/main.c:1136 ../gtk/main.ui.h:6
 #, fuzzy
 msgid "Decline"
 msgstr "lijn"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy
 msgid "Call paused"
 msgstr "afgebroken"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy, c-format
 msgid "<b>by %s</b>"
 msgstr "Contactlijst"
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, c-format
 msgid "%s proposed to start video. Do you accept ?"
 msgstr ""
 
-#: ../gtk/main.c:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
 msgstr ""
 
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
 msgstr ""
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
 msgstr ""
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796 ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
 msgstr ""
 
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 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:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr "Een Vrije SIP video-telefoon"
 
-#: ../gtk/friendlist.c:366
+#: ../gtk/friendlist.c:469
 #, fuzzy
 msgid "Add to addressbook"
 msgstr "Adresboek"
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 msgid "Presence status"
 msgstr "Aanwezigheidsstatus"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "Naam"
 
-#: ../gtk/friendlist.c:569
+#: ../gtk/friendlist.c:673
 #, fuzzy
 msgid "Call"
 msgstr "Oproepgeschiedenis"
 
-#: ../gtk/friendlist.c:574
+#: ../gtk/friendlist.c:678
 #, fuzzy
 msgid "Chat"
 msgstr "Chat box"
 
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
 msgstr ""
 
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr ""
-
-#: ../gtk/friendlist.c:807
-#, fuzzy, c-format
-msgid "Call %s"
-msgstr "Oproepgeschiedenis"
-
-#: ../gtk/friendlist.c:808
-#, c-format
-msgid "Send text to %s"
-msgstr ""
-
-#: ../gtk/friendlist.c:809
+#: ../gtk/friendlist.c:924
 #, fuzzy, c-format
 msgid "Edit contact '%s'"
 msgstr "Bewerk contactgegevens"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
 msgstr ""
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:926
+#, c-format
+msgid "Delete chat history of '%s'"
+msgstr ""
+
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
 msgstr ""
@@ -348,20 +363,24 @@ msgstr ""
 msgid "Hebrew"
 msgstr ""
 
-#: ../gtk/propertybox.c:847
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
+msgstr ""
+
+#: ../gtk/propertybox.c:848
 msgid ""
 "You need to restart linphone for the new language selection to take effect."
 msgstr ""
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 msgid "None"
 msgstr "Geen"
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
 msgstr ""
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
 msgstr ""
 
@@ -609,118 +628,118 @@ msgstr ""
 msgid "%.3f seconds"
 msgstr ""
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:12
 msgid "Hang up"
 msgstr ""
 
-#: ../gtk/incall_view.c:477
+#: ../gtk/incall_view.c:476
 #, fuzzy
 msgid "<b>Calling...</b>"
 msgstr "Contactlijst"
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479 ../gtk/incall_view.c:689
 msgid "00::00::00"
 msgstr ""
 
-#: ../gtk/incall_view.c:491
+#: ../gtk/incall_view.c:490
 #, fuzzy
 msgid "<b>Incoming call</b>"
 msgstr "Inkomende oproep"
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
 msgstr ""
 
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
 msgstr ""
 
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
 msgstr ""
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536 ../gtk/incall_view.c:552
 msgid "unavailable"
 msgstr ""
 
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
 msgstr ""
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
 msgstr ""
 
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
 msgstr ""
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663 ../gtk/main.ui.h:4
 msgid "Set verified"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 #, fuzzy
 msgid "<b>In call</b>"
 msgstr "Contactlijst"
 
-#: ../gtk/incall_view.c:719
+#: ../gtk/incall_view.c:718
 #, fuzzy
 msgid "<b>Paused call</b>"
 msgstr "Contactlijst"
 
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
 msgstr ""
 
-#: ../gtk/incall_view.c:749
+#: ../gtk/incall_view.c:748
 #, fuzzy
 msgid "<b>Call ended.</b>"
 msgstr "Oproep beeindigd"
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
 msgstr ""
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 msgid "Transfer done."
 msgstr ""
 
-#: ../gtk/incall_view.c:785
+#: ../gtk/incall_view.c:784
 #, fuzzy
 msgid "Transfer failed."
 msgstr "Oproep geannuleerd."
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
 msgstr ""
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835 ../gtk/main.ui.h:9
 msgid "Pause"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 msgid "(Paused)"
 msgstr ""
 
@@ -743,173 +762,169 @@ msgstr "Geluid"
 msgid "End conference"
 msgstr ""
 
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr ""
-
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
 msgstr ""
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
 msgstr ""
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
 msgstr ""
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
 msgstr ""
 
-#: ../gtk/main.ui.h:15
+#: ../gtk/main.ui.h:14
 #, fuzzy
 msgid "In call"
 msgstr "Inkomende oproep"
 
-#: ../gtk/main.ui.h:16
+#: ../gtk/main.ui.h:15
 #, fuzzy
 msgid "Duration"
 msgstr "Informatie"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
 msgstr ""
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
 msgstr ""
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
 msgstr ""
 
-#: ../gtk/main.ui.h:20
+#: ../gtk/main.ui.h:19
 #, fuzzy
 msgid "Enable self-view"
 msgstr "Video aan"
 
-#: ../gtk/main.ui.h:21
+#: ../gtk/main.ui.h:20
 #, fuzzy
 msgid "_Help"
 msgstr "Help"
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 msgid "Show debug window"
 msgstr ""
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 msgid "_Homepage"
 msgstr ""
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 msgid "Check _Updates"
 msgstr ""
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 msgid "Account assistant"
 msgstr ""
 
-#: ../gtk/main.ui.h:26
+#: ../gtk/main.ui.h:25
 #, fuzzy
 msgid "SIP address or phone number:"
 msgstr "Geef het SIP adres of telefoonnummer in"
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
 msgstr ""
 
-#: ../gtk/main.ui.h:28
+#: ../gtk/main.ui.h:27
 #, fuzzy
 msgid "Contacts"
 msgstr "Verbinden"
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28 ../gtk/parameters.ui.h:50
 #, fuzzy
 msgid "Add"
 msgstr "Adres"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr "Bewerken"
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
 msgstr ""
 
-#: ../gtk/main.ui.h:32
+#: ../gtk/main.ui.h:31
 #, fuzzy
 msgid "<b>Add contacts from directory</b>"
 msgstr "Contact informatie"
 
-#: ../gtk/main.ui.h:33
+#: ../gtk/main.ui.h:32
 #, fuzzy
 msgid "Add contact"
 msgstr "Bewerk contactgegevens"
 
-#: ../gtk/main.ui.h:34
+#: ../gtk/main.ui.h:33
 #, fuzzy
 msgid "Recent calls"
 msgstr "Inkomende oproep"
 
-#: ../gtk/main.ui.h:35
+#: ../gtk/main.ui.h:34
 #, fuzzy
 msgid "My current identity:"
 msgstr "SIP-identiteit:"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
+#: ../gtk/main.ui.h:35 ../gtk/tunnel_config.ui.h:7
 #, fuzzy
 msgid "Username"
 msgstr "gebruikersnaam:"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
+#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:8
 #, fuzzy
 msgid "Password"
 msgstr "wachtwoord:"
 
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
 msgstr ""
 
-#: ../gtk/main.ui.h:39
+#: ../gtk/main.ui.h:38
 #, fuzzy
 msgid "Automatically log me in"
 msgstr "Automatisch een geldige hostnaam raden"
 
-#: ../gtk/main.ui.h:40
+#: ../gtk/main.ui.h:39
 #, fuzzy
 msgid "Login information"
 msgstr "Contact informatie"
 
-#: ../gtk/main.ui.h:41
+#: ../gtk/main.ui.h:40
 #, fuzzy
 msgid "<b>Welcome !</b>"
 msgstr "Contactlijst"
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
 msgstr ""
 
-#: ../gtk/main.ui.h:43
+#: ../gtk/main.ui.h:42
 #, fuzzy
 msgid "Online users"
 msgstr "Aanwezig"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
 msgstr ""
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 msgid "Fiber Channel"
 msgstr ""
 
-#: ../gtk/main.ui.h:46
+#: ../gtk/main.ui.h:45
 #, fuzzy
 msgid "Default"
 msgstr "SIP-identiteit:"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
 msgstr ""
 
@@ -1543,7 +1558,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr "Uitgaande oproep"
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 msgid "Ready"
 msgstr "Gereed."
 
@@ -1602,12 +1617,12 @@ msgstr "Verbonden."
 msgid "Call aborted"
 msgstr "afgebroken"
 
-#: ../coreapi/linphonecore.c:3351
+#: ../coreapi/linphonecore.c:3357
 #, fuzzy
 msgid "Could not pause the call"
 msgstr "Kon niet oproepen"
 
-#: ../coreapi/linphonecore.c:3356
+#: ../coreapi/linphonecore.c:3362
 #, fuzzy
 msgid "Pausing the current call..."
 msgstr "Kon niet oproepen"
@@ -1709,121 +1724,121 @@ msgid ""
 "It should look like sip:username@proxydomain, such as sip:alice@example.net"
 msgstr ""
 
-#: ../coreapi/proxy.c:1068
+#: ../coreapi/proxy.c:1069
 #, fuzzy, c-format
 msgid "Could not login as %s"
 msgstr "Kon pixmap bestand %s niet vinden"
 
-#: ../coreapi/callbacks.c:283
+#: ../coreapi/callbacks.c:286
 #, fuzzy
 msgid "Remote ringing."
 msgstr "Externe diensten"
 
-#: ../coreapi/callbacks.c:303
+#: ../coreapi/callbacks.c:306
 #, fuzzy
 msgid "Remote ringing..."
 msgstr "Externe diensten"
 
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
 msgstr ""
 
-#: ../coreapi/callbacks.c:365
+#: ../coreapi/callbacks.c:368
 #, fuzzy, c-format
 msgid "Call with %s is paused."
 msgstr "Chat met %s"
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
 msgstr ""
 
-#: ../coreapi/callbacks.c:389
+#: ../coreapi/callbacks.c:392
 #, fuzzy
 msgid "Call resumed."
 msgstr "Oproep beeindigd"
 
-#: ../coreapi/callbacks.c:394
+#: ../coreapi/callbacks.c:397
 #, fuzzy, c-format
 msgid "Call answered by %s."
 msgstr ""
 "Oproepen of\n"
 "beantwoorden"
 
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 msgid "Incompatible, check codecs or security settings..."
 msgstr ""
 
-#: ../coreapi/callbacks.c:457
+#: ../coreapi/callbacks.c:460
 msgid "We have been resumed."
 msgstr ""
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
 msgstr ""
 
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 msgid "Call is updated by remote."
 msgstr ""
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 msgid "Call terminated."
 msgstr "Oproep beeindigd."
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "Gebruiker is bezet."
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "Gebruiker is tijdelijk niet beschikbaar."
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr "De gebruiker wenst niet gestoord te worden."
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr "Oproep geweigerd."
 
-#: ../coreapi/callbacks.c:568
+#: ../coreapi/callbacks.c:571
 msgid "No response."
 msgstr ""
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
 msgstr ""
 
-#: ../coreapi/callbacks.c:588
+#: ../coreapi/callbacks.c:591
 #, fuzzy
 msgid "Redirected"
 msgstr "Doorgeschakeld naar %s..."
 
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 msgid "Incompatible media parameters."
 msgstr ""
 
-#: ../coreapi/callbacks.c:630
+#: ../coreapi/callbacks.c:633
 #, fuzzy
 msgid "Call failed."
 msgstr "Oproep geannuleerd."
 
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, c-format
 msgid "Registration on %s successful."
 msgstr "Registratie op %s gelukt."
 
-#: ../coreapi/callbacks.c:734
+#: ../coreapi/callbacks.c:738
 #, fuzzy, c-format
 msgid "Unregistration on %s done."
 msgstr "Registratie op %s gelukt."
 
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr ""
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, fuzzy, c-format
 msgid "Registration on %s failed: %s"
 msgstr "Registratie op %s mislukt (time-out)."
@@ -1833,7 +1848,7 @@ msgstr "Registratie op %s mislukt (time-out)."
 msgid "Authentication token is %s"
 msgstr "Authorisatie gegevens"
 
-#: ../coreapi/linphonecall.c:2314
+#: ../coreapi/linphonecall.c:2319
 #, fuzzy, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
index 7999a657d876ebd2e6b5ff7c5c3f85be4960e353..4512b7230adddbab50511beb9f64e0db59474f4f 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: linphone 0.7.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
 "PO-Revision-Date: 2003-08-22 12:50+0200\n"
 "Last-Translator: Robert Nasiadek <darkone@darkone.pl>\n"
 "Language-Team: Polski <pl@li.org>\n"
@@ -15,53 +15,73 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
 
-#: ../gtk/calllogs.c:82
+#: ../gtk/calllogs.c:139 ../gtk/friendlist.c:922
+#, c-format
+msgid "Call %s"
+msgstr ""
+
+#: ../gtk/calllogs.c:140 ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr ""
+
+#: ../gtk/calllogs.c:223
+#, fuzzy, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "Dzwonie do "
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
 msgstr ""
 
-#: ../gtk/calllogs.c:85
+#: ../gtk/calllogs.c:303
 #, fuzzy
 msgid "Aborted"
 msgstr "Połączenie odwołane."
 
-#: ../gtk/calllogs.c:88
+#: ../gtk/calllogs.c:306
 msgid "Missed"
 msgstr ""
 
-#: ../gtk/calllogs.c:91
+#: ../gtk/calllogs.c:309
 #, fuzzy
 msgid "Declined"
 msgstr "linia"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../gtk/calllogs.c:103
+#: ../gtk/calllogs.c:321 ../gtk/calllogs.c:327
+#, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+
+#: ../gtk/calllogs.c:323
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
-"%s\t%s %s\t"
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
 
-#: ../gtk/calllogs.c:108
+#: ../gtk/calllogs.c:329
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38 ../gtk/main.ui.h:13
 msgid "Conference"
 msgstr ""
 
@@ -74,42 +94,46 @@ msgstr ""
 msgid "Couldn't find pixmap file: %s"
 msgstr "Nie można znaleźć pixmapy: %s"
 
-#: ../gtk/main.c:88
+#: ../gtk/chat.c:324 ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr ""
+
+#: ../gtk/main.c:92
 msgid "log to stdout some debug information while running."
 msgstr ""
 
-#: ../gtk/main.c:95
+#: ../gtk/main.c:99
 msgid "path to a file to write logs into."
 msgstr ""
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
 msgstr ""
 
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 msgid "Start only in the system tray, do not show the main interface."
 msgstr ""
 
-#: ../gtk/main.c:116
+#: ../gtk/main.c:120
 msgid "address to call right now"
 msgstr ""
 
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 msgid "if set automatically answer incoming calls"
 msgstr ""
 
-#: ../gtk/main.c:130
+#: ../gtk/main.c:134
 msgid ""
 "Specifiy a working directory (should be the base of the installation, eg: c:"
 "\\Program Files\\Linphone)"
 msgstr ""
 
-#: ../gtk/main.c:510
+#: ../gtk/main.c:515
 #, c-format
 msgid "Call with %s"
 msgstr ""
 
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
@@ -118,132 +142,123 @@ msgid ""
 "If you answer no, this person will be temporarily blacklisted."
 msgstr ""
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
 " at domain <i>%s</i>:"
 msgstr ""
 
-#: ../gtk/main.c:1121
+#: ../gtk/main.c:1126
 #, fuzzy
 msgid "Call error"
 msgstr "Połączenie odwołane."
 
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129 ../coreapi/linphonecore.c:3189
 #, fuzzy
 msgid "Call ended"
 msgstr "Rozmowa odrzucona."
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132 ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr ""
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134 ../gtk/incall_view.c:497 ../gtk/main.ui.h:5
 msgid "Answer"
 msgstr ""
 
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
+#: ../gtk/main.c:1136 ../gtk/main.ui.h:6
 #, fuzzy
 msgid "Decline"
 msgstr "linia"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy
 msgid "Call paused"
 msgstr "Połączenie odwołane."
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy, c-format
 msgid "<b>by %s</b>"
 msgstr "Dzwonie do "
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, c-format
 msgid "%s proposed to start video. Do you accept ?"
 msgstr ""
 
-#: ../gtk/main.c:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
 msgstr ""
 
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
 msgstr ""
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
 msgstr ""
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796 ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
 msgstr ""
 
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 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:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr ""
 
-#: ../gtk/friendlist.c:366
+#: ../gtk/friendlist.c:469
 #, fuzzy
 msgid "Add to addressbook"
 msgstr "Książka adresowa"
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 #, fuzzy
 msgid "Presence status"
 msgstr "Obecność"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "Nazwa"
 
-#: ../gtk/friendlist.c:569
+#: ../gtk/friendlist.c:673
 #, fuzzy
 msgid "Call"
 msgstr "Połączenie odwołane."
 
-#: ../gtk/friendlist.c:574
+#: ../gtk/friendlist.c:678
 msgid "Chat"
 msgstr ""
 
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
 msgstr ""
 
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr ""
-
-#: ../gtk/friendlist.c:807
-#, c-format
-msgid "Call %s"
-msgstr ""
-
-#: ../gtk/friendlist.c:808
-#, c-format
-msgid "Send text to %s"
-msgstr ""
-
-#: ../gtk/friendlist.c:809
+#: ../gtk/friendlist.c:924
 #, fuzzy, c-format
 msgid "Edit contact '%s'"
 msgstr "(Brak informacji kontaktowych !)"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
 msgstr ""
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:926
+#, c-format
+msgid "Delete chat history of '%s'"
+msgstr ""
+
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
 msgstr ""
@@ -344,21 +359,25 @@ msgstr ""
 msgid "Hebrew"
 msgstr ""
 
-#: ../gtk/propertybox.c:847
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
+msgstr ""
+
+#: ../gtk/propertybox.c:848
 msgid ""
 "You need to restart linphone for the new language selection to take effect."
 msgstr ""
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 #, fuzzy
 msgid "None"
 msgstr "Brak."
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
 msgstr ""
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
 msgstr ""
 
@@ -604,118 +623,118 @@ msgstr ""
 msgid "%.3f seconds"
 msgstr ""
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:12
 msgid "Hang up"
 msgstr ""
 
-#: ../gtk/incall_view.c:477
+#: ../gtk/incall_view.c:476
 #, fuzzy
 msgid "<b>Calling...</b>"
 msgstr "Dzwonie do "
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479 ../gtk/incall_view.c:689
 msgid "00::00::00"
 msgstr ""
 
-#: ../gtk/incall_view.c:491
+#: ../gtk/incall_view.c:490
 #, fuzzy
 msgid "<b>Incoming call</b>"
 msgstr "Dzwonie do "
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
 msgstr ""
 
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
 msgstr ""
 
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
 msgstr ""
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536 ../gtk/incall_view.c:552
 msgid "unavailable"
 msgstr ""
 
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
 msgstr ""
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
 msgstr ""
 
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
 msgstr ""
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663 ../gtk/main.ui.h:4
 msgid "Set verified"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 #, fuzzy
 msgid "<b>In call</b>"
 msgstr "Dzwonie do "
 
-#: ../gtk/incall_view.c:719
+#: ../gtk/incall_view.c:718
 #, fuzzy
 msgid "<b>Paused call</b>"
 msgstr "Dzwonie do "
 
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
 msgstr ""
 
-#: ../gtk/incall_view.c:749
+#: ../gtk/incall_view.c:748
 #, fuzzy
 msgid "<b>Call ended.</b>"
 msgstr "Rozmowa odrzucona."
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
 msgstr ""
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 msgid "Transfer done."
 msgstr ""
 
-#: ../gtk/incall_view.c:785
+#: ../gtk/incall_view.c:784
 #, fuzzy
 msgid "Transfer failed."
 msgstr "Połączenie odwołane."
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
 msgstr ""
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835 ../gtk/main.ui.h:9
 msgid "Pause"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 msgid "(Paused)"
 msgstr ""
 
@@ -738,171 +757,167 @@ msgstr "Dźwięk"
 msgid "End conference"
 msgstr ""
 
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr ""
-
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
 msgstr ""
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
 msgstr ""
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
 msgstr ""
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
 msgstr ""
 
-#: ../gtk/main.ui.h:15
+#: ../gtk/main.ui.h:14
 #, fuzzy
 msgid "In call"
 msgstr "Dzwonie do "
 
-#: ../gtk/main.ui.h:16
+#: ../gtk/main.ui.h:15
 #, fuzzy
 msgid "Duration"
 msgstr "Informacja"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
 msgstr ""
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
 msgstr ""
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
 msgstr ""
 
-#: ../gtk/main.ui.h:20
+#: ../gtk/main.ui.h:19
 #, fuzzy
 msgid "Enable self-view"
 msgstr "Włączone"
 
-#: ../gtk/main.ui.h:21
+#: ../gtk/main.ui.h:20
 msgid "_Help"
 msgstr ""
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 msgid "Show debug window"
 msgstr ""
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 msgid "_Homepage"
 msgstr ""
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 msgid "Check _Updates"
 msgstr ""
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 msgid "Account assistant"
 msgstr ""
 
-#: ../gtk/main.ui.h:26
+#: ../gtk/main.ui.h:25
 #, fuzzy
 msgid "SIP address or phone number:"
 msgstr "Adres serwera rejestracji sip"
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
 msgstr ""
 
-#: ../gtk/main.ui.h:28
+#: ../gtk/main.ui.h:27
 #, fuzzy
 msgid "Contacts"
 msgstr "Dzwonie do "
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28 ../gtk/parameters.ui.h:50
 #, fuzzy
 msgid "Add"
 msgstr "Adres"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr ""
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
 msgstr ""
 
-#: ../gtk/main.ui.h:32
+#: ../gtk/main.ui.h:31
 #, fuzzy
 msgid "<b>Add contacts from directory</b>"
 msgstr "Informacje o kodeku"
 
-#: ../gtk/main.ui.h:33
+#: ../gtk/main.ui.h:32
 #, fuzzy
 msgid "Add contact"
 msgstr "(Brak informacji kontaktowych !)"
 
-#: ../gtk/main.ui.h:34
+#: ../gtk/main.ui.h:33
 #, fuzzy
 msgid "Recent calls"
 msgstr "Dzwonie do "
 
-#: ../gtk/main.ui.h:35
+#: ../gtk/main.ui.h:34
 #, fuzzy
 msgid "My current identity:"
 msgstr "Tożsamość"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
+#: ../gtk/main.ui.h:35 ../gtk/tunnel_config.ui.h:7
 #, fuzzy
 msgid "Username"
 msgstr "Podręcznik"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
+#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:8
 #, fuzzy
 msgid "Password"
 msgstr "Twoje hasło:"
 
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
 msgstr ""
 
-#: ../gtk/main.ui.h:39
+#: ../gtk/main.ui.h:38
 msgid "Automatically log me in"
 msgstr ""
 
-#: ../gtk/main.ui.h:40
+#: ../gtk/main.ui.h:39
 #, fuzzy
 msgid "Login information"
 msgstr "Informacje o kodeku"
 
-#: ../gtk/main.ui.h:41
+#: ../gtk/main.ui.h:40
 #, fuzzy
 msgid "<b>Welcome !</b>"
 msgstr "Dzwonie do "
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
 msgstr ""
 
-#: ../gtk/main.ui.h:43
+#: ../gtk/main.ui.h:42
 #, fuzzy
 msgid "Online users"
 msgstr "linia"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
 msgstr ""
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 msgid "Fiber Channel"
 msgstr ""
 
-#: ../gtk/main.ui.h:46
+#: ../gtk/main.ui.h:45
 #, fuzzy
 msgid "Default"
 msgstr "Tożsamość"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
 msgstr ""
 
@@ -1526,7 +1541,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr ""
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 #, fuzzy
 msgid "Ready"
 msgstr "Gotowy."
@@ -1586,11 +1601,11 @@ msgstr "Połączony"
 msgid "Call aborted"
 msgstr "Połączenie odwołane."
 
-#: ../coreapi/linphonecore.c:3351
+#: ../coreapi/linphonecore.c:3357
 msgid "Could not pause the call"
 msgstr ""
 
-#: ../coreapi/linphonecore.c:3356
+#: ../coreapi/linphonecore.c:3362
 msgid "Pausing the current call..."
 msgstr ""
 
@@ -1690,121 +1705,121 @@ msgid ""
 "It should look like sip:username@proxydomain, such as sip:alice@example.net"
 msgstr ""
 
-#: ../coreapi/proxy.c:1068
+#: ../coreapi/proxy.c:1069
 #, fuzzy, c-format
 msgid "Could not login as %s"
 msgstr "Nie można znaleźć pixmapy: %s"
 
-#: ../coreapi/callbacks.c:283
+#: ../coreapi/callbacks.c:286
 #, fuzzy
 msgid "Remote ringing."
 msgstr "Rejestruje..."
 
-#: ../coreapi/callbacks.c:303
+#: ../coreapi/callbacks.c:306
 #, fuzzy
 msgid "Remote ringing..."
 msgstr "Rejestruje..."
 
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
 msgstr ""
 
-#: ../coreapi/callbacks.c:365
+#: ../coreapi/callbacks.c:368
 #, c-format
 msgid "Call with %s is paused."
 msgstr ""
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
 msgstr ""
 
-#: ../coreapi/callbacks.c:389
+#: ../coreapi/callbacks.c:392
 #, fuzzy
 msgid "Call resumed."
 msgstr "Rozmowa odrzucona."
 
-#: ../coreapi/callbacks.c:394
+#: ../coreapi/callbacks.c:397
 #, fuzzy, c-format
 msgid "Call answered by %s."
 msgstr ""
 "Zadzwoń lub\n"
 "Odpowiedz"
 
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 msgid "Incompatible, check codecs or security settings..."
 msgstr ""
 
-#: ../coreapi/callbacks.c:457
+#: ../coreapi/callbacks.c:460
 msgid "We have been resumed."
 msgstr ""
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
 msgstr ""
 
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 msgid "Call is updated by remote."
 msgstr ""
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 #, fuzzy
 msgid "Call terminated."
 msgstr "Rozmowa odrzucona."
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "Osoba jest zajęta."
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "Osoba jest tymczasowo niedostępna."
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr "Osoba nie chce, aby jej przeszkadzać."
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr "Rozmowa odrzucona."
 
-#: ../coreapi/callbacks.c:568
+#: ../coreapi/callbacks.c:571
 msgid "No response."
 msgstr ""
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
 msgstr ""
 
-#: ../coreapi/callbacks.c:588
+#: ../coreapi/callbacks.c:591
 msgid "Redirected"
 msgstr ""
 
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 msgid "Incompatible media parameters."
 msgstr ""
 
-#: ../coreapi/callbacks.c:630
+#: ../coreapi/callbacks.c:633
 #, fuzzy
 msgid "Call failed."
 msgstr "Połączenie odwołane."
 
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, fuzzy, c-format
 msgid "Registration on %s successful."
 msgstr "Rejestracja powiodła się."
 
-#: ../coreapi/callbacks.c:734
+#: ../coreapi/callbacks.c:738
 #, fuzzy, c-format
 msgid "Unregistration on %s done."
 msgstr "Rejestracja powiodła się."
 
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr ""
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, fuzzy, c-format
 msgid "Registration on %s failed: %s"
 msgstr "Rejestracja powiodła się."
@@ -1814,7 +1829,7 @@ msgstr "Rejestracja powiodła się."
 msgid "Authentication token is %s"
 msgstr "Informacje o kodeku"
 
-#: ../coreapi/linphonecall.c:2314
+#: ../coreapi/linphonecall.c:2319
 #, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
index 9cd72ea900baaf39d0cb52da35023f2e846e86dd..821ba910f1305a7c3b0c5d130921e51710987fe8 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: linphone-1.1.0\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
 "PO-Revision-Date: 2006-07-11 23:30+0200\n"
 "Last-Translator: Rafael Caesar Lenzi <rc_lenzi@yahoo.com.br>\n"
 "Language-Team: pt_BR <pt_BR@li.org>\n"
@@ -17,54 +17,74 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../gtk/calllogs.c:82
+#: ../gtk/calllogs.c:139 ../gtk/friendlist.c:922
+#, fuzzy, c-format
+msgid "Call %s"
+msgstr "Histórico de chamadas"
+
+#: ../gtk/calllogs.c:140 ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr ""
+
+#: ../gtk/calllogs.c:223
+#, fuzzy, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "Contatando "
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
 msgstr ""
 
-#: ../gtk/calllogs.c:85
+#: ../gtk/calllogs.c:303
 #, fuzzy
 msgid "Aborted"
 msgstr "Abortado"
 
-#: ../gtk/calllogs.c:88
+#: ../gtk/calllogs.c:306
 #, fuzzy
 msgid "Missed"
 msgstr "Perdido"
 
-#: ../gtk/calllogs.c:91
+#: ../gtk/calllogs.c:309
 #, fuzzy
 msgid "Declined"
 msgstr "linha"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../gtk/calllogs.c:103
+#: ../gtk/calllogs.c:321 ../gtk/calllogs.c:327
+#, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+
+#: ../gtk/calllogs.c:323
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
-"%s\t%s %s\t"
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
 
-#: ../gtk/calllogs.c:108
+#: ../gtk/calllogs.c:329
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38 ../gtk/main.ui.h:13
 msgid "Conference"
 msgstr ""
 
@@ -77,42 +97,46 @@ msgstr ""
 msgid "Couldn't find pixmap file: %s"
 msgstr "Não é possível achar arquivo pixmap: %s"
 
-#: ../gtk/main.c:88
+#: ../gtk/chat.c:324 ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr ""
+
+#: ../gtk/main.c:92
 msgid "log to stdout some debug information while running."
 msgstr ""
 
-#: ../gtk/main.c:95
+#: ../gtk/main.c:99
 msgid "path to a file to write logs into."
 msgstr ""
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
 msgstr ""
 
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 msgid "Start only in the system tray, do not show the main interface."
 msgstr ""
 
-#: ../gtk/main.c:116
+#: ../gtk/main.c:120
 msgid "address to call right now"
 msgstr ""
 
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 msgid "if set automatically answer incoming calls"
 msgstr ""
 
-#: ../gtk/main.c:130
+#: ../gtk/main.c:134
 msgid ""
 "Specifiy a working directory (should be the base of the installation, eg: c:"
 "\\Program Files\\Linphone)"
 msgstr ""
 
-#: ../gtk/main.c:510
+#: ../gtk/main.c:515
 #, fuzzy, c-format
 msgid "Call with %s"
 msgstr "Bate-papo com %s"
 
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
@@ -121,132 +145,123 @@ msgid ""
 "If you answer no, this person will be temporarily blacklisted."
 msgstr ""
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
 " at domain <i>%s</i>:"
 msgstr ""
 
-#: ../gtk/main.c:1121
+#: ../gtk/main.c:1126
 #, fuzzy
 msgid "Call error"
 msgstr "Linphone - Histórico de chamadas"
 
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129 ../coreapi/linphonecore.c:3189
 #, fuzzy
 msgid "Call ended"
 msgstr "Chamada cancelada."
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132 ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr "Camadas recebidas"
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134 ../gtk/incall_view.c:497 ../gtk/main.ui.h:5
 msgid "Answer"
 msgstr ""
 
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
+#: ../gtk/main.c:1136 ../gtk/main.ui.h:6
 #, fuzzy
 msgid "Decline"
 msgstr "linha"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy
 msgid "Call paused"
 msgstr "Abortado"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy, c-format
 msgid "<b>by %s</b>"
 msgstr "Contatando "
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, c-format
 msgid "%s proposed to start video. Do you accept ?"
 msgstr ""
 
-#: ../gtk/main.c:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
 msgstr ""
 
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
 msgstr ""
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
 msgstr ""
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796 ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
 msgstr ""
 
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 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:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr ""
 
-#: ../gtk/friendlist.c:366
+#: ../gtk/friendlist.c:469
 #, fuzzy
 msgid "Add to addressbook"
 msgstr "Catálogo de endereços"
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 msgid "Presence status"
 msgstr "Status de presença"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "Nome"
 
-#: ../gtk/friendlist.c:569
+#: ../gtk/friendlist.c:673
 #, fuzzy
 msgid "Call"
 msgstr "Histórico de chamadas"
 
-#: ../gtk/friendlist.c:574
+#: ../gtk/friendlist.c:678
 #, fuzzy
 msgid "Chat"
 msgstr "Sala de bate-papo"
 
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
 msgstr ""
 
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr ""
-
-#: ../gtk/friendlist.c:807
-#, fuzzy, c-format
-msgid "Call %s"
-msgstr "Histórico de chamadas"
-
-#: ../gtk/friendlist.c:808
-#, c-format
-msgid "Send text to %s"
-msgstr ""
-
-#: ../gtk/friendlist.c:809
+#: ../gtk/friendlist.c:924
 #, fuzzy, c-format
 msgid "Edit contact '%s'"
 msgstr "Edicar informação de contato"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
 msgstr ""
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:926
+#, c-format
+msgid "Delete chat history of '%s'"
+msgstr ""
+
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
 msgstr ""
@@ -348,20 +363,24 @@ msgstr ""
 msgid "Hebrew"
 msgstr ""
 
-#: ../gtk/propertybox.c:847
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
+msgstr ""
+
+#: ../gtk/propertybox.c:848
 msgid ""
 "You need to restart linphone for the new language selection to take effect."
 msgstr ""
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 msgid "None"
 msgstr "Nenhum"
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
 msgstr ""
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
 msgstr ""
 
@@ -608,118 +627,118 @@ msgstr ""
 msgid "%.3f seconds"
 msgstr ""
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:12
 msgid "Hang up"
 msgstr ""
 
-#: ../gtk/incall_view.c:477
+#: ../gtk/incall_view.c:476
 #, fuzzy
 msgid "<b>Calling...</b>"
 msgstr "Contatando "
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479 ../gtk/incall_view.c:689
 msgid "00::00::00"
 msgstr ""
 
-#: ../gtk/incall_view.c:491
+#: ../gtk/incall_view.c:490
 #, fuzzy
 msgid "<b>Incoming call</b>"
 msgstr "Camadas recebidas"
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
 msgstr ""
 
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
 msgstr ""
 
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
 msgstr ""
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536 ../gtk/incall_view.c:552
 msgid "unavailable"
 msgstr ""
 
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
 msgstr ""
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
 msgstr ""
 
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
 msgstr ""
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663 ../gtk/main.ui.h:4
 msgid "Set verified"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 #, fuzzy
 msgid "<b>In call</b>"
 msgstr "Contatando "
 
-#: ../gtk/incall_view.c:719
+#: ../gtk/incall_view.c:718
 #, fuzzy
 msgid "<b>Paused call</b>"
 msgstr "Contatando "
 
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
 msgstr ""
 
-#: ../gtk/incall_view.c:749
+#: ../gtk/incall_view.c:748
 #, fuzzy
 msgid "<b>Call ended.</b>"
 msgstr "Chamada cancelada."
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
 msgstr ""
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 msgid "Transfer done."
 msgstr ""
 
-#: ../gtk/incall_view.c:785
+#: ../gtk/incall_view.c:784
 #, fuzzy
 msgid "Transfer failed."
 msgstr "Histórico de chamadas"
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
 msgstr ""
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835 ../gtk/main.ui.h:9
 msgid "Pause"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 msgid "(Paused)"
 msgstr ""
 
@@ -742,171 +761,167 @@ msgstr "Som"
 msgid "End conference"
 msgstr ""
 
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr ""
-
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
 msgstr ""
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
 msgstr ""
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
 msgstr ""
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
 msgstr ""
 
-#: ../gtk/main.ui.h:15
+#: ../gtk/main.ui.h:14
 #, fuzzy
 msgid "In call"
 msgstr "Camadas recebidas"
 
-#: ../gtk/main.ui.h:16
+#: ../gtk/main.ui.h:15
 #, fuzzy
 msgid "Duration"
 msgstr "Informações"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
 msgstr ""
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
 msgstr ""
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
 msgstr ""
 
-#: ../gtk/main.ui.h:20
+#: ../gtk/main.ui.h:19
 #, fuzzy
 msgid "Enable self-view"
 msgstr "Ativado"
 
-#: ../gtk/main.ui.h:21
+#: ../gtk/main.ui.h:20
 msgid "_Help"
 msgstr ""
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 msgid "Show debug window"
 msgstr ""
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 msgid "_Homepage"
 msgstr ""
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 msgid "Check _Updates"
 msgstr ""
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 msgid "Account assistant"
 msgstr ""
 
-#: ../gtk/main.ui.h:26
+#: ../gtk/main.ui.h:25
 msgid "SIP address or phone number:"
 msgstr ""
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
 msgstr ""
 
-#: ../gtk/main.ui.h:28
+#: ../gtk/main.ui.h:27
 #, fuzzy
 msgid "Contacts"
 msgstr "Contatando "
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28 ../gtk/parameters.ui.h:50
 #, fuzzy
 msgid "Add"
 msgstr "Endereço"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr "Editar"
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
 msgstr ""
 
-#: ../gtk/main.ui.h:32
+#: ../gtk/main.ui.h:31
 #, fuzzy
 msgid "<b>Add contacts from directory</b>"
 msgstr "Informação de contato"
 
-#: ../gtk/main.ui.h:33
+#: ../gtk/main.ui.h:32
 #, fuzzy
 msgid "Add contact"
 msgstr "Edicar informação de contato"
 
-#: ../gtk/main.ui.h:34
+#: ../gtk/main.ui.h:33
 #, fuzzy
 msgid "Recent calls"
 msgstr "Camadas recebidas"
 
-#: ../gtk/main.ui.h:35
+#: ../gtk/main.ui.h:34
 #, fuzzy
 msgid "My current identity:"
 msgstr "Identificação SIP:"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
+#: ../gtk/main.ui.h:35 ../gtk/tunnel_config.ui.h:7
 #, fuzzy
 msgid "Username"
 msgstr "Usuário"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
+#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:8
 #, fuzzy
 msgid "Password"
 msgstr "Senha:"
 
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
 msgstr ""
 
-#: ../gtk/main.ui.h:39
+#: ../gtk/main.ui.h:38
 #, fuzzy
 msgid "Automatically log me in"
 msgstr "Adquirir automaticamente um nome de servidor válido."
 
-#: ../gtk/main.ui.h:40
+#: ../gtk/main.ui.h:39
 #, fuzzy
 msgid "Login information"
 msgstr "Informação de contato"
 
-#: ../gtk/main.ui.h:41
+#: ../gtk/main.ui.h:40
 #, fuzzy
 msgid "<b>Welcome !</b>"
 msgstr "Contatando "
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
 msgstr ""
 
-#: ../gtk/main.ui.h:43
+#: ../gtk/main.ui.h:42
 #, fuzzy
 msgid "Online users"
 msgstr "linha"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
 msgstr ""
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 msgid "Fiber Channel"
 msgstr ""
 
-#: ../gtk/main.ui.h:46
+#: ../gtk/main.ui.h:45
 #, fuzzy
 msgid "Default"
 msgstr "Identificação SIP:"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
 msgstr ""
 
@@ -1535,7 +1550,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr "Chamadas efetuadas"
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 #, fuzzy
 msgid "Ready"
 msgstr "Pronto."
@@ -1594,11 +1609,11 @@ msgstr "Conectado."
 msgid "Call aborted"
 msgstr "Abortado"
 
-#: ../coreapi/linphonecore.c:3351
+#: ../coreapi/linphonecore.c:3357
 msgid "Could not pause the call"
 msgstr ""
 
-#: ../coreapi/linphonecore.c:3356
+#: ../coreapi/linphonecore.c:3362
 msgid "Pausing the current call..."
 msgstr ""
 
@@ -1688,121 +1703,121 @@ msgid ""
 "It should look like sip:username@proxydomain, such as sip:alice@example.net"
 msgstr ""
 
-#: ../coreapi/proxy.c:1068
+#: ../coreapi/proxy.c:1069
 #, fuzzy, c-format
 msgid "Could not login as %s"
 msgstr "Não é possível achar arquivo pixmap: %s"
 
-#: ../coreapi/callbacks.c:283
+#: ../coreapi/callbacks.c:286
 #, fuzzy
 msgid "Remote ringing."
 msgstr "Serviços remotos"
 
-#: ../coreapi/callbacks.c:303
+#: ../coreapi/callbacks.c:306
 #, fuzzy
 msgid "Remote ringing..."
 msgstr "Serviços remotos"
 
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
 msgstr ""
 
-#: ../coreapi/callbacks.c:365
+#: ../coreapi/callbacks.c:368
 #, fuzzy, c-format
 msgid "Call with %s is paused."
 msgstr "Bate-papo com %s"
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
 msgstr ""
 
-#: ../coreapi/callbacks.c:389
+#: ../coreapi/callbacks.c:392
 #, fuzzy
 msgid "Call resumed."
 msgstr "Chamada cancelada."
 
-#: ../coreapi/callbacks.c:394
+#: ../coreapi/callbacks.c:397
 #, fuzzy, c-format
 msgid "Call answered by %s."
 msgstr ""
 "Ligar ou\n"
 "atender"
 
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 msgid "Incompatible, check codecs or security settings..."
 msgstr ""
 
-#: ../coreapi/callbacks.c:457
+#: ../coreapi/callbacks.c:460
 msgid "We have been resumed."
 msgstr ""
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
 msgstr ""
 
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 msgid "Call is updated by remote."
 msgstr ""
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 msgid "Call terminated."
 msgstr ""
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "Usuário está ocupado."
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "Usuário está temporáriamente indisponível."
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr ""
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr ""
 
-#: ../coreapi/callbacks.c:568
+#: ../coreapi/callbacks.c:571
 msgid "No response."
 msgstr ""
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
 msgstr ""
 
-#: ../coreapi/callbacks.c:588
+#: ../coreapi/callbacks.c:591
 #, fuzzy
 msgid "Redirected"
 msgstr "Redirecionado para %s..."
 
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 msgid "Incompatible media parameters."
 msgstr ""
 
-#: ../coreapi/callbacks.c:630
+#: ../coreapi/callbacks.c:633
 #, fuzzy
 msgid "Call failed."
 msgstr "Histórico de chamadas"
 
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, fuzzy, c-format
 msgid "Registration on %s successful."
 msgstr "Registro em %s efetuado."
 
-#: ../coreapi/callbacks.c:734
+#: ../coreapi/callbacks.c:738
 #, fuzzy, c-format
 msgid "Unregistration on %s done."
 msgstr "Registro em %s efetuado."
 
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr ""
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, fuzzy, c-format
 msgid "Registration on %s failed: %s"
 msgstr "Registro falhou (tempo esgotado)."
@@ -1812,7 +1827,7 @@ msgstr "Registro falhou (tempo esgotado)."
 msgid "Authentication token is %s"
 msgstr "Informações de autenticação"
 
-#: ../coreapi/linphonecall.c:2314
+#: ../coreapi/linphonecall.c:2319
 #, fuzzy, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
index a7fd4a832795cdb0546f4cdcbf1cd51df6f515bf..66419e69af8ef9dbf7e3c97b07e16b5263a89e3d 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: linphone 0.7.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
 "PO-Revision-Date: 2010-01-22 18:43+0300\n"
 "Last-Translator: Maxim Prokopyev <jazzelastic@gmail.com>\n"
 "Language-Team: Russian <greg@dial.com.ru>\n"
@@ -17,26 +17,41 @@ msgstr ""
 "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:82
+#: ../gtk/calllogs.c:139 ../gtk/friendlist.c:922
+#, c-format
+msgid "Call %s"
+msgstr "Набрать %s"
+
+#: ../gtk/calllogs.c:140 ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr "Послать текст к %s"
+
+#: ../gtk/calllogs.c:223
+#, fuzzy, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "<b>Соединен с</b>"
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
 msgstr "н/д"
 
-#: ../gtk/calllogs.c:85
+#: ../gtk/calllogs.c:303
 #, fuzzy
 msgid "Aborted"
 msgstr "отмененный"
 
-#: ../gtk/calllogs.c:88
+#: ../gtk/calllogs.c:306
 #, fuzzy
 msgid "Missed"
 msgstr "пропущенный"
 
-#: ../gtk/calllogs.c:91
+#: ../gtk/calllogs.c:309
 #, fuzzy
 msgid "Declined"
 msgstr "Отклонить"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
@@ -44,7 +59,7 @@ msgstr[0] "%i минута"
 msgstr[1] "%i минуты"
 msgstr[2] "%i минут"
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
@@ -52,25 +67,32 @@ msgstr[0] "%i секунда"
 msgstr[1] "%i секунды"
 msgstr[2] "%i секунд"
 
-#: ../gtk/calllogs.c:103
-#, c-format
-msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+#: ../gtk/calllogs.c:321 ../gtk/calllogs.c:327
+#, fuzzy, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Качество: %s</i></small>\n"
 "%s\t%s %s\t"
+
+#: ../gtk/calllogs.c:323
+#, fuzzy, c-format
+msgid ""
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
 "<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Качество: %s</i></small>\n"
 "%s\t%s %s\t"
 
-#: ../gtk/calllogs.c:108
+#: ../gtk/calllogs.c:329
 #, fuzzy, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
 "<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Качество: %s</i></small>\n"
 "%s\t%s %s\t"
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38 ../gtk/main.ui.h:13
 msgid "Conference"
 msgstr "Конференция"
 
@@ -83,33 +105,37 @@ msgstr "Я"
 msgid "Couldn't find pixmap file: %s"
 msgstr "Невозможно найти графический файл: %s"
 
-#: ../gtk/main.c:88
+#: ../gtk/chat.c:324 ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr "Неверный sip-контакт!"
+
+#: ../gtk/main.c:92
 msgid "log to stdout some debug information while running."
 msgstr ""
 "Вывод некоторой отладочной информации на устройство стандартного вывода во "
 "время работы"
 
-#: ../gtk/main.c:95
+#: ../gtk/main.c:99
 msgid "path to a file to write logs into."
 msgstr "путь к файлу для записи журнала работы."
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
 msgstr ""
 
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 msgid "Start only in the system tray, do not show the main interface."
 msgstr "Запускать только в системном лотке, не показывая главное окно"
 
-#: ../gtk/main.c:116
+#: ../gtk/main.c:120
 msgid "address to call right now"
 msgstr "адрес для звонка"
 
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 msgid "if set automatically answer incoming calls"
 msgstr "автоматически принимать входящие вызовы, если включено"
 
-#: ../gtk/main.c:130
+#: ../gtk/main.c:134
 msgid ""
 "Specifiy a working directory (should be the base of the installation, eg: c:"
 "\\Program Files\\Linphone)"
@@ -117,12 +143,12 @@ msgstr ""
 "Укажите рабочий каталог (должен содержать установленные файлы приложения, "
 "например: c:\\Program Files\\Linphone)"
 
-#: ../gtk/main.c:510
+#: ../gtk/main.c:515
 #, c-format
 msgid "Call with %s"
 msgstr "Чат с %s"
 
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
@@ -135,7 +161,7 @@ msgstr ""
 "его(её) в свой контактный лист?\n"
 "Если вы ответите Нет, этот человек будет временно заблокирован."
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
@@ -144,59 +170,59 @@ msgstr ""
 "Пожалуйста, введите пароль для пользователя <i>%s</i>\n"
 " в домене <i>%s</i>:"
 
-#: ../gtk/main.c:1121
+#: ../gtk/main.c:1126
 msgid "Call error"
 msgstr "Ошибка вызова"
 
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129 ../coreapi/linphonecore.c:3189
 msgid "Call ended"
 msgstr "Разговор окончен"
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132 ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr "Входящий вызов"
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134 ../gtk/incall_view.c:497 ../gtk/main.ui.h:5
 msgid "Answer"
 msgstr "Ответить"
 
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
+#: ../gtk/main.c:1136 ../gtk/main.ui.h:6
 msgid "Decline"
 msgstr "Отклонить"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 msgid "Call paused"
 msgstr "Вызов приостановлен"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy, c-format
 msgid "<b>by %s</b>"
 msgstr "<b>Порты</b>"
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, c-format
 msgid "%s proposed to start video. Do you accept ?"
 msgstr ""
 
-#: ../gtk/main.c:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
 msgstr "Ссылка на сайт"
 
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
 msgstr "Linphone - видео-телефон для интернета"
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
 msgstr "%s (По умолчанию)"
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796 ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
 msgstr "Мы переведены на %s"
 
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 msgid ""
 "No sound cards have been detected on this computer.\n"
 "You won't be able to send or receive audio calls."
@@ -204,61 +230,52 @@ msgstr ""
 "На этом компьютере не обнаружено ни одной звуковой карты.\n"
 "Вы не сможете совершать или принимать аудио-вызовы."
 
-#: ../gtk/main.c:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr "Свободный SIP видео-телефон"
 
-#: ../gtk/friendlist.c:366
+#: ../gtk/friendlist.c:469
 msgid "Add to addressbook"
 msgstr "Добавить в адресную книгу"
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 msgid "Presence status"
 msgstr "Статус присутствия"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "Имя"
 
-#: ../gtk/friendlist.c:569
+#: ../gtk/friendlist.c:673
 msgid "Call"
 msgstr "Вызов"
 
-#: ../gtk/friendlist.c:574
+#: ../gtk/friendlist.c:678
 #, fuzzy
 msgid "Chat"
 msgstr "Комната чата"
 
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
 msgstr "Поиск в директории %s"
 
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr "Неверный sip-контакт!"
-
-#: ../gtk/friendlist.c:807
-#, c-format
-msgid "Call %s"
-msgstr "Набрать %s"
-
-#: ../gtk/friendlist.c:808
-#, c-format
-msgid "Send text to %s"
-msgstr "Послать текст к %s"
-
-#: ../gtk/friendlist.c:809
+#: ../gtk/friendlist.c:924
 #, c-format
 msgid "Edit contact '%s'"
 msgstr "Редактировать контакт '%s'"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
 msgstr "Удалить контакт '%s'"
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:926
+#, fuzzy, c-format
+msgid "Delete chat history of '%s'"
+msgstr "Удалить контакт '%s'"
+
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
 msgstr "Добавить новый контакт из директории '%s'"
@@ -359,22 +376,26 @@ msgstr "Норвежский"
 msgid "Hebrew"
 msgstr ""
 
-#: ../gtk/propertybox.c:847
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
+msgstr ""
+
+#: ../gtk/propertybox.c:848
 msgid ""
 "You need to restart linphone for the new language selection to take effect."
 msgstr ""
 "Вы должны перезапустить Linphone для того, чтобы языковые настройки вступили "
 "в силу."
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 msgid "None"
 msgstr "Нет"
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
 msgstr "SRTP"
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
 msgstr "ZRTP"
 
@@ -627,114 +648,114 @@ msgstr ""
 msgid "%.3f seconds"
 msgstr "%i секунда"
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:12
 msgid "Hang up"
 msgstr ""
 
-#: ../gtk/incall_view.c:477
+#: ../gtk/incall_view.c:476
 msgid "<b>Calling...</b>"
 msgstr "<b>Вызов...</b>"
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479 ../gtk/incall_view.c:689
 msgid "00::00::00"
 msgstr "00::00::00"
 
-#: ../gtk/incall_view.c:491
+#: ../gtk/incall_view.c:490
 msgid "<b>Incoming call</b>"
 msgstr "<b>Входящий вызов</b>"
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
 msgstr "хорошее"
 
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
 msgstr "среднее"
 
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
 msgstr "плохое"
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
 msgstr "очень плохое"
 
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
 msgstr "слишком плохое"
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536 ../gtk/incall_view.c:552
 msgid "unavailable"
 msgstr "недоступно"
 
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
 msgstr "Защищено SRTP"
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
 msgstr "Защищено ZRTP - [токен: %s]"
 
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
 msgstr "Не проверен"
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663 ../gtk/main.ui.h:4
 msgid "Set verified"
 msgstr "Проверен"
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
 msgstr "В конференции"
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "<b>In call</b>"
 msgstr "<b>Соединен с</b>"
 
-#: ../gtk/incall_view.c:719
+#: ../gtk/incall_view.c:718
 msgid "<b>Paused call</b>"
 msgstr "<b>Приостановленный вызов</b>"
 
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
 msgstr "%02i::%02i::%02i"
 
-#: ../gtk/incall_view.c:749
+#: ../gtk/incall_view.c:748
 msgid "<b>Call ended.</b>"
 msgstr "<b>Звонок закончен.</b>"
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
 msgstr ""
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 #, fuzzy
 msgid "Transfer done."
 msgstr "Перевести"
 
-#: ../gtk/incall_view.c:785
+#: ../gtk/incall_view.c:784
 #, fuzzy
 msgid "Transfer failed."
 msgstr "Перевести"
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
 msgstr "Продолжить"
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835 ../gtk/main.ui.h:9
 msgid "Pause"
 msgstr "Пауза"
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, fuzzy
 msgid "(Paused)"
 msgstr "Пауза"
@@ -757,155 +778,151 @@ msgstr "Отправить"
 msgid "End conference"
 msgstr "В конференции"
 
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr "метка"
-
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
 msgstr ""
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
 msgstr ""
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
 msgstr ""
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
 msgstr "Перевести"
 
-#: ../gtk/main.ui.h:15
+#: ../gtk/main.ui.h:14
 msgid "In call"
 msgstr "Вызов"
 
-#: ../gtk/main.ui.h:16
+#: ../gtk/main.ui.h:15
 msgid "Duration"
 msgstr "Продолжительность"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
 msgstr "Уровень качества звонка"
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
 msgstr "_Настройки"
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
 msgstr ""
 
-#: ../gtk/main.ui.h:20
+#: ../gtk/main.ui.h:19
 msgid "Enable self-view"
 msgstr "Включить своё видео"
 
-#: ../gtk/main.ui.h:21
+#: ../gtk/main.ui.h:20
 msgid "_Help"
 msgstr "_Помощь"
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 msgid "Show debug window"
 msgstr "Показать окно отладки"
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 msgid "_Homepage"
 msgstr "_Домашняя страница"
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 msgid "Check _Updates"
 msgstr "Проверить _Обновления"
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 msgid "Account assistant"
 msgstr "Помощник настройки учётной записи"
 
-#: ../gtk/main.ui.h:26
+#: ../gtk/main.ui.h:25
 msgid "SIP address or phone number:"
 msgstr "SIP-адрес или номер телефона:"
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
 msgstr "Совершить новый вызов"
 
-#: ../gtk/main.ui.h:28
+#: ../gtk/main.ui.h:27
 msgid "Contacts"
 msgstr "Контакты"
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28 ../gtk/parameters.ui.h:50
 msgid "Add"
 msgstr "Добавить"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr "Редактировать"
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
 msgstr "Поиск"
 
-#: ../gtk/main.ui.h:32
+#: ../gtk/main.ui.h:31
 msgid "<b>Add contacts from directory</b>"
 msgstr "<b>Добавить контакты из директории</b>"
 
-#: ../gtk/main.ui.h:33
+#: ../gtk/main.ui.h:32
 msgid "Add contact"
 msgstr "Добавить контакт"
 
-#: ../gtk/main.ui.h:34
+#: ../gtk/main.ui.h:33
 msgid "Recent calls"
 msgstr "Недавние вызовы"
 
-#: ../gtk/main.ui.h:35
+#: ../gtk/main.ui.h:34
 msgid "My current identity:"
 msgstr "Мой текущий идентификатор:"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
+#: ../gtk/main.ui.h:35 ../gtk/tunnel_config.ui.h:7
 msgid "Username"
 msgstr "Имя пользователя"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
+#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:8
 msgid "Password"
 msgstr "Пароль"
 
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
 msgstr "Интернет-соединение:"
 
-#: ../gtk/main.ui.h:39
+#: ../gtk/main.ui.h:38
 msgid "Automatically log me in"
 msgstr "Входить автоматически"
 
-#: ../gtk/main.ui.h:40
+#: ../gtk/main.ui.h:39
 msgid "Login information"
 msgstr "Информация для входа"
 
-#: ../gtk/main.ui.h:41
+#: ../gtk/main.ui.h:40
 msgid "<b>Welcome !</b>"
 msgstr "<b>Добро пожаловать!</b>"
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
 msgstr "Все пользователи"
 
-#: ../gtk/main.ui.h:43
+#: ../gtk/main.ui.h:42
 msgid "Online users"
 msgstr "Пользователи в сети"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
 msgstr "ADSL"
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 msgid "Fiber Channel"
 msgstr "Оптоволокно"
 
-#: ../gtk/main.ui.h:46
+#: ../gtk/main.ui.h:45
 msgid "Default"
 msgstr "По умолчанию"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
 msgstr ""
 
@@ -1522,7 +1539,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr "Исходящий звонок"
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 msgid "Ready"
 msgstr "Готов"
 
@@ -1578,11 +1595,11 @@ msgstr "Соединён."
 msgid "Call aborted"
 msgstr "Вызов отменён"
 
-#: ../coreapi/linphonecore.c:3351
+#: ../coreapi/linphonecore.c:3357
 msgid "Could not pause the call"
 msgstr "Не удалось приостановить вызов"
 
-#: ../coreapi/linphonecore.c:3356
+#: ../coreapi/linphonecore.c:3362
 msgid "Pausing the current call..."
 msgstr "Приостановление текущего вызова..."
 
@@ -1685,118 +1702,118 @@ msgstr ""
 "Они должны выглядеть как sip:username@proxydomain, например such as sip:"
 "alice@example.net"
 
-#: ../coreapi/proxy.c:1068
+#: ../coreapi/proxy.c:1069
 #, c-format
 msgid "Could not login as %s"
 msgstr "Невозможно зайти как %s"
 
-#: ../coreapi/callbacks.c:283
+#: ../coreapi/callbacks.c:286
 msgid "Remote ringing."
 msgstr "Абонент вызывается."
 
-#: ../coreapi/callbacks.c:303
+#: ../coreapi/callbacks.c:306
 msgid "Remote ringing..."
 msgstr "Абонент вызывается..."
 
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
 msgstr "Гудки."
 
-#: ../coreapi/callbacks.c:365
+#: ../coreapi/callbacks.c:368
 #, c-format
 msgid "Call with %s is paused."
 msgstr "Вызов %s приостановлен."
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
 msgstr "Вызов отвечен %s - в ожидании."
 
-#: ../coreapi/callbacks.c:389
+#: ../coreapi/callbacks.c:392
 msgid "Call resumed."
 msgstr "Разговор продолжен."
 
-#: ../coreapi/callbacks.c:394
+#: ../coreapi/callbacks.c:397
 #, c-format
 msgid "Call answered by %s."
 msgstr "Вызов отвечен %s."
 
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 #, fuzzy
 msgid "Incompatible, check codecs or security settings..."
 msgstr "Несовместимо, проверьте кодеки..."
 
-#: ../coreapi/callbacks.c:457
+#: ../coreapi/callbacks.c:460
 #, fuzzy
 msgid "We have been resumed."
 msgstr "Наш вызов продолжен..."
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
 msgstr ""
 
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 #, fuzzy
 msgid "Call is updated by remote."
 msgstr "Вызов обновлён вызываемым абонентом..."
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 msgid "Call terminated."
 msgstr "Звонок прерван."
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "Пользователь занят."
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "Пользователь временно недоступен."
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr "Абонент не хочет отвечать."
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr "Звонок отклонён."
 
-#: ../coreapi/callbacks.c:568
+#: ../coreapi/callbacks.c:571
 msgid "No response."
 msgstr "Нет ответа."
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
 msgstr "Ошибка протокола."
 
-#: ../coreapi/callbacks.c:588
+#: ../coreapi/callbacks.c:591
 msgid "Redirected"
 msgstr "Переадресован"
 
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 #, fuzzy
 msgid "Incompatible media parameters."
 msgstr "Несовместимо, проверьте кодеки..."
 
-#: ../coreapi/callbacks.c:630
+#: ../coreapi/callbacks.c:633
 msgid "Call failed."
 msgstr "Не удалось совершить вызов."
 
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, c-format
 msgid "Registration on %s successful."
 msgstr "Регистрация на %s прошла успешно."
 
-#: ../coreapi/callbacks.c:734
+#: ../coreapi/callbacks.c:738
 #, c-format
 msgid "Unregistration on %s done."
 msgstr "Отмена регистрации на %s завершена."
 
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr "время ожидания истекло"
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, c-format
 msgid "Registration on %s failed: %s"
 msgstr "Регистрация на %s не удалась: %s"
@@ -1806,7 +1823,7 @@ msgstr "Регистрация на %s не удалась: %s"
 msgid "Authentication token is %s"
 msgstr "Аутентификационный токен: %s"
 
-#: ../coreapi/linphonecall.c:2314
+#: ../coreapi/linphonecall.c:2319
 #, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
@@ -1814,6 +1831,9 @@ msgstr[0] "У вас пропущен %i звонок."
 msgstr[1] "У вас пропущено %i звонка."
 msgstr[2] "У вас пропущено %i звонков."
 
+#~ msgid "label"
+#~ msgstr "метка"
+
 #~ msgid "<span size=\"large\">by %s</span>"
 #~ msgstr "<span size=\"large\">со стороны: %s</span>"
 
index 4a465ec8e58557cb4c00f017cd79cf932c0c337c..814b4d05030bfda8742971e27dae64aa2905ad7e 100644 (file)
--- a/po/sr.po
+++ b/po/sr.po
@@ -5,7 +5,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: linphone 0.7.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
 "PO-Revision-Date: 2013-02-11 19:03+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <gnom@prevod.org>\n"
@@ -16,26 +16,41 @@ msgstr ""
 "Plural-Forms: nplurals=4; plural=n==1? 3 : 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:82
+#: ../gtk/calllogs.c:139 ../gtk/friendlist.c:922
+#, c-format
+msgid "Call %s"
+msgstr "Позови „%s“"
+
+#: ../gtk/calllogs.c:140 ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr "Пошаљи текст за %s"
+
+#: ../gtk/calllogs.c:223
+#, fuzzy, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "<b>У позиву</b>"
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
 msgstr "н/д"
 
-#: ../gtk/calllogs.c:85
+#: ../gtk/calllogs.c:303
 #, fuzzy
 msgid "Aborted"
 msgstr "прекинути"
 
-#: ../gtk/calllogs.c:88
+#: ../gtk/calllogs.c:306
 #, fuzzy
 msgid "Missed"
 msgstr "пропуштени"
 
-#: ../gtk/calllogs.c:91
+#: ../gtk/calllogs.c:309
 #, fuzzy
 msgid "Declined"
 msgstr "Одбиј"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
@@ -44,7 +59,7 @@ msgstr[1] "%i минута"
 msgstr[2] "%i минута"
 msgstr[3] "Један минут"
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
@@ -53,25 +68,32 @@ msgstr[1] "%i секунде"
 msgstr[2] "%i секунде"
 msgstr[3] "Једна секунда"
 
-#: ../gtk/calllogs.c:103
-#, c-format
-msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+#: ../gtk/calllogs.c:321 ../gtk/calllogs.c:327
+#, fuzzy, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Квалитет: %s</i></small>\n"
 "%s\t%s %s\t"
+
+#: ../gtk/calllogs.c:323
+#, fuzzy, c-format
+msgid ""
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
 "<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Квалитет: %s</i></small>\n"
 "%s\t%s %s\t"
 
-#: ../gtk/calllogs.c:108
+#: ../gtk/calllogs.c:329
 #, fuzzy, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
 "<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Квалитет: %s</i></small>\n"
 "%s\t%s %s\t"
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38 ../gtk/main.ui.h:13
 msgid "Conference"
 msgstr "Конференција"
 
@@ -84,31 +106,35 @@ msgstr "Ја"
 msgid "Couldn't find pixmap file: %s"
 msgstr "Не могу да пронађем датотеку сличице: %s"
 
-#: ../gtk/main.c:88
+#: ../gtk/chat.c:324 ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr "Неисправан сип контакт !"
+
+#: ../gtk/main.c:92
 msgid "log to stdout some debug information while running."
 msgstr "бележи у стандардни излаз неке податке за уклањање грешака док ради."
 
-#: ../gtk/main.c:95
+#: ../gtk/main.c:99
 msgid "path to a file to write logs into."
 msgstr "путања до датотеке за уписивање бележака."
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
 msgstr ""
 
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 msgid "Start only in the system tray, do not show the main interface."
 msgstr "Покреће се само у системској фиоци, не приказује главно сучеље."
 
-#: ../gtk/main.c:116
+#: ../gtk/main.c:120
 msgid "address to call right now"
 msgstr "адреса за позивање управо сада"
 
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 msgid "if set automatically answer incoming calls"
 msgstr "ако је подешено сам ће се јављати на долазне позиве"
 
-#: ../gtk/main.c:130
+#: ../gtk/main.c:134
 msgid ""
 "Specifiy a working directory (should be the base of the installation, eg: c:"
 "\\Program Files\\Linphone)"
@@ -116,12 +142,12 @@ msgstr ""
 "Наводи радни директоријум (треба да буде основа инсталације, нпр: c:"
 "\\Program Files\\Linphone)"
 
-#: ../gtk/main.c:510
+#: ../gtk/main.c:515
 #, c-format
 msgid "Call with %s"
 msgstr "Позив са корисником %s"
 
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
@@ -134,7 +160,7 @@ msgstr ""
 "на ваш списак пријатеља ?\n"
 "Ако одговорите са не, ова особа ће привремено бити стављена на црни списак."
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
@@ -143,59 +169,59 @@ msgstr ""
 "Унесите вашу лозинку за корисничко име <i>%s</i>\n"
 " на домену <i>%s</i>:"
 
-#: ../gtk/main.c:1121
+#: ../gtk/main.c:1126
 msgid "Call error"
 msgstr "Грешка позива"
 
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129 ../coreapi/linphonecore.c:3189
 msgid "Call ended"
 msgstr "Позив је завршен"
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132 ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr "Долазни позив"
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134 ../gtk/incall_view.c:497 ../gtk/main.ui.h:5
 msgid "Answer"
 msgstr "Јави се"
 
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
+#: ../gtk/main.c:1136 ../gtk/main.ui.h:6
 msgid "Decline"
 msgstr "Одбиј"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 msgid "Call paused"
 msgstr "Позив је заустављен"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy, c-format
 msgid "<b>by %s</b>"
 msgstr "<b>Кодеци</b>"
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, c-format
 msgid "%s proposed to start video. Do you accept ?"
 msgstr ""
 
-#: ../gtk/main.c:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
 msgstr "Веза веб сајта"
 
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
 msgstr "Линфон — интернет телефон са снимком"
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
 msgstr "%s (основно)"
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796 ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
 msgstr "Преселили смо се на %s"
 
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 msgid ""
 "No sound cards have been detected on this computer.\n"
 "You won't be able to send or receive audio calls."
@@ -203,60 +229,51 @@ msgstr ""
 "Ниједна звучна картица није откривен ана овом рачунару.\n"
 "Нећете бити у могућности да шаљете или да примате звучне позиве."
 
-#: ../gtk/main.c:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr "Слободан СИП телефон са снимком"
 
-#: ../gtk/friendlist.c:366
+#: ../gtk/friendlist.c:469
 msgid "Add to addressbook"
 msgstr "Додајте у адресар"
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 msgid "Presence status"
 msgstr "Стање присуства"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "Име"
 
-#: ../gtk/friendlist.c:569
+#: ../gtk/friendlist.c:673
 msgid "Call"
 msgstr "Позови"
 
-#: ../gtk/friendlist.c:574
+#: ../gtk/friendlist.c:678
 msgid "Chat"
 msgstr ""
 
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
 msgstr "Тражи у директоријуму „%s“"
 
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr "Неисправан сип контакт !"
-
-#: ../gtk/friendlist.c:807
-#, c-format
-msgid "Call %s"
-msgstr "Позови „%s“"
-
-#: ../gtk/friendlist.c:808
-#, c-format
-msgid "Send text to %s"
-msgstr "Пошаљи текст за %s"
-
-#: ../gtk/friendlist.c:809
+#: ../gtk/friendlist.c:924
 #, c-format
 msgid "Edit contact '%s'"
 msgstr "Уредите контакт „%s“"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
 msgstr "Обришите контакт „%s“"
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:926
+#, fuzzy, c-format
+msgid "Delete chat history of '%s'"
+msgstr "Обришите контакт „%s“"
+
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
 msgstr "Додајте нови контакт из директоријума „%s“"
@@ -357,21 +374,25 @@ msgstr "Норвешки"
 msgid "Hebrew"
 msgstr ""
 
-#: ../gtk/propertybox.c:847
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
+msgstr ""
+
+#: ../gtk/propertybox.c:848
 msgid ""
 "You need to restart linphone for the new language selection to take effect."
 msgstr ""
 "Трба поново да покренете линфон да би нови изабрани језик ступио на снагу."
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 msgid "None"
 msgstr "Ништа"
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
 msgstr "СРТП"
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
 msgstr "ЗРТП"
 
@@ -626,114 +647,114 @@ msgstr ""
 msgid "%.3f seconds"
 msgstr "%i секунда"
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:12
 msgid "Hang up"
 msgstr ""
 
-#: ../gtk/incall_view.c:477
+#: ../gtk/incall_view.c:476
 msgid "<b>Calling...</b>"
 msgstr "<b>Позивам...</b>"
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479 ../gtk/incall_view.c:689
 msgid "00::00::00"
 msgstr "00::00::00"
 
-#: ../gtk/incall_view.c:491
+#: ../gtk/incall_view.c:490
 msgid "<b>Incoming call</b>"
 msgstr "<b>Долазни позив</b>"
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
 msgstr "добро"
 
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
 msgstr "просечно"
 
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
 msgstr "оскудно"
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
 msgstr "јадно"
 
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
 msgstr "много лоше"
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536 ../gtk/incall_view.c:552
 msgid "unavailable"
 msgstr "недоступно"
 
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
 msgstr "Осигурано СРТП-ом"
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
 msgstr "Осигурано ЗРТП-ом [потврђивање идентитета: %s]"
 
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
 msgstr "Непроверено подешавање"
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663 ../gtk/main.ui.h:4
 msgid "Set verified"
 msgstr "Проверено подешавање"
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
 msgstr "На конференцији"
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "<b>In call</b>"
 msgstr "<b>У позиву</b>"
 
-#: ../gtk/incall_view.c:719
+#: ../gtk/incall_view.c:718
 msgid "<b>Paused call</b>"
 msgstr "<b>Заустављен позив</b>"
 
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
 msgstr "%02i::%02i::%02i"
 
-#: ../gtk/incall_view.c:749
+#: ../gtk/incall_view.c:748
 msgid "<b>Call ended.</b>"
 msgstr "<b>Позив је завршен.</b>"
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
 msgstr ""
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 #, fuzzy
 msgid "Transfer done."
 msgstr "Пребаци"
 
-#: ../gtk/incall_view.c:785
+#: ../gtk/incall_view.c:784
 #, fuzzy
 msgid "Transfer failed."
 msgstr "Пребаци"
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
 msgstr "Настави"
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835 ../gtk/main.ui.h:9
 msgid "Pause"
 msgstr "Застани"
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, fuzzy
 msgid "(Paused)"
 msgstr "Застани"
@@ -756,156 +777,152 @@ msgstr "Пошаљи"
 msgid "End conference"
 msgstr "На конференцији"
 
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr "натпис"
-
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
 msgstr ""
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
 msgstr ""
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
 msgstr ""
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
 msgstr "Пребаци"
 
-#: ../gtk/main.ui.h:15
+#: ../gtk/main.ui.h:14
 msgid "In call"
 msgstr "Долазни позив"
 
-#: ../gtk/main.ui.h:16
+#: ../gtk/main.ui.h:15
 msgid "Duration"
 msgstr "Трајање"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
 msgstr "Оцена квалитета позива"
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
 msgstr "_Могућности"
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
 msgstr ""
 
-#: ../gtk/main.ui.h:20
+#: ../gtk/main.ui.h:19
 msgid "Enable self-view"
 msgstr "Укључи самовиђење"
 
-#: ../gtk/main.ui.h:21
+#: ../gtk/main.ui.h:20
 msgid "_Help"
 msgstr "По_моћ"
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 msgid "Show debug window"
 msgstr "Прикажи прозорче прочишћавања"
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 msgid "_Homepage"
 msgstr "_Матична страница"
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 msgid "Check _Updates"
 msgstr "Провери _ажурирања"
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 #, fuzzy
 msgid "Account assistant"
 msgstr "Помоћник подешавања налога"
 
-#: ../gtk/main.ui.h:26
+#: ../gtk/main.ui.h:25
 msgid "SIP address or phone number:"
 msgstr "СИП адреса или број телефона:"
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
 msgstr "Започните нови позив"
 
-#: ../gtk/main.ui.h:28
+#: ../gtk/main.ui.h:27
 msgid "Contacts"
 msgstr "Пријатељи"
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28 ../gtk/parameters.ui.h:50
 msgid "Add"
 msgstr "Додај"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr "Уреди"
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
 msgstr "Тражи"
 
-#: ../gtk/main.ui.h:32
+#: ../gtk/main.ui.h:31
 msgid "<b>Add contacts from directory</b>"
 msgstr "<b>Додај пријатеље из директоријума</b>"
 
-#: ../gtk/main.ui.h:33
+#: ../gtk/main.ui.h:32
 msgid "Add contact"
 msgstr "Додај пријатеља"
 
-#: ../gtk/main.ui.h:34
+#: ../gtk/main.ui.h:33
 msgid "Recent calls"
 msgstr "Скорашњи позиви"
 
-#: ../gtk/main.ui.h:35
+#: ../gtk/main.ui.h:34
 msgid "My current identity:"
 msgstr "Мој тренутни идентитет:"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
+#: ../gtk/main.ui.h:35 ../gtk/tunnel_config.ui.h:7
 msgid "Username"
 msgstr "Корисничко име"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
+#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:8
 msgid "Password"
 msgstr "Лозинка"
 
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
 msgstr "Интернет веза:"
 
-#: ../gtk/main.ui.h:39
+#: ../gtk/main.ui.h:38
 msgid "Automatically log me in"
 msgstr "Сам ме пријави"
 
-#: ../gtk/main.ui.h:40
+#: ../gtk/main.ui.h:39
 msgid "Login information"
 msgstr "Подаци пријављивања"
 
-#: ../gtk/main.ui.h:41
+#: ../gtk/main.ui.h:40
 msgid "<b>Welcome !</b>"
 msgstr "<b>Добродошли !</b>"
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
 msgstr "Сви корисници"
 
-#: ../gtk/main.ui.h:43
+#: ../gtk/main.ui.h:42
 msgid "Online users"
 msgstr "Корисницима на мрежи"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
 msgstr "АДСЛ"
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 msgid "Fiber Channel"
 msgstr "Оптички канал"
 
-#: ../gtk/main.ui.h:46
+#: ../gtk/main.ui.h:45
 msgid "Default"
 msgstr "Основно"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
 msgstr ""
 
@@ -1517,7 +1534,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr "Одлазни позив"
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 msgid "Ready"
 msgstr "Спреман"
 
@@ -1573,11 +1590,11 @@ msgstr "Повезан сам."
 msgid "Call aborted"
 msgstr "Позив је прекинут"
 
-#: ../coreapi/linphonecore.c:3351
+#: ../coreapi/linphonecore.c:3357
 msgid "Could not pause the call"
 msgstr "Не могу да зауставим позив"
 
-#: ../coreapi/linphonecore.c:3356
+#: ../coreapi/linphonecore.c:3362
 msgid "Pausing the current call..."
 msgstr "Заустављам тренутни позив..."
 
@@ -1678,116 +1695,116 @@ msgstr ""
 "Треба да изгледа као „sip:корисник@домен-посредника, као што је „sip:"
 "alice@example.net“"
 
-#: ../coreapi/proxy.c:1068
+#: ../coreapi/proxy.c:1069
 #, c-format
 msgid "Could not login as %s"
 msgstr "Не могу да се пријавим као %s"
 
-#: ../coreapi/callbacks.c:283
+#: ../coreapi/callbacks.c:286
 msgid "Remote ringing."
 msgstr "Удаљено звоњење."
 
-#: ../coreapi/callbacks.c:303
+#: ../coreapi/callbacks.c:306
 msgid "Remote ringing..."
 msgstr "Удаљено звоњење..."
 
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
 msgstr "Ранији медиј."
 
-#: ../coreapi/callbacks.c:365
+#: ../coreapi/callbacks.c:368
 #, c-format
 msgid "Call with %s is paused."
 msgstr "Позив са „%s“ је заустављен."
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
 msgstr "Позив на који је одговорио „%s“ — на чекању."
 
-#: ../coreapi/callbacks.c:389
+#: ../coreapi/callbacks.c:392
 msgid "Call resumed."
 msgstr "Позив је настављен."
 
-#: ../coreapi/callbacks.c:394
+#: ../coreapi/callbacks.c:397
 #, c-format
 msgid "Call answered by %s."
 msgstr "На позив је одговорио „%s“."
 
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 msgid "Incompatible, check codecs or security settings..."
 msgstr ""
 
-#: ../coreapi/callbacks.c:457
+#: ../coreapi/callbacks.c:460
 #, fuzzy
 msgid "We have been resumed."
 msgstr "Позив нам је настављен..."
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
 msgstr ""
 
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 #, fuzzy
 msgid "Call is updated by remote."
 msgstr "Позив је ажуриран удаљеним..."
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 msgid "Call terminated."
 msgstr "Позив је завршен."
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "Корисник је заузет."
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "Корисник је привремено недоступан."
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr "Корисник не жели да буде узнемираван."
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr "Позив је одбијен."
 
-#: ../coreapi/callbacks.c:568
+#: ../coreapi/callbacks.c:571
 msgid "No response."
 msgstr "Нема одговора."
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
 msgstr "Грешка у протоколу."
 
-#: ../coreapi/callbacks.c:588
+#: ../coreapi/callbacks.c:591
 msgid "Redirected"
 msgstr "Преусмерен"
 
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 msgid "Incompatible media parameters."
 msgstr ""
 
-#: ../coreapi/callbacks.c:630
+#: ../coreapi/callbacks.c:633
 msgid "Call failed."
 msgstr "Позив није успео."
 
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, c-format
 msgid "Registration on %s successful."
 msgstr "Уписивање на „%s“ је успело."
 
-#: ../coreapi/callbacks.c:734
+#: ../coreapi/callbacks.c:738
 #, c-format
 msgid "Unregistration on %s done."
 msgstr "Исписивање са „%s“ је обављено."
 
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr "нема ограничења одговора"
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, c-format
 msgid "Registration on %s failed: %s"
 msgstr "Уписивање на „%s“ није успело: %s"
@@ -1797,7 +1814,7 @@ msgstr "Уписивање на „%s“ није успело: %s"
 msgid "Authentication token is %s"
 msgstr "Симбол потврђивања идентитета је „%s“"
 
-#: ../coreapi/linphonecall.c:2314
+#: ../coreapi/linphonecall.c:2319
 #, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
@@ -1806,6 +1823,9 @@ msgstr[1] "Пропустили сте %i позива."
 msgstr[2] "Пропустили сте %i позива."
 msgstr[3] "Пропустили сте један позив."
 
+#~ msgid "label"
+#~ msgstr "натпис"
+
 #~ msgid "Chat with %s"
 #~ msgstr "Ћаскајте са „%s“"
 
index 0b2882efc82c8d09c35dc9ae3bae3c5e978af5ac..4f7ec762c722df770daa4b043c74b28daee86982 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
 "PO-Revision-Date: 2009-02-17 15:22+0100\n"
 "Last-Translator: Emmanuel Frécon <emmanuel.frecon@myjoice.com>\n"
 "Language-Team: SWEDISH <SE@li.org>\n"
@@ -16,54 +16,74 @@ msgstr ""
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ../gtk/calllogs.c:82
+#: ../gtk/calllogs.c:139 ../gtk/friendlist.c:922
+#, c-format
+msgid "Call %s"
+msgstr "Ringer %s"
+
+#: ../gtk/calllogs.c:140 ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr "Skicka text till %s"
+
+#: ../gtk/calllogs.c:223
+#, fuzzy, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "<b>I samtal med</b>"
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
 msgstr ""
 
-#: ../gtk/calllogs.c:85
+#: ../gtk/calllogs.c:303
 #, fuzzy
 msgid "Aborted"
 msgstr "avbrytade"
 
-#: ../gtk/calllogs.c:88
+#: ../gtk/calllogs.c:306
 #, fuzzy
 msgid "Missed"
 msgstr "missade"
 
-#: ../gtk/calllogs.c:91
+#: ../gtk/calllogs.c:309
 #, fuzzy
 msgid "Declined"
 msgstr "Avböj"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ../gtk/calllogs.c:103
+#: ../gtk/calllogs.c:321 ../gtk/calllogs.c:327
+#, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+
+#: ../gtk/calllogs.c:323
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
-"%s\t%s %s\t"
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
 
-#: ../gtk/calllogs.c:108
+#: ../gtk/calllogs.c:329
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38 ../gtk/main.ui.h:13
 msgid "Conference"
 msgstr ""
 
@@ -77,31 +97,35 @@ msgstr "Mikrofon av"
 msgid "Couldn't find pixmap file: %s"
 msgstr "Kunde inte hitta pixmap filen: %s"
 
-#: ../gtk/main.c:88
+#: ../gtk/chat.c:324 ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr "ogiltig SIP kontakt!"
+
+#: ../gtk/main.c:92
 msgid "log to stdout some debug information while running."
 msgstr "skriv loggning information under körning"
 
-#: ../gtk/main.c:95
+#: ../gtk/main.c:99
 msgid "path to a file to write logs into."
 msgstr ""
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
 msgstr ""
 
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 msgid "Start only in the system tray, do not show the main interface."
 msgstr "Starta ikonifierat, visa inte huvudfönstret"
 
-#: ../gtk/main.c:116
+#: ../gtk/main.c:120
 msgid "address to call right now"
 msgstr "Samtalsmottagare"
 
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 msgid "if set automatically answer incoming calls"
 msgstr "Om på, besvara automatisk alla inkommande samtal"
 
-#: ../gtk/main.c:130
+#: ../gtk/main.c:134
 msgid ""
 "Specifiy a working directory (should be the base of the installation, eg: c:"
 "\\Program Files\\Linphone)"
@@ -109,12 +133,12 @@ msgstr ""
 "Välj en arbetskatalog som ska vara basen för installationen, såsom C:"
 "\\Program\\Linphone"
 
-#: ../gtk/main.c:510
+#: ../gtk/main.c:515
 #, c-format
 msgid "Call with %s"
 msgstr "Samtal med %s"
 
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
@@ -127,7 +151,7 @@ msgstr ""
 "henne till din kontaktlista?\n"
 "Om du svarar nej, personen kommer att vara bannlyst."
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
@@ -136,121 +160,112 @@ msgstr ""
 "Mata in ditt lösenord för användaren <i>%s</i>\n"
 "vid domänen <i>%s</i>:"
 
-#: ../gtk/main.c:1121
+#: ../gtk/main.c:1126
 #, fuzzy
 msgid "Call error"
 msgstr "Samtalshistorik"
 
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129 ../coreapi/linphonecore.c:3189
 msgid "Call ended"
 msgstr "Samtalet slut"
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132 ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr "Inkommande samtal"
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134 ../gtk/incall_view.c:497 ../gtk/main.ui.h:5
 msgid "Answer"
 msgstr ""
 
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
+#: ../gtk/main.c:1136 ../gtk/main.ui.h:6
 msgid "Decline"
 msgstr "Avböj"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy
 msgid "Call paused"
 msgstr "avbrytade"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy, c-format
 msgid "<b>by %s</b>"
 msgstr "<b>Portar</b>"
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, c-format
 msgid "%s proposed to start video. Do you accept ?"
 msgstr ""
 
-#: ../gtk/main.c:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
 msgstr "Webbsajt"
 
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
 msgstr "Linphone - en video Internet telefon"
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
 msgstr "%s (Default)"
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796 ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
 msgstr ""
 
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 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:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr "En gratis SIP video-telefon"
 
-#: ../gtk/friendlist.c:366
+#: ../gtk/friendlist.c:469
 msgid "Add to addressbook"
 msgstr ""
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 msgid "Presence status"
 msgstr "Närvarostatus"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "Namn"
 
-#: ../gtk/friendlist.c:569
+#: ../gtk/friendlist.c:673
 #, fuzzy
 msgid "Call"
 msgstr "Ringer %s"
 
-#: ../gtk/friendlist.c:574
+#: ../gtk/friendlist.c:678
 msgid "Chat"
 msgstr ""
 
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
 msgstr "Sök i %s katalogen"
 
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr "ogiltig SIP kontakt!"
-
-#: ../gtk/friendlist.c:807
-#, c-format
-msgid "Call %s"
-msgstr "Ringer %s"
-
-#: ../gtk/friendlist.c:808
-#, c-format
-msgid "Send text to %s"
-msgstr "Skicka text till %s"
-
-#: ../gtk/friendlist.c:809
+#: ../gtk/friendlist.c:924
 #, c-format
 msgid "Edit contact '%s'"
 msgstr "Ändra kontakt '%s'"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
 msgstr "Ta bort kontakt '%s'"
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:926
+#, fuzzy, c-format
+msgid "Delete chat history of '%s'"
+msgstr "Ta bort kontakt '%s'"
+
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
 msgstr "Lägg till kontakt ifrån %s katalogen"
@@ -351,20 +366,24 @@ msgstr ""
 msgid "Hebrew"
 msgstr ""
 
-#: ../gtk/propertybox.c:847
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
+msgstr ""
+
+#: ../gtk/propertybox.c:848
 msgid ""
 "You need to restart linphone for the new language selection to take effect."
 msgstr "Du behöver starta om programmet för att det nya språket ska synas."
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 msgid "None"
 msgstr ""
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
 msgstr ""
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
 msgstr ""
 
@@ -616,116 +635,116 @@ msgstr ""
 msgid "%.3f seconds"
 msgstr ""
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:12
 msgid "Hang up"
 msgstr ""
 
-#: ../gtk/incall_view.c:477
+#: ../gtk/incall_view.c:476
 msgid "<b>Calling...</b>"
 msgstr "<b>Ringer...</b>"
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479 ../gtk/incall_view.c:689
 msgid "00::00::00"
 msgstr "00:00:00"
 
-#: ../gtk/incall_view.c:491
+#: ../gtk/incall_view.c:490
 #, fuzzy
 msgid "<b>Incoming call</b>"
 msgstr "Inkommande samtal"
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
 msgstr ""
 
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
 msgstr ""
 
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
 msgstr ""
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536 ../gtk/incall_view.c:552
 msgid "unavailable"
 msgstr ""
 
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
 msgstr ""
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
 msgstr ""
 
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
 msgstr ""
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663 ../gtk/main.ui.h:4
 msgid "Set verified"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 #, fuzzy
 msgid "<b>In call</b>"
 msgstr "<b>I samtal med</b>"
 
-#: ../gtk/incall_view.c:719
+#: ../gtk/incall_view.c:718
 #, fuzzy
 msgid "<b>Paused call</b>"
 msgstr "<b>Lägg på</b>"
 
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
 msgstr "%02i:%02i:%02i"
 
-#: ../gtk/incall_view.c:749
+#: ../gtk/incall_view.c:748
 msgid "<b>Call ended.</b>"
 msgstr "<b>Samtalet slut.</b>"
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
 msgstr ""
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 msgid "Transfer done."
 msgstr ""
 
-#: ../gtk/incall_view.c:785
+#: ../gtk/incall_view.c:784
 #, fuzzy
 msgid "Transfer failed."
 msgstr "Samtalet avböjdes."
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
 msgstr ""
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835 ../gtk/main.ui.h:9
 msgid "Pause"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 msgid "(Paused)"
 msgstr ""
 
@@ -747,169 +766,165 @@ msgstr "Skicka"
 msgid "End conference"
 msgstr ""
 
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr "etikett"
-
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
 msgstr ""
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
 msgstr ""
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
 msgstr ""
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
 msgstr ""
 
-#: ../gtk/main.ui.h:15
+#: ../gtk/main.ui.h:14
 msgid "In call"
 msgstr "I samtal"
 
-#: ../gtk/main.ui.h:16
+#: ../gtk/main.ui.h:15
 msgid "Duration"
 msgstr "Förlopp"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
 msgstr ""
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
 msgstr ""
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
 msgstr ""
 
-#: ../gtk/main.ui.h:20
+#: ../gtk/main.ui.h:19
 msgid "Enable self-view"
 msgstr "Själv bild"
 
-#: ../gtk/main.ui.h:21
+#: ../gtk/main.ui.h:20
 msgid "_Help"
 msgstr ""
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 #, fuzzy
 msgid "Show debug window"
 msgstr "Linphone debug fönster"
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 #, fuzzy
 msgid "_Homepage"
 msgstr "Hemsidan"
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 #, fuzzy
 msgid "Check _Updates"
 msgstr "Letar efter uppdateringar"
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 #, fuzzy
 msgid "Account assistant"
 msgstr "Kontoinstallationsassistenten"
 
-#: ../gtk/main.ui.h:26
+#: ../gtk/main.ui.h:25
 msgid "SIP address or phone number:"
 msgstr "Användarnamn"
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
 msgstr ""
 
-#: ../gtk/main.ui.h:28
+#: ../gtk/main.ui.h:27
 #, fuzzy
 msgid "Contacts"
 msgstr "Kontaktar"
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28 ../gtk/parameters.ui.h:50
 msgid "Add"
 msgstr "Lägg till"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr "Editera"
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
 msgstr "Sök"
 
-#: ../gtk/main.ui.h:32
+#: ../gtk/main.ui.h:31
 msgid "<b>Add contacts from directory</b>"
 msgstr "<b>Lägg till kontakt ifrån katalogen</b>"
 
-#: ../gtk/main.ui.h:33
+#: ../gtk/main.ui.h:32
 #, fuzzy
 msgid "Add contact"
 msgstr "Hittat kontakt %i"
 
-#: ../gtk/main.ui.h:34
+#: ../gtk/main.ui.h:33
 #, fuzzy
 msgid "Recent calls"
 msgstr "I samtal"
 
-#: ../gtk/main.ui.h:35
+#: ../gtk/main.ui.h:34
 msgid "My current identity:"
 msgstr "Min nuvarande identitet"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
+#: ../gtk/main.ui.h:35 ../gtk/tunnel_config.ui.h:7
 msgid "Username"
 msgstr "Användarnamn"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
+#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:8
 msgid "Password"
 msgstr "Lösenord"
 
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
 msgstr "Internet förbindelse:"
 
-#: ../gtk/main.ui.h:39
+#: ../gtk/main.ui.h:38
 msgid "Automatically log me in"
 msgstr "Logga mig automatiskt"
 
-#: ../gtk/main.ui.h:40
+#: ../gtk/main.ui.h:39
 msgid "Login information"
 msgstr "Login information"
 
-#: ../gtk/main.ui.h:41
+#: ../gtk/main.ui.h:40
 msgid "<b>Welcome !</b>"
 msgstr "<b>Välkommen!</b>"
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
 msgstr ""
 
-#: ../gtk/main.ui.h:43
+#: ../gtk/main.ui.h:42
 #, fuzzy
 msgid "Online users"
 msgstr ""
 "Alla användare\n"
 "Online användare"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
 msgstr ""
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 #, fuzzy
 msgid "Fiber Channel"
 msgstr ""
 "ADSL\n"
 "Fiber"
 
-#: ../gtk/main.ui.h:46
+#: ../gtk/main.ui.h:45
 #, fuzzy
 msgid "Default"
 msgstr "%s (Default)"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
 msgstr ""
 
@@ -1519,7 +1534,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr "Utgående samtal"
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 msgid "Ready"
 msgstr "Redo"
 
@@ -1578,12 +1593,12 @@ msgstr "Kopplad"
 msgid "Call aborted"
 msgstr "avbrytade"
 
-#: ../coreapi/linphonecore.c:3351
+#: ../coreapi/linphonecore.c:3357
 #, fuzzy
 msgid "Could not pause the call"
 msgstr "Kunde inte ringa"
 
-#: ../coreapi/linphonecore.c:3356
+#: ../coreapi/linphonecore.c:3362
 #, fuzzy
 msgid "Pausing the current call..."
 msgstr "Nuvarande samtal"
@@ -1684,119 +1699,119 @@ 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:1068
+#: ../coreapi/proxy.c:1069
 #, c-format
 msgid "Could not login as %s"
 msgstr "Kunde inte logga in som %s"
 
-#: ../coreapi/callbacks.c:283
+#: ../coreapi/callbacks.c:286
 msgid "Remote ringing."
 msgstr "Ringer hos motparten."
 
-#: ../coreapi/callbacks.c:303
+#: ../coreapi/callbacks.c:306
 #, fuzzy
 msgid "Remote ringing..."
 msgstr "Ringer hos motparten."
 
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
 msgstr "Tidig media"
 
-#: ../coreapi/callbacks.c:365
+#: ../coreapi/callbacks.c:368
 #, fuzzy, c-format
 msgid "Call with %s is paused."
 msgstr "Samtal med %s"
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
 msgstr ""
 
-#: ../coreapi/callbacks.c:389
+#: ../coreapi/callbacks.c:392
 #, fuzzy
 msgid "Call resumed."
 msgstr "Samtalet slut"
 
-#: ../coreapi/callbacks.c:394
+#: ../coreapi/callbacks.c:397
 #, c-format
 msgid "Call answered by %s."
 msgstr ""
 
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 msgid "Incompatible, check codecs or security settings..."
 msgstr ""
 
-#: ../coreapi/callbacks.c:457
+#: ../coreapi/callbacks.c:460
 msgid "We have been resumed."
 msgstr ""
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
 msgstr ""
 
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 msgid "Call is updated by remote."
 msgstr ""
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 msgid "Call terminated."
 msgstr "Samtalet slut."
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "Användare upptagen."
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "Användaren temporärt inte tillgänglig."
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr "Användaren vill inte bli störd."
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr "Samtalet avböjdes."
 
-#: ../coreapi/callbacks.c:568
+#: ../coreapi/callbacks.c:571
 #, fuzzy
 msgid "No response."
 msgstr "Inget svar inom angiven tid"
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
 msgstr ""
 
-#: ../coreapi/callbacks.c:588
+#: ../coreapi/callbacks.c:591
 #, fuzzy
 msgid "Redirected"
 msgstr "Omdirigerat till %s..."
 
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 msgid "Incompatible media parameters."
 msgstr ""
 
-#: ../coreapi/callbacks.c:630
+#: ../coreapi/callbacks.c:633
 #, fuzzy
 msgid "Call failed."
 msgstr "Samtalet avböjdes."
 
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, c-format
 msgid "Registration on %s successful."
 msgstr "Registrering hos %s lyckades."
 
-#: ../coreapi/callbacks.c:734
+#: ../coreapi/callbacks.c:738
 #, c-format
 msgid "Unregistration on %s done."
 msgstr "Avregistrering hos %s lyckades."
 
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr "Inget svar inom angiven tid"
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, c-format
 msgid "Registration on %s failed: %s"
 msgstr "Registrering hos %s mislyckades: %s"
@@ -1806,13 +1821,16 @@ msgstr "Registrering hos %s mislyckades: %s"
 msgid "Authentication token is %s"
 msgstr "Linphone - Autentisering krävs"
 
-#: ../coreapi/linphonecall.c:2314
+#: ../coreapi/linphonecall.c:2319
 #, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
 msgstr[0] "Du har %i missat samtal"
 msgstr[1] "Du har %i missade samtal"
 
+#~ msgid "label"
+#~ msgstr "etikett"
+
 #~ msgid "Chat with %s"
 #~ msgstr "Chatta med %s"
 
index f03c496d8895d0273cb0e274a3885e40ecd764ec..7c81df3fc81d53c76a204f0320f13a3048ae12d9 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: linphone 3.3.2\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
 "PO-Revision-Date: 2011-01-08 23:51+0800\n"
 "Last-Translator: Aron Xu <happyaron.xu@gmail.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -18,52 +18,72 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: ../gtk/calllogs.c:82
+#: ../gtk/calllogs.c:139 ../gtk/friendlist.c:922
+#, c-format
+msgid "Call %s"
+msgstr "呼叫 %s"
+
+#: ../gtk/calllogs.c:140 ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr "发送消息给 %s"
+
+#: ../gtk/calllogs.c:223
+#, fuzzy, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "<b>正在呼叫</b>"
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
 msgstr ""
 
-#: ../gtk/calllogs.c:85
+#: ../gtk/calllogs.c:303
 #, fuzzy
 msgid "Aborted"
 msgstr "中断"
 
-#: ../gtk/calllogs.c:88
+#: ../gtk/calllogs.c:306
 #, fuzzy
 msgid "Missed"
 msgstr "丢失"
 
-#: ../gtk/calllogs.c:91
+#: ../gtk/calllogs.c:309
 #, fuzzy
 msgid "Declined"
 msgstr "拒绝"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
 msgstr[0] ""
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
 msgstr[0] ""
 
-#: ../gtk/calllogs.c:103
+#: ../gtk/calllogs.c:321 ../gtk/calllogs.c:327
+#, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+
+#: ../gtk/calllogs.c:323
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
-"%s\t%s %s\t"
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
 
-#: ../gtk/calllogs.c:108
+#: ../gtk/calllogs.c:329
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38 ../gtk/main.ui.h:13
 msgid "Conference"
 msgstr ""
 
@@ -77,42 +97,46 @@ msgstr "静音"
 msgid "Couldn't find pixmap file: %s"
 msgstr "无法打开位图文件:%s"
 
-#: ../gtk/main.c:88
+#: ../gtk/chat.c:324 ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr "无效的 SIP 联系人!"
+
+#: ../gtk/main.c:92
 msgid "log to stdout some debug information while running."
 msgstr "运行时向标准输出记录调试信息。"
 
-#: ../gtk/main.c:95
+#: ../gtk/main.c:99
 msgid "path to a file to write logs into."
 msgstr ""
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
 msgstr ""
 
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 msgid "Start only in the system tray, do not show the main interface."
 msgstr "启动到系统托盘,不显示主界面。"
 
-#: ../gtk/main.c:116
+#: ../gtk/main.c:120
 msgid "address to call right now"
 msgstr "现在呼叫的地址"
 
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 msgid "if set automatically answer incoming calls"
 msgstr "是否设置呼叫自动应答"
 
-#: ../gtk/main.c:130
+#: ../gtk/main.c:134
 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:510
+#: ../gtk/main.c:515
 #, c-format
 msgid "Call with %s"
 msgstr "与 %s 通话"
 
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
@@ -124,68 +148,68 @@ msgstr ""
 "您是否允许他看到您的在线状态或者将它加为您的联系人允许?\n"
 "如果您回答否,则会将该人临时性的放入黑名单"
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
 " at domain <i>%s</i>:"
 msgstr "请输入 %s@%s 的密码:"
 
-#: ../gtk/main.c:1121
+#: ../gtk/main.c:1126
 #, fuzzy
 msgid "Call error"
 msgstr "呼叫历史"
 
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129 ../coreapi/linphonecore.c:3189
 msgid "Call ended"
 msgstr "呼叫结束"
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132 ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr "呼入"
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134 ../gtk/incall_view.c:497 ../gtk/main.ui.h:5
 msgid "Answer"
 msgstr ""
 
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
+#: ../gtk/main.c:1136 ../gtk/main.ui.h:6
 msgid "Decline"
 msgstr "拒绝"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy
 msgid "Call paused"
 msgstr "中断"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy, c-format
 msgid "<b>by %s</b>"
 msgstr "<b>端口</b>"
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, c-format
 msgid "%s proposed to start video. Do you accept ?"
 msgstr ""
 
-#: ../gtk/main.c:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
 msgstr "网站"
 
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
 msgstr "Linphone - 互联网视频电话"
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
 msgstr "%s (默认)"
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796 ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
 msgstr ""
 
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 msgid ""
 "No sound cards have been detected on this computer.\n"
 "You won't be able to send or receive audio calls."
@@ -193,61 +217,52 @@ msgstr ""
 "未在此计算机上检测到声卡。\n"
 "您无法发送或接收音频呼叫。"
 
-#: ../gtk/main.c:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr "免费的 SIP 视频电话"
 
-#: ../gtk/friendlist.c:366
+#: ../gtk/friendlist.c:469
 msgid "Add to addressbook"
 msgstr ""
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 msgid "Presence status"
 msgstr "在线状态"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "名称"
 
-#: ../gtk/friendlist.c:569
+#: ../gtk/friendlist.c:673
 #, fuzzy
 msgid "Call"
 msgstr "呼叫 %s"
 
-#: ../gtk/friendlist.c:574
+#: ../gtk/friendlist.c:678
 msgid "Chat"
 msgstr ""
 
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
 msgstr "在 %s 目录中查找 "
 
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr "无效的 SIP 联系人!"
-
-#: ../gtk/friendlist.c:807
-#, c-format
-msgid "Call %s"
-msgstr "呼叫 %s"
-
-#: ../gtk/friendlist.c:808
-#, c-format
-msgid "Send text to %s"
-msgstr "发送消息给 %s"
-
-#: ../gtk/friendlist.c:809
+#: ../gtk/friendlist.c:924
 #, c-format
 msgid "Edit contact '%s'"
 msgstr "编辑联系人 %s"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
 msgstr "删除联系人 %s"
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:926
+#, fuzzy, c-format
+msgid "Delete chat history of '%s'"
+msgstr "删除联系人 %s"
+
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
 msgstr "从 %s 目录增加联系人 "
@@ -348,20 +363,24 @@ msgstr ""
 msgid "Hebrew"
 msgstr ""
 
-#: ../gtk/propertybox.c:847
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
+msgstr ""
+
+#: ../gtk/propertybox.c:848
 msgid ""
 "You need to restart linphone for the new language selection to take effect."
 msgstr "您需要重启 linphone 以使语言选择生效。"
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 msgid "None"
 msgstr ""
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
 msgstr ""
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
 msgstr ""
 
@@ -613,116 +632,116 @@ msgstr ""
 msgid "%.3f seconds"
 msgstr ""
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:12
 msgid "Hang up"
 msgstr ""
 
-#: ../gtk/incall_view.c:477
+#: ../gtk/incall_view.c:476
 msgid "<b>Calling...</b>"
 msgstr "<b>正在呼叫...</b>"
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479 ../gtk/incall_view.c:689
 msgid "00::00::00"
 msgstr "00::00::00"
 
-#: ../gtk/incall_view.c:491
+#: ../gtk/incall_view.c:490
 #, fuzzy
 msgid "<b>Incoming call</b>"
 msgstr "呼入"
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
 msgstr ""
 
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
 msgstr ""
 
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
 msgstr ""
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536 ../gtk/incall_view.c:552
 msgid "unavailable"
 msgstr ""
 
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
 msgstr ""
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
 msgstr ""
 
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
 msgstr ""
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663 ../gtk/main.ui.h:4
 msgid "Set verified"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 #, fuzzy
 msgid "<b>In call</b>"
 msgstr "<b>正在呼叫</b>"
 
-#: ../gtk/incall_view.c:719
+#: ../gtk/incall_view.c:718
 #, fuzzy
 msgid "<b>Paused call</b>"
 msgstr "<b>正在呼叫</b>"
 
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
 msgstr "%02i::%02i::%02i"
 
-#: ../gtk/incall_view.c:749
+#: ../gtk/incall_view.c:748
 msgid "<b>Call ended.</b>"
 msgstr "<b>通话结束。</b>"
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
 msgstr ""
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 msgid "Transfer done."
 msgstr ""
 
-#: ../gtk/incall_view.c:785
+#: ../gtk/incall_view.c:784
 #, fuzzy
 msgid "Transfer failed."
 msgstr "呼叫失败。"
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
 msgstr ""
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835 ../gtk/main.ui.h:9
 msgid "Pause"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 msgid "(Paused)"
 msgstr ""
 
@@ -744,167 +763,163 @@ msgstr "发送"
 msgid "End conference"
 msgstr ""
 
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr "标签"
-
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
 msgstr ""
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
 msgstr ""
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
 msgstr ""
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
 msgstr ""
 
-#: ../gtk/main.ui.h:15
+#: ../gtk/main.ui.h:14
 msgid "In call"
 msgstr "呼入"
 
-#: ../gtk/main.ui.h:16
+#: ../gtk/main.ui.h:15
 msgid "Duration"
 msgstr "通话时间"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
 msgstr ""
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
 msgstr ""
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
 msgstr ""
 
-#: ../gtk/main.ui.h:20
+#: ../gtk/main.ui.h:19
 msgid "Enable self-view"
 msgstr "启用自视"
 
-#: ../gtk/main.ui.h:21
+#: ../gtk/main.ui.h:20
 msgid "_Help"
 msgstr ""
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 #, fuzzy
 msgid "Show debug window"
 msgstr "Linphone 调试窗口"
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 #, fuzzy
 msgid "_Homepage"
 msgstr "主页"
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 #, fuzzy
 msgid "Check _Updates"
 msgstr "检查更新"
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 #, fuzzy
 msgid "Account assistant"
 msgstr "帐户设置向导"
 
-#: ../gtk/main.ui.h:26
+#: ../gtk/main.ui.h:25
 msgid "SIP address or phone number:"
 msgstr "SIP 地址或电话号码:"
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
 msgstr ""
 
-#: ../gtk/main.ui.h:28
+#: ../gtk/main.ui.h:27
 msgid "Contacts"
 msgstr "联系人"
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28 ../gtk/parameters.ui.h:50
 msgid "Add"
 msgstr "添加"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr "编辑"
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
 msgstr "搜索"
 
-#: ../gtk/main.ui.h:32
+#: ../gtk/main.ui.h:31
 msgid "<b>Add contacts from directory</b>"
 msgstr "<b>从目录增加联系人</b>"
 
-#: ../gtk/main.ui.h:33
+#: ../gtk/main.ui.h:32
 #, fuzzy
 msgid "Add contact"
 msgstr "找到 %i 联系方式"
 
-#: ../gtk/main.ui.h:34
+#: ../gtk/main.ui.h:33
 #, fuzzy
 msgid "Recent calls"
 msgstr "呼入"
 
-#: ../gtk/main.ui.h:35
+#: ../gtk/main.ui.h:34
 msgid "My current identity:"
 msgstr "当前地址:"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
+#: ../gtk/main.ui.h:35 ../gtk/tunnel_config.ui.h:7
 msgid "Username"
 msgstr "用户名"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
+#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:8
 msgid "Password"
 msgstr "密码"
 
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
 msgstr "网络连接:"
 
-#: ../gtk/main.ui.h:39
+#: ../gtk/main.ui.h:38
 msgid "Automatically log me in"
 msgstr "自动登录"
 
-#: ../gtk/main.ui.h:40
+#: ../gtk/main.ui.h:39
 msgid "Login information"
 msgstr "登录信息"
 
-#: ../gtk/main.ui.h:41
+#: ../gtk/main.ui.h:40
 msgid "<b>Welcome !</b>"
 msgstr "<b>欢迎!</b>"
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
 msgstr ""
 
-#: ../gtk/main.ui.h:43
+#: ../gtk/main.ui.h:42
 #, fuzzy
 msgid "Online users"
 msgstr ""
 "全部用户\n"
 "在线用户"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
 msgstr ""
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 #, fuzzy
 msgid "Fiber Channel"
 msgstr ""
 "ADSL\n"
 "光纤"
 
-#: ../gtk/main.ui.h:46
+#: ../gtk/main.ui.h:45
 msgid "Default"
 msgstr "默认"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
 msgstr ""
 
@@ -1530,7 +1545,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr "呼出"
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 msgid "Ready"
 msgstr "就绪"
 
@@ -1588,12 +1603,12 @@ msgstr "已连接。"
 msgid "Call aborted"
 msgstr "中断"
 
-#: ../coreapi/linphonecore.c:3351
+#: ../coreapi/linphonecore.c:3357
 #, fuzzy
 msgid "Could not pause the call"
 msgstr "无法呼叫"
 
-#: ../coreapi/linphonecore.c:3356
+#: ../coreapi/linphonecore.c:3362
 msgid "Pausing the current call..."
 msgstr ""
 
@@ -1689,116 +1704,116 @@ msgstr ""
 "您输入的地址无效。\n"
 "它应具有“sip:用户名@代理域”的形式,例如 sip:alice@example.net"
 
-#: ../coreapi/proxy.c:1068
+#: ../coreapi/proxy.c:1069
 #, c-format
 msgid "Could not login as %s"
 msgstr "无法登录为 %s"
 
-#: ../coreapi/callbacks.c:283
+#: ../coreapi/callbacks.c:286
 msgid "Remote ringing."
 msgstr "响铃。"
 
-#: ../coreapi/callbacks.c:303
+#: ../coreapi/callbacks.c:306
 #, fuzzy
 msgid "Remote ringing..."
 msgstr "响铃。"
 
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
 msgstr ""
 
-#: ../coreapi/callbacks.c:365
+#: ../coreapi/callbacks.c:368
 #, fuzzy, c-format
 msgid "Call with %s is paused."
 msgstr "与 %s 通话"
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
 msgstr ""
 
-#: ../coreapi/callbacks.c:389
+#: ../coreapi/callbacks.c:392
 #, fuzzy
 msgid "Call resumed."
 msgstr "呼叫结束"
 
-#: ../coreapi/callbacks.c:394
+#: ../coreapi/callbacks.c:397
 #, c-format
 msgid "Call answered by %s."
 msgstr ""
 
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 msgid "Incompatible, check codecs or security settings..."
 msgstr ""
 
-#: ../coreapi/callbacks.c:457
+#: ../coreapi/callbacks.c:460
 msgid "We have been resumed."
 msgstr ""
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
 msgstr ""
 
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 msgid "Call is updated by remote."
 msgstr ""
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 msgid "Call terminated."
 msgstr "通话结束。"
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "被叫正忙。"
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "您呼叫的用户暂时无法接通。"
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr "用户已开启免打扰功能。"
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr "呼叫被拒绝。"
 
-#: ../coreapi/callbacks.c:568
+#: ../coreapi/callbacks.c:571
 msgid "No response."
 msgstr "没有响应。"
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
 msgstr "协议错误。"
 
-#: ../coreapi/callbacks.c:588
+#: ../coreapi/callbacks.c:591
 msgid "Redirected"
 msgstr "已重定向"
 
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 msgid "Incompatible media parameters."
 msgstr ""
 
-#: ../coreapi/callbacks.c:630
+#: ../coreapi/callbacks.c:633
 msgid "Call failed."
 msgstr "呼叫失败。"
 
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, c-format
 msgid "Registration on %s successful."
 msgstr "成功注册到 %s"
 
-#: ../coreapi/callbacks.c:734
+#: ../coreapi/callbacks.c:738
 #, c-format
 msgid "Unregistration on %s done."
 msgstr "已在 %s 解除注册。"
 
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr "没有响应,超时"
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, c-format
 msgid "Registration on %s failed: %s"
 msgstr "注册到 %s 失败: %s"
@@ -1808,12 +1823,15 @@ msgstr "注册到 %s 失败: %s"
 msgid "Authentication token is %s"
 msgstr "Linphone - 需要认证"
 
-#: ../coreapi/linphonecall.c:2314
+#: ../coreapi/linphonecall.c:2319
 #, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
 msgstr[0] "您错过了 %i 个呼叫。"
 
+#~ msgid "label"
+#~ msgstr "标签"
+
 #~ msgid "Keypad"
 #~ msgstr "数字键盘"
 
index c65dcb84f5a9d8b25c50991ad1c69315380a1564..d1b2ce1a734348a0b2286552238c03c97435079c 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: linphone 3.4\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2013-03-07 12:30+0100\n"
+"POT-Creation-Date: 2013-04-08 16:59+0200\n"
 "PO-Revision-Date: 2011-04-06 21:24+0800\n"
 "Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
 "Language-Team: \n"
@@ -17,52 +17,72 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: ../gtk/calllogs.c:82
+#: ../gtk/calllogs.c:139 ../gtk/friendlist.c:922
+#, c-format
+msgid "Call %s"
+msgstr "播打給 %s"
+
+#: ../gtk/calllogs.c:140 ../gtk/friendlist.c:923
+#, c-format
+msgid "Send text to %s"
+msgstr "傳送文字給 %s"
+
+#: ../gtk/calllogs.c:223
+#, fuzzy, c-format
+msgid "<b>Recent calls (%i)</b>"
+msgstr "<b>通話中</b>"
+
+#: ../gtk/calllogs.c:300
 msgid "n/a"
 msgstr ""
 
-#: ../gtk/calllogs.c:85
+#: ../gtk/calllogs.c:303
 #, fuzzy
 msgid "Aborted"
 msgstr "已放棄"
 
-#: ../gtk/calllogs.c:88
+#: ../gtk/calllogs.c:306
 #, fuzzy
 msgid "Missed"
 msgstr "未接"
 
-#: ../gtk/calllogs.c:91
+#: ../gtk/calllogs.c:309
 #, fuzzy
 msgid "Declined"
 msgstr "拒接"
 
-#: ../gtk/calllogs.c:97
+#: ../gtk/calllogs.c:315
 #, c-format
 msgid "%i minute"
 msgid_plural "%i minutes"
 msgstr[0] ""
 
-#: ../gtk/calllogs.c:100
+#: ../gtk/calllogs.c:318
 #, c-format
 msgid "%i second"
 msgid_plural "%i seconds"
 msgstr[0] ""
 
-#: ../gtk/calllogs.c:103
+#: ../gtk/calllogs.c:321 ../gtk/calllogs.c:327
+#, c-format
+msgid "<big><b>%s</b></big>\t%s"
+msgstr ""
+
+#: ../gtk/calllogs.c:323
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
-"%s\t%s %s\t"
+"<small><i>%s</i>\t<i>Quality: %s</i></small>\n"
+"%s\t%s\t"
 msgstr ""
 
-#: ../gtk/calllogs.c:108
+#: ../gtk/calllogs.c:329
 #, c-format
 msgid ""
-"<big><b>%s</b></big>\t<small><i>%s</i></small>\t\n"
-"%s\t%s"
+"<small><i>%s</i></small>\t\n"
+"%s"
 msgstr ""
 
-#: ../gtk/conference.c:38 ../gtk/main.ui.h:14
+#: ../gtk/conference.c:38 ../gtk/main.ui.h:13
 msgid "Conference"
 msgstr ""
 
@@ -76,43 +96,47 @@ msgstr "靜音"
 msgid "Couldn't find pixmap file: %s"
 msgstr "找不到 pixmap 檔:%s"
 
-#: ../gtk/main.c:88
+#: ../gtk/chat.c:324 ../gtk/friendlist.c:872
+msgid "Invalid sip contact !"
+msgstr "無效的 sip 連絡人!"
+
+#: ../gtk/main.c:92
 msgid "log to stdout some debug information while running."
 msgstr "執行時將一些除錯資訊記錄到標準輸出。"
 
-#: ../gtk/main.c:95
+#: ../gtk/main.c:99
 msgid "path to a file to write logs into."
 msgstr ""
 
-#: ../gtk/main.c:102
+#: ../gtk/main.c:106
 msgid "Start linphone with video disabled."
 msgstr ""
 
-#: ../gtk/main.c:109
+#: ../gtk/main.c:113
 msgid "Start only in the system tray, do not show the main interface."
 msgstr "只在系統匣啟動,不要顯示主要介面。"
 
-#: ../gtk/main.c:116
+#: ../gtk/main.c:120
 msgid "address to call right now"
 msgstr "現在要打電話的位址"
 
-#: ../gtk/main.c:123
+#: ../gtk/main.c:127
 msgid "if set automatically answer incoming calls"
 msgstr "如啟用此項,將會自動接聽來電"
 
-#: ../gtk/main.c:130
+#: ../gtk/main.c:134
 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:510
+#: ../gtk/main.c:515
 #, c-format
 msgid "Call with %s"
 msgstr "和 %s 通話"
 
-#: ../gtk/main.c:941
+#: ../gtk/main.c:946
 #, c-format
 msgid ""
 "%s would like to add you to his contact list.\n"
@@ -124,7 +148,7 @@ msgstr ""
 "您是否要允許他看見您的上線狀態或將他加入您的連絡人清單?\n"
 "如果您回答否,這個人會被暫時列入黑名單。"
 
-#: ../gtk/main.c:1018
+#: ../gtk/main.c:1023
 #, c-format
 msgid ""
 "Please enter your password for username <i>%s</i>\n"
@@ -133,61 +157,61 @@ msgstr ""
 "請輸入您使用者名稱 <i>%s</i>\n"
 "於網域 <i>%s</i> 的密碼:"
 
-#: ../gtk/main.c:1121
+#: ../gtk/main.c:1126
 #, fuzzy
 msgid "Call error"
 msgstr "通話紀錄"
 
-#: ../gtk/main.c:1124 ../coreapi/linphonecore.c:3189
+#: ../gtk/main.c:1129 ../coreapi/linphonecore.c:3189
 msgid "Call ended"
 msgstr "通話已結束"
 
-#: ../gtk/main.c:1127 ../coreapi/linphonecore.c:239
+#: ../gtk/main.c:1132 ../coreapi/linphonecore.c:239
 msgid "Incoming call"
 msgstr "來電"
 
-#: ../gtk/main.c:1129 ../gtk/incall_view.c:498 ../gtk/main.ui.h:6
+#: ../gtk/main.c:1134 ../gtk/incall_view.c:497 ../gtk/main.ui.h:5
 msgid "Answer"
 msgstr "接聽"
 
-#: ../gtk/main.c:1131 ../gtk/main.ui.h:7
+#: ../gtk/main.c:1136 ../gtk/main.ui.h:6
 msgid "Decline"
 msgstr "拒接"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy
 msgid "Call paused"
 msgstr "通話已放棄"
 
-#: ../gtk/main.c:1137
+#: ../gtk/main.c:1142
 #, fuzzy, c-format
 msgid "<b>by %s</b>"
 msgstr "<b>連接埠</b>"
 
-#: ../gtk/main.c:1186
+#: ../gtk/main.c:1191
 #, c-format
 msgid "%s proposed to start video. Do you accept ?"
 msgstr ""
 
-#: ../gtk/main.c:1348
+#: ../gtk/main.c:1353
 msgid "Website link"
 msgstr "網站連結"
 
-#: ../gtk/main.c:1388
+#: ../gtk/main.c:1402
 msgid "Linphone - a video internet phone"
 msgstr "Linphone - 網路視訊電話"
 
-#: ../gtk/main.c:1480
+#: ../gtk/main.c:1494
 #, c-format
 msgid "%s (Default)"
 msgstr "%s (預設值)"
 
-#: ../gtk/main.c:1782 ../coreapi/callbacks.c:806
+#: ../gtk/main.c:1796 ../coreapi/callbacks.c:810
 #, c-format
 msgid "We are transferred to %s"
 msgstr "我們被轉接到 %s"
 
-#: ../gtk/main.c:1792
+#: ../gtk/main.c:1806
 msgid ""
 "No sound cards have been detected on this computer.\n"
 "You won't be able to send or receive audio calls."
@@ -195,61 +219,52 @@ msgstr ""
 "在這臺電腦中偵測不到音效卡。\n"
 "您將無法傳送或接收語音電話。"
 
-#: ../gtk/main.c:1896
+#: ../gtk/main.c:1911
 msgid "A free SIP video-phone"
 msgstr "自由的 SIP 視訊電話"
 
-#: ../gtk/friendlist.c:366
+#: ../gtk/friendlist.c:469
 msgid "Add to addressbook"
 msgstr ""
 
-#: ../gtk/friendlist.c:540
+#: ../gtk/friendlist.c:643
 msgid "Presence status"
 msgstr "上線狀態"
 
-#: ../gtk/friendlist.c:557 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
+#: ../gtk/friendlist.c:661 ../gtk/propertybox.c:367 ../gtk/contact.ui.h:1
 msgid "Name"
 msgstr "名稱"
 
-#: ../gtk/friendlist.c:569
+#: ../gtk/friendlist.c:673
 #, fuzzy
 msgid "Call"
 msgstr "播打給 %s"
 
-#: ../gtk/friendlist.c:574
+#: ../gtk/friendlist.c:678
 msgid "Chat"
 msgstr ""
 
-#: ../gtk/friendlist.c:604
+#: ../gtk/friendlist.c:708
 #, c-format
 msgid "Search in %s directory"
 msgstr "在 %s 目錄中搜尋"
 
-#: ../gtk/friendlist.c:762
-msgid "Invalid sip contact !"
-msgstr "無效的 sip 連絡人!"
-
-#: ../gtk/friendlist.c:807
-#, c-format
-msgid "Call %s"
-msgstr "播打給 %s"
-
-#: ../gtk/friendlist.c:808
-#, c-format
-msgid "Send text to %s"
-msgstr "傳送文字給 %s"
-
-#: ../gtk/friendlist.c:809
+#: ../gtk/friendlist.c:924
 #, c-format
 msgid "Edit contact '%s'"
 msgstr "編輯連絡人「%s」"
 
-#: ../gtk/friendlist.c:810
+#: ../gtk/friendlist.c:925
 #, c-format
 msgid "Delete contact '%s'"
 msgstr "刪除連絡人「%s」"
 
-#: ../gtk/friendlist.c:852
+#: ../gtk/friendlist.c:926
+#, fuzzy, c-format
+msgid "Delete chat history of '%s'"
+msgstr "刪除連絡人「%s」"
+
+#: ../gtk/friendlist.c:977
 #, c-format
 msgid "Add new contact from %s directory"
 msgstr "從 %s 目錄加入新的連絡人"
@@ -350,20 +365,24 @@ msgstr ""
 msgid "Hebrew"
 msgstr ""
 
-#: ../gtk/propertybox.c:847
+#: ../gtk/propertybox.c:781
+msgid "Serbian"
+msgstr ""
+
+#: ../gtk/propertybox.c:848
 msgid ""
 "You need to restart linphone for the new language selection to take effect."
 msgstr "您需要重新啟動 linphone 才能讓新選擇的語言生效。"
 
-#: ../gtk/propertybox.c:933
+#: ../gtk/propertybox.c:934
 msgid "None"
 msgstr ""
 
-#: ../gtk/propertybox.c:937
+#: ../gtk/propertybox.c:938
 msgid "SRTP"
 msgstr ""
 
-#: ../gtk/propertybox.c:943
+#: ../gtk/propertybox.c:944
 msgid "ZRTP"
 msgstr ""
 
@@ -614,114 +633,114 @@ msgstr ""
 msgid "%.3f seconds"
 msgstr ""
 
-#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:13
+#: ../gtk/incall_view.c:384 ../gtk/main.ui.h:12
 msgid "Hang up"
 msgstr ""
 
-#: ../gtk/incall_view.c:477
+#: ../gtk/incall_view.c:476
 msgid "<b>Calling...</b>"
 msgstr "<b>播打...</b>"
 
-#: ../gtk/incall_view.c:480 ../gtk/incall_view.c:690
+#: ../gtk/incall_view.c:479 ../gtk/incall_view.c:689
 msgid "00::00::00"
 msgstr "00::00::00"
 
-#: ../gtk/incall_view.c:491
+#: ../gtk/incall_view.c:490
 msgid "<b>Incoming call</b>"
 msgstr "<b>來電</b>"
 
-#: ../gtk/incall_view.c:528
+#: ../gtk/incall_view.c:527
 msgid "good"
 msgstr ""
 
-#: ../gtk/incall_view.c:530
+#: ../gtk/incall_view.c:529
 msgid "average"
 msgstr ""
 
-#: ../gtk/incall_view.c:532
+#: ../gtk/incall_view.c:531
 msgid "poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:534
+#: ../gtk/incall_view.c:533
 msgid "very poor"
 msgstr ""
 
-#: ../gtk/incall_view.c:536
+#: ../gtk/incall_view.c:535
 msgid "too bad"
 msgstr ""
 
-#: ../gtk/incall_view.c:537 ../gtk/incall_view.c:553
+#: ../gtk/incall_view.c:536 ../gtk/incall_view.c:552
 msgid "unavailable"
 msgstr ""
 
-#: ../gtk/incall_view.c:652
+#: ../gtk/incall_view.c:651
 msgid "Secured by SRTP"
 msgstr ""
 
-#: ../gtk/incall_view.c:658
+#: ../gtk/incall_view.c:657
 #, c-format
 msgid "Secured by ZRTP - [auth token: %s]"
 msgstr ""
 
-#: ../gtk/incall_view.c:664
+#: ../gtk/incall_view.c:663
 msgid "Set unverified"
 msgstr ""
 
-#: ../gtk/incall_view.c:664 ../gtk/main.ui.h:5
+#: ../gtk/incall_view.c:663 ../gtk/main.ui.h:4
 msgid "Set verified"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "In conference"
 msgstr ""
 
-#: ../gtk/incall_view.c:685
+#: ../gtk/incall_view.c:684
 msgid "<b>In call</b>"
 msgstr "<b>通話中</b>"
 
-#: ../gtk/incall_view.c:719
+#: ../gtk/incall_view.c:718
 msgid "<b>Paused call</b>"
 msgstr "<b>暫停通話</b>"
 
-#: ../gtk/incall_view.c:732
+#: ../gtk/incall_view.c:731
 #, c-format
 msgid "%02i::%02i::%02i"
 msgstr "%02i::%02i::%02i"
 
-#: ../gtk/incall_view.c:749
+#: ../gtk/incall_view.c:748
 msgid "<b>Call ended.</b>"
 msgstr "<b>通話結束。</b>"
 
-#: ../gtk/incall_view.c:779
+#: ../gtk/incall_view.c:778
 msgid "Transfer in progress"
 msgstr ""
 
-#: ../gtk/incall_view.c:782
+#: ../gtk/incall_view.c:781
 #, fuzzy
 msgid "Transfer done."
 msgstr "轉接"
 
-#: ../gtk/incall_view.c:785
+#: ../gtk/incall_view.c:784
 #, fuzzy
 msgid "Transfer failed."
 msgstr "轉接"
 
-#: ../gtk/incall_view.c:829
+#: ../gtk/incall_view.c:828
 msgid "Resume"
 msgstr "繼續"
 
-#: ../gtk/incall_view.c:836 ../gtk/main.ui.h:10
+#: ../gtk/incall_view.c:835 ../gtk/main.ui.h:9
 msgid "Pause"
 msgstr "暫停"
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, c-format
 msgid ""
 "<small><i>Recording into\n"
 "%s %s</i></small>"
 msgstr ""
 
-#: ../gtk/incall_view.c:901
+#: ../gtk/incall_view.c:900
 #, fuzzy
 msgid "(Paused)"
 msgstr "暫停"
@@ -744,157 +763,153 @@ msgstr "傳送"
 msgid "End conference"
 msgstr ""
 
-#: ../gtk/main.ui.h:4
-msgid "label"
-msgstr "標籤"
-
-#: ../gtk/main.ui.h:8
+#: ../gtk/main.ui.h:7
 msgid "Record this call to an audio file"
 msgstr ""
 
-#: ../gtk/main.ui.h:9
+#: ../gtk/main.ui.h:8
 msgid "Video"
 msgstr ""
 
-#: ../gtk/main.ui.h:11
+#: ../gtk/main.ui.h:10
 msgid "Mute"
 msgstr ""
 
-#: ../gtk/main.ui.h:12
+#: ../gtk/main.ui.h:11
 msgid "Transfer"
 msgstr "轉接"
 
-#: ../gtk/main.ui.h:15
+#: ../gtk/main.ui.h:14
 msgid "In call"
 msgstr "通話中"
 
-#: ../gtk/main.ui.h:16
+#: ../gtk/main.ui.h:15
 msgid "Duration"
 msgstr "時間長度"
 
-#: ../gtk/main.ui.h:17
+#: ../gtk/main.ui.h:16
 msgid "Call quality rating"
 msgstr ""
 
-#: ../gtk/main.ui.h:18
+#: ../gtk/main.ui.h:17
 msgid "_Options"
 msgstr "選項(_O)"
 
-#: ../gtk/main.ui.h:19
+#: ../gtk/main.ui.h:18
 msgid "Always start video"
 msgstr ""
 
-#: ../gtk/main.ui.h:20
+#: ../gtk/main.ui.h:19
 msgid "Enable self-view"
 msgstr "啟用自拍檢視"
 
-#: ../gtk/main.ui.h:21
+#: ../gtk/main.ui.h:20
 msgid "_Help"
 msgstr "求助(_H)"
 
-#: ../gtk/main.ui.h:22
+#: ../gtk/main.ui.h:21
 msgid "Show debug window"
 msgstr "顯示除錯視窗"
 
-#: ../gtk/main.ui.h:23
+#: ../gtk/main.ui.h:22
 msgid "_Homepage"
 msgstr "官方網頁(_H)"
 
-#: ../gtk/main.ui.h:24
+#: ../gtk/main.ui.h:23
 msgid "Check _Updates"
 msgstr "檢查更新(_U)"
 
-#: ../gtk/main.ui.h:25
+#: ../gtk/main.ui.h:24
 #, fuzzy
 msgid "Account assistant"
 msgstr "帳號設定助理"
 
-#: ../gtk/main.ui.h:26
+#: ../gtk/main.ui.h:25
 msgid "SIP address or phone number:"
 msgstr "SIP 位址或電話號碼:"
 
-#: ../gtk/main.ui.h:27
+#: ../gtk/main.ui.h:26
 msgid "Initiate a new call"
 msgstr "打出新電話"
 
-#: ../gtk/main.ui.h:28
+#: ../gtk/main.ui.h:27
 msgid "Contacts"
 msgstr "連絡人"
 
-#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:50
+#: ../gtk/main.ui.h:28 ../gtk/parameters.ui.h:50
 msgid "Add"
 msgstr "加入"
 
-#: ../gtk/main.ui.h:30 ../gtk/parameters.ui.h:51
+#: ../gtk/main.ui.h:29 ../gtk/parameters.ui.h:51
 msgid "Edit"
 msgstr "編輯"
 
-#: ../gtk/main.ui.h:31
+#: ../gtk/main.ui.h:30
 msgid "Search"
 msgstr "搜尋"
 
-#: ../gtk/main.ui.h:32
+#: ../gtk/main.ui.h:31
 msgid "<b>Add contacts from directory</b>"
 msgstr "<b>從目錄加入連絡人</b>"
 
-#: ../gtk/main.ui.h:33
+#: ../gtk/main.ui.h:32
 msgid "Add contact"
 msgstr "加入聯絡人"
 
-#: ../gtk/main.ui.h:34
+#: ../gtk/main.ui.h:33
 #, fuzzy
 msgid "Recent calls"
 msgstr "通話中"
 
-#: ../gtk/main.ui.h:35
+#: ../gtk/main.ui.h:34
 msgid "My current identity:"
 msgstr "我目前的使用者識別:"
 
-#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:7
+#: ../gtk/main.ui.h:35 ../gtk/tunnel_config.ui.h:7
 msgid "Username"
 msgstr "使用者名稱"
 
-#: ../gtk/main.ui.h:37 ../gtk/tunnel_config.ui.h:8
+#: ../gtk/main.ui.h:36 ../gtk/tunnel_config.ui.h:8
 msgid "Password"
 msgstr "密碼"
 
-#: ../gtk/main.ui.h:38
+#: ../gtk/main.ui.h:37
 msgid "Internet connection:"
 msgstr "網路連線:"
 
-#: ../gtk/main.ui.h:39
+#: ../gtk/main.ui.h:38
 msgid "Automatically log me in"
 msgstr "將我自動登入"
 
-#: ../gtk/main.ui.h:40
+#: ../gtk/main.ui.h:39
 msgid "Login information"
 msgstr "登入資訊"
 
-#: ../gtk/main.ui.h:41
+#: ../gtk/main.ui.h:40
 msgid "<b>Welcome !</b>"
 msgstr "<b>歡迎使用!</b>"
 
-#: ../gtk/main.ui.h:42
+#: ../gtk/main.ui.h:41
 msgid "All users"
 msgstr "所有使用者"
 
-#: ../gtk/main.ui.h:43
+#: ../gtk/main.ui.h:42
 msgid "Online users"
 msgstr "線上使用者"
 
-#: ../gtk/main.ui.h:44
+#: ../gtk/main.ui.h:43
 msgid "ADSL"
 msgstr "ADSL"
 
-#: ../gtk/main.ui.h:45
+#: ../gtk/main.ui.h:44
 msgid "Fiber Channel"
 msgstr "光纖通道"
 
-#: ../gtk/main.ui.h:46
+#: ../gtk/main.ui.h:45
 msgid "Default"
 msgstr "預設值"
 
-#: ../gtk/main.ui.h:47
+#: ../gtk/main.ui.h:46
 msgid "Delete"
 msgstr ""
 
@@ -1505,7 +1520,7 @@ msgstr ""
 msgid "Outgoing call"
 msgstr "去電"
 
-#: ../coreapi/linphonecore.c:1314
+#: ../coreapi/linphonecore.c:1312
 msgid "Ready"
 msgstr "準備就緒"
 
@@ -1559,11 +1574,11 @@ msgstr "已連線。"
 msgid "Call aborted"
 msgstr "通話已放棄"
 
-#: ../coreapi/linphonecore.c:3351
+#: ../coreapi/linphonecore.c:3357
 msgid "Could not pause the call"
 msgstr "無法暫停通話"
 
-#: ../coreapi/linphonecore.c:3356
+#: ../coreapi/linphonecore.c:3362
 msgid "Pausing the current call..."
 msgstr "暫停目前的通話..."
 
@@ -1662,115 +1677,115 @@ msgstr ""
 "您輸入的 sip 身分是無效的。\n"
 "它應該看起來像 sip:使用者名稱@代理網域,像是 sip:alice@example.net"
 
-#: ../coreapi/proxy.c:1068
+#: ../coreapi/proxy.c:1069
 #, c-format
 msgid "Could not login as %s"
 msgstr "無法以 %s 登入"
 
-#: ../coreapi/callbacks.c:283
+#: ../coreapi/callbacks.c:286
 msgid "Remote ringing."
 msgstr "遠端響鈴。"
 
-#: ../coreapi/callbacks.c:303
+#: ../coreapi/callbacks.c:306
 msgid "Remote ringing..."
 msgstr "遠端響鈴..."
 
-#: ../coreapi/callbacks.c:314
+#: ../coreapi/callbacks.c:317
 msgid "Early media."
 msgstr "早期媒體。"
 
-#: ../coreapi/callbacks.c:365
+#: ../coreapi/callbacks.c:368
 #, c-format
 msgid "Call with %s is paused."
 msgstr "和 %s 的通話已暫停。"
 
-#: ../coreapi/callbacks.c:378
+#: ../coreapi/callbacks.c:381
 #, c-format
 msgid "Call answered by %s - on hold."
 msgstr "通話由 %s 接聽 - 保留中。"
 
-#: ../coreapi/callbacks.c:389
+#: ../coreapi/callbacks.c:392
 msgid "Call resumed."
 msgstr "通話已繼續。"
 
-#: ../coreapi/callbacks.c:394
+#: ../coreapi/callbacks.c:397
 #, c-format
 msgid "Call answered by %s."
 msgstr "通話由 %s 接聽。"
 
-#: ../coreapi/callbacks.c:409
+#: ../coreapi/callbacks.c:412
 msgid "Incompatible, check codecs or security settings..."
 msgstr ""
 
-#: ../coreapi/callbacks.c:457
+#: ../coreapi/callbacks.c:460
 #, fuzzy
 msgid "We have been resumed."
 msgstr "我們要繼續了..."
 
-#: ../coreapi/callbacks.c:466
+#: ../coreapi/callbacks.c:469
 msgid "We are paused by other party."
 msgstr ""
 
-#: ../coreapi/callbacks.c:472
+#: ../coreapi/callbacks.c:475
 msgid "Call is updated by remote."
 msgstr ""
 
-#: ../coreapi/callbacks.c:541
+#: ../coreapi/callbacks.c:544
 msgid "Call terminated."
 msgstr "通話已終止。"
 
-#: ../coreapi/callbacks.c:552
+#: ../coreapi/callbacks.c:555
 msgid "User is busy."
 msgstr "使用者現正忙碌。"
 
-#: ../coreapi/callbacks.c:553
+#: ../coreapi/callbacks.c:556
 msgid "User is temporarily unavailable."
 msgstr "使用者暫時無法聯繫。"
 
 #. char *retrymsg=_("%s. Retry after %i minute(s).");
-#: ../coreapi/callbacks.c:555
+#: ../coreapi/callbacks.c:558
 msgid "User does not want to be disturbed."
 msgstr "使用者不想要被打擾。"
 
-#: ../coreapi/callbacks.c:556
+#: ../coreapi/callbacks.c:559
 msgid "Call declined."
 msgstr "通話被拒接。"
 
-#: ../coreapi/callbacks.c:568
+#: ../coreapi/callbacks.c:571
 msgid "No response."
 msgstr "沒有回應。"
 
-#: ../coreapi/callbacks.c:572
+#: ../coreapi/callbacks.c:575
 msgid "Protocol error."
 msgstr "通訊協定錯誤。"
 
-#: ../coreapi/callbacks.c:588
+#: ../coreapi/callbacks.c:591
 msgid "Redirected"
 msgstr "已重新導向"
 
-#: ../coreapi/callbacks.c:624
+#: ../coreapi/callbacks.c:627
 msgid "Incompatible media parameters."
 msgstr ""
 
-#: ../coreapi/callbacks.c:630
+#: ../coreapi/callbacks.c:633
 msgid "Call failed."
 msgstr "通話失敗。"
 
-#: ../coreapi/callbacks.c:733
+#: ../coreapi/callbacks.c:737
 #, c-format
 msgid "Registration on %s successful."
 msgstr "在 %s 註冊成功。"
 
-#: ../coreapi/callbacks.c:734
+#: ../coreapi/callbacks.c:738
 #, c-format
 msgid "Unregistration on %s done."
 msgstr "在 %s 取消註冊完成。"
 
-#: ../coreapi/callbacks.c:754
+#: ../coreapi/callbacks.c:758
 msgid "no response timeout"
 msgstr "沒有回應逾時"
 
-#: ../coreapi/callbacks.c:757
+#: ../coreapi/callbacks.c:761
 #, c-format
 msgid "Registration on %s failed: %s"
 msgstr "在 %s 註冊失敗:%s"
@@ -1780,12 +1795,15 @@ msgstr "在 %s 註冊失敗:%s"
 msgid "Authentication token is %s"
 msgstr "驗證失敗"
 
-#: ../coreapi/linphonecall.c:2314
+#: ../coreapi/linphonecall.c:2319
 #, c-format
 msgid "You have missed %i call."
 msgid_plural "You have missed %i calls."
 msgstr[0] "您有 %i 通未接來電。"
 
+#~ msgid "label"
+#~ msgstr "標籤"
+
 #~ msgid "Keypad"
 #~ msgstr "撥號盤"