diff --git a/.clang-format b/.clang-format new file mode 100644 index 000000000..769b266b1 --- /dev/null +++ b/.clang-format @@ -0,0 +1,64 @@ +--- +# BasedOnStyle: LLVM +AccessModifierOffset: -2 +AlignAfterOpenBracket: true +AlignEscapedNewlinesLeft: false +AlignOperands: true +AlignTrailingComments: true +AllowAllParametersOfDeclarationOnNextLine: true +AllowShortBlocksOnASingleLine: false +AllowShortCaseLabelsOnASingleLine: false +AllowShortFunctionsOnASingleLine: false +AllowShortIfStatementsOnASingleLine: false +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: false +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: false +BinPackArguments: true +BinPackParameters: true +BreakBeforeBinaryOperators: None +BreakBeforeBraces: Attach +BreakBeforeTernaryOperators: true +BreakConstructorInitializersBeforeComma: false +ColumnLimit: 120 +CommentPragmas: '^ IWYU pragma:' +ConstructorInitializerAllOnOneLineOrOnePerLine: false +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true +DerivePointerAlignment: false +DisableFormat: false +ExperimentalAutoDetectBinPacking: false +ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ] +IndentCaseLabels: false +IndentFunctionDeclarationAfterType: false +IndentWidth: 4 +IndentWrappedFunctionNames: false +KeepEmptyLinesAtTheStartOfBlocks: true +Language: Cpp +MaxEmptyLinesToKeep: 1 +NamespaceIndentation: None +ObjCBlockIndentWidth: 2 +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: true +PenaltyBreakBeforeFirstCallParameter: 19 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakString: 1000 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 60 +PointerAlignment: Right +SpaceAfterCStyleCast: false +SpaceBeforeAssignmentOperators: true +SpaceBeforeParens: ControlStatements +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: false +SpacesInContainerLiterals: true +SpacesInCStyleCastParentheses: false +SpacesInParentheses: false +SpacesInSquareBrackets: false +Standard: Cpp11 +TabWidth: 4 +UseTab: Always +... diff --git a/.git-pre-commit b/.git-pre-commit new file mode 100755 index 000000000..69a71bea9 --- /dev/null +++ b/.git-pre-commit @@ -0,0 +1,51 @@ +#!/bin/bash + +# This hook purpose is to keep coding style consistent between all developers +# It is automatically installed in .git/hooks folder by cmake on first run. + +# From https://github.com/tatsuhiro-t/nghttp2/blob/master/pre-commit + +function invalid-format-detected { + cat git-clang-format.diff + echo "*****************" + echo "$0: Invalid coding style detected (see git-clang-format.diff for issues). Please correct it using one of the following:" + echo "1) Apply patch located at git-clang-format.diff using:" + echo " cd $(git rev-parse --show-toplevel) && $1" + echo "2) Use clang-format to correctly format source code using:" + echo " $2" + echo "3) Reformat these lines manually." + echo "*** Aborting commit.***" + exit 1 +} +function git-clang-format-diffing { + format_diff=$(which git-clang-format) + format_diff_options="--style=file" + + #only diffing commited files, ignored staged one + $format_diff $format_diff_options --diff $(git --no-pager diff --cached --name-status | grep -v '^D' | cut -f2) > git-clang-format.diff + + if ! grep -q -E '(no modified files to format|clang-format did not modify any files)' git-clang-format.diff; then + invalid-format-detected "git apply git-clang-format.diff" "clang-format $format_diff_options -i " + fi +} + +function clang-format-diff-diffing { + format_diff=$(find /usr/bin/ -name 'clang-format-diff*' -type f | tail -n1) + format_diff_options="-style file" + + git diff-index --cached --diff-filter=ACMR -p HEAD -- | $format_diff $format_diff_options -p1 > git-clang-format.diff + if [ -s git-clang-format.diff ]; then + invalid-format-detected "patch -p0 < git-clang-format.diff" "${format_diff/-diff/} $format_diff_options -i " + fi +} + +set -e +if which git-clang-format &>/dev/null; then + git-clang-format-diffing $@ +elif [ ! -z "$(find /usr/bin/ /usr/local/bin/ /opt/bin/ -name 'clang-format-diff*' -type f 2>/dev/null)" ]; then + # Warning! We need at least version 1.6... + clang-format-diff-diffing $@ +else + echo "$0: Please install clang-format (coding style checker) - could not find git-clang-format nor clang-format-diff in PATH. Skipping code verification..." + exit 0 +fi diff --git a/.gitignore b/.gitignore index be3581420..b38bd2977 100644 --- a/.gitignore +++ b/.gitignore @@ -50,8 +50,6 @@ coreapi/help/chatroom coreapi/help/doc/ coreapi/help/helloworld coreapi/help/registration -coreapi/test_ecc -coreapi/test_lsd gtk/version_date.h specs.c *.orig @@ -62,7 +60,9 @@ specs.c *.swp .deps .libs -coreapi/test_numbers +tools/test_ecc +tools/test_lsd +tools/test_numbers coreapi/help/notify share/fresh-rootca.pem share/certdata.txt @@ -90,3 +90,5 @@ tester/record-call_with_file_player.wav tester/ZIDCache*.xml tester/stereo-record.wav +.dirstamp +git-clang-format.diff diff --git a/CMakeLists.txt b/CMakeLists.txt index 737c15648..56329f10b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -141,6 +141,10 @@ if(ENABLE_NLS) include_directories(${INTL_INCLUDE_DIRS}) endif() +if(UNIX AND NOT APPLE) + include(CheckIncludeFiles) + check_include_files(libudev.h HAVE_LIBUDEV_H) +endif() include_directories( include/ diff --git a/autogen.sh b/autogen.sh index d5ec9ea80..b245167ec 100755 --- a/autogen.sh +++ b/autogen.sh @@ -16,19 +16,25 @@ else AUTOMAKE=automake-${AM_VERSION} fi -if test -f /opt/local/bin/glibtoolize ; then - # darwin - LIBTOOLIZE=/opt/local/bin/glibtoolize -else - LIBTOOLIZE=libtoolize -fi +LIBTOOLIZE="libtoolize" +for lt in glibtoolize libtoolize15 libtoolize14 libtoolize13 ; do + if test -x /usr/bin/$lt ; then + LIBTOOLIZE=$lt ; break + fi + if test -x /usr/local/bin/$lt ; then + LIBTOOLIZE=$lt ; break + fi + if test -x /opt/local/bin/$lt ; then + LIBTOOLIZE=$lt ; break + fi +done if test -d /opt/local/share/aclocal ; then - ACLOCAL_ARGS="-I /opt/local/share/aclocal" + ACLOCAL_ARGS="-I /opt/local/share/aclocal" fi if test -d /share/aclocal ; then - ACLOCAL_ARGS="$ACLOCAL_ARGS -I /share/aclocal" + ACLOCAL_ARGS="$ACLOCAL_ARGS -I /share/aclocal" fi INTLTOOLIZE=$(which intltoolize) @@ -49,6 +55,13 @@ $AUTOMAKE --force-missing --add-missing --copy autoconf set +x + +#install git pre-commit hooks if possible +if [ -d .git/hooks ] && [ ! -f .git/hooks/pre-commit ]; then + cp .git-pre-commit .git/hooks/pre-commit + chmod +x .git/hooks/pre-commit +fi + if [ "$srcdir" = "." ]; then if [ -x oRTP/autogen.sh ]; then echo "Generating build scripts in oRTP..." diff --git a/build/android/Android.mk b/build/android/Android.mk index 9fe43d362..9dfd049fa 100755 --- a/build/android/Android.mk +++ b/build/android/Android.mk @@ -173,6 +173,11 @@ LOCAL_CFLAGS += -DHAVE_SILK LOCAL_STATIC_LIBRARIES += libmssilk endif +ifeq ($(BUILD_CODEC2),1) +LOCAL_CFLAGS += -DHAVE_CODEC2 +LOCAL_STATIC_LIBRARIES += libcodec2 libmscodec2 +endif + ifneq ($(BUILD_WEBRTC_AECM)$(BUILD_WEBRTC_ISAC),00) LOCAL_CFLAGS += -DHAVE_WEBRTC LOCAL_STATIC_LIBRARIES += libmswebrtc diff --git a/build/macos/linphone.bundle b/build/macos/linphone.bundle index 8109ff6cb..f9309ebaa 100644 --- a/build/macos/linphone.bundle +++ b/build/macos/linphone.bundle @@ -76,7 +76,7 @@ - ${prefix}/share/mime/globs + ${prefix}/share/mime/mime.cache @@ -136,6 +136,10 @@ ${prefix:linphone}/share/images + + ${prefix:linphone}/share/icons + + diff --git a/config.h.cmake b/config.h.cmake index 831bfe181..35d7e2ac9 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -42,4 +42,5 @@ #cmakedefine HAVE_ZLIB 1 #cmakedefine HAVE_CU_GET_SUITE 1 #cmakedefine HAVE_CU_CURSES 1 +#cmakedefine HAVE_LIBUDEV_H 0 #cmakedefine ENABLE_NLS 1 diff --git a/console/commands.c b/console/commands.c index 539d33512..f50ed4886 100644 --- a/console/commands.c +++ b/console/commands.c @@ -633,7 +633,7 @@ lpc_cmd_chat(LinphoneCore *lc, char *args) /* missing one parameter */ return 0; } - cr = linphone_core_create_chat_room(lc,arg1); + cr = linphone_core_get_chat_room_from_uri(lc,arg1); linphone_chat_room_send_message(cr,arg2); return 1; } diff --git a/coreapi/Makefile.am b/coreapi/Makefile.am index d4c4516ce..8219cc1f6 100644 --- a/coreapi/Makefile.am +++ b/coreapi/Makefile.am @@ -144,22 +144,6 @@ liblinphone_la_LIBADD= \ $(ZLIB_LIBS) -if ENABLE_TESTS -noinst_PROGRAMS=test_lsd test_ecc test_numbers - -test_lsd_SOURCES=test_lsd.c - -test_lsd_LDADD=liblinphone.la $(liblinphone_la_LIBADD) - -test_ecc_SOURCES=test_ecc.c - -test_ecc_LDADD=liblinphone.la $(liblinphone_la_LIBADD) - -test_numbers_SOURCES=test_numbers.c - -test_numbers_LDADD=liblinphone.la $(liblinphone_la_LIBADD) -endif - AM_CPPFLAGS=\ -I$(top_srcdir) -I$(top_srcdir)/include -I$(builddir) \ $(ORTP_CFLAGS) \ diff --git a/coreapi/TunnelManager.hh b/coreapi/TunnelManager.hh index fdda28beb..f8002ee5d 100644 --- a/coreapi/TunnelManager.hh +++ b/coreapi/TunnelManager.hh @@ -56,7 +56,7 @@ namespace belledonnecomm { * @param ip tunnel server ip address * @param port tunnel server tls port, recommended value is 443 * @param udpMirrorPort remote port on the tunnel server side used to test udp reachability - * @param delay udp packet round trip delay in ms considered as acceptable. recommanded value is 1000 ms. + * @param delay udp packet round trip delay in ms considered as acceptable. recommended value is 1000 ms. */ void addServer(const char *ip, int port,unsigned int udpMirrorPort,unsigned int delay); /** diff --git a/coreapi/bellesip_sal/sal_impl.h b/coreapi/bellesip_sal/sal_impl.h index eae0c6bb3..b75be9156 100644 --- a/coreapi/bellesip_sal/sal_impl.h +++ b/coreapi/bellesip_sal/sal_impl.h @@ -93,7 +93,6 @@ struct SalOp{ belle_sip_header_referred_by_t *referred_by; SalMediaDescription *result; belle_sdp_session_description_t *sdp_answer; - bool_t supports_session_timers; SalOpState state; SalOpDir dir; belle_sip_refresher_t* refresher; @@ -101,14 +100,15 @@ struct SalOp{ SalOpType type; SalPrivacyMask privacy; belle_sip_header_t *event; /*used by SalOpSubscribe kinds*/ + SalOpSDPHandling sdp_handling; + int auth_requests; /*number of auth requested for this op*/ + bool_t cnx_ip_to_0000_if_sendonly_enabled; bool_t auto_answer_asked; bool_t sdp_offering; bool_t call_released; bool_t manual_refresher; bool_t has_auth_pending; - SalOpSDPHandling sdp_handling; - int auth_requests; /*number of auth requested for this op*/ - bool_t cnx_ip_to_0000_if_sendonly_enabled; /*for */ + bool_t supports_session_timers; }; diff --git a/coreapi/bellesip_sal/sal_op_call.c b/coreapi/bellesip_sal/sal_op_call.c index f6e7087bb..5474540ea 100644 --- a/coreapi/bellesip_sal/sal_op_call.c +++ b/coreapi/bellesip_sal/sal_op_call.c @@ -302,10 +302,10 @@ static void call_process_response(void *op_base, const belle_sip_response_event_ && (header_content_type = belle_sip_message_get_header_by_type(req,belle_sip_header_content_type_t)) && strcmp("application",belle_sip_header_content_type_get_type(header_content_type))==0 && strcmp("media_control+xml",belle_sip_header_content_type_get_subtype(header_content_type))==0) { - unsigned int retry_in =1000*((float)rand()/RAND_MAX); - belle_sip_source_t *s=sal_create_timer(op->base.root,vfu_retry,sal_op_ref(op), retry_in, "vfu request retry"); - ms_message("Rejected vfu request on op [%p], just retry in [%ui] ms",op,retry_in); - belle_sip_object_unref(s); + unsigned int retry_in =1000*((float)rand()/RAND_MAX); + belle_sip_source_t *s=sal_create_timer(op->base.root,vfu_retry,sal_op_ref(op), retry_in, "vfu request retry"); + ms_message("Rejected vfu request on op [%p], just retry in [%ui] ms",op,retry_in); + belle_sip_object_unref(s); }else { /*ignoring*/ } @@ -323,7 +323,7 @@ static void call_process_response(void *op_base, const belle_sip_response_event_ } break; case BELLE_SIP_DIALOG_TERMINATED: { - if (code >= 300){ + if (strcmp("INVITE",method)==0 && code >= 300){ call_set_error(op,response); } } @@ -578,22 +578,27 @@ static void process_request_event(void *op_base, const belle_sip_request_event_t case BELLE_SIP_DIALOG_CONFIRMED: /*great ACK received*/ if (strcmp("ACK",method)==0) { - if (op->sdp_offering){ - SalReason reason; - if (extract_sdp(op,BELLE_SIP_MESSAGE(req),&sdp,&reason)==0){ - if (sdp){ - if (op->base.remote_media) - sal_media_description_unref(op->base.remote_media); - op->base.remote_media=sal_media_description_new(); - sdp_to_media_description(sdp,op->base.remote_media); - sdp_process(op); - belle_sip_object_unref(sdp); - }else{ - ms_warning("SDP expected in ACK but not found."); + if (!op->pending_client_trans || + !belle_sip_transaction_state_is_transient(belle_sip_transaction_get_state((belle_sip_transaction_t*)op->pending_client_trans))){ + if (op->sdp_offering){ + SalReason reason; + if (extract_sdp(op,BELLE_SIP_MESSAGE(req),&sdp,&reason)==0){ + if (sdp){ + if (op->base.remote_media) + sal_media_description_unref(op->base.remote_media); + op->base.remote_media=sal_media_description_new(); + sdp_to_media_description(sdp,op->base.remote_media); + sdp_process(op); + belle_sip_object_unref(sdp); + }else{ + ms_warning("SDP expected in ACK but not found."); + } } } + op->base.root->callbacks.call_ack(op); + }else{ + ms_message("Ignored received ack since a new client transaction has been started since."); } - op->base.root->callbacks.call_ack(op); } else if(strcmp("BYE",method)==0) { resp=sal_op_create_response_from_request(op,req,200); belle_sip_server_transaction_send_response(server_transaction,resp); diff --git a/coreapi/call_params.c b/coreapi/call_params.c index 828fba70c..f9a1a1a4d 100644 --- a/coreapi/call_params.c +++ b/coreapi/call_params.c @@ -43,6 +43,9 @@ SalStreamDir sal_dir_from_call_params_dir(LinphoneMediaDirection cpdir) { return SalStreamRecvOnly; case LinphoneMediaDirectionSendRecv: return SalStreamSendRecv; + case LinphoneMediaDirectionInvalid: + ms_error("LinphoneMediaDirectionInvalid shall not be used."); + return SalStreamInactive; } return SalStreamSendRecv; } diff --git a/coreapi/call_params.h b/coreapi/call_params.h index 29c0a1223..a45eb8999 100644 --- a/coreapi/call_params.h +++ b/coreapi/call_params.h @@ -34,11 +34,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * Indicates for a given media the stream direction * */ enum _LinphoneMediaDirection { + LinphoneMediaDirectionInvalid = -1, LinphoneMediaDirectionInactive, /** No active media not supported yet*/ LinphoneMediaDirectionSendOnly, /** Send only mode*/ LinphoneMediaDirectionRecvOnly, /** recv only mode*/ LinphoneMediaDirectionSendRecv, /** send receive*/ - }; /** * Typedef for enum diff --git a/coreapi/callbacks.c b/coreapi/callbacks.c index 041f36d5b..f58c2a77f 100644 --- a/coreapi/callbacks.c +++ b/coreapi/callbacks.c @@ -117,10 +117,8 @@ void linphone_call_update_frozen_payloads(LinphoneCall *call, SalMediaDescriptio } } -void linphone_core_update_streams(LinphoneCore *lc, LinphoneCall *call, SalMediaDescription *new_md){ +void linphone_core_update_streams(LinphoneCore *lc, LinphoneCall *call, SalMediaDescription *new_md, LinphoneCallState target_state){ SalMediaDescription *oldmd=call->resultdesc; - bool_t all_muted=FALSE; - bool_t send_ringbacktone=FALSE; int md_changed=0; @@ -144,7 +142,6 @@ void linphone_core_update_streams(LinphoneCore *lc, LinphoneCall *call, SalMedia call->biggestdesc=sal_media_description_ref(sal_call_get_remote_media_description(call->op)); } sal_media_description_ref(new_md); - call->expect_media_in_ack=FALSE; call->resultdesc=new_md; if ((call->audiostream && call->audiostream->ms.state==MSStreamStarted) || (call->videostream && call->videostream->ms.state==MSStreamStarted)){ clear_early_media_destinations(call); @@ -201,25 +198,11 @@ void linphone_core_update_streams(LinphoneCore *lc, LinphoneCall *call, SalMedia /*this happens after pausing the call locally. The streams are destroyed and then we wait the 200Ok to recreate them*/ linphone_call_init_media_streams (call); } - if (call->state==LinphoneCallIncomingEarlyMedia && linphone_core_get_remote_ringback_tone (lc)!=NULL){ - send_ringbacktone=TRUE; - } - if ((call->state==LinphoneCallIncomingEarlyMedia || call->state==LinphoneCallOutgoingEarlyMedia) && !call->params->real_early_media){ - all_muted=TRUE; - } + if (call->params->real_early_media && call->state==LinphoneCallOutgoingEarlyMedia){ prepare_early_media_forking(call); } -#ifdef VIDEO_ENABLED - if (call->state==LinphoneCallPausing) { - /*change cam to noweb cam*/ - call->cam = get_nowebcam_device(); - } else if (call->state != LinphoneCallPaused) { - /*restaure web cam*/ - call->cam = lc->video_conf.device; - } -#endif /*VIDEO*/ - linphone_call_start_media_streams(call,all_muted,send_ringbacktone); + linphone_call_start_media_streams(call, target_state); if (call->state==LinphoneCallPausing && call->paused_by_app && ms_list_size(lc->calls)==1){ linphone_core_play_named_tone(lc,LinphoneToneCallOnHold); } @@ -346,7 +329,7 @@ static void call_received(SalOp *h){ call=linphone_call_new_incoming(lc,from_addr,to_addr,h); - linphone_call_make_local_media_description(lc,call); + linphone_call_make_local_media_description(call); sal_call_set_local_media_description(call->op,call->localdesc); md=sal_call_get_final_media_description(call->op); if (md){ @@ -476,7 +459,7 @@ static void call_ringing(SalOp *h){ linphone_call_set_state(call,LinphoneCallOutgoingEarlyMedia,"Early media"); linphone_core_stop_ringing(lc); ms_message("Doing early media..."); - linphone_core_update_streams(lc,call,md); + linphone_core_update_streams(lc,call,md, call->state); if ((linphone_call_params_get_audio_direction(linphone_call_get_current_params(call)) == LinphoneMediaDirectionInactive) && call->audiostream) { if (lc->ringstream != NULL) return; /* Already ringing! */ start_remote_ring(lc, call); @@ -484,24 +467,41 @@ static void call_ringing(SalOp *h){ } } -/* - * could be reach : - * - when the call is accepted - * - when a request is accepted (pause, resume) - */ -static void call_accepted(SalOp *op){ - LinphoneCore *lc=(LinphoneCore *)sal_get_user_pointer(sal_op_get_sal(op)); - LinphoneCall *call=(LinphoneCall*)sal_op_get_user_pointer(op); - SalMediaDescription *md, *rmd; - bool_t update_state=TRUE; +static void start_pending_refer(LinphoneCall *call){ + linphone_core_start_refered_call(call->core, call,NULL); +} - if (call==NULL){ - ms_warning("No call to accept."); - return ; +static void process_call_accepted(LinphoneCore *lc, LinphoneCall *call, SalOp *op){ + SalMediaDescription *md, *rmd; + LinphoneCallState next_state = LinphoneCallIdle; + const char *next_state_str = NULL; + LinphoneTaskList tl; + + switch (call->state){/*immediately notify the connected state, even if errors occur after*/ + case LinphoneCallOutgoingProgress: + case LinphoneCallOutgoingRinging: + case LinphoneCallOutgoingEarlyMedia: + /*immediately notify the connected state*/ + linphone_call_set_state(call,LinphoneCallConnected,"Connected"); + { + char *tmp=linphone_call_get_remote_address_as_string (call); + char *msg=ms_strdup_printf(_("Call answered by %s"),tmp); + linphone_core_notify_display_status(lc,msg); + ms_free(tmp); + ms_free(msg); + } + break; + default: + break; } + + linphone_task_list_init(&tl); rmd=sal_call_get_remote_media_description(op); /*set privacy*/ call->current_params->privacy=(LinphonePrivacyMask)sal_op_get_privacy(call->op); + /*reset the internal call update flag, so it doesn't risk to be copied and used in further re-INVITEs*/ + if (call->params->internal_call_update) + call->params->internal_call_update = FALSE; /* Handle remote ICE attributes if any. */ if (call->ice_session != NULL && rmd) { @@ -514,130 +514,108 @@ static void call_accepted(SalOp *op){ #endif //BUILD_UPNP md=sal_call_get_final_media_description(op); - - switch (call->state){ - case LinphoneCallOutgoingProgress: - case LinphoneCallOutgoingRinging: - case LinphoneCallOutgoingEarlyMedia: - linphone_call_set_state(call,LinphoneCallConnected,"Connected"); - if (call->referer) linphone_core_notify_refer_state(lc,call->referer,call); - break; - case LinphoneCallEarlyUpdating: - linphone_call_set_state(call,call->prevstate,"Early update accepted"); - update_state=FALSE; - break; - default: - break; + if (md == NULL && call->prevstate == LinphoneCallOutgoingEarlyMedia && call->resultdesc != NULL){ + ms_message("Using early media SDP since none was received with the 200 OK"); + md = call->resultdesc; } - - if( (call->prevstate == LinphoneCallOutgoingEarlyMedia) && (md == NULL || sal_media_description_empty(md)) ){ - /* media description is null or empty because no SDP was received in the 200 OK, we can possibly use the early-media SDP. */ - if( call->resultdesc != NULL){ - ms_message("Using early media SDP since none were received with the 200 OK"); - md = call->resultdesc; - } + if (md && (sal_media_description_empty(md) || linphone_core_incompatible_security(lc,md))){ + md = NULL; } - - if (md && !sal_media_description_empty(md) && !linphone_core_incompatible_security(lc,md)){ - linphone_call_update_remote_session_id_and_ver(call); - linphone_core_update_ice_state_in_call_stats(call); - if (sal_media_description_has_dir(md,SalStreamSendOnly) || - sal_media_description_has_dir(md,SalStreamInactive)){ - { - char *tmp=linphone_call_get_remote_address_as_string (call); - char *msg=ms_strdup_printf(_("Call with %s is paused."),tmp); - linphone_core_notify_display_status(lc,msg); - ms_free(tmp); - ms_free(msg); - } - linphone_core_update_streams (lc,call,md); - if (update_state) linphone_call_set_state(call,LinphoneCallPaused,"Call paused"); - if (call->refer_pending) - linphone_core_start_refered_call(lc,call,NULL); - }else if (sal_media_description_has_dir(md,SalStreamRecvOnly)){ - /*we are put on hold when the call is initially accepted */ - { - char *tmp=linphone_call_get_remote_address_as_string (call); - char *msg=ms_strdup_printf(_("Call answered by %s - on hold."),tmp); - linphone_core_notify_display_status(lc,msg); - ms_free(tmp); - ms_free(msg); - } - linphone_core_update_streams (lc,call,md); - if (update_state) linphone_call_set_state(call,LinphoneCallPausedByRemote,"Call paused by remote"); - }else{ - if (call->state!=LinphoneCallUpdating){ - if (call->state==LinphoneCallResuming){ - linphone_core_notify_display_status(lc,_("Call resumed.")); + if (md){ /*there is a valid SDP in the response, either offer or answer, and we're able to start/update the streams*/ + switch (call->state){ + case LinphoneCallResuming: + linphone_core_notify_display_status(lc,_("Call resumed.")); + /*intentionally no break*/ + case LinphoneCallConnected: + if (call->referer) linphone_core_notify_refer_state(lc,call->referer,call); + /*intentionally no break*/ + case LinphoneCallUpdating: + case LinphoneCallUpdatedByRemote: + if (!sal_media_description_has_dir(call->localdesc, SalStreamInactive) && + (sal_media_description_has_dir(md,SalStreamRecvOnly) || + sal_media_description_has_dir(md,SalStreamInactive))){ + next_state = LinphoneCallPausedByRemote; + next_state_str = "Call paused by remote"; }else{ - { - char *tmp=linphone_call_get_remote_address_as_string (call); - char *msg=ms_strdup_printf(_("Call answered by %s."),tmp); - linphone_core_notify_display_status(lc,msg); - ms_free(tmp); - ms_free(msg); - } + if (!call->current_params->in_conference) + lc->current_call=call; + next_state = LinphoneCallStreamsRunning; + next_state_str = "Streams running"; } - } - linphone_core_update_streams(lc,call,md); - /*also reflect the change if the "wished" params, in order to avoid to propose SAVP or video again - * further in the call, for example during pause,resume, conferencing reINVITEs*/ - linphone_call_fix_call_parameters(call); - if (!call->current_params->in_conference) - lc->current_call=call; - if (update_state) linphone_call_set_state(call, LinphoneCallStreamsRunning, "Streams running"); + break; + case LinphoneCallEarlyUpdating: + next_state_str = "Early update accepted"; + next_state = call->prevstate; + break; + case LinphoneCallPausing: + /*when we entered the pausing state, we always reach the paused state whatever the content of the remote SDP is. + Our streams are all send-only (with music), soundcard and camera are never used*/ + next_state = LinphoneCallPaused; + next_state_str = "Call paused"; + if (call->refer_pending) + linphone_task_list_add(&tl, (LinphoneCoreIterateHook)start_pending_refer, call); + break; + default: + ms_error("call_accepted(): don't know what to do in state [%s]", linphone_call_state_to_string(call->state)); + break; } - }else{ + + if (next_state != LinphoneCallIdle){ + linphone_call_update_remote_session_id_and_ver(call); + linphone_core_update_ice_state_in_call_stats(call); + linphone_core_update_streams(lc, call, md, next_state); + linphone_call_fix_call_parameters(call); + linphone_call_set_state(call, next_state, next_state_str); + }else{ + ms_error("BUG: next_state is not set in call_accepted(), current state is %s", linphone_call_state_to_string(call->state)); + } + }else{ /*invalid or no SDP*/ switch (call->prevstate){ - /*send a bye only in case of outgoing state*/ + /*send a bye only in case of early states*/ case LinphoneCallOutgoingInit: case LinphoneCallOutgoingProgress: case LinphoneCallOutgoingRinging: case LinphoneCallOutgoingEarlyMedia: - ms_error("Incompatible SDP offer received in 200 OK, need to abort the call"); + case LinphoneCallIncomingReceived: + case LinphoneCallIncomingEarlyMedia: + ms_error("Incompatible SDP answer received, need to abort the call"); linphone_core_abort_call(lc,call,_("Incompatible, check codecs or security settings...")); break; /*otherwise we are able to resume previous state*/ default: - ms_message("Incompatible SDP offer received in 200 OK, restoring previous state[%s]",linphone_call_state_to_string(call->prevstate)); + ms_message("Incompatible SDP answer received, restoring previous state [%s]",linphone_call_state_to_string(call->prevstate)); linphone_call_set_state(call,call->prevstate,_("Incompatible media parameters.")); break; } } + linphone_task_list_run(&tl); + linphone_task_list_free(&tl); } -static void call_ack(SalOp *op){ +/* + * could be reach : + * - when the call is accepted + * - when a request is accepted (pause, resume) + */ +static void call_accepted(SalOp *op){ LinphoneCore *lc=(LinphoneCore *)sal_get_user_pointer(sal_op_get_sal(op)); LinphoneCall *call=(LinphoneCall*)sal_op_get_user_pointer(op); - if (call==NULL){ - ms_warning("No call to be ACK'd"); + + if (call == NULL){ + ms_warning("call_accepted: call does no longer exist."); return ; } - if (call->expect_media_in_ack){ - SalMediaDescription *md=sal_call_get_final_media_description(op); - if (md && !sal_media_description_empty(md)){ - linphone_core_update_streams(lc,call,md); - linphone_call_set_state (call,LinphoneCallStreamsRunning,"Connected (streams running)"); - }else{ - /*send a bye*/ - ms_error("Incompatible SDP response received in ACK, need to abort the call"); - linphone_core_abort_call(lc,call,"No codec intersection"); - return; - } - } + process_call_accepted(lc, call, op); } static void call_resumed(LinphoneCore *lc, LinphoneCall *call){ - /*when we are resumed, increment session id, because sdp is changed (a=recvonly disapears)*/ - linphone_call_increment_local_media_description(call); linphone_core_notify_display_status(lc,_("We have been resumed.")); _linphone_core_accept_call_update(lc,call,NULL,LinphoneCallStreamsRunning,"Connected (streams running)"); } static void call_paused_by_remote(LinphoneCore *lc, LinphoneCall *call){ LinphoneCallParams *params; - /*when we are paused, increment session id, because sdp is changed (a=recvonly appears)*/ - linphone_call_increment_local_media_description(call); + /* we are being paused */ linphone_core_notify_display_status(lc,_("We are paused by other party.")); params = linphone_call_params_copy(call->params); @@ -648,101 +626,49 @@ static void call_paused_by_remote(LinphoneCore *lc, LinphoneCall *call){ linphone_call_params_unref(params); } -static void call_updated_by_remote(LinphoneCore *lc, LinphoneCall *call, bool_t is_update){ - /*first check if media capabilities are compatible*/ - SalMediaDescription *md; - SalMediaDescription *rmd=sal_call_get_remote_media_description(call->op); - SalMediaDescription *prev_result_desc=call->resultdesc; - - if (rmd!=NULL){ - if (call->state!=LinphoneCallPaused){ - /*in paused state, we must stay in paused state.*/ - linphone_call_make_local_media_description(lc,call); - sal_call_set_local_media_description(call->op,call->localdesc); - } - md=sal_call_get_final_media_description(call->op); - if (md && (sal_media_description_empty(md) || linphone_core_incompatible_security(lc,md))){ - sal_call_decline(call->op,SalReasonNotAcceptable,NULL); - return; - } - if (is_update && prev_result_desc && md){ - int diff=sal_media_description_equals(prev_result_desc,md); - if (diff & (SAL_MEDIA_DESCRIPTION_CRYPTO_POLICY_CHANGED|SAL_MEDIA_DESCRIPTION_STREAMS_CHANGED)){ - ms_warning("Cannot accept this update, it is changing parameters that require user approval"); - sal_call_decline(call->op,SalReasonNotAcceptable,NULL); /*FIXME should send 504 Cannot change the session parameters without prompting the user"*/ - return; - } - } - } - - if ( call->state == LinphoneCallStreamsRunning) { - /*reINVITE and in-dialogs UPDATE go here*/ - linphone_core_notify_display_status(lc,_("Call is updated by remote.")); - call->defer_update = lp_config_get_int(lc->config, "sip", "defer_update_default", FALSE); - linphone_call_set_state(call, LinphoneCallUpdatedByRemote,"Call updated by remote"); - if (call->defer_update==FALSE){ - linphone_core_accept_call_update(lc,call,NULL); - } - if (rmd==NULL){ - call->expect_media_in_ack=TRUE; - } - - } else if( call->state == LinphoneCallPausedByRemote ){ - /* FIXME: the comment below is meaningless. */ - /* Case where no SDP is present and we were paused by remote. - * We send back an ACK with our SDP and expect the remote to send its own. - * No state change here until an answer is received. */ - call->defer_update = lp_config_get_int(lc->config, "sip", "defer_update_default", FALSE); - if (call->defer_update==FALSE){ - _linphone_core_accept_call_update(lc,call,NULL,call->state,linphone_call_state_to_string(call->state)); - } - if (rmd==NULL){ - call->expect_media_in_ack=TRUE; - } - } else if (is_update){ /*SIP UPDATE case, can occur in early states*/ - linphone_call_set_state(call, LinphoneCallEarlyUpdatedByRemote, "EarlyUpdatedByRemote"); - _linphone_core_accept_call_update(lc,call,NULL,call->prevstate,linphone_call_state_to_string(call->prevstate)); - } -} - /* this callback is called when an incoming re-INVITE/ SIP UPDATE modifies the session*/ -static void call_updating(SalOp *op, bool_t is_update){ - LinphoneCore *lc=(LinphoneCore *)sal_get_user_pointer(sal_op_get_sal(op)); - LinphoneCall *call=(LinphoneCall*)sal_op_get_user_pointer(op); +static void call_updated(LinphoneCore *lc, LinphoneCall *call, SalOp *op, bool_t is_update){ SalMediaDescription *rmd=sal_call_get_remote_media_description(op); - if (rmd==NULL){ - /* case of a reINVITE or UPDATE without SDP */ - call_updated_by_remote(lc,call,is_update); - return; - } + call->defer_update = lp_config_get_int(lc->config, "sip", "defer_update_default", FALSE); switch(call->state){ case LinphoneCallPausedByRemote: if (sal_media_description_has_dir(rmd,SalStreamSendRecv) || sal_media_description_has_dir(rmd,SalStreamRecvOnly)){ call_resumed(lc,call); - }else call_updated_by_remote(lc,call,is_update); + }else{ + /*we are staying in PausedByRemote*/ + linphone_core_notify_display_status(lc,_("Call is updated by remote.")); + linphone_call_set_state(call, LinphoneCallUpdatedByRemote,"Call updated by remote"); + if (call->defer_update == FALSE){ + linphone_core_accept_call_update(lc,call,NULL); + } + } break; /*SIP UPDATE CASE*/ case LinphoneCallOutgoingRinging: case LinphoneCallOutgoingEarlyMedia: case LinphoneCallIncomingEarlyMedia: - if (is_update) call_updated_by_remote(lc,call,is_update); + if (is_update) { + linphone_call_set_state(call, LinphoneCallEarlyUpdatedByRemote, "EarlyUpdatedByRemote"); + _linphone_core_accept_call_update(lc,call,NULL,call->prevstate,linphone_call_state_to_string(call->prevstate)); + } break; case LinphoneCallStreamsRunning: case LinphoneCallConnected: if (sal_media_description_has_dir(rmd,SalStreamSendOnly) || sal_media_description_has_dir(rmd,SalStreamInactive)){ call_paused_by_remote(lc,call); }else{ - call_updated_by_remote(lc,call,is_update); + linphone_core_notify_display_status(lc,_("Call is updated by remote.")); + linphone_call_set_state(call, LinphoneCallUpdatedByRemote,"Call updated by remote"); + if (call->defer_update == FALSE){ + linphone_core_accept_call_update(lc,call,NULL); + } } break; case LinphoneCallPaused: - if (sal_media_description_has_dir(rmd,SalStreamSendOnly) || sal_media_description_has_dir(rmd,SalStreamInactive)){ - call_paused_by_remote(lc,call); - }else{ - call_updated_by_remote(lc,call,is_update); - } + /*we'll remain in pause state but accept the offer anyway according to default parameters*/ + _linphone_core_accept_call_update(lc,call,NULL,call->state,linphone_call_state_to_string(call->state)); break; case LinphoneCallUpdating: case LinphoneCallPausing: @@ -765,6 +691,71 @@ static void call_updating(SalOp *op, bool_t is_update){ } } +/* this callback is called when an incoming re-INVITE/ SIP UPDATE modifies the session*/ +static void call_updating(SalOp *op, bool_t is_update){ + LinphoneCore *lc=(LinphoneCore *)sal_get_user_pointer(sal_op_get_sal(op)); + LinphoneCall *call=(LinphoneCall*)sal_op_get_user_pointer(op); + SalMediaDescription *rmd=sal_call_get_remote_media_description(op); + + if (!call) { + ms_error("call_updating(): call doesn't exist anymore"); + return ; + } + if (call->state!=LinphoneCallPaused){ + /*Refresh the local description, but in paused state, we don't change anything.*/ + linphone_call_make_local_media_description(call); + sal_call_set_local_media_description(call->op,call->localdesc); + } + if (rmd == NULL){ + /* case of a reINVITE or UPDATE without SDP */ + call->expect_media_in_ack = TRUE; + sal_call_accept(op); /*respond with an offer*/ + /*don't do anything else in this case, wait for the ACK to receive to notify the app*/ + }else { + SalMediaDescription *md; + SalMediaDescription *prev_result_desc=call->resultdesc; + + call->expect_media_in_ack = FALSE; + + md=sal_call_get_final_media_description(call->op); + if (md && (sal_media_description_empty(md) || linphone_core_incompatible_security(lc,md))){ + sal_call_decline(call->op,SalReasonNotAcceptable,NULL); + return; + } + if (is_update && prev_result_desc && md){ + int diff=sal_media_description_equals(prev_result_desc,md); + if (diff & (SAL_MEDIA_DESCRIPTION_CRYPTO_POLICY_CHANGED|SAL_MEDIA_DESCRIPTION_STREAMS_CHANGED)){ + ms_warning("Cannot accept this update, it is changing parameters that require user approval"); + sal_call_decline(call->op,SalReasonNotAcceptable,NULL); /*FIXME should send 504 Cannot change the session parameters without prompting the user"*/ + return; + } + } + call_updated(lc, call, op, is_update); + } +} + + +static void call_ack(SalOp *op){ + LinphoneCore *lc=(LinphoneCore *)sal_get_user_pointer(sal_op_get_sal(op)); + LinphoneCall *call=(LinphoneCall*)sal_op_get_user_pointer(op); + + if (call == NULL){ + ms_warning("call_ack(): no call for which an ack is expected"); + return; + } + if (call->expect_media_in_ack){ + switch(call->state){ + case LinphoneCallStreamsRunning: + case LinphoneCallPausedByRemote: + linphone_call_set_state(call, LinphoneCallUpdatedByRemote, "UpdatedByRemote"); + break; + default: + break; + } + process_call_accepted(lc, call, op); + } +} + static void call_terminated(SalOp *op, const char *from){ LinphoneCore *lc=(LinphoneCore *)sal_get_user_pointer(sal_op_get_sal(op)); LinphoneCall *call=(LinphoneCall*)sal_op_get_user_pointer(op); @@ -921,16 +912,11 @@ static void call_failure(SalOp *op){ msg=_("Incompatible media parameters."); linphone_core_notify_display_status(lc,msg); break; - case SalReasonRequestPending: - /*restore previous state, the application will decide to resubmit the action if relevant*/ - linphone_call_set_state(call,call->prevstate,msg); - return; - break; default: linphone_core_notify_display_status(lc,_("Call failed.")); } - /*some call error are not fatal*/ + /*some call errors are not fatal*/ switch (call->state) { case LinphoneCallUpdating: case LinphoneCallPausing: @@ -1120,6 +1106,7 @@ static void text_received(SalOp *op, const SalMessage *msg){ static void is_composing_received(SalOp *op, const SalIsComposing *is_composing) { LinphoneCore *lc = (LinphoneCore *)sal_get_user_pointer(sal_op_get_sal(op)); linphone_core_is_composing_received(lc, op, is_composing); + sal_op_release(op); } static void parse_presence_requested(SalOp *op, const char *content_type, const char *content_subtype, const char *body, SalPresenceModel **result) { @@ -1263,17 +1250,19 @@ static void text_delivery_update(SalOp *op, SalTextDeliveryStatus status){ // Do not handle delivery status for isComposing messages. return; } + // check that the message does not belong to an already destroyed chat room - if so, do not invoke callbacks + if (chat_msg->chat_room != NULL) { + chat_msg->state=chatStatusSal2Linphone(status); + linphone_chat_message_update_state(chat_msg); - chat_msg->state=chatStatusSal2Linphone(status); - linphone_chat_message_update_state(chat_msg); - - if (chat_msg && (chat_msg->cb || (chat_msg->callbacks && linphone_chat_message_cbs_get_msg_state_changed(chat_msg->callbacks)))) { - ms_message("Notifying text delivery with status %s",linphone_chat_message_state_to_string(chat_msg->state)); - if (chat_msg->callbacks && linphone_chat_message_cbs_get_msg_state_changed(chat_msg->callbacks)) { - linphone_chat_message_cbs_get_msg_state_changed(chat_msg->callbacks)(chat_msg, chat_msg->state); - } else { - /* Legacy */ - chat_msg->cb(chat_msg,chat_msg->state,chat_msg->cb_ud); + if (chat_msg && (chat_msg->cb || (chat_msg->callbacks && linphone_chat_message_cbs_get_msg_state_changed(chat_msg->callbacks)))) { + ms_message("Notifying text delivery with status %s",linphone_chat_message_state_to_string(chat_msg->state)); + if (chat_msg->callbacks && linphone_chat_message_cbs_get_msg_state_changed(chat_msg->callbacks)) { + linphone_chat_message_cbs_get_msg_state_changed(chat_msg->callbacks)(chat_msg, chat_msg->state); + } else { + /* Legacy */ + chat_msg->cb(chat_msg,chat_msg->state,chat_msg->cb_ud); + } } } if (status != SalTextDeliveryInProgress) { /*only release op if not in progress*/ diff --git a/coreapi/chat.c b/coreapi/chat.c index 362079682..990f06998 100644 --- a/coreapi/chat.c +++ b/coreapi/chat.c @@ -39,6 +39,9 @@ #define FILE_TRANSFER_KEY_SIZE 32 + +static void linphone_chat_message_release(LinphoneChatMessage *msg); + static LinphoneChatMessageCbs * linphone_chat_message_cbs_new(void) { return belle_sip_object_new(LinphoneChatMessageCbs); } @@ -106,26 +109,13 @@ static void _linphone_chat_room_send_message(LinphoneChatRoom *cr, LinphoneChatM static void process_io_error_upload(void *data, const belle_sip_io_error_event_t *event){ LinphoneChatMessage* msg=(LinphoneChatMessage *)data; - msg->state = LinphoneChatMessageStateNotDelivered; ms_error("I/O Error during file upload to %s - msg [%p] chat room[%p]", linphone_core_get_file_transfer_server(msg->chat_room->lc), msg, msg->chat_room); - if (msg->cb) { - msg->cb(msg, msg->state, msg->cb_ud); - } - - if (linphone_chat_message_cbs_get_msg_state_changed(msg->callbacks)) { - linphone_chat_message_cbs_get_msg_state_changed(msg->callbacks)(msg, msg->state); - } + linphone_chat_message_cancel_file_transfer(msg); } static void process_auth_requested_upload(void *data, belle_sip_auth_event_t *event){ LinphoneChatMessage* msg=(LinphoneChatMessage *)data; - msg->state = LinphoneChatMessageStateNotDelivered; - ms_error("Error during file upload : auth requested to connect %s - msg [%p] chat room[%p]", linphone_core_get_file_transfer_server(msg->chat_room->lc), msg, msg->chat_room); - if (msg->cb) { - msg->cb(msg, msg->state, msg->cb_ud); - } - if (linphone_chat_message_cbs_get_msg_state_changed(msg->callbacks)) { - linphone_chat_message_cbs_get_msg_state_changed(msg->callbacks)(msg, msg->state); - } + ms_error("Error during file upload: auth requested to connect %s - msg [%p] chat room[%p]", linphone_core_get_file_transfer_server(msg->chat_room->lc), msg, msg->chat_room); + linphone_chat_message_cancel_file_transfer(msg); } static void process_io_error_download(void *data, const belle_sip_io_error_event_t *event){ @@ -376,7 +366,8 @@ void linphone_core_enable_chat(LinphoneCore *lc){ bool_t linphone_core_chat_enabled(const LinphoneCore *lc){ return lc->chat_deny_code!=LinphoneReasonNone; } -MSList* linphone_core_get_chat_rooms(LinphoneCore *lc) { + +const MSList* linphone_core_get_chat_rooms(LinphoneCore *lc) { return lc->chatrooms; } @@ -442,14 +433,6 @@ static LinphoneChatRoom * _linphone_core_get_or_create_chat_room(LinphoneCore* l return ret; } -LinphoneChatRoom* linphone_core_get_or_create_chat_room(LinphoneCore* lc, const char* to) { - return _linphone_core_get_or_create_chat_room(lc, to); -} - -LinphoneChatRoom * linphone_core_create_chat_room(LinphoneCore *lc, const char *to) { - return _linphone_core_get_or_create_chat_room(lc, to); -} - LinphoneChatRoom *linphone_core_get_chat_room(LinphoneCore *lc, const LinphoneAddress *addr){ LinphoneChatRoom *ret = _linphone_core_get_chat_room(lc, addr); if (!ret) { @@ -458,6 +441,18 @@ LinphoneChatRoom *linphone_core_get_chat_room(LinphoneCore *lc, const LinphoneAd return ret; } +void linphone_core_delete_chat_room(LinphoneCore *lc, LinphoneChatRoom *cr){ + if (ms_list_find(lc->chatrooms, cr)){ + lc->chatrooms = ms_list_remove(cr->lc->chatrooms, cr); + linphone_chat_room_delete_history(cr); + linphone_chat_room_unref(cr); + }else{ + ms_error("linphone_core_delete_chat_room(): chatroom [%p] isn't part of LinphoneCore.", + cr); + } + +} + LinphoneChatRoom * linphone_core_get_chat_room_from_uri(LinphoneCore *lc, const char *to) { return _linphone_core_get_or_create_chat_room(lc, to); } @@ -490,12 +485,18 @@ static void linphone_chat_room_delete_remote_composing_refresh_timer(LinphoneCha } static void _linphone_chat_room_destroy(LinphoneChatRoom *cr){ - ms_list_free_with_data(cr->transient_messages, (void (*)(void*))linphone_chat_message_unref); + ms_list_free_with_data(cr->transient_messages, (void (*)(void*))linphone_chat_message_release); linphone_chat_room_delete_composing_idle_timer(cr); linphone_chat_room_delete_composing_refresh_timer(cr); linphone_chat_room_delete_remote_composing_refresh_timer(cr); if (cr->lc != NULL) { - cr->lc->chatrooms=ms_list_remove(cr->lc->chatrooms,(void *) cr); + if (ms_list_find(cr->lc->chatrooms, cr)){ + ms_error("LinphoneChatRoom[%p] is destroyed while still being used by the LinphoneCore. This is abnormal." + " linphone_core_get_chat_room() doesn't give a reference, there is no need to call linphone_chat_room_unref(). " + "In order to remove a chat room from the core, use linphone_core_delete_chat_room().", + cr); + } + cr->lc->chatrooms=ms_list_remove(cr->lc->chatrooms, cr); } linphone_address_destroy(cr->peer_url); ms_free(cr->peer); @@ -807,14 +808,17 @@ static void process_im_is_composing_notification(LinphoneChatRoom *cr, xmlparsin xmlXPathRegisterNs(xml_ctx->xpath_ctx, (const xmlChar *)"xsi", (const xmlChar *)"urn:ietf:params:xml:ns:im-iscomposing"); iscomposing_object = linphone_get_xml_xpath_object_for_node_list(xml_ctx, iscomposing_prefix); - if ((iscomposing_object != NULL) && (iscomposing_object->nodesetval != NULL)) { - for (i = 1; i <= iscomposing_object->nodesetval->nodeNr; i++) { - snprintf(xpath_str, sizeof(xpath_str), "%s[%i]/xsi:state", iscomposing_prefix, i); - state_str = linphone_get_xml_text_content(xml_ctx, xpath_str); - if (state_str == NULL) continue; - snprintf(xpath_str, sizeof(xpath_str), "%s[%i]/xsi:refresh", iscomposing_prefix, i); - refresh_str = linphone_get_xml_text_content(xml_ctx, xpath_str); + if (iscomposing_object != NULL){ + if(iscomposing_object->nodesetval != NULL) { + for (i = 1; i <= iscomposing_object->nodesetval->nodeNr; i++) { + snprintf(xpath_str, sizeof(xpath_str), "%s[%i]/xsi:state", iscomposing_prefix, i); + state_str = linphone_get_xml_text_content(xml_ctx, xpath_str); + if (state_str == NULL) continue; + snprintf(xpath_str, sizeof(xpath_str), "%s[%i]/xsi:refresh", iscomposing_prefix, i); + refresh_str = linphone_get_xml_text_content(xml_ctx, xpath_str); + } } + xmlXPathFreeObject(iscomposing_object); } if (state_str != NULL) { @@ -854,10 +858,12 @@ static void linphone_chat_room_notify_is_composing(LinphoneChatRoom *cr, const c } void linphone_core_is_composing_received(LinphoneCore *lc, SalOp *op, const SalIsComposing *is_composing) { - LinphoneChatRoom *cr = linphone_core_get_or_create_chat_room(lc, is_composing->from); + LinphoneAddress *addr = linphone_address_new(is_composing->from); + LinphoneChatRoom *cr = _linphone_core_get_chat_room(lc, addr); if (cr != NULL) { linphone_chat_room_notify_is_composing(cr, is_composing->text); } + linphone_address_destroy(addr); } bool_t linphone_chat_room_is_remote_composing(const LinphoneChatRoom *cr) { @@ -984,37 +990,22 @@ static char * linphone_chat_room_create_is_composing_xml(LinphoneChatRoom *cr) { static void linphone_chat_room_send_is_composing_notification(LinphoneChatRoom *cr) { SalOp *op = NULL; - LinphoneCall *call; const char *identity = NULL; char *content = NULL; + LinphoneProxyConfig *proxy = linphone_core_lookup_known_proxy(cr->lc, cr->peer_url); + if (proxy) + identity = linphone_proxy_config_get_identity(proxy); + else + identity = linphone_core_get_primary_contact(cr->lc); + /*sending out of calls*/ + op = sal_op_new(cr->lc->sal); + linphone_configure_op(cr->lc, op, cr->peer_url, NULL, lp_config_get_int(cr->lc->config, "sip", "chat_msg_with_contact", 0)); - if (lp_config_get_int(cr->lc->config, "sip", "chat_use_call_dialogs", 0)) { - if ((call = linphone_core_get_call_by_remote_address(cr->lc, cr->peer)) != NULL) { - if (call->state == LinphoneCallConnected || - call->state == LinphoneCallStreamsRunning || - call->state == LinphoneCallPaused || - call->state == LinphoneCallPausing || - call->state == LinphoneCallPausedByRemote) { - ms_message("send SIP message through the existing call."); - op = call->op; - identity = linphone_core_find_best_identity(cr->lc, linphone_call_get_remote_address(call)); - } - } - } - if (op == NULL) { - LinphoneProxyConfig *proxy = linphone_core_lookup_known_proxy(cr->lc, cr->peer_url); - if (proxy) - identity = linphone_proxy_config_get_identity(proxy); - else - identity = linphone_core_get_primary_contact(cr->lc); - /*sending out of calls*/ - op = sal_op_new(cr->lc->sal); - linphone_configure_op(cr->lc, op, cr->peer_url, NULL, lp_config_get_int(cr->lc->config, "sip", "chat_msg_with_contact", 0)); - } content = linphone_chat_room_create_is_composing_xml(cr); if (content != NULL) { sal_message_send(op, identity, cr->peer, "application/im-iscomposing+xml", content, NULL); ms_free(content); + sal_op_unref(op); } } @@ -1404,7 +1395,6 @@ static void _linphone_chat_message_destroy(LinphoneChatMessage* msg) { ms_free(msg->file_transfer_filepath); } linphone_chat_message_cbs_unref(msg->callbacks); - ms_message("LinphoneChatMessage [%p] destroyed.",msg); } LinphoneChatMessage * linphone_chat_message_ref(LinphoneChatMessage *msg){ @@ -1416,6 +1406,12 @@ void linphone_chat_message_unref(LinphoneChatMessage *msg){ belle_sip_object_unref(msg); } +static void linphone_chat_message_release(LinphoneChatMessage *msg){ + /*mark the chat message as orphan (it has no chat room anymore), and unref it*/ + msg->chat_room = NULL; + linphone_chat_message_unref(msg); +} + const LinphoneErrorInfo *linphone_chat_message_get_error_info(const LinphoneChatMessage *msg){ return linphone_error_info_from_sal_op(msg->op); } @@ -1440,7 +1436,7 @@ LinphoneChatMessageCbs * linphone_chat_message_get_callbacks(const LinphoneChatM return msg->callbacks; } -LinphoneChatMessage* linphone_chat_room_create_file_transfer_message(LinphoneChatRoom *cr, LinphoneContent* initial_content) { +LinphoneChatMessage* linphone_chat_room_create_file_transfer_message(LinphoneChatRoom *cr, const LinphoneContent* initial_content) { LinphoneChatMessage* msg = belle_sip_object_new(LinphoneChatMessage); msg->callbacks=linphone_chat_message_cbs_new(); msg->chat_room=(LinphoneChatRoom*)cr; diff --git a/coreapi/friend.c b/coreapi/friend.c index e6c429bee..5dd49bec3 100644 --- a/coreapi/friend.c +++ b/coreapi/friend.c @@ -92,7 +92,7 @@ LinphoneFriend *linphone_find_friend_by_inc_subscribe(MSList *l, SalOp *op){ MSList *elem; for (elem=l;elem!=NULL;elem=elem->next){ LinphoneFriend *lf=(LinphoneFriend*)elem->data; - if (lf->insub==op) return lf; + if (ms_list_find(lf->insubs, op)) return lf; } return NULL; } @@ -227,12 +227,24 @@ int linphone_friend_set_inc_subscribe_policy(LinphoneFriend *fr, LinphoneSubscri } void linphone_friend_notify(LinphoneFriend *lf, LinphonePresenceModel *presence){ - char *addr=linphone_address_as_string(linphone_friend_get_address(lf)); - ms_message("Want to notify %s, insub=%p",addr,lf->insub); - ms_free(addr); - if (lf->insub!=NULL){ - sal_notify_presence(lf->insub,(SalPresenceModel *)presence); + MSList *elem; + if (lf->insubs){ + char *addr=linphone_address_as_string(linphone_friend_get_address(lf)); + ms_message("Want to notify %s",addr); + ms_free(addr); } + for(elem=lf->insubs; elem!=NULL; elem=elem->next){ + SalOp *op = (SalOp*)elem->data; + sal_notify_presence(op,(SalPresenceModel *)presence); + } +} + +void linphone_friend_add_incoming_subscription(LinphoneFriend *lf, SalOp *op){ + lf->insubs = ms_list_append(lf->insubs, op); +} + +void linphone_friend_remove_incoming_subscription(LinphoneFriend *lf, SalOp *op){ + lf->insubs = ms_list_remove(lf->insubs, op); } static void linphone_friend_unsubscribe(LinphoneFriend *lf){ @@ -260,17 +272,12 @@ static void linphone_friend_invalidate_subscription(LinphoneFriend *lf){ void linphone_friend_close_subscriptions(LinphoneFriend *lf){ linphone_friend_unsubscribe(lf); - if (lf->insub){ - sal_notify_presence_close(lf->insub); + ms_list_for_each(lf->insubs, (MSIterateFunc) sal_notify_presence_close); - } } static void _linphone_friend_destroy(LinphoneFriend *lf){ - if (lf->insub) { - sal_op_release(lf->insub); - lf->insub=NULL; - } + lf->insubs = ms_list_free_with_data(lf->insubs, (MSIterateFunc) sal_op_release); if (lf->outsub){ sal_op_release(lf->outsub); lf->outsub=NULL; diff --git a/coreapi/help/chatroom.c b/coreapi/help/chatroom.c index 1f0f200a0..62d75bab9 100644 --- a/coreapi/help/chatroom.c +++ b/coreapi/help/chatroom.c @@ -81,7 +81,7 @@ int main(int argc, char *argv[]){ /*Next step is to create a chat root*/ - chat_room = linphone_core_create_chat_room(lc,dest_friend); + chat_room = linphone_core_get_chat_room_from_uri(lc,dest_friend); linphone_chat_room_send_message(chat_room,"Hello world"); /*sending message*/ @@ -92,7 +92,6 @@ int main(int argc, char *argv[]){ } printf("Shutting down...\n"); - linphone_chat_room_destroy(chat_room); linphone_core_destroy(lc); printf("Exited\n"); return 0; diff --git a/coreapi/help/filetransfer.c b/coreapi/help/filetransfer.c index 570e22692..21cb19115 100644 --- a/coreapi/help/filetransfer.c +++ b/coreapi/help/filetransfer.c @@ -160,7 +160,7 @@ int main(int argc, char *argv[]){ /*Next step is to create a chat room*/ - chat_room = linphone_core_create_chat_room(lc,dest_friend); + chat_room = linphone_core_get_chat_room_from_uri(lc,dest_friend); content = linphone_core_create_content(lc); linphone_content_set_type(content,"text"); @@ -196,7 +196,6 @@ int main(int argc, char *argv[]){ printf("Shutting down...\n"); linphone_content_unref(content); - linphone_chat_room_destroy(chat_room); linphone_core_destroy(lc); printf("Exited\n"); return 0; diff --git a/coreapi/linphone_proxy_config.h b/coreapi/linphone_proxy_config.h index 127564504..e69e813c0 100644 --- a/coreapi/linphone_proxy_config.h +++ b/coreapi/linphone_proxy_config.h @@ -402,11 +402,15 @@ LINPHONE_PUBLIC bool_t linphone_proxy_config_is_phone_number(LinphoneProxyConfig * @param result the newly normalized number * @param result_len the size of the normalized number \a result * @return TRUE if a phone number was recognized, FALSE otherwise. + * @deprecated use linphone_proxy_config_normalize_phone_number() */ LINPHONE_PUBLIC bool_t linphone_proxy_config_normalize_number(LinphoneProxyConfig *proxy, const char *username, char *result, size_t result_len); /** - * Same objective as linphone_proxy_config_normalize_number but allocates a new string + * Normalize a human readable phone number into a basic string. 888-444-222 becomes 888444222 + * or +33888444222 depending on the #LinphoneProxyConfig object. However this argument is OPTIONNAL + * and if not provided, a default one will be used. + * This function will always generate a normalized username; if input is not a phone number, output will be a copy of input. * @param proxy #LinphoneProxyConfig object containing country code and/or escape symbol. If NULL passed, will use default configuration. * @param username the string to parse * @return NULL if invalid phone number, normalized phone number from username input otherwise. diff --git a/coreapi/linphonecall.c b/coreapi/linphonecall.c index 93670d2de..f80e5acc1 100644 --- a/coreapi/linphonecall.c +++ b/coreapi/linphonecall.c @@ -43,11 +43,15 @@ static const char *EC_STATE_STORE = ".linphone.ecstate"; static void linphone_call_stats_uninit(LinphoneCallStats *stats); static void linphone_call_get_local_ip(LinphoneCall *call, const LinphoneAddress *remote_addr); -#ifdef VIDEO_ENABLED + MSWebCam *get_nowebcam_device(){ +#ifdef VIDEO_ENABLED return ms_web_cam_manager_get_cam(ms_web_cam_manager_get(),"StaticImage: Static picture"); -} +#else + return NULL; #endif +} + static bool_t generate_b64_crypto_key(int key_length, char* key_out, size_t key_out_size) { int b64_size; @@ -578,11 +582,30 @@ static const char *linphone_call_get_public_ip_for_stream(LinphoneCall *call, in return public_ip; } -void linphone_call_make_local_media_description(LinphoneCore *lc, LinphoneCall *call) { - linphone_call_make_local_media_description_with_params(lc, call, call->params); +static void force_streams_dir_according_to_state(LinphoneCall *call, SalMediaDescription *md){ + int i; + + switch (call->state){ + case LinphoneCallPausing: + case LinphoneCallPaused: + break; + default: + return; + break; + } + + for (i=0; i<2; ++i){ + SalStreamDescription *sd = &md->streams[i]; + sd->dir = SalStreamSendOnly; + if (sd->type == SalVideo){ + if (lp_config_get_int(call->core->config, "sip", "inactive_video_on_pause", 0)) { + sd->dir = SalStreamInactive; + } + } + } } -void linphone_call_make_local_media_description_with_params(LinphoneCore *lc, LinphoneCall *call, LinphoneCallParams *params) { +void linphone_call_make_local_media_description(LinphoneCall *call) { MSList *l; SalMediaDescription *old_md=call->localdesc; int i; @@ -591,6 +614,9 @@ void linphone_call_make_local_media_description_with_params(LinphoneCore *lc, Li LinphoneAddress *addr; const char *subject; CodecConstraints codec_hints={0}; + LinphoneCallParams *params = call->params; + LinphoneCore *lc = call->core; + /*multicast is only set in case of outgoing call*/ if (call->dir == LinphoneCallOutgoing && linphone_call_params_audio_multicast_enabled(params)) { @@ -714,6 +740,7 @@ void linphone_call_make_local_media_description_with_params(LinphoneCore *lc, Li call->localdesc_changed=sal_media_description_equals(md,old_md); sal_media_description_unref(old_md); } + force_streams_dir_according_to_state(call, md); } static int find_port_offset(LinphoneCore *lc, int stream_index, int base_port){ @@ -818,9 +845,6 @@ static void linphone_call_init_common(LinphoneCall *call, LinphoneAddress *from, linphone_call_init_stats(&call->stats[LINPHONE_CALL_STATS_AUDIO], LINPHONE_CALL_STATS_AUDIO); linphone_call_init_stats(&call->stats[LINPHONE_CALL_STATS_VIDEO], LINPHONE_CALL_STATS_VIDEO); -#ifdef VIDEO_ENABLED - call->cam = call->core->video_conf.device; -#endif } void linphone_call_init_stats(LinphoneCallStats *stats, int type) { @@ -948,6 +972,7 @@ void linphone_call_fill_media_multicast_addr(LinphoneCall *call) { } else call->media_ports[1].multicast_ip[0]='\0'; } + LinphoneCall * linphone_call_new_outgoing(struct _LinphoneCore *lc, LinphoneAddress *from, LinphoneAddress *to, const LinphoneCallParams *params, LinphoneProxyConfig *cfg){ LinphoneCall *call = belle_sip_object_new(LinphoneCall); @@ -955,7 +980,7 @@ LinphoneCall * linphone_call_new_outgoing(struct _LinphoneCore *lc, LinphoneAddr call->core=lc; linphone_call_outgoing_select_ip_version(call,to,cfg); linphone_call_get_local_ip(call, to); - linphone_call_init_common(call,from,to); + linphone_call_init_common(call, from, to); call->params = linphone_call_params_copy(params); linphone_call_fill_media_multicast_addr(call); @@ -1260,7 +1285,7 @@ void linphone_call_set_state(LinphoneCall *call, LinphoneCallState cstate, const call->prevstate=call->state; if (call->state==LinphoneCallEnd || call->state==LinphoneCallError){ if (cstate!=LinphoneCallReleased){ - ms_warning("Spurious call state change from %s to %s, ignored." ,linphone_call_state_to_string(call->state) + ms_fatal("Spurious call state change from %s to %s, ignored." ,linphone_call_state_to_string(call->state) ,linphone_call_state_to_string(cstate)); return; } @@ -1286,11 +1311,11 @@ void linphone_call_set_state(LinphoneCall *call, LinphoneCallState cstate, const break; case LinphoneCallEnd: case LinphoneCallError: - switch(call->non_op_error.reason){ - case SalReasonDeclined: + switch(linphone_error_info_get_reason(linphone_call_get_error_info(call))) { + case LinphoneReasonDeclined: call->log->status=LinphoneCallDeclined; break; - case SalReasonRequestTimeout: + case LinphoneReasonNotAnswered: call->log->status=LinphoneCallMissed; break; default: @@ -1324,7 +1349,13 @@ void linphone_call_set_state(LinphoneCall *call, LinphoneCallState cstate, const linphone_call_cancel_dtmfs(call); } } - linphone_core_notify_call_state_changed(lc,call,cstate,message); + if (!message) { + ms_error("%s(): You must fill a reason when changing call state (from %s o %s)." + , __FUNCTION__ + , linphone_call_state_to_string(call->prevstate) + , linphone_call_state_to_string(call->state)); + } + linphone_core_notify_call_state_changed(lc,call,cstate,message?message:""); linphone_reporting_call_state_updated(call); if (cstate==LinphoneCallReleased) {/*shall be performed after app notification*/ linphone_call_set_released(call); @@ -2009,6 +2040,7 @@ void linphone_call_init_audio_stream(LinphoneCall *call){ ms_free(cname); rtp_session_set_symmetric_rtp(audiostream->ms.sessions.rtp_session,linphone_core_symmetric_rtp_enabled(lc)); setup_dtls_params(call, &audiostream->ms); + media_stream_reclaim_sessions(&audiostream->ms, &call->sessions[0]); }else{ call->audiostream=audio_stream_new_with_sessions(&call->sessions[0]); } @@ -2108,8 +2140,8 @@ void linphone_call_init_video_stream(LinphoneCall *call){ video_stream_set_rtcp_information(call->videostream, cname, rtcp_tool); ms_free(cname); rtp_session_set_symmetric_rtp(call->videostream->ms.sessions.rtp_session,linphone_core_symmetric_rtp_enabled(lc)); - setup_dtls_params(call, &call->videostream->ms); + media_stream_reclaim_sessions(&call->videostream->ms, &call->sessions[1]); }else{ call->videostream=video_stream_new_with_sessions(&call->sessions[1]); } @@ -2546,9 +2578,8 @@ static RtpSession * create_audio_rtp_io_session(LinphoneCall *call) { return rtp_session; } -static void linphone_call_start_audio_stream(LinphoneCall *call, bool_t muted, bool_t send_ringbacktone, bool_t use_arc){ +static void linphone_call_start_audio_stream(LinphoneCall *call, LinphoneCallState next_state, bool_t use_arc){ LinphoneCore *lc=call->core; - LpConfig* conf; int used_pt=-1; char rtcp_tool[128]={0}; const SalStreamDescription *stream; @@ -2585,26 +2616,24 @@ static void linphone_call_start_audio_stream(LinphoneCall *call, bool_t muted, b if (captcard==NULL) { ms_warning("No card defined for capture !"); } - /*Replace soundcard filters by inactive file players or recorders - when placed in recvonly or sendonly mode*/ + /*Don't use file or soundcard capture when placed in recv-only mode*/ if (stream->rtp_port==0 || stream->dir==SalStreamRecvOnly || (stream->multicast_role == SalMulticastReceiver && is_multicast)){ captcard=NULL; playfile=NULL; - }else if (stream->dir==SalStreamSendOnly){ + } + if (next_state == LinphoneCallPaused){ + /*in paused state, we never use soundcard*/ playcard=NULL; - /*jehan: why capture card should be null in this case ? Not very good to only rely on stream dir to detect paused state. - * It can also be a simple call in one way audio*/ captcard=NULL; recfile=NULL; /*And we will eventually play "playfile" if set by the user*/ } - if (send_ringbacktone){ - conf = linphone_core_get_config(lc); + if (call->playing_ringbacktone){ captcard=NULL; playfile=NULL;/* it is setup later*/ - if( conf && lp_config_get_int(conf,"sound","send_ringback_without_playback", 0) == 1){ + if (lp_config_get_int(lc->config,"sound","send_ringback_without_playback", 0) == 1){ playcard = NULL; recfile = NULL; } @@ -2628,7 +2657,7 @@ static void linphone_call_start_audio_stream(LinphoneCall *call, bool_t muted, b if (captcard && stream->max_rate>0) ms_snd_card_set_preferred_sample_rate(captcard, stream->max_rate); audio_stream_enable_adaptive_bitrate_control(call->audiostream,use_arc); media_stream_set_adaptive_bitrate_algorithm(&call->audiostream->ms, - ms_qos_analyzer_algorithm_from_string(linphone_core_get_adaptive_rate_algorithm(lc))); + ms_qos_analyzer_algorithm_from_string(linphone_core_get_adaptive_rate_algorithm(lc))); audio_stream_enable_adaptive_jittcomp(call->audiostream, linphone_core_audio_adaptive_jittcomp_enabled(lc)); rtp_session_set_jitter_compensation(call->audiostream->ms.sessions.rtp_session,linphone_core_get_audio_jittcomp(lc)); if (!call->params->in_conference && call->params->record_file){ @@ -2673,7 +2702,7 @@ static void linphone_call_start_audio_stream(LinphoneCall *call, bool_t muted, b io.input.type = MSResourceFile; io.input.file = playfile; } - + } if (ok == TRUE) { audio_stream_start_from_io(call->audiostream, @@ -2685,22 +2714,22 @@ static void linphone_call_start_audio_stream(LinphoneCall *call, bool_t muted, b used_pt, &io ); - post_configure_audio_streams(call, muted && !send_ringbacktone); + post_configure_audio_streams(call, (call->all_muted || call->audio_muted) && !call->playing_ringbacktone); } ms_media_stream_sessions_set_encryption_mandatory(&call->audiostream->ms.sessions,linphone_core_is_media_encryption_mandatory(call->core)); - if (stream->dir==SalStreamSendOnly && playfile!=NULL){ + if (next_state == LinphoneCallPaused && captcard == NULL && playfile != NULL){ int pause_time=500; ms_filter_call_method(call->audiostream->soundread,MS_FILE_PLAYER_LOOP,&pause_time); } - if (send_ringbacktone){ + if (call->playing_ringbacktone){ setup_ring_player(lc,call); } if (call->params->in_conference){ /*transform the graph to connect it to the conference filter */ - mute=stream->dir==SalStreamRecvOnly; + mute = stream->dir==SalStreamRecvOnly; linphone_call_add_to_conf(call, mute); } call->current_params->in_conference=call->params->in_conference; @@ -2736,7 +2765,7 @@ static RtpSession * create_video_rtp_io_session(LinphoneCall *call) { } #endif -static void linphone_call_start_video_stream(LinphoneCall *call, bool_t all_inputs_muted){ +static void linphone_call_start_video_stream(LinphoneCall *call, LinphoneCallState next_state){ #ifdef VIDEO_ENABLED LinphoneCore *lc=call->core; int used_pt=-1; @@ -2765,7 +2794,7 @@ static void linphone_call_start_video_stream(LinphoneCall *call, bool_t all_inpu MediaStreamDir dir= MediaStreamSendRecv; bool_t is_inactive=FALSE; MSWebCam *cam; - + call->current_params->video_codec = rtp_profile_get_payload(call->video_profile, used_pt); call->current_params->has_video=TRUE; @@ -2778,6 +2807,8 @@ static void linphone_call_start_video_stream(LinphoneCall *call, bool_t all_inpu if (lc->video_conf.preview_vsize.width!=0) video_stream_set_preview_size(call->videostream,lc->video_conf.preview_vsize); video_stream_set_fps(call->videostream,linphone_core_get_preferred_framerate(lc)); + if (lp_config_get_int(lc->config, "video", "nowebcam_uses_normal_fps", 0)) + call->videostream->staticimage_webcam_fps_optimization = FALSE; video_stream_set_sent_video_size(call->videostream,linphone_core_get_preferred_video_size(lc)); video_stream_enable_self_view(call->videostream,lc->video_conf.selfview); if (call->video_window_id != NULL) @@ -2809,11 +2840,7 @@ static void linphone_call_start_video_stream(LinphoneCall *call, bool_t all_inpu /*either inactive or incompatible with local capabilities*/ is_inactive=TRUE; } - if (all_inputs_muted){ - cam=get_nowebcam_device(); - } else { - cam = linphone_call_get_video_device(call); - } + cam = linphone_call_get_video_device(call); if (!is_inactive){ if (sal_stream_description_has_srtp(vstream) == TRUE) { int crypto_idx = find_crypto_index_from_tag(local_st_desc->crypto, vstream->crypto_local_tag); @@ -2933,13 +2960,29 @@ static void setZrtpCryptoTypesParameters(MSZrtpParams *params, LinphoneCore *lc) params->keyAgreementsCount = linphone_core_get_zrtp_key_agreement_suites(lc, params->keyAgreements); } -void linphone_call_start_media_streams(LinphoneCall *call, bool_t all_inputs_muted, bool_t send_ringbacktone){ +void linphone_call_start_media_streams(LinphoneCall *call, LinphoneCallState next_state){ LinphoneCore *lc=call->core; - bool_t use_arc=linphone_core_adaptive_rate_control_enabled(lc); + bool_t use_arc = linphone_core_adaptive_rate_control_enabled(lc); #ifdef VIDEO_ENABLED const SalStreamDescription *vstream=sal_media_description_find_best_stream(call->resultdesc,SalVideo); #endif + switch (next_state){ + case LinphoneCallIncomingEarlyMedia: + if (linphone_core_get_remote_ringback_tone(lc)){ + call->playing_ringbacktone = TRUE; + } + case LinphoneCallOutgoingEarlyMedia: + if (!call->params->real_early_media){ + call->all_muted = TRUE; + } + break; + default: + call->playing_ringbacktone = FALSE; + call->all_muted = FALSE; + break; + } + call->current_params->audio_codec = NULL; call->current_params->video_codec = NULL; @@ -2957,18 +3000,16 @@ void linphone_call_start_media_streams(LinphoneCall *call, bool_t all_inputs_mut call, linphone_core_get_upload_bandwidth(lc),linphone_core_get_download_bandwidth(lc)); if (call->audiostream!=NULL) { - linphone_call_start_audio_stream(call,all_inputs_muted||call->audio_muted,send_ringbacktone,use_arc); + linphone_call_start_audio_stream(call, next_state, use_arc); } else { ms_warning("DTLS no audio stream!"); } call->current_params->has_video=FALSE; if (call->videostream!=NULL) { if (call->audiostream) audio_stream_link_video(call->audiostream,call->videostream); - linphone_call_start_video_stream(call,all_inputs_muted); + linphone_call_start_video_stream(call, next_state); } - call->all_muted=all_inputs_muted; - call->playing_ringbacktone=send_ringbacktone; call->up_bw=linphone_core_get_upload_bandwidth(lc); /*might be moved in audio/video stream_start*/ @@ -3087,6 +3128,17 @@ static void linphone_call_log_fill_stats(LinphoneCallLog *log, MediaStream *st){ } } +static void update_rtp_stats(LinphoneCall *call, int stream_index) { + if (stream_index >= linphone_call_get_stream_count(call)) { + return; + } + + if (call->sessions[stream_index].rtp_session) { + const rtp_stats_t *stats = rtp_session_get_stats(call->sessions[stream_index].rtp_session); + memcpy(&call->stats[stream_index].rtp_stats, stats, sizeof(*stats)); + } +} + static void linphone_call_stop_audio_stream(LinphoneCall *call) { if (call->audiostream!=NULL) { linphone_reporting_update_media_info(call, LINPHONE_CALL_STATS_AUDIO); @@ -3106,6 +3158,7 @@ static void linphone_call_stop_audio_stream(LinphoneCall *call) { linphone_call_remove_from_conf(call); } audio_stream_stop(call->audiostream); + update_rtp_stats(call, 0); rtp_session_unregister_event_queue(call->sessions[0].rtp_session, call->audiostream_app_evq); ortp_ev_queue_flush(call->audiostream_app_evq); ortp_ev_queue_destroy(call->audiostream_app_evq); @@ -3123,6 +3176,7 @@ static void linphone_call_stop_video_stream(LinphoneCall *call) { linphone_call_log_fill_stats(call->log,(MediaStream*)call->videostream); video_stream_stop(call->videostream); call->videostream=NULL; + update_rtp_stats(call, 1); rtp_session_unregister_event_queue(call->sessions[1].rtp_session, call->videostream_app_evq); ortp_ev_queue_flush(call->videostream_app_evq); ortp_ev_queue_destroy(call->videostream_app_evq); @@ -3316,19 +3370,20 @@ 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); +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); } + media_stream_get_local_rtp_stats(stream, &stats->rtp_stats); } /** * Access last known statistics for audio stream, for a given call. **/ const LinphoneCallStats *linphone_call_get_audio_stats(LinphoneCall *call) { - LinphoneCallStats *stats=&call->stats[LINPHONE_CALL_STATS_AUDIO]; + LinphoneCallStats *stats = &call->stats[LINPHONE_CALL_STATS_AUDIO]; if (call->audiostream){ update_local_stats(stats,(MediaStream*)call->audiostream); } @@ -3339,7 +3394,7 @@ const LinphoneCallStats *linphone_call_get_audio_stats(LinphoneCall *call) { * Access last known statistics for video stream, for a given call. **/ const LinphoneCallStats *linphone_call_get_video_stats(LinphoneCall *call) { - LinphoneCallStats *stats=&call->stats[LINPHONE_CALL_STATS_VIDEO]; + LinphoneCallStats *stats = &call->stats[LINPHONE_CALL_STATS_VIDEO]; if (call->videostream){ update_local_stats(stats,(MediaStream*)call->videostream); } @@ -3473,18 +3528,14 @@ float linphone_call_stats_get_receiver_interarrival_jitter(const LinphoneCallSta return (float)report_block_get_interarrival_jitter(rrb) / (float)pt->clock_rate; } -rtp_stats_t linphone_call_stats_get_rtp_stats(const LinphoneCallStats *stats, LinphoneCall *call) { +rtp_stats_t linphone_call_stats_get_rtp_stats(const LinphoneCallStats *stats) { rtp_stats_t rtp_stats; memset(&rtp_stats, 0, sizeof(rtp_stats)); - if (stats && call) { - if (stats->type == LINPHONE_CALL_STATS_AUDIO && call->audiostream != NULL) - audio_stream_get_local_rtp_stats(call->audiostream, &rtp_stats); - #ifdef VIDEO_ENABLED - else if (call->videostream != NULL) - video_stream_get_local_rtp_stats(call->videostream, &rtp_stats); - #endif + if (stats) { + memcpy(&rtp_stats, &stats->rtp_stats, sizeof(stats->rtp_stats)); } + return rtp_stats; } @@ -3493,7 +3544,7 @@ rtp_stats_t linphone_call_stats_get_rtp_stats(const LinphoneCallStats *stats, Li * @return The cumulative number of late packets **/ uint64_t linphone_call_stats_get_late_packets_cumulative_number(const LinphoneCallStats *stats, LinphoneCall *call) { - return linphone_call_stats_get_rtp_stats(stats, call).outoftime; + return linphone_call_stats_get_rtp_stats(stats).outoftime; } /** @@ -3577,12 +3628,13 @@ static void report_bandwidth(LinphoneCall *call, MediaStream *as, MediaStream *v call->stats[LINPHONE_CALL_STATS_AUDIO].updated|=LINPHONE_CALL_STATS_PERIODICAL_UPDATE; linphone_core_notify_call_stats_updated(call->core, call, &call->stats[LINPHONE_CALL_STATS_AUDIO]); call->stats[LINPHONE_CALL_STATS_AUDIO].updated=0; + update_local_stats(&call->stats[LINPHONE_CALL_STATS_AUDIO], as); } if (vs_active) { call->stats[LINPHONE_CALL_STATS_VIDEO].updated|=LINPHONE_CALL_STATS_PERIODICAL_UPDATE; linphone_core_notify_call_stats_updated(call->core, call, &call->stats[LINPHONE_CALL_STATS_VIDEO]); call->stats[LINPHONE_CALL_STATS_VIDEO].updated=0; - + update_local_stats(&call->stats[LINPHONE_CALL_STATS_VIDEO], vs); } ms_message( "Bandwidth usage for call [%p]:\n" @@ -3601,16 +3653,23 @@ static void report_bandwidth(LinphoneCall *call, MediaStream *as, MediaStream *v } -static void linphone_core_disconnected(LinphoneCore *lc, LinphoneCall *call){ - char temp[256]={0}; +static void linphone_call_lost(LinphoneCall *call, LinphoneReason reason){ + LinphoneCore *lc = call->core; + char *temp = NULL; char *from=NULL; from = linphone_call_get_remote_address_as_string(call); - snprintf(temp,sizeof(temp)-1,"Remote end %s seems to have disconnected, the call is going to be closed.",from ? from : ""); + switch(reason){ + case LinphoneReasonIOError: + temp = ms_strdup_printf("Call with %s disconnected because of network, it is going to be closed.", from ? from : "?"); + break; + default: + temp = ms_strdup_printf("Media connectivity with %s is lost, call is going to be closed.", from ? from : "?"); + break; + } if (from) ms_free(from); - - ms_message("On call [%p]: %s",call,temp); - linphone_core_notify_display_warning(lc,temp); + ms_message("LinphoneCall [%p]: %s",call, temp); + linphone_core_notify_display_warning(lc, temp); linphone_core_terminate_call(lc,call); linphone_core_play_named_tone(lc,LinphoneToneCallLost); } @@ -3878,7 +3937,7 @@ void linphone_call_background_tasks(LinphoneCall *call, bool_t one_second_elapse && call->audiostream->ms.state==MSStreamStarted && disconnect_timeout>0 ) disconnected=!audio_stream_alive(call->audiostream,disconnect_timeout); if (disconnected) - linphone_core_disconnected(call->core,call); + linphone_call_lost(call, LinphoneReasonUnknown); } void linphone_call_log_completed(LinphoneCall *call){ @@ -4129,17 +4188,107 @@ void linphone_call_set_native_video_window_id(LinphoneCall *call, void *id) { } #endif } -#ifdef VIDEO_ENABLED + MSWebCam *linphone_call_get_video_device(const LinphoneCall *call) { - if (call->camera_enabled==FALSE) + if (call->all_muted || call->camera_enabled == FALSE) return get_nowebcam_device(); else - return call->cam; + return call->core->video_conf.device; } -#endif + void linphone_call_set_audio_route(LinphoneCall *call, LinphoneAudioRoute route) { if (call != NULL && call->audiostream != NULL){ audio_stream_set_audio_route(call->audiostream, (MSAudioRoute) route); } } + +int linphone_call_get_stream_count(LinphoneCall *call) { + // Revisit when multiple media streams will be implemented +#ifdef VIDEO_ENABLED + return 2; +#else + return 1; +#endif +} + +MSFormatType linphone_call_get_stream_type(LinphoneCall *call, int stream_index) { + // Revisit when multiple media streams will be implemented + if (stream_index == 0) { + return MSAudio; + } + return MSVideo; +} + +RtpTransport* linphone_call_get_meta_rtp_transport(LinphoneCall *call, int stream_index) { + RtpTransport *meta_rtp; + RtpTransport *meta_rtcp; + + if (!call || stream_index < 0 || stream_index >= linphone_call_get_stream_count(call)) { + return NULL; + } + + rtp_session_get_transports(call->sessions[stream_index].rtp_session, &meta_rtp, &meta_rtcp); + return meta_rtp; +} + +RtpTransport* linphone_call_get_meta_rtcp_transport(LinphoneCall *call, int stream_index) { + RtpTransport *meta_rtp; + RtpTransport *meta_rtcp; + + if (!call || stream_index < 0 || stream_index >= linphone_call_get_stream_count(call)) { + return NULL; + } + + rtp_session_get_transports(call->sessions[stream_index].rtp_session, &meta_rtp, &meta_rtcp); + return meta_rtcp; +} + +void linphone_call_set_broken(LinphoneCall *call){ + switch(call->state){ + /*for all the early states, we prefer to drop the call*/ + case LinphoneCallOutgoingInit: + case LinphoneCallOutgoingRinging: + case LinphoneCallOutgoingEarlyMedia: + case LinphoneCallIncomingReceived: + case LinphoneCallIncomingEarlyMedia: + linphone_call_lost(call, LinphoneReasonIOError); + break; + case LinphoneCallStreamsRunning: + case LinphoneCallPaused: + case LinphoneCallPausedByRemote: + call->broken = TRUE; + break; + default: + ms_error("linphone_call_set_broken() unimplemented case."); + break; + } +} + +void linphone_call_repair_if_broken(LinphoneCall *call){ + LinphoneCallParams *params; + + if (!call->broken) return; + + /*First, make sure that the proxy from which we received this call, or to which we routed this call is registered*/ + if (!call->dest_proxy || linphone_proxy_config_get_state(call->dest_proxy) != LinphoneRegistrationOk) return; + + + switch (call->state){ + case LinphoneCallStreamsRunning: + case LinphoneCallPaused: + case LinphoneCallPausedByRemote: + ms_message("LinphoneCall[%p] is going to be updated (reINVITE) in order to recover from lost connectivity", call); + if (call->ice_session){ + ice_session_restart(call->ice_session); + ice_session_set_role(call->ice_session, IR_Controlling); + } + params = linphone_core_create_call_params(call->core, call); + linphone_core_update_call(call->core, call, params); + linphone_call_params_unref(params); + break; + default: + ms_error("linphone_call_resume_if_broken(): don't know what to do in state [%s]", linphone_call_state_to_string(call->state)); + break; + } +} diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index 2dfe46e8c..c1c6bf5e3 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -100,7 +100,6 @@ static ortp_mutex_t liblinphone_log_collection_mutex; static bool_t liblinphone_serialize_logs = FALSE; static void set_network_reachable(LinphoneCore* lc,bool_t isReachable, time_t curtime); static void linphone_core_run_hooks(LinphoneCore *lc); -static void linphone_core_free_hooks(LinphoneCore *lc); #include "enum.h" #include "contact_providers_priv.h" @@ -931,7 +930,7 @@ static void sip_config_read(LinphoneCore *lc) if (hostname==NULL) hostname="unknown-host"; if (username==NULL){ - username="toto"; + username="linphone"; } contact=ortp_strdup_printf("sip:%s@%s",username,hostname); linphone_core_set_primary_contact(lc,contact); @@ -1565,6 +1564,8 @@ static void linphone_core_register_default_codecs(LinphoneCore *lc){ linphone_core_register_payload_type(lc,&payload_type_aal2_g726_24,NULL,FALSE); linphone_core_register_payload_type(lc,&payload_type_aal2_g726_32,NULL,FALSE); linphone_core_register_payload_type(lc,&payload_type_aal2_g726_40,NULL,FALSE); + linphone_core_register_payload_type(lc,&payload_type_codec2,NULL,FALSE); + @@ -1588,7 +1589,7 @@ static void linphone_core_init(LinphoneCore * lc, const LinphoneCoreVTable *vtab lc->config=lp_config_ref(config); lc->data=userdata; lc->ringstream_autorelease=TRUE; - + linphone_task_list_init(&lc->hooks); memcpy(local_vtable,vtable,sizeof(LinphoneCoreVTable)); _linphone_core_add_listener(lc, local_vtable, TRUE); @@ -2767,7 +2768,7 @@ int linphone_core_start_invite(LinphoneCore *lc, LinphoneCall *call, const Linph linphone_call_set_contact_op(call); linphone_core_stop_dtmf_stream(lc); - linphone_call_make_local_media_description(lc,call); + linphone_call_make_local_media_description(call); if (lc->ringstream==NULL) { if (lc->sound_conf.play_sndcard && lc->sound_conf.capt_sndcard){ @@ -2923,21 +2924,6 @@ void linphone_configure_op(LinphoneCore *lc, SalOp *op, const LinphoneAddress *d sal_op_cnx_ip_to_0000_if_sendonly_enable(op,lp_config_get_default_int(lc->config,"sip","cnx_ip_to_0000_if_sendonly_enabled",0)); /*also set in linphone_call_new_incoming*/ } -/** - * Initiates an outgoing call given a destination LinphoneAddress - * - * @ingroup call_control - * @param lc the LinphoneCore object - * @param addr the destination of the call (sip address). - @param params call parameters - * - * 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. - * - * @return a LinphoneCall object or NULL in case of failure -**/ LinphoneCall * linphone_core_invite_address_with_params(LinphoneCore *lc, const LinphoneAddress *addr, const LinphoneCallParams *params) { const char *from=NULL; @@ -3185,16 +3171,16 @@ int linphone_core_accept_early_media_with_params(LinphoneCore* lc, LinphoneCall* // if parameters are passed, update the media description if ( params ) { linphone_call_set_new_params(call,params); - linphone_call_make_local_media_description ( lc,call ); + linphone_call_make_local_media_description (call); sal_call_set_local_media_description ( call->op,call->localdesc ); sal_op_set_sent_custom_header ( call->op,params->custom_headers ); } - sal_call_notify_ringing(call->op,TRUE); + sal_call_notify_ringing(call->op, TRUE); linphone_call_set_state(call,LinphoneCallIncomingEarlyMedia,"Incoming call early media"); md=sal_call_get_final_media_description(call->op); - if (md) linphone_core_update_streams(lc,call,md); + if (md) linphone_core_update_streams(lc, call, md, call->state); return 0; }else{ ms_error("Bad state %s for linphone_core_accept_early_media_with_params()", linphone_call_state_to_string(call->state)); @@ -3223,7 +3209,7 @@ int linphone_core_start_update_call(LinphoneCore *lc, LinphoneCall *call){ linphone_call_fill_media_multicast_addr(call); - if (!no_user_consent) linphone_call_make_local_media_description(lc,call); + if (!no_user_consent) linphone_call_make_local_media_description(call); #ifdef BUILD_UPNP if(call->upnp_session != NULL) { linphone_core_update_local_media_description_from_upnp(call->localdesc, call->upnp_session); @@ -3285,6 +3271,8 @@ int linphone_core_update_call(LinphoneCore *lc, LinphoneCall *call, const Linpho nextstate=LinphoneCallEarlyUpdating; break; case LinphoneCallStreamsRunning: + case LinphoneCallPaused: + case LinphoneCallPausedByRemote: nextstate=LinphoneCallUpdating; break; default: @@ -3293,6 +3281,7 @@ int linphone_core_update_call(LinphoneCore *lc, LinphoneCall *call, const Linpho } if (params!=NULL){ + call->broken = FALSE; linphone_call_set_state(call,nextstate,"Updating call"); #if defined(VIDEO_ENABLED) && defined(BUILD_UPNP) has_video = call->params->has_video; @@ -3332,7 +3321,7 @@ int linphone_core_update_call(LinphoneCore *lc, LinphoneCall *call, const Linpho #endif //defined(VIDEO_ENABLED) && defined(BUILD_UPNP) if ((err = linphone_core_start_update_call(lc, call)) && call->state!=initial_state) { /*Restore initial state*/ - linphone_call_set_state(call,initial_state,NULL); + linphone_call_set_state(call,initial_state,"Restore initial state"); } }else{ @@ -3341,7 +3330,7 @@ int linphone_core_update_call(LinphoneCore *lc, LinphoneCall *call, const Linpho video_stream_set_sent_video_size(call->videostream,linphone_core_get_preferred_video_size(lc)); video_stream_set_fps(call->videostream, linphone_core_get_preferred_framerate(lc)); if (call->camera_enabled && call->videostream->cam!=lc->video_conf.device){ - video_stream_change_camera(call->videostream,call->cam = lc->video_conf.device); + video_stream_change_camera(call->videostream, lc->video_conf.device); }else video_stream_update_video_params(call->videostream); } #endif @@ -3363,14 +3352,23 @@ int linphone_core_update_call(LinphoneCore *lc, LinphoneCall *call, const Linpho * Then, when the user responds to dialog prompt, it becomes possible to call linphone_core_accept_call_update() to answer * the reINVITE, with eventually video enabled in the LinphoneCallParams argument. * - * @return 0 if successful, -1 if the linphone_core_defer_call_update() was done outside a #LinphoneCallUpdatedByRemote notification, which is illegal. + * The #LinphoneCallUpdatedByRemote notification can also arrive when receiving an INVITE without SDP. In such case, an unchanged offer is made + * in the 200Ok, and when the ACK containing the SDP answer is received, #LinphoneCallUpdatedByRemote is triggered to notify the application of possible + * changes in the media session. However in such case defering the update has no meaning since we just generating an offer. + * + * @return 0 if successful, -1 if the linphone_core_defer_call_update() was done outside a valid #LinphoneCallUpdatedByRemote notification. **/ int linphone_core_defer_call_update(LinphoneCore *lc, LinphoneCall *call){ if (call->state==LinphoneCallUpdatedByRemote){ + if (call->expect_media_in_ack){ + ms_error("linphone_core_defer_call_update() is not possible during a late offer incoming reINVITE (INVITE without SDP)"); + return -1; + } call->defer_update=TRUE; return 0; + }else{ + ms_error("linphone_core_defer_call_update() not done in state LinphoneCallUpdatedByRemote"); } - ms_error("linphone_core_defer_call_update() not done in state LinphoneCallUpdatedByRemote"); return -1; } @@ -3382,7 +3380,7 @@ int linphone_core_start_accept_call_update(LinphoneCore *lc, LinphoneCall *call, return 0; } } - linphone_call_make_local_media_description(lc,call); + linphone_call_make_local_media_description(call); linphone_call_update_remote_session_id_and_ver(call); linphone_call_stop_ice_for_inactive_streams(call); @@ -3390,7 +3388,7 @@ int linphone_core_start_accept_call_update(LinphoneCore *lc, LinphoneCall *call, sal_call_accept(call->op); md=sal_call_get_final_media_description(call->op); if (md && !sal_media_description_empty(md)){ - linphone_core_update_streams (lc,call,md); + linphone_core_update_streams(lc, call, md, next_state); linphone_call_fix_call_parameters(call); } linphone_call_set_state(call,next_state,state_info); @@ -3599,7 +3597,7 @@ int linphone_core_accept_call_with_params(LinphoneCore *lc, LinphoneCall *call, linphone_call_set_compatible_incoming_call_parameters(call, md); } linphone_call_prepare_ice(call,TRUE); - linphone_call_make_local_media_description(lc,call); + linphone_call_make_local_media_description(call); sal_call_set_local_media_description(call->op,call->localdesc); sal_op_set_sent_custom_header(call->op,params->custom_headers); } @@ -3625,7 +3623,7 @@ int linphone_core_accept_call_with_params(LinphoneCore *lc, LinphoneCall *call, linphone_call_set_state(call,LinphoneCallConnected,"Connected"); new_md=sal_call_get_final_media_description(call->op); if (new_md){ - linphone_core_update_streams(lc, call, new_md); + linphone_core_update_streams(lc, call, new_md, LinphoneCallStreamsRunning); linphone_call_fix_call_parameters(call); linphone_call_set_state(call,LinphoneCallStreamsRunning,"Connected (streams running)"); }else call->expect_media_in_ack=TRUE; @@ -3809,10 +3807,8 @@ int linphone_core_pause_call(LinphoneCore *lc, LinphoneCall *call){ } /* Internal version that does not play tone indication*/ -int _linphone_core_pause_call(LinphoneCore *lc, LinphoneCall *call) -{ +int _linphone_core_pause_call(LinphoneCore *lc, LinphoneCall *call){ const char *subject=NULL; - LinphoneCallParams *params; if (call->state!=LinphoneCallStreamsRunning && call->state!=LinphoneCallPausedByRemote){ ms_warning("Cannot pause this call, it is not active."); @@ -3826,15 +3822,8 @@ int _linphone_core_pause_call(LinphoneCore *lc, LinphoneCall *call) ms_error("No reason to pause this call, it is already paused or inactive."); return -1; } - params = linphone_call_params_copy(call->params); - linphone_call_params_set_audio_direction(params, LinphoneMediaDirectionSendOnly); - if (lp_config_get_int(lc->config, "sip", "inactive_video_on_pause", 0)) { - linphone_call_params_set_video_direction(params, LinphoneMediaDirectionInactive); - } else { - linphone_call_params_set_video_direction(params, LinphoneMediaDirectionSendOnly); - } - linphone_call_make_local_media_description_with_params(lc, call, params); - linphone_call_params_unref(params); + linphone_call_set_state(call, LinphoneCallPausing, "Pausing call"); + linphone_call_make_local_media_description(call); #ifdef BUILD_UPNP if(call->upnp_session != NULL) { linphone_core_update_local_media_description_from_upnp(call->localdesc, call->upnp_session); @@ -3848,7 +3837,6 @@ int _linphone_core_pause_call(LinphoneCore *lc, LinphoneCall *call) linphone_core_notify_display_status(lc,_("Pausing the current call...")); if (call->audiostream || call->videostream) linphone_call_stop_media_streams (call); - linphone_call_set_state(call,LinphoneCallPausing,"Pausing call"); call->paused_by_app=FALSE; return 0; } @@ -3915,7 +3903,7 @@ int linphone_core_resume_call(LinphoneCore *lc, LinphoneCall *call){ prevents the participants to hear it while the 200OK comes back.*/ if (call->audiostream) audio_stream_play(call->audiostream, NULL); - linphone_call_make_local_media_description(lc,call); + linphone_call_make_local_media_description(call); #ifdef BUILD_UPNP if(call->upnp_session != NULL) { linphone_core_update_local_media_description_from_upnp(call->localdesc, call->upnp_session); @@ -6108,7 +6096,7 @@ LpConfig * linphone_core_create_lp_config(LinphoneCore *lc, const char *filename static void linphone_core_uninit(LinphoneCore *lc) { - linphone_core_free_hooks(lc); + linphone_task_list_free(&lc->hooks); lc->video_conf.show_local = FALSE; while(lc->calls) @@ -6213,6 +6201,8 @@ static void set_network_reachable(LinphoneCore* lc,bool_t isReachable, time_t cu if (!lc->network_reachable){ linphone_core_invalidate_friend_subscriptions(lc); sal_reset_transports(lc->sal); + /*mark all calls as broken, so that they can be either dropped immediately or restaured when network will be back*/ + ms_list_for_each(lc->calls, (MSIterateFunc) linphone_call_set_broken); }else{ linphone_core_resolve_stun_server(lc); } @@ -6570,47 +6560,18 @@ void linphone_core_set_max_calls(LinphoneCore *lc, int max) { lc->max_calls=max; } -typedef struct Hook{ - LinphoneCoreIterateHook fun; - void *data; -}Hook; - -static Hook *hook_new(LinphoneCoreIterateHook hook, void *hook_data){ - Hook *h=ms_new0(Hook,1); - h->fun=hook; - h->data=hook_data; - return h; -} - -static void hook_invoke(Hook *h){ - h->fun(h->data); -} void linphone_core_add_iterate_hook(LinphoneCore *lc, LinphoneCoreIterateHook hook, void *hook_data){ - lc->hooks=ms_list_append(lc->hooks,hook_new(hook,hook_data)); + linphone_task_list_add(&lc->hooks, hook, hook_data); } static void linphone_core_run_hooks(LinphoneCore *lc){ - ms_list_for_each(lc->hooks,(void (*)(void*))hook_invoke); -} - -static void linphone_core_free_hooks(LinphoneCore *lc){ - ms_list_for_each(lc->hooks,(void (*)(void*))ms_free); - ms_list_free(lc->hooks); - lc->hooks=NULL; + linphone_task_list_run(&lc->hooks); } void linphone_core_remove_iterate_hook(LinphoneCore *lc, LinphoneCoreIterateHook hook, void *hook_data){ - MSList *elem; - for(elem=lc->hooks;elem!=NULL;elem=elem->next){ - Hook *h=(Hook*)elem->data; - if (h->fun==hook && h->data==hook_data){ - lc->hooks = ms_list_remove_link(lc->hooks,elem); - ms_free(h); - return; - } - } - ms_error("linphone_core_remove_iterate_hook(): No such hook found."); + linphone_task_list_remove(&lc->hooks, hook, hook_data); + } void linphone_core_set_zrtp_secrets_file(LinphoneCore *lc, const char* file){ diff --git a/coreapi/linphonecore.h b/coreapi/linphonecore.h index c0d48b1f3..c6d05152e 100644 --- a/coreapi/linphonecore.h +++ b/coreapi/linphonecore.h @@ -551,6 +551,7 @@ struct _LinphoneCallStats { int updated; /**< Tell which RTCP packet has been updated (received_rtcp or sent_rtcp). Can be either LINPHONE_CALL_STATS_RECEIVED_RTCP_UPDATE or LINPHONE_CALL_STATS_SENT_RTCP_UPDATE */ float rtcp_download_bandwidth; /** #endif /*ANDROID*/ @@ -148,7 +151,7 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *ajvm, void *reserved) { #ifdef ANDROID ms_set_jvm(ajvm); - + #endif /*ANDROID*/ jvm=ajvm; return JNI_VERSION_1_2; @@ -1142,6 +1145,9 @@ extern "C" jlong Java_org_linphone_core_LinphoneCoreImpl_newLinphoneCore(JNIEnv* #ifdef HAVE_WEBRTC libmswebrtc_init(); #endif +#ifdef HAVE_CODEC2 + libmscodec2_init(); +#endif jobject core = env->NewGlobalRef(thiz); jlong nativePtr = (jlong)linphone_core_new(vTable, userConfig, factoryConfig, core); @@ -1990,7 +1996,7 @@ extern "C" jboolean Java_org_linphone_core_LinphoneCoreImpl_needsEchoCalibration if(sound_description != NULL && sound_description == &genericSoundDeviceDescriptor){ return TRUE; } - + if (ms_snd_card_get_capabilities(sndcard) & MS_SND_CARD_CAP_BUILTIN_ECHO_CANCELLER) return FALSE; if (ms_snd_card_get_minimal_latency(sndcard) != 0) return FALSE; return TRUE; @@ -2176,16 +2182,17 @@ extern "C" jstring Java_org_linphone_core_LinphoneProxyConfigImpl_normalizePhone if (jnumber == 0) { ms_error("cannot normalized null number"); } + char * normalized_phone; const char* number = env->GetStringUTFChars(jnumber, NULL); int len = env->GetStringLength(jnumber); if (len == 0) { ms_warning("cannot normalize empty number"); return jnumber; } - char targetBuff[2*len];// returned number can be greater than origin (specially in case of prefix insertion - linphone_proxy_config_normalize_number((LinphoneProxyConfig*)proxyCfg,number,targetBuff,sizeof(targetBuff)); - jstring normalizedNumber = env->NewStringUTF(targetBuff); + normalized_phone = linphone_proxy_config_normalize_phone_number((LinphoneProxyConfig*)proxyCfg,number); + jstring normalizedNumber = env->NewStringUTF(normalized_phone ? normalized_phone : number); env->ReleaseStringUTFChars(jnumber, number); + ms_free(normalized_phone); return normalizedNumber; } extern "C" jint Java_org_linphone_core_LinphoneProxyConfigImpl_lookupCCCFromIso(JNIEnv* env, jobject thiz, jlong proxyCfg, jstring jiso) { @@ -3277,7 +3284,7 @@ static void message_state_changed(LinphoneChatMessage* msg, LinphoneChatMessageS jmethodID method = env->GetMethodID(clazz, "onLinphoneChatMessageStateChanged","(Lorg/linphone/core/LinphoneChatMessage;Lorg/linphone/core/LinphoneChatMessage$State;)V"); jobject jmessage = getChatMessage(env, msg); env->DeleteLocalRef(clazz); - + jclass chatMessageStateClass = (jclass)env->FindClass("org/linphone/core/LinphoneChatMessage$State"); jmethodID chatMessageStateFromIntId = env->GetStaticMethodID(chatMessageStateClass, "fromInt","(I)Lorg/linphone/core/LinphoneChatMessage$State;"); env->CallVoidMethod(listener, method, jmessage, env->CallStaticObjectMethod(chatMessageStateClass, chatMessageStateFromIntId, (jint)state)); @@ -3320,7 +3327,7 @@ static void file_transfer_recv(LinphoneChatMessage *msg, const LinphoneContent* jclass clazz = (jclass) env->GetObjectClass(listener); jmethodID method = env->GetMethodID(clazz, "onLinphoneChatMessageFileTransferReceived", "(Lorg/linphone/core/LinphoneChatMessage;Lorg/linphone/core/LinphoneContent;Lorg/linphone/core/LinphoneBuffer;)V"); env->DeleteLocalRef(clazz); - + jobject jmessage = getChatMessage(env, msg); jobject jbuffer = buffer ? create_java_linphone_buffer(env, buffer) : NULL; jobject jcontent = content ? create_java_linphone_content(env, content) : NULL; @@ -3346,7 +3353,7 @@ static LinphoneBuffer* file_transfer_send(LinphoneChatMessage *msg, const Linph jclass clazz = (jclass) env->GetObjectClass(listener); jmethodID method = env->GetMethodID(clazz, "onLinphoneChatMessageFileTransferSent","(Lorg/linphone/core/LinphoneChatMessage;Lorg/linphone/core/LinphoneContent;IILorg/linphone/core/LinphoneBuffer;)V"); env->DeleteLocalRef(clazz); - + jobject jmessage = getChatMessage(env, msg); jobject jbuffer = create_java_linphone_buffer(env, NULL); jobject jcontent = content ? create_java_linphone_content(env, content) : NULL; @@ -3354,7 +3361,7 @@ static LinphoneBuffer* file_transfer_send(LinphoneChatMessage *msg, const Linph if (jcontent) { env->DeleteLocalRef(jcontent); } - + buffer = create_c_linphone_buffer_from_java_linphone_buffer(env, jbuffer); env->DeleteLocalRef(jbuffer); return buffer; @@ -3364,7 +3371,7 @@ extern "C" void Java_org_linphone_core_LinphoneChatMessageImpl_setListener(JNIEn jobject listener = env->NewGlobalRef(jlistener); LinphoneChatMessage *message = (LinphoneChatMessage *)ptr; LinphoneChatMessageCbs *cbs; - + message->cb_ud = listener; cbs = linphone_chat_message_get_callbacks(message); linphone_chat_message_cbs_set_msg_state_changed(cbs, message_state_changed); @@ -4643,7 +4650,7 @@ static jobject create_java_linphone_content(JNIEnv *env, const LinphoneContent * } jobject jobj = env->NewObject(contentClass, ctor, jname, jtype, jsubtype, jdata, jencoding, jsize); - + env->DeleteLocalRef(contentClass); env->DeleteLocalRef(jtype); env->DeleteLocalRef(jsubtype); @@ -4653,7 +4660,7 @@ static jobject create_java_linphone_content(JNIEnv *env, const LinphoneContent * if (jname) { env->DeleteLocalRef(jname); } - + return jobj; } @@ -4689,7 +4696,7 @@ static LinphoneBuffer* create_c_linphone_buffer_from_java_linphone_buffer(JNIEnv bufferClass = (jclass)env->FindClass("org/linphone/core/LinphoneBufferImpl"); getSizeMethod = env->GetMethodID(bufferClass, "getSize", "()I"); getDataMethod = env->GetMethodID(bufferClass, "getContent", "()[B"); - + jsize = env->CallIntMethod(jbuffer, getSizeMethod); jdata = env->CallObjectMethod(jbuffer, getDataMethod); jcontent = reinterpret_cast(jdata); @@ -4699,7 +4706,7 @@ static LinphoneBuffer* create_c_linphone_buffer_from_java_linphone_buffer(JNIEnv env->ReleaseByteArrayElements(jcontent, (jbyte*)content, JNI_ABORT); } env->DeleteLocalRef(bufferClass); - + return buffer; } diff --git a/coreapi/message_storage.c b/coreapi/message_storage.c index a5985f4d3..25d37a1b8 100644 --- a/coreapi/message_storage.c +++ b/coreapi/message_storage.c @@ -94,6 +94,20 @@ static void fetch_content_from_database(sqlite3 *db, LinphoneChatMessage *messag sqlite3_free(buf); } + + +// Called when fetching all conversations from database +static int callback_all(void *data, int argc, char **argv, char **colName){ + LinphoneCore* lc = (LinphoneCore*) data; + char* address = argv[0]; + LinphoneAddress *addr = linphone_address_new(address); + if (addr){ + linphone_core_get_chat_room(lc, addr); + linphone_address_destroy(addr); + } + return 0; +} + /* DB layout: * | 0 | storage_id * | 1 | localContact @@ -106,13 +120,12 @@ static void fetch_content_from_database(sqlite3 *db, LinphoneChatMessage *messag * | 8 | external body url * | 9 | utc timestamp * | 10 | app data text - * | 11 | linphone content + * | 11 | linphone content id */ -static void create_chat_message(char **argv, void *data){ +static int create_chat_message(void *data, int argc, char **argv, char **colName){ LinphoneChatRoom *cr = (LinphoneChatRoom *)data; LinphoneAddress *from; LinphoneAddress *to; - unsigned int storage_id = atoi(argv[0]); // check if the message exists in the transient list, in which case we should return that one. @@ -136,17 +149,12 @@ static void create_chat_message(char **argv, void *data){ linphone_address_destroy(to); } - if( argv[9] != NULL ){ - new_message->time = (time_t)atol(argv[9]); - } else { - new_message->time = time(NULL); - } - + new_message->time = (time_t)atol(argv[9]); new_message->is_read=atoi(argv[6]); new_message->state=atoi(argv[7]); new_message->storage_id=storage_id; - new_message->external_body_url= argv[8] ? ms_strdup(argv[8]) : NULL; - new_message->appdata = argv[10]? ms_strdup(argv[10]) : NULL; + new_message->external_body_url= ms_strdup(argv[8]); + new_message->appdata = ms_strdup(argv[10]); if (argv[11] != NULL) { int id = atoi(argv[11]); @@ -156,25 +164,14 @@ static void create_chat_message(char **argv, void *data){ } } cr->messages_hist=ms_list_prepend(cr->messages_hist,new_message); -} -// Called when fetching all conversations from database -static int callback_all(void *data, int argc, char **argv, char **colName){ - LinphoneCore* lc = (LinphoneCore*) data; - char* address = argv[0]; - linphone_core_get_or_create_chat_room(lc, address); - return 0; -} - -static int callback(void *data, int argc, char **argv, char **colName){ - create_chat_message(argv,data); return 0; } void linphone_sql_request_message(sqlite3 *db,const char *stmt,LinphoneChatRoom *cr){ char* errmsg=NULL; int ret; - ret=sqlite3_exec(db,stmt,callback,cr,&errmsg); + ret=sqlite3_exec(db,stmt,create_chat_message,cr,&errmsg); if(ret != SQLITE_OK) { ms_error("Error in creation: %s.", errmsg); sqlite3_free(errmsg); @@ -287,7 +284,7 @@ void linphone_chat_room_mark_as_read(LinphoneChatRoom *cr){ char *buf; if (lc->db==NULL) return ; - + // optimization: do not modify the database if no message is marked as unread if(linphone_chat_room_get_unread_messages_count(cr) == 0) return; @@ -297,7 +294,7 @@ void linphone_chat_room_mark_as_read(LinphoneChatRoom *cr){ linphone_sql_request(lc->db,buf); sqlite3_free(buf); ms_free(peer); - + cr->unread_count = 0; } @@ -321,7 +318,7 @@ static int linphone_chat_room_get_messages_count(LinphoneChatRoom *cr, bool_t un int returnValue; if (lc->db==NULL) return 0; - + // optimization: do not read database if the count is already available in memory if(unread_only && cr->unread_count >= 0) return cr->unread_count; @@ -336,11 +333,11 @@ static int linphone_chat_room_get_messages_count(LinphoneChatRoom *cr, bool_t un sqlite3_finalize(selectStatement); sqlite3_free(buf); ms_free(peer); - + /* no need to test the sign of cr->unread_count here * because it has been tested above */ if(unread_only) cr->unread_count = numrows; - + return numrows; } @@ -361,7 +358,7 @@ void linphone_chat_room_delete_message(LinphoneChatRoom *cr, LinphoneChatMessage buf=sqlite3_mprintf("DELETE FROM history WHERE id = %i;", msg->storage_id); linphone_sql_request(lc->db,buf); sqlite3_free(buf); - + if(cr->unread_count >= 0 && !msg->is_read) { assert(cr->unread_count > 0); cr->unread_count--; @@ -380,7 +377,7 @@ void linphone_chat_room_delete_history(LinphoneChatRoom *cr){ linphone_sql_request(lc->db,buf); sqlite3_free(buf); ms_free(peer); - + if(cr->unread_count > 0) cr->unread_count = 0; } @@ -618,7 +615,7 @@ static int _linphone_sqlite3_open(const char *db_file, sqlite3 **db) { #elif defined(_WIN32) int ret; wchar_t db_file_utf16[MAX_PATH_SIZE]; - ret = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, db_file, MAX_PATH_SIZE, db_file_utf16, MAX_PATH_SIZE); + ret = MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, db_file, -1, db_file_utf16, MAX_PATH_SIZE); if(ret == 0) db_file_utf16[0] = '\0'; return sqlite3_open16(db_file_utf16, db); #else @@ -627,7 +624,7 @@ static int _linphone_sqlite3_open(const char *db_file, sqlite3 **db) { char *inbuf=db_file_locale, *outbuf=db_file_utf8; size_t inbyteleft = MAX_PATH_SIZE, outbyteleft = MAX_PATH_SIZE; iconv_t cb; - + strncpy(db_file_locale, db_file, MAX_PATH_SIZE-1); cb = iconv_open("UTF-8", nl_langinfo(CODESET)); if(cb != (iconv_t)-1) { diff --git a/coreapi/misc.c b/coreapi/misc.c index d94b170e3..7547f1022 100644 --- a/coreapi/misc.c +++ b/coreapi/misc.c @@ -1788,3 +1788,48 @@ const char *linphone_tunnel_mode_to_string(LinphoneTunnelMode mode) { return "invalid"; } + +typedef struct Hook{ + LinphoneCoreIterateHook fun; + void *data; +}Hook; + +void linphone_task_list_init(LinphoneTaskList *t){ + t->hooks = NULL; +} + +static Hook *hook_new(LinphoneCoreIterateHook hook, void *hook_data){ + Hook *h=ms_new0(Hook,1); + h->fun=hook; + h->data=hook_data; + return h; +} + +static void hook_invoke(Hook *h){ + h->fun(h->data); +} + +void linphone_task_list_add(LinphoneTaskList *t, LinphoneCoreIterateHook hook, void *hook_data){ + t->hooks = ms_list_append(t->hooks,hook_new(hook,hook_data)); +} + +void linphone_task_list_remove(LinphoneTaskList *t, LinphoneCoreIterateHook hook, void *hook_data){ + MSList *elem; + for(elem=t->hooks;elem!=NULL;elem=elem->next){ + Hook *h=(Hook*)elem->data; + if (h->fun==hook && h->data==hook_data){ + t->hooks = ms_list_remove_link(t->hooks,elem); + ms_free(h); + return; + } + } + ms_error("linphone_task_list_remove(): No such hook found."); +} + +void linphone_task_list_run(LinphoneTaskList *t){ + ms_list_for_each(t->hooks,(void (*)(void*))hook_invoke); +} + +void linphone_task_list_free(LinphoneTaskList *t){ + t->hooks = ms_list_free_with_data(t->hooks, (void (*)(void*))ms_free); +} diff --git a/coreapi/presence.c b/coreapi/presence.c index 63f21ff18..f70f78ae0 100644 --- a/coreapi/presence.c +++ b/coreapi/presence.c @@ -1445,7 +1445,7 @@ static LinphonePresenceModel * process_pidf_xml_presence_notification(xmlparsing void linphone_core_add_subscriber(LinphoneCore *lc, const char *subscriber, SalOp *op){ LinphoneFriend *fl=linphone_friend_new_with_address(subscriber); if (fl==NULL) return ; - fl->insub=op; + linphone_friend_add_incoming_subscription(fl, op); linphone_friend_set_inc_subscribe_policy(fl,LinphoneSPAccept); fl->inc_subscribe_pending=TRUE; lc->subscribers=ms_list_append(lc->subscribers,(void *)fl); @@ -1468,9 +1468,7 @@ void linphone_core_notify_all_friends(LinphoneCore *lc, LinphonePresenceModel *p if (activity_str != NULL) ms_free(activity_str); for(elem=lc->friends;elem!=NULL;elem=elem->next){ LinphoneFriend *lf=(LinphoneFriend *)elem->data; - if (lf->insub){ - linphone_friend_notify(lf,presence); - } + linphone_friend_notify(lf,presence); } } @@ -1478,26 +1476,15 @@ void linphone_subscription_new(LinphoneCore *lc, SalOp *op, const char *from){ LinphoneFriend *lf=NULL; char *tmp; LinphoneAddress *uri; - LinphoneProxyConfig *cfg; uri=linphone_address_new(from); linphone_address_clean(uri); tmp=linphone_address_as_string(uri); ms_message("Receiving new subscription from %s.",from); - cfg=linphone_core_lookup_known_proxy(lc,uri); - if (cfg!=NULL){ - if (cfg->op){ - if (sal_op_get_contact_address(cfg->op)) { - sal_op_set_contact_address (op,sal_op_get_contact_address(cfg->op)); - ms_message("Contact for next subscribe answer has been fixed using proxy "/*to %s",fixed_contact*/); - } - } - } - /* check if we answer to this subscription */ if (linphone_find_friend_by_address(lc->friends,uri,&lf)!=NULL){ - lf->insub=op; + linphone_friend_add_incoming_subscription(lf, op); lf->inc_subscribe_pending=TRUE; sal_subscribe_accept(op); linphone_friend_done(lf); /*this will do all necessary actions */ @@ -1904,7 +1891,7 @@ void linphone_subscription_closed(LinphoneCore *lc, SalOp *op){ lf=linphone_find_friend_by_inc_subscribe(lc->friends,op); sal_op_release(op); if (lf!=NULL){ - lf->insub=NULL; + linphone_friend_remove_incoming_subscription(lf, op); }else{ ms_warning("Receiving unsuscribe for unknown in-subscribtion from %s", sal_op_get_from(op)); } diff --git a/coreapi/private.h b/coreapi/private.h index 12fd5b4c4..afcae52a8 100644 --- a/coreapi/private.h +++ b/coreapi/private.h @@ -79,7 +79,7 @@ extern "C" { #endif #include - + #ifndef _ #define _(String) dgettext(GETTEXT_PACKAGE,String) #endif @@ -295,7 +295,6 @@ struct _LinphoneCall{ belle_sip_source_t *dtmfs_timer; /*DTMF timer needed to send a DTMF sequence*/ char *dtls_certificate_fingerprint; /**> This fingerprint is computed during stream init and is stored in call to be used when making local media description */ - MSWebCam *cam; /*webcam use for this call*/ bool_t refer_pending; bool_t expect_media_in_ack; bool_t audio_muted; @@ -312,6 +311,7 @@ struct _LinphoneCall{ bool_t record_active; bool_t paused_by_app; + bool_t broken; /*set to TRUE when the call is in broken state due to network disconnection or transport */ }; BELLE_SIP_DECLARE_VPTR(LinphoneCall); @@ -356,6 +356,8 @@ const LinphoneAddress* linphone_proxy_config_get_service_route(const LinphonePro void linphone_friend_close_subscriptions(LinphoneFriend *lf); void linphone_friend_update_subscribes(LinphoneFriend *fr, LinphoneProxyConfig *cfg, bool_t only_when_registered); void linphone_friend_notify(LinphoneFriend *lf, LinphonePresenceModel *presence); +void linphone_friend_add_incoming_subscription(LinphoneFriend *lf, SalOp *op); +void linphone_friend_remove_incoming_subscription(LinphoneFriend *lf, SalOp *op); LinphoneFriend *linphone_find_friend_by_inc_subscribe(MSList *l, SalOp *op); LinphoneFriend *linphone_find_friend_by_out_subscribe(MSList *l, SalOp *op); MSList *linphone_find_friend_by_address(MSList *fl, const LinphoneAddress *addr, LinphoneFriend **lf); @@ -450,7 +452,7 @@ void linphone_call_fix_call_parameters(LinphoneCall *call); void linphone_call_init_audio_stream(LinphoneCall *call); void linphone_call_init_video_stream(LinphoneCall *call); void linphone_call_init_media_streams(LinphoneCall *call); -void linphone_call_start_media_streams(LinphoneCall *call, bool_t all_inputs_muted, bool_t send_ringbacktone); +void linphone_call_start_media_streams(LinphoneCall *call, LinphoneCallState target_state); void linphone_call_start_media_streams_for_ice_gathering(LinphoneCall *call); void linphone_call_stop_media_streams(LinphoneCall *call); void linphone_call_delete_ice_session(LinphoneCall *call); @@ -586,7 +588,7 @@ struct _LinphoneFriend{ belle_sip_object_t base; void *user_data; LinphoneAddress *uri; - SalOp *insub; + MSList *insubs; /*list of SalOp. There can be multiple instances of a same Friend that subscribe to our presence*/ SalOp *outsub; LinphoneSubscribePolicy pol; LinphonePresenceModel *presence; @@ -757,6 +759,16 @@ const char *linphone_core_get_tone_file(const LinphoneCore *lc, LinphoneToneID i int _linphone_core_accept_call_update(LinphoneCore *lc, LinphoneCall *call, const LinphoneCallParams *params, LinphoneCallState next_state, const char *state_info); typedef struct _LinphoneConference LinphoneConference; +typedef struct _LinphoneTaskList{ + MSList *hooks; +}LinphoneTaskList; + +void linphone_task_list_init(LinphoneTaskList *t); +void linphone_task_list_add(LinphoneTaskList *t, LinphoneCoreIterateHook hook, void *hook_data); +void linphone_task_list_remove(LinphoneTaskList *t, LinphoneCoreIterateHook hook, void *hook_data); +void linphone_task_list_run(LinphoneTaskList *t); +void linphone_task_list_free(LinphoneTaskList *t); + struct _LinphoneCore { MSList* vtable_refs; @@ -804,7 +816,7 @@ struct _LinphoneCore void *preview_window_id; time_t netup_time; /*time when network went reachable */ struct _EcCalibrator *ecc; - MSList *hooks; + LinphoneTaskList hooks; /*tasks periodically executed in linphone_core_iterate()*/ LinphoneConference conf_ctx; char* zrtp_secrets_cache; char* user_certificates_path; @@ -888,11 +900,11 @@ int linphone_core_set_as_current_call(LinphoneCore *lc, LinphoneCall *call); int linphone_core_get_calls_nb(const LinphoneCore *lc); void linphone_core_set_state(LinphoneCore *lc, LinphoneGlobalState gstate, const char *message); -void linphone_call_make_local_media_description(LinphoneCore *lc, LinphoneCall *call); +void linphone_call_make_local_media_description(LinphoneCall *call); void linphone_call_make_local_media_description_with_params(LinphoneCore *lc, LinphoneCall *call, LinphoneCallParams *params); void linphone_call_increment_local_media_description(LinphoneCall *call); void linphone_call_fill_media_multicast_addr(LinphoneCall *call); -void linphone_core_update_streams(LinphoneCore *lc, LinphoneCall *call, SalMediaDescription *new_md); +void linphone_core_update_streams(LinphoneCore *lc, LinphoneCall *call, SalMediaDescription *new_md, LinphoneCallState target_state); bool_t linphone_core_is_payload_type_usable_for_bandwidth(LinphoneCore *lc, const PayloadType *pt, int bandwidth_limit); @@ -924,6 +936,8 @@ LinphoneEcCalibratorStatus ec_calibrator_get_status(EcCalibrator *ecc); void ec_calibrator_destroy(EcCalibrator *ecc); void linphone_call_background_tasks(LinphoneCall *call, bool_t one_second_elapsed); +void linphone_call_set_broken(LinphoneCall *call); +void linphone_call_repair_if_broken(LinphoneCall *call); void linphone_core_preempt_sound_resources(LinphoneCore *lc); int _linphone_core_pause_call(LinphoneCore *lc, LinphoneCall *call); diff --git a/coreapi/proxy.c b/coreapi/proxy.c index 40ef6a0b0..4c67905e1 100644 --- a/coreapi/proxy.c +++ b/coreapi/proxy.c @@ -848,101 +848,21 @@ static char *flatten_number(const char *number){ return result; } -static void replace_plus_with_icp(const char *src, char *dest, size_t destlen, const char *icp){ - int i=0; - - if (icp && src[0]=='+' && (destlen>(i=strlen(icp))) ){ - src++; - strncpy(dest, icp, destlen); - } - - for(;(idial_prefix==NULL || tmpproxy->dial_prefix[0]=='\0'){ - strncpy(result,flatten,result_len-1); - } else { - lookup_dial_plan_by_ccc(tmpproxy->dial_prefix,&dialplan); - ms_debug("Using dial plan '%s'",dialplan.country); - /* the number has international prefix or +, so nothing to do*/ - if (flatten[0]=='+'){ - ms_debug("Prefix already present."); - /*eventually replace the plus by the international calling prefix of the country*/ - if (tmpproxy->dial_escape_plus) { - replace_plus_with_icp(flatten,result,result_len,dialplan.icp); - }else{ - strncpy(result, flatten, result_len-1); - } - }else if (strstr(flatten,dialplan.icp)==flatten){ - if (tmpproxy->dial_escape_plus){ - strncpy(result, flatten, result_len-1); - }else{ - replace_icp_with_plus(flatten, result, result_len, dialplan.icp); - } - }else{ - int numlen; - int i=0; - int skip; - numlen=strlen(flatten); - /*keep at most national number significant digits */ - skip=numlen-dialplan.nnl; - if (skip<0) skip=0; - /*first prepend international calling prefix or +*/ - if (tmpproxy->dial_escape_plus){ - strncpy(result,dialplan.icp,result_len); - i+=strlen(dialplan.icp); - }else{ - strncpy(result,"+",result_len); - i+=1; - } - /*add prefix*/ - if (result_len-i>strlen(dialplan.ccc)){ - strcpy(result+i,dialplan.ccc); - i+=strlen(dialplan.ccc); - } - /*add user digits */ - strncpy(result+i,flatten+skip,result_len-i-1); - } - } - ms_free(flatten); - ret = TRUE; - } else { - strncpy(result,username,result_len-1); - ret = FALSE; - } - if (proxy==NULL) ms_free(tmpproxy); - return ret; + memcpy(result, output, MIN(strlen(output) + 1, result_len)); + ms_free(normalized_phone); + return output != username; } char* linphone_proxy_config_normalize_phone_number(LinphoneProxyConfig *proxy, const char *username) { @@ -961,9 +881,9 @@ char* linphone_proxy_config_normalize_phone_number(LinphoneProxyConfig *proxy, c if (flatten[0]=='+'||strstr(flatten,dialplan.icp)==flatten){ ms_debug("Prefix already present."); if (tmpproxy->dial_escape_plus) { - result = replace_plus_with_icp_new(flatten,dialplan.icp); + result = replace_plus_with_icp(flatten,dialplan.icp); } else { - result = replace_icp_with_plus_new(flatten,dialplan.icp); + result = replace_icp_with_plus(flatten,dialplan.icp); } }else{ /*0. keep at most national number significant digits */ @@ -1003,7 +923,7 @@ LinphoneAddress* linphone_proxy_config_normalize_sip_uri(LinphoneProxyConfig *pr char *tmpurl; LinphoneAddress *uri; - if (*username=='\0') return NULL; + if (!username || *username=='\0') return NULL; if (is_enum(username,&enum_domain)){ if (proxy) { @@ -1036,16 +956,16 @@ LinphoneAddress* linphone_proxy_config_normalize_sip_uri(LinphoneProxyConfig *pr } if (proxy!=NULL){ - /* append the proxy domain suffix */ + /* append the proxy domain suffix but remove any custom parameters/headers */ LinphoneAddress *uri=linphone_address_clone(linphone_proxy_config_get_identity_address(proxy)); + linphone_address_clean(uri); if (uri==NULL){ return NULL; } else { - char normalized_username[128]; + char* normalized_phone = linphone_proxy_config_normalize_phone_number(proxy,username); linphone_address_set_display_name(uri,NULL); - linphone_proxy_config_normalize_number(proxy,username,normalized_username, - sizeof(normalized_username)); - linphone_address_set_username(uri,normalized_username); + linphone_address_set_username(uri,normalized_phone ? normalized_phone : username); + ms_free(normalized_phone); return _linphone_core_destroy_addr_if_not_sip(uri); } } else { @@ -1511,8 +1431,13 @@ void linphone_proxy_config_set_state(LinphoneProxyConfig *cfg, LinphoneRegistrat if (update_friends){ linphone_core_update_friends_subscriptions(lc,cfg,TRUE); } - if (lc) + if (lc){ linphone_core_notify_registration_state_changed(lc,cfg,state,message); + if (lc->calls && lp_config_get_int(lc->config, "sip", "repair_broken_calls", 1)){ + /*if we are registered and there were broken calls due to a past network disconnection, attempt to repair them*/ + ms_list_for_each(lc->calls, (MSIterateFunc) linphone_call_repair_if_broken); + } + } } else { /*state already reported*/ } diff --git a/coreapi/sal.c b/coreapi/sal.c index c9f3facf7..efbc2ea0d 100644 --- a/coreapi/sal.c +++ b/coreapi/sal.c @@ -160,26 +160,27 @@ static bool_t is_null_address(const char *addr){ /*check for the presence of at least one stream with requested direction */ static bool_t has_dir(const SalMediaDescription *md, SalStreamDir stream_dir){ int i; - + /* we are looking for at least one stream with requested direction, inactive streams are ignored*/ for(i=0;inb_streams;++i){ const SalStreamDescription *ss=&md->streams[i]; if (!sal_stream_description_active(ss)) continue; - if (ss->dir==stream_dir) return TRUE; - /*compatibility check for phones that only used the null address and no attributes */ - if (ss->dir==SalStreamSendRecv && stream_dir==SalStreamSendOnly && (is_null_address(md->addr) || is_null_address(ss->rtp_addr))) + if (ss->dir==stream_dir) { return TRUE; + } + /*compatibility check for phones that only used the null address and no attributes */ + if (ss->dir==SalStreamSendRecv && stream_dir==SalStreamSendOnly && (is_null_address(md->addr) || is_null_address(ss->rtp_addr))){ + return TRUE; + } } return FALSE; } bool_t sal_media_description_has_dir(const SalMediaDescription *md, SalStreamDir stream_dir){ if (stream_dir==SalStreamRecvOnly){ - if (has_dir(md,SalStreamSendOnly) || has_dir(md,SalStreamSendRecv)) return FALSE; - else return TRUE; + return has_dir(md, SalStreamRecvOnly) && !(has_dir(md,SalStreamSendOnly) || has_dir(md,SalStreamSendRecv)); }else if (stream_dir==SalStreamSendOnly){ - if (has_dir(md,SalStreamRecvOnly) || has_dir(md,SalStreamSendRecv)) return FALSE; - else return TRUE; + return has_dir(md, SalStreamSendOnly) && !(has_dir(md,SalStreamRecvOnly) || has_dir(md,SalStreamSendRecv)); }else if (stream_dir==SalStreamSendRecv){ return has_dir(md,SalStreamSendRecv); }else{ diff --git a/coreapi/test_lsd.c b/coreapi/test_lsd.c deleted file mode 100644 index a4e78ea11..000000000 --- a/coreapi/test_lsd.c +++ /dev/null @@ -1,104 +0,0 @@ -/* -linphone -Copyright (C) 2010 Simon MORLAT (simon.morlat@linphone.org) - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - -/* Linphone Sound Daemon: is a lightweight utility to play sounds to speaker during a conversation. - This is useful for embedded platforms, where sound apis are not performant enough to allow - simultaneous sound access. - - This file is a test program that plays several sound files and places a call simultatenously. -*/ - -#include "linphonecore_utils.h" - - -static void play_finished(LsdPlayer *p){ - const char *filename=(const char *)lsd_player_get_user_pointer (p); - ms_message("Playing of %s is finished.",filename); - if (!lsd_player_loop_enabled (p)){ - linphone_sound_daemon_release_player (lsd_player_get_daemon(p),p); - } -} - -static void wait_a_bit(LinphoneCore *lc, int seconds){ - time_t orig=ms_time(NULL); - while(ms_time(NULL)-orig1){ - linphone_core_invite(lc,argv[1]); - wait_a_bit(lc,10); - linphone_core_terminate_call(lc,NULL); - } - linphone_core_use_sound_daemon(lc,NULL); - linphone_sound_daemon_destroy(lsd); - linphone_core_destroy(lc); - - return 0; -} diff --git a/coreapi/test_numbers.c b/coreapi/test_numbers.c deleted file mode 100644 index da1f22b6f..000000000 --- a/coreapi/test_numbers.c +++ /dev/null @@ -1,48 +0,0 @@ -/* -linphone -Copyright (C) 2012 Belledonne Communications SARL -Author: Simon MORLAT (simon.morlat@linphone.org) - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - - -#include "linphonecore.h" -#include "linphonecore_utils.h" - -int main(int argc , char *argv[]){ - LinphoneProxyConfig *cfg; - char normalized_number[32]; - if (argc<2){ - fprintf(stderr,"Usage:\n%s [] [--escape-plus]\nReturns normalized number.", argv[0]); - return -1; - } - linphone_core_enable_logs(stderr); - cfg=linphone_proxy_config_new(); - if (argc>2) - linphone_proxy_config_set_dial_prefix(cfg,argv[2]); - if (argc>3 && strcmp(argv[3],"--escape-plus")==0) - linphone_proxy_config_set_dial_escape_plus(cfg,TRUE); - linphone_proxy_config_normalize_number(cfg,argv[1],normalized_number,sizeof(normalized_number)); - - printf("Normalized number is %s\n",normalized_number); - /*check extracted ccc*/ - if (linphone_dial_plan_lookup_ccc_from_e164(normalized_number) != atoi(linphone_proxy_config_get_dial_prefix(cfg))) { - printf("Error ccc [%i] not correctly parsed\n",linphone_dial_plan_lookup_ccc_from_e164(normalized_number)); - } else { - printf("Extracted ccc is [%i] \n",linphone_dial_plan_lookup_ccc_from_e164(normalized_number)); - } - return 0; -} diff --git a/gtk/CMakeLists.txt b/gtk/CMakeLists.txt index 9808e441a..5bd36140d 100644 --- a/gtk/CMakeLists.txt +++ b/gtk/CMakeLists.txt @@ -97,6 +97,10 @@ if(ENABLE_NOTIFY) target_link_libraries(linphone-gtk ${NOTIFY_LIBRARIES}) endif() +if (HAVE_LIBUDEV_H) + target_link_libraries(linphone-gtk udev) +endif() + install(TARGETS linphone-gtk RUNTIME DESTINATION bin LIBRARY DESTINATION lib diff --git a/gtk/calllogs.c b/gtk/calllogs.c index 0aff0f510..a702acbf0 100644 --- a/gtk/calllogs.c +++ b/gtk/calllogs.c @@ -280,8 +280,7 @@ void linphone_gtk_call_log_update(GtkWidget *w){ LinphoneFriend *lf=NULL; int duration=linphone_call_log_get_duration(cl); time_t start_date_time=linphone_call_log_get_start_date(cl); - GdkPixbuf *incoming; - GdkPixbuf *outgoing; + GdkPixbuf *pbuf; #if GLIB_CHECK_VERSION(2,26,0) if (start_date_time){ @@ -346,14 +345,13 @@ void linphone_gtk_call_log_update(GtkWidget *w){ g_free(seconds); if (start_date) g_free(start_date); gtk_tree_store_append (store,&iter,NULL); - - incoming = create_pixbuf("call_status_incoming.png"); - outgoing = create_pixbuf("call_status_outgoing.png"); + pbuf = linphone_call_log_get_dir(cl)==LinphoneCallOutgoing ? create_pixbuf("call_status_outgoing.png") : create_pixbuf("call_status_incoming.png"); gtk_tree_store_set (store,&iter, - 0, linphone_call_log_get_dir(cl)==LinphoneCallOutgoing ? outgoing : incoming, + 0, pbuf, 1, headtxt,2,cl,-1); gtk_tree_store_append (store,&iter2,&iter); gtk_tree_store_set (store,&iter2,1,logtxt,-1); + g_object_unref(pbuf); ms_free(addr); g_free(logtxt); g_free(headtxt); diff --git a/gtk/chat.c b/gtk/chat.c index 5a4331bf4..da6b44f99 100644 --- a/gtk/chat.c +++ b/gtk/chat.c @@ -31,13 +31,11 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define CONFIG_FILE ".linphone-history.db" -const char *linphone_gtk_message_storage_get_db_file(const char *filename){ +char *linphone_gtk_message_storage_get_db_file(const char *filename){ const int path_max=1024; - static char *db_file=NULL; + char *db_file=NULL; - if (db_file) return db_file; - - db_file=(char *)malloc(path_max*sizeof(char)); + db_file=(char *)g_malloc(path_max*sizeof(char)); if (filename==NULL) filename=CONFIG_FILE; /*try accessing a local file first if exists*/ if (access(CONFIG_FILE,F_OK)==0){ @@ -66,7 +64,6 @@ void linphone_gtk_quit_chatroom(LinphoneChatRoom *cr) { GtkWidget *friendlist=linphone_gtk_get_widget(main_window,"contact_list"); GtkWidget *w=g_object_get_data(G_OBJECT(friendlist),"chatview"); 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),gtk_notebook_page_num(GTK_NOTEBOOK(nb),w)); @@ -78,7 +75,6 @@ void linphone_gtk_quit_chatroom(LinphoneChatRoom *cr) { 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); linphone_gtk_friend_list_set_active_address(NULL); gtk_widget_destroy(w); @@ -192,7 +188,7 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from, int tnow_year; gtk_text_buffer_get_end_iter(buffer, &iter); - if(g_strcmp0(from_message,from_str)!=0){ + if (g_strcmp0(from_message,from_str)!=0){ gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, get_display_name(from), -1, "from", me ? "me" : NULL, NULL); gtk_text_buffer_insert_with_tags_by_name(buffer,&iter, " : ", -1, @@ -200,8 +196,8 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from, gtk_text_buffer_insert(buffer,&iter,"\n",-1); g_free(from_message); g_object_set_data(G_OBJECT(w),"from_message",g_strdup(from_str)); - ms_free(from_str); } + ms_free(from_str); link_start_mark = gtk_text_buffer_create_mark(buffer, NULL, &iter, TRUE); gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, linphone_chat_message_get_text(msg), -1, @@ -217,7 +213,7 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from, 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, "status", me ? "me" : NULL, NULL); - g_object_set_data(G_OBJECT(w),"table",table); + //g_object_set_data(G_OBJECT(w),"table",table); break; case LinphoneChatMessageStateDelivered: tnow=time(NULL); @@ -295,7 +291,7 @@ void update_chat_state_message(LinphoneChatMessageState state,LinphoneChatMessag } gtk_text_buffer_insert_with_tags_by_name(b,&iter,result,-1, "status", "me", NULL); - g_object_set_data(G_OBJECT(page),"table",table); + //g_object_set_data(G_OBJECT(page),"table",table); } } @@ -350,7 +346,7 @@ void linphone_gtk_free_list(MSList *messages){ } void display_history_message(GtkWidget *chat_view,MSList *messages,const LinphoneAddress *with){ - if(messages != NULL){ + if (messages != NULL){ MSList *it; char *from_str; char *with_str; @@ -363,14 +359,15 @@ void display_history_message(GtkWidget *chat_view,MSList *messages,const Linphon linphone_chat_message_get_from(msg), strcmp(from_str,with_str)==0? FALSE : TRUE, linphone_chat_message_get_chat_room(msg),msg,TRUE); + ms_free(from_str); + ms_free(with_str); } 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); } } @@ -411,12 +408,7 @@ static gboolean link_event_handler(GtkTextTag *tag, GObject *text_view,GdkEvent gtk_text_iter_forward_to_tag_toggle(&uri_end, tag); uri = gtk_text_iter_get_slice(&uri_begin, &uri_end); if(((GdkEventButton *)event)->button == 1) { - GError *error = NULL; - gtk_show_uri(NULL, uri, gdk_event_get_time(event), &error); - if(error) { - g_warning("Could not open %s from chat: %s", uri, error->message); - g_error_free(error); - } + linphone_gtk_open_browser(uri); } else if(((GdkEventButton *)event)->button == 3) { GtkMenu *menu = GTK_MENU(g_object_get_data(text_view, "link_ctx_menu")); g_object_set_data_full(G_OBJECT(menu), "uri", g_strdup(uri), g_free); @@ -504,7 +496,7 @@ GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddres 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),"from_message",NULL); - g_object_set_data(G_OBJECT(chat_view),"table",table); + g_object_set_data_full(G_OBJECT(chat_view),"table",table,(GDestroyNotify)g_hash_table_destroy); gtk_text_buffer_create_tag( gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), @@ -560,9 +552,7 @@ GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddres } LinphoneChatRoom * linphone_gtk_create_chatroom(const LinphoneAddress *with){ - char *tmp=linphone_address_as_string(with); - LinphoneChatRoom *cr=linphone_core_get_or_create_chat_room(linphone_gtk_get_core(),tmp); - ms_free(tmp); + LinphoneChatRoom *cr=linphone_core_get_chat_room(linphone_gtk_get_core(), with); return cr; } diff --git a/gtk/friendlist.c b/gtk/friendlist.c index 8ac13b23a..8017ca85e 100644 --- a/gtk/friendlist.c +++ b/gtk/friendlist.c @@ -216,9 +216,7 @@ static gboolean grab_focus(GtkWidget *w){ void linphone_gtk_friend_list_set_active_address(const LinphoneAddress *addr){ GtkWidget *w=linphone_gtk_get_main_window(); GtkWidget *friendlist=linphone_gtk_get_widget(w,"contact_list"); - LinphoneAddress *old_addr=(LinphoneAddress*)g_object_get_data(G_OBJECT(friendlist),"from"); - g_object_set_data(G_OBJECT(friendlist),"from", addr ? linphone_address_clone(addr) : NULL); - if (old_addr) linphone_address_unref(old_addr); + g_object_set_data_full(G_OBJECT(friendlist),"from", addr ? linphone_address_clone(addr) : NULL, (GDestroyNotify)linphone_address_destroy); } const LinphoneAddress *linphone_gtk_friend_list_get_active_address(void){ diff --git a/gtk/incall_view.c b/gtk/incall_view.c index f55488fec..4eb8d76ef 100644 --- a/gtk/incall_view.c +++ b/gtk/incall_view.c @@ -29,7 +29,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "linphone.h" - gboolean linphone_gtk_use_in_call_view(){ static int val=-1; if (val==-1) val=linphone_gtk_get_ui_config_int("use_incall_view",1); @@ -360,10 +359,49 @@ void linphone_gtk_enable_video_button(LinphoneCall *call, gboolean sensitive, gb gtk_widget_set_visible(GTK_WIDGET(button),sensitive); } + +typedef enum { VOLUME_CTRL_PLAYBACK, VOLUME_CTRL_RECORD } VolumeControlType; + +static void volume_control_value_changed(GtkScaleButton *button, gdouble value, gpointer user_data) { + LinphoneCall *call = (LinphoneCall *)g_object_get_data(G_OBJECT(button), "call"); + VolumeControlType type = (VolumeControlType)g_object_get_data(G_OBJECT(button), "type"); + + if(type == VOLUME_CTRL_PLAYBACK) { + linphone_call_set_speaker_volume_gain(call, value); + } else if(type == VOLUME_CTRL_RECORD) { + linphone_call_set_microphone_volume_gain(call, value); + } +} + +static void volume_control_button_update_value(GtkWidget *widget) { + LinphoneCall *call = (LinphoneCall *)g_object_get_data(G_OBJECT(widget), "call"); + VolumeControlType type = (VolumeControlType)g_object_get_data(G_OBJECT(widget), "type"); + + if(type == VOLUME_CTRL_PLAYBACK) { + gtk_scale_button_set_value(GTK_SCALE_BUTTON(widget), linphone_call_get_speaker_volume_gain(call)); + } else if(type == VOLUME_CTRL_RECORD) { + gtk_scale_button_set_value(GTK_SCALE_BUTTON(widget), linphone_call_get_microphone_volume_gain(call)); + } +} + +static gboolean volume_control_button_enter_event_handler(GtkWidget *widget) { + volume_control_button_update_value(widget); + return FALSE; +} + +static void volume_control_init(GtkWidget *vol_ctrl, VolumeControlType type, LinphoneCall *call) { + g_object_set_data(G_OBJECT(vol_ctrl), "call", call); + g_object_set_data(G_OBJECT(vol_ctrl), "type", (gpointer)type); + g_signal_connect(G_OBJECT(vol_ctrl), "enter-notify-event", G_CALLBACK(volume_control_button_enter_event_handler), NULL); + g_signal_connect(G_OBJECT(vol_ctrl), "value-changed", G_CALLBACK(volume_control_value_changed), NULL); +} + void linphone_gtk_create_in_call_view(LinphoneCall *call){ GtkWidget *call_view=linphone_gtk_create_widget("in_call_frame"); GtkWidget *main_window=linphone_gtk_get_main_window (); GtkNotebook *notebook=(GtkNotebook *)linphone_gtk_get_widget(main_window,"viewswitch"); + GtkWidget *spk_vol_ctrl = linphone_gtk_get_widget(call_view, "incall_spk_vol_ctrl_button"); + GtkWidget *mic_vol_ctrl = linphone_gtk_get_widget(call_view, "incall_mic_vol_ctrl_button"); static int call_index=1; int idx; GtkWidget *transfer; @@ -407,6 +445,9 @@ void linphone_gtk_create_in_call_view(LinphoneCall *call){ gtk_button_set_image(GTK_BUTTON(button),image); gtk_widget_show(image); g_signal_connect_swapped(G_OBJECT(linphone_gtk_get_widget(call_view,"quality_indicator")),"button-press-event",(GCallback)linphone_gtk_show_call_stats,call); + + volume_control_init(spk_vol_ctrl, VOLUME_CTRL_PLAYBACK, call); + volume_control_init(mic_vol_ctrl, VOLUME_CTRL_RECORD, call); } static void video_button_clicked(GtkWidget *button, LinphoneCall *call){ @@ -510,7 +551,7 @@ void linphone_gtk_in_call_view_set_calling(LinphoneCall *call){ gtk_label_set_markup(GTK_LABEL(status),_("Calling...")); display_peer_name_in_label(callee,linphone_call_get_remote_address (call)); - gtk_label_set_text(GTK_LABEL(duration),_("00::00::00")); + gtk_label_set_text(GTK_LABEL(duration),_("00:00:00")); linphone_gtk_in_call_set_animation_spinner(callview); } @@ -637,55 +678,15 @@ void linphone_gtk_uninit_audio_meter(GtkWidget *w){ } } -typedef enum { VOLUME_CTRL_PLAYBACK, VOLUME_CTRL_RECORD } VolumeControlType; - -static void volume_control_value_changed(GtkScaleButton *button, gdouble value, gpointer user_data) { - LinphoneCall *call = (LinphoneCall *)g_object_get_data(G_OBJECT(button), "call"); - VolumeControlType type = (VolumeControlType)g_object_get_data(G_OBJECT(button), "type"); - - if(type == VOLUME_CTRL_PLAYBACK) { - linphone_call_set_speaker_volume_gain(call, value); - } else if(type == VOLUME_CTRL_RECORD) { - linphone_call_set_microphone_volume_gain(call, value); - } -} - -static void volume_control_button_update_value(GtkWidget *widget) { - LinphoneCall *call = (LinphoneCall *)g_object_get_data(G_OBJECT(widget), "call"); - VolumeControlType type = (VolumeControlType)g_object_get_data(G_OBJECT(widget), "type"); - - if(type == VOLUME_CTRL_PLAYBACK) { - gtk_scale_button_set_value(GTK_SCALE_BUTTON(widget), linphone_call_get_speaker_volume_gain(call)); - } else if(type == VOLUME_CTRL_RECORD) { - gtk_scale_button_set_value(GTK_SCALE_BUTTON(widget), linphone_call_get_microphone_volume_gain(call)); - } -} - -static gboolean volume_control_button_enter_event_handler(GtkWidget *widget) { - volume_control_button_update_value(widget); - return FALSE; -} - -static void volume_control_init(GtkWidget *vol_ctrl, VolumeControlType type, LinphoneCall *call) { - g_object_set_data(G_OBJECT(vol_ctrl), "call", call); - g_object_set_data(G_OBJECT(vol_ctrl), "type", (gpointer)type); - g_signal_connect(G_OBJECT(vol_ctrl), "enter-notify-event", G_CALLBACK(volume_control_button_enter_event_handler), NULL); - g_signal_connect(G_OBJECT(vol_ctrl), "value-changed", G_CALLBACK(volume_control_value_changed), NULL); -} - void linphone_gtk_in_call_view_enable_audio_view(LinphoneCall *call, gboolean val){ GtkWidget *callview=(GtkWidget*)linphone_call_get_user_pointer(call); GtkWidget *audio_view=linphone_gtk_get_widget(callview,"incall_audioview"); GtkWidget *mic_level=linphone_gtk_get_widget(callview,"mic_audiolevel"); GtkWidget *spk_level=linphone_gtk_get_widget(callview,"spk_audiolevel"); - GtkWidget *spk_vol_ctrl = linphone_gtk_get_widget(callview, "incall_spk_vol_ctrl_button"); - GtkWidget *mic_vol_ctrl = linphone_gtk_get_widget(callview, "incall_mic_vol_ctrl_button"); if (val){ linphone_gtk_init_audio_meter(mic_level,(get_volume_t)linphone_call_get_record_volume,call); linphone_gtk_init_audio_meter(spk_level,(get_volume_t)linphone_call_get_play_volume,call); - volume_control_init(spk_vol_ctrl, VOLUME_CTRL_PLAYBACK, call); - volume_control_init(mic_vol_ctrl, VOLUME_CTRL_RECORD, call); gtk_widget_show_all(audio_view); }else{ linphone_gtk_uninit_audio_meter(mic_level); @@ -764,7 +765,7 @@ void linphone_gtk_in_call_view_set_in_call(LinphoneCall *call){ gtk_widget_set_sensitive(linphone_gtk_get_widget(callview,"conference_button"),!in_conf); gtk_widget_set_sensitive(linphone_gtk_get_widget(callview,"transfer_button"),!in_conf); - gtk_label_set_text(GTK_LABEL(duration),_("00::00::00")); + gtk_label_set_text(GTK_LABEL(duration),_("00:00:00")); linphone_gtk_in_call_set_animation_image(callview,GTK_STOCK_MEDIA_PLAY,TRUE); linphone_gtk_call_update_tab_header(call,FALSE); linphone_gtk_enable_mute_button( @@ -794,10 +795,12 @@ void linphone_gtk_in_call_view_set_in_call(LinphoneCall *call){ void linphone_gtk_in_call_view_set_paused(LinphoneCall *call){ GtkWidget *callview=(GtkWidget*)linphone_call_get_user_pointer(call); GtkWidget *status=linphone_gtk_get_widget(callview,"in_call_status"); + GtkWidget *record_bar = linphone_gtk_get_widget(callview, "record_hbox"); gtk_widget_hide(linphone_gtk_get_widget(callview,"answer_decline_panel")); gtk_label_set_markup(GTK_LABEL(status),_("Paused call")); linphone_gtk_in_call_show_video(call); linphone_gtk_in_call_set_animation_image(callview,GTK_STOCK_MEDIA_PAUSE,TRUE); + gtk_widget_show_all(record_bar); } void linphone_gtk_in_call_view_update_duration(LinphoneCall *call){ diff --git a/gtk/linphone.h b/gtk/linphone.h index 303881ab8..eaab709b8 100644 --- a/gtk/linphone.h +++ b/gtk/linphone.h @@ -100,7 +100,7 @@ LINPHONE_PUBLIC GtkWidget *linphone_gtk_create_window(const char *window_name, G LINPHONE_PUBLIC GtkWidget *linphone_gtk_get_widget(GtkWidget *window, const char *name); LINPHONE_PUBLIC GtkWidget *linphone_gtk_create_widget(const char* widget_name); -const char *linphone_gtk_message_storage_get_db_file(const char *filename); +char *linphone_gtk_message_storage_get_db_file(const char *filename); LINPHONE_PUBLIC void linphone_gtk_show_assistant(GtkWidget* parent); LINPHONE_PUBLIC void linphone_gtk_close_assistant(void); @@ -336,3 +336,6 @@ LINPHONE_PUBLIC void linphone_gtk_proxy_cancel(GtkButton *button); LINPHONE_PUBLIC void linphone_gtk_proxy_address_changed(GtkEditable *editable); LINPHONE_PUBLIC void linphone_gtk_proxy_transport_changed(GtkWidget *combo); LINPHONE_PUBLIC void linphone_gtk_tunnel_ok(GtkButton *button); +LINPHONE_PUBLIC void linphone_gtk_notebook_current_page_changed(GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer user_data); +LINPHONE_PUBLIC void linphone_gtk_reload_sound_devices(void); +LINPHONE_PUBLIC void linphone_gtk_reload_video_devices(void); diff --git a/gtk/main.c b/gtk/main.c index 4f0790181..6eaa6e928 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -1466,18 +1466,29 @@ static void linphone_gtk_registration_state_changed(LinphoneCore *lc, LinphonePr update_registration_status(cfg,rs); } -void linphone_gtk_open_browser(const char *url){ - /*in gtk 2.16, gtk_show_uri does not work...*/ -#ifndef WIN32 -#if GTK_CHECK_VERSION(2,18,3) - gtk_show_uri(NULL,url,GDK_CURRENT_TIME,NULL); +void linphone_gtk_open_browser(const char *uri) { +#ifdef __APPLE__ + GError *error = NULL; + char cmd_line[256]; + + g_snprintf(cmd_line, sizeof(cmd_line), "%s %s", "/usr/bin/open", uri); + g_spawn_command_line_async(cmd_line, &error); + if (error) { + g_warning("Could not open %s: %s", uri, error->message); + g_error_free(error); + } +#elif defined(WIN32) + HINSTANCE instance = ShellExecute(NULL, "open", uri, NULL, NULL, SW_SHOWNORMAL); + if ((int)instance <= 32) { + g_warning("Could not open %s (error #%i)", uri, (int)instance); + } #else - char cl[255]; - snprintf(cl,sizeof(cl),"/usr/bin/x-www-browser %s",url); - g_spawn_command_line_async(cl,NULL); -#endif -#else /*WIN32*/ - ShellExecute(0,"open",url,NULL,NULL,1); + GError *error = NULL; + gtk_show_uri(NULL, uri, GDK_CURRENT_TIME, &error); + if (error) { + g_warning("Could not open %s: %s", uri, error->message); + g_error_free(error); + } #endif } @@ -1739,7 +1750,7 @@ static void linphone_gtk_configure_main_window(){ gchar *tmp; GtkWidget *menu_item=linphone_gtk_get_widget(w,"home_item"); tmp=g_strdup(home); - g_object_set_data(G_OBJECT(menu_item),"home",tmp); + g_object_set_data_full(G_OBJECT(menu_item),"home",tmp, (GDestroyNotify)g_free); } { /* @@ -2043,6 +2054,10 @@ static void linphone_gtk_init_ui(void){ linphone_gtk_monitor_usb(); } +static void sigint_handler(int signum){ + gtk_main_quit(); +} + int main(int argc, char *argv[]){ char *config_file; const char *factory_config_file; @@ -2052,7 +2067,7 @@ int main(int argc, char *argv[]){ GdkPixbuf *pbuf; const char *app_name="Linphone"; LpConfig *factory; - const char *db_file; + char *db_file; GError *error=NULL; const char *tmp; @@ -2071,18 +2086,6 @@ int main(int argc, char *argv[]){ /*for pulseaudio:*/ g_setenv("PULSE_PROP_media.role", "phone", TRUE); #endif - - /* Add the data directory of the install prefix to XDG_DATA_DIRS - * This environment variable is used by GTK+ to locate the directory - * which stores icon images. */ - tmp = g_getenv("XDG_DATA_DIRS"); - if(tmp && strlen(tmp) > 0) { - char *xdg_data_dirs = g_strdup_printf("%s:%s", PACKAGE_DATA_DIR, tmp); - g_setenv("XDG_DATA_DIRS", xdg_data_dirs, TRUE); - g_free(xdg_data_dirs); - } else { - g_setenv("XDG_DATA_DIRS", PACKAGE_DATA_DIR, FALSE); - } lang=linphone_gtk_get_lang(config_file); if (lang == NULL || lang[0]=='\0'){ @@ -2203,13 +2206,15 @@ core_start: linphone_core_enable_logs_with_cb(linphone_gtk_log_handler); db_file=linphone_gtk_message_storage_get_db_file(NULL); - linphone_gtk_init_liblinphone(config_file, factory_config_file, db_file); + g_free(db_file); /* do not lower timeouts under 30 ms because it exhibits a bug on gtk+/win32, with cpu running 20% all the time...*/ gtk_timeout_add(30,(GtkFunction)linphone_gtk_iterate,(gpointer)linphone_gtk_get_core()); gtk_timeout_add(30,(GtkFunction)linphone_gtk_check_logs,(gpointer)linphone_gtk_get_core()); + signal(SIGINT, sigint_handler); + gtk_main(); linphone_gtk_quit(); diff --git a/gtk/parameters.ui b/gtk/parameters.ui index 2e783dcfa..32b12b69a 100644 --- a/gtk/parameters.ui +++ b/gtk/parameters.ui @@ -211,6 +211,7 @@ True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + True diff --git a/gtk/propertybox.c b/gtk/propertybox.c index 4b181d9fd..59bdb2b06 100644 --- a/gtk/propertybox.c +++ b/gtk/propertybox.c @@ -557,9 +557,9 @@ static void bitrate_edited(GtkCellRendererText *renderer, gchar *path, gchar *ne GtkListStore *store=(GtkListStore*)userdata; GtkTreeIter iter; float newbitrate=0; - + if (!new_text) return; - + if (sscanf(new_text, "%f", &newbitrate)!=1) return; if (gtk_tree_model_get_iter_from_string(GTK_TREE_MODEL(store),&iter,path)){ @@ -606,10 +606,10 @@ static void linphone_gtk_init_codec_list(GtkTreeView *listview){ "foreground",CODEC_COLOR, NULL); gtk_tree_view_append_column (listview, column); - + g_value_init(&editable, G_TYPE_BOOLEAN); g_value_set_boolean(&editable, TRUE); - + renderer = gtk_cell_renderer_text_new (); g_object_set_property(G_OBJECT(renderer), "editable", &editable); column = gtk_tree_view_column_new_with_attributes ( @@ -620,7 +620,7 @@ static void linphone_gtk_init_codec_list(GtkTreeView *listview){ NULL); g_signal_connect(G_OBJECT(renderer),"edited",G_CALLBACK(bitrate_edited),store); gtk_tree_view_append_column (listview, column); - + renderer = gtk_cell_renderer_text_new (); g_object_set_property(G_OBJECT(renderer), "editable", &editable); column = gtk_tree_view_column_new_with_attributes ( @@ -785,13 +785,13 @@ static void linphone_gtk_codec_move(GtkWidget *button, int dir, int type){ /* 0= if (gtk_tree_selection_count_selected_rows(sel) == 1){ MSList *sel_elem,*before; MSList *codec_list; - + GList *selected_rows = gtk_tree_selection_get_selected_rows(sel, &mod); gtk_tree_model_get_iter(mod, &iter, (GtkTreePath *)g_list_nth_data(selected_rows, 0)); gtk_tree_model_get(mod,&iter,CODEC_PRIVDATA,&pt,-1); g_list_foreach(selected_rows, _g_list_func_destroy_tree_path, NULL); g_list_free(selected_rows); - + if (pt->type==PAYLOAD_VIDEO) codec_list=ms_list_copy(linphone_core_get_video_codecs(lc)); else codec_list=ms_list_copy(linphone_core_get_audio_codecs(lc)); @@ -887,7 +887,7 @@ void linphone_gtk_show_sip_accounts(GtkWidget *w){ GtkTreeSelection *select; const LinphoneProxyConfig *default_pc = linphone_core_get_default_proxy_config(linphone_gtk_get_core()); GtkTreePath *default_pc_path = NULL; - + const MSList *elem; if (!model){ GtkCellRenderer *renderer; @@ -1901,3 +1901,15 @@ void linphone_gtk_auto_answer_delay_changed(GtkSpinButton *spinbutton, gpointer int delay = gtk_spin_button_get_value(spinbutton); linphone_gtk_set_ui_config_int("auto_answer_delay", delay); } + +void linphone_gtk_notebook_current_page_changed (GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer user_data) { +#ifndef HAVE_LIBUDEV_H + if (page_num == 1) { + // Multimedia settings - we reload audio and video devices to detect + // hot-plugged devices + g_message("Opened multimedia page... reloading audio and video devices!"); + linphone_gtk_reload_sound_devices(); + linphone_gtk_reload_video_devices(); + } +#endif +} diff --git a/mediastreamer2 b/mediastreamer2 index 2b6697069..19d44b552 160000 --- a/mediastreamer2 +++ b/mediastreamer2 @@ -1 +1 @@ -Subproject commit 2b6697069c534acf64f12771ba63ec3c1700edd0 +Subproject commit 19d44b552f46272f43a57f3370badd1a66663f58 diff --git a/oRTP b/oRTP index 714ae3311..bb95930a7 160000 --- a/oRTP +++ b/oRTP @@ -1 +1 @@ -Subproject commit 714ae33119397055bc0509ea78a3651a3d1b58d5 +Subproject commit bb95930a77e8a1432e5c31dc170f05ecd15518e5 diff --git a/po/ar.po b/po/ar.po index e1e5e75a5..182dc5b2b 100644 --- a/po/ar.po +++ b/po/ar.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # محيي الدين , 2014 # محيي الدين , 2014-2015 @@ -9,15 +9,17 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" -"PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Arabic (http://www.transifex.com/p/linphone-gtk/language/ar/)\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" +"PO-Revision-Date: 2015-07-21 23:38+0000\n" +"Last-Translator: محيي الدين \n" +"Language-Team: Arabic (http://www.transifex.com/belledonne-communications/" +"linphone-gtk/language/ar/)\n" +"Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ar\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 #, c-format @@ -77,14 +79,16 @@ msgstr[5] "%i ثانية" msgid "" "%s\tQuality: %s\n" "%s\t%s\t" -msgstr "%s\tالجودة : %s\n%s\t%s\t" +msgstr "" +"%s\tالجودة : %s\n" +"%s\t%s\t" #: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s\t%s" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "اجتماع" @@ -97,6 +101,10 @@ msgstr "أنا" msgid "Couldn't find pixmap file: %s" msgstr "أيقونة غير موجودة : %s" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "أظهِرْ بعض معلومات التنقيح خلال التشغيل." @@ -123,9 +131,10 @@ msgstr "العنوان المُراد الاتصال به الآن" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" -msgstr "حدِّد مجلد العمل (الذي سيكون مجلد التثبيت، مثلا c:\\Program Files\\Linphone)" +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" +msgstr "" +"حدِّد مجلد العمل (الذي سيكون مجلد التثبيت، مثلا c:\\Program Files\\Linphone)" #: ../gtk/main.c:145 msgid "Configuration file" @@ -139,88 +148,96 @@ msgstr "ابدأ مرشد الصوت" msgid "Run self test and exit 0 if succeed" msgstr "شغِّل الاختبار الذاتي ثم اخرِجْ 0 إذا نجح" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" +"يود %s إضافتك إلى جهات اتصاله.\n" +"هل تريد إضافته إلى جهات اتصالك والسماح له برؤية حالة حضورك ؟\n" +"إن كان الجواب بالرفض، سوف يجري حظر هذا الشخص مؤقتا." -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" -msgstr "ادخل كلمة السر لـ %s\n في نطاق %s:" +msgstr "" +"ادخل كلمة السر لـ %s\n" +" في نطاق %s:" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "خطأ في المكالمة" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "إنتهت المكالمة" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "مكالمة واردة" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "أجِبْ" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "ارفضْ" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "المكالمة متوقفة" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "بواسطة %s" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "يود %s تشغيل الفيديو. هل تقبل ذلك ؟" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "وصلة إلى الموقع وِبْ" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "لِنْفُونْ" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "الهاتف المرئي عبر الإنترنت" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "%s (افتراضي)" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "التحويل إلى %s" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." -msgstr "لا وجود للوحة الصوت على هذا الحاسوب.\nلن تتمكن من تلقي أو إجراء أي مكالمة." +msgstr "" +"لا وجود للوحة الصوت على هذا الحاسوب.\n" +"لن تتمكن من تلقي أو إجراء أي مكالمة." -#: ../gtk/main.c:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "هاتف SIP المرئي الحر" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "أهلا\n" @@ -298,108 +315,108 @@ msgstr "مفعَّل" msgid "Disabled" msgstr "غير مفعَّل" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "الحساب" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "English" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "Français" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "Svenska" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "Italiano" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "Español" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "Português do Brasil" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "Polski" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "Deutsch" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "Русский" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "日本語" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "Nederlands" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "Magyar" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "Čeština" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "简体中文" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "繁体中文" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "Norsk bokmål" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "עברית" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "Српски" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "العربية" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "Türkçe" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 msgid "" "You need to restart linphone for the new language selection to take effect." msgstr "يجب إعادة تشغيل لِنْفُونْ لكي تٌفعَّل اللغة المختارة." -#: ../gtk/propertybox.c:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "بدون" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "SRTP" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "DTLS" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "ZRTP" @@ -408,7 +425,9 @@ msgstr "ZRTP" msgid "" "A more recent version is availalble from %s.\n" "Would you like to open a browser to download it ?" -msgstr "يوجد إصدار حديث من طرف %s.\nهل تريد فتح المتصفح لتنزيله ؟" +msgstr "" +"يوجد إصدار حديث من طرف %s.\n" +"هل تريد فتح المتصفح لتنزيله ؟" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -445,149 +464,157 @@ msgstr[3] "عُثِر على %i جهات اتصال" msgstr[4] "عُثِر على %i جهة اتصال" msgstr[5] "عُثِر على %i جهة اتصال" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." -msgstr "مرحبا !\nسيمكنك هذا المرشد من إعداد حسابك SIP لإجراء المكالمات." +msgstr "" +"مرحبا !\n" +"سيمكنك هذا المرشد من إعداد حسابك SIP لإجراء المكالمات." -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "إنشاء حساب في linphone.org" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "أتوفر مسبقا على حساب في linphone.org وأريد فقط استخدامه" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "أتوفر مسبقا على حساب sip وأريد فقط استخدامه" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "أريد تحديد عنوان التهيئة عن بعد" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "ادخل معلومات حسابك" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "اسم المستخدم*" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "كلمة السر*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "النطاق*" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "الوكيل" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "أدخِل اسم المستخدم في linphone.org" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "اسم المستخدم :" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "كلمة السر :" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "(*) حقول ضرورية" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "اسم المستخدم* : (*)" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "كلمة السر* : (*)" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "البريد الالكتروني : (*)" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "أكِّد كلمة السر : (*)" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "أحطني علما بتحديثات لِنْفُونْ" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "يُرجى الانتظار، يجري الآن إنشاء حسابك." -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "يُرجى تأكيد حسابك وذلك بالضغط على الوصلة التي أرسلناها لك بالبريد الإلكتروني.\nثم ارجع إلى هنا واضغط على زر التالي." +msgstr "" +"يُرجى تأكيد حسابك وذلك بالضغط على الوصلة التي أرسلناها لك بالبريد " +"الإلكتروني.\n" +"ثم ارجع إلى هنا واضغط على زر التالي." -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "يُرجى الانتظار، يجري الآن فحص التحقق من صحة حسابك." -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." -msgstr "خطأ، لم يتم تأكيد الحساب، سبق استخدام اسم المستخدم أو تعذر الوصول للخادم.\nيُرجى إعادة المحاولة لاحقا." +msgstr "" +"خطأ، لم يتم تأكيد الحساب، سبق استخدام اسم المستخدم أو تعذر الوصول للخادم.\n" +"يُرجى إعادة المحاولة لاحقا." -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "شكرا لك، لقد جرت تهيئة حسابك وهو الآن قابل للاستخدام." -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "مرشد تهيئة حساب SIP" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "مرحبا بك في مرشد إعداد الحساب" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "مرشد تهيئة الحساب" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "تهيئة حسابك (المرحلة 1/1)" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "أدخل اسم المستخدم SIP (المرحلة 1/1)" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "أدخل معلومات حسابك (المرحلة 1/2)" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "إنشاء الحساب في تقدم" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "تأكيد (المرحلة 2/2)" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "التحقق من الحساب في تقدم" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "خطأ" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "في طور الإنهاء" @@ -658,7 +685,9 @@ msgstr "مباشرة أو عبر خادم" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "التنزيل % f\nالرفع : %f (ك.بِتْ/الثانية)" +msgstr "" +"التنزيل % f\n" +"الرفع : %f (ك.بِتْ/الثانية)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -670,115 +699,118 @@ msgstr "%ix%i @ %f fps" msgid "%.3f seconds" msgstr "%.3f ثانية" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "ضع السماعة" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "يجري الاتصال..." -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" -msgstr "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +msgid "00:00:00" +msgstr "00:00:00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "المكالمة الواردة" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "جيدة" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "متوسطة" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "ضعيفة" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "ضعيفة جدا" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "سيِّئة جيدا" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "غير متاحة" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "آمن بواسطة SRTP" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "مُؤمَّن بواسطة DTLS" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "آمن بواسطة ZRTP - [شارة الهوية : %s]" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "أكِّدْ عدم تحقُّقك" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "أكِّدْ تحقُّقَك" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "في اجتماع" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "المكالمة جارية" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "المكالمة متوقفة مؤقتا" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "إنتهت المكالمة." -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "يجري الإرسال" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "انتهى الإرسال." -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "فَشِل الإرسال." -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "استأنِفْ" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "إيقاف مؤقت" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" -msgstr "يسجل في\n%s %s" +msgstr "" +"يسجل في\n" +"%s %s" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "(متوقف)" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "يُرجى إدخال معلومات الولوج ل %s" @@ -825,7 +857,9 @@ msgstr "لم يتمكن من تشغيل التحكم في الصوت للنظا msgid "" "Welcome!\n" "This assistant will help you to configure audio settings for Linphone" -msgstr "مرحبا !\nسيمكنك هذا المرشد من تهيئة إعدادات الصوت من أجل لِنْفُونْ" +msgstr "" +"مرحبا !\n" +"سيمكنك هذا المرشد من تهيئة إعدادات الصوت من أجل لِنْفُونْ" #: ../gtk/audio_assistant.c:335 msgid "Capture device" @@ -875,7 +909,7 @@ msgstr "لنُشغِّل لِنْفُونْ الآن" msgid "Audio Assistant" msgstr "مرشد الصوت" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "مرشد الصوت" @@ -892,165 +926,97 @@ msgid "Record and Play" msgstr "سَجِّل واقرأ " #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "اسم المنادَى" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "أرسِلْ" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "أنْهِ الاجتماع" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "سَجِّل هذه المكالمة في ملف صوتي" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "مرئي" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "اصمُتْ" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "إرسال" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "المكالمة جارية" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "المدة" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "تقييم جودة المكالمة" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "كل المستخدمين" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "المستخدمون المتصلون" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "ADSL" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "قناة الألياف الضوئية" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "افتراضي" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "احذف" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "الخ_يارات" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "عنوان URI للتهيئة" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "شغِّل الفيديو دائما" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "فعِّل رؤية نفسي" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "ال_مساعدة" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "أظهِر نافذة التنقيح" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "موق_ع الوِبْ" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "تحقق من التح_ديثات" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "مرشد الحساب" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "عنوان SIP أو رقم الهاتف :" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "ابدأ مكالمة جديدة" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "جهات الاتصال" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "بحث" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "إضافة جهات الاتصال من الدليل" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "إضافة جهة الاتصال" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "المكالمات السابقة" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "هويتي الحالية :" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "اسم المستخدم" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "كلمة السر" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "الاتصال بالإنترنت :" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "سَجِّل دخولي تلقائيا" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "مُعرِّف المستخدم" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "معلومات الولوج" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "مرحبا !" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "حول لِنْفُونْ" @@ -1077,7 +1043,20 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: Eli Zaretskii \n" -msgstr "fr: Simon Morlat\nen: Simon Morlat and Delphine Perreau\nit: Alberto Zanoni \nde: Jean-Jacques Sarton \nsv: Daniel Nylander \nes: Jesus Benitez \nja: YAMAGUCHI YOSHIYA \npt_BR: Rafael Caesar Lenzi \npl: Robert Nasiadek \ncs: Petr Pisar \nhu: anonymous\nhe: Eli Zaretskii \nar: Muhiyeddine Cherik \n" +msgstr "" +"fr: Simon Morlat\n" +"en: Simon Morlat and Delphine Perreau\n" +"it: Alberto Zanoni \n" +"de: Jean-Jacques Sarton \n" +"sv: Daniel Nylander \n" +"es: Jesus Benitez \n" +"ja: YAMAGUCHI YOSHIYA \n" +"pt_BR: Rafael Caesar Lenzi \n" +"pl: Robert Nasiadek \n" +"cs: Petr Pisar \n" +"hu: anonymous\n" +"he: Eli Zaretskii \n" +"ar: Muhiyeddine Cherik \n" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1111,6 +1090,10 @@ msgstr "لِنْفُونْ - يجب التحقق من الهوية" msgid "Please enter the domain password" msgstr "أدخل كلمة سر النطاق" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "مُعرِّف المستخدم" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "تاريخ المكالمات" @@ -1391,7 +1374,9 @@ msgstr "فعِّل التحكم المتكيف مع الصبيب" msgid "" "Adaptive rate control is a technique to dynamically guess the available " "bandwidth during a call." -msgstr "التحكم المتكيف مع الصبيب هو تقنية لملائمة جودة الصوت والصورة بناءً على سعة قناة الاتصال المتاحة خلال المكالمة." +msgstr "" +"التحكم المتكيف مع الصبيب هو تقنية لملائمة جودة الصوت والصورة بناءً على سعة " +"قناة الاتصال المتاحة خلال المكالمة." #: ../gtk/parameters.ui.h:53 msgid "Bandwidth control" @@ -1653,6 +1638,14 @@ msgstr "المنفذ" msgid "Configure tunnel" msgstr "تهيئة النفق" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "اسم المستخدم" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "كلمة السر" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "تهيئة وكيل http (اختياري)" @@ -1752,9 +1745,16 @@ msgstr "تحديد عنوان URI التهيئة عن بعد" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " -msgstr "يسمح لك مربع الحوار هذا بإعداد عنوان http أو https الذي من خلاله تود جلب التهيئة عند بدء البرنامج.\nأدخل العنوان أسفله. بعد تأكيد الأمر، ستجري إعادة تشغيل لِنْفُونْ تلقائيا من أجل جلب والأخذ بعين الاعتبار الإعدادات الحديثة." +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " +msgstr "" +"يسمح لك مربع الحوار هذا بإعداد عنوان http أو https الذي من خلاله تود جلب " +"التهيئة عند بدء البرنامج.\n" +"أدخل العنوان أسفله. بعد تأكيد الأمر، ستجري إعادة تشغيل لِنْفُونْ تلقائيا من أجل " +"جلب والأخذ بعين الاعتبار الإعدادات الحديثة." #: ../gtk/provisioning-fetch.ui.h:1 msgid "Configuring..." @@ -1764,60 +1764,112 @@ msgstr "تجري التهيئة..." msgid "Please wait while fetching configuration from server..." msgstr "رجاءً انتظر ريثما ينتهي من جلب الإعدادات من الخادم..." +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "أرسِلْ" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "اسم المنادَى" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "أنْهِ الاجتماع" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "سَجِّل هذه المكالمة في ملف صوتي" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "مرئي" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "اصمُتْ" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "إرسال" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "المكالمة جارية" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "المدة" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "تقييم جودة المكالمة" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "الاتصال بالإنترنت :" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "سَجِّل دخولي تلقائيا" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "معلومات الولوج" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "مرحبا !" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "جاهز" -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "تجري التهيئة" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "يجري البحث عن وجهة رقم الهاتف..." - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "لم يتمكن من إيجاد هذا الرقم." - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "يتصل ب" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "لم يتمكن من الاتصال" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "آسف، وصل عدد المكالمات الآنية إلى حده الأقصى" -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "يتصل بك" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr "ويطلب ردا تلقائيا." -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "يجري تعديل إعدادات المكالمة..." -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "متصل." -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "أُلغيت المكالمة" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "لم يتمكن من توقيف المكالمة مؤقتا" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "وضع المكالمة قيد الانتظار..." @@ -1881,23 +1933,39 @@ msgstr "في عطلة" msgid "Unknown status" msgstr "حالة مجهولة" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." -msgstr "إن عنوان SIP الذي أدخلت غير صحيح، يجب أن يبدأ بـ \"sip:‎\" متبوعا باسم المضيف." +msgstr "" +"إن عنوان SIP الذي أدخلت غير صحيح، يجب أن يبدأ بـ \"sip:‎\" متبوعا باسم المضيف." -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" -msgstr "إن هوية SIP التي أدخلت غير صحيحة.\nيجب أن تكون بهذا النمط sip:username@proxydomain، مثلا sip:alice@example.net" +msgstr "" +"إن هوية SIP التي أدخلت غير صحيحة.\n" +"يجب أن تكون بهذا النمط sip:username@proxydomain، مثلا sip:alice@example.net" -#: ../coreapi/proxy.c:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "يجري البحث عن وجهة رقم الهاتف..." + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "لم يتمكن من إيجاد هذا الرقم." + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "تعذر الولوج بالهوية %s" +#: ../coreapi/proxy.c:1494 +#, fuzzy, c-format +msgid "Refreshing on %s..." +msgstr "يجلب من %s" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "يرن الجرس عن بعد..." @@ -1933,7 +2001,7 @@ msgstr "أجاب عن المكالمة %s." msgid "Incompatible, check codecs or security settings..." msgstr "غير موائم، تحقق من المراميز أو إعدادات الأمان..." -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "إعدادات الوسائط غير موائمة." @@ -1951,59 +2019,59 @@ msgstr "وُقِّفت المكالمة مؤقتا من طرف آخر." msgid "Call is updated by remote." msgstr "حُدِّث الاتصال من البعيد." -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "أُنهيت المكالمة." -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "المستخدم مشغول." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "المستخدم غير متاح مؤقتا." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "لا يريد المستخدم أي إزعاج." -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "تم تجاهل المكالمة." -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "انتهت مهلة الطلب." -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "مُوجَّه" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "فشل الاتصال." -#: ../coreapi/callbacks.c:1007 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Registration on %s successful." msgstr "تم التسجيل في %s بنجاح." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1009 #, c-format msgid "Unregistration on %s done." msgstr "أُلغي التسجيل في %s ." -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "لا إجابة قبل انتهاء المهلة" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "فَشِل التسجيل في %s: %s" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "خدمة غير متاحة، تجري الإعادة" @@ -2013,11 +2081,11 @@ msgstr "خدمة غير متاحة، تجري الإعادة" msgid "Authentication token is %s" msgstr "شارة التحقق من الهوية هي %s" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "عُدِّلت معاملات المكالمات بنجاج." -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." @@ -2052,7 +2120,12 @@ msgid "" "To: %s\n" "Status: %s\n" "Duration: %i mn %i sec\n" -msgstr "%s في %s\nمن : %s\nإلى : %s\nالحالة : %s\nالمدة : %i دقيقة %i ثانية\n" +msgstr "" +"%s في %s\n" +"من : %s\n" +"إلى : %s\n" +"الحالة : %s\n" +"المدة : %i دقيقة %i ثانية\n" #: ../coreapi/call_log.c:221 msgid "Outgoing call" diff --git a/po/cs.po b/po/cs.po index 9feeb6130..3b8d4b0f9 100644 --- a/po/cs.po +++ b/po/cs.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Klara Cihlarova , 2005 # Petr Pisar , 2006-2011,2013 @@ -9,14 +9,16 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" "PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Czech (http://www.transifex.com/p/linphone-gtk/language/cs/)\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Czech (http://www.transifex.com/belledonne-communications/" +"linphone-gtk/language/cs/)\n" +"Language: cs\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 @@ -71,14 +73,16 @@ msgstr[2] "%i sekund" msgid "" "%s\tQuality: %s\n" "%s\t%s\t" -msgstr "%s\tKvalita: %s\n%s\t%s\t" +msgstr "" +"%s\tKvalita: %s\n" +"%s\t%s\t" #: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s\t%s" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "Konference" @@ -91,6 +95,10 @@ msgstr "Já" msgid "Couldn't find pixmap file: %s" msgstr "Nelze najít soubor s obrázkem: %s" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "Za běhu vypisuje některé ladicí informace na standardní výstup." @@ -117,9 +125,11 @@ msgstr "Zavolá právě teď na tuto adresu" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" +msgstr "" +"Zadejte pracovní adresář (měl by být základní instalační adresář, například " "c:\\Program Files\\Linphone)" -msgstr "Zadejte pracovní adresář (měl by být základní instalační adresář, například c:\\Program Files\\Linphone)" #: ../gtk/main.c:145 msgid "Configuration file" @@ -133,88 +143,91 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "Chyba hovoru" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "Hovor ukončen" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Příchozí hovor" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Odpovědět" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Odmítnout" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "Hovor odložen" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "kým: %s" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s navrhuje začít videohovor. Přijímáte?" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "Odkaz na webovou stránku" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "%s (Výchozí)" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "Byly jsme přepojeni na %s" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." -msgstr "Na tomto počítači nebyla objevena žádná zvuková karta.\nNebudete moci vytáčet a přijímat a zvukové hovory." +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:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "Volný SIP videofon" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "" @@ -292,108 +305,108 @@ msgstr "Povoleno" msgid "Disabled" msgstr "Zakázáno" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "Účet" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "angličtina" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "francouzština" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "švédština" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "italština" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "španělština" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "brazilská portugalština" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "polština" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "němčina" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "ruština" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "japonština" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "dánština" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "maďarština" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "čeština" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "čínština" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "tradiční čínština" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "norština" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "hebrejština" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "srbština" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 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:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "Žádné" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "SRTP" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "ZRTP" @@ -402,7 +415,9 @@ msgstr "ZRTP" msgid "" "A more recent version is availalble from %s.\n" "Would you like to open a browser to download it ?" -msgstr "Na %s je dostupná novější verze.\nPřejete si otevřít prohlížeč, abyste si ji mohli stáhnout?" +msgstr "" +"Na %s je dostupná novější verze.\n" +"Přejete si otevřít prohlížeč, abyste si ji mohli stáhnout?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -436,149 +451,156 @@ msgstr[0] "Nalezen %i kontakt" msgstr[1] "Nalezeny %i kontakty" msgstr[2] "Nalezeno %i kontaktů" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "Vytvořit účet na linphone.org" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "Účet na linphone.org již mám a chci jej použít" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "SIP účet již mám a chci jej použít" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "Uživatelské jméno*" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "Heslo*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "Doména*" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "Zadejte uživatelské jméno na linphone.org" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Uživatelské jméno:" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Heslo:" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "(*) Povinné položky" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "Uživatelské jméno: (*)" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "Heslo: (*)" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "E-mail: (*)" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "Potvrďte heslo: (*)" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "Prosím, ověřte svůj účet tak, že kliknete na odkaz, který jsme vám právě zaslali e-mailem.\nPak se sem vraťte a stiskněte tlačítko Další." +msgstr "" +"Prosím, ověřte svůj účet tak, že kliknete na odkaz, který jsme vám právě " +"zaslali e-mailem.\n" +"Pak se sem vraťte a stiskněte tlačítko Další." -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." -msgstr "Došlo k chybě (účet nebyl ověřen, uživatelské jméno již existuje nebo server není dostupný).\nProsím, vraťte se a zkoste to znovu." +msgstr "" +"Došlo k chybě (účet nebyl ověřen, uživatelské jméno již existuje nebo server " +"není dostupný).\n" +"Prosím, vraťte se a zkoste to znovu." -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "Děkujeme vám. Váš účet je nyní nastaven a připraven k použití." -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "Vítejte v průvodci nastavení účtu" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "Průvodce nastavením účtu" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "Nastavit účet (krok 1/1)" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "Zadejte vaše sipové uživatelské jméno (krok 1/1)" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "Zadejte údaje o účtu (krok 1/2)" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "Ověření (krok 2/2)" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "Chyba" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "Ukončuje se" @@ -649,7 +671,9 @@ msgstr "Přímé nebo skrze server" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "příchozí: %f\nodchozí: %f (kb/s)" +msgstr "" +"příchozí: %f\n" +"odchozí: %f (kb/s)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -661,115 +685,119 @@ msgstr "" msgid "%.3f seconds" msgstr "%.3f sekund" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "Zavěsit" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "Volá se…" -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#, fuzzy +msgid "00:00:00" msgstr "00:00:00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "Příchozí hovor" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "dobrá" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "průměrná" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "slabá" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "velmi slabá" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "příliš špatná" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "nedostupná" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "Zabezpečeno pomocí SRTP" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "Zabezpečeno pomocí ZRTP – [ověřovací klíč: %s]" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "Nastavit na neověřeno" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Nastavit na ověřeno" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "Probíhá konference" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "Probíhá hovor" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "Odložený hovor" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "Hovor skončil." -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "Probíhá přepojení" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "Přepojení dokončeno." -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "Přepojení selhalo." -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "Obnovit" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Odložit" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" -msgstr "Nahrává se do\n%s %s" +msgstr "" +"Nahrává se do\n" +"%s %s" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "(Odloženo)" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "Prosím, zadejte své přihlašovací jméno pro %s:" @@ -866,7 +894,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "" @@ -883,165 +911,97 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "Jméno volaného" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "Odeslat" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "Ukončit konferenci" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "Nahrát tento hovor do zvukového souboru" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "Obraz" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "Ztišit" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "Přepojit" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "Telefonuje se" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "Délka" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "Hodnocení kvality hovoru" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "všech uživatelích" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "připojených uživatelích" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "ADSL" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "Fiber Channel" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Výchozí" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "Smazat" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "V_olby" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "Vždy spustit obraz" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "Zobrazovat sám sebe" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "Nápo_věda" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "Zobrazit ladicí okno" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "_Domovská stránka" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "Vyhledat akt_ualizace" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "Průvodce účtem" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "SIP adresa nebo telefonní číslo:" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "Zahájit nový hovor" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "Kontakty" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "Hledat" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "Přidat kontakty z adresáře" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "Přidat kontakt" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "Nedávné hovory" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "Moje současná totožnost:" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "Uživatelské jméno" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "Heslo" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "Připojení k Internetu:" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "Přihlašovat mě automaticky" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "Identifikátor uživatele" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "Informace o přihlášení" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "" @@ -1102,6 +1062,10 @@ msgstr "Linphone – Ověření totožnosti vyžadováno" msgid "Please enter the domain password" msgstr "Prosím, zadejte heslo pro doménu" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "Identifikátor uživatele" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "Historie volání" @@ -1382,7 +1346,9 @@ msgstr "Zapnout přizpůsobující se řízení rychlosti" msgid "" "Adaptive rate control is a technique to dynamically guess the available " "bandwidth during a call." -msgstr "Přizpůsobující se řízení rychlosti je technika dynamického odhadu dostupného pásma během hovoru." +msgstr "" +"Přizpůsobující se řízení rychlosti je technika dynamického odhadu " +"dostupného pásma během hovoru." #: ../gtk/parameters.ui.h:53 msgid "Bandwidth control" @@ -1644,6 +1610,14 @@ msgstr "Port" msgid "Configure tunnel" msgstr "Nastavit tunel" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "Uživatelské jméno" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "Heslo" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "Nastavit HTTP proxy (volitelné)" @@ -1743,8 +1717,11 @@ msgstr "" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " msgstr "" #: ../gtk/provisioning-fetch.ui.h:1 @@ -1755,60 +1732,112 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "Odeslat" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "Jméno volaného" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "Ukončit konferenci" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "Nahrát tento hovor do zvukového souboru" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "Obraz" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "Ztišit" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "Přepojit" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "Telefonuje se" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "Délka" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "Hodnocení kvality hovoru" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "Připojení k Internetu:" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "Přihlašovat mě automaticky" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "Informace o přihlášení" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "Připraven." -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "Vyhledává se umístění čísla…" - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "Toto číslo nelze vyhledat." - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "Navazuje se spojení" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "Nelze volat" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Je nám líto, ale byl dosažen maximální počet současných hovorů." -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "vás volá" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr " a požaduje automatickou zvednutí." -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "Upravují se parametry hovoru…" -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "Připojeno." -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "Hovor přerušen" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "Hovor nebylo možné odložit" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "Současný hovor se odkládá…" @@ -1872,23 +1901,40 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." -msgstr "Adresa SIP proxy, kterou jste zadali, není platná. Musí začínat na „sip:“ a pak musí následovat jméno stroje." +msgstr "" +"Adresa SIP proxy, kterou jste zadali, není platná. Musí začínat na „sip:“ a " +"pak musí následovat jméno stroje." -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" -msgstr "SIP identita, kterou jste zadali, není platná.\nMěla by mít tvar sip:uživatel@proxydoména, například sip:alice@example.net" +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:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "Vyhledává se umístění čísla…" + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "Toto číslo nelze vyhledat." + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "Nelze se přihlásit jako %s" +#: ../coreapi/proxy.c:1494 +#, c-format +msgid "Refreshing on %s..." +msgstr "" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "Vyzvání na druhé straně." @@ -1924,7 +1970,7 @@ msgstr "Hovor přijat kým: %s." msgid "Incompatible, check codecs or security settings..." msgstr "Není slučitelné. Zkontrolujte nastavení kodeků a zabezpečení…" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "Neslučitelné parametry médií." @@ -1942,59 +1988,59 @@ msgstr "Byli jsme odloženi protistranou." msgid "Call is updated by remote." msgstr "Hovor byl aktualizován protistranou." -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "Hovor ukončen." -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "Uživatel je zaneprázdněn." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "Uživatel je dočasně nedostupný." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "Uživatel si nepřeje být rušen." -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "Volání odmítnuto." -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "Přesměrováno" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "Volání se nezdařilo." -#: ../coreapi/callbacks.c:1007 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Registration on %s successful." msgstr "Registrace na %s byla úspěšná." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1009 #, c-format msgid "Unregistration on %s done." msgstr "Odregistrování z %s hotovo." -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "odpověď nedorazila včas" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "Registrace na %s selhala: %s" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "" @@ -2004,11 +2050,11 @@ msgstr "" msgid "Authentication token is %s" msgstr "Klíč k ověření totožnosti je %s" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/de.po b/po/de.po index 738db0d49..9fd715fe7 100644 --- a/po/de.po +++ b/po/de.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # andreas, 2014 # andreas, 2014 @@ -12,14 +12,16 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" "PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: German (http://www.transifex.com/p/linphone-gtk/language/de/)\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: German (http://www.transifex.com/belledonne-communications/" +"linphone-gtk/language/de/)\n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 @@ -72,14 +74,16 @@ msgstr[1] "%i Sekunden" msgid "" "%s\tQuality: %s\n" "%s\t%s\t" -msgstr "%s\tQualität: %s\n%s\t%s\t" +msgstr "" +"%s\tQualität: %s\n" +"%s\t%s\t" #: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s\t%s" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "Konferenz" @@ -92,6 +96,10 @@ msgstr "Eigenes Telefon" msgid "Couldn't find pixmap file: %s" msgstr "Pixmapdatei %s kann nicht gefunden werden." +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "Ausgabe von Debug-Informationen auf stdout während der Laufzeit" @@ -110,7 +118,9 @@ msgstr "Linphone mit ausgeschaltetem Video starten." #: ../gtk/main.c:142 msgid "Start only in the system tray, do not show the main interface." -msgstr "Nur im Systemabschnitt der Kontrollleiste starten, aber das Hauptfenster nicht zeigen." +msgstr "" +"Nur im Systemabschnitt der Kontrollleiste starten, aber das Hauptfenster " +"nicht zeigen." #: ../gtk/main.c:143 msgid "address to call right now" @@ -118,9 +128,11 @@ msgstr "Im Moment anzurufende Adresse" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" -msgstr "Geben Sie einen Arbeitsordner an (sollte der Installationsordner sein, z. B. C:\\Programme\\Linphone)" +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" +msgstr "" +"Geben Sie einen Arbeitsordner an (sollte der Installationsordner sein, z. B. " +"C:\\Programme\\Linphone)" #: ../gtk/main.c:145 msgid "Configuration file" @@ -134,88 +146,93 @@ msgstr "Starte den Audio-Assistent" msgid "Run self test and exit 0 if succeed" msgstr "Selbsttest ausführen und mit 0 beenden, wenn erfolgreich" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" -msgstr "Bitte geben Sie Ihr Passwort für den Benutzernamen %s\n für Bereich %s ein:" +msgstr "" +"Bitte geben Sie Ihr Passwort für den Benutzernamen %s\n" +" für Bereich %s ein:" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "Anruf fehlgeschlagen" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "Anruf beendet" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Eingehender Anruf" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Annehmen" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Abweisen" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "Anruf wird gehalten" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "von %s" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, 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:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "Website-Verknüpfung" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "Ein Internet-Video-Telefon" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "%s (Vorgabe)" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "Vermittlung nach %s" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." -msgstr "Auf diesem Rechner können keine Soundkarten gefunden werden.\nSie können keine Audio-Anrufe tätigen oder entgegennehmen." +msgstr "" +"Auf diesem Rechner können keine Soundkarten gefunden werden.\n" +"Sie können keine Audio-Anrufe tätigen oder entgegennehmen." -#: ../gtk/main.c:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "Ein freies SIP-Video-Telefon" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "Hallo\n" @@ -293,108 +310,110 @@ msgstr "Freigegeben" msgid "Disabled" msgstr "Gesperrt" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "Konto" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "Englisch" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "Französisch" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "Schwedisch" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "Italienisch" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "Spanisch" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "Brasilianisches Portugiesisch" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "Polnisch" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "Deutsch" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "Russisch" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "Japanisch" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "Niederländisch" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "Ungarisch" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "Tschechisch" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "Chinesisch" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "Traditionelles Chinesisch" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "Norwegisch" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "Hebräisch" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "Serbisch" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "Arabisch" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "Türkisch" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 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." +msgstr "" +"Linphone muss neu gestartet werden, damit die neue Spracheinstellung wirksam " +"wird." -#: ../gtk/propertybox.c:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "Keinen" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "SRTP" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "DTLS" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "ZRTP" @@ -403,7 +422,9 @@ msgstr "ZRTP" msgid "" "A more recent version is availalble from %s.\n" "Would you like to open a browser to download it ?" -msgstr "Eine neuere Version ist von %s verfügbar.\nMöchten Sie einen Browser zum Herunterladen öffnen?" +msgstr "" +"Eine neuere Version ist von %s verfügbar.\n" +"Möchten Sie einen Browser zum Herunterladen öffnen?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -436,149 +457,160 @@ msgid_plural "Found %i contacts" msgstr[0] "%i Kontakt gefunden" msgstr[1] "%i Kontakte gefunden" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." -msgstr "Willkommen!\nDieser Assistent hilft Ihnen dabei ein SIP-Konto einzurichten." +msgstr "" +"Willkommen!\n" +"Dieser Assistent hilft Ihnen dabei ein SIP-Konto einzurichten." -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "Ein Konto bei linphone.org erstellen." -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" -msgstr "Ich habe bereits ein Konto bei linphone.org und möchte es jetzt benutzen." +msgstr "" +"Ich habe bereits ein Konto bei linphone.org und möchte es jetzt benutzen." -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "Ich habe bereits ein SIP-Konto und möchte es jetzt benutzen." -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "Ich möchte eine URI zur Fernkonfiguration angeben" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "Geben Sie Ihre Zugangsdaten ein" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "Benutzername*" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "Passwort*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "Domäne*" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "Geben Sie Ihren Benutzernamen bei linphone.org ein." -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Benutzername:" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Passwort:" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "(*) erforderliche Felder" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "Benutzername: (*)" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "Passwort: (*)" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "E-Mail: (*)" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "Bestätigen Sie Ihr Passwort: (*)" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "Halte mich über linphone Aktualisierungen auf dem laufenden" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "Ihr Konto wird erstellt, bitte warten." -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "Bitte bestätigen Sie Ihr Konto, indem Sie auf die Verknüpfung klicken, die wir Ihnen soeben per E-Mail geschickt haben.\nDanach gehen Sie hierher zurück und drücken auf „Vor“." +msgstr "" +"Bitte bestätigen Sie Ihr Konto, indem Sie auf die Verknüpfung klicken, die " +"wir Ihnen soeben per E-Mail geschickt haben.\n" +"Danach gehen Sie hierher zurück und drücken auf „Vor“." -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "Es wird überprüft, ob Ihr Konto gültig ist, bitte warten." -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." -msgstr "Fehler, Konto kann nicht bestätigt werden. Der Benutzername wird bereits\nverwendet oder der Server ist unerreichbar.\nBitte gehen Sie zurück und versuchen Sie es noch einmal." +msgstr "" +"Fehler, Konto kann nicht bestätigt werden. Der Benutzername wird bereits\n" +"verwendet oder der Server ist unerreichbar.\n" +"Bitte gehen Sie zurück und versuchen Sie es noch einmal." -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." -msgstr "Danke. Ihr Konto ist nun fertig eingerichtet und kann verwendet werden." +msgstr "" +"Danke. Ihr Konto ist nun fertig eingerichtet und kann verwendet werden." -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "SIP-Konto-Einrichtungsassistent" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "Willkommen zum Konto-Einrichtungsassistenten" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "Konto-Einrichtungsassistent" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "Konto einrichten (Schritt 1/1)" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "Geben Sie Ihren SIP-Benutzernamen ein (Schritt 1/1)" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "Geben Sie Ihre Zugangsdaten ein (Schritt 1/2)" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "Kontoerstellung läuft" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "Bestätigung (Schritt 2/2)" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "Kontogültigkeitsprüfung läuft" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "Fehler" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "Fertigstellen" @@ -649,7 +681,9 @@ msgstr "Direkt oder über Server" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "Herunterladen: %f\nHochladen: %f (kbit/s)" +msgstr "" +"Herunterladen: %f\n" +"Hochladen: %f (kbit/s)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -661,115 +695,118 @@ msgstr "%ix%i @ %f bps" msgid "%.3f seconds" msgstr "%.3f Sekunden" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "Auflegen" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "Verbindungsaufbau..." -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" -msgstr "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +msgid "00:00:00" +msgstr "00:00:00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "Eingehender Anruf" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "gut" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "durchschnittlich" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "schlecht" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "sehr schlecht" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "zu schlecht" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "nicht verfügbar" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "Gesichert durch SRTP" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "Gesichert durch DTLS" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "Gesichert durch ZRTP - [Auth.-Token: %s]" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "Auf „Ungeprüft“ setzen" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Auf „Geprüft“ setzen" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "In Konferenz" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "Im Gespräch" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "Gehaltener Anruf" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "Anruf beendet." -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "Vermittlung läuft" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "Vermittlung abgeschlossen." -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "Vermittlung fehlgeschlagen." -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "Fortsetzen" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Halten" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" -msgstr "Recording into\n%s %s" +msgstr "" +"Recording into\n" +"%s %s" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "(pausiert)" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "Bitte geben Sie die Anmeldeinformationen für %s ein." @@ -816,7 +853,10 @@ msgstr "Systemtonsteuerung kann nicht gestartet werden" msgid "" "Welcome!\n" "This assistant will help you to configure audio settings for Linphone" -msgstr "Willkommen!\nDieser Assistent hilft Ihnen die Audioeinstellungen für Linphone einzurichten." +msgstr "" +"Willkommen!\n" +"Dieser Assistent hilft Ihnen die Audioeinstellungen für Linphone " +"einzurichten." #: ../gtk/audio_assistant.c:335 msgid "Capture device" @@ -866,7 +906,7 @@ msgstr "Linphone jetzt starten" msgid "Audio Assistant" msgstr "Audio-Assistant" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "Audio-Assistant" @@ -883,165 +923,97 @@ msgid "Record and Play" msgstr "aufnehmen und abspielen" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "Name des Angerufenen" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "Senden" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "Konferenz beenden" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "Speichere den Anruf in eine Audio-Datei" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "Video" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "Stumm" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "Vermittlung" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "Im Gespräch" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "Dauer" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "Bewertung der Verbindungsqualität" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "Alle Teilnehmer" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "Angemeldete Teilnehmer" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "ADSL" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "Glasfaserkabel" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Vorgabe" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "Löschen" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "_Optionen" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "Konfigurations URI angeben" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "Video immer starten" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "Selbstansicht ein" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "_Hilfe" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "Debug-Fenster anzeigen" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "_Homepage" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "Auf _Aktualisierungen überprüfen" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "Konto-Einrichtungsassistent" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "SIP-Adresse oder Telefonnummer:" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "Einen neuen Anruf beginnen" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "Kontakte" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "Suchen" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "Kontakte aus einem Verzeichnis hinzufügen" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "Kontakt hinzufügen" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "Letzte Gespräche" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "Aktuelle Identität:" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "Benutzername" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "Passwort" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "Internetverbindung:" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "Automatisch anmelden" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "Benutzer-ID" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "Anmeldeinformationen" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "Willkommen!" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "Über Linphone" @@ -1052,7 +1024,9 @@ msgstr "(C) Belledonne Communications, 2010\n" #: ../gtk/about.ui.h:4 msgid "An internet video phone using the standard SIP (rfc3261) protocol." -msgstr "Ein Internet-Video-Telefon, das das Standard-SIP-Protokoll (RFC3261) verwendet." +msgstr "" +"Ein Internet-Video-Telefon, das das Standard-SIP-Protokoll (RFC3261) " +"verwendet." #: ../gtk/about.ui.h:5 msgid "" @@ -1068,7 +1042,19 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: Eli Zaretskii \n" -msgstr "fr: Simon Morlat\nen: Simon Morlat and Delphine Perreau\nit: Alberto Zanoni \nde: Jean-Jacques Sarton \nsv: Daniel Nylander \nes: Jesus Benitez \nja: YAMAGUCHI YOSHIYA \npt_BR: Rafael Caesar Lenzi \npl: Robert Nasiadek \ncs: Petr Pisar \nhu: anonymous\nhe: Eli Zaretskii \n" +msgstr "" +"fr: Simon Morlat\n" +"en: Simon Morlat and Delphine Perreau\n" +"it: Alberto Zanoni \n" +"de: Jean-Jacques Sarton \n" +"sv: Daniel Nylander \n" +"es: Jesus Benitez \n" +"ja: YAMAGUCHI YOSHIYA \n" +"pt_BR: Rafael Caesar Lenzi \n" +"pl: Robert Nasiadek \n" +"cs: Petr Pisar \n" +"hu: anonymous\n" +"he: Eli Zaretskii \n" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1102,6 +1088,10 @@ msgstr "Linphone - Authentifikation erforderlich" msgid "Please enter the domain password" msgstr "Bitte das Passwort der Domäne eingeben" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "Benutzer-ID" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "Anrufchronik" @@ -1244,7 +1234,9 @@ msgstr "Einstellungen" #: ../gtk/parameters.ui.h:18 msgid "This section defines your SIP address when not using a SIP account" -msgstr "In diesem Bereich legen Sie Ihre SIP-Adresse fest, wenn Sie kein SIP-Konto verwenden." +msgstr "" +"In diesem Bereich legen Sie Ihre SIP-Adresse fest, wenn Sie kein SIP-Konto " +"verwenden." #: ../gtk/parameters.ui.h:19 msgid "Your display name (eg: John Doe):" @@ -1382,7 +1374,9 @@ msgstr "Adaptive Ratenregelung ein" msgid "" "Adaptive rate control is a technique to dynamically guess the available " "bandwidth during a call." -msgstr "Adaptive Ratenregelung ist eine Technik zur dynamischen Abschätzung der zur Verfügung stehenden Bandbreite während eines Anrufs." +msgstr "" +"Adaptive Ratenregelung ist eine Technik zur dynamischen Abschätzung der " +"zur Verfügung stehenden Bandbreite während eines Anrufs." #: ../gtk/parameters.ui.h:53 msgid "Bandwidth control" @@ -1644,6 +1638,14 @@ msgstr "Port" msgid "Configure tunnel" msgstr "Tunnel einrichten" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "Benutzername" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "Passwort" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "Configure http proxy (optional)" @@ -1743,9 +1745,17 @@ msgstr "Eine URI zur FErnkonfiguration angeben" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " -msgstr "Diese Maske erlaubt Ihnen für das Laden der Konfiguration beim Programmstart eine http- oder https-Adresse anzugeben.\nBitte geben Sie unten die Konfigurations-URI ein oder ändern diese. Nach dem Bestätigen mit OK wird Linphone automatisch neustarten, um die neuen Einstellungen zu übernehmen." +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " +msgstr "" +"Diese Maske erlaubt Ihnen für das Laden der Konfiguration beim Programmstart " +"eine http- oder https-Adresse anzugeben.\n" +"Bitte geben Sie unten die Konfigurations-URI ein oder ändern diese. Nach dem " +"Bestätigen mit OK wird Linphone automatisch neustarten, um die neuen " +"Einstellungen zu übernehmen." #: ../gtk/provisioning-fetch.ui.h:1 msgid "Configuring..." @@ -1753,62 +1763,115 @@ msgstr "Einstellen..." #: ../gtk/provisioning-fetch.ui.h:2 msgid "Please wait while fetching configuration from server..." -msgstr "Bitte warten Sie während die Einstellungen vom Server abgerufen werden..." +msgstr "" +"Bitte warten Sie während die Einstellungen vom Server abgerufen werden..." + +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "Senden" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "Name des Angerufenen" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "Konferenz beenden" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "Speichere den Anruf in eine Audio-Datei" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "Video" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "Stumm" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "Vermittlung" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "Im Gespräch" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "Dauer" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "Bewertung der Verbindungsqualität" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "Internetverbindung:" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "Automatisch anmelden" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "Anmeldeinformationen" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "Willkommen!" #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "Bereit" -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "Einstellen" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "Telefonnummernziel wird gesucht..." - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "Diese Nummer kann nicht aufgelöst werden." - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "Verbindungsaufbau" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "Anruf kann nicht getätigt werden." -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Die maximale Anzahl der gleichzeitigen Anrufe ist erreicht." -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "ruft Sie an" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr " und fragt nach automatischer Antwort." -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "Die Anrufparameter werden verändert..." -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "Verbunden." -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "Anruf abgebrochen" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "Anruf kann nicht gehalten werden" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "Aktueller Anruf wird gehalten..." @@ -1872,23 +1935,41 @@ msgstr "Urlaub" msgid "Unknown status" msgstr "Unbekannter Status" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." -msgstr "Die von Ihnen eingegebene SIP-Proxy-Adresse ist ungültig, sie muss mit „sip:“ gefolgt vom Hostnamen beginnen." +msgstr "" +"Die von Ihnen eingegebene SIP-Proxy-Adresse ist ungültig, sie muss mit " +"„sip:“ gefolgt vom Hostnamen beginnen." -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" -msgstr "Die von Ihnen eingegebene SIP-Identität ist ungültig.\nSie sollte wie sip:benutzername@proxydomain aussehen, also z.B. sip:alice@beispiel.net" +msgstr "" +"Die von Ihnen eingegebene SIP-Identität ist ungültig.\n" +"Sie sollte wie sip:benutzername@proxydomain aussehen, also z.B. sip:" +"alice@beispiel.net" -#: ../coreapi/proxy.c:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "Telefonnummernziel wird gesucht..." + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "Diese Nummer kann nicht aufgelöst werden." + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "Anmeldung als %s fehlgeschlagen" +#: ../coreapi/proxy.c:1494 +#, fuzzy, c-format +msgid "Refreshing on %s..." +msgstr "abrufen von %s" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "Klingeln bei der Gegenseite." @@ -1922,9 +2003,10 @@ msgstr "Anruf wird von %s entgegengenommen." #: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." -msgstr "Inkompatibel, überprüfen Sie die Codecs oder die Sicherheitseinstellungen..." +msgstr "" +"Inkompatibel, überprüfen Sie die Codecs oder die Sicherheitseinstellungen..." -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "Inkompatible Medienparameter." @@ -1942,59 +2024,59 @@ msgstr "Anruf wird von der Gegenseite gehalten." msgid "Call is updated by remote." msgstr "Anruf ist von der Gegenseite aktualisiert worden." -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "Anruf beendet." -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "Teilnehmer ist besetzt." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "Teilnehmer zur Zeit nicht verfügbar." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "Teilnehmer möchte nicht gestört werden." -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "Anruf abgewiesen" -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "Zeitüberschreitung bei der Anfrage" -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "Umgeleitet" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "Anruf fehlgeschlagen." -#: ../coreapi/callbacks.c:1007 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Registration on %s successful." msgstr "Registrierung auf %s erfolgreich." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1009 #, c-format msgid "Unregistration on %s done." msgstr "Abmeldung von %s ist erfolgt." -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "Zeitüberschreitung bei der Antwort" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "Registrierung auf %s fehlgeschlagen: %s" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "Service nicht verfügbar, versuche erneut" @@ -2004,11 +2086,11 @@ msgstr "Service nicht verfügbar, versuche erneut" msgid "Authentication token is %s" msgstr "Authentifizierungs-Token ist %s" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "Anrufparameter wurden erfolgreich geändert." -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." @@ -2039,7 +2121,12 @@ msgid "" "To: %s\n" "Status: %s\n" "Duration: %i mn %i sec\n" -msgstr "%s um %s\nVon: %s\nAn: %s\nStatus: %s\nDauer: %i Min. %i Sek.\n" +msgstr "" +"%s um %s\n" +"Von: %s\n" +"An: %s\n" +"Status: %s\n" +"Dauer: %i Min. %i Sek.\n" #: ../coreapi/call_log.c:221 msgid "Outgoing call" diff --git a/po/es.po b/po/es.po index c18f02175..82a9efe16 100644 --- a/po/es.po +++ b/po/es.po @@ -1,20 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" "PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Spanish (http://www.transifex.com/p/linphone-gtk/language/es/)\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Spanish (http://www.transifex.com/belledonne-communications/" +"linphone-gtk/language/es/)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 @@ -74,7 +76,7 @@ msgstr "" msgid "%s\t%s" msgstr "" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "Conferencia" @@ -87,9 +89,14 @@ msgstr "Yo" msgid "Couldn't find pixmap file: %s" msgstr "No se pudo encontrar el archivo pixmap: %s" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." -msgstr "registra a stdout cierta información de depuración durante la ejecución." +msgstr "" +"registra a stdout cierta información de depuración durante la ejecución." #: ../gtk/main.c:139 msgid "display version and exit." @@ -113,9 +120,11 @@ msgstr "dirección a la que llamar inmediatamente" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" -msgstr "Especifique un directorio de trabajo (debería ser la raíz de la instalación, ej: c:\\Archivos de Programa\\Linphone)" +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" +msgstr "" +"Especifique un directorio de trabajo (debería ser la raíz de la instalación, " +"ej: c:\\Archivos de Programa\\Linphone)" #: ../gtk/main.c:145 msgid "Configuration file" @@ -129,88 +138,91 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Llamada entrante" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Contestar" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "Enlace a la Web" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "%s (Opción predeterminada)" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "Somos transferidos a %s" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." -msgstr "No se ha encontrado una tarjeta de sonido en este equipo.\nNo será posible realizar o recibir llamadas de audio." +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:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "Un video-teléfono SIP gratuito" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "" @@ -288,108 +300,108 @@ msgstr "Activado" msgid "Disabled" msgstr "Desactivado" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "Cuenta" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "Inglés" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "Francés" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "Sueco" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "Italiano" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "Español" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "Portugués de Brasil" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "Polaco" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "Alemán" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "Ruso" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "Japonés" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "Holandés" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "Húngaro" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "Checo" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "Chino" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "Chino Tradicional" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "Noruego" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 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:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "SRTP" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "ZRTP" @@ -431,149 +443,150 @@ msgid_plural "Found %i contacts" msgstr[0] "Se encontró %i contacto" msgstr[1] "Se encontraron %i contactos" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "" -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." msgstr "" -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "Gracias. Su cuenta está configurada y lista para su utilización." -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "Bienvenido al asistente de configuración de cuenta" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "Asistente de configuración de cuenta" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "" @@ -656,115 +669,116 @@ msgstr "" msgid "%.3f seconds" msgstr "" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "" -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" -msgstr "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +msgid "00:00:00" +msgstr "00:00:00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "buena" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "media" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "mala" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "muy mala" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "demasiado mala" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "no disponible" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "Cifrada con SRTP" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "Cifrada con ZRTP - [token de autenticación: %s]" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "Set sin verificar" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Set verificado" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "En conferencia" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "" -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "" -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "" -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "Reanudar" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Pausar" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "Por favor, introduzca los datos de inicio de sesión para %s" @@ -861,7 +875,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "" @@ -878,165 +892,97 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "Transferir" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "Calidad de la llamada" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "Todos los usuarios" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "ADSL" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "Canal de Fibra" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "_Opciones" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "_Ayuda" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "_Pagina_de_Inicio" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "Buscar_Actualizaciones" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "Iniciar nueva llamada" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "Buscar" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "Conexión a Internet" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "Iniciar sesión automáticamente" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "UserID" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "" @@ -1047,7 +993,9 @@ msgstr "" #: ../gtk/about.ui.h:4 msgid "An internet video phone using the standard SIP (rfc3261) protocol." -msgstr "Un vídeo-teléfono a través de Internet que usa el protocolo estándar SIP (rfc3261)" +msgstr "" +"Un vídeo-teléfono a través de Internet que usa el protocolo estándar SIP " +"(rfc3261)" #: ../gtk/about.ui.h:5 msgid "" @@ -1097,6 +1045,10 @@ msgstr "" msgid "Please enter the domain password" msgstr "Por favor introduzca la contraseña del dominio" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "UserID" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "Registro de llamadas" @@ -1377,7 +1329,9 @@ msgstr "Activar control de frecuencia adaptativo" msgid "" "Adaptive rate control is a technique to dynamically guess the available " "bandwidth during a call." -msgstr "Control de frecuencia adaptativo es una técnica que estima dinámicamente el ancho de banda disponible durante la llamada." +msgstr "" +"Control de frecuencia adaptativo es una técnica que estima dinámicamente " +"el ancho de banda disponible durante la llamada." #: ../gtk/parameters.ui.h:53 msgid "Bandwidth control" @@ -1639,6 +1593,14 @@ msgstr "" msgid "Configure tunnel" msgstr "" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "" @@ -1738,8 +1700,11 @@ msgstr "" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " msgstr "" #: ../gtk/provisioning-fetch.ui.h:1 @@ -1750,60 +1715,112 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "Transferir" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "Calidad de la llamada" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "Conexión a Internet" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "Iniciar sesión automáticamente" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "" -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "Buscando el número de teléfono del destinatario…" - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "No se ha podido resolver este número." - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Disculpe, se ha alcanzado el máximo número de llamadas simultáneas" -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr "y ha solicitado auto respuesta." -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "Modificando parámetros de llamada…" -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "Conectado." -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "No se pudo pausar la llamada" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "Pausando la llamada actual..." @@ -1867,23 +1884,41 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." -msgstr "La dirección del Proxy SIP que ha introducido no es válida, debe empezar con \"sip:\" seguido del hostname." +msgstr "" +"La dirección del Proxy SIP que ha introducido no es válida, debe empezar con " +"\"sip:\" seguido del hostname." -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" -msgstr "La identidad SIP que ha introducido no es válida.\nDebe ser del tipo sip:username@proxydomain, como por ejemplo sip:alice@example.net" +msgstr "" +"La identidad SIP que ha introducido no es válida.\n" +"Debe ser del tipo sip:username@proxydomain, como por ejemplo sip:" +"alice@example.net" -#: ../coreapi/proxy.c:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "Buscando el número de teléfono del destinatario…" + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "No se ha podido resolver este número." + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "" +#: ../coreapi/proxy.c:1494 +#, c-format +msgid "Refreshing on %s..." +msgstr "" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "" @@ -1919,7 +1954,7 @@ msgstr "" msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "" @@ -1937,59 +1972,59 @@ msgstr "" msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "" -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "El usuario está ocupado." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "El usuario no está disponible temporalmente." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "El usuario no quiere que le molesten." -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "Llamada rechazada." -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "Redigirida" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:1007 -#, c-format -msgid "Registration on %s successful." -msgstr "" - #: ../coreapi/callbacks.c:1008 #, c-format +msgid "Registration on %s successful." +msgstr "" + +#: ../coreapi/callbacks.c:1009 +#, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "timeout sin respuesta" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "" @@ -1999,11 +2034,11 @@ msgstr "" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/fr.po b/po/fr.po index 751217994..f15677f13 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Belledonne Communications , 2015 # Gautier Pelloux-Prayer , 2014 @@ -12,14 +12,15 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" -"PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: French (http://www.transifex.com/p/linphone-gtk/language/fr/)\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" +"PO-Revision-Date: 2015-08-23 09:28+0000\n" +"Last-Translator: Gautier Pelloux-Prayer \n" +"Language-Team: French (http://www.transifex.com/belledonne-communications/" +"linphone-gtk/language/fr/)\n" +"Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 @@ -72,14 +73,16 @@ msgstr[1] "%i secondes" msgid "" "%s\tQuality: %s\n" "%s\t%s\t" -msgstr "%s\tQualité: %s\n%s\t%s\t" +msgstr "" +"%s\tQualité: %s\n" +"%s\t%s\t" #: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s\t%s" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "Conférence" @@ -92,6 +95,10 @@ msgstr "Moi" msgid "Couldn't find pixmap file: %s" msgstr "Icone non trouvée: %s" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "affiche des informations de debogage" @@ -118,9 +125,11 @@ msgstr "adresse à appeler maintenant" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" -msgstr "Spécifie un répertoire de travail (qui devrait être le répertoire d'installation, par exemple c:\\Program Files\\Linphone)" +"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:145 msgid "Configuration file" @@ -134,88 +143,98 @@ msgstr "Démarre l'assistant audio" msgid "Run self test and exit 0 if succeed" msgstr "Exécuter le test local et retourner 0 en cas de succès" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" +"%s souhaite vous ajouter à sa liste de contact.\n" +"Souhaitez vous l'ajouter à votre liste également et l'autoriser à voir votre " +"information de présence ?\n" +"Si vous répondez non, cette personne sera mise temporairement sur liste " +"noire." -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" -msgstr "Entrez le mot de passe pour %s\n sur le domaine %s:" +msgstr "" +"Entrez le mot de passe pour %s\n" +" sur le domaine %s:" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "Erreur lors de l'appel" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "Appel terminé." -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Appel entrant" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Répondre" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Refuser" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "Appel en pause" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "b>par %s" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s propose de démarrer la vidéo. Acceptez-vous ?" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "Lien site web" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "Appels vidéo via internet" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "%s (par défaut)" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "Transfert vers %s" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." -msgstr "Aucune carte son n'a été détectée sur cet ordinateur.\nVous ne pourrez pas effectuer d'appels audio." +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:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "Un visiophone libre" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "Bonjour\n" @@ -293,108 +312,110 @@ msgstr "Activé" msgid "Disabled" msgstr "Désactivé" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "Compte" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "Anglais" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "Français" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "Suédois" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "Italien" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "Espagnol" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "Portugais brésilien" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "Polonais" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "Allemand" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "Russe" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "日本語" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "Néérlandais" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "Hongrois" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "Tchèque" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "简体中文" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "Chinois traditionnel" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "Norvégien" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "Hébreu" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "Serbe" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "Arabe" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "Turc" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 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." +msgstr "" +"La nouvelle selection de langue prendra effet au prochain démarrage de " +"linphone." -#: ../gtk/propertybox.c:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "Aucun" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "SRTP" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "DTLS" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "ZRTP" @@ -403,7 +424,10 @@ msgstr "ZRTP" 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.\nVoulez vous ouvrir le navigateur afin de pouvoir télécharger la dernière version ?" +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." @@ -436,149 +460,158 @@ msgid_plural "Found %i contacts" msgstr[0] "%i contact trouvé." msgstr[1] "%i contacts trouvés." -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." -msgstr "Bienvenue !\nCet assistant va vous aider à utiliser un compte SIP pour vos appels." +msgstr "" +"Bienvenue !\n" +"Cet assistant va vous aider à utiliser un compte SIP pour vos appels." -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "Créer un compte sur linphone.org" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "J'ai déjà un compte linphone.org et je souhaite l'utiliser" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "J'ai déjà un compte Sip et je souhaite l'utiliser" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "Je veux spécifier une URI de configuration" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "Entrez vos paramètres de compte" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "Nom d'utilisateur*" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "Mot de passe*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "Domaine*" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "Entrez votre identifiant linphone.org" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Nom d'utilisateur:" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Mot de passe:" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "(*) Champs requis" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "Nom d'utilisateur: (*)" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "Mot de passe: (*)" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "Email : (*)" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "Confirmez votre mot de passe: (*)" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "Me tenir informé des mises à jour de Linphone " -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "Votre compte est en cours de création. Veuillez patienter." -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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.\nPuis appuyez sur suivant." +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:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "Vérification que le compte a été validé. Veuillez patienter." -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." -msgstr "Erreur, le compte n'est pas validé, l'identifiant est déjà utilisé ou le serveur n'est pas accessible.\nMerci d'essayer à nouveau." +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:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "Merci. Votre compte est maintenant configuré et prêt à être utilisé." -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "Assistant de configuration de compte." -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "Bienvenue dans l'assistant de configuration de compte." -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "Assistant de configuration de compte." -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "Configurez votre compte (étape 1/1)" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "Entrez votre identifiant sip (étape 1/1)" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "Entrez les informations concernant votre compte (étape 1/2)" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "Création du compte en cours" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "Validation (étape 2/2)" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "Vérification de la validité du compte en cours" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "Erreur" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "En cours d’arrêt." @@ -649,7 +682,9 @@ msgstr "Directe ou via un serveur" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "débit descendant : %f\ndébit ascendant : %f (kbits/s)" +msgstr "" +"débit descendant : %f\n" +"débit ascendant : %f (kbits/s)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -661,115 +696,118 @@ msgstr "%ix%i @ %f fps" msgid "%.3f seconds" msgstr "%.3f secondes" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "Raccrocher" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "Tentative d'appel..." -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" -msgstr "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +msgid "00:00:00" +msgstr "00:00:00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "Appel entrant" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "bon" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "moyen" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "faible" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "très faible" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "nulle" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "indisponible" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "Sécurisé par SRTP" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "Sécurisé par DTLS" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "Sécurisé par ZRTP- [jeton: %s]" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "Marquer comme non vérifié" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Marquer comme vérifié" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "En conférence" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "Appel en cours" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "Appel en attente" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "Appel terminé." -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "Transfert en cours" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "Transfert terminé" -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "Transfert échoué" -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "Reprendre" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Pause" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" -msgstr "Enregistrement dans\n%s %s" +msgstr "" +"Enregistrement dans\n" +"%s %s" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "(en attente)" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "Entrez vos identifiants pour %s" @@ -816,7 +854,10 @@ msgstr "Impossible de démarrer le contrôleur système du son" msgid "" "Welcome!\n" "This assistant will help you to configure audio settings for Linphone" -msgstr "Bienvenue !\nCet assistant va vous aider à régler les paramètres audio de votre ordinateur pour une utilisation optimale avec Linphone." +msgstr "" +"Bienvenue !\n" +"Cet assistant va vous aider à régler les paramètres audio de votre " +"ordinateur pour une utilisation optimale avec Linphone." #: ../gtk/audio_assistant.c:335 msgid "Capture device" @@ -866,7 +907,7 @@ msgstr "Démarrons Linphone maintenant" msgid "Audio Assistant" msgstr "Assistant audio" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "Assistant audio" @@ -883,165 +924,97 @@ msgid "Record and Play" msgstr "Enregistrer et joue" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "Nom du correspondant" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "Envoyer" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "Fin de conférence" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "Enregistrement de l'appel dans un fichier audio." - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "Vidéo" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "Couper le son" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "Transfert" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "Appel en cours" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "Durée" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "Qualité de l'appel" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "Tous" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "En ligne" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "ADSL" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "Fibre optique" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Par défaut" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "Supprimer" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "_Options" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "URI de configuration" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "Toujours activer la vidéo" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "Se voir" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "_Aide" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "Fenêtre de débogage" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "_Site web" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "_Mises à jour" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "Assistant de compte" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "Adresse SIP ou numéro" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "Démarrer un nouvel appel" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "Contacts" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "Rechercher" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "Ajouter un contact depuis l'annuaire" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "Ajouter un contact." -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "Appels récents" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "Mon identité SIP :" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "Nom d'utilisateur" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "Mot de passe" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "Connexion internet:" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "Me connecter automatiquement" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "ID utilisateur" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "Information de login" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "Bienvenue !" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "À propos de Linphone" @@ -1068,7 +1041,19 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: Eli Zaretskii \n" -msgstr "fr: Simon Morlat\nen: Simon Morlat and Delphine Perreau\nit: Alberto Zanoni \nde: Jean-Jacques Sarton \nsv: Daniel Nylander \nes: Jesus Benitez \nja: YAMAGUCHI YOSHIYA \npt_BR: Rafael Caesar Lenzi \npl: Robert Nasiadek \ncs: Petr Pisar \nhu: anonymous\nhe: Eli Zaretskii \n" +msgstr "" +"fr: Simon Morlat\n" +"en: Simon Morlat and Delphine Perreau\n" +"it: Alberto Zanoni \n" +"de: Jean-Jacques Sarton \n" +"sv: Daniel Nylander \n" +"es: Jesus Benitez \n" +"ja: YAMAGUCHI YOSHIYA \n" +"pt_BR: Rafael Caesar Lenzi \n" +"pl: Robert Nasiadek \n" +"cs: Petr Pisar \n" +"hu: anonymous\n" +"he: Eli Zaretskii \n" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1102,6 +1087,10 @@ msgstr "Linphone - Authentification demandée" msgid "Please enter the domain password" msgstr "Entrez votre mot de passe pour le domaine" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "ID utilisateur" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "Historique des appels" @@ -1244,7 +1233,9 @@ msgstr "Réglages" #: ../gtk/parameters.ui.h:18 msgid "This section defines your SIP address when not using a SIP account" -msgstr "Cette rubrique permet de définir son adresse 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:19 msgid "Your display name (eg: John Doe):" @@ -1382,7 +1373,10 @@ msgstr "Activer le control de débit adaptatif." msgid "" "Adaptive rate control is a technique to dynamically guess the available " "bandwidth during a call." -msgstr "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." +msgstr "" +"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." #: ../gtk/parameters.ui.h:53 msgid "Bandwidth control" @@ -1644,6 +1638,14 @@ msgstr "Port" msgid "Configure tunnel" msgstr "Configuration du tunnel" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "Nom d'utilisateur" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "Mot de passe" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "Configuration d'un proxy http (optionel)" @@ -1743,9 +1745,17 @@ msgstr "Spécifier une URI de configuration" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " -msgstr "Cette boite de dialogue vous permet de spécifier une addresse http ou https où la configuration doit être téléchargée au démarrage.\nVeuillez entrer l'URI http(s) ci dessous. Après avoir validé, Linphone va redémarrer automatiquement pour charger et prendre en compte la nouvelle configuration." +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " +msgstr "" +"Cette boite de dialogue vous permet de spécifier une addresse http ou https " +"où la configuration doit être téléchargée au démarrage.\n" +"Veuillez entrer l'URI http(s) ci dessous. Après avoir validé, Linphone va " +"redémarrer automatiquement pour charger et prendre en compte la nouvelle " +"configuration." #: ../gtk/provisioning-fetch.ui.h:1 msgid "Configuring..." @@ -1753,62 +1763,116 @@ msgstr "Configuration en cours" #: ../gtk/provisioning-fetch.ui.h:2 msgid "Please wait while fetching configuration from server..." -msgstr "Veuillez patenter un instant pendant le chargement de la configuration distante..." +msgstr "" +"Veuillez patenter un instant pendant le chargement de la configuration " +"distante..." + +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "Envoyer" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "Nom du correspondant" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "Fin de conférence" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "Enregistrement de l'appel dans un fichier audio." + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "Vidéo" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "Couper le micro" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "Transfert" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "Appel en cours" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "Durée" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "Qualité de l'appel" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "Connexion internet:" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "Me connecter automatiquement" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "Information de login" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "Bienvenue !" #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "Prêt." -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "Configuration en cours" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "Recherche de la destination du numéro de téléphone..." - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "La destination n'a pu être trouvée." - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "Appel de" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "Echec de l'appel" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Désolé, le nombre maximum d'appels simultanés est atteint." -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "vous appelle" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr "et sollicite un décrochage automatique." -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "Modifications des paramètres d'appels..." -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "En ligne." -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "Appel abandonné" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "La mise en attente a échoué" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "Mise en attente de l'appel..." @@ -1872,23 +1936,41 @@ msgstr "En congé" msgid "Unknown status" msgstr "Status inconnu" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 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." +msgstr "" +"L'adresse SIP du proxy est invalide. Elle doit commencer par \"sip:\" suivie " +"par un nom de domaine." -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" -msgstr "L'identité SIP que vous avez fourni est invalide.\nElle doit être de la forme sip:utilisateur@domaine, comme par exemple sip:alice@example.net" +msgstr "" +"L'identité SIP que vous avez fourni est invalide.\n" +"Elle doit être de la forme sip:utilisateur@domaine, comme par exemple sip:" +"alice@example.net" -#: ../coreapi/proxy.c:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "Recherche de la destination du numéro de téléphone..." + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "La destination n'a pu être trouvée." + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "Echec de la connexion en tant que %s" +#: ../coreapi/proxy.c:1494 +#, fuzzy, c-format +msgid "Refreshing on %s..." +msgstr "chargement depuis %s" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "Sonnerie distante." @@ -1924,7 +2006,7 @@ msgstr "Appel répondu par %s." msgid "Incompatible, check codecs or security settings..." msgstr "Incompatible, vérfiez les codecs ou les paramètres de sécurité..." -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "Paramètres media incompatibles." @@ -1942,59 +2024,59 @@ msgstr "L'appel a été mis en attente." msgid "Call is updated by remote." msgstr "L'appel est modifié par la partie distante." -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "Appel terminé." -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "Occupé..." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "L'usager est temporairement indisponible." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "L'usager ne souhaite pas être dérangé" -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "Appel décliné." -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "Délai d'attente de la requête dépassé." -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "Redirection" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "L'appel a échoué." -#: ../coreapi/callbacks.c:1007 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Registration on %s successful." msgstr "Enregistrement sur %s effectué." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1009 #, c-format msgid "Unregistration on %s done." msgstr "Désenregistrement sur %s effectué." -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "Pas de réponse" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "Echec de l'enregistrement sur %s: %s" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "Service indisponible, nouvelle tentative" @@ -2004,11 +2086,11 @@ msgstr "Service indisponible, nouvelle tentative" msgid "Authentication token is %s" msgstr "Le jeton d'authentification est %s" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "Les paramètres d'appel ont été modifiés avec succès." -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." @@ -2039,7 +2121,12 @@ msgid "" "To: %s\n" "Status: %s\n" "Duration: %i mn %i sec\n" -msgstr "%s à %s\nDe : %s\nVers : %s\nStatus : %s\nDurée : %i min %i sec\n" +msgstr "" +"%s à %s\n" +"De : %s\n" +"Vers : %s\n" +"Status : %s\n" +"Durée : %i min %i sec\n" #: ../coreapi/call_log.c:221 msgid "Outgoing call" diff --git a/po/he.po b/po/he.po index 2b1539249..540d02ee6 100644 --- a/po/he.po +++ b/po/he.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Eli Zaretskii , 2012 # Gautier Pelloux-Prayer , 2015 @@ -12,14 +12,16 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" "PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Hebrew (http://www.transifex.com/p/linphone-gtk/language/he/)\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Hebrew (http://www.transifex.com/belledonne-communications/" +"linphone-gtk/language/he/)\n" +"Language: he\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 @@ -72,14 +74,16 @@ msgstr[1] "%i שניות" msgid "" "%s\tQuality: %s\n" "%s\t%s\t" -msgstr "%s\tאיכות: %s\n%s\t%s\t" +msgstr "" +"%s\tאיכות: %s\n" +"%s\t%s\t" #: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "ועידה" @@ -92,6 +96,10 @@ msgstr "אני" msgid "Couldn't find pixmap file: %s" msgstr "לא ניתן למצוא קובץ ‫pixmap: ‫%s" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "" @@ -118,8 +126,8 @@ msgstr "" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" msgstr "" #: ../gtk/main.c:145 @@ -134,88 +142,93 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" -msgstr "אנא הזן סיסמה עבור משתמש %s\nבמתחם %s:" +msgstr "" +"אנא הזן סיסמה עבור משתמש %s\n" +"במתחם %s:" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "שגיאת קריאה" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "שיחה הסתיימה" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "קריאה נכנסת" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "לענות" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "לדחות" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "שיחה הושהתה" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "על ידי %s" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "‏%s רוצה להתחיל וידאו. האם אתה מסכים ?" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "קישור אתר רשת" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "‫%s (ברירת מחדל)" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "אנחנו מועברים אל %s" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." -msgstr "לא אותרו כרטיסי קול במחשב זה.\nלא תהיה ביכולתך לשלוח או לקבל שיחות אודיו." +msgstr "" +"לא אותרו כרטיסי קול במחשב זה.\n" +"לא תהיה ביכולתך לשלוח או לקבל שיחות אודיו." -#: ../gtk/main.c:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "וידאופון SIP חופשי" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "" @@ -293,108 +306,108 @@ msgstr "מופעל" msgid "Disabled" msgstr "לא מופעל" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "חשבון" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "English" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "Français" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "Svenska" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "Italiano" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "Español" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "português brasileiro" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "Polski" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "Deutsch" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "Русский" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "日本語" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "Nederlands" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "Magyar" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "Česky" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "中文" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "繁體字" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "norsk" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "עברית" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "српски srpski" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 msgid "" "You need to restart linphone for the new language selection to take effect." msgstr "עליך לאתחל את לינפון כדי שהשפה החדשה תיכנס לתוקף." -#: ../gtk/propertybox.c:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "ללא" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "" @@ -403,7 +416,9 @@ msgstr "" msgid "" "A more recent version is availalble from %s.\n" "Would you like to open a browser to download it ?" -msgstr "גרסא מאוחרת יותר זמינה מן %s.\nהאם ברצונך לפתוח דפדפן בכדי להורידה ?" +msgstr "" +"גרסא מאוחרת יותר זמינה מן %s.\n" +"האם ברצונך לפתוח דפדפן בכדי להורידה ?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -436,149 +451,154 @@ msgid_plural "Found %i contacts" msgstr[0] "נמצא איש קשר %i" msgstr[1] "נמצאו %i אנשי קשר" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "צור חשבון אצל linphone.org" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "כבר קיים חשבון linphone.org ברשותי וברצוני לעשות בו שימוש" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "כבר קיים חשבון sip ברשותי וברצוני לעשות בו שימוש" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "שם משתמש*" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "סיסמה*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "מתחם*" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "פרוקסי" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "הזן את שם משתמשך אצל linphone.org" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "שם משתמש:" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "סיסמה:" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "(*) שדות חובה" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "שם משתמש: (*)" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "סיסמה: (*)" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "דוא״ל: (*)" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "אימות סיסמתך: (*)" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "נא לאמת את חשבונך באמצעות הקלקה על הקישור ששלחנו לך עתה באמצעות דוא״ל.\nאחרי כן נא לחזור לכאן וללחוץ על הלחצן 'קדימה'." +msgstr "" +"נא לאמת את חשבונך באמצעות הקלקה על הקישור ששלחנו לך עתה באמצעות דוא״ל.\n" +"אחרי כן נא לחזור לכאן וללחוץ על הלחצן 'קדימה'." -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." -msgstr "שגיאה, חשבון לא אומת, שם משתמש כבר בשימוש או שרת לא ניתן להשגה.\nנא לחזור ולנסות שוב." +msgstr "" +"שגיאה, חשבון לא אומת, שם משתמש כבר בשימוש או שרת לא ניתן להשגה.\n" +"נא לחזור ולנסות שוב." -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "תודה לך. חשבונך מוגדר ומוכן לשימוש כעת." -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "ברוך בואך אל אשף הגדרת החשבון" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "אשף הגדרת חשבון" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "הגדרת חשבונך (צעד 1/1)" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "הזנת שם משתמש sip (צעד 1/1)" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "הזנת מידע חשבון (צעד 1/2)" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "אימות (צעד 2/2)" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "שגיאה" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "מסיים כעת" @@ -649,7 +669,9 @@ msgstr "ישיר או דרך שרת" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "הורדה: %f\nהעלאה: %f (קי״ב/שנ׳)" +msgstr "" +"הורדה: %f\n" +"העלאה: %f (קי״ב/שנ׳)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -661,115 +683,119 @@ msgstr "" msgid "%.3f seconds" msgstr "%.3f שניות" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "נתק" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "מתקשר כעת..." -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#, fuzzy +msgid "00:00:00" msgstr "‭00::00::00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "קריאה נכנסת" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "טובה" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "ממוצעת" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "דלה" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "דלה מאוד" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "גרועה מדי" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "לא זמינה" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "מאובטחת על ידי SRTP" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "מאובטחת על ידי ZRTP - [אות אימות: %s]" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "הגדר כלא מאומתת" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "הגדר כמאומתת" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "בשיחת ועידה" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "בשיחה כעת" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "שיחה מושהית" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "שיחה הסתיימה." -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "העברה מצויה כעת בעיצומה" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "העברה הסתיימה." -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "העברה נכשלה." -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "חזור" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "השהה" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" -msgstr "מקליט אל תוך\n%s %s" +msgstr "" +"מקליט אל תוך\n" +"%s %s" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "(מושהה)" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "נא להזין מידע התחברות עבור %s" @@ -866,7 +892,7 @@ msgstr "הבא נתחיל את Linphone עכשיו" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "" @@ -883,165 +909,97 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "שם מקבל" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "שלח" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "סיים ועידה" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "הקלט את שיחה זו אל קובץ אודיו" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "וידאו" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "השתק" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "העבר" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "בשיחה כעת" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "משך זמן" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "אומדן איכות שיחה" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "כל המשתמשים" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "משתמשים מקוונים" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "‫ADSL" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "ערוץ סיב" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "ברירת מחדל" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "מחק" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "_אפשרויות" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "התחל תמיד וידאו" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "אפשר ראות-עצמית" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "_עזרה" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "הצג חלון ניפוי שגיאות" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "_עמוד הבית" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "בדיקת _עדכונים" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "אשף חשבון" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "כתובת SIP או מספר טלפון" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "התחל שיחה חדשה" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "אנשי קשר" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "חיפוש" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "הוסף אנשי קשר מן מדור" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "הוסף איש קשר" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "שיחות אחרונות" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "זהותי הנוכחית:" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "שם משתמש" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "סיסמה" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "חיבור אינטרנט:" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "חבר אותי אוטומטית" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "מזהה משתמש" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "מידע התחברות" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "" @@ -1102,6 +1060,10 @@ msgstr "‫Linphone - נדרש אימות" msgid "Please enter the domain password" msgstr "נא להזין את סיסמת המתחם" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "מזהה משתמש" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "היסטוריית שיחות" @@ -1382,7 +1344,9 @@ msgstr "אפשר בקרת קצב מסתגלת" msgid "" "Adaptive rate control is a technique to dynamically guess the available " "bandwidth during a call." -msgstr "בקרת קצב מסתגלת הינה טכניקה להשערה דינמית של רוחב הפס הזמין במהלך שיחה." +msgstr "" +"בקרת קצב מסתגלת הינה טכניקה להשערה דינמית של רוחב הפס הזמין במהלך שיחה." #: ../gtk/parameters.ui.h:53 msgid "Bandwidth control" @@ -1644,6 +1608,14 @@ msgstr "פורט" msgid "Configure tunnel" msgstr "הגדר מינהור" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "שם משתמש" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "סיסמה" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "הגדר http proxy (רשות)" @@ -1743,8 +1715,11 @@ msgstr "" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " msgstr "" #: ../gtk/provisioning-fetch.ui.h:1 @@ -1755,60 +1730,112 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "שלח" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "שם מקבל" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "סיים ועידה" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "הקלט את שיחה זו אל קובץ אודיו" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "וידאו" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "השתק" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "העבר" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "בשיחה כעת" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "משך זמן" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "אומדן איכות שיחה" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "חיבור אינטרנט:" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "חבר אותי אוטומטית" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "מידע התחברות" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "מוכן" -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "מחפש כעת עבור יעד מספר טלפון..." - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "לא ניתן לפתור את מספר זה." - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "מתקשר כעת" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "לא ניתן להתקשר" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "הגענו אל המספר המרבי של שיחות מקבילות, עמך הסליחה" -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "מתקשר/ת אליך" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr " ומבקש/ת מענה אוטומטי." -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "מתאים כעת פרמטרים של שיחה..." -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "מקושר." -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "קריאה בוטלה" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "לא ניתן להשהות את השיחה" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "משהה כעת שיחה נוכחית..." @@ -1872,23 +1899,39 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." -msgstr "כתובת sip proxy שהזנת הינה שגויה, זו צריכה להתחיל עם‭\"sip:\" ‬ לאחר שם מארח." +msgstr "" +"כתובת sip proxy שהזנת הינה שגויה, זו צריכה להתחיל עם‭\"sip:\" ‬ לאחר שם מארח." -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" -msgstr "זהות sip שהוזנה הינה שגויה.\nזו צריכה להיראות כמו sip:username@proxydomain, למשל sip:alice@example.net" +msgstr "" +"זהות sip שהוזנה הינה שגויה.\n" +"זו צריכה להיראות כמו sip:username@proxydomain, למשל sip:alice@example.net" -#: ../coreapi/proxy.c:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "מחפש כעת עבור יעד מספר טלפון..." + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "לא ניתן לפתור את מספר זה." + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "לא ניתן להתחבר בזהות %s" +#: ../coreapi/proxy.c:1494 +#, c-format +msgid "Refreshing on %s..." +msgstr "" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "צלצול מרוחק." @@ -1924,7 +1967,7 @@ msgstr "קריאה נענתה על ידי %s." msgid "Incompatible, check codecs or security settings..." msgstr "חוסר תאימות, בדוק קודקים או הגדרות אבטחה..." -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "פרמטריי מדיה חסרי תואמים." @@ -1942,59 +1985,59 @@ msgstr "אנו מושהים על ידי צד אחר." msgid "Call is updated by remote." msgstr "שיחה עודכנה מרחוק." -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "קריאה הסתיימה." -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "משתמש עסוק כעת." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "משתמש לא זמין זמנית." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "משתמש לא מעוניין שיפריעו לו." -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "קריאה סורבה." -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "מכוון מחדש" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "קריאה נכשלה." -#: ../coreapi/callbacks.c:1007 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Registration on %s successful." msgstr "רישום אצל %s הושלם בהצלחה." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1009 #, c-format msgid "Unregistration on %s done." msgstr "אי רישום אצל %s סוים." -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "אין היענות תוך זמן מוגדר" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "רישום אצל %s נכשל: %s" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "" @@ -2004,11 +2047,11 @@ msgstr "" msgid "Authentication token is %s" msgstr "אות האימות הינה %s" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/hu.po b/po/hu.po index 6e8ab77e8..dc1155db5 100644 --- a/po/hu.po +++ b/po/hu.po @@ -1,20 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" "PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Hungarian (http://www.transifex.com/p/linphone-gtk/language/hu/)\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Hungarian (http://www.transifex.com/belledonne-communications/" +"linphone-gtk/language/hu/)\n" +"Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 @@ -74,7 +76,7 @@ msgstr "" msgid "%s\t%s" msgstr "" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "Konferencia" @@ -87,6 +89,10 @@ msgstr "én" msgid "Couldn't find pixmap file: %s" msgstr "Nemtalálható a pixmap fájl: %s" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "Futás közben némi hibakeresési információ az stdout-ra naplózása." @@ -113,9 +119,11 @@ msgstr "Cím azonnali híváshoz" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" -msgstr "Adjon meg egy munkakönyvtárat (ennek az installációs könyvtárnak kéne lennie, pl. C:\\Program Files\\Linphone)" +"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:145 msgid "Configuration file" @@ -129,88 +137,91 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "Hiba a hívás közben" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "Hívás vége" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Beérkező hívás" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Hívás fogadása" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Elutasítás" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "Hívás várakoztatva" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "a következő által: %s" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s szerené elidítani a videót. Elfogadja?" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "Internetes oldal" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "%s (Alapértelmezett)" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "Át vagyunk irányítva ide: %s" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." -msgstr "Hangkártya nincs érzékelve ezen a számítógépen.\nNem fog tudni hang hívásokat küldeni vagy fogadni." +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:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "Egy ingyenes SIP video-telefon" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "" @@ -288,108 +299,110 @@ msgstr "Engedélyezve" msgid "Disabled" msgstr "Tiltva" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "Hozzáférés" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "angol" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "francia" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "svéd" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "olasz" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "spanyol" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "brazil-portugál" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "lengyel" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "német" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "orosz" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "japán" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "holland" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "magyar" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "cseh" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "egyszerúsített kínai" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "tradícionális kínai" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "norvég" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "héber" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 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. " +msgstr "" +"Újra kell indítania a linphone-t, hogy az új nyelv kiválasztása érvényre " +"jusson. " -#: ../gtk/propertybox.c:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "Nincs" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "SRTP" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "ZRTP" @@ -398,7 +411,9 @@ msgstr "ZRTP" 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.\nSzeretné, hogy a letöltéshez egy új böngésző ablak nyíljon?" +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." @@ -431,149 +446,156 @@ msgid_plural "Found %i contacts" msgstr[0] "" msgstr[1] "" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "Fiók létrehozása a linphone.org -on" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "Már rendelkezem linphone.org fiókkal, azt szeretném használni" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "Már rendelkezem sip fiókkal, azt szeretném használni" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "Felhasználónév*" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "Jelszó*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "Tartomány" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "Adja meg linphone.org felhasználónevét" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Felhasználónév:" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Jelszó:" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "(*) Mező kitöltése szükséges" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "Felhasználónév: (*)" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "Jelszó: (*)" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "E-mail: (*)" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "Jelszó megerősítése: (*)" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "Kérjük, érvényesítse fiókját az általunk elektronikus levélben küldött hivatkozásra kattintva.\nAzután térjen vissza ide és kattintson a Következő gombra." +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:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." -msgstr "Hiba, a fiók nincs érvényesítve. Valaki már használja ezt a felhasználónevet vagy a kiszolgáló nem elérhető.\nKérjük, lépjen vissza és próbálja újra." +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:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "Köszönjük! Az Ön fiókját beállítottuk és használatra kész." -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "A fiók beállítása varázsló üdvözli Önt" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "Fiók beállítása varázsló" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "Az Ön fiókjának beállítása (1/1 lépés)" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "Adja meg sip felhasználónevét (1/2 lépés)" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "Adja meg a fiókinformációt (1/2 lépés)" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "Érvényesítés (2/2 lépés)" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "Hiba" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "Befejezés" @@ -644,7 +666,9 @@ msgstr "közvetlen vagy kiszolgálón keresztül" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "letöltés: %f\nfeltöltés: %f (kbit/mp)" +msgstr "" +"letöltés: %f\n" +"feltöltés: %f (kbit/mp)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -656,115 +680,118 @@ msgstr "" msgid "%.3f seconds" msgstr "%.3f másodperc" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "Befejezés" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "Hívás folyamatban..." -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" -msgstr "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +msgid "00:00:00" +msgstr "00:00:00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "Beérkező hívás" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "jó" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "közepes" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "gyenge" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "nagyon gyenge" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "rossz" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "nem elérhető" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "SRTP-vel titkosítva" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "ZRTP-vel titkosítva - [hitelesítési jel: %s]" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "Beállítás ellenőrizetlenként" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Beállítás ellenőrzöttként" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "Konferencián" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "vonalban" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "Várakoztatott hívás" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "Hívás vége." -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "Átvitel folyamatban" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "Átvitel befejezve." -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "Az átvitel sikertelen." -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "Visszatérés" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Várakoztatás" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" -msgstr "Felvétel a következőbe\n%s %s" +msgstr "" +"Felvétel a következőbe\n" +"%s %s" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "(Várakoztatva)" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "Kérem, adja meg a bejelentkezési információt %s -hoz" @@ -861,7 +888,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "" @@ -878,165 +905,97 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "Hívott neve" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "Küld" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "Konferencia vége" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "Beszélgetés felvétele hangfájlba" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "Videó" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "Elnémítás" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "Átvitel" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "vonalban" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "Időtartam" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "Hívásminőség" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "Minden felhasználó" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "Elérhető" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "ADSL" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "Fiber csatorna" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Alapértelmezett" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "Törlés" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "_Beállítások" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "Videó indítása mindig" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "Saját nézet" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "_Segítség" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "Hibakeresési ablak mutatása" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "_Honlap" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "Frissítések keresése" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "Fiók varázsló" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "Adja meg a SIP címet vagy a telefonszámot:" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "Új hívás kezdeményezése" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "Partnerek" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "Keresés" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "Partnerek hozzáadása könyvtárból" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "Partner hozzáadása" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "Legutóbbi hívások" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "Jelenlegi identitásom:" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "Felhasználónév" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "Jelszó" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "Internet kapcsolat:" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "Jelentkeztessen be automatikusan" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "Felhasználó azonosító" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "Bejelentkezési információ" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "" @@ -1047,7 +1006,9 @@ msgstr "" #: ../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." +msgstr "" +"Internetes videó telefon, mely a szabványos SIP (rfc3261) protokolt " +"használja." #: ../gtk/about.ui.h:5 msgid "" @@ -1097,6 +1058,10 @@ msgstr "Linphone - Hitelesítés szükséges" msgid "Please enter the domain password" msgstr "Kérem adja meg a tartomány jelszavát" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "Felhasználó azonosító" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "Híváselőzmények" @@ -1377,7 +1342,9 @@ msgstr "Alkalmazkodó mérték-szabályozás engedélyezése" msgid "" "Adaptive rate control is a technique to dynamically guess the available " "bandwidth during a call." -msgstr "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." +msgstr "" +"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." #: ../gtk/parameters.ui.h:53 msgid "Bandwidth control" @@ -1639,6 +1606,14 @@ msgstr "Port" msgid "Configure tunnel" msgstr "Alagút beállítása" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "Felhasználónév" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "Jelszó" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "http proxy beállítása (nem kötelező)" @@ -1738,8 +1713,11 @@ msgstr "" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " msgstr "" #: ../gtk/provisioning-fetch.ui.h:1 @@ -1750,60 +1728,112 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "Küld" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "Hívott neve" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "Konferencia vége" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "Beszélgetés felvétele hangfájlba" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "Videó" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "Elnémítás" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "Átvitel" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "vonalban" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "Időtartam" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "Hívásminőség" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "Internet kapcsolat:" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "Jelentkeztessen be automatikusan" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "Bejelentkezési információ" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "Kész" -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "Telefonszám-cél keresése..." - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "Nem sikkerült értelmezni a számot." - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "Kapcsolódás" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "Nem sikerült hívni" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Elnézést, elértük a egyidejű hívások maximális számát" -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "kapcsolatba lépett veled." -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr "és automatikus választ kért." -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "A hívási jellemzők módosítása..." -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "Kapcsolódva." -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "Hívás megszakítva" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "Nem sikerült várakoztatni a hívást" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "Jelenlegi hívás várakoztatásának aktiválása..." @@ -1867,23 +1897,41 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 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." +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:334 +#: ../coreapi/proxy.c:301 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" +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:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "Telefonszám-cél keresése..." + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "Nem sikkerült értelmezni a számot." + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "Nem sikerült belépni ezzel: %s" +#: ../coreapi/proxy.c:1494 +#, c-format +msgid "Refreshing on %s..." +msgstr "" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "Távoli csengés." @@ -1917,9 +1965,10 @@ msgstr "%s válaszolt a hívásra." #: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." -msgstr "Nem kompatibilis, ellenőrizze a kódek- vagy a biztonsági beállításokat..." +msgstr "" +"Nem kompatibilis, ellenőrizze a kódek- vagy a biztonsági beállításokat..." -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "Nem kompatibilis médiajellemzők." @@ -1937,59 +1986,59 @@ msgstr "Megállítva a másik fél által." msgid "Call is updated by remote." msgstr "A hívás távolról frissítve." -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "A hívás befejezve." -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "A felhasználó foglalt." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "A felhasználó ideiglenesen nem elérhető" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "A felhasználó nem akarja, hogy zavarják." -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "Hívás elutasítva" -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "Átirányítva" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "Nem sikerült a hívás." -#: ../coreapi/callbacks.c:1007 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Registration on %s successful." msgstr "A regisztáció a %s -n sikerült." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1009 #, c-format msgid "Unregistration on %s done." msgstr "A kiregisztrálás kész a következőn: %s ." -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "időtúllépés után nincs válasz" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "A regisztáció a %s -n nem sikerült: %s" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "" @@ -1999,11 +2048,11 @@ msgstr "" msgid "Authentication token is %s" msgstr "Hitelesítési jel: %s" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/it.po b/po/it.po index ac1690617..12b147d6d 100644 --- a/po/it.po +++ b/po/it.po @@ -1,21 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Fabrizio Carrai, 2015 msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" -"PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Italian (http://www.transifex.com/p/linphone-gtk/language/it/)\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" +"PO-Revision-Date: 2015-08-03 18:31+0000\n" +"Last-Translator: Fabrizio Carrai\n" +"Language-Team: Italian (http://www.transifex.com/belledonne-communications/" +"linphone-gtk/language/it/)\n" +"Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 @@ -68,14 +69,16 @@ msgstr[1] "%i secondi" msgid "" "%s\tQuality: %s\n" "%s\t%s\t" -msgstr "%s\tQualità: %s\n%s\t%s\t" +msgstr "" +"%s\tQualità: %s\n" +"%s\t%s\t" #: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s\t%s" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "Conferenza" @@ -88,9 +91,15 @@ msgstr "Me" msgid "Couldn't find pixmap file: %s" msgstr "Impossibile trovare il file pixmap %s" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." -msgstr "alcune informazioni di debug verranno registrate sullo stdout durante l'esecuzione" +msgstr "" +"alcune informazioni di debug verranno registrate sullo stdout durante " +"l'esecuzione" #: ../gtk/main.c:139 msgid "display version and exit." @@ -114,9 +123,11 @@ msgstr "indirizzo da chiamare adesso" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" -msgstr "Specificare una directory di lavoro (dovrebbe essere quella di installazione, es: c:\\Program Files\\Linphone)" +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" +msgstr "" +"Specificare una directory di lavoro (dovrebbe essere quella di " +"installazione, es: c:\\Program Files\\Linphone)" #: ../gtk/main.c:145 msgid "Configuration file" @@ -130,88 +141,97 @@ msgstr "Avvia l'assistente audio" msgid "Run self test and exit 0 if succeed" msgstr "Esegui il self test e esci con 0 in caso di successo" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" +"%s vorrebbe aggiungerti alla sua lista dei contatti.\n" +"Vuoi aggiungerlo/a ai tuoi contatti e pemettergli di conoscere la tua " +"presenza?\n" +"Se rispondi NO questa persona verrà temporaneamente bloccata." -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" -msgstr "Digitare la password per l'utente %s\nnel dominio %s:" +msgstr "" +"Digitare la password per l'utente %s\n" +"nel dominio %s:" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "Errore durante la chiamata" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "Chiamata terminata" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Chiamata in arrivo" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Risposta" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Rifiuta" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "Chiamata in pausa" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "da %s" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s chiede di avviare il video. Accetti ?" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "Collegamento al sito web" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "Un videotelefono su internet" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "%s (Default)" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "Siamo trasferiti verso %s" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." -msgstr "Non è stata trovata nessuna scheda audio.\nNon sarà possibile effettuare o ricevere chiamate in voce." +msgstr "" +"Non è stata trovata nessuna scheda audio.\n" +"Non sarà possibile effettuare o ricevere chiamate in voce." -#: ../gtk/main.c:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "Un videotelefono SIP free" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "Salve\n" @@ -289,108 +309,108 @@ msgstr "Attivato" msgid "Disabled" msgstr "Disattivato" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "Account" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "Inglese" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "Francese" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "Svedese" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "Italiano" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "Spagnolo" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "Portoghese brasiliano" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "Polacco" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "Tedesco" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "Russo" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "Giapponese" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "Olandese" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "Ungherese" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "Ceco" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "Cinese" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "Cinese tradizionale" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "Norvegese" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "Ebraico" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "Serbo" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "Arabo" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "Turco" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 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:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "Nessuno" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "SRTP" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "DTLS" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "ZRTP" @@ -399,7 +419,9 @@ msgstr "ZRTP" msgid "" "A more recent version is availalble from %s.\n" "Would you like to open a browser to download it ?" -msgstr "Una versione più recente è disponibile su %s.\nVuoi aprire un browser per eseguire il download ?" +msgstr "" +"Una versione più recente è disponibile su %s.\n" +"Vuoi aprire un browser per eseguire il download ?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -432,149 +454,158 @@ msgid_plural "Found %i contacts" msgstr[0] "Trovato %i contatto" msgstr[1] "Trovati %i contatti" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." -msgstr "Benvenuto!\nL'assistente vi aiuterà ad usare un indirizzo SIP per le vostre chiamate." +msgstr "" +"Benvenuto!\n" +"L'assistente vi aiuterà ad usare un indirizzo SIP per le vostre chiamate." -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "Creare un account su linphone.org" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "Ho già un account su linphone.org che voglio usare." -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "Ho già un account SIP e voglio usarlo" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "Voglio specificare un URI per la configurazione remota" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "Inserire i dati del vostro account" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "Nome utente*" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "Password*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "Dominio*" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "Immettere il vostro nome utente su linphone.org" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Nome utente:" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Password:" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "(*) Campi obbligatori" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "Nome utente: (*)" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "Password: (*)" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "Email: (*)" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "Confermare la password: (*)" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "Mantenetemi aggiornato sugli aggiornamenti di linphone" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "Il vostro account è stato creato, attendere." -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "Attivate il vostro account cin il link che vi è appena stato inviato per posta elettronica.\nQuindi tornare qui e premere il tasto \"Avanti\"." +msgstr "" +"Attivate il vostro account cin il link che vi è appena stato inviato per " +"posta elettronica.\n" +"Quindi tornare qui e premere il tasto \"Avanti\"." -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "Verifica della validazione dell'account, attendere." -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." -msgstr "Errore, account non valido, nome utente già in uso o server non raggiungibile.\nTornare indietro e riprovare." +msgstr "" +"Errore, account non valido, nome utente già in uso o server non " +"raggiungibile.\n" +"Tornare indietro e riprovare." -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "Grazie. Il tuo account è configurato e pronto all'uso" -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "Assistente per la configurazione di un account SIP" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "Benvenuto nel configuratore di account" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "Configuratore di account" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "Configurare il tuo account (passo 1/1)" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "Introdurre il vostro nome utente SIP (passo 1/1)" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "Introdurre le informazioni dell'account (passo 1/2)" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "Creazione dell'account in corso" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "Validazione (passo 2/2)" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "Controllo della validazione dell'account in corso" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "Errore" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "Terminando" @@ -645,7 +676,9 @@ msgstr "Diretto o attraverso un server" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "download: %f\nupload: %f (kbit/s)" +msgstr "" +"download: %f\n" +"upload: %f (kbit/s)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -657,115 +690,118 @@ msgstr "%ix%i @ %f fps" msgid "%.3f seconds" msgstr "%.3f secondi" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "Riagganciare" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "Chiamando..." -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" -msgstr "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +msgid "00:00:00" +msgstr "00:00:00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "Chiamata in ingresso" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "bene" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "media" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "ridotto" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "molto poco" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "troppo brutto" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "non disponibile" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "Trasmissione sicura con SRTP" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "Trasmissione sicura con DTLS" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "Trasmissione sicura con ZRTP - [auth token: %s]" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "Marcato con non verificato" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Marcato come verificato" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "In conferenza" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "Chiamata in corso" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "Chiamata sospesa" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "Chiamata terminata." -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "Trasferimento in corso" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "Trasferimento completato." -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "Trasferimento fallito." -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "Riprendere" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Pausa" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" -msgstr "Registrare in\n%s %s" +msgstr "" +"Registrare in\n" +"%s %s" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "(Sospeso)" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "Prego inserire le proprie credenziali di accesso per %s" @@ -812,7 +848,9 @@ msgstr "Non è possibile eseguire il controllo dell'audio di sistema" msgid "" "Welcome!\n" "This assistant will help you to configure audio settings for Linphone" -msgstr "Benvenuto!\nL'assistente ti aiuterà a configurare i settaggi audio di Linphone" +msgstr "" +"Benvenuto!\n" +"L'assistente ti aiuterà a configurare i settaggi audio di Linphone" #: ../gtk/audio_assistant.c:335 msgid "Capture device" @@ -862,7 +900,7 @@ msgstr "Ora avviamo Linphone" msgid "Audio Assistant" msgstr "Assistente Audio" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "Assistente Audio" @@ -879,165 +917,97 @@ msgid "Record and Play" msgstr "Registra e Riproduci" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "Nome del chiamato" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "Invia" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "Fine della conferenza" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "Registra questa chiamata su un file audio" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "Video" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "Silenzia" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "Trasferimento" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "In chiamata" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "Durata" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "Giudizio della qualità della chiamata" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "Tutti gli utenti" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "Utenti in linea" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "ADSL" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "Fibra ottica" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Default" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "Cancellare" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "_Options" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "Imposta l' URI di configurazione" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "Avvia sempre il video" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "Self-view abilitato" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "_Help" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "Mostra la finestra di debug" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "_Homepage" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "Check _Updates" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "Assistente per l'account" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "Indirizzo sip o numero." -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "Inizia una nuova chiamata" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "Contatti" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "Ricerca" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "Aggiungi contatti dalla directory" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "Aggiungi un contatto" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "Chiamate recenti" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "Identità corrente" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "Username" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "Password" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "Connessione Internet:" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "Login Automatico" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "Identificativo utente" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "Credenziali di accesso" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "Benvenuto!" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "Su Linphone" @@ -1064,7 +1034,20 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: Eli Zaretskii \n" -msgstr "fr: Simon Morlat\nen: Simon Morlat and Delphine Perreau\nit: Alberto Zanoni \nit: Fabrizio Carrai\nde: Jean-Jacques Sarton \nsv: Daniel Nylander \nes: Jesus Benitez \nja: YAMAGUCHI YOSHIYA \npt_BR: Rafael Caesar Lenzi \npl: Robert Nasiadek \ncs: Petr Pisar \nhu: anonymous\nhe: Eli Zaretskii \n" +msgstr "" +"fr: Simon Morlat\n" +"en: Simon Morlat and Delphine Perreau\n" +"it: Alberto Zanoni \n" +"it: Fabrizio Carrai\n" +"de: Jean-Jacques Sarton \n" +"sv: Daniel Nylander \n" +"es: Jesus Benitez \n" +"ja: YAMAGUCHI YOSHIYA \n" +"pt_BR: Rafael Caesar Lenzi \n" +"pl: Robert Nasiadek \n" +"cs: Petr Pisar \n" +"hu: anonymous\n" +"he: Eli Zaretskii \n" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1098,6 +1081,10 @@ msgstr "Linphone - E' richiesta l'autenticazione" msgid "Please enter the domain password" msgstr "Prego inserire la password di dominio" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "Identificativo utente" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "Cronologia" @@ -1240,7 +1227,8 @@ msgstr "Preferenze" #: ../gtk/parameters.ui.h:18 msgid "This section defines your SIP address when not using a SIP account" -msgstr "questa sezione definisce il tuo indirizzo SIP se non hai account attivi" +msgstr "" +"questa sezione definisce il tuo indirizzo SIP se non hai account attivi" #: ../gtk/parameters.ui.h:19 msgid "Your display name (eg: John Doe):" @@ -1378,7 +1366,9 @@ msgstr "Abilita il controllo adattivo del rate" msgid "" "Adaptive rate control is a technique to dynamically guess the available " "bandwidth during a call." -msgstr "Il controllo adattivo del rate è una tecnica per la stima dinamica della banda disponibile durante una chiamata" +msgstr "" +"Il controllo adattivo del rate è una tecnica per la stima dinamica della " +"banda disponibile durante una chiamata" #: ../gtk/parameters.ui.h:53 msgid "Bandwidth control" @@ -1594,7 +1584,7 @@ msgstr "Banda IP impiegata per l'audio" #: ../gtk/call_statistics.ui.h:5 msgid "Audio Media connectivity" -msgstr "" +msgstr "Supporto audio" #: ../gtk/call_statistics.ui.h:6 msgid "Video IP bandwidth usage" @@ -1602,7 +1592,7 @@ msgstr "Banda IP impiegata per il video" #: ../gtk/call_statistics.ui.h:7 msgid "Video Media connectivity" -msgstr "" +msgstr "Supporto video" #: ../gtk/call_statistics.ui.h:8 msgid "Round trip time" @@ -1640,6 +1630,14 @@ msgstr "Porta" msgid "Configure tunnel" msgstr "Configurazione del tunnel" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "Username" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "Password" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "Configurazione del proxy http (opzionale)" @@ -1662,11 +1660,11 @@ msgstr "Connessione" #: ../gtk/ldap.ui.h:9 msgid "Bind DN" -msgstr "" +msgstr "Bind DN" #: ../gtk/ldap.ui.h:10 msgid "Authname" -msgstr "" +msgstr "Authname" #: ../gtk/ldap.ui.h:11 msgid "Realm" @@ -1711,7 +1709,7 @@ msgstr "Massimo numero di risultati:" #: ../gtk/ldap.ui.h:22 msgid "Follow Aliases" -msgstr "" +msgstr "Segui gli Aliases" #: ../gtk/ldap.ui.h:23 msgid "Miscellaneous" @@ -1723,88 +1721,148 @@ msgstr "ANONYMOUS" #: ../gtk/ldap.ui.h:25 msgid "SIMPLE" -msgstr "" +msgstr "SEMPLICE" #: ../gtk/ldap.ui.h:26 msgid "DIGEST-MD5" -msgstr "" +msgstr "DIGEST-MD5" #: ../gtk/ldap.ui.h:27 msgid "NTLM" -msgstr "" +msgstr "NTLM" #: ../gtk/config-uri.ui.h:1 msgid "Specifying a remote configuration URI" -msgstr "" +msgstr "Specificare un URI per la configurazione remota" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " msgstr "" +"Questo modulo permette di impostare un indirizzo http o https da cui " +"prelevare la configurazione all'avvio.\n" +"Di seguito inserire o modificare l' URI della configurazione. Dopo aver " +"selezionato OK Linphone verrà automaticamente riavvato per leggere ed usare " +"la nuova configurazione." #: ../gtk/provisioning-fetch.ui.h:1 msgid "Configuring..." -msgstr "" +msgstr "Configurando..." #: ../gtk/provisioning-fetch.ui.h:2 msgid "Please wait while fetching configuration from server..." +msgstr "Caricamento della configurazione dal server, attendere..." + +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "Invia" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "Nome del chiamato" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "Fine della conferenza" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" msgstr "" +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "Registra questa chiamata su un file audio" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "Video" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "Silenzia" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "Trasferimento" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "In chiamata" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "Durata" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "Giudizio della qualità della chiamata" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "Connessione Internet:" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "Login Automatico" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "Credenziali di accesso" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "Benvenuto!" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "Pronto" -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" -msgstr "" - -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "Ricerca numero destinazione..." - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "Impossibile risolvere il numero." +msgstr "Configurando" #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "In connessione" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "Impossibile chiamare" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Spiacenti, è stato raggiunto il massimo numero di chiamate simultanee" -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "ti sta contattando" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr "e ha richiesto la risposta automatica" -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "Modificando i parametri di chiamata..." -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "Connessione" -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "Chiamata annullata" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "Impossibile sospendere la chiamata" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "Sospensione della chiamata in corso..." @@ -1814,7 +1872,7 @@ msgstr "Ricerca Stun in progresso ..." #: ../coreapi/misc.c:617 msgid "ICE local candidates gathering in progress..." -msgstr "" +msgstr "Raccolta dei candidati ICE locali in corso..." #: ../coreapi/friend.c:33 msgid "Online" @@ -1862,40 +1920,57 @@ msgstr "Pendente" #: ../coreapi/friend.c:66 msgid "Vacation" -msgstr "" +msgstr "Assente" #: ../coreapi/friend.c:68 msgid "Unknown status" msgstr "Stato sconosciuto" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." -msgstr "L'indirizzo sip proxy utilizzato è invalido, deve iniziare con \"sip:\" seguito dall' hostaname." +msgstr "" +"L'indirizzo sip proxy utilizzato è invalido, deve iniziare con \"sip:\" " +"seguito dall' hostaname." -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" -msgstr "L'identità sip utilizza è invalida.\nDovrebbre essere sip:username@proxydomain, esempio: sip:alice@example.net" +msgstr "" +"L'identità sip utilizza è invalida.\n" +"Dovrebbre essere sip:username@proxydomain, esempio: sip:alice@example.net" -#: ../coreapi/proxy.c:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "Ricerca numero destinazione..." + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "Impossibile risolvere il numero." + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "impossibile login come %s" +#: ../coreapi/proxy.c:1494 +#, fuzzy, c-format +msgid "Refreshing on %s..." +msgstr "prelevando da %s" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." -msgstr "" +msgstr "Il chiamato sta squillando." #: ../coreapi/callbacks.c:454 msgid "Remote ringing..." -msgstr "" +msgstr "Il chiamato sta squillando..." #: ../coreapi/callbacks.c:475 msgid "Early media." -msgstr "" +msgstr "Early media." #: ../coreapi/callbacks.c:548 #, c-format @@ -1905,127 +1980,127 @@ msgstr "La chiamata con %s è stata sospesa." #: ../coreapi/callbacks.c:561 #, c-format msgid "Call answered by %s - on hold." -msgstr "" +msgstr "Chiamata con %s - in attesa." #: ../coreapi/callbacks.c:571 msgid "Call resumed." -msgstr "" +msgstr "Prosecuzione della chiamata." #: ../coreapi/callbacks.c:575 #, c-format msgid "Call answered by %s." -msgstr "" +msgstr "Risposta da %s." #: ../coreapi/callbacks.c:598 msgid "Incompatible, check codecs or security settings..." -msgstr "" +msgstr "Incompatibile, controllare i codecs o i parametri della sicurezza..." -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." -msgstr "" +msgstr "Parametri di comunicazione incompatibili." #: ../coreapi/callbacks.c:633 msgid "We have been resumed." -msgstr "" +msgstr "La comunicazione è stata ripresa." #. we are being paused #: ../coreapi/callbacks.c:642 msgid "We are paused by other party." -msgstr "" +msgstr "L'interlocutore ci ha messi in attesa." #. reINVITE and in-dialogs UPDATE go here #: ../coreapi/callbacks.c:680 msgid "Call is updated by remote." -msgstr "" +msgstr "Aggiornamento della chiamata dalla parte remota." -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "Chiamata terminata." -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "Utente occupato" -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "Utente non disponibile" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "L'utente non vuole essere disturbato" -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "Chiamata rifiutata" -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." -msgstr "" +msgstr "Richiesta scaduta" -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" -msgstr "" +msgstr "Trasferito" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." -msgstr "" +msgstr "Chiamata non riuscita." -#: ../coreapi/callbacks.c:1007 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Registration on %s successful." msgstr "Registrazione su %s attiva" -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1009 #, c-format msgid "Unregistration on %s done." msgstr "Unregistrazione su %s" -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "timeout no risposta" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "Registrazione su %s fallita: %s" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" -msgstr "" +msgstr "Servizio non disponibile, nuovo tentativo in corso" #. if encryption is DTLS, no status to be displayed #: ../coreapi/linphonecall.c:181 #, c-format msgid "Authentication token is %s" -msgstr "" +msgstr "Il codice di autenticazione è %s" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." -msgstr "" +msgstr "I parametri della chiamata sono stati modificati con successo." -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%i chiamata persa." +msgstr[1] "%i chiamate perse." #: ../coreapi/call_log.c:209 msgid "aborted" -msgstr "" +msgstr "annulata" #: ../coreapi/call_log.c:212 msgid "completed" -msgstr "" +msgstr "completata" #: ../coreapi/call_log.c:215 msgid "missed" -msgstr "" +msgstr "persa" #: ../coreapi/call_log.c:218 msgid "unknown" -msgstr "" +msgstr "sconosciuto" #: ../coreapi/call_log.c:220 #, c-format @@ -2036,12 +2111,17 @@ msgid "" "Status: %s\n" "Duration: %i mn %i sec\n" msgstr "" +"%s a %s\n" +"Da: %s\n" +"A: %s\n" +"Stato: %s\n" +"Durata: %i min %i sec\n" #: ../coreapi/call_log.c:221 msgid "Outgoing call" -msgstr "" +msgstr "chiamata in uscita" #: ../gtk/videowindow.c:66 #, c-format msgid "Cannot play %s." -msgstr "" +msgstr "Impossibile riprodurre %s." diff --git a/po/ja.po b/po/ja.po index 5bf3b38a4..c0d7b5838 100644 --- a/po/ja.po +++ b/po/ja.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Alexander, 2014 # Alexander, 2014-2015 @@ -9,14 +9,16 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" "PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Japanese (http://www.transifex.com/p/linphone-gtk/language/ja/)\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Japanese (http://www.transifex.com/belledonne-communications/" +"linphone-gtk/language/ja/)\n" +"Language: ja\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 @@ -67,14 +69,16 @@ msgstr[0] "%i 秒" msgid "" "%s\tQuality: %s\n" "%s\t%s\t" -msgstr "%s品質: %s\n%s⇥%s⇥" +msgstr "" +"%s品質: %s\n" +"%s⇥%s⇥" #: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s⇥%s" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "会議" @@ -87,6 +91,10 @@ msgstr "自分" msgid "Couldn't find pixmap file: %s" msgstr "pixmapファイルが見つかりません %s" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "実行中にいくつかのデバッグ情報をstdoutに送信します。" @@ -113,9 +121,11 @@ msgstr "今すぐに呼び出す" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" -msgstr "作業ディレクトリをSpecifiy (インストールした時のベースである必要があります。例:c:\\Program Files\\Linphone)" +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" +msgstr "" +"作業ディレクトリをSpecifiy (インストールした時のベースである必要があります。" +"例:c:\\Program Files\\Linphone)" #: ../gtk/main.c:145 msgid "Configuration file" @@ -129,88 +139,89 @@ msgstr "オーディオアシスタントを実行" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "呼出エラー" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "呼出終了" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "着信" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "応答" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "拒否" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "呼び出しの一時停止" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "%s" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "ウェブサイトリンク" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "%s (デフォルト)" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "%s に転送しました" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 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:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "無料 SIP ビデオ-電話" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "" @@ -288,108 +299,108 @@ msgstr "使用する" msgid "Disabled" msgstr "使用しない" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "アカウント" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "English" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "Français" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "Svenska" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "Italiano" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "Español" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "Português do Brasil" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "Polski" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "Deutsch" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "Pусский" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "日本語" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "Nederlands" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "Magyar" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "čeština" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "简体中文" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "繁体中文" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "Norsk" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "עברית" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "Cрпски" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 msgid "" "You need to restart linphone for the new language selection to take effect." msgstr "言語の選択を有効にするには、 Linphoneを再起動する必要があります。" -#: ../gtk/propertybox.c:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "なし" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "SRTP" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "ZRTP" @@ -398,7 +409,9 @@ msgstr "ZRTP" msgid "" "A more recent version is availalble from %s.\n" "Would you like to open a browser to download it ?" -msgstr "%s よりも新しいバージョンが利用可能です。\nダウンロードするために、ブラウザを開きますか?" +msgstr "" +"%s よりも新しいバージョンが利用可能です。\n" +"ダウンロードするために、ブラウザを開きますか?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -430,149 +443,156 @@ msgid "Found %i contact" msgid_plural "Found %i contacts" msgstr[0] "%i 件発見" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." -msgstr "ようこそ!\nあなたの通話のためのSIPアカウント設定をお手伝いします。" +msgstr "" +"ようこそ!\n" +"あなたの通話のためのSIPアカウント設定をお手伝いします。" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "linphone.orgのアカウントを作成" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "linphone.orgのアカウントを持っているのでそれを使います" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "SIPアカウントを持っているのでそれを使います" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "ユーザー名*" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "パスワード*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "ドメイン*" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "プロキシ*" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "linphone.orgで取得したユーザー名を入力" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "ユーザー名:" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "パスワード:" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "(*) 必須" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "ユーザー名: (*)" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "パスワード: (*)" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "メールアドレス: (*)" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "パスワードを再入力: (*)" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "アップデートでLinphoneを常に最新にする" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "送信されたメールの本文内にあるリンクをクリックしてアカウントを有効にしてください。\nその後こちらへ戻って「次へ」を押してください。" +msgstr "" +"送信されたメールの本文内にあるリンクをクリックしてアカウントを有効にしてくだ" +"さい。\n" +"その後こちらへ戻って「次へ」を押してください。" -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." msgstr "" -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." -msgstr "ありがとう。あなたのアカウントは無事に設定され、使用する準備ができました。" +msgstr "" +"ありがとう。あなたのアカウントは無事に設定され、使用する準備ができました。" -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "SIPアカウント設定アシスタント" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "アカウント設定アシスタントへようこそ" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "アカウント設定アシスタント" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "アカウントを設定します (1/1)" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "SIPのユーザー名を入力してください (1/1)" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "アカウント情報を入力してください (1/2)" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "検証します (2/2)" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "エラー" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "終了" @@ -643,7 +663,9 @@ msgstr "" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "ダウンロード: %f\nアップロード: %f (kbit/s)" +msgstr "" +"ダウンロード: %f\n" +"アップロード: %f (kbit/s)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -655,115 +677,116 @@ msgstr "%ix%i @ %f fps" msgid "%.3f seconds" msgstr "%.3f 秒" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "かけています…" -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" -msgstr "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +msgid "00:00:00" +msgstr "00:00:00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "着信" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "良い" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "アベレージ" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "悪い" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "非常にプアな" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "非常にバッドな" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "利用できません" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "SRTPのセキュリティ" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "ZRTP によるセキュリティ - [auth token: %s]" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "セット未検証" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "セット検証済" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "会議で" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "呼び出し中" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "呼び出し停止" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "呼び出し終了" -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "進行中の転送" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "転送完了。" -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "転送失敗。" -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "レジューム" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "一時停止" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "(停止中)" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "" @@ -860,7 +883,7 @@ msgstr "Linphoneをはじめる" msgid "Audio Assistant" msgstr "音声アシスタント" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "音声アシスタント" @@ -877,165 +900,97 @@ msgid "Record and Play" msgstr "録音して再生" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "送信" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "会議を終了する" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "この通話をファイルに録音する" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "ビデオ" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "消音" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "転送" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "着信" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "期限" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "すべての利用者" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "オンラインの利用者" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "ADSL" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "デフォルト" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "削除" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "_オプション" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "いつでもビデオをスタートする" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "セルフビューを有効にする" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "_ヘルプ" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "デバッグウインドウを見る" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "_ホームページ" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "チェック _アップデート" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "アカウントのアシスタント" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "SIPアドレスもしくは電話番号:" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "検索" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "連絡相手に追加する" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "ユーザー名" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "パスワード" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "インターネット接続:" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "自動的にログインする" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "ユーザーID" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "ログイン情報" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "Linphoneについて" @@ -1046,7 +1001,9 @@ msgstr "(C) Belledonne Communications, 2010\n" #: ../gtk/about.ui.h:4 msgid "An internet video phone using the standard SIP (rfc3261) protocol." -msgstr "インターネットによる動画送信には標準的なSIPプロトコル (rfc3261) を使用しています。" +msgstr "" +"インターネットによる動画送信には標準的なSIPプロトコル (rfc3261) を使用してい" +"ます。" #: ../gtk/about.ui.h:5 msgid "" @@ -1062,7 +1019,19 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: Eli Zaretskii \n" -msgstr "fr: Simon Morlat\nen: Simon Morlat and Delphine Perreau\nit: Alberto Zanoni \nde: Jean-Jacques Sarton \nsv: Daniel Nylander \nes: Jesus Benitez \nja: YAMAGUCHI YOSHIYA \npt_BR: Rafael Caesar Lenzi \npl: Robert Nasiadek \ncs: Petr Pisar \nhu: anonymous\nhe: Eli Zaretskii \n" +msgstr "" +"fr: Simon Morlat\n" +"en: Simon Morlat and Delphine Perreau\n" +"it: Alberto Zanoni \n" +"de: Jean-Jacques Sarton \n" +"sv: Daniel Nylander \n" +"es: Jesus Benitez \n" +"ja: YAMAGUCHI YOSHIYA \n" +"pt_BR: Rafael Caesar Lenzi \n" +"pl: Robert Nasiadek \n" +"cs: Petr Pisar \n" +"hu: anonymous\n" +"he: Eli Zaretskii \n" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1096,6 +1065,10 @@ msgstr "" msgid "Please enter the domain password" msgstr "" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "ユーザーID" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "呼出履歴" @@ -1638,6 +1611,14 @@ msgstr "ポート" msgid "Configure tunnel" msgstr "" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "ユーザー名" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "パスワード" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "" @@ -1737,8 +1718,11 @@ msgstr "" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " msgstr "" #: ../gtk/provisioning-fetch.ui.h:1 @@ -1749,60 +1733,112 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "送信" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "会議を終了する" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "この通話をファイルに録音する" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "ビデオ" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "消音" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "転送" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "着信" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "期限" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "インターネット接続:" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "自動的にログインする" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "ログイン情報" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "準備" -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "" - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "" - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr "と自動応答を尋ねる" -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "コールパラメーターの変更..." -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "接続しました。" -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "呼び出しを打ち切る" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "呼び出しを一時停止できませんでした" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "現在の通話を一時停止..." @@ -1866,23 +1902,36 @@ msgstr "休暇中" msgid "Unknown status" msgstr "不明なステータス" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." msgstr "" -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "" -#: ../coreapi/proxy.c:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "" + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "" + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "" +#: ../coreapi/proxy.c:1494 +#, c-format +msgid "Refreshing on %s..." +msgstr "" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "" @@ -1918,7 +1967,7 @@ msgstr "" msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "" @@ -1936,59 +1985,59 @@ msgstr "" msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "呼び出し終了。" -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "相手はビジーです。" -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "相手は、今出られません。" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "相手は手が離せないようです。" -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "通話は拒否されました。" -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "リクエストは時間切れです。" -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:1007 -#, c-format -msgid "Registration on %s successful." -msgstr "" - #: ../coreapi/callbacks.c:1008 #, c-format +msgid "Registration on %s successful." +msgstr "" + +#: ../coreapi/callbacks.c:1009 +#, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "" @@ -1998,11 +2047,11 @@ msgstr "" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/nb_NO.po b/po/nb_NO.po index 536cee0ae..638f894ed 100644 --- a/po/nb_NO.po +++ b/po/nb_NO.po @@ -1,21 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Øyvind Sæther , 2011 msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" "PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/p/linphone-gtk/language/nb_NO/)\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/" +"belledonne-communications/linphone-gtk/language/nb_NO/)\n" +"Language: nb_NO\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nb_NO\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 @@ -75,7 +77,7 @@ msgstr "" msgid "%s\t%s" msgstr "" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "" @@ -88,6 +90,10 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "Fant ikke pixmap fli: %s" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "skriv logg-informasjon under kjøring" @@ -114,9 +120,11 @@ msgstr "address som skal ringes nå" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" -msgstr "Spesifiser arbeidsmappe (bør være base for installasjonen, f.eks: c:\\Programfiler\\Linphone)" +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" +msgstr "" +"Spesifiser arbeidsmappe (bør være base for installasjonen, f.eks: c:" +"\\Programfiler\\Linphone)" #: ../gtk/main.c:145 msgid "Configuration file" @@ -130,88 +138,91 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "Samtale avsluttet" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Innkommende samtale" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Svarer" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Avvis" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "Peker til nettsted" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "%s (Standard)" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "Vi er overført til %s" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." -msgstr "Klarte ikke å finne noe lydkort på denne datamaskinen.\nDu vil ikke kunne sende eller motta lydsamtaler." +msgstr "" +"Klarte ikke å finne noe lydkort på denne datamaskinen.\n" +"Du vil ikke kunne sende eller motta lydsamtaler." -#: ../gtk/main.c:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "En gratis SIP video-telefon" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "" @@ -289,108 +300,108 @@ msgstr "På" msgid "Disabled" msgstr "Av" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "Konto" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "Engelsk" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "Fransk" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "Svensk" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "Italisensk" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "Spansk" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "Portugisisk" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "Polsk" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "Tysk" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "Russisk" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "Japansk" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "Nederlandsk" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "Ungarsk" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "Tjekkisk" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "Kinesisk" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 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:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "" @@ -399,7 +410,9 @@ msgstr "" msgid "" "A more recent version is availalble from %s.\n" "Would you like to open a browser to download it ?" -msgstr "En nyere utgave er tilgjengelig fra %s.\nVil du åpne en nettleser og laste den ned ?" +msgstr "" +"En nyere utgave er tilgjengelig fra %s.\n" +"Vil du åpne en nettleser og laste den ned ?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -432,149 +445,150 @@ msgid_plural "Found %i contacts" msgstr[0] "Fant kontakt %i" msgstr[1] "Hittat kontakt %i" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Brukernavn:" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Passord:" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "" -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." msgstr "" -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "Takk. Ditt konto er nå satt opp og klart til bruk." -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "Velkommen til brukerkontoveiviseren" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "Brukerkontoveiviser" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "" @@ -657,115 +671,117 @@ msgstr "" msgid "%.3f seconds" msgstr "" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "Ringer..." -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#, fuzzy +msgid "00:00:00" msgstr "00:00:00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "Innkommende samtale" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "I samtale med" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "Pauset samtale" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "Samtale avsluttet." -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "" -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "" -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "Fortsett" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Pause" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "Skriv inn påloggingsinformasjon for %s:" @@ -862,7 +878,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "" @@ -879,165 +895,97 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "Send" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "Overfører" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "I samtale" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "Varighet" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "Alle brukere" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "Tilkoblede brukere" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "ADSL" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "Fiber Kanal" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Standard" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "_Alternativer" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "Vis video av deg selv" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "_Hjelp" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "Vis avlusningsvindu" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "H_jemmeside" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "Sjekk _Oppdateringer" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "Sip adresse eller telefonnummer:" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "Start en ny samtale" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "Kontakter" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "Søk" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "Legg til kontakter fra katalogen" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "Legg til kontakt" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "Min nåværende identitet:" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "Brukernavn" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "Passord" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "Internet forbindelse:" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "Logg meg på automatisk" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "BrukerID" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "Innlogginsinformasjon" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "" @@ -1048,7 +996,9 @@ msgstr "" #: ../gtk/about.ui.h:4 msgid "An internet video phone using the standard SIP (rfc3261) protocol." -msgstr "En Internet Videotelefon som bruker den standardiserte SIP-protokollen (rfc3261)." +msgstr "" +"En Internet Videotelefon som bruker den standardiserte SIP-protokollen " +"(rfc3261)." #: ../gtk/about.ui.h:5 msgid "" @@ -1098,6 +1048,10 @@ msgstr "Linphone - Autorisering kreves" msgid "Please enter the domain password" msgstr "Skriv inn passordet for domenet" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "BrukerID" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "Samtalehistorikk" @@ -1640,6 +1594,14 @@ msgstr "" msgid "Configure tunnel" msgstr "" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "Brukernavn" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "Passord" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "" @@ -1739,8 +1701,11 @@ msgstr "" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " msgstr "" #: ../gtk/provisioning-fetch.ui.h:1 @@ -1751,60 +1716,112 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "Send" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "Overfører" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "I samtale" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "Varighet" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "Internet forbindelse:" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "Logg meg på automatisk" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "Innlogginsinformasjon" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "Klar" -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "Ser etter telefonnummer for destinasjonen..." - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "Kan ikke tilkoble dette nummeret." - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "Tilknytter" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "Kunne ikke ringe" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Beklager, du har nådd maksimalt antall samtidige samtaler" -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "Kontakter deg." -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr " og ba om autosvar." -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "Endrer ringeparametre..." -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "Tilkoblet" -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "Samtale avbrutt" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "Kunne ikke pause samtalen" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "Pauser nåværende samtale" @@ -1868,23 +1885,40 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." -msgstr "SIP proxy adressen du har angitt er ugyldig, den må begynne med \"sip:\" etterfult av vertsnavn." +msgstr "" +"SIP proxy adressen du har angitt er ugyldig, den må begynne med \"sip:\" " +"etterfult av vertsnavn." -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" -msgstr "SIP adressen du har angitt er feil. Adressen bør se ut som sip: brukernavn@domenenavn, f.eks sip:ola@eksempel.no" +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:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "Ser etter telefonnummer for destinasjonen..." + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "Kan ikke tilkoble dette nummeret." + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "Ikke ikke logge inn som %s" +#: ../coreapi/proxy.c:1494 +#, c-format +msgid "Refreshing on %s..." +msgstr "" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "Ringer hos motparten." @@ -1920,7 +1954,7 @@ msgstr "Samtale besvart av %s." msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "" @@ -1938,59 +1972,59 @@ msgstr "" msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "Samtale avsluttet." -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "Brukeren er opptatt." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "Brukeren er midlertidig ikke tilgjengelig." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "Brukeren vil ikke bli forstyrret." -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "Samtale avvist." -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "Omdirigert" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "Samtale feilet." -#: ../coreapi/callbacks.c:1007 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Registration on %s successful." msgstr "Registrering hos %s lykkes." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1009 #, c-format msgid "Unregistration on %s done." msgstr "Avregistrering hos %s lykkes." -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "ingen svar innen angitt tid" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "Registrering hos %s mislykkes: %s" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "" @@ -2000,11 +2034,11 @@ msgstr "" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/nl.po b/po/nl.po index 5f549477f..647840d44 100644 --- a/po/nl.po +++ b/po/nl.po @@ -1,21 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Heimen Stoffels , 2015 msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" "PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Dutch (http://www.transifex.com/p/linphone-gtk/language/nl/)\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Dutch (http://www.transifex.com/belledonne-communications/" +"linphone-gtk/language/nl/)\n" +"Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 @@ -68,14 +70,16 @@ msgstr[1] "%i seconden" msgid "" "%s\tQuality: %s\n" "%s\t%s\t" -msgstr "%s\tKwaliteit: %s\n%s\t%s\t" +msgstr "" +"%s\tKwaliteit: %s\n" +"%s\t%s\t" #: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s\t%s" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "Vergadering" @@ -88,9 +92,15 @@ msgstr "Ik" msgid "Couldn't find pixmap file: %s" msgstr "Het pixmap-bestand %s kon niet worden gevonden" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." -msgstr "loggen naar stdout om wat foutopsporingsinformatie te verkrijgen tijdens uitvoeren." +msgstr "" +"loggen naar stdout om wat foutopsporingsinformatie te verkrijgen tijdens " +"uitvoeren." #: ../gtk/main.c:139 msgid "display version and exit." @@ -114,9 +124,11 @@ msgstr "adres om nu naar toe te bellen" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" -msgstr "Specificeer een werkmap (dit moet de basis van uw installatie zijn, bijv.: C:\\Program Files\\Linphone)" +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" +msgstr "" +"Specificeer een werkmap (dit moet de basis van uw installatie zijn, bijv.: C:" +"\\Program Files\\Linphone)" #: ../gtk/main.c:145 msgid "Configuration file" @@ -130,88 +142,93 @@ msgstr "Doorloop de audio-instelwizard" msgid "Run self test and exit 0 if succeed" msgstr "Draai een zelftest en exit 0 wanneer succesvol" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" -msgstr "Vul uw wachtwoord in voor gebruikersnaam %s\nop realm %s" +msgstr "" +"Vul uw wachtwoord in voor gebruikersnaam %s\n" +"op realm %s" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "Oproepfout" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "Oproep beëindigd" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Inkomende oproep" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Opnemen" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Weigeren" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "Oproep gepauzeerd" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "door %s" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s stelt u voor om video in te schakelen. Wilt u dit accepteren?" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "Websitelink" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "%s (Standaard)" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "We zijn overgeschakeld naar %s" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." -msgstr "Er zijn geluidskaarten aangetroffen op deze computer.\nU zult niet in staat zijn om audio-oproepen te ontvangen of versturen." +msgstr "" +"Er zijn geluidskaarten aangetroffen op deze computer.\n" +"U zult niet in staat zijn om audio-oproepen te ontvangen of versturen." -#: ../gtk/main.c:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "Een gratis SIP-videotelefoon" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "" @@ -289,108 +306,109 @@ msgstr "Ingeschakeld" msgid "Disabled" msgstr "Uitgeschakeld" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "Account" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "Engels" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "Frans" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "Zweeds" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "Italiaans" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "Spaans" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "Braziliaans Portugees" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "Pools" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "Duits" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "Russisch" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "Japans" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "Nederlands" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "Hongaars" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "Tjechisch" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "Chinees" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "Traditioneel Chinees" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "Noors" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "Hebreeuws" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "Servisch" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 msgid "" "You need to restart linphone for the new language selection to take effect." -msgstr "U moet linphone herstarten om de nieuw geselecteerde taal toe te passen." +msgstr "" +"U moet linphone herstarten om de nieuw geselecteerde taal toe te passen." -#: ../gtk/propertybox.c:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "Geen" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "SRTP" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "DTLS" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "ZRTP" @@ -399,7 +417,9 @@ msgstr "ZRTP" msgid "" "A more recent version is availalble from %s.\n" "Would you like to open a browser to download it ?" -msgstr "Er is een nieuwere versie beschikbaar op %s.\nWilt een webbrowser openen en deze downloaden?" +msgstr "" +"Er is een nieuwere versie beschikbaar op %s.\n" +"Wilt een webbrowser openen en deze downloaden?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -432,149 +452,159 @@ msgid_plural "Found %i contacts" msgstr[0] "%i contactpersoon gevonden" msgstr[1] "%i contactpersonen gevonden" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." -msgstr "Welkom!\nDeze instelwizard zal u begeleiden bij het gebruiken van een SIP-account voor oproepen." +msgstr "" +"Welkom!\n" +"Deze instelwizard zal u begeleiden bij het gebruiken van een SIP-account " +"voor oproepen." -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "Creëer een account op linphone.org" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "Ik heb al een linphone.org-account en wil deze graag gebruiken" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "Ik heb al een SIP-account en wil deze graag gebruiken" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "Ik wil een externe URI-configuratie opgeven" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "Gebruikersnaam*" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "Wachtwoord*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "Domeinnaam*" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "Vul uw linphone.org-gebruikersnaam in" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Gebruikersnaam:" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Wachtwoord:" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "(*) Verplichte velden" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "Gebruikersnaam: (*)" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "Wachtwoord: (*)" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "E-mailadres: (*)" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "Bevestig uw wachtwoord: (*)" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "Houdt me op de hoogte van linphone-updates" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "Valideer uw account door te klikken op de link die we zojuist naar uw e-mailadres hebben verstuurd.\nKom dan terug naar dit venster en klik op de knop Volgende." +msgstr "" +"Valideer uw account door te klikken op de link die we zojuist naar uw e-" +"mailadres hebben verstuurd.\n" +"Kom dan terug naar dit venster en klik op de knop Volgende." -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." -msgstr "Er is een fout opgetreden: uw account is niet gevalideerd, de gebruikersnaam wordt al door iemand anders gebruikt of de server is onbereikbaar.\nGa terug en probeer het opnieuw." +msgstr "" +"Er is een fout opgetreden: uw account is niet gevalideerd, de gebruikersnaam " +"wordt al door iemand anders gebruikt of de server is onbereikbaar.\n" +"Ga terug en probeer het opnieuw." -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "Bedankt. Uw account is nu ingesteld en klaar voor gebruik." -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "SIP-account-instelwizard" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "Welkom bij de account-instelwizard" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "Account-instelwizard" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "Uw account instellen (stap 1/1)" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "Vul uw SIP-gebruikersnaam in (stap 1/1)" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "Vul uw accountinformatie in (stap 1/2)" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "Geldigheid (stap 2/2)" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "Fout" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "Bezig met vernietigen" @@ -645,7 +675,9 @@ msgstr "Direct of via een server" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "download: %f\nupload: %f (kbit/s)" +msgstr "" +"download: %f\n" +"upload: %f (kbit/s)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -657,115 +689,116 @@ msgstr "%ix%i @ %f fps" msgid "%.3f seconds" msgstr "%.3f seconden" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "Ophangen" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "Bezig met bellen..." -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" -msgstr "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +msgid "00:00:00" +msgstr "00:00:00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "Inkomende oproep" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "goed" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "gemiddeld" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "slecht" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "erg slecht" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "verschrikkelijk" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "niet beschikbaar" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "Beveiligd door SRTP" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "Beveiligd door DTLS" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "Beveiligd door ZRTP - [authenticatiesleutel: %s]" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "Instellen als niet-geverifieerd" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Instellen als geverifieerd" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "In een vergadering" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "In gesprek" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "Gepauzeerde oproep" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "Oproep is beëindigd." -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "De overdracht is bezig" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "De overdracht is voltooid." -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "De overdracht is mislukt." -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "Hervatten" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Pauzeren" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "Bezig met opnemen naar%s %s" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "(Gepauzeerd)" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "Vul uw inloggegevens in voor %s" @@ -812,7 +845,10 @@ msgstr "Het systeemgeluidspaneel kon niet worden gestart" msgid "" "Welcome!\n" "This assistant will help you to configure audio settings for Linphone" -msgstr "Welkom!\nDeze instelwizard zal u begeleiden bij het instellen van de audio-instellingen van Linphone" +msgstr "" +"Welkom!\n" +"Deze instelwizard zal u begeleiden bij het instellen van de audio-" +"instellingen van Linphone" #: ../gtk/audio_assistant.c:335 msgid "Capture device" @@ -862,7 +898,7 @@ msgstr "Laten we nu Linphone opstarten" msgid "Audio Assistant" msgstr "Audio-instelwizard" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "Audio-instelwizard" @@ -879,165 +915,97 @@ msgid "Record and Play" msgstr "Opnemen en afspelen" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "Bellernaam" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "Verzenden" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "Vergadering beëindigen" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "Deze oproep opnemen naar een audiobestand" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "Video" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "Dempen" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "Overdracht" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "In gesprek" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "Duur" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "Waardering van de gesprekskwaliteit" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "Alle gebruikers" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "Online gebruikers" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "ADSL" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "Fiber-kanaal" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Standaard" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "Verwijderen" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "_Opties" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "Configuratie-URI instellen" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "Video altijd starten" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "Eigen weergave inschakelen" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "_Hulp" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "Foutopsporingsvenster weergeven" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "_Website" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "Controleren op _updates" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "Account-instelwizard" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "SIP-adres of telefoonnummer:" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "Een nieuw gesprek beginnen" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "Contactpersonen" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "Zoeken" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "Voeg contactpersonen toe uit map" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "Contactpersoon toevoegen" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "Recente gesprekken" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "Mijn huidige identiteit:" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "Gebruikersnaam" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "Wachtwoord" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "Internetverbinding:" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "Automatisch inloggen" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "Gebruikersidentificatie" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "Inloginformatie" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "Welkom!" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "Over Linphone" @@ -1048,7 +1016,9 @@ msgstr "(C) Belledonne Communications, 2010\n" #: ../gtk/about.ui.h:4 msgid "An internet video phone using the standard SIP (rfc3261) protocol." -msgstr "Een internetvideotelefoon gebruikmakende van het standaard SIP (rfc3261) protocol." +msgstr "" +"Een internetvideotelefoon gebruikmakende van het standaard SIP (rfc3261) " +"protocol." #: ../gtk/about.ui.h:5 msgid "" @@ -1064,7 +1034,19 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: Eli Zaretskii \n" -msgstr "fr: Simon Morlat\nen: Simon Morlat and Delphine Perreau\nit: Alberto Zanoni \nde: Jean-Jacques Sarton \nsv: Daniel Nylander \nes: Jesus Benitez \nja: YAMAGUCHI YOSHIYA \npt_BR: Rafael Caesar Lenzi \npl: Robert Nasiadek \ncs: Petr Pisar \nhu: anonymous\nhe: Eli Zaretskii \n" +msgstr "" +"fr: Simon Morlat\n" +"en: Simon Morlat and Delphine Perreau\n" +"it: Alberto Zanoni \n" +"de: Jean-Jacques Sarton \n" +"sv: Daniel Nylander \n" +"es: Jesus Benitez \n" +"ja: YAMAGUCHI YOSHIYA \n" +"pt_BR: Rafael Caesar Lenzi \n" +"pl: Robert Nasiadek \n" +"cs: Petr Pisar \n" +"hu: anonymous\n" +"he: Eli Zaretskii \n" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1076,7 +1058,8 @@ msgstr "De aanwezigheidsstatus van dit contactpersoon weergeven" #: ../gtk/contact.ui.h:4 msgid "Allow this contact to see my presence status" -msgstr "Toestaan dat deze contactpersoon mijn aanwezigheidsstatus kan weergeven" +msgstr "" +"Toestaan dat deze contactpersoon mijn aanwezigheidsstatus kan weergeven" #: ../gtk/contact.ui.h:5 msgid "Contact information" @@ -1098,6 +1081,10 @@ msgstr "Linphone - Authenticatie is vereist" msgid "Please enter the domain password" msgstr "Vul het domeinnaamwachtwoord in" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "Gebruikersidentificatie" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "Gespreksgeschiedenis" @@ -1640,6 +1627,14 @@ msgstr "" msgid "Configure tunnel" msgstr "" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "Gebruikersnaam" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "Wachtwoord" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "" @@ -1739,8 +1734,11 @@ msgstr "" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " msgstr "" #: ../gtk/provisioning-fetch.ui.h:1 @@ -1751,60 +1749,112 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "Verzenden" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "Bellernaam" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "Vergadering beëindigen" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "Deze oproep opnemen naar een audiobestand" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "Video" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "Dempen" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "Overdracht" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "In gesprek" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "Duur" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "Waardering van de gesprekskwaliteit" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "Internetverbinding:" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "Automatisch inloggen" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "Inloginformatie" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "Welkom!" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "Gereed." -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "Zoekt de lokatie van het telefoonnummer..." - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "Kon dit nummer niet vinden." - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "Verbinden" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr "" -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "Verbonden." -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "" @@ -1868,23 +1918,36 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." msgstr "" -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "" -#: ../coreapi/proxy.c:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "Zoekt de lokatie van het telefoonnummer..." + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "Kon dit nummer niet vinden." + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "" +#: ../coreapi/proxy.c:1494 +#, fuzzy, c-format +msgid "Refreshing on %s..." +msgstr "bezig met ophalen van %s" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "" @@ -1920,7 +1983,7 @@ msgstr "" msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "" @@ -1938,59 +2001,59 @@ msgstr "" msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "Oproep beeindigd." -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "Gebruiker is bezet." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "Gebruiker is tijdelijk niet beschikbaar." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "De gebruiker wenst niet gestoord te worden." -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "Oproep geweigerd." -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:1007 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Registration on %s successful." msgstr "Registratie op %s gelukt." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1009 #, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "" @@ -2000,11 +2063,11 @@ msgstr "" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/pl.po b/po/pl.po index e55db2c35..27329ea36 100644 --- a/po/pl.po +++ b/po/pl.po @@ -1,21 +1,24 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" "PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Polish (http://www.transifex.com/p/linphone-gtk/language/pl/)\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Polish (http://www.transifex.com/belledonne-communications/" +"linphone-gtk/language/pl/)\n" +"Language: pl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pl\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " +"|| n%100>=20) ? 1 : 2);\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 #, c-format @@ -76,7 +79,7 @@ msgstr "" msgid "%s\t%s" msgstr "" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "" @@ -89,6 +92,10 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "Nie można znaleźć pixmapy: %s" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "" @@ -115,8 +122,8 @@ msgstr "" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" msgstr "" #: ../gtk/main.c:145 @@ -131,88 +138,89 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 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:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "" @@ -290,108 +298,108 @@ msgstr "Włączone" msgid "Disabled" msgstr "Wyłączone" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 msgid "" "You need to restart linphone for the new language selection to take effect." msgstr "" -#: ../gtk/propertybox.c:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "" @@ -434,149 +442,150 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "" -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." msgstr "" -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "" -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "" @@ -659,115 +668,116 @@ msgstr "" msgid "%.3f seconds" msgstr "" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "" -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +msgid "00:00:00" msgstr "" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "" -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "" -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "" -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "" @@ -864,7 +874,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "" @@ -881,165 +891,97 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "" @@ -1100,6 +1042,10 @@ msgstr "" msgid "Please enter the domain password" msgstr "" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "" @@ -1642,6 +1588,14 @@ msgstr "" msgid "Configure tunnel" msgstr "" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "" @@ -1741,8 +1695,11 @@ msgstr "" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " msgstr "" #: ../gtk/provisioning-fetch.ui.h:1 @@ -1753,60 +1710,112 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "" -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "" - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "" - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr "" -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "Połączony" -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "" @@ -1870,23 +1879,36 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." msgstr "" -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "" -#: ../coreapi/proxy.c:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "" + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "" + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "" +#: ../coreapi/proxy.c:1494 +#, c-format +msgid "Refreshing on %s..." +msgstr "" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "" @@ -1922,7 +1944,7 @@ msgstr "" msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "" @@ -1940,59 +1962,59 @@ msgstr "" msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "" -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "Osoba jest zajęta." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "Osoba jest tymczasowo niedostępna." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "Osoba nie chce, aby jej przeszkadzać." -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "Rozmowa odrzucona." -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:1007 -#, c-format -msgid "Registration on %s successful." -msgstr "" - #: ../coreapi/callbacks.c:1008 #, c-format +msgid "Registration on %s successful." +msgstr "" + +#: ../coreapi/callbacks.c:1009 +#, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "" @@ -2002,11 +2024,11 @@ msgstr "" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/pt_BR.po b/po/pt_BR.po index c5b67d577..bf6aa49b8 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -1,20 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" "PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/p/linphone-gtk/language/pt_BR/)\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/belledonne-" +"communications/linphone-gtk/language/pt_BR/)\n" +"Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 @@ -74,7 +76,7 @@ msgstr "" msgid "%s\t%s" msgstr "" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "" @@ -87,6 +89,10 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "Não é possível achar arquivo pixmap: %s" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "" @@ -113,8 +119,8 @@ msgstr "" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" msgstr "" #: ../gtk/main.c:145 @@ -129,88 +135,89 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Camadas recebidas" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 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:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "" @@ -288,108 +295,108 @@ msgstr "Ativado" msgid "Disabled" msgstr "Desativado" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 msgid "" "You need to restart linphone for the new language selection to take effect." msgstr "" -#: ../gtk/propertybox.c:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "Nenhum" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "" @@ -431,149 +438,150 @@ msgid_plural "Found %i contacts" msgstr[0] "" msgstr[1] "" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "" -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." msgstr "" -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "" -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "" @@ -656,115 +664,116 @@ msgstr "" msgid "%.3f seconds" msgstr "" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "" -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +msgid "00:00:00" msgstr "" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "" -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "" -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "" -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "" @@ -861,7 +870,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "" @@ -878,165 +887,97 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "" @@ -1097,6 +1038,10 @@ msgstr "" msgid "Please enter the domain password" msgstr "" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "" @@ -1639,6 +1584,14 @@ msgstr "" msgid "Configure tunnel" msgstr "" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "" @@ -1738,8 +1691,11 @@ msgstr "" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " msgstr "" #: ../gtk/provisioning-fetch.ui.h:1 @@ -1750,60 +1706,112 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "" -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "Procurando por telefone de destino..." - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "Não foi possível encontrar este número." - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr "" -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "Conectado." -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "" @@ -1867,23 +1875,36 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." msgstr "" -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "" -#: ../coreapi/proxy.c:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "Procurando por telefone de destino..." + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "Não foi possível encontrar este número." + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "" +#: ../coreapi/proxy.c:1494 +#, c-format +msgid "Refreshing on %s..." +msgstr "" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "" @@ -1919,7 +1940,7 @@ msgstr "" msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "" @@ -1937,59 +1958,59 @@ msgstr "" msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "" -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "Usuário está ocupado." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "Usuário está temporáriamente indisponível." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "" -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "" -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:1007 -#, c-format -msgid "Registration on %s successful." -msgstr "" - #: ../coreapi/callbacks.c:1008 #, c-format +msgid "Registration on %s successful." +msgstr "" + +#: ../coreapi/callbacks.c:1009 +#, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "" @@ -1999,11 +2020,11 @@ msgstr "" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/ru.po b/po/ru.po index 8b8d0385e..48f1f7880 100644 --- a/po/ru.po +++ b/po/ru.po @@ -1,7 +1,7 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # AlexL , 2014 # AlexL , 2014-2015 @@ -12,15 +12,18 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" -"PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Russian (http://www.transifex.com/p/linphone-gtk/language/ru/)\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" +"PO-Revision-Date: 2015-07-17 07:40+0000\n" +"Last-Translator: AlexL \n" +"Language-Team: Russian (http://www.transifex.com/belledonne-communications/" +"linphone-gtk/language/ru/)\n" +"Language: ru\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: ru\n" -"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n" +"%100>=11 && n%100<=14)? 2 : 3);\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 #, c-format @@ -76,14 +79,16 @@ msgstr[3] "%i секунд" msgid "" "%s\tQuality: %s\n" "%s\t%s\t" -msgstr "%s\tКачество: %s\n%s\t%s\t" +msgstr "" +"%s\tКачество: %s\n" +"%s\t%s\t" #: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s\t%s" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "Конференция" @@ -96,9 +101,15 @@ msgstr "Мне" msgid "Couldn't find pixmap file: %s" msgstr "Невозможно найти графический файл: %s" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." -msgstr "Вывод некоторой отладочной информации на устройство стандартного вывода во время работы." +msgstr "" +"Вывод некоторой отладочной информации на устройство стандартного вывода во " +"время работы." #: ../gtk/main.c:139 msgid "display version and exit." @@ -122,9 +133,11 @@ msgstr "Адрес для звонка прямо сейчас." #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" -msgstr "Определить рабочий каталог (относительно каталога установки, например: c:\\Program Files\\Linphone)" +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" +msgstr "" +"Определить рабочий каталог (относительно каталога установки, например: c:" +"\\Program Files\\Linphone)" #: ../gtk/main.c:145 msgid "Configuration file" @@ -138,88 +151,97 @@ msgstr "Запустить помощника аудио" msgid "Run self test and exit 0 if succeed" msgstr "Запустить самотест и выйти при успехе со статусом 0" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" +"%s хочет добавить Вас в его/её список контактов.\n" +"Вы бы добавили его/её в свой список контактов и позволили ему/ей видеть ваш " +"статус присутствия?\n" +"Если вы ответите нет, то этот человек будет временно занесён в чёрный список." -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" -msgstr "Пожалуйста, введите пароль для пользователя %s\n для реалм (рилм) %s:" +msgstr "" +"Пожалуйста, введите пароль для пользователя %s\n" +" для реалм (рилм) %s:" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "Ошибка звонка" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "Звонок окончен" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Входящий звонок" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Ответ" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Отклонить" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "Звонок приостановлен" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "%s" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s предложил запустить видео. Вы принимаете?" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "Домашняя страница" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "Видео интернет телефон" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "%s (по умолчанию)" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "Мы передали в %s" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." -msgstr "Звуковые карты не были обнаружены на этом компьютере.\nВы не сможете отправлять или получать аудио звонки." +msgstr "" +"Звуковые карты не были обнаружены на этом компьютере.\n" +"Вы не сможете отправлять или получать аудио звонки." -#: ../gtk/main.c:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "Свободный SIP видео-телефон" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "Привет\n" @@ -297,108 +319,110 @@ msgstr "Разрешён" msgid "Disabled" msgstr "Не разрешён" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "Учётная запись" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "Английский" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "Французский" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "Шведский" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "Итальянский" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "Испанский" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "Бразильский португальский" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "Польский" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "Немецкий" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "Русский" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "Японский" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "Датский" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "Венгерский" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "Чешский" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "Китайский" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "Традиционный китайский" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "Норвежский" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "Иврит" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "Сербский" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "Арабский" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "Турецкий" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 msgid "" "You need to restart linphone for the new language selection to take effect." -msgstr "Вы должны перезагрузить linphone для того, чтобы языковые настройки вступили в силу." +msgstr "" +"Вы должны перезагрузить linphone для того, чтобы языковые настройки вступили " +"в силу." -#: ../gtk/propertybox.c:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "Нет" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "SRTP" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "DTLS" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "ZRTP" @@ -407,7 +431,9 @@ msgstr "ZRTP" msgid "" "A more recent version is availalble from %s.\n" "Would you like to open a browser to download it ?" -msgstr "Доступна новая версия с %s.\nОткрыть браузер для загрузки?" +msgstr "" +"Доступна новая версия с %s.\n" +"Открыть браузер для загрузки?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -442,149 +468,161 @@ msgstr[1] "Найдено %i контакта" msgstr[2] "Найдено %i контактов" msgstr[3] "Найдено %i контактов" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." -msgstr "Добро пожаловать!\nЭтот ассистент поможет вам использовать SIP аккаунт для ваших звонков." +msgstr "" +"Добро пожаловать!\n" +"Этот ассистент поможет вам использовать SIP аккаунт для ваших звонков." -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "Создать учётную запись на linphone.org" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" -msgstr "Я уже имею учётную запись на linphone.org и только хочу использовать её" +msgstr "" +"Я уже имею учётную запись на linphone.org и только хочу использовать её" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "Я уже имею учётную запись sip и только хочу использовать её" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "Я хочу указать удалённую конфигурацию URI" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "Введите вашу информацию об учётной записи" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "Имя пользователя*" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "Пароль*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "Домен*" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "Прокси" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "Введите ваше имя пользователя для linphone.org" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Имя пользователя:" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Пароль:" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "(*) Обязательные поля" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "Имя пользователя: (*)" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "Пароль: (*)" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "Электронная почта: (*)" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "Подтвердите ваш пароль: (*)" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "Информировать об обновлениях linphone" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "Ваша учётная запись создаётся, пожалуйста, подождите." -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "Пожалуйста, подтвердите вашу учётную запись, щёлкнув на ссылку, которую вы только\nчто получили по электронной почте. Затем вернитесь сюда и нажмите кнопку Далее." +msgstr "" +"Пожалуйста, подтвердите вашу учётную запись, щёлкнув на ссылку, которую вы " +"только\n" +"что получили по электронной почте. Затем вернитесь сюда и нажмите кнопку " +"Далее." -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." -msgstr "Проверяется действительность вашей учётной записи, пожалуйста, подождите." +msgstr "" +"Проверяется действительность вашей учётной записи, пожалуйста, подождите." -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." -msgstr "Ошибка, учётная запись не подтверждена, имя пользователя уже используется или\nсервер недоступен. Пожалуйста, зайдите снова и попробуйте ещё раз." +msgstr "" +"Ошибка, учётная запись не подтверждена, имя пользователя уже используется " +"или\n" +"сервер недоступен. Пожалуйста, зайдите снова и попробуйте ещё раз." -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "Спасибо! Учётная запись успешно настроена и готова к использованию." -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "Помощник настройки учётной записи SIP" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "Добро пожаловать в помощник настройки учётной записи" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "Помощник настройки учётной записи" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "Настроить вашу учётную запись (шаг 1/1)" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "Введите ваше sip имя пользователя (шаг 1/1)" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "Введите информацию об учётной записи (шаг 1/2)" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "Создание учётной записи в прогрессе" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "Подтверждение (шаг 2/2)" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "Проверка действительности учётной записи в прогрессе" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "Ошибка" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "Прерывание" @@ -655,7 +693,9 @@ msgstr "Напрямую или через сервер" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "загрузка: %f\nотдача: %f (КБит/сек)" +msgstr "" +"загрузка: %f\n" +"отдача: %f (КБит/сек)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -667,115 +707,118 @@ msgstr "%ix%i @ %f кадр/сек" msgid "%.3f seconds" msgstr "%.3f секунд" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "Повесить трубку" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "Звоним..." -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" -msgstr "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +msgid "00:00:00" +msgstr "00:00:00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "Входящий звонок" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "хороший" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "средний" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "плохой" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "очень плохой" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "совсем плохой" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "недоступен" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "Защищённые с помощью SRTP" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "Защищённые с помощью DTLS" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "Защищённые с помощью ZRTP - [знак аутентификации: %s]" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "Установить непроверенный" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Установить проверенный" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "В конференции" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "Звоним" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "Звонок приостановлен" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "Звонок закончен." -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "Передача в прогрессе" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "Передача завершена." -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "Передача неудачна." -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "Продолжить" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Пауза" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" -msgstr "Записывается в\n%s %s" +msgstr "" +"Записывается в\n" +"%s %s" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "(Пауза)" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "Пожалуйста, введите информацию для входа %s:" @@ -822,7 +865,9 @@ msgstr "Не удаётся запустить системное управле msgid "" "Welcome!\n" "This assistant will help you to configure audio settings for Linphone" -msgstr "Добро пожаловать!\nЭтот ассистент поможет вам настроить настройки аудио для Linphone." +msgstr "" +"Добро пожаловать!\n" +"Этот ассистент поможет вам настроить настройки аудио для Linphone." #: ../gtk/audio_assistant.c:335 msgid "Capture device" @@ -872,7 +917,7 @@ msgstr "Давайте сейчас запустим linphone" msgid "Audio Assistant" msgstr "Помощник аудио" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "Помощник аудио" @@ -889,165 +934,97 @@ msgid "Record and Play" msgstr "Записать и проиграть" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "Имя вызываемого" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "Отправить" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "Конец конференции" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "Записать этот вызов в аудио файл" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "Видео" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "Без звука" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "Передача" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "Входящий звонок" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "Продолжительность" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "Вызвать рейтинг качества" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "Все пользователи" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "Пользователи в сети" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "ADSL" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "Оптоволоконный канал" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "По умолчанию" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "Удалить" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "_Опции" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "Установить конфигурацию URI" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "Всегда запускать видео" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "Показать окно видео" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "_Помощь" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "Показать окно отладки" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "_Домашняя страница" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "Проверить _обновления" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "Помощник учётной записи" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "SIP-адрес или номер телефона:" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "Начать новый звонок" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "Контакты" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "Поиск" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "Добавить контакты из директории" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "Добавить контакт" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "Последние звонки" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "Мой текущий идентификатор:" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "Имя пользователя" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "Пароль" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "Интернет-соединение:" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "Входить автоматически" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "Идентификатор пользователя" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "Информация для входа" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "Добро пожаловать!" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "О Linphone" @@ -1074,7 +1051,19 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: Eli Zaretskii \n" -msgstr "fr: Simon Morlat\nen: Simon Morlat and Delphine Perreau\nit: Alberto Zanoni \nde: Jean-Jacques Sarton \nsv: Daniel Nylander \nes: Jesus Benitez \nja: YAMAGUCHI YOSHIYA \npt_BR: Rafael Caesar Lenzi \npl: Robert Nasiadek \ncs: Petr Pisar \nhu: anonymous\nhe: Eli Zaretskii \n" +msgstr "" +"fr: Simon Morlat\n" +"en: Simon Morlat and Delphine Perreau\n" +"it: Alberto Zanoni \n" +"de: Jean-Jacques Sarton \n" +"sv: Daniel Nylander \n" +"es: Jesus Benitez \n" +"ja: YAMAGUCHI YOSHIYA \n" +"pt_BR: Rafael Caesar Lenzi \n" +"pl: Robert Nasiadek \n" +"cs: Petr Pisar \n" +"hu: anonymous\n" +"he: Eli Zaretskii \n" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1108,6 +1097,10 @@ msgstr "Linphone - необходима регистрация" msgid "Please enter the domain password" msgstr "Введите пароль для домена" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "Идентификатор пользователя" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "История звонков" @@ -1250,7 +1243,9 @@ msgstr "Настройки" #: ../gtk/parameters.ui.h:18 msgid "This section defines your SIP address when not using a SIP account" -msgstr "Эта секция определяет ваш SIP адрес, когда вы не используете учётную запись SIP" +msgstr "" +"Эта секция определяет ваш SIP адрес, когда вы не используете учётную запись " +"SIP" #: ../gtk/parameters.ui.h:19 msgid "Your display name (eg: John Doe):" @@ -1388,7 +1383,9 @@ msgstr "Разрешить адаптивное управление скоро msgid "" "Adaptive rate control is a technique to dynamically guess the available " "bandwidth during a call." -msgstr "Адаптивное управление скоростью - это технология динамического угадывания доступной пропускной способности во время звонка." +msgstr "" +"Адаптивное управление скоростью - это технология динамического угадывания " +"доступной пропускной способности во время звонка." #: ../gtk/parameters.ui.h:53 msgid "Bandwidth control" @@ -1650,6 +1647,14 @@ msgstr "Порт" msgid "Configure tunnel" msgstr "Конфигурировать тунель" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "Имя пользователя" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "Пароль" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "Конфигурировать http прокси (опционально)" @@ -1749,9 +1754,17 @@ msgstr "Указание удалённой конфигурации URI" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " -msgstr "Этот диалог позволяет установить HTTP или HTTPS адрес, когда конфигурация будет получена при запуске.\nПожалуйста, введите или измените настройки URI ниже. После нажатия OK linphone автоматически перезагрузится чтобы получить и учесть новую конфигурацию в учётной записи." +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " +msgstr "" +"Этот диалог позволяет установить HTTP или HTTPS адрес, когда конфигурация " +"будет получена при запуске.\n" +"Пожалуйста, введите или измените настройки URI ниже. После нажатия OK " +"linphone автоматически перезагрузится чтобы получить и учесть новую " +"конфигурацию в учётной записи." #: ../gtk/provisioning-fetch.ui.h:1 msgid "Configuring..." @@ -1761,60 +1774,113 @@ msgstr "Конфигурирование..." msgid "Please wait while fetching configuration from server..." msgstr "Пожалуйста, подождите пока получается конфигурация с сервера..." +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "Отправить" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "Имя вызываемого" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "Конец конференции" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "Записать этот вызов в аудио файл" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "Видео" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "Без звука" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "Передача" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "Входящий звонок" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "Продолжительность" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "Вызвать рейтинг качества" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "Интернет-соединение:" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "Входить автоматически" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "Информация для входа" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "Добро пожаловать!" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "Готов" -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "Конфигурирование" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "Поиск назначения для телефонного номера.." - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "Не получилось принять решение по этому номеру." - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "Соединение" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "Невозможно позвонить" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" -msgstr "К сожалению, мы достигли максимального количества одновременных звонков" +msgstr "" +"К сожалению, мы достигли максимального количества одновременных звонков" -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "контактирует с вами" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr "и спросил автоматический ответ." -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "Изменение параметров звонка..." -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "Соединён." -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "Звонок отменён" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "Невозможно приостановить звонок" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "Приостановка текущего звонка..." @@ -1878,23 +1944,41 @@ msgstr "Отдых" msgid "Unknown status" msgstr "Неизвестный статус" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." -msgstr "Введённый SIP-адрес прокси является недействительным, он должен начинаться с \"sip:имя_хоста\"" +msgstr "" +"Введённый SIP-адрес прокси является недействительным, он должен начинаться с " +"\"sip:имя_хоста\"" -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" -msgstr "Неверные параметры для sip идентификации\nДолжно выглядеть как sip:имя_пользователя@домен_прокси, как например, sip:alice@example.net" +msgstr "" +"Неверные параметры для sip идентификации\n" +"Должно выглядеть как sip:имя_пользователя@домен_прокси, как например, sip:" +"alice@example.net" -#: ../coreapi/proxy.c:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "Поиск назначения для телефонного номера.." + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "Не получилось принять решение по этому номеру." + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "Невозможно зайти как: %s" +#: ../coreapi/proxy.c:1494 +#, fuzzy, c-format +msgid "Refreshing on %s..." +msgstr "получение от %s" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "Дистанционный звонок." @@ -1930,7 +2014,7 @@ msgstr "На звонок ответил %s." msgid "Incompatible, check codecs or security settings..." msgstr "Несовместимость, проверьте кодеки или параметры безопасности..." -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "Несовместимость медиа-параметров." @@ -1948,59 +2032,59 @@ msgstr "Мы приостановлены другой стороной." msgid "Call is updated by remote." msgstr "Звонок был дистанционно обновлён." -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "Звонок прерван." -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "Пользователь занят." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "Пользователь временно недоступен." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "Пользователь не хочет чтобы его беспокоили." -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "Звонок отклонён." -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "Таймаут запроса." -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "Переадресован" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "Звонок не удался." -#: ../coreapi/callbacks.c:1007 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Registration on %s successful." msgstr "Регистрация на %s прошла успешно." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1009 #, c-format msgid "Unregistration on %s done." msgstr "Отмена регистрации на %s завершена." -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "время ожидания истекло" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "Регистрация на %s не удалась: %s" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "Сервис недоступен, повтор" @@ -2010,11 +2094,11 @@ msgstr "Сервис недоступен, повтор" msgid "Authentication token is %s" msgstr "Маркер проверки подлинности: %s" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "Параметры звонка были успешно изменены." -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." @@ -2047,7 +2131,12 @@ msgid "" "To: %s\n" "Status: %s\n" "Duration: %i mn %i sec\n" -msgstr "%s в %s\nОт: %s\nДо: %s\nСтатус: %s\nПродолжительность: %i мин %i сек\n" +msgstr "" +"%s в %s\n" +"От: %s\n" +"До: %s\n" +"Статус: %s\n" +"Продолжительность: %i мин %i сек\n" #: ../coreapi/call_log.c:221 msgid "Outgoing call" diff --git a/po/sr.po b/po/sr.po index adeac6fac..9026fe636 100644 --- a/po/sr.po +++ b/po/sr.po @@ -1,22 +1,25 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # Мирослав Николић , 2014 msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" "PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Serbian (http://www.transifex.com/p/linphone-gtk/language/sr/)\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Serbian (http://www.transifex.com/belledonne-communications/" +"linphone-gtk/language/sr/)\n" +"Language: sr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sr\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"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:149 ../gtk/friendlist.c:976 #, c-format @@ -70,14 +73,16 @@ msgstr[2] "%i секунди" msgid "" "%s\tQuality: %s\n" "%s\t%s\t" -msgstr "%s\tКвалитет: %s\n%s\t%s\t" +msgstr "" +"%s\tКвалитет: %s\n" +"%s\t%s\t" #: ../gtk/calllogs.c:342 #, c-format msgid "%s\t%s" msgstr "%s\t%s" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "Конференција" @@ -90,6 +95,10 @@ msgstr "Ја" msgid "Couldn't find pixmap file: %s" msgstr "Не могу да пронађем датотеку сличице: %s" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "бележи на стандардни излаз неке податке прочишћавања док ради." @@ -116,9 +125,11 @@ msgstr "адреса за позивање управо сада" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" -msgstr "Наводи радни директоријум (треба да буде основа инсталације, нпр: „c:\\Program Files\\Linphone“)" +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" +msgstr "" +"Наводи радни директоријум (треба да буде основа инсталације, нпр: „c:" +"\\Program Files\\Linphone“)" #: ../gtk/main.c:145 msgid "Configuration file" @@ -132,88 +143,93 @@ msgstr "Покреће помоћника звука" msgid "Run self test and exit 0 if succeed" msgstr "Покреће самоиспробавање и излази 0 ако је успешно" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" -msgstr "Унесите вашу лозинку за корисничко име %s\n на подручју %s:" +msgstr "" +"Унесите вашу лозинку за корисничко име %s\n" +" на подручју %s:" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "Грешка позива" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "Позив је завршен" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Долазни позив" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Јави се" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Одбиј" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "Позив је заустављен" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "од %s" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s предлаже да започнете видео. Да ли прихватате ?" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "Веза веб сајта" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Линфон" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "%s (основно)" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "Преселили смо се на %s" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." -msgstr "Ниједна звучна картица није откривена на овом рачунару.\nНећете бити у могућности да шаљете или да примате звучне позиве." +msgstr "" +"Ниједна звучна картица није откривена на овом рачунару.\n" +"Нећете бити у могућности да шаљете или да примате звучне позиве." -#: ../gtk/main.c:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "Слободан СИП телефон са снимком" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "" @@ -291,108 +307,109 @@ msgstr "Укључено" msgid "Disabled" msgstr "Искључено" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "Налог" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "Енглески" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "Француски" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "Шведски" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "Италијански" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "Шпански" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "Бразилски португалски" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "Пољски" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "Немачки" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "Руски" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "Јапански" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "Холандски" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "Мађарски" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "Чешки" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "Кинески" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "Традиционални кинески" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "Норвешки" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "Јеврејски" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "Српски" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 msgid "" "You need to restart linphone for the new language selection to take effect." -msgstr "Треба поново да покренете линфон да би нови изабрани језик ступио у дејство." +msgstr "" +"Треба поново да покренете линфон да би нови изабрани језик ступио у дејство." -#: ../gtk/propertybox.c:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "Ништа" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "СРТП" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "ЗРТП" @@ -401,7 +418,9 @@ msgstr "ЗРТП" msgid "" "A more recent version is availalble from %s.\n" "Would you like to open a browser to download it ?" -msgstr "Новије издање је доступно са „%s“.\nДа ли желите да отворите прегледник и да га преузмете ?" +msgstr "" +"Новије издање је доступно са „%s“.\n" +"Да ли желите да отворите прегледник и да га преузмете ?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -435,149 +454,158 @@ msgstr[0] "Нашао сам %i контакт" msgstr[1] "Нашао сам %i контакта" msgstr[2] "Нашао сам %i контаката" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." -msgstr "Добро дошли!\nОвај помоћник ће вам помоћи да користите СИП налог за ваше позиве." +msgstr "" +"Добро дошли!\n" +"Овај помоћник ће вам помоћи да користите СИП налог за ваше позиве." -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "Направи налог на линфон.орг-у" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "Већ имам налог линфон.орг-а и желим да га користим" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "Већ имам сип налог и желим да га користим" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "Желим да наведем удаљену путању подешавања" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "Корисник*" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "Лозинка*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "Домен*" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "Посредник" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "Унесите ваше корисничко име линфон.орг-а" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Корисничко име:" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Лозинка:" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "(*) Обавезна поља" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "Корисник: (*)" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "Лозинка: (*)" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "Ел. пошта: (*)" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "Потврдите вашу лозинку: (*)" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "Обавештавај ме о ажурирањима линфона" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "Потврдите ваш налог притиском на везу коју смо вам управо послали ел. поштом.\nЗатим се вратите овде и притисните дугме „Напред“." +msgstr "" +"Потврдите ваш налог притиском на везу коју смо вам управо послали ел. " +"поштом.\n" +"Затим се вратите овде и притисните дугме „Напред“." -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." -msgstr "Грешка, налог није потврђен, корисничко име је већ у употреби или је сервер недоступан.\nВратите се назад и покушајте опет." +msgstr "" +"Грешка, налог није потврђен, корисничко име је већ у употреби или је сервер " +"недоступан.\n" +"Вратите се назад и покушајте опет." -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "Хвала вам. Ваш налог је сада подешен и спреман за употребу." -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "Помоћник подешавања СИП налога" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "Добро дошли у помоћника подешавања налога" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "Помоћник подешавања налога" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "Подесите ваш налог (корак 1/1)" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "Унесите ваше корисничко име сип-а (корак 1/1)" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "Унесите податке налога (корак 1/2)" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "Потврђивање (корак 2/2)" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "Грешка" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "Завршавам" @@ -648,7 +676,9 @@ msgstr "Непосредно или кроз сервер" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "преузимање: %f\nотпремање: %f (kbit/s)" +msgstr "" +"преузимање: %f\n" +"отпремање: %f (kbit/s)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -660,115 +690,118 @@ msgstr "%ix%i @ %f к/с" msgid "%.3f seconds" msgstr "%.3f секунде" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "Прекини" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "Позивам..." -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" -msgstr "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +msgid "00:00:00" +msgstr "00:00:00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "Долазни позив" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "добро" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "просечно" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "оскудно" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "јадно" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "много лоше" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "недоступно" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "Осигурано СРТП-ом" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "Осигурано ЗРТП-ом [потврђивање идентитета: %s]" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "Непроверено подешавање" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Проверено подешавање" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "На конференцији" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "У позиву" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "Заустављен позив" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "Позив је завршен." -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "Пренос је у току" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "Пренос је обављен." -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "Пренос није успео." -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "Настави" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Застани" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" -msgstr "Снимам у\n%s %s" +msgstr "" +"Снимам у\n" +"%s %s" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "(Паузирано)" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "Унесите податке пријављивања за %s" @@ -815,7 +848,9 @@ msgstr "Не могу да покренем управљање звуком си msgid "" "Welcome!\n" "This assistant will help you to configure audio settings for Linphone" -msgstr "Добро дошли!\nОвај помоћник ће вам помоћи да подесите поставке звука за Линфон" +msgstr "" +"Добро дошли!\n" +"Овај помоћник ће вам помоћи да подесите поставке звука за Линфон" #: ../gtk/audio_assistant.c:335 msgid "Capture device" @@ -865,7 +900,7 @@ msgstr "Хајде сада да покренемо Линфон" msgid "Audio Assistant" msgstr "Помоћник звука" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "Помоћник звука" @@ -882,165 +917,97 @@ msgid "Record and Play" msgstr "Снимите и пустите" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "Име позивника" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "Пошаљи" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "Заврши конференцију" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "Сними овај позив у звучну датотеку" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "Видео" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "Утишај" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "Пренос" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "Долазни позив" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "Трајање" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "Оцена квалитета позива" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "Сви корисници" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "Корисници на мрежи" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "АДСЛ" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "Оптички канал" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Основно" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "Обриши" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "_Могућности" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "Постави путању подешавања" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "Увек покрени видео" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "Укључи самовиђење" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "По_моћ" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "Прикажи прозорче прочишћавања" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "_Матична страница" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "Провери _ажурирања" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "Помоћник налога" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "СИП адреса или број телефона:" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "Започните нови позив" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "Пријатељи" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "Тражи" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "Додај пријатеље из директоријума" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "Додај пријатеља" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "Скорашњи позиви" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "Мој тренутни идентитет:" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "Корисник" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "Лозинка" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "Интернет веза:" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "Сам ме пријави" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "ИБ корисника" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "Подаци пријављивања" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "Добро дошли!" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "О Линфону" @@ -1051,7 +1018,8 @@ msgstr "(C) Беледоне комуникације, 2010\n" #: ../gtk/about.ui.h:4 msgid "An internet video phone using the standard SIP (rfc3261) protocol." -msgstr "Интернет телефон са снимком који користи уобичајени СИП протокол (rfc3261)." +msgstr "" +"Интернет телефон са снимком који користи уобичајени СИП протокол (rfc3261)." #: ../gtk/about.ui.h:5 msgid "" @@ -1067,7 +1035,20 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: Eli Zaretskii \n" -msgstr "fr: Simon Morlat\nen: Simon Morlat and Delphine Perreau\nit: Alberto Zanoni \nde: Jean-Jacques Sarton \nsv: Daniel Nylander \nes: Jesus Benitez \nja: YAMAGUCHI YOSHIYA \npt_BR: Rafael Caesar Lenzi \npl: Robert Nasiadek \ncs: Petr Pisar \nhu: anonymous\nhe: Eli Zaretskii \nsr: Мирослав Николић \n" +msgstr "" +"fr: Simon Morlat\n" +"en: Simon Morlat and Delphine Perreau\n" +"it: Alberto Zanoni \n" +"de: Jean-Jacques Sarton \n" +"sv: Daniel Nylander \n" +"es: Jesus Benitez \n" +"ja: YAMAGUCHI YOSHIYA \n" +"pt_BR: Rafael Caesar Lenzi \n" +"pl: Robert Nasiadek \n" +"cs: Petr Pisar \n" +"hu: anonymous\n" +"he: Eli Zaretskii \n" +"sr: Мирослав Николић \n" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1101,6 +1082,10 @@ msgstr "Линфон — Потребно је потврђивање идент msgid "Please enter the domain password" msgstr "Унесите лозинку домена" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "ИБ корисника" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "Историјат позива" @@ -1381,7 +1366,9 @@ msgstr "Укључи прилагодљиво управљање протоко msgid "" "Adaptive rate control is a technique to dynamically guess the available " "bandwidth during a call." -msgstr "Прилагодљиво управљање протоком је техника за променљиво погађање доступног пропусног опсега за време позива." +msgstr "" +"Прилагодљиво управљање протоком је техника за променљиво погађање " +"доступног пропусног опсега за време позива." #: ../gtk/parameters.ui.h:53 msgid "Bandwidth control" @@ -1643,6 +1630,14 @@ msgstr "Прикључник" msgid "Configure tunnel" msgstr "Подесите тунел" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "Корисник" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "Лозинка" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "Подесите хттп посредника (изборно)" @@ -1742,9 +1737,17 @@ msgstr "Наводим удаљену путању подешавања" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " -msgstr "Ово прозорче омогућава подешавање хттп или хттпс адресе када се подешавање добавља на покретању.\nУнесите или измените путању подешавања. Након што притиснете „У реду“, Линфон ће се сам поново покренути како би довукао и унео у налог нова подешавања. " +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " +msgstr "" +"Ово прозорче омогућава подешавање хттп или хттпс адресе када се подешавање " +"добавља на покретању.\n" +"Унесите или измените путању подешавања. Након што притиснете „У реду“, " +"Линфон ће се сам поново покренути како би довукао и унео у налог нова " +"подешавања. " #: ../gtk/provisioning-fetch.ui.h:1 msgid "Configuring..." @@ -1754,60 +1757,112 @@ msgstr "Подешавам..." msgid "Please wait while fetching configuration from server..." msgstr "Сачекајте док довучем подешавања са сервера..." +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "Пошаљи" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "Име позивника" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "Заврши конференцију" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "Сними овај позив у звучну датотеку" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "Видео" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "Утишај" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "Пренос" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "Долазни позив" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "Трајање" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "Оцена квалитета позива" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "Интернет веза:" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "Сам ме пријави" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "Подаци пријављивања" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "Добро дошли!" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "Спреман" -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "Подешавам" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "Тражим одредиште телефонског броја..." - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "Не могу да решим овај број." - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "Ступам у везу" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "Не могу да позовем" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Извините, достигли смо највећи број истовремених позива" -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "вам се обраћа" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr " и затражени само-одговор." -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "Мењам параметре позива..." -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "Повезан сам." -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "Позив је прекинут" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "Не могу да зауставим позив" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "Заустављам тренутни позив..." @@ -1871,23 +1926,41 @@ msgstr "На одмору" msgid "Unknown status" msgstr "Непознато стање" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." -msgstr "Адреса сип посредника коју сте унели је неисправна, мора почети на „sip:“ за којим следи назив домаћина." +msgstr "" +"Адреса сип посредника коју сте унели је неисправна, мора почети на „sip:“ за " +"којим следи назив домаћина." -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" -msgstr "Сип идентитет који сте унели није исправан.\nТреба да изгледа као „sip:корисник@домен-посредника, као што је „sip:alice@example.net“" +msgstr "" +"Сип идентитет који сте унели није исправан.\n" +"Треба да изгледа као „sip:корисник@домен-посредника, као што је „sip:" +"alice@example.net“" -#: ../coreapi/proxy.c:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "Тражим одредиште телефонског броја..." + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "Не могу да решим овај број." + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "Не могу да се пријавим као %s" +#: ../coreapi/proxy.c:1494 +#, fuzzy, c-format +msgid "Refreshing on %s..." +msgstr "довлачим са „%s“" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "Удаљено звоњење." @@ -1923,7 +1996,7 @@ msgstr "На позив је одговорио „%s“." msgid "Incompatible, check codecs or security settings..." msgstr "Несагласно, проверите кодеке или безбедносна подешавања..." -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "Медијски параметри су несагласни." @@ -1941,59 +2014,59 @@ msgstr "Друга страна нас је паузирала." msgid "Call is updated by remote." msgstr "Позив је освежен удаљеним." -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "Позив је завршен." -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "Корисник је заузет." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "Корисник је привремено недоступан." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "Корисник не жели да буде узнемираван." -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "Позив је одбијен." -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "Истекло је време захтева." -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "Преусмерен" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "Позив није успео." -#: ../coreapi/callbacks.c:1007 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Registration on %s successful." msgstr "Уписивање на „%s“ је успело." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1009 #, c-format msgid "Unregistration on %s done." msgstr "Исписивање са „%s“ је обављено." -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "нема ограничења одговора" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "Уписивање на „%s“ није успело: %s" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "Услуга није доступна, поново покушавам" @@ -2003,11 +2076,11 @@ msgstr "Услуга није доступна, поново покушавам" msgid "Authentication token is %s" msgstr "Симбол потврђивања идентитета је „%s“" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." @@ -2039,7 +2112,12 @@ msgid "" "To: %s\n" "Status: %s\n" "Duration: %i mn %i sec\n" -msgstr "%s на %s\nПозивач: %s\nПозивник: %s\nСтање: %s\nТрајање: %i мин. %i сек.\n" +msgstr "" +"%s на %s\n" +"Позивач: %s\n" +"Позивник: %s\n" +"Стање: %s\n" +"Трајање: %i мин. %i сек.\n" #: ../coreapi/call_log.c:221 msgid "Outgoing call" diff --git a/po/sv.po b/po/sv.po index 0f79d5bdc..455492964 100644 --- a/po/sv.po +++ b/po/sv.po @@ -1,20 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" "PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Swedish (http://www.transifex.com/p/linphone-gtk/language/sv/)\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Swedish (http://www.transifex.com/belledonne-communications/" +"linphone-gtk/language/sv/)\n" +"Language: sv\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 @@ -74,7 +76,7 @@ msgstr "" msgid "%s\t%s" msgstr "" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "" @@ -87,6 +89,10 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "Kunde inte hitta pixmap filen: %s" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "skriv loggning information under körning" @@ -113,9 +119,11 @@ msgstr "Samtalsmottagare" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" -msgstr "Välj en arbetskatalog som ska vara basen för installationen, såsom C:\\Program\\Linphone" +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" +msgstr "" +"Välj en arbetskatalog som ska vara basen för installationen, såsom C:" +"\\Program\\Linphone" #: ../gtk/main.c:145 msgid "Configuration file" @@ -129,88 +137,89 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "Samtalet slut" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Inkommande samtal" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Avböj" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "Webbsajt" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "%s (Default)" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 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:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "En gratis SIP video-telefon" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "" @@ -288,108 +297,108 @@ msgstr "På" msgid "Disabled" msgstr "Av" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "Konto" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "Engelska" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "Fransk" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "Svenska" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "Italiensk" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "Spanska" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "Portugisiska" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "Polska" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "Tyska" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "Ryska" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "Japanska" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "Nederländksa" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "Hungerska" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "Tjekiska" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "Kinesiska" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 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:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "" @@ -398,7 +407,9 @@ msgstr "" msgid "" "A more recent version is availalble from %s.\n" "Would you like to open a browser to download it ?" -msgstr "En nyare version är tillgänglig på %s.\nVill du öppna en browser för att ladda ner den?" +msgstr "" +"En nyare version är tillgänglig på %s.\n" +"Vill du öppna en browser för att ladda ner den?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -431,149 +442,150 @@ msgid_plural "Found %i contacts" msgstr[0] "Hittat kontakt %i" msgstr[1] "Hittat kontakt %i" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Användarnamn:" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Lösenord:" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "" -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." msgstr "" -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "Tack. Ditt konto är nu konfigurerad och färdig att användas." -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "Välkommen till kontoinstallationsassistenten" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "Kontoinstallationsassistenten" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "" @@ -656,115 +668,117 @@ msgstr "" msgid "%.3f seconds" msgstr "" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "Ringer..." -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#, fuzzy +msgid "00:00:00" msgstr "00:00:00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "Samtalet slut." -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "" -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "" -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "Mata in ditt lösenord för domänen %s:" @@ -861,7 +875,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "" @@ -878,165 +892,97 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "Skicka" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "I samtal" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "Förlopp" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "Själv bild" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "Användarnamn" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "Sök" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "Lägg till kontakt ifrån katalogen" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "Min nuvarande identitet" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "Användarnamn" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "Lösenord" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "Internet förbindelse:" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "Logga mig automatiskt" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "AnvändarID" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "Login information" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "" @@ -1097,6 +1043,10 @@ msgstr "" msgid "Please enter the domain password" msgstr "Mata in lösenordet för domänen" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "AnvändarID" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "Samtalshistorik" @@ -1239,7 +1189,8 @@ msgstr "Inställningar" #: ../gtk/parameters.ui.h:18 msgid "This section defines your SIP address when not using a SIP account" -msgstr "Denna sektion specificerar din SIP adress när du inte använder ett SIP konto" +msgstr "" +"Denna sektion specificerar din SIP adress när du inte använder ett SIP konto" #: ../gtk/parameters.ui.h:19 msgid "Your display name (eg: John Doe):" @@ -1639,6 +1590,14 @@ msgstr "" msgid "Configure tunnel" msgstr "" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "Användarnamn" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "Lösenord" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "" @@ -1738,8 +1697,11 @@ msgstr "" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " msgstr "" #: ../gtk/provisioning-fetch.ui.h:1 @@ -1750,60 +1712,112 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "Skicka" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "I samtal" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "Förlopp" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "Internet förbindelse:" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "Logga mig automatiskt" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "Login information" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "Redo" -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "Leta efter telefonnummer för destinationen..." - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "Kan inte nå dett nummer." - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "Kontaktar" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr "" -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "Kopplad" -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "" @@ -1867,23 +1881,40 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." -msgstr "SIP proxy adressen som du matade in är inte rätt, adressen måste starta med \"sip:\", följd av ett hostnamn" +msgstr "" +"SIP proxy adressen som du matade in är inte rätt, adressen måste starta med " +"\"sip:\", följd av ett hostnamn" -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" -msgstr "SIP adressen som du matade in är inte rätt. Adressen borde se ut som sip:namn@domän, såsom sip:peter@exempel.se" +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:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "Leta efter telefonnummer för destinationen..." + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "Kan inte nå dett nummer." + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "Kunde inte logga in som %s" +#: ../coreapi/proxy.c:1494 +#, c-format +msgid "Refreshing on %s..." +msgstr "" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "Ringer hos motparten." @@ -1919,7 +1950,7 @@ msgstr "" msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "" @@ -1937,59 +1968,59 @@ msgstr "" msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "Samtalet slut." -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "Användare upptagen." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "Användaren temporärt inte tillgänglig." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "Användaren vill inte bli störd." -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "Samtalet avböjdes." -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:1007 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Registration on %s successful." msgstr "Registrering hos %s lyckades." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1009 #, c-format msgid "Unregistration on %s done." msgstr "Avregistrering hos %s lyckades." -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "Inget svar inom angiven tid" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "Registrering hos %s mislyckades: %s" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "" @@ -1999,11 +2030,11 @@ msgstr "" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/tr.po b/po/tr.po index b8e7f91f7..0cf1f6ac7 100644 --- a/po/tr.po +++ b/po/tr.po @@ -1,21 +1,23 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: # faradundamarti , 2015 msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" "PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Turkish (http://www.transifex.com/p/linphone-gtk/language/tr/)\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Turkish (http://www.transifex.com/belledonne-communications/" +"linphone-gtk/language/tr/)\n" +"Language: tr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: tr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 @@ -75,7 +77,7 @@ msgstr "" msgid "%s\t%s" msgstr "" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "Grup görüşme" @@ -88,6 +90,10 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "" @@ -114,9 +120,11 @@ msgstr "adres ara" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" -msgstr "Bir çalışma dizini belirtin (kurulum temelinde olmalı,örneğin: c:\\Program Files\\Linphone)" +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" +msgstr "" +"Bir çalışma dizini belirtin (kurulum temelinde olmalı,örneğin: c:\\Program " +"Files\\Linphone)" #: ../gtk/main.c:145 msgid "Configuration file" @@ -130,88 +138,89 @@ msgstr "Ses yardımcısını çalıştır" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "Çağrı yanlış" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "Çağrı sonlandırıldı" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "Gelen çağrı" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Yanıt" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Reddet" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "Çağrı duraklatıldı" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "İnternet " -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "Görüntülü internet telefonu" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 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:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "Özgür bir SİP görüntülü-telefon" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "Merhaba\n" @@ -289,108 +298,109 @@ msgstr "Etkin" msgid "Disabled" msgstr "Devre dışı" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "Hesap" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "İngilizce" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "Fransızca" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "İsveççe" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "İtalyanca" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "İspanyolca" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "Brezilya Portekizcesi" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "Lehçe" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "Almanca" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "Rusca" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "Japonca" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "Flemenkçe" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "Macarca" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "Çekce" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "Çince" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "Geleneksel Çince" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "Norveççe" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "İbranice" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "Sırpça" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 msgid "" "You need to restart linphone for the new language selection to take effect." -msgstr "Yeni dil seçiminizin etkili olabilmesi için linfonu yeniden başlatmalısınız." +msgstr "" +"Yeni dil seçiminizin etkili olabilmesi için linfonu yeniden başlatmalısınız." -#: ../gtk/propertybox.c:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "Hiçbiri" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "SRTP (Güvenli Gerçek Zamanlı Aktarım Protokolü)" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "DTLS" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "ZRTP" @@ -432,149 +442,157 @@ msgid_plural "Found %i contacts" msgstr[0] "" msgstr[1] "" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." -msgstr "Hoşgeldiniz!\nBu yardımcı,çağrılarınız için bir SIP hesabı kullanmanıza yardım edecek." +msgstr "" +"Hoşgeldiniz!\n" +"Bu yardımcı,çağrılarınız için bir SIP hesabı kullanmanıza yardım edecek." -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "linphone.org'da bir hesap oluştur" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "Kallanıcı adı*" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "Parola*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "Alan adı*" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "Vekil sunucu" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "linphone.org kullanıcı adınızı girin" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Kullanıcı adı:" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Parola:" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "(*) Zorunlu alanlar" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "Kullanıcı adı: (*)" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "Parola: (*)" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "E-posta: (*)" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "Parolanızı onaylayın: (*)" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "linphone güncellemeleri hakkında beni bilgilendir" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "Lütfen size e-posta yoluyla gönderdiğimiz bağlantıyı tıklayarak hesabınızı doğrulayın.\nSonra buraya geri dönün ve İleri düğmesine basın." +msgstr "" +"Lütfen size e-posta yoluyla gönderdiğimiz bağlantıyı tıklayarak hesabınızı " +"doğrulayın.\n" +"Sonra buraya geri dönün ve İleri düğmesine basın." -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." -msgstr "Hata,hesap geçersiz,kullanıcı adı kullanılıyor veya sunucuya erişilemiyor.\nLütfen geri dönün ve tekrar deneyin." +msgstr "" +"Hata,hesap geçersiz,kullanıcı adı kullanılıyor veya sunucuya erişilemiyor.\n" +"Lütfen geri dönün ve tekrar deneyin." -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "Teşekkürler. Hesabınız yapılandırıldı ve kullanıma hazır." -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "SİP hesabı yapılandırma yardımcısı" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "Hesap açma yardımcısına hoşgeldiniz" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "Hesap açma yardımcısı" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "Hesabınızı yapılandırın (adım 1/1)" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "sip kullanıcı adınızı girin (adım 1/1)" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "Hesap bilgilerini girin (adım 1/2)" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "Doğrulama (adım 2/2)" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "Hata" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "Sonlandırma" @@ -657,115 +675,116 @@ msgstr "" msgid "%.3f seconds" msgstr "" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "Telefonu kapatma" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "" -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" -msgstr "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +msgid "00:00:00" +msgstr "00:00:00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "iyi" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "orta" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "kötü" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "çok kötü" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "kullanılamaz" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "SRTP güvencesi altında" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "DLTS güvencesi altında" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "Doğrulanmamış ayar" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "" -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "Aktarım sürüyor" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "Aktarım tamam" -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "Aktarım başarısız" -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "Devam et" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Duraklat" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "(Duraklatıldı)" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "" @@ -812,7 +831,9 @@ msgstr "Ses kontrol sistemi başlatılamıyor" msgid "" "Welcome!\n" "This assistant will help you to configure audio settings for Linphone" -msgstr "Hoşgeldiniz!\nBu yardımcı,Linphone'un ses ayarlarını yapılandırmanıza yardım edecek" +msgstr "" +"Hoşgeldiniz!\n" +"Bu yardımcı,Linphone'un ses ayarlarını yapılandırmanıza yardım edecek" #: ../gtk/audio_assistant.c:335 msgid "Capture device" @@ -862,7 +883,7 @@ msgstr "" msgid "Audio Assistant" msgstr "Ses Yardımcısı" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "Ses yardımcısı" @@ -879,172 +900,106 @@ msgid "Record and Play" msgstr "Kaydet ve Oynat" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "Gönder" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "Grup görüşme son" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "Görüntü" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "Sessiz" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "Aktarım" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "Süre" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "Tüm kullanıcılar" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "Çevrimiçi kullanıcılar" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "ADSL" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Öntanımlı" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "Sil" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "_Seçenekler" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "_Yardım" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "Hata düzeltme penceresini göster" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "_Anasayfa" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "Güncellemeleri _Denetle" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "Hesap yardımcısı" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "SİP adresi veya telefon numarası:" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "Yeni bir arama başlat" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "Bağlantılar" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "Arama" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "Bağlantı ekle" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "Son çağrılar" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "Kallanıcı adı" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "Parola" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "İnternet bağlantısı:" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "Kullanıcı kimliği" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "Hoşgeldiniz!" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "Linphone Hakkında" #: ../gtk/about.ui.h:2 msgid "(C) Belledonne Communications, 2010\n" -msgstr "(C) Belledonne Communications, 2010\n\n" +msgstr "" +"(C) Belledonne Communications, 2010\n" +"\n" #: ../gtk/about.ui.h:4 msgid "An internet video phone using the standard SIP (rfc3261) protocol." @@ -1064,7 +1019,19 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: Eli Zaretskii \n" -msgstr "fr: Simon Morlat\nen: Simon Morlat and Delphine Perreau\nit: Alberto Zanoni \nde: Jean-Jacques Sarton \nsv: Daniel Nylander \nes: Jesus Benitez \nja: YAMAGUCHI YOSHIYA \npt_BR: Rafael Caesar Lenzi \npl: Robert Nasiadek \ncs: Petr Pisar \nhu: anonymous\nhe: Eli Zaretskii \n" +msgstr "" +"fr: Simon Morlat\n" +"en: Simon Morlat and Delphine Perreau\n" +"it: Alberto Zanoni \n" +"de: Jean-Jacques Sarton \n" +"sv: Daniel Nylander \n" +"es: Jesus Benitez \n" +"ja: YAMAGUCHI YOSHIYA \n" +"pt_BR: Rafael Caesar Lenzi \n" +"pl: Robert Nasiadek \n" +"cs: Petr Pisar \n" +"hu: anonymous\n" +"he: Eli Zaretskii \n" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1098,6 +1065,10 @@ msgstr "Linphone - Kimlik doğrulaması gerekli" msgid "Please enter the domain password" msgstr "Lütfen alan adı parolası girin" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "Kullanıcı kimliği" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "Çağrı geçmişi" @@ -1640,6 +1611,14 @@ msgstr "Bağlantı noktası" msgid "Configure tunnel" msgstr "" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "Kallanıcı adı" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "Parola" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "" @@ -1739,8 +1718,11 @@ msgstr "" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " msgstr "" #: ../gtk/provisioning-fetch.ui.h:1 @@ -1751,60 +1733,112 @@ msgstr "Yapılandırılıyor..." msgid "Please wait while fetching configuration from server..." msgstr "" +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "Gönder" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "Grup görüşme son" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "Görüntü" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "Sessiz" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "Aktarım" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "Süre" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "İnternet bağlantısı:" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "Hoşgeldiniz!" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "Hazır" -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "Yapılandırılıyor" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "" - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "" - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "Bağlanıyor" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr "" -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "Bağlandı." -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "Çağrı iptal edildi" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "" @@ -1868,23 +1902,36 @@ msgstr "Tatil" msgid "Unknown status" msgstr "Bilinmeyen durum" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." msgstr "" -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" msgstr "" -#: ../coreapi/proxy.c:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "" + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "" + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "" +#: ../coreapi/proxy.c:1494 +#, c-format +msgid "Refreshing on %s..." +msgstr "" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "" @@ -1920,7 +1967,7 @@ msgstr "" msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "" @@ -1938,59 +1985,59 @@ msgstr "" msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "Çağrı sonlandırıldı" -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "Kullanıcı meşgul" -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "Kullanıcı rahatsız edilmek istemiyor." -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "Çağrı reddedildi." -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "İstek zamanaşımına uğradı." -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "Yeniden yönlendirildi" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "Arama başarısız" -#: ../coreapi/callbacks.c:1007 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Registration on %s successful." msgstr "" -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1009 #, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "Servis kullanımdışı, tekrar deneyin" @@ -2000,11 +2047,11 @@ msgstr "Servis kullanımdışı, tekrar deneyin" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/zh_CN.po b/po/zh_CN.po index b1d4792b6..1b9b07725 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1,20 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" "PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Chinese (China) (http://www.transifex.com/p/linphone-gtk/language/zh_CN/)\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Chinese (China) (http://www.transifex.com/belledonne-" +"communications/linphone-gtk/language/zh_CN/)\n" +"Language: zh_CN\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 @@ -72,7 +74,7 @@ msgstr "" msgid "%s\t%s" msgstr "" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "" @@ -85,6 +87,10 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "无法打开位图文件:%s" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "运行时向标准输出记录调试信息。" @@ -111,8 +117,8 @@ msgstr "现在呼叫的地址" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" msgstr "指定工作目录(应为安装目录例如 C:\\Program Files\\Linphone)" #: ../gtk/main.c:145 @@ -127,88 +133,91 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "呼叫结束" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "呼入" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "拒绝" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "网站" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "%s (默认)" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." -msgstr "未在此计算机上检测到声卡。\n您无法发送或接收音频呼叫。" +msgstr "" +"未在此计算机上检测到声卡。\n" +"您无法发送或接收音频呼叫。" -#: ../gtk/main.c:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "免费的 SIP 视频电话" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "" @@ -286,108 +295,108 @@ msgstr "启用" msgid "Disabled" msgstr "禁用" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "帐户" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "英语" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "法语" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "瑞典语" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "意大利语" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "西班牙语" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "巴西葡萄牙语" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "波兰语" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "德语" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "俄语" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "日语" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "荷兰语" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "匈牙利语" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "捷克语" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "中文" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 msgid "" "You need to restart linphone for the new language selection to take effect." msgstr "您需要重启 linphone 以使语言选择生效。" -#: ../gtk/propertybox.c:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "" @@ -396,7 +405,9 @@ msgstr "" msgid "" "A more recent version is availalble from %s.\n" "Would you like to open a browser to download it ?" -msgstr "%s 有新版本。\n您是否要打开浏览器下载它?" +msgstr "" +"%s 有新版本。\n" +"您是否要打开浏览器下载它?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -428,149 +439,150 @@ msgid "Found %i contact" msgid_plural "Found %i contacts" msgstr[0] "找到 %i 联系方式" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "用户名:" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "密码:" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "" -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." msgstr "" -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "谢谢,您的帐户已经配置完毕,可以使用。" -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "欢迎使用帐户设置向导" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "帐户设置向导" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "" @@ -653,115 +665,116 @@ msgstr "" msgid "%.3f seconds" msgstr "" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "正在呼叫..." -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" -msgstr "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +msgid "00:00:00" +msgstr "00:00:00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "通话结束。" -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "" -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "" -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "请输入 %s 的登录信息" @@ -858,7 +871,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "" @@ -875,165 +888,97 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "发送" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "呼入" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "通话时间" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "默认" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "启用自视" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "SIP 地址或电话号码:" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "联系人" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "搜索" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "从目录增加联系人" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "当前地址:" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "用户名" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "密码" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "网络连接:" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "自动登录" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "用户 ID" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "登录信息" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "" @@ -1094,6 +1039,10 @@ msgstr "" msgid "Please enter the domain password" msgstr "请输入密码" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "用户 ID" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "呼叫历史" @@ -1636,6 +1585,14 @@ msgstr "" msgid "Configure tunnel" msgstr "" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "用户名" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "密码" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "" @@ -1735,8 +1692,11 @@ msgstr "" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " msgstr "" #: ../gtk/provisioning-fetch.ui.h:1 @@ -1747,60 +1707,112 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "发送" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "呼入" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "通话时间" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "网络连接:" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "自动登录" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "登录信息" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "就绪" -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "查询电话号码目的地..." - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "该号码无法解析。" - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "联系中" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "正在联系您" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr " 并询问了自动回答。" -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "已连接。" -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "" @@ -1864,23 +1876,38 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." msgstr "您输入的 SIP 代理地址无效,它必须是以“sip:”开头,并紧随一个主机名。" -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" -msgstr "您输入的地址无效。\n它应具有“sip:用户名@代理域”的形式,例如 sip:alice@example.net" +msgstr "" +"您输入的地址无效。\n" +"它应具有“sip:用户名@代理域”的形式,例如 sip:alice@example.net" -#: ../coreapi/proxy.c:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "查询电话号码目的地..." + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "该号码无法解析。" + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "无法登录为 %s" +#: ../coreapi/proxy.c:1494 +#, c-format +msgid "Refreshing on %s..." +msgstr "" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "响铃。" @@ -1916,7 +1943,7 @@ msgstr "" msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "" @@ -1934,59 +1961,59 @@ msgstr "" msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "通话结束。" -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "被叫正忙。" -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "您呼叫的用户暂时无法接通。" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "用户已开启免打扰功能。" -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "呼叫被拒绝。" -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "已重定向" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "呼叫失败。" -#: ../coreapi/callbacks.c:1007 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Registration on %s successful." msgstr "成功注册到 %s" -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1009 #, c-format msgid "Unregistration on %s done." msgstr "已在 %s 解除注册。" -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "没有响应,超时" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "注册到 %s 失败: %s" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "" @@ -1996,11 +2023,11 @@ msgstr "" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/po/zh_TW.po b/po/zh_TW.po index 8902365b7..86a3b8f5e 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -1,20 +1,22 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-07-17 09:34+0200\n" +"POT-Creation-Date: 2015-08-24 11:11+0200\n" "PO-Revision-Date: 2015-07-17 07:34+0000\n" -"Last-Translator: Belledonne Communications \n" -"Language-Team: Chinese (Taiwan) (http://www.transifex.com/p/linphone-gtk/language/zh_TW/)\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/belledonne-" +"communications/linphone-gtk/language/zh_TW/)\n" +"Language: zh_TW\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 @@ -72,7 +74,7 @@ msgstr "" msgid "%s\t%s" msgstr "" -#: ../gtk/conference.c:38 ../gtk/main.ui.h:13 +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" msgstr "" @@ -85,6 +87,10 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "找不到 pixmap 檔:%s" +#: ../gtk/chat.c:493 +msgid "Copy" +msgstr "" + #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." msgstr "執行時將一些除錯資訊記錄到標準輸出。" @@ -111,9 +117,10 @@ msgstr "現在要打電話的位址" #: ../gtk/main.c:144 msgid "" -"Specifiy a working directory (should be the base of the installation, eg: " -"c:\\Program Files\\Linphone)" -msgstr "指定一個工作目錄(應該為安裝的根目錄,例如:c:\\Program Files\\Linphone)" +"Specifiy a working directory (should be the base of the installation, eg: c:" +"\\Program Files\\Linphone)" +msgstr "" +"指定一個工作目錄(應該為安裝的根目錄,例如:c:\\Program Files\\Linphone)" #: ../gtk/main.c:145 msgid "Configuration file" @@ -127,88 +134,91 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1078 +#: ../gtk/main.c:1058 #, c-format msgid "" "%s would like to add you to his/her contact list.\n" -"Would you add him/her to your contact list and allow him/her to see your presence status?\n" +"Would you add him/her to your contact list and allow him/her to see your " +"presence status?\n" "If you answer no, this person will be temporarily blacklisted." msgstr "" -#: ../gtk/main.c:1155 +#: ../gtk/main.c:1135 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1276 +#: ../gtk/main.c:1256 msgid "Call error" msgstr "" -#: ../gtk/main.c:1279 ../coreapi/linphonecore.c:3739 +#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 msgid "Call ended" msgstr "通話已結束" -#: ../gtk/main.c:1282 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 msgid "Incoming call" msgstr "來電" -#: ../gtk/main.c:1284 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5 +#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "接聽" -#: ../gtk/main.c:1286 ../gtk/main.ui.h:6 +#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "拒接" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1292 +#: ../gtk/main.c:1272 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1362 +#: ../gtk/main.c:1342 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1517 +#: ../gtk/main.c:1508 msgid "Website link" msgstr "網站連結" -#: ../gtk/main.c:1576 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1577 +#: ../gtk/main.c:1568 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1636 +#: ../gtk/main.c:1627 #, c-format msgid "%s (Default)" msgstr "%s (預設值)" -#: ../gtk/main.c:1974 ../coreapi/callbacks.c:1077 +#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 #, c-format msgid "We are transferred to %s" msgstr "我們被轉接到 %s" -#: ../gtk/main.c:1984 +#: ../gtk/main.c:1983 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." -msgstr "在這臺電腦中偵測不到音效卡。\n您將無法傳送或接收語音電話。" +msgstr "" +"在這臺電腦中偵測不到音效卡。\n" +"您將無法傳送或接收語音電話。" -#: ../gtk/main.c:2116 +#: ../gtk/main.c:2127 msgid "A free SIP video-phone" msgstr "自由的 SIP 視訊電話" -#: ../gtk/main.c:2225 +#: ../gtk/main.c:2236 #, c-format msgid "Hello\n" msgstr "" @@ -286,108 +296,108 @@ msgstr "已啟用" msgid "Disabled" msgstr "已停用" -#: ../gtk/propertybox.c:898 +#: ../gtk/propertybox.c:901 msgid "Account" msgstr "帳號" -#: ../gtk/propertybox.c:1161 +#: ../gtk/propertybox.c:1169 msgid "English" msgstr "英語" -#: ../gtk/propertybox.c:1162 +#: ../gtk/propertybox.c:1170 msgid "French" msgstr "法語" -#: ../gtk/propertybox.c:1163 +#: ../gtk/propertybox.c:1171 msgid "Swedish" msgstr "瑞典語" -#: ../gtk/propertybox.c:1164 +#: ../gtk/propertybox.c:1172 msgid "Italian" msgstr "義大利語" -#: ../gtk/propertybox.c:1165 +#: ../gtk/propertybox.c:1173 msgid "Spanish" msgstr "西班牙語" -#: ../gtk/propertybox.c:1166 +#: ../gtk/propertybox.c:1174 msgid "Brazilian Portugese" msgstr "巴西葡萄牙語" -#: ../gtk/propertybox.c:1167 +#: ../gtk/propertybox.c:1175 msgid "Polish" msgstr "波蘭語" -#: ../gtk/propertybox.c:1168 +#: ../gtk/propertybox.c:1176 msgid "German" msgstr "德語" -#: ../gtk/propertybox.c:1169 +#: ../gtk/propertybox.c:1177 msgid "Russian" msgstr "俄語" -#: ../gtk/propertybox.c:1170 +#: ../gtk/propertybox.c:1178 msgid "Japanese" msgstr "日語" -#: ../gtk/propertybox.c:1171 +#: ../gtk/propertybox.c:1179 msgid "Dutch" msgstr "荷蘭語" -#: ../gtk/propertybox.c:1172 +#: ../gtk/propertybox.c:1180 msgid "Hungarian" msgstr "匈牙利語" -#: ../gtk/propertybox.c:1173 +#: ../gtk/propertybox.c:1181 msgid "Czech" msgstr "捷克語" -#: ../gtk/propertybox.c:1174 +#: ../gtk/propertybox.c:1182 msgid "Chinese" msgstr "中文" -#: ../gtk/propertybox.c:1175 +#: ../gtk/propertybox.c:1183 msgid "Traditional Chinese" msgstr "" -#: ../gtk/propertybox.c:1176 +#: ../gtk/propertybox.c:1184 msgid "Norwegian" msgstr "" -#: ../gtk/propertybox.c:1177 +#: ../gtk/propertybox.c:1185 msgid "Hebrew" msgstr "" -#: ../gtk/propertybox.c:1178 +#: ../gtk/propertybox.c:1186 msgid "Serbian" msgstr "" -#: ../gtk/propertybox.c:1179 +#: ../gtk/propertybox.c:1187 msgid "Arabic" msgstr "" -#: ../gtk/propertybox.c:1180 +#: ../gtk/propertybox.c:1188 msgid "Turkish" msgstr "" -#: ../gtk/propertybox.c:1237 +#: ../gtk/propertybox.c:1245 msgid "" "You need to restart linphone for the new language selection to take effect." msgstr "您需要重新啟動 linphone 才能讓新選擇的語言生效。" -#: ../gtk/propertybox.c:1317 +#: ../gtk/propertybox.c:1325 msgid "None" msgstr "" -#: ../gtk/propertybox.c:1321 +#: ../gtk/propertybox.c:1329 msgid "SRTP" msgstr "" -#: ../gtk/propertybox.c:1327 +#: ../gtk/propertybox.c:1335 msgid "DTLS" msgstr "" -#: ../gtk/propertybox.c:1334 +#: ../gtk/propertybox.c:1342 msgid "ZRTP" msgstr "" @@ -396,7 +406,9 @@ msgstr "" msgid "" "A more recent version is availalble from %s.\n" "Would you like to open a browser to download it ?" -msgstr "在 %s 有最新的版本。\n您想要開啟瀏覽器下載它嗎?" +msgstr "" +"在 %s 有最新的版本。\n" +"您想要開啟瀏覽器下載它嗎?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -428,149 +440,150 @@ msgid "Found %i contact" msgid_plural "Found %i contacts" msgstr[0] "找不到 %i 個連絡人" -#: ../gtk/setupwizard.c:161 +#: ../gtk/setupwizard.c:160 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:169 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:170 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:171 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:173 +#: ../gtk/setupwizard.c:172 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:207 +#: ../gtk/setupwizard.c:206 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:221 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:223 +#: ../gtk/setupwizard.c:222 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:225 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:227 +#: ../gtk/setupwizard.c:226 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:264 +#: ../gtk/setupwizard.c:263 msgid "Enter your linphone.org username" msgstr "" -#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "使用者名稱:" -#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "密碼: " -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:419 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:421 +#: ../gtk/setupwizard.c:420 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:423 +#: ../gtk/setupwizard.c:422 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:425 +#: ../gtk/setupwizard.c:424 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:427 +#: ../gtk/setupwizard.c:426 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:442 +#: ../gtk/setupwizard.c:441 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:487 +#: ../gtk/setupwizard.c:486 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:495 +#: ../gtk/setupwizard.c:494 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 "" -#: ../gtk/setupwizard.c:505 +#: ../gtk/setupwizard.c:504 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:513 +#: ../gtk/setupwizard.c:512 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." msgstr "" -#: ../gtk/setupwizard.c:522 +#: ../gtk/setupwizard.c:521 msgid "Thank you. Your account is now configured and ready for use." msgstr "謝謝您。您的帳號已設定完成並且可以使用。" -#: ../gtk/setupwizard.c:558 +#: ../gtk/setupwizard.c:557 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:579 +#: ../gtk/setupwizard.c:578 msgid "Welcome to the account setup assistant" msgstr "歡迎使用帳號設定助理" -#: ../gtk/setupwizard.c:584 +#: ../gtk/setupwizard.c:583 msgid "Account setup assistant" msgstr "帳號設定助理" -#: ../gtk/setupwizard.c:589 +#: ../gtk/setupwizard.c:588 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:593 +#: ../gtk/setupwizard.c:592 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:597 +#: ../gtk/setupwizard.c:596 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:602 +#: ../gtk/setupwizard.c:601 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:606 +#: ../gtk/setupwizard.c:605 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:611 +#: ../gtk/setupwizard.c:610 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:615 +#: ../gtk/setupwizard.c:614 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:619 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "" @@ -653,115 +666,116 @@ msgstr "" msgid "%.3f seconds" msgstr "" -#: ../gtk/incall_view.c:407 ../gtk/main.ui.h:12 ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:235 msgid "Hang up" msgstr "" -#: ../gtk/incall_view.c:511 +#: ../gtk/incall_view.c:510 msgid "Calling..." msgstr "播打..." -#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733 -msgid "00::00::00" -msgstr "00::00::00" +#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +msgid "00:00:00" +msgstr "00:00:00" -#: ../gtk/incall_view.c:525 +#: ../gtk/incall_view.c:524 msgid "Incoming call" msgstr "來電" -#: ../gtk/incall_view.c:562 +#: ../gtk/incall_view.c:561 msgid "good" msgstr "" -#: ../gtk/incall_view.c:564 +#: ../gtk/incall_view.c:563 msgid "average" msgstr "" -#: ../gtk/incall_view.c:566 +#: ../gtk/incall_view.c:565 msgid "poor" msgstr "" -#: ../gtk/incall_view.c:568 +#: ../gtk/incall_view.c:567 msgid "very poor" msgstr "" -#: ../gtk/incall_view.c:570 +#: ../gtk/incall_view.c:569 msgid "too bad" msgstr "" -#: ../gtk/incall_view.c:571 ../gtk/incall_view.c:587 +#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 msgid "unavailable" msgstr "" -#: ../gtk/incall_view.c:679 +#: ../gtk/incall_view.c:715 msgid "Secured by SRTP" msgstr "" -#: ../gtk/incall_view.c:685 +#: ../gtk/incall_view.c:721 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:691 +#: ../gtk/incall_view.c:727 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "" -#: ../gtk/incall_view.c:697 +#: ../gtk/incall_view.c:733 msgid "Set unverified" msgstr "" -#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4 +#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In conference" msgstr "" -#: ../gtk/incall_view.c:728 +#: ../gtk/incall_view.c:762 msgid "In call" msgstr "通話中" -#: ../gtk/incall_view.c:764 +#: ../gtk/incall_view.c:798 msgid "Paused call" msgstr "暫停通話" -#: ../gtk/incall_view.c:800 +#: ../gtk/incall_view.c:834 msgid "Call ended." msgstr "通話結束。" -#: ../gtk/incall_view.c:831 +#: ../gtk/incall_view.c:865 msgid "Transfer in progress" msgstr "" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:868 msgid "Transfer done." msgstr "" -#: ../gtk/incall_view.c:837 +#: ../gtk/incall_view.c:871 msgid "Transfer failed." msgstr "" -#: ../gtk/incall_view.c:881 +#: ../gtk/incall_view.c:904 msgid "Resume" msgstr "繼續" -#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9 +#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "暫停" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:954 +#: ../gtk/incall_view.c:977 msgid "(Paused)" msgstr "" -#: ../gtk/loginframe.c:87 +#: ../gtk/loginframe.c:75 #, c-format msgid "Please enter login information for %s" msgstr "請輸入 %s 的 登入資訊" @@ -858,7 +872,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:32 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 msgid "Audio assistant" msgstr "" @@ -875,165 +889,97 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "Callee name" -msgstr "" - -#: ../gtk/main.ui.h:2 -msgid "Send" -msgstr "傳送" - -#: ../gtk/main.ui.h:3 -msgid "End conference" -msgstr "" - -#: ../gtk/main.ui.h:7 -msgid "Record this call to an audio file" -msgstr "" - -#: ../gtk/main.ui.h:8 -msgid "Video" -msgstr "" - -#: ../gtk/main.ui.h:10 -msgid "Mute" -msgstr "" - -#: ../gtk/main.ui.h:11 -msgid "Transfer" -msgstr "轉接" - -#: ../gtk/main.ui.h:14 -msgid "In call" -msgstr "通話中" - -#: ../gtk/main.ui.h:15 -msgid "Duration" -msgstr "時間長度" - -#: ../gtk/main.ui.h:16 -msgid "Call quality rating" -msgstr "" - -#: ../gtk/main.ui.h:17 msgid "All users" msgstr "所有使用者" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:2 msgid "Online users" msgstr "線上使用者" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 msgid "ADSL" msgstr "ADSL" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 msgid "Fiber Channel" msgstr "光纖通道" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:5 msgid "Default" msgstr "預設值" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:6 msgid "Delete" msgstr "" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:7 msgid "_Options" msgstr "選項(_O)" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:8 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:25 +#: ../gtk/main.ui.h:9 msgid "Always start video" msgstr "" -#: ../gtk/main.ui.h:26 +#: ../gtk/main.ui.h:10 msgid "Enable self-view" msgstr "啟用自拍檢視" -#: ../gtk/main.ui.h:27 +#: ../gtk/main.ui.h:11 msgid "_Help" msgstr "求助(_H)" -#: ../gtk/main.ui.h:28 +#: ../gtk/main.ui.h:12 msgid "Show debug window" msgstr "顯示除錯視窗" -#: ../gtk/main.ui.h:29 +#: ../gtk/main.ui.h:13 msgid "_Homepage" msgstr "官方網頁(_H)" -#: ../gtk/main.ui.h:30 +#: ../gtk/main.ui.h:14 msgid "Check _Updates" msgstr "檢查更新(_U)" -#: ../gtk/main.ui.h:31 +#: ../gtk/main.ui.h:15 msgid "Account assistant" msgstr "" -#: ../gtk/main.ui.h:33 +#: ../gtk/main.ui.h:17 msgid "SIP address or phone number:" msgstr "SIP 位址或電話號碼:" -#: ../gtk/main.ui.h:34 +#: ../gtk/main.ui.h:18 msgid "Initiate a new call" msgstr "打出新電話" -#: ../gtk/main.ui.h:35 +#: ../gtk/main.ui.h:19 msgid "Contacts" msgstr "連絡人" -#: ../gtk/main.ui.h:36 +#: ../gtk/main.ui.h:20 msgid "Search" msgstr "搜尋" -#: ../gtk/main.ui.h:37 +#: ../gtk/main.ui.h:21 msgid "Add contacts from directory" msgstr "從目錄加入連絡人" -#: ../gtk/main.ui.h:38 +#: ../gtk/main.ui.h:22 msgid "Add contact" msgstr "加入聯絡人" -#: ../gtk/main.ui.h:39 +#: ../gtk/main.ui.h:23 msgid "Recent calls" msgstr "" -#: ../gtk/main.ui.h:40 +#: ../gtk/main.ui.h:24 msgid "My current identity:" msgstr "我目前的使用者識別:" -#: ../gtk/main.ui.h:41 ../gtk/tunnel_config.ui.h:7 -msgid "Username" -msgstr "使用者名稱" - -#: ../gtk/main.ui.h:42 ../gtk/tunnel_config.ui.h:8 -msgid "Password" -msgstr "密碼" - -#: ../gtk/main.ui.h:43 -msgid "Internet connection:" -msgstr "網路連線:" - -#: ../gtk/main.ui.h:44 -msgid "Automatically log me in" -msgstr "將我自動登入" - -#: ../gtk/main.ui.h:45 ../gtk/password.ui.h:3 -msgid "UserID" -msgstr "使用者ID" - -#: ../gtk/main.ui.h:46 -msgid "Login information" -msgstr "登入資訊" - -#: ../gtk/main.ui.h:47 -msgid "Welcome!" -msgstr "" - #: ../gtk/about.ui.h:1 msgid "About Linphone" msgstr "" @@ -1094,6 +1040,10 @@ msgstr "Linphone - 需要驗證" msgid "Please enter the domain password" msgstr "請輸入這個網域的密碼" +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "使用者ID" + #: ../gtk/call_logs.ui.h:1 msgid "Call history" msgstr "通話紀錄" @@ -1636,6 +1586,14 @@ msgstr "" msgid "Configure tunnel" msgstr "" +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "使用者名稱" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "密碼" + #: ../gtk/tunnel_config.ui.h:9 msgid "Configure http proxy (optional)" msgstr "" @@ -1735,8 +1693,11 @@ msgstr "" #: ../gtk/config-uri.ui.h:2 msgid "" -"This dialog allows to set an http or https address when configuration is to be fetched at startup.\n" -"Please enter or modify the configuration URI below. After clicking OK, Linphone will restart automatically in order to fetch and take into account the new configuration. " +"This dialog allows to set an http or https address when configuration is to " +"be fetched at startup.\n" +"Please enter or modify the configuration URI below. After clicking OK, " +"Linphone will restart automatically in order to fetch and take into account " +"the new configuration. " msgstr "" #: ../gtk/provisioning-fetch.ui.h:1 @@ -1747,60 +1708,112 @@ msgstr "" msgid "Please wait while fetching configuration from server..." msgstr "" +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "傳送" + +#: ../gtk/callee_frame.ui.h:1 +msgid "Callee name" +msgstr "" + +#: ../gtk/conf_frame.ui.h:1 +msgid "End conference" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:2 +msgid "Click here to set the speakers volume" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:5 +msgid "Record this call to an audio file" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:9 +msgid "Transfer" +msgstr "轉接" + +#: ../gtk/in_call_frame.ui.h:12 +msgid "In call" +msgstr "通話中" + +#: ../gtk/in_call_frame.ui.h:13 +msgid "Duration" +msgstr "時間長度" + +#: ../gtk/in_call_frame.ui.h:14 +msgid "Call quality rating" +msgstr "" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "網路連線:" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "將我自動登入" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "登入資訊" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "" + #: ../coreapi/linphonecore.c:1483 msgid "Ready" msgstr "準備就緒" -#: ../coreapi/linphonecore.c:2413 +#: ../coreapi/linphonecore.c:2415 msgid "Configuring" msgstr "" -#: ../coreapi/linphonecore.c:2587 -msgid "Looking for telephone number destination..." -msgstr "尋找電話號碼目的端..." - -#: ../coreapi/linphonecore.c:2589 -msgid "Could not resolve this number." -msgstr "無法解析這個號碼。" - #. must be known at that time -#: ../coreapi/linphonecore.c:2875 +#: ../coreapi/linphonecore.c:2800 msgid "Contacting" msgstr "正在連絡" -#: ../coreapi/linphonecore.c:2880 +#: ../coreapi/linphonecore.c:2805 msgid "Could not call" msgstr "無法通話" -#: ../coreapi/linphonecore.c:3031 +#: ../coreapi/linphonecore.c:2956 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "抱歉,我們已達瀏同步通話的最大數目" -#: ../coreapi/linphonecore.c:3189 +#: ../coreapi/linphonecore.c:3114 msgid "is contacting you" msgstr "正在連絡您" -#: ../coreapi/linphonecore.c:3190 +#: ../coreapi/linphonecore.c:3115 msgid " and asked autoanswer." msgstr "並要求自動接聽。" -#: ../coreapi/linphonecore.c:3316 +#: ../coreapi/linphonecore.c:3241 msgid "Modifying call parameters..." msgstr "修改通話參數..." -#: ../coreapi/linphonecore.c:3695 +#: ../coreapi/linphonecore.c:3625 msgid "Connected." msgstr "已連線。" -#: ../coreapi/linphonecore.c:3720 +#: ../coreapi/linphonecore.c:3650 msgid "Call aborted" msgstr "通話已放棄" -#: ../coreapi/linphonecore.c:3917 +#: ../coreapi/linphonecore.c:3847 msgid "Could not pause the call" msgstr "無法暫停通話" -#: ../coreapi/linphonecore.c:3920 +#: ../coreapi/linphonecore.c:3850 msgid "Pausing the current call..." msgstr "暫停目前的通話..." @@ -1864,23 +1877,39 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:328 +#: ../coreapi/proxy.c:295 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." -msgstr "您輸入的 sip 代理位址是無效的,它必須要以「sip:」開頭,後面接主機名稱。" +msgstr "" +"您輸入的 sip 代理位址是無效的,它必須要以「sip:」開頭,後面接主機名稱。" -#: ../coreapi/proxy.c:334 +#: ../coreapi/proxy.c:301 msgid "" "The sip identity you entered is invalid.\n" "It should look like sip:username@proxydomain, such as sip:alice@example.net" -msgstr "您輸入的 sip 身分是無效的。\n它應該看起來像 sip:使用者名稱@代理網域,像是 sip:alice@example.net" +msgstr "" +"您輸入的 sip 身分是無效的。\n" +"它應該看起來像 sip:使用者名稱@代理網域,像是 sip:alice@example.net" -#: ../coreapi/proxy.c:1420 +#: ../coreapi/proxy.c:1010 +msgid "Looking for telephone number destination..." +msgstr "尋找電話號碼目的端..." + +#: ../coreapi/proxy.c:1014 +msgid "Could not resolve this number." +msgstr "無法解析這個號碼。" + +#: ../coreapi/proxy.c:1407 #, c-format msgid "Could not login as %s" msgstr "無法以 %s 登入" +#: ../coreapi/proxy.c:1494 +#, c-format +msgid "Refreshing on %s..." +msgstr "" + #: ../coreapi/callbacks.c:442 msgid "Remote ringing." msgstr "遠端響鈴。" @@ -1916,7 +1945,7 @@ msgstr "通話由 %s 接聽。" msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:920 +#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 msgid "Incompatible media parameters." msgstr "" @@ -1934,59 +1963,59 @@ msgstr "" msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:796 +#: ../coreapi/callbacks.c:797 msgid "Call terminated." msgstr "通話已終止。" -#: ../coreapi/callbacks.c:824 +#: ../coreapi/callbacks.c:825 msgid "User is busy." msgstr "使用者現正忙碌。" -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:826 msgid "User is temporarily unavailable." msgstr "使用者暫時無法聯繫。" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:827 +#: ../coreapi/callbacks.c:828 msgid "User does not want to be disturbed." msgstr "使用者不想要被打擾。" -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:829 msgid "Call declined." msgstr "通話被拒接。" -#: ../coreapi/callbacks.c:843 +#: ../coreapi/callbacks.c:844 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:874 +#: ../coreapi/callbacks.c:875 msgid "Redirected" msgstr "已重新導向" -#: ../coreapi/callbacks.c:929 +#: ../coreapi/callbacks.c:930 msgid "Call failed." msgstr "通話失敗。" -#: ../coreapi/callbacks.c:1007 +#: ../coreapi/callbacks.c:1008 #, c-format msgid "Registration on %s successful." msgstr "在 %s 註冊成功。" -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1009 #, c-format msgid "Unregistration on %s done." msgstr "在 %s 取消註冊完成。" -#: ../coreapi/callbacks.c:1026 +#: ../coreapi/callbacks.c:1027 msgid "no response timeout" msgstr "沒有回應逾時" -#: ../coreapi/callbacks.c:1029 +#: ../coreapi/callbacks.c:1030 #, c-format msgid "Registration on %s failed: %s" msgstr "在 %s 註冊失敗:%s" -#: ../coreapi/callbacks.c:1036 +#: ../coreapi/callbacks.c:1037 msgid "Service unavailable, retrying" msgstr "" @@ -1996,11 +2025,11 @@ msgstr "" msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1312 +#: ../coreapi/linphonecall.c:1314 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3826 +#: ../coreapi/linphonecall.c:3904 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." diff --git a/tester/call_tester.c b/tester/call_tester.c index fbe81b2b6..464017e0d 100644 --- a/tester/call_tester.c +++ b/tester/call_tester.c @@ -144,7 +144,7 @@ void linphone_transfer_state_changed(LinphoneCore *lc, LinphoneCall *transfered, } -void linphone_call_cb(LinphoneCall *call,void * user_data) { +void linphone_call_iframe_decoded_cb(LinphoneCall *call,void * user_data) { char* to=linphone_address_as_string(linphone_call_get_call_log(call)->to); char* from=linphone_address_as_string(linphone_call_get_call_log(call)->from); stats* counters; @@ -288,9 +288,9 @@ bool_t call_with_params2(LinphoneCoreManager* caller_mgr BC_ASSERT_TRUE(wait_for(callee_mgr->lc,caller_mgr->lc,&callee_mgr->stat.number_of_LinphoneCallConnected,initial_callee.number_of_LinphoneCallConnected+1)); BC_ASSERT_TRUE(wait_for(callee_mgr->lc,caller_mgr->lc,&caller_mgr->stat.number_of_LinphoneCallConnected,initial_callee.number_of_LinphoneCallConnected+1)); - result = wait_for(callee_mgr->lc,caller_mgr->lc,&caller_mgr->stat.number_of_LinphoneCallStreamsRunning,initial_caller.number_of_LinphoneCallStreamsRunning+1) + result = wait_for_until(callee_mgr->lc,caller_mgr->lc,&caller_mgr->stat.number_of_LinphoneCallStreamsRunning,initial_caller.number_of_LinphoneCallStreamsRunning+1, 2000) && - wait_for(callee_mgr->lc,caller_mgr->lc,&callee_mgr->stat.number_of_LinphoneCallStreamsRunning,initial_callee.number_of_LinphoneCallStreamsRunning+1); + wait_for_until(callee_mgr->lc,caller_mgr->lc,&callee_mgr->stat.number_of_LinphoneCallStreamsRunning,initial_callee.number_of_LinphoneCallStreamsRunning+1, 2000); if (linphone_core_get_media_encryption(caller_mgr->lc) != LinphoneMediaEncryptionNone || linphone_core_get_media_encryption(callee_mgr->lc) != LinphoneMediaEncryptionNone) { @@ -925,7 +925,9 @@ static void call_declined(void) { BC_ASSERT_EQUAL(marie->stat.number_of_LinphoneCallEnd,1, int, "%d"); BC_ASSERT_EQUAL(pauline->stat.number_of_LinphoneCallEnd,1, int, "%d"); BC_ASSERT_EQUAL(linphone_call_get_reason(in_call),LinphoneReasonDeclined, int, "%d"); + BC_ASSERT_EQUAL(linphone_call_log_get_status(linphone_call_get_call_log(in_call)),LinphoneCallDeclined, int, "%d"); BC_ASSERT_EQUAL(linphone_call_get_reason(out_call),LinphoneReasonDeclined, int, "%d"); + BC_ASSERT_EQUAL(linphone_call_log_get_status(linphone_call_get_call_log(out_call)),LinphoneCallDeclined, int, "%d"); linphone_call_unref(in_call); } linphone_call_unref(out_call); @@ -1240,6 +1242,74 @@ end: static void call_paused_resumed(void) { call_paused_resumed_base(FALSE); } + +static void call_paused_by_both() { + LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc"); + LinphoneCoreManager* pauline = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc"); + LinphoneCall* call_pauline, *call_marie; + const rtp_stats_t * stats; + MSList *lcs = NULL; + bool_t call_ok; + + lcs = ms_list_append(lcs, pauline->lc); + lcs = ms_list_append(lcs, marie->lc); + BC_ASSERT_TRUE((call_ok=call(pauline,marie))); + + if (!call_ok) goto end; + + call_pauline = linphone_core_get_current_call(pauline->lc); + call_marie = linphone_core_get_current_call(marie->lc); + + wait_for_until(pauline->lc, marie->lc, NULL, 5, 2000); + + linphone_core_pause_call(pauline->lc,call_pauline); + BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallPausing,1)); + BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallPausedByRemote,1)); + BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallPaused,1)); + + /*stay in pause a little while in order to generate traffic*/ + wait_for_until(pauline->lc, marie->lc, NULL, 5, 2000); + + /*marie pauses the call also*/ + linphone_core_pause_call(marie->lc, call_marie); + BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallPausing,1)); + BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallPaused,1)); + + wait_for_until(pauline->lc, marie->lc, NULL, 5, 2000); + /*pauline must stay in paused state*/ + BC_ASSERT_EQUAL(pauline->stat.number_of_LinphoneCallPaused, 1, int, "%i"); + check_media_direction(pauline, call_pauline, lcs, LinphoneMediaDirectionInactive, LinphoneMediaDirectionInvalid); + check_media_direction(marie, call_marie, lcs, LinphoneMediaDirectionInactive, LinphoneMediaDirectionInvalid); + + + /*now pauline wants to resume*/ + linphone_core_resume_call(pauline->lc, call_pauline); + BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallResuming,1)); + BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallPausedByRemote,1)); + /*Marie must stay in paused state*/ + wait_for_until(pauline->lc, marie->lc, NULL, 5, 2000); + BC_ASSERT_EQUAL(marie->stat.number_of_LinphoneCallPaused, 1, int, "%i"); + + /*now marie wants to resume also*/ + linphone_core_resume_call(marie->lc, call_marie); + BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallResuming,1)); + BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,2)); + BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,2)); + /*same here: wait a while for a bit of a traffic, we need to receive a RTCP packet*/ + wait_for_until(pauline->lc, marie->lc, NULL, 5, 5000); + + /*since RTCP streams are reset when call is paused/resumed, there should be no loss at all*/ + stats = rtp_session_get_stats(call_pauline->sessions->rtp_session); + BC_ASSERT_EQUAL(stats->cum_packet_loss, 0, int, "%d"); + + end_call(marie, pauline); + +end: + linphone_core_manager_destroy(marie); + linphone_core_manager_destroy(pauline); + ms_list_free(lcs); +} + #define CHECK_CURRENT_LOSS_RATE() \ rtcp_count_current = pauline->stat.number_of_rtcp_sent; \ /*wait for an RTCP packet to have an accurate cumulative lost value*/ \ @@ -1496,7 +1566,7 @@ bool_t add_video(LinphoneCoreManager* caller,LinphoneCoreManager* callee, bool_t } if (video_policy->automatically_accept) { - linphone_call_set_next_video_frame_decoded_callback(call_obj,linphone_call_cb,callee->lc); + linphone_call_set_next_video_frame_decoded_callback(call_obj,linphone_call_iframe_decoded_cb,callee->lc); /*send vfu*/ linphone_call_send_vfu_request(call_obj); return wait_for(caller->lc,callee->lc,&callee->stat.number_of_IframeDecoded,initial_callee_stat.number_of_IframeDecoded+1); @@ -1791,7 +1861,7 @@ void video_call_base_2(LinphoneCoreManager* pauline,LinphoneCoreManager* marie, BC_ASSERT_TRUE(linphone_call_log_video_enabled(linphone_call_get_call_log(pauline_call))); /*check video path*/ - linphone_call_set_next_video_frame_decoded_callback(marie_call,linphone_call_cb,marie->lc); + linphone_call_set_next_video_frame_decoded_callback(marie_call,linphone_call_iframe_decoded_cb,marie->lc); linphone_call_send_vfu_request(marie_call); BC_ASSERT_TRUE( wait_for(marie->lc,pauline->lc,&marie->stat.number_of_IframeDecoded,1)); } else { @@ -2345,7 +2415,7 @@ static void call_with_file_player(void) { end_call(marie, pauline); /*cannot run on iphone simulator because locks main loop beyond permitted time (should run on another thread) */ - BC_ASSERT_EQUAL(ms_audio_diff(hellopath,recordpath,&similar,audio_cmp_max_shift,NULL,NULL), 0, int, "%d"); + BC_ASSERT_EQUAL(ms_audio_diff(hellopath,recordpath,&similar,&audio_cmp_params,NULL,NULL), 0, int, "%d"); if (similar>=threshold) break; } @@ -2422,7 +2492,7 @@ static void call_with_mkv_file_player(void) { } end_call(marie, pauline); #ifdef DO_AUDIO_CMP - BC_ASSERT_EQUAL(ms_audio_diff(hellowav,recordpath,&similar,audio_cmp_max_shift,NULL,NULL),0,int,"%d"); + BC_ASSERT_EQUAL(ms_audio_diff(hellowav,recordpath,&similar,&audio_cmp_params,NULL,NULL),0,int,"%d"); BC_ASSERT_GREATER(similar,threshold,double,"%f"); BC_ASSERT_LOWER(similar,1.0,double,"%f"); if(similar>threshold && similar<=1.0) { @@ -3225,48 +3295,59 @@ void check_media_direction(LinphoneCoreManager* mgr, LinphoneCall *call, MSList* if (call) { const LinphoneCallParams *params = linphone_call_get_current_params(call); #ifdef VIDEO_ENABLED - int current_recv_iframe = mgr->stat.number_of_IframeDecoded; - int expected_recv_iframe=0; - int dummy = 0; + if (video_dir != LinphoneMediaDirectionInvalid){ + int current_recv_iframe = mgr->stat.number_of_IframeDecoded; + int expected_recv_iframe=0; + int dummy = 0; - BC_ASSERT_EQUAL(video_dir,linphone_call_params_get_video_direction(params), int, "%d"); - linphone_call_set_next_video_frame_decoded_callback(call,linphone_call_cb,mgr->lc); - linphone_call_send_vfu_request(call); + if (video_dir != LinphoneMediaDirectionInactive){ + BC_ASSERT_TRUE(linphone_call_params_video_enabled(params)); + } + BC_ASSERT_EQUAL(linphone_call_params_get_video_direction(params), video_dir, int, "%d"); + linphone_call_set_next_video_frame_decoded_callback(call,linphone_call_iframe_decoded_cb,mgr->lc); + linphone_call_send_vfu_request(call); - wait_for_list(lcs,&dummy,1,2000); /*on some device, it may take 3 to 4s to get audio from mic*/ + wait_for_list(lcs,&dummy,1,2000); /*on some device, it may take 3 to 4s to get audio from mic*/ - switch (video_dir) { - case LinphoneMediaDirectionInactive: - BC_ASSERT_TRUE(linphone_call_get_video_stats(call)->upload_bandwidth<5); - case LinphoneMediaDirectionSendOnly: - expected_recv_iframe = 0; - BC_ASSERT_TRUE(linphone_call_get_video_stats(call)->download_bandwidth<5); - break; - case LinphoneMediaDirectionRecvOnly: - BC_ASSERT_TRUE(linphone_call_get_video_stats(call)->upload_bandwidth<5); - case LinphoneMediaDirectionSendRecv: - expected_recv_iframe = 1; - break; - } - - BC_ASSERT_TRUE(wait_for_list(lcs, &mgr->stat.number_of_IframeDecoded,current_recv_iframe + expected_recv_iframe,3000)); -#endif - BC_ASSERT_EQUAL(audio_dir,linphone_call_params_get_audio_direction(params), int, "%d"); - switch (audio_dir) { + switch (video_dir) { case LinphoneMediaDirectionInactive: - BC_ASSERT_TRUE(linphone_call_get_audio_stats(call)->upload_bandwidth<5); + BC_ASSERT_TRUE(linphone_call_get_video_stats(call)->upload_bandwidth<5); case LinphoneMediaDirectionSendOnly: + expected_recv_iframe = 0; BC_ASSERT_TRUE(linphone_call_get_video_stats(call)->download_bandwidth<5); - if (audio_dir == LinphoneMediaDirectionSendOnly) BC_ASSERT_TRUE(wait_for_list(lcs,mgr->stat.current_audio_upload_bandwidth,70,4000)); break; case LinphoneMediaDirectionRecvOnly: - BC_ASSERT_TRUE(linphone_call_get_audio_stats(call)->upload_bandwidth<5); + BC_ASSERT_TRUE(linphone_call_get_video_stats(call)->upload_bandwidth<5); case LinphoneMediaDirectionSendRecv: - BC_ASSERT_TRUE(wait_for_list(lcs,mgr->stat.current_audio_download_bandwidth,70,4000)); - if (audio_dir == LinphoneMediaDirectionSendRecv) BC_ASSERT_TRUE(wait_for_list(lcs,mgr->stat.current_audio_upload_bandwidth,70,4000)); + expected_recv_iframe = 1; + break; + default: break; } + + BC_ASSERT_TRUE(wait_for_list(lcs, &mgr->stat.number_of_IframeDecoded,current_recv_iframe + expected_recv_iframe,3000)); + } +#endif + if (audio_dir != LinphoneMediaDirectionInvalid){ + BC_ASSERT_EQUAL(linphone_call_params_get_audio_direction(params), audio_dir, int, "%d"); + switch (audio_dir) { + case LinphoneMediaDirectionInactive: + BC_ASSERT_TRUE(linphone_call_get_audio_stats(call)->upload_bandwidth<5); + case LinphoneMediaDirectionSendOnly: + BC_ASSERT_TRUE(linphone_call_get_video_stats(call)->download_bandwidth<5); + if (audio_dir == LinphoneMediaDirectionSendOnly) BC_ASSERT_TRUE(wait_for_list(lcs,mgr->stat.current_audio_upload_bandwidth,70,4000)); + break; + case LinphoneMediaDirectionRecvOnly: + BC_ASSERT_TRUE(linphone_call_get_audio_stats(call)->upload_bandwidth<5); + case LinphoneMediaDirectionSendRecv: + BC_ASSERT_TRUE(wait_for_list(lcs,mgr->stat.current_audio_download_bandwidth,70,4000)); + if (audio_dir == LinphoneMediaDirectionSendRecv) BC_ASSERT_TRUE(wait_for_list(lcs,mgr->stat.current_audio_upload_bandwidth,70,4000)); + break; + default: + break; + } + } } } @@ -3281,14 +3362,14 @@ static void accept_call_in_send_only_base(LinphoneCoreManager* pauline, Linphone linphone_core_enable_video(pauline->lc,TRUE,TRUE); linphone_core_set_video_policy(pauline->lc,&pol); - linphone_core_set_video_device(pauline->lc,"Mire: Mire (synthetic moving picture)"); + linphone_core_set_video_device(pauline->lc,liblinphone_tester_mire_id); linphone_core_enable_video(marie->lc,TRUE,TRUE); linphone_core_set_video_policy(marie->lc,&pol); - linphone_core_set_video_device(marie->lc,"Mire: Mire (synthetic moving picture)"); + linphone_core_set_video_device(marie->lc,liblinphone_tester_mire_id); linphone_call_set_next_video_frame_decoded_callback(linphone_core_invite_address(pauline->lc,marie->identity) - ,linphone_call_cb + ,linphone_call_iframe_decoded_cb ,pauline->lc); @@ -4095,8 +4176,8 @@ static void video_call_with_re_invite_inactive_followed_by_re_invite_base(Linpho marie = linphone_core_manager_new( "marie_rc"); pauline = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc"); linphone_core_set_avpf_mode(pauline->lc,TRUE); - linphone_core_set_video_device(pauline->lc,"Mire: Mire (synthetic moving picture)"); - linphone_core_set_video_device(marie->lc,"Mire: Mire (synthetic moving picture)"); + linphone_core_set_video_device(pauline->lc,liblinphone_tester_mire_id); + linphone_core_set_video_device(marie->lc,liblinphone_tester_mire_id); linphone_core_set_avpf_mode(marie->lc,TRUE); lcs=ms_list_append(lcs,pauline->lc); lcs=ms_list_append(lcs,marie->lc); @@ -4112,7 +4193,7 @@ static void video_call_with_re_invite_inactive_followed_by_re_invite_base(Linpho linphone_call_params_destroy(params); BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallUpdating,1)); - BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallPaused,1)); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,2)); BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallPausedByRemote,1)); check_media_direction(marie,linphone_core_get_current_call(marie->lc),lcs,LinphoneMediaDirectionInactive,LinphoneMediaDirectionInactive); @@ -4122,19 +4203,13 @@ static void video_call_with_re_invite_inactive_followed_by_re_invite_base(Linpho linphone_core_enable_sdp_200_ack(marie->lc,TRUE); } - /* - currently update call cannot be used in paused state, might not be good. params=linphone_core_create_call_params(marie->lc,linphone_core_get_current_call(marie->lc)); linphone_call_params_set_audio_direction(params,LinphoneMediaDirectionSendRecv); linphone_call_params_set_video_direction(params,LinphoneMediaDirectionSendRecv); linphone_core_update_call(marie->lc,linphone_core_get_current_call(marie->lc),params); linphone_call_params_destroy(params); - */ - - linphone_core_resume_call(marie->lc,linphone_core_get_current_call(marie->lc)); - - BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallResuming,1)); - BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,2)); + + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,3)); BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,2)); check_media_direction(marie,linphone_core_get_current_call(marie->lc),lcs,LinphoneMediaDirectionSendRecv,LinphoneMediaDirectionSendRecv); @@ -4244,14 +4319,14 @@ static void simple_stereo_call(const char *codec_name, int clock_rate, int bitra }else{ #if !defined(__arm__) && !defined(__arm64__) && !TARGET_IPHONE_SIMULATOR && !defined(ANDROID) double similar; - double min_threshold = .7f; + double min_threshold = .6f; double max_threshold = 1.f; if (!stereo){ /*when opus doesn't transmit stereo, the cross correlation is around 0.54 : as expected, it is not as good as in full stereo mode*/ min_threshold = .4f; max_threshold = .6f; } - BC_ASSERT_EQUAL(ms_audio_diff(recordpath, stereo_file,&similar,audio_cmp_max_shift,completion_cb,NULL), 0, int, "%d"); + BC_ASSERT_EQUAL(ms_audio_diff(stereo_file, recordpath,&similar,&audio_cmp_params,completion_cb,NULL), 0, int, "%d"); BC_ASSERT_GREATER(similar, min_threshold, double, "%g"); BC_ASSERT_LOWER(similar, max_threshold, double, "%g"); if (similarmax_threshold){ @@ -4281,6 +4356,112 @@ static void simple_stereo_call_opus(void){ simple_stereo_call("opus", 48000, 150, TRUE); } +static void call_with_complex_late_offering(void){ + LinphoneCallParams *params; + LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc"); + LinphoneCoreManager* pauline = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc"); + LinphoneCall* call_pauline; + LinphoneCall* call_marie; + LinphoneVideoPolicy vpol = {TRUE, TRUE}; + bool_t call_ok; + + linphone_core_enable_video(pauline->lc, TRUE, TRUE); + linphone_core_enable_video(marie->lc, TRUE, TRUE); + linphone_core_set_video_policy(pauline->lc, &vpol); + linphone_core_set_video_policy(marie->lc, &vpol); + linphone_core_set_video_device(pauline->lc,liblinphone_tester_mire_id); + linphone_core_set_video_device(marie->lc,liblinphone_tester_mire_id); + + BC_ASSERT_TRUE((call_ok=call(pauline,marie))); + if (!call_ok) goto end; + + call_pauline = linphone_core_get_current_call(pauline->lc); + call_marie = linphone_core_get_current_call(marie->lc); + + //Invite inactive Audio/video (Marie pause Pauline) + ms_message("CONTEXT: Marie sends INVITE with SDP with all streams inactive"); + params=linphone_core_create_call_params(marie->lc,call_marie); + linphone_call_params_set_audio_direction(params,LinphoneMediaDirectionInactive); + linphone_call_params_set_video_direction(params,LinphoneMediaDirectionInactive); + + linphone_core_update_call(marie->lc, call_marie ,params); + linphone_call_params_destroy(params); + + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallUpdating,1)); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallPausedByRemote,1)); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,2)); + + //Marie sends INVITE without SDP + ms_message("CONTEXT: Marie sends INVITE without SDP for setting streams in send-only mode"); + linphone_core_enable_sdp_200_ack(marie->lc,TRUE); + params=linphone_core_create_call_params(marie->lc,call_marie); + linphone_call_params_set_audio_direction(params,LinphoneMediaDirectionSendOnly); + linphone_call_params_set_video_direction(params,LinphoneMediaDirectionSendOnly); + linphone_core_update_call(marie->lc, call_marie , params); + linphone_call_params_destroy(params); + + //Pauline OK with sendonly + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallUpdating,2)); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,3)); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallPausedByRemote,2)); + + linphone_core_enable_sdp_200_ack(marie->lc,FALSE); + + //Pauline pause Marie + ms_message("CONTEXT: Pauline pauses the call"); + linphone_core_pause_call(pauline->lc,call_pauline); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallPausing,1)); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallPaused,1)); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallPausedByRemote,1)); + + //Pauline resume Marie + ms_message("CONTEXT: Pauline resumes the call"); + wait_for_until(pauline->lc, marie->lc, NULL, 5, 2000); + linphone_core_resume_call(pauline->lc,call_pauline); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,4)); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallResuming,1)); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallPausedByRemote,3)); + + wait_for_until(pauline->lc, marie->lc, NULL, 0, 2000); + + //Marie invite inactive Audio/Video + ms_message("CONTEXT: Marie sends INVITE with SDP with all streams inactive"); + params=linphone_core_create_call_params(marie->lc,call_marie); + linphone_call_params_set_audio_direction(params,LinphoneMediaDirectionInactive); + linphone_call_params_set_video_direction(params,LinphoneMediaDirectionInactive); + + linphone_core_update_call(marie->lc, call_marie,params); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallUpdating,3)); + linphone_call_params_destroy(params); + + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallPausedByRemote,4)); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,5)); + + //Marie sends INVITE without SDP + ms_message("CONTEXT: Marie sends INVITE without SDP in the purpose of re-enabling streams in sendrecv mode"); + linphone_core_enable_sdp_200_ack(marie->lc,TRUE); + params=linphone_core_create_call_params(marie->lc,call_marie); + linphone_call_params_set_audio_direction(params,LinphoneMediaDirectionSendRecv); + linphone_call_params_set_video_direction(params,LinphoneMediaDirectionSendRecv); + linphone_core_update_call(marie->lc, call_marie,params); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallUpdating,3)); + linphone_call_params_destroy(params); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallUpdatedByRemote,1)); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,2)); + BC_ASSERT_TRUE(wait_for(marie->lc,pauline->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,5)); + + linphone_core_enable_sdp_200_ack(marie->lc,FALSE); + + + end_call(marie,pauline); + +end: + + linphone_core_manager_destroy(marie); + linphone_core_manager_destroy(pauline); + +} + static void simple_mono_call_opus(void){ /*actually a call where input/output is made with stereo but opus transmits everything as mono*/ simple_stereo_call("opus", 48000, 150, FALSE); @@ -4363,7 +4544,7 @@ static void call_with_rtp_io_mode(void) { wait_for_until(pauline->lc,marie->lc,NULL,0,1000); end_call(pauline,marie); - BC_ASSERT_EQUAL(ms_audio_diff(hellopath, recordpath, &similar, audio_cmp_max_shift, NULL, NULL), 0, int, "%d"); + BC_ASSERT_EQUAL(ms_audio_diff(hellopath, recordpath, &similar, &audio_cmp_params, NULL, NULL), 0, int, "%d"); if (similar>=threshold) break; } BC_ASSERT_GREATER(similar, threshold, double, "%g"); @@ -4430,6 +4611,347 @@ end: linphone_core_manager_destroy(pauline); } +// This is a custom structure used for the tests using custom RTP transport modifier. +// It is only used to count the number of sent and received packets +typedef struct _RtpTransportModifierData { + uint64_t packetSentCount; + uint64_t packetReceivedCount; +} RtpTransportModifierData; + +const char *XOR_KEY = "BELLEDONNECOMMUNICATIONS"; + +// Callback called when a packet is on it's way to be sent +// This is where we can do some changes on it, like encrypt it +static int rtptm_on_send(RtpTransportModifier *rtptm, mblk_t *msg) { + RtpTransportModifierData *data = rtptm->data; + rtp_header_t *rtp = (rtp_header_t*)msg->b_rptr; + int i = 0; + unsigned char *src; + int size = 0; + + if (rtp->version == 0) { + // This is probably a STUN packet, so don't count it (oRTP won't) and don't encrypt it either + return msgdsize(msg); + } + + // Mediastream can create a mblk_t with only the RTP header and setting the b_cont pointer to the actual RTP content buffer + // In this scenario, the result of rtp_get_payload will be 0, and we won't be able to do our XOR encryption on the payload + // The call to msgpullup will trigger a memcpy of the header and the payload in the same buffer in the msg mblk_t + msgpullup(msg, -1); + // Now that the mblk_t buffer directly contains the header and the payload, we can get the size of the payload and a pointer to it's start (we don't encrypt the RTP header) + size = rtp_get_payload(msg, &src); + + // Just for fun, let's do a XOR encryption + for (i = 0; i < size; i++) { + src[i] ^= (unsigned char) XOR_KEY[i % strlen(XOR_KEY)]; + } + + data->packetSentCount += 1; + + /* /!\ DO NOT RETURN 0 or the packet will never leave /!\ */ + return msgdsize(msg); +} + +// Callback called when a packet is on it's way to be received +// This is where we can do some changes on it, like decrypt it +static int rtptm_on_receive(RtpTransportModifier *rtptm, mblk_t *msg) { + RtpTransportModifierData *data = rtptm->data; + rtp_header_t *rtp = (rtp_header_t*)msg->b_rptr; + int i = 0; + unsigned char *src; + int size = 0; + + if (rtp->version == 0) { + // This is probably a STUN packet, so don't count it (oRTP won't) and don't decrypt it either + return msgdsize(msg); + } + + // On the receiving side, there is no need for a msgpullup, the mblk_t contains the header and the payload in the same buffer + // We just ask for the size and a pointer to the payload buffer + size = rtp_get_payload(msg, &src); + + // Since we did a XOR encryption on the send side, we have to do it again to decrypt the payload + for (i = 0; i < size; i++) { + src[i] ^= (unsigned char) XOR_KEY[i % strlen(XOR_KEY)]; + } + + data->packetReceivedCount += 1; + + /* /!\ DO NOT RETURN 0 or the packet will be dropped /!\ */ + return msgdsize(msg); +} + +// This callback is called when the transport modifier is being destroyed +// It is a good place to free the resources allocated for the transport modifier +static void rtptm_destroy(RtpTransportModifier *rtptm) { + // Do nothing, we'll free it later because we need to access the RtpTransportModifierData structure after the call is ended +} + +// This is the callback called when the state of the call change +void static call_state_changed_4(LinphoneCore *lc, LinphoneCall *call, LinphoneCallState cstate, const char *msg) { + int i = 0; + + // To add a custom RTP transport modifier, we have to do it before the call is running, but after the RTP session is created. + if (cstate == LinphoneCallIncomingReceived || cstate == LinphoneCallOutgoingProgress) { + RtpTransport *rtpt = NULL; + RtpTransportModifierData *data = ms_new0(RtpTransportModifierData, 1); + RtpTransportModifier *rtptm = ms_new0(RtpTransportModifier, 1); + rtptm->data = data; + rtptm->t_process_on_send = rtptm_on_send; + rtptm->t_process_on_receive = rtptm_on_receive; + rtptm->t_destroy = rtptm_destroy; + + // Here we iterate on each meta rtp transport available + for (i = 0; i < linphone_call_get_stream_count(call); i++) { + MSFormatType type; + + rtpt = linphone_call_get_meta_rtp_transport(call, i); + + // If we wanted, we also could get the RTCP meta transports like this: + // rtcpt = linphone_call_get_meta_rtcp_transport(call, i); + + // If you want to know which stream meta RTP transport is the current one, you can use + type = linphone_call_get_stream_type(call, i); + // Currently there is only MSAudio and MSVideo types, but this could change later + if (type == MSAudio) { + // And now we append our RTP transport modifier to the current list of modifiers + meta_rtp_transport_append_modifier(rtpt, rtptm); + } else if (type == MSVideo) { + // Because the call of this test is audio only, we don't have to append our modifier to the meta RTP transport from the video stream + } + + } + // We save the pointer to our RtpTransportModifier in the call user_data to be able to get to it later + call->user_data = rtptm; + } +} + +static void custom_rtp_modifier(bool_t pauseResumeTest, bool_t recordTest) { + // This will initialize two linphone core using information contained in the marie_rc and pauline_rc files and wait for them to be correctly registered + LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc"); + LinphoneCoreManager* pauline = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc"); + LinphoneCall* call_pauline = NULL; + LinphoneCall* call_marie = NULL; + const rtp_stats_t * stats; + bool_t call_ok; + LinphoneCoreVTable * v_table; + RtpTransportModifier *rtptm_marie = NULL; + RtpTransportModifier *rtptm_pauline = NULL; + RtpTransportModifierData *data_marie = NULL; + RtpTransportModifierData *data_pauline = NULL; + // The following are only used for the record test + LinphonePlayer *player; + char *hellopath = bc_tester_res("sounds/ahbahouaismaisbon.wav"); // File to be played + char *recordpath = create_filepath(bc_tester_get_writable_dir_prefix(), "record-call_with_file_player", "wav"); // File to record the received sound + double similar = 1; // The factor of similarity between the played file and the one recorded + const double threshold = 0.9; // Minimum similarity value to consider the record file equal to the one sent + + // We create a new vtable to listen only to the call state changes, in order to plug our RTP Transport Modifier when the call will be established + v_table = linphone_core_v_table_new(); + v_table->call_state_changed = call_state_changed_4; + linphone_core_add_listener(pauline->lc,v_table); + v_table = linphone_core_v_table_new(); + v_table->call_state_changed = call_state_changed_4; + linphone_core_add_listener(marie->lc,v_table); + + if (recordTest) { // When we do the record test, we need a file player to play the content of a sound file + /*make sure the record file doesn't already exists, otherwise this test will append new samples to it*/ + unlink(recordpath); + + linphone_core_use_files(pauline->lc,TRUE); + linphone_core_set_play_file(pauline->lc,NULL); + linphone_core_set_record_file(pauline->lc,NULL); + + /*callee is recording and plays file*/ + linphone_core_use_files(marie->lc,TRUE); + linphone_core_set_play_file(marie->lc,NULL); + linphone_core_set_record_file(marie->lc,recordpath); + } + + // Now the the call should be running (call state StreamsRunning) + BC_ASSERT_TRUE((call_ok=call(pauline,marie))); + + if (!call_ok) goto end; + + // Ref the call to keep the pointer valid even after the call is release + call_pauline = linphone_call_ref(linphone_core_get_current_call(pauline->lc)); + call_marie = linphone_call_ref(linphone_core_get_current_call(marie->lc)); + + // This is for the pause/resume test, we don't do it in the call record test to be able to check the recorded call matches the file played + if (pauseResumeTest) { + // This only wait for 3 seconds in order to generate traffic for the test + wait_for_until(pauline->lc, marie->lc, NULL, 5, 3000); + + linphone_core_pause_call(pauline->lc,call_pauline); + BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &pauline->stat.number_of_LinphoneCallPausing, 1)); + BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &marie->stat.number_of_LinphoneCallPausedByRemote, 1)); + BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &pauline->stat.number_of_LinphoneCallPaused, 1)); + + /*stay in pause a little while in order to generate traffic*/ + wait_for_until(pauline->lc, marie->lc, NULL, 5, 2000); + + linphone_core_resume_call(pauline->lc,call_pauline); + + BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 2)); + BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &marie->stat.number_of_LinphoneCallStreamsRunning, 2)); + + /*same here: wait a while for a bit of a traffic, we need to receive a RTCP packet*/ + wait_for_until(pauline->lc, marie->lc, NULL, 5, 5000); + + /*since RTCP streams are reset when call is paused/resumed, there should be no loss at all*/ + stats = rtp_session_get_stats(call_pauline->sessions->rtp_session); + BC_ASSERT_EQUAL(stats->cum_packet_loss, 0, int, "%d"); + + end_call(pauline, marie); + } else if (recordTest) { + player = linphone_call_get_player(call_pauline); + BC_ASSERT_PTR_NOT_NULL(player); + if (player) { + // This will ask pauline to play the file + BC_ASSERT_EQUAL(linphone_player_open(player, hellopath, on_eof, pauline),0, int, "%d"); + BC_ASSERT_EQUAL(linphone_player_start(player), 0, int, "%d"); + } + /* This assert should be modified to be at least as long as the WAV file */ + BC_ASSERT_TRUE(wait_for_until(pauline->lc, marie->lc, &pauline->stat.number_of_player_eof, 1, 10000)); + /*wait one second more for transmission to be fully ended (transmission time + jitter buffer)*/ + wait_for_until(pauline->lc, marie->lc, NULL, 0, 1000); + + end_call(pauline, marie); + + // Now we compute a similarity factor between the original file and the one we recorded on the callee side + BC_ASSERT_EQUAL(ms_audio_diff(hellopath, recordpath, &similar, &audio_cmp_params, NULL, NULL), 0, int, "%d"); + + BC_ASSERT_GREATER(similar, threshold, double, "%g"); + BC_ASSERT_LOWER(similar, 1.0, double, "%g"); + if (similar >= threshold && similar <= 1.0) { + // If the similarity value is between perfect (1) and our threshold (0.9), then we delete the file used for the record + remove(recordpath); + } + } else { + // This only wait for 3 seconds in order to generate traffic for the test + wait_for_until(pauline->lc, marie->lc, NULL, 5, 3000); + + // We termine the call and check the stats to see if the call is correctly ended on both sides + end_call(pauline, marie); + } + + // Now we can go fetch our custom structure and check the number of packets sent/received is the same on both sides + rtptm_marie = (RtpTransportModifier *)call_marie->user_data; + rtptm_pauline = (RtpTransportModifier *)call_pauline->user_data; + data_marie = (RtpTransportModifierData *)rtptm_marie->data; + data_pauline = (RtpTransportModifierData *)rtptm_pauline->data; + + BC_ASSERT_PTR_NOT_NULL(data_marie); + BC_ASSERT_PTR_NOT_NULL(data_pauline); + ms_message("Marie sent %i RTP packets and received %i (through our modifier)", (int)data_marie->packetSentCount, (int)data_marie->packetReceivedCount); + ms_message("Pauline sent %i RTP packets and received %i (through our modifier)", (int)data_pauline->packetSentCount, (int)data_pauline->packetReceivedCount); + // There will be a few RTP packets sent on marie's side before the call is ended at pauline's request, so we need the threshold + BC_ASSERT_TRUE(data_marie->packetSentCount - data_pauline->packetReceivedCount < 50); + BC_ASSERT_TRUE(data_marie->packetReceivedCount == data_pauline->packetSentCount); + // At this point, we know each packet that has been processed in the send callback of our RTP modifier also go through the recv callback of the remote. + + // Now we want to ensure that all sent RTP packets actually go through our RTP transport modifier and thus no packet leave without being processed (by any operation we might want to do on it) + { + const LinphoneCallStats *marie_stats = linphone_call_get_audio_stats(call_marie); + const LinphoneCallStats *pauline_stats = linphone_call_get_audio_stats(call_pauline); + rtp_stats_t marie_rtp_stats = linphone_call_stats_get_rtp_stats(marie_stats); + rtp_stats_t pauline_rtp_stats = linphone_call_stats_get_rtp_stats(pauline_stats); + ms_message("Marie sent %i RTP packets and received %i (for real)", (int)marie_rtp_stats.packet_sent, (int)marie_rtp_stats.packet_recv); + ms_message("Pauline sent %i RTP packets and received %i (for real)", (int)pauline_rtp_stats.packet_sent, (int)pauline_rtp_stats.packet_recv); + BC_ASSERT_TRUE(data_marie->packetReceivedCount == marie_rtp_stats.packet_recv); + BC_ASSERT_TRUE(data_marie->packetSentCount == marie_rtp_stats.packet_sent); + BC_ASSERT_TRUE(data_pauline->packetReceivedCount == pauline_rtp_stats.packet_recv); + BC_ASSERT_TRUE(data_pauline->packetSentCount == pauline_rtp_stats.packet_sent); + } + +end: + // Since we didn't free the resources of our RTP transport modifier in the rtptm_destroy callback, we'll do it here + if (data_pauline) { + ms_free(data_pauline); + } + ms_free(rtptm_pauline); + if (data_marie) { + ms_free(data_marie); + } + ms_free(rtptm_marie); + + // Unref the previously ref calls + if (call_marie) { + linphone_call_unref(call_marie); + } + if (call_pauline) { + linphone_call_unref(call_pauline); + } + + // The test is finished, the linphone core are no longer needed, we can safely free them + linphone_core_manager_destroy(marie); + linphone_core_manager_destroy(pauline); + + ms_free(recordpath); + ms_free(hellopath); +} + +static void call_with_custom_rtp_modifier(void) { + custom_rtp_modifier(FALSE, FALSE); +} + +static void call_paused_resumed_with_custom_rtp_modifier(void) { + custom_rtp_modifier(TRUE, FALSE); +} + +static void call_record_with_custom_rtp_modifier(void) { + custom_rtp_modifier(FALSE, TRUE); +} + +static void _call_with_network_switch(bool_t use_ice){ + LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc"); + LinphoneCoreManager* pauline = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc"); + bool_t call_ok; + + if (use_ice){ + linphone_core_set_firewall_policy(marie->lc,LinphonePolicyUseIce); + linphone_core_set_firewall_policy(pauline->lc,LinphonePolicyUseIce); + } + + BC_ASSERT_TRUE((call_ok=call(pauline,marie))); + if (!call_ok) goto end; + + wait_for_until(marie->lc, pauline->lc, NULL, 0, 2000); + if (use_ice) BC_ASSERT_TRUE(check_ice(pauline,marie,LinphoneIceStateHostConnection)); + + /*marie looses the network and reconnects*/ + linphone_core_set_network_reachable(marie->lc, FALSE); + wait_for_until(marie->lc, pauline->lc, NULL, 0, 1000); + + /*marie will reconnect and register*/ + linphone_core_set_network_reachable(marie->lc, TRUE); + BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneRegistrationOk, 2)); + + /*pauline shall receive a reINVITE to update the session*/ + BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallUpdatedByRemote, 1)); + BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 2)); + BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallStreamsRunning, 2)); + + liblinphone_tester_check_rtcp(pauline, marie); + if (use_ice) BC_ASSERT_TRUE(check_ice(pauline,marie,LinphoneIceStateHostConnection)); + + /*pauline shall be able to end the call without problem now*/ + end_call(pauline, marie); +end: + linphone_core_manager_destroy(marie); + linphone_core_manager_destroy(pauline); +} + +static void call_with_network_switch(void){ + _call_with_network_switch(FALSE); +} + +#if 0 +static void call_with_network_switch_and_ice(void){ + _call_with_network_switch(TRUE); +} +#endif + test_t call_tests[] = { { "Early declined call", early_declined_call }, { "Call declined", call_declined }, @@ -4458,6 +4980,7 @@ test_t call_tests[] = { { "Call without SDP", call_with_no_sdp}, { "Call without SDP and ACK without SDP", call_with_no_sdp_ack_without_sdp}, { "Call paused resumed", call_paused_resumed }, + { "Call paused by both parties", call_paused_by_both }, { "Call paused resumed with loss", call_paused_resumed_with_loss }, { "Call paused resumed from callee", call_paused_resumed_from_callee }, { "SRTP call", srtp_call }, @@ -4557,7 +5080,16 @@ test_t call_tests[] = { { "Simple mono call with opus", simple_mono_call_opus }, { "Call with FQDN in SDP", call_with_fqdn_in_sdp}, { "Call with RTP IO mode", call_with_rtp_io_mode }, - { "Call with generic NACK RTCP feedback", call_with_generic_nack_rtcp_feedback } + { "Call with generic NACK RTCP feedback", call_with_generic_nack_rtcp_feedback }, + { "Call with complex late offering", call_with_complex_late_offering }, + { "Call with custom RTP Modifier", call_with_custom_rtp_modifier }, + { "Call paused resumed with custom RTP Modifier", call_paused_resumed_with_custom_rtp_modifier }, + { "Call record with custom RTP Modifier", call_record_with_custom_rtp_modifier }, + { "Call with network switch", call_with_network_switch } +#if 0 + , + { "Call with network switch and ICE", call_with_network_switch_and_ice } +#endif }; test_suite_t call_test_suite = { diff --git a/tester/common/bc_tester_utils.c b/tester/common/bc_tester_utils.c index ba5e6b811..62ccc5f19 100644 --- a/tester/common/bc_tester_utils.c +++ b/tester/common/bc_tester_utils.c @@ -27,6 +27,7 @@ along with this program. If not, see . #include "CUnit/Basic.h" #include "CUnit/Automated.h" + #ifdef _WIN32 #if defined(__MINGW32__) || !defined(WINAPI_FAMILY_PARTITION) || !defined(WINAPI_PARTITION_DESKTOP) #define BC_TESTER_WINDOWS_DESKTOP 1 @@ -43,6 +44,11 @@ along with this program. If not, see . #endif #endif +#ifdef __linux +/*for monitoring total space allocated via malloc*/ +#include +#endif + static char *bc_tester_resource_dir_prefix = NULL; static char *bc_tester_writable_dir_prefix = NULL; @@ -62,6 +68,8 @@ char* xml_file = "CUnitAutomated-Results.xml"; int xml_enabled = 0; char * suite_name; char * test_name; +static long max_vm_kb = 0; + void (*tester_printf_va)(int level, const char *fmt, va_list args); void bc_tester_printf(int level, const char *fmt, ...) { @@ -186,6 +194,22 @@ static void test_complete_message_handler(const CU_pTest pTest, } } bc_tester_printf(bc_printf_verbosity_info,"%s\n", result); +#ifdef __linux + /* use mallinfo() to monitor allocated space. It is linux specific but other methods don't work: + * setrlimit() RLIMIT_DATA doesn't count memory allocated via mmap() (which is used internally by malloc) + * setrlimit() RLIMIT_AS works but also counts virtual memory allocated by thread stacks, which is very big and hardly controllable. + * setrlimit() RLIMIT_RSS does nothing interesting on linux. + * getrusage() of RSS is unreliable: memory blocks can be leaked without being read or written, which would not appear in RSS. + * mallinfo() itself is the less worse solution. Allocated bytes are returned as 'int' so limited to 2GB + */ + if (max_vm_kb){ + struct mallinfo minfo = mallinfo(); + if (minfo.uordblks > max_vm_kb * 1024){ + bc_tester_printf(bc_printf_verbosity_error, "The program exceeded the maximum ammount of memory allocatable (%i bytes), aborting now.\n", minfo.uordblks); + abort(); + } + } +#endif } #endif @@ -256,6 +280,10 @@ int bc_tester_run_tests(const char *suite_name, const char *test_name) { } } } +#ifdef __linux + bc_tester_printf(bc_printf_verbosity_info, "Still %i kilobytes allocated when all tests are finished.", mallinfo().uordblks/1024); +#endif + return CU_get_number_of_tests_failed()!=0; } @@ -272,6 +300,7 @@ void bc_tester_helper(const char *name, const char* additionnal_helper) { #endif "\t\t\t--xml\n" "\t\t\t--xml-file \n" + "\t\t\t--max-alloc (maximum ammount of memory obtained via malloc allocator)\n" "And additionally:\n" "%s" , name @@ -300,9 +329,19 @@ void bc_tester_init(void (*ftester_printf)(int level, const char *fmt, va_list a bc_printf_verbosity_info = iverbosity_info; } +void bc_tester_set_max_vm(long max_vm_kb){ +#ifdef __linux + max_vm_kb = max_vm_kb; + bc_tester_printf(bc_printf_verbosity_info, "Maximum virtual memory space set to %li kilo bytes", max_vm_kb); +#else + bc_tester_printf(bc_printf_verbosity_error,"Maximum virtual memory space setting is only implemented on Linux."); +#endif +} + int bc_tester_parse_args(int argc, char **argv, int argid) { int i = argid; + if (strcmp(argv[i],"--help")==0){ return -1; } else if (strcmp(argv[i],"--test")==0){ @@ -325,7 +364,10 @@ int bc_tester_parse_args(int argc, char **argv, int argid) xml_enabled = 1; } else if (strcmp(argv[i], "--xml") == 0){ xml_enabled = 1; - }else { + } else if (strcmp(argv[i], "--max-alloc") == 0){ + CHECK_ARG("--max-alloc", ++i, argc); + max_vm_kb = atol(argv[i]); + } else { bc_tester_printf(bc_printf_verbosity_error, "Unknown option \"%s\"\n", argv[i]); return -1; } @@ -341,6 +383,10 @@ int bc_tester_parse_args(int argc, char **argv, int argid) int bc_tester_start(void) { int ret; + + if (max_vm_kb) + bc_tester_set_max_vm(max_vm_kb); + if( xml_enabled ){ size_t size = strlen(xml_file) + strlen(".tmp") + 1; char * xml_tmp_file = malloc(sizeof(char) * size); @@ -399,11 +445,8 @@ void bc_tester_uninit(void) { } static void bc_tester_set_dir_prefix(char **prefix, const char *name) { - size_t len = strlen(name); if (*prefix != NULL) free(*prefix); - *prefix = malloc(len + 1); - strncpy(*prefix, name, len); - (*prefix)[len] = '\0'; + *prefix = strdup(name); } const char * bc_tester_get_resource_dir_prefix(void) { @@ -428,7 +471,6 @@ static char * bc_tester_path(const char *prefix, const char *name) { size_t len = strlen(prefix) + 1 + strlen(name) + 1; file = malloc(len); snprintf(file, len, "%s/%s", prefix, name); - file[strlen(file)] = '\0'; } return file; } diff --git a/tester/flexisip_tester.c b/tester/flexisip_tester.c index d210aef1f..c2bb8b780 100644 --- a/tester/flexisip_tester.c +++ b/tester/flexisip_tester.c @@ -63,8 +63,7 @@ static void message_forking(void) { LinphoneCoreManager* pauline = linphone_core_manager_new( transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc"); LinphoneCoreManager* marie2 = linphone_core_manager_new( "marie_rc"); MSList* lcs=ms_list_append(NULL,marie->lc); - char* to = linphone_address_as_string(marie->identity); - LinphoneChatRoom* chat_room = linphone_core_create_chat_room(pauline->lc,to); + LinphoneChatRoom* chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); LinphoneChatMessage* message = linphone_chat_room_create_message(chat_room,"Bli bli bli \n blu"); lcs=ms_list_append(lcs,pauline->lc); @@ -78,7 +77,6 @@ static void message_forking(void) { linphone_core_manager_destroy(marie); linphone_core_manager_destroy(marie2); linphone_core_manager_destroy(pauline); - ms_free(to); ms_list_free(lcs); } @@ -88,8 +86,7 @@ static void message_forking_with_unreachable_recipients(void) { LinphoneCoreManager* marie2 = linphone_core_manager_new( "marie_rc"); LinphoneCoreManager* marie3 = linphone_core_manager_new( "marie_rc"); MSList* lcs=ms_list_append(NULL,marie->lc); - char* to = linphone_address_as_string(marie->identity); - LinphoneChatRoom* chat_room = linphone_core_create_chat_room(pauline->lc,to); + LinphoneChatRoom* chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); LinphoneChatMessage* message = linphone_chat_room_create_message(chat_room,"Bli bli bli \n blu"); lcs=ms_list_append(lcs,pauline->lc); @@ -121,7 +118,6 @@ static void message_forking_with_unreachable_recipients(void) { linphone_core_manager_destroy(marie2); linphone_core_manager_destroy(marie3); linphone_core_manager_destroy(pauline); - ms_free(to); ms_list_free(lcs); } @@ -131,8 +127,7 @@ static void message_forking_with_all_recipients_unreachable(void) { LinphoneCoreManager* marie2 = linphone_core_manager_new( "marie_rc"); LinphoneCoreManager* marie3 = linphone_core_manager_new( "marie_rc"); MSList* lcs=ms_list_append(NULL,marie->lc); - char* to = linphone_address_as_string(marie->identity); - LinphoneChatRoom* chat_room = linphone_core_create_chat_room(pauline->lc,to); + LinphoneChatRoom* chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); LinphoneChatMessage* message = linphone_chat_room_create_message(chat_room,"Bli bli bli \n blu"); lcs=ms_list_append(lcs,pauline->lc); @@ -172,7 +167,6 @@ static void message_forking_with_all_recipients_unreachable(void) { linphone_core_manager_destroy(marie2); linphone_core_manager_destroy(marie3); linphone_core_manager_destroy(pauline); - ms_free(to); ms_list_free(lcs); } @@ -729,7 +723,6 @@ static void call_with_ipv6(void) { static void file_transfer_message_rcs_to_external_body_client(void) { if (transport_supported(LinphoneTransportTls)) { LinphoneCoreManager* marie = linphone_core_manager_init( "marie_rc"); - char* to; LinphoneChatRoom* chat_room; LinphoneChatMessage* message; LinphoneChatMessageCbs *cbs; @@ -758,9 +751,8 @@ static void file_transfer_message_rcs_to_external_body_client(void) { linphone_core_set_file_transfer_server(pauline->lc,"https://www.linphone.org:444/lft.php"); /* create a chatroom on pauline's side */ - to = linphone_address_as_string(marie->identity); - chat_room = linphone_core_create_chat_room(pauline->lc,to); - ms_free(to); + + chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); /* create a file transfer message */ content = linphone_core_create_content(pauline->lc); linphone_content_set_type(content,"image"); @@ -803,14 +795,12 @@ static void file_transfer_message_rcs_to_external_body_client(void) { } void send_file_transfer_message_using_external_body_url(LinphoneCoreManager *marie, LinphoneCoreManager *pauline) { - char *to; LinphoneChatMessageCbs *cbs; LinphoneChatRoom *chat_room; LinphoneChatMessage *message; /* create a chatroom on pauline's side */ - to = linphone_address_as_string(marie->identity); - chat_room = linphone_core_create_chat_room(pauline->lc,to); + chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); message = linphone_chat_room_create_message(chat_room, NULL); @@ -876,7 +866,6 @@ static void file_transfer_message_external_body_to_rcs_client(void) { } static void dos_module_trigger(void) { - char *to; LinphoneChatRoom *chat_room; int i = 0; const char* passmsg = "This one should pass through"; @@ -887,8 +876,7 @@ static void dos_module_trigger(void) { reset_counters(&marie->stat); reset_counters(&pauline->stat); - to = linphone_address_as_string(marie->identity); - chat_room = linphone_core_create_chat_room(pauline->lc,to); + chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); do { char msg[128]; @@ -913,7 +901,6 @@ static void dos_module_trigger(void) { } linphone_core_manager_destroy(marie); linphone_core_manager_destroy(pauline); - ms_free(to); } test_t flexisip_tests[] = { diff --git a/tester/liblinphone_tester.c b/tester/liblinphone_tester.c index d49c890de..7fc5fde56 100644 --- a/tester/liblinphone_tester.c +++ b/tester/liblinphone_tester.c @@ -196,12 +196,14 @@ int main (int argc, char *argv[]) liblinphone_tester_init(NULL); + // this allows to launch tester from outside of tester directory if (strstr(argv[0], ".libs")) { - char res_dir[128] = {0}; - // this allows to launch liblinphone_tester from outside of tester directory - strncpy(res_dir, argv[0], strstr(argv[0], ".libs")-argv[0]); - bc_tester_set_resource_dir_prefix(res_dir); - bc_tester_set_writable_dir_prefix(res_dir); + int prefix_length = strstr(argv[0], ".libs") - argv[0] + 1; + char *prefix = ms_strdup_printf("%s%.*s", argv[0][0] == '/' ? "" : "./", prefix_length, argv[0]); + ms_warning("Resource prefix set to %s", prefix); + bc_tester_set_resource_dir_prefix(prefix); + bc_tester_set_writable_dir_prefix(prefix); + ms_free(prefix); } for(i = 1; i < argc; ++i) { diff --git a/tester/liblinphone_tester.h b/tester/liblinphone_tester.h index f04380203..264ddf580 100644 --- a/tester/liblinphone_tester.h +++ b/tester/liblinphone_tester.h @@ -24,6 +24,7 @@ #include "bc_tester_utils.h" #include "linphonecore.h" +#include #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -310,7 +311,7 @@ void linphone_core_manager_check_accounts(LinphoneCoreManager *m); void account_manager_destroy(void); LinphoneCore* configure_lc_from(LinphoneCoreVTable* v_table, const char* path, const char* file, void* user_data); void liblinphone_tester_enable_ipv6(bool_t enabled); -void linphone_call_cb(LinphoneCall *call,void * user_data); +void linphone_call_iframe_decoded_cb(LinphoneCall *call,void * user_data); void call_paused_resumed_base(bool_t multicast); void simple_call_base(bool_t enable_multicast_recv_side); void call_base_with_configfile(LinphoneMediaEncryption mode, bool_t enable_video,bool_t enable_relay,LinphoneFirewallPolicy policy,bool_t enable_tunnel, const char *marie_rc, const char *pauline_rc); @@ -320,7 +321,7 @@ bool_t pause_call_1(LinphoneCoreManager* mgr_1,LinphoneCall* call_1,LinphoneCore bool_t compare_files(const char *path1, const char *path2); void check_media_direction(LinphoneCoreManager* mgr, LinphoneCall *call, MSList* lcs,LinphoneMediaDirection audio_dir, LinphoneMediaDirection video_dir); -static const int audio_cmp_max_shift=10; +extern const MSAudioDiffParams audio_cmp_params; /* * this function return max value in the last 3 seconds*/ @@ -335,6 +336,8 @@ int liblinphone_tester_setup(); void liblinphone_tester_init(void(*ftester_printf)(int level, const char *fmt, va_list args)); void liblinphone_tester_uninit(void); +extern const char *liblinphone_tester_mire_id; + #ifdef __cplusplus }; diff --git a/tester/message_tester.c b/tester/message_tester.c index 6ffaab17d..f2e663483 100644 --- a/tester/message_tester.c +++ b/tester/message_tester.c @@ -183,12 +183,9 @@ void liblinphone_tester_chat_message_msg_state_changed(LinphoneChatMessage *msg, static void text_message(void) { LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc"); LinphoneCoreManager* pauline = linphone_core_manager_new( "pauline_tcp_rc"); - char* to; LinphoneChatRoom* chat_room; - to = linphone_address_as_string(marie->identity); - chat_room = linphone_core_create_chat_room(pauline->lc,to); - ms_free(to); + chat_room = linphone_core_get_chat_room(pauline->lc,marie->identity); { int dummy=0; wait_for_until(marie->lc,pauline->lc,&dummy,1,100); /*just to have time to purge message stored in the server*/ @@ -206,16 +203,13 @@ static void text_message(void) { } static void text_message_within_dialog(void) { - char* to; LinphoneChatRoom* chat_room; LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc"); LinphoneCoreManager* pauline = linphone_core_manager_new( "pauline_tcp_rc"); lp_config_set_int(pauline->lc->config,"sip","chat_use_call_dialogs",1); - to = linphone_address_as_string(marie->identity); - chat_room = linphone_core_create_chat_room(pauline->lc,to); - ms_free(to); + chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); { int dummy=0; wait_for_until(marie->lc,pauline->lc,&dummy,1,100); /*just to have time to purge message stored in the server*/ @@ -243,7 +237,6 @@ static void text_message_with_credential_from_auth_cb_auth_info_requested(Linpho static void text_message_with_credential_from_auth_cb(void) { - char* to; LinphoneChatRoom* chat_room; LinphoneCoreVTable* vtable = linphone_core_v_table_new(); LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc"); @@ -255,9 +248,7 @@ static void text_message_with_credential_from_auth_cb(void) { vtable->auth_info_requested=text_message_with_credential_from_auth_cb_auth_info_requested; linphone_core_add_listener(pauline->lc, vtable); - to = linphone_address_as_string(marie->identity); - chat_room = linphone_core_create_chat_room(pauline->lc,to); - ms_free(to); + chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); { int dummy=0; wait_for_until(marie->lc,pauline->lc,&dummy,1,100); /*just to have time to purge message stored in the server*/ @@ -275,16 +266,13 @@ static void text_message_with_credential_from_auth_cb(void) { } static void text_message_with_privacy(void) { - char *to; LinphoneChatRoom* chat_room; LinphoneProxyConfig* pauline_proxy; LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc"); LinphoneCoreManager* pauline = linphone_core_manager_new( "pauline_tcp_rc"); - to = linphone_address_as_string(marie->identity); - chat_room = linphone_core_create_chat_room(pauline->lc,to); - ms_free(to); + chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); /*test proxy config privacy*/ linphone_core_get_default_proxy(pauline->lc,&pauline_proxy); @@ -313,7 +301,6 @@ static void text_message_compatibility_mode(void) { LinphoneAddress* proxy_address; char*tmp; LCSipTransports transport; - char* to = linphone_address_as_string(pauline->identity); LinphoneChatRoom* chat_room; linphone_core_get_default_proxy(marie->lc,&proxy); @@ -336,7 +323,7 @@ static void text_message_compatibility_mode(void) { BC_ASSERT_TRUE (wait_for(marie->lc,marie->lc,&marie->stat.number_of_LinphoneRegistrationOk,1)); - chat_room = linphone_core_create_chat_room(marie->lc,to); + chat_room = linphone_core_get_chat_room(marie->lc, pauline->identity); { int dummy=0; wait_for_until(marie->lc,pauline->lc,&dummy,1,100); /*just to have time to purge message stored in the server*/ @@ -363,8 +350,7 @@ static void text_message_with_ack(void) { pauline = linphone_core_manager_new( "pauline_tcp_rc"); { - char* to = linphone_address_as_string(marie->identity); - LinphoneChatRoom* chat_room = linphone_core_create_chat_room(pauline->lc,to); + LinphoneChatRoom* chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); LinphoneChatMessage* message = linphone_chat_room_create_message(chat_room,"Bli bli bli \n blu"); LinphoneChatMessageCbs *cbs = linphone_chat_message_get_callbacks(message); int dummy=0; @@ -376,7 +362,6 @@ static void text_message_with_ack(void) { BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneMessageReceived,1)); BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneMessageDelivered,1)); BC_ASSERT_EQUAL(pauline->stat.number_of_LinphoneMessageInProgress,1, int, "%d"); - ms_free(to); linphone_core_manager_destroy(marie); linphone_core_manager_destroy(pauline); } @@ -390,8 +375,7 @@ static void text_message_with_ack(void) { static void text_message_with_external_body(void) { LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc"); LinphoneCoreManager* pauline = linphone_core_manager_new( "pauline_tcp_rc"); - char *to = linphone_address_as_string(marie->identity); - LinphoneChatRoom* chat_room = linphone_core_create_chat_room(pauline->lc,to); + LinphoneChatRoom* chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); LinphoneChatMessage* message = linphone_chat_room_create_message(chat_room,"Bli bli bli \n blu"); LinphoneChatMessageCbs *cbs = linphone_chat_message_get_callbacks(message); @@ -420,7 +404,6 @@ static void text_message_with_external_body(void) { linphone_core_manager_destroy(marie); linphone_core_manager_destroy(pauline); - ms_free(to); } bool_t compare_files(const char *path1, const char *path2) { @@ -441,7 +424,6 @@ bool_t compare_files(const char *path1, const char *path2) { static void file_transfer_message(void) { if (transport_supported(LinphoneTransportTls)) { LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc"); - char* to; LinphoneChatRoom* chat_room; LinphoneChatMessage* message; LinphoneChatMessageCbs *cbs; @@ -464,9 +446,7 @@ static void file_transfer_message(void) { linphone_core_set_file_transfer_server(pauline->lc,"https://www.linphone.org:444/lft.php"); /* create a chatroom on pauline's side */ - to = linphone_address_as_string(marie->identity); - chat_room = linphone_core_create_chat_room(pauline->lc,to); - ms_free(to); + chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); /* create a file transfer message */ content = linphone_core_create_content(pauline->lc); linphone_content_set_type(content,"image"); @@ -514,7 +494,6 @@ static void small_file_transfer_message(void) { if (transport_supported(LinphoneTransportTls)) { LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc"); int i; - char* to; LinphoneChatRoom* chat_room; LinphoneChatMessage* message; LinphoneChatMessageCbs *cbs; @@ -534,9 +513,7 @@ static void small_file_transfer_message(void) { linphone_core_set_file_transfer_server(pauline->lc,"https://www.linphone.org:444/lft.php"); /* create a chatroom on pauline's side */ - to = linphone_address_as_string(marie->identity); - chat_room = linphone_core_create_chat_room(pauline->lc,to); - ms_free(to); + chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); /* create a file transfer message */ content = linphone_core_create_content(pauline->lc); linphone_content_set_type(content,"text"); @@ -584,7 +561,6 @@ static FILE* fopen_from_write_dir(const char * name, const char * mode) { static void lime_file_transfer_message_base(bool_t encrypt_file) { int i; - char *to; FILE *ZIDCacheMarieFD, *ZIDCachePaulineFD; LinphoneCoreManager *marie, *pauline; LinphoneChatRoom *chat_room; @@ -639,9 +615,8 @@ static void lime_file_transfer_message_base(bool_t encrypt_file) { linphone_core_set_file_transfer_server(pauline->lc,"https://www.linphone.org:444/lft.php"); /* create a chatroom on pauline's side */ - to = linphone_address_as_string(marie->identity); - chat_room = linphone_core_create_chat_room(pauline->lc,to); - ms_free(to); + chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); + /* create a file transfer message */ content = linphone_core_create_content(pauline->lc); linphone_content_set_type(content,"text"); @@ -869,7 +844,6 @@ static void lime_unit(void) { } static void lime_text_message(void) { - char* to; FILE *ZIDCacheMarieFD, *ZIDCachePaulineFD; LinphoneChatRoom* chat_room; char* filepath; @@ -896,9 +870,7 @@ static void lime_text_message(void) { linphone_core_set_zrtp_secrets_file(pauline->lc, filepath); ms_free(filepath); - to = linphone_address_as_string(marie->identity); - chat_room = linphone_core_create_chat_room(pauline->lc,to); - ms_free(to); + chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); linphone_chat_room_send_message(chat_room,"Bla bla bla bla"); BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneMessageReceived,1)); @@ -916,7 +888,6 @@ static void file_transfer_message_io_error_upload(void) { if (transport_supported(LinphoneTransportTls)) { LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc"); int i; - char* to; LinphoneChatRoom* chat_room; LinphoneChatMessage* message; LinphoneChatMessageCbs *cbs; @@ -938,8 +909,7 @@ static void file_transfer_message_io_error_upload(void) { linphone_core_set_file_transfer_server(pauline->lc,"https://www.linphone.org:444/lft.php"); /* create a chatroom on pauline's side */ - to = linphone_address_as_string(marie->identity); - chat_room = linphone_core_create_chat_room(pauline->lc,to); + chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); /* create a file transfer message */ content = linphone_core_create_content(pauline->lc); @@ -986,7 +956,6 @@ static void file_transfer_message_io_error_download(void) { if (transport_supported(LinphoneTransportTls)) { LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc"); int i; - char* to; LinphoneChatRoom* chat_room; LinphoneChatMessage* message; LinphoneContent content; @@ -1007,9 +976,7 @@ static void file_transfer_message_io_error_download(void) { linphone_core_set_file_transfer_server(pauline->lc,"https://www.linphone.org:444/lft.php"); /* create a chatroom on pauline's side */ - to = linphone_address_as_string(marie->identity); - chat_room = linphone_core_create_chat_room(pauline->lc,to); - ms_free(to); + chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); /* create a file transfer message */ memset(&content,0,sizeof(content)); @@ -1054,7 +1021,6 @@ static void file_transfer_message_upload_cancelled(void) { if (transport_supported(LinphoneTransportTls)) { LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc"); int i; - char* to; LinphoneChatRoom* chat_room; LinphoneChatMessage* message; LinphoneChatMessageCbs *cbs; @@ -1076,8 +1042,7 @@ static void file_transfer_message_upload_cancelled(void) { linphone_core_set_file_transfer_server(pauline->lc,"https://www.linphone.org:444/lft.php"); /* create a chatroom on pauline's side */ - to = linphone_address_as_string(marie->identity); - chat_room = linphone_core_create_chat_room(pauline->lc,to); + chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); /* create a file transfer message */ content = linphone_core_create_content(pauline->lc); @@ -1182,7 +1147,6 @@ static void file_transfer_message_download_cancelled(void) { static void file_transfer_using_external_body_url(void) { if (transport_supported(LinphoneTransportTls)) { LinphoneCoreManager *marie = linphone_core_manager_new("marie_rc"); - char *to; LinphoneChatMessageCbs *cbs; LinphoneChatRoom *chat_room; LinphoneChatMessage *message; @@ -1195,8 +1159,7 @@ static void file_transfer_using_external_body_url(void) { linphone_core_enable_lime(pauline->lc, FALSE); /* create a chatroom on pauline's side */ - to = linphone_address_as_string(marie->identity); - chat_room = linphone_core_create_chat_room(pauline->lc,to); + chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); message = linphone_chat_room_create_message(chat_room, NULL); @@ -1212,7 +1175,6 @@ static void file_transfer_using_external_body_url(void) { } BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &marie->stat.number_of_LinphoneMessageExtBodyReceived, 1)); BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &pauline->stat.number_of_LinphoneMessageInProgress, 1)); - ms_free(to); linphone_core_manager_destroy(pauline); linphone_core_manager_destroy(marie); } @@ -1221,7 +1183,6 @@ static void file_transfer_using_external_body_url(void) { static void file_transfer_2_messages_simultaneously() { if (transport_supported(LinphoneTransportTls)) { LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc"); - char* to; LinphoneChatRoom* pauline_room; LinphoneChatMessage* message; LinphoneChatMessage* message2; @@ -1245,9 +1206,7 @@ static void file_transfer_2_messages_simultaneously() { linphone_core_set_file_transfer_server(pauline->lc,"https://www.linphone.org:444/lft.php"); /* create a chatroom on pauline's side */ - to = linphone_address_as_string(marie->identity); - pauline_room = linphone_core_create_chat_room(pauline->lc,to); - ms_free(to); + pauline_room = linphone_core_get_chat_room(pauline->lc, marie->identity); /* create a file transfer message */ content = linphone_core_create_content(pauline->lc); linphone_content_set_type(content,"image"); @@ -1288,7 +1247,7 @@ static void file_transfer_2_messages_simultaneously() { BC_ASSERT_EQUAL(ms_list_size(linphone_core_get_chat_rooms(marie->lc)), 1, int, "%d"); if (ms_list_size(linphone_core_get_chat_rooms(marie->lc)) != 1) { char * buf = ms_strdup_printf("Found %d rooms instead of 1: ", ms_list_size(linphone_core_get_chat_rooms(marie->lc))); - MSList *it = linphone_core_get_chat_rooms(marie->lc); + const MSList *it = linphone_core_get_chat_rooms(marie->lc); while (it) { const LinphoneAddress * peer = linphone_chat_room_get_peer_address(it->data); buf = ms_strcat_printf("%s, ", linphone_address_get_username(peer)); @@ -1325,8 +1284,7 @@ static void text_message_with_send_error(void) { LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc"); LinphoneCoreManager* pauline = linphone_core_manager_new( "pauline_tcp_rc"); - char *to = linphone_address_as_string(pauline->identity); - LinphoneChatRoom* chat_room = linphone_core_create_chat_room(marie->lc,to); + LinphoneChatRoom* chat_room = linphone_core_get_chat_room(marie->lc, pauline->identity); LinphoneChatMessage* message = linphone_chat_room_create_message(chat_room,"Bli bli bli \n blu"); LinphoneChatMessageCbs *cbs = linphone_chat_message_get_callbacks(message); reset_counters(&marie->stat); @@ -1361,7 +1319,6 @@ static void text_message_with_send_error(void) { linphone_core_refresh_registers(marie->lc); BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneRegistrationOk,marie->stat.number_of_LinphoneRegistrationOk + 1)); - ms_free(to); linphone_core_manager_destroy(marie); linphone_core_manager_destroy(pauline); } @@ -1369,9 +1326,7 @@ static void text_message_with_send_error(void) { static void text_message_denied(void) { LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc"); LinphoneCoreManager* pauline = linphone_core_manager_new( "pauline_tcp_rc"); - - char *to = linphone_address_as_string(pauline->identity); - LinphoneChatRoom* chat_room = linphone_core_create_chat_room(marie->lc,to); + LinphoneChatRoom* chat_room = linphone_core_get_chat_room(marie->lc, pauline->identity); LinphoneChatMessage* message = linphone_chat_room_create_message(chat_room,"Bli bli bli \n blu"); LinphoneChatMessageCbs *cbs = linphone_chat_message_get_callbacks(message); @@ -1388,7 +1343,6 @@ static void text_message_denied(void) { BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneMessageNotDelivered,1)); BC_ASSERT_EQUAL(pauline->stat.number_of_LinphoneMessageReceived,0, int, "%d"); - ms_free(to); linphone_core_manager_destroy(marie); linphone_core_manager_destroy(pauline); } @@ -1471,17 +1425,13 @@ static void info_message_with_body(){ } static void is_composing_notification(void) { - char* to; LinphoneChatRoom* chat_room; int dummy = 0; LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc"); LinphoneCoreManager* pauline = linphone_core_manager_new( "pauline_tcp_rc"); - - to = linphone_address_as_string(marie->identity); - chat_room = linphone_core_create_chat_room(pauline->lc, to); - - ms_free(to); + chat_room = linphone_core_get_chat_room(pauline->lc, marie->identity); + linphone_core_get_chat_room(marie->lc, pauline->identity); /*make marie create the chatroom with pauline, which is necessary for receiving the is-composing*/ { int dummy=0; wait_for_until(marie->lc,pauline->lc,&dummy,1,100); /*just to have time to purge message stored in the server*/ @@ -1557,7 +1507,7 @@ static void message_storage_migration() { LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc"); char *src_db = bc_tester_res("messages.db"); char *tmp_db = bc_tester_file("tmp.db"); - MSList* chatrooms; + const MSList* chatrooms; BC_ASSERT_EQUAL_FATAL(message_tester_copy_file(src_db, tmp_db), 0, int, "%d"); @@ -1694,6 +1644,16 @@ static void history_messages_count() { #endif +static void text_status_after_destroying_chat_room() { + LinphoneCoreManager *marie = linphone_core_manager_new("marie_rc"); + LinphoneChatRoom *chatroom = linphone_core_get_chat_room_from_uri(marie->lc, ""); + LinphoneChatMessage *message = linphone_chat_room_create_message(chatroom, "hello"); + linphone_chat_room_send_chat_message(chatroom, message); + linphone_chat_room_unref(chatroom); + wait_for_until(marie->lc, NULL, &marie->stat.number_of_LinphoneMessageNotDelivered, 1, 1000); + linphone_core_manager_destroy(marie); +} + test_t message_tests[] = { { "Text message", text_message }, { "Text message within call's dialog", text_message_within_dialog}, @@ -1726,6 +1686,7 @@ test_t message_tests[] = { ,{ "History count", history_messages_count } ,{ "History range", history_range_full_test } #endif + ,{ "Text status after destroying chat room", text_status_after_destroying_chat_room }, }; test_suite_t message_test_suite = { diff --git a/tester/multicast_call_tester.c b/tester/multicast_call_tester.c index 4bb4f0334..437867329 100644 --- a/tester/multicast_call_tester.c +++ b/tester/multicast_call_tester.c @@ -58,7 +58,7 @@ static void call_multicast_base(bool_t video) { BC_ASSERT_GREATER(linphone_core_manager_get_max_audio_down_bw(marie),70,int,"%d"); if (video) { /*check video path*/ - linphone_call_set_next_video_frame_decoded_callback(linphone_core_get_current_call(marie->lc),linphone_call_cb,marie->lc); + linphone_call_set_next_video_frame_decoded_callback(linphone_core_get_current_call(marie->lc),linphone_call_iframe_decoded_cb,marie->lc); linphone_call_send_vfu_request(linphone_core_get_current_call(marie->lc)); BC_ASSERT_TRUE( wait_for(marie->lc,pauline->lc,&marie->stat.number_of_IframeDecoded,1)); } @@ -147,7 +147,7 @@ static void early_media_with_multicast_base(bool_t video) { /* send a 183 to initiate the early media */ if (video) { /*check video path*/ - linphone_call_set_next_video_frame_decoded_callback(linphone_core_get_current_call(pauline->lc),linphone_call_cb,pauline->lc); + linphone_call_set_next_video_frame_decoded_callback(linphone_core_get_current_call(pauline->lc),linphone_call_iframe_decoded_cb,pauline->lc); } linphone_core_accept_early_media(pauline->lc, linphone_core_get_current_call(pauline->lc)); @@ -158,7 +158,7 @@ static void early_media_with_multicast_base(bool_t video) { /* send a 183 to initiate the early media */ if (video) { /*check video path*/ - linphone_call_set_next_video_frame_decoded_callback(linphone_core_get_current_call(pauline2->lc),linphone_call_cb,pauline2->lc); + linphone_call_set_next_video_frame_decoded_callback(linphone_core_get_current_call(pauline2->lc),linphone_call_iframe_decoded_cb,pauline2->lc); } linphone_core_accept_early_media(pauline2->lc, linphone_core_get_current_call(pauline2->lc)); diff --git a/tester/proxy_config_tester.c b/tester/proxy_config_tester.c index 29a169557..8dbedea37 100644 --- a/tester/proxy_config_tester.c +++ b/tester/proxy_config_tester.c @@ -18,10 +18,18 @@ #include "liblinphone_tester.h" +#include + const char* phone_normalization(LinphoneProxyConfig *proxy, const char* in) { static char result[255]; - linphone_proxy_config_normalize_number(proxy, in, result, 255-1); - return result; + char * output = linphone_proxy_config_normalize_phone_number(proxy, in); + if (output) { + memcpy(result, output, strlen(output)+1); + ms_free(output); + return result; + } else { + return NULL; + } } static void phone_normalization_without_proxy() { @@ -32,7 +40,7 @@ static void phone_normalization_without_proxy() { BC_ASSERT_STRING_EQUAL(phone_normalization(NULL, "+33012345678"), "+33012345678"); BC_ASSERT_STRING_EQUAL(phone_normalization(NULL, "+3301234567891"), "+3301234567891"); BC_ASSERT_STRING_EQUAL(phone_normalization(NULL, "+33 01234567891"), "+3301234567891"); - BC_ASSERT_STRING_EQUAL(phone_normalization(NULL, "I_AM_NOT_A_NUMBER"), "I_AM_NOT_A_NUMBER"); // invalid phone number + BC_ASSERT_PTR_NULL(phone_normalization(NULL, "I_AM_NOT_A_NUMBER")); // invalid phone number } static void phone_normalization_with_proxy() { @@ -50,7 +58,7 @@ static void phone_normalization_with_proxy() { BC_ASSERT_STRING_EQUAL(phone_normalization(proxy, "0012345678"), "+12345678"); BC_ASSERT_STRING_EQUAL(phone_normalization(proxy, "01 2345678"), "+33012345678"); BC_ASSERT_STRING_EQUAL(phone_normalization(proxy, "01234567891"), "+33234567891"); // invalid phone number (too long) - BC_ASSERT_STRING_EQUAL(phone_normalization(proxy, "I_AM_NOT_A_NUMBER"), "I_AM_NOT_A_NUMBER"); // invalid phone number + BC_ASSERT_PTR_NULL(phone_normalization(proxy, "I_AM_NOT_A_NUMBER")); // invalid phone number BC_ASSERT_STRING_EQUAL(phone_normalization(proxy, "+990012345678"), "+990012345678"); @@ -60,7 +68,7 @@ static void phone_normalization_with_proxy() { BC_ASSERT_STRING_EQUAL(phone_normalization(proxy, "+31952636505"), "+31952636505"); BC_ASSERT_STRING_EQUAL(phone_normalization(proxy, "0033952636505"), "+33952636505"); BC_ASSERT_STRING_EQUAL(phone_normalization(proxy, "0033952636505"), "+33952636505"); - BC_ASSERT_STRING_EQUAL(phone_normalization(proxy, "toto"), "toto"); + BC_ASSERT_PTR_NULL(phone_normalization(proxy, "toto")); linphone_proxy_config_set_dial_prefix(proxy, "99"); BC_ASSERT_STRING_EQUAL(phone_normalization(proxy, "0012345678"), "+12345678"); diff --git a/tester/setup_tester.c b/tester/setup_tester.c index 2f7002bd2..c24aa27b8 100644 --- a/tester/setup_tester.c +++ b/tester/setup_tester.c @@ -233,13 +233,13 @@ void linphone_proxy_config_is_server_config_changed_test() { linphone_proxy_config_destroy(proxy_config); } -static void chat_root_test(void) { +static void chat_room_test(void) { LinphoneCoreVTable v_table; LinphoneCore* lc; memset (&v_table,0,sizeof(v_table)); lc = linphone_core_new(&v_table,NULL,NULL,NULL); BC_ASSERT_PTR_NOT_NULL_FATAL(lc); - linphone_core_create_chat_room(lc,"sip:toto@titi.com"); + BC_ASSERT_PTR_NOT_NULL(linphone_core_get_chat_room_from_uri(lc,"sip:toto@titi.com")); linphone_core_destroy(lc); } @@ -301,7 +301,7 @@ test_t setup_tests[] = { { "LPConfig zero_len value from buffer", linphone_lpconfig_from_buffer_zerolen_value }, { "LPConfig zero_len value from file", linphone_lpconfig_from_file_zerolen_value }, { "LPConfig zero_len value from XML", linphone_lpconfig_from_xml_zerolen_value }, - { "Chat room", chat_root_test }, + { "Chat room", chat_room_test }, { "Devices reload", devices_reload_test }, { "Codec usability", codec_usability_test } }; diff --git a/tester/tester.c b/tester/tester.c index b6d6c6980..c7a6db8bf 100644 --- a/tester/tester.c +++ b/tester/tester.c @@ -37,6 +37,8 @@ static int liblinphone_tester_keep_accounts_flag = 0; static int liblinphone_tester_keep_record_files = FALSE; int manager_count = 0; +const MSAudioDiffParams audio_cmp_params = {10,2000}; + const char* test_domain="sipopen.example.org"; const char* auth_domain="sip.example.org"; const char* test_username="liblinphone_tester"; @@ -44,6 +46,8 @@ const char* test_password="secret"; const char* test_route="sip2.linphone.org"; const char *userhostsfile = "tester_hosts"; +const char *liblinphone_tester_mire_id="Mire: Mire (synthetic moving picture)"; + static void network_reachable(LinphoneCore *lc, bool_t reachable) { stats* counters; ms_message("Network reachable [%s]",reachable?"TRUE":"FALSE"); @@ -237,6 +241,10 @@ bool_t transport_supported(LinphoneTransportType transport) { } +static void display_status(LinphoneCore *lc, const char *status){ + ms_message("display_status(): %s",status); +} + LinphoneCoreManager* linphone_core_manager_init(const char* rc_file) { LinphoneCoreManager* mgr= ms_new0(LinphoneCoreManager,1); char *rc_path = NULL; @@ -260,6 +268,7 @@ LinphoneCoreManager* linphone_core_manager_init(const char* rc_file) { mgr->v_table.network_reachable=network_reachable; mgr->v_table.dtmf_received=dtmf_received; mgr->v_table.call_stats_updated=call_stats_updated; + mgr->v_table.display_status=display_status; reset_counters(&mgr->stat); if (rc_file) rc_path = ms_strdup_printf("rcfiles/%s", rc_file); diff --git a/tester/video_tester.c b/tester/video_tester.c index 1b21488c5..abffb59ab 100644 --- a/tester/video_tester.c +++ b/tester/video_tester.c @@ -430,28 +430,44 @@ static void forked_outgoing_early_media_video_call_with_inactive_audio_test(void linphone_core_invite_address_with_params(pauline->lc, marie1->identity, pauline_params); linphone_call_params_destroy(pauline_params); + + BC_ASSERT_TRUE(wait_for_list(lcs, &marie1->stat.number_of_LinphoneCallIncomingReceived, 1, 3000)); + BC_ASSERT_TRUE(wait_for_list(lcs, &marie2->stat.number_of_LinphoneCallIncomingReceived, 1, 3000)); + + marie1_call = linphone_core_get_current_call(marie1->lc); + marie2_call = linphone_core_get_current_call(marie2->lc); + + if (marie1_call){ + linphone_call_set_next_video_frame_decoded_callback(marie1_call, linphone_call_iframe_decoded_cb, marie1->lc); + } + if (marie2_call){ + linphone_call_set_next_video_frame_decoded_callback(marie2_call, linphone_call_iframe_decoded_cb, marie2->lc); + } BC_ASSERT_TRUE(wait_for_list(lcs, &marie1->stat.number_of_LinphoneCallIncomingEarlyMedia, 1, 3000)); BC_ASSERT_TRUE(wait_for_list(lcs, &marie2->stat.number_of_LinphoneCallIncomingEarlyMedia, 1, 3000)); BC_ASSERT_TRUE(wait_for_list(lcs, &pauline->stat.number_of_LinphoneCallOutgoingEarlyMedia, 1, 3000)); pauline_call = linphone_core_get_current_call(pauline->lc); - marie1_call = linphone_core_get_current_call(marie1->lc); - marie2_call = linphone_core_get_current_call(marie2->lc); + BC_ASSERT_PTR_NOT_NULL(pauline_call); BC_ASSERT_PTR_NOT_NULL(marie1_call); BC_ASSERT_PTR_NOT_NULL(marie2_call); if (pauline_call && marie1_call && marie2_call) { + linphone_call_set_next_video_frame_decoded_callback(pauline_call, linphone_call_iframe_decoded_cb, pauline->lc); + /* wait a bit that streams are established */ - wait_for_list(lcs, &dummy, 1, 6000); + wait_for_list(lcs, &dummy, 1, 3000); BC_ASSERT_EQUAL(linphone_call_get_audio_stats(pauline_call)->download_bandwidth, 0, float, "%f"); BC_ASSERT_EQUAL(linphone_call_get_audio_stats(marie1_call)->download_bandwidth, 0, float, "%f"); BC_ASSERT_EQUAL(linphone_call_get_audio_stats(marie2_call)->download_bandwidth, 0, float, "%f"); - BC_ASSERT_EQUAL(linphone_call_get_video_stats(pauline_call)->download_bandwidth, 0, float, "%f"); + BC_ASSERT_LOWER(linphone_call_get_video_stats(pauline_call)->download_bandwidth, 11, float, "%f"); /* because of stun packets*/ BC_ASSERT_GREATER(linphone_call_get_video_stats(marie1_call)->download_bandwidth, 0, float, "%f"); BC_ASSERT_GREATER(linphone_call_get_video_stats(marie2_call)->download_bandwidth, 0, float, "%f"); + BC_ASSERT_GREATER(marie1->stat.number_of_IframeDecoded, 1, int, "%i"); + BC_ASSERT_GREATER(marie2->stat.number_of_IframeDecoded, 1, int, "%i"); linphone_call_params_set_audio_direction(marie1_params, LinphoneMediaDirectionSendRecv); linphone_core_accept_call_with_params(marie1->lc, linphone_core_get_current_call(marie1->lc), marie1_params); @@ -467,6 +483,7 @@ static void forked_outgoing_early_media_video_call_with_inactive_audio_test(void BC_ASSERT_GREATER(linphone_call_get_audio_stats(marie1_call)->download_bandwidth, 71, float, "%f"); BC_ASSERT_GREATER(linphone_call_get_video_stats(pauline_call)->download_bandwidth, 0, float, "%f"); BC_ASSERT_GREATER(linphone_call_get_video_stats(marie1_call)->download_bandwidth, 0, float, "%f"); + BC_ASSERT_GREATER(pauline->stat.number_of_IframeDecoded, 1, int, "%i"); /* send an INFO in reverse side to check that dialogs are properly established */ info = linphone_core_create_info_message(marie1->lc); diff --git a/tools/Makefile.am b/tools/Makefile.am index ecd6cab5a..71a222e8b 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -50,4 +50,20 @@ lp_autoanswer_LDADD=\ endif +if ENABLE_TESTS +noinst_PROGRAMS=test_lsd test_ecc test_numbers + +test_lsd_SOURCES=test_lsd.c +test_lsd_CFLAGS=$(COMMON_CFLAGS) +test_lsd_LDADD=$(top_builddir)/coreapi/liblinphone.la + +test_ecc_SOURCES=test_ecc.c +test_ecc_CFLAGS=$(COMMON_CFLAGS) +test_ecc_LDADD=$(top_builddir)/coreapi/liblinphone.la + +test_numbers_SOURCES=test_numbers.c +test_numbers_CFLAGS=$(COMMON_CFLAGS) +test_numbers_LDADD=$(top_builddir)/coreapi/liblinphone.la + +endif diff --git a/coreapi/test_ecc.c b/tools/test_ecc.c similarity index 64% rename from coreapi/test_ecc.c rename to tools/test_ecc.c index 8d383b625..35c989416 100644 --- a/coreapi/test_ecc.c +++ b/tools/test_ecc.c @@ -18,47 +18,46 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - #include "linphonecore.h" #include "linphonecore_utils.h" #if _MSC_VER #include #endif -static void calibration_finished(LinphoneCore *lc, LinphoneEcCalibratorStatus status, int delay, void *data){ - ms_message("echo calibration finished %s.",status==LinphoneEcCalibratorDone ? "successfully" : "with faillure"); - if (status==LinphoneEcCalibratorDone) ms_message("Measured delay is %i",delay); +static void calibration_finished(LinphoneCore *lc, LinphoneEcCalibratorStatus status, int delay, void *data) { + ms_message("echo calibration finished %s.", status == LinphoneEcCalibratorDone ? "successfully" : "with faillure"); + if (status == LinphoneEcCalibratorDone) + ms_message("Measured delay is %i", delay); } - static char config_file[1024]; -void parse_args(int argc, char *argv[]){ +void parse_args(int argc, char *argv[]) { #ifndef F_OK #define F_OK 4 #endif - if (argc != 3 || strncmp("-c",argv[1], 2) || access(argv[2],F_OK)!=0) { + if (argc != 3 || strncmp("-c", argv[1], 2) || access(argv[2], F_OK) != 0) { printf("Usage: test_ecc [-c config_file] where config_file will be written with the detected value\n"); exit(-1); } - strncpy(config_file,argv[2],1024); + strncpy(config_file, argv[2], 1024); } -int main(int argc, char *argv[]){ - int count=0; - LinphoneCoreVTable vtable={0}; +int main(int argc, char *argv[]) { + int count = 0; + LinphoneCoreVTable vtable = {0}; LinphoneCore *lc; - if (argc>1) parse_args(argc,argv); - lc=linphone_core_new(&vtable,config_file,NULL,NULL); - + if (argc > 1) + parse_args(argc, argv); + lc = linphone_core_new(&vtable, config_file, NULL, NULL); + linphone_core_enable_logs(NULL); - linphone_core_start_echo_calibration(lc,calibration_finished,NULL,NULL,NULL); - - while(count++<1000){ + linphone_core_start_echo_calibration(lc, calibration_finished, NULL, NULL, NULL); + + while (count++ < 1000) { linphone_core_iterate(lc); ms_usleep(10000); } linphone_core_destroy(lc); return 0; } - diff --git a/tools/test_lsd.c b/tools/test_lsd.c new file mode 100644 index 000000000..ed38fedde --- /dev/null +++ b/tools/test_lsd.c @@ -0,0 +1,103 @@ +/* +linphone +Copyright (C) 2010 Simon MORLAT (simon.morlat@linphone.org) + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + +/* Linphone Sound Daemon: is a lightweight utility to play sounds to speaker during a conversation. + This is useful for embedded platforms, where sound apis are not performant enough to allow + simultaneous sound access. + + This file is a test program that plays several sound files and places a call simultatenously. +*/ + +#include "linphonecore_utils.h" + +static void play_finished(LsdPlayer *p) { + const char *filename = (const char *)lsd_player_get_user_pointer(p); + ms_message("Playing of %s is finished.", filename); + if (!lsd_player_loop_enabled(p)) { + linphone_sound_daemon_release_player(lsd_player_get_daemon(p), p); + } +} + +static void wait_a_bit(LinphoneCore *lc, int seconds) { + time_t orig = ms_time(NULL); + while (ms_time(NULL) - orig < seconds) { + /* we need to call iterate to receive notifications */ + linphone_core_iterate(lc); + ms_usleep(50000); + } +} + +int main(int argc, char *argv[]) { + LinphoneCore *lc; + LinphoneCoreVTable vtable = {0}; + LinphoneSoundDaemon *lsd; + LsdPlayer *p; + + linphone_core_enable_logs(stdout); + lc = linphone_core_new(&vtable, NULL, NULL, NULL); + lsd = linphone_sound_daemon_new(NULL, 44100, 1); + + linphone_core_use_sound_daemon(lc, lsd); + + /* start a play */ + p = linphone_sound_daemon_get_player(lsd); + lsd_player_set_callback(p, play_finished); + lsd_player_set_user_pointer(p, "share/hello8000.wav"); + lsd_player_play(p, "share/hello8000.wav"); + wait_a_bit(lc, 2); + + /*start another one */ + p = linphone_sound_daemon_get_player(lsd); + lsd_player_set_callback(p, play_finished); + lsd_player_set_user_pointer(p, "share/hello16000.wav"); + lsd_player_enable_loop(p, TRUE); + lsd_player_play(p, "share/hello16000.wav"); + + /* after a few seconds decrease the volume */ + wait_a_bit(lc, 3); + lsd_player_set_gain(p, 0.3); + wait_a_bit(lc, 5); + + /*now play some stereo music*/ + p = linphone_sound_daemon_get_player(lsd); + lsd_player_set_callback(p, play_finished); + lsd_player_set_user_pointer(p, "share/rings/rock.wav"); + lsd_player_play(p, "share/rings/rock.wav"); + wait_a_bit(lc, 2); + + /*now play some stereo music at 22khz in order to test + stereo resampling */ + p = linphone_sound_daemon_get_player(lsd); + lsd_player_set_callback(p, play_finished); + lsd_player_set_user_pointer(p, "share/rings/bigben.wav"); + lsd_player_play(p, "share/rings/bigben.wav"); + wait_a_bit(lc, 6); + + /* now place an outgoing call if sip address argument is given */ + if (argc > 1) { + linphone_core_invite(lc, argv[1]); + wait_a_bit(lc, 10); + linphone_core_terminate_call(lc, NULL); + } + linphone_core_use_sound_daemon(lc, NULL); + linphone_sound_daemon_destroy(lsd); + linphone_core_destroy(lc); + + return 0; +} diff --git a/tools/test_numbers.c b/tools/test_numbers.c new file mode 100644 index 000000000..f6d3baaf3 --- /dev/null +++ b/tools/test_numbers.c @@ -0,0 +1,57 @@ +/* +linphone +Copyright (C) 2012 Belledonne Communications SARL +Author: Simon MORLAT (simon.morlat@linphone.org) + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + +#include "linphonecore.h" +#include "linphonecore_utils.h" + +int main(int argc, char *argv[]) { + LinphoneProxyConfig *cfg; + char *normalized_number; + if (argc < 2) { + fprintf(stderr, "Usage:\n%s [] [--escape-plus]\nReturns normalized number.", + argv[0]); + return -1; + } + linphone_core_enable_logs(stderr); + linphone_core_set_log_level(ORTP_DEBUG); + cfg = linphone_proxy_config_new(); + if (argc > 2) + linphone_proxy_config_set_dial_prefix(cfg, argv[2]); + if (argc > 3 && strcmp(argv[3], "--escape-plus") == 0) + linphone_proxy_config_set_dial_escape_plus(cfg, TRUE); + normalized_number = linphone_proxy_config_normalize_phone_number(cfg, argv[1]); + + if (!normalized_number) { + printf("Invalid phone number: %s\n", argv[1]); + } else { + printf("Normalized number is %s\n", normalized_number); + /*check extracted ccc*/ + if (linphone_proxy_config_get_dial_prefix(cfg) != NULL) { + if (linphone_dial_plan_lookup_ccc_from_e164(normalized_number) != + atoi(linphone_proxy_config_get_dial_prefix(cfg))) { + printf("Error ccc [%i] not correctly parsed\n", + linphone_dial_plan_lookup_ccc_from_e164(normalized_number)); + } else { + printf("Extracted ccc is [%i] \n", linphone_dial_plan_lookup_ccc_from_e164(normalized_number)); + } + } + } + return 0; +}