diff --git a/CMakeLists.txt b/CMakeLists.txt index 27f4cd87f..61cf9b1c4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,7 +30,7 @@ set(LINPHONE_MICRO_VERSION "5") set(LINPHONE_VERSION "${LINPHONE_MAJOR_VERSION}.${LINPHONE_MINOR_VERSION}.${LINPHONE_MICRO_VERSION}") set(LINPHONE_SO_VERSION "7") -file(GLOB LINPHONE_PO_FILES RELATIVE "${CMAKE_SOURCE_DIR}/po" "${CMAKE_SOURCE_DIR}/po/*.po") +file(GLOB LINPHONE_PO_FILES RELATIVE "${CMAKE_CURRENT_LIST_DIR}/po" "${CMAKE_CURRENT_LIST_DIR}/po/*.po") string(REGEX REPLACE "([a-zA-Z_]+)\\.po" "\\1" LINPHONE_ALL_LANGS_LIST "${LINPHONE_PO_FILES}") string(REPLACE ";" " " LINPHONE_ALL_LANGS "${LINPHONE_ALL_LANGS_LIST}") @@ -42,6 +42,7 @@ option(ENABLE_DATE "Use build date in internal version number." NO) option(ENABLE_DOC "Enable documentation generation with Doxygen." YES) option(ENABLE_GTK_UI "Turn on or off compilation of gtk interface." YES) option(ENABLE_LDAP "Enable LDAP support." NO) +option(ENABLE_LIME "Enable Instant Messaging Encryption." NO) option(ENABLE_MSG_STORAGE "Turn on compilation of message storage." YES) cmake_dependent_option(ENABLE_NOTIFY "Enable libnotify support." YES "ENABLE_GTK_UI" NO) option(ENABLE_RELATIVE_PREFIX "Find resources relatively to the installation directory." NO) @@ -65,27 +66,11 @@ include(CMakePushCheckState) set(MSVC_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include/MSVC") if(MSVC) list(APPEND CMAKE_REQUIRED_INCLUDES "${MSVC_INCLUDE_DIR}") - - if(ENABLE_GTK_UI) - if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/intltool_win32.zip") - message(STATUS "Installing intltool") - file(DOWNLOAD http://ftp.acc.umu.se/pub/GNOME/binaries/win32/intltool/0.40/intltool_0.40.4-1_win32.zip "${CMAKE_CURRENT_BINARY_DIR}/intltool_win32.zip" SHOW_PROGRESS) - execute_process( - COMMAND "${CMAKE_COMMAND}" "-E" "tar" "x" "${CMAKE_CURRENT_BINARY_DIR}/intltool_win32.zip" - WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}" - ) - endif() - if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/gtk+-bundle_win32.zip") - message(STATUS "Installing GTK") - file(DOWNLOAD http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.10-20120208_win32.zip "${CMAKE_CURRENT_BINARY_DIR}/gtk+-bundle_win32.zip" SHOW_PROGRESS) - execute_process( - COMMAND "${CMAKE_COMMAND}" "-E" "tar" "x" "${CMAKE_CURRENT_BINARY_DIR}/gtk+-bundle_win32.zip" - WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}" - ) - endif() - endif() endif() +# find_package should be invoked here to check for libraries - however do NOT +# call include_directories here (see below) + if(LINPHONE_BUILDER_GROUP_EXTERNAL_SOURCE_PATH_BUILDERS) include("${EP_bellesip_CONFIG_DIR}/BelleSIPConfig.cmake") include("${EP_ms2_CONFIG_DIR}/Mediastreamer2Config.cmake") @@ -110,7 +95,11 @@ if(ENABLE_UNIT_TESTS) endif() endif() if(ENABLE_TUNNEL) - find_package(Tunnel) + if(LINPHONE_BUILDER_GROUP_EXTERNAL_SOURCE_PATH_BUILDERS) + include("${EP_tunnel_CONFIG_DIR}/TunnelConfig.cmake") + else() + find_package(Tunnel) + endif() if(NOT TUNNEL_FOUND) message(WARNING "Could not find the tunnel library!") set(ENABLE_TUNNEL OFF CACHE BOOL "Enable tunnel support." FORCE) @@ -130,6 +119,7 @@ if(ENABLE_NOTIFY) endif() if(ENABLE_GTK_UI) if(WIN32) + set(GTK2_DEBUG TRUE) set(GTK2_ADDITIONAL_SUFFIXES "../lib/glib-2.0/include" "../lib/gtk-2.0/include") endif() find_package(GTK2 2.18 REQUIRED gtk) @@ -144,17 +134,21 @@ endif() if(ENABLE_NLS) find_package(Gettext REQUIRED) find_package(Intl REQUIRED) - include_directories(${INTL_INCLUDE_DIRS}) endif() if(ENABLE_CALL_LOGS_STORAGE) find_package(Sqlite3 REQUIRED) endif() +if(ENABLE_LIME) + set(HAVE_LIME 1) +endif() if(UNIX AND NOT APPLE) include(CheckIncludeFiles) check_include_files(libudev.h HAVE_LIBUDEV_H) endif() +# include_directories must be called only UNDER THIS LINE in order to use our +# projects submodules first (we do NOT want to have system headers in first position) include_directories( include/ coreapi/ @@ -162,33 +156,38 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR}/coreapi/ ${BELLESIP_INCLUDE_DIRS} ${MEDIASTREAMER2_INCLUDE_DIRS} - ${XML2_INCLUDE_DIRS} ) +if(ENABLE_TUNNEL) + include_directories(${TUNNEL_INCLUDE_DIRS}) +endif() + +include_directories(${XML2_INCLUDE_DIRS}) + if(ZLIB_FOUND) include_directories(${ZLIB_INCLUDE_DIRS}) set(HAVE_ZLIB 1) endif() if(SQLITE3_FOUND) include_directories(${SQLITE3_INCLUDE_DIRS}) - add_definitions("-DMSG_STORAGE_ENABLED") - add_definitions("-DCALL_LOGS_STORAGE_ENABLED") + if(ENABLE_MSG_STORAGE) + add_definitions("-DMSG_STORAGE_ENABLED") + endif() + if(ENABLE_CALL_LOGS_STORAGE) + add_definitions("-DCALL_LOGS_STORAGE_ENABLED") + endif() endif() -if(ENABLE_TUNNEL) - include_directories(${TUNNEL_INCLUDE_DIRS}) -endif() -if(ENABLE_DEBUG_LOGS) - add_definitions("-DDEBUG") +if(INTL_FOUND) + set(HAVE_INTL 1) + include_directories(${INTL_INCLUDE_DIRS}) endif() if(MSVC) include_directories(${MSVC_INCLUDE_DIR}) endif() -if(INTL_FOUND) - set(HAVE_INTL 1) - include_directories(${INTL_INCLUDE_DIRECTORIES}) -endif() add_definitions("-DIN_LINPHONE") - +if(ENABLE_DEBUG_LOGS) + add_definitions("-DDEBUG") +endif() if(MSVC) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /W3") @@ -234,6 +233,13 @@ if(ENABLE_VIDEO) endif() +if(LINPHONE_BUILDER_GROUP_EXTERNAL_SOURCE_PATH_BUILDERS) + set(EXPORT_TARGETS_NAME "LinphoneBuilder") +else() + set(EXPORT_TARGETS_NAME "Linphone") +endif() + + add_subdirectory(coreapi) add_subdirectory(share) if(ENABLE_CONSOLE_UI) @@ -258,9 +264,8 @@ write_basic_package_version_file( VERSION ${LINPHONE_VERSION} COMPATIBILITY AnyNewerVersion ) -export(EXPORT LinphoneTargets +export(EXPORT ${EXPORT_TARGETS_NAME}Targets FILE "${CMAKE_CURRENT_BINARY_DIR}/LinphoneTargets.cmake" - NAMESPACE BelledonneCommunications:: ) configure_file(cmake/LinphoneConfig.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/LinphoneConfig.cmake" @@ -268,9 +273,8 @@ configure_file(cmake/LinphoneConfig.cmake.in ) set(ConfigPackageLocation lib/cmake/Linphone) -install(EXPORT LinphoneTargets +install(EXPORT ${EXPORT_TARGETS_NAME}Targets FILE LinphoneTargets.cmake - NAMESPACE BelledonneCommunications:: DESTINATION ${ConfigPackageLocation} ) install(FILES diff --git a/README.macos.md b/README.macos.md index 5e34f88ad..874633fb7 100644 --- a/README.macos.md +++ b/README.macos.md @@ -32,7 +32,7 @@ In order to enable generation of bundle for older MacOS version, it is recommend Install `GTK`. It is recommended to use the `quartz` backend for better integration. sudo port install gtk2 +quartz +no_x11 - sudo port install gtk-osx-application +no_python + sudo port install gtk-osx-application-gtk2 +no_python sudo port install hicolor-icon-theme #### Using HomeBrew @@ -78,7 +78,7 @@ The next pieces need to be compiled manually. * Install libvpx (Must be manualy build because the macport recipe does not support 'macosx_deployment_target') - git clone https://chromium.googlesource.com/webm/libvpx -b v1.3.0 + git clone https://chromium.googlesource.com/webm/libvpx -b v1.4.0 cd libvpx ./configure --prefix=/opt/local \ --target=x86_64-darwin10-gcc \ @@ -143,15 +143,12 @@ The next pieces need to be compiled manually. ### Generate portable bundle -If you want to generate a portable bundle, then install `gtk-mac-bundler`: +If you want to generate a portable bundle, then install `gtk-mac-bundler` linphone fork: - git clone https://github.com/jralls/gtk-mac-bundler.git - cd gtk-mac-bundler - git checkout 6e2ed855aaeae43c29436c342ae83568573b5636 + git clone git://git.linphone.org/gtk-mac-bundler.git + cd gtk-mac-bundler make install - export PATH=$PATH:~/.local/bin - # make this dummy charset.alias file for the bundler to be happy: - sudo touch /opt/local/lib/charset.alias + export PATH=$PATH:~/.local/bin # set writing right for owner on the libssl and libcrypto libraries in order gtk-mac-bundler # be able to rewrite their rpath sudo chmod u+w /opt/local/lib/libssl.1.0.0.dylib /opt/local/lib/libcrypto.1.0.0.dylib @@ -180,11 +177,11 @@ The resulting bundle is located in Linphone build directory, together with a zip * For a better appearance, you can install `gtk-quartz-engine` (a GTK theme) that makes GTK application more similar to other Mac applications (but not perfect). sudo port install gnome-common - git clone https://github.com/jralls/gtk-quartz-engine.git - cd gtk-quartz-engine - ./autogen.sh - ./configure --prefix=/opt/local CFLAGS="$CFLAGS -Wno-error" && make - sudo make install + git clone https://github.com/jralls/gtk-quartz-engine.git + cd gtk-quartz-engine + ./autogen.sh + ./configure --prefix=/opt/local CFLAGS="$CFLAGS -Wno-error" && make + sudo make install Generate a new bundle to have it included. diff --git a/cmake/FindZlib.cmake b/cmake/FindZlib.cmake index 3a0935f76..17b2d1e39 100644 --- a/cmake/FindZlib.cmake +++ b/cmake/FindZlib.cmake @@ -41,7 +41,7 @@ if(ZLIB_INCLUDE_DIRS) endif() if(ENABLE_STATIC) - if(IOS) + if(IOS OR QNX) set(_ZLIB_STATIC_NAMES z) else() set(_ZLIB_STATIC_NAMES zstatic zlibstatic zlibstaticd) diff --git a/cmake/LinphoneConfig.cmake.in b/cmake/LinphoneConfig.cmake.in index b29fe8836..9bcd9dfa4 100644 --- a/cmake/LinphoneConfig.cmake.in +++ b/cmake/LinphoneConfig.cmake.in @@ -41,7 +41,7 @@ endif() get_filename_component(LINPHONE_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) set(LINPHONE_INCLUDE_DIRS "${LINPHONE_CMAKE_DIR}/../../../include") -set(LINPHONE_LIBRARIES BelledonneCommunications::linphone) +set(LINPHONE_LIBRARIES linphone) set(LINPHONE_LDFLAGS @LINK_FLAGS@) list(APPEND LINPHONE_INCLUDE_DIRS ${MEDIASTREAMER2_INCLUDE_DIRS} ${BELLESIP_INCLUDE_DIRS}) list(APPEND LINPHONE_LIBRARIES ${MEDIASTREAMER2_LIBRARIES} ${BELLESIP_LIBRARIES}) diff --git a/config.h.cmake b/config.h.cmake index 35d7e2ac9..d731b58e6 100644 --- a/config.h.cmake +++ b/config.h.cmake @@ -43,4 +43,5 @@ #cmakedefine HAVE_CU_GET_SUITE 1 #cmakedefine HAVE_CU_CURSES 1 #cmakedefine HAVE_LIBUDEV_H 0 +#cmakedefine HAVE_LIME #cmakedefine ENABLE_NLS 1 diff --git a/coreapi/CMakeLists.txt b/coreapi/CMakeLists.txt index 6689f383a..620bc9132 100644 --- a/coreapi/CMakeLists.txt +++ b/coreapi/CMakeLists.txt @@ -20,13 +20,13 @@ # ############################################################################ -if(MSVC AND NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsPhone") +if(MSVC AND NOT CMAKE_SYSTEM_NAME STREQUAL "WindowsPhone") find_library(LIBGCC NAMES gcc) find_library(LIBMINGWEX NAMES mingwex) endif() if(NOT WIN32) - find_package(Iconv) + find_package(Iconv QUIET) endif() @@ -69,6 +69,7 @@ set(SOURCE_FILES linphonecore.c linphone_tunnel_config.c localplayer.c + lpc2xml.c lpconfig.c lpconfig.h lsd.c @@ -120,13 +121,11 @@ else() list(APPEND SOURCE_FILES linphone_tunnel_stubs.c) endif() -set(GENERATED_SOURCE_FILES - ${CMAKE_CURRENT_BINARY_DIR}/liblinphone_gitversion.h -) -set_source_files_properties(${GENERATED_SOURCE_FILES} PROPERTIES GENERATED TRUE) find_package(Git) -add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/liblinphone_gitversion.h - COMMAND ${CMAKE_COMMAND} -DGIT_EXECUTABLE=${GIT_EXECUTABLE} -DWORK_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DOUTPUT_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/gitversion.cmake) +add_custom_target(liblinphone-git-version + COMMAND ${CMAKE_COMMAND} -DGIT_EXECUTABLE=${GIT_EXECUTABLE} -DWORK_DIR=${CMAKE_CURRENT_SOURCE_DIR} -DOUTPUT_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/gitversion.cmake + BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/liblinphone_gitversion.h" +) add_definitions( -DUSE_BELLESIP @@ -150,10 +149,10 @@ endif() if(ENABLE_TUNNEL) list(APPEND LIBS ${TUNNEL_LIBRARIES}) endif() -if(MSVC AND NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsPhone") +if(MSVC AND NOT CMAKE_SYSTEM_NAME STREQUAL "WindowsPhone") list(APPEND LIBS ${LIBGCC} ${LIBMINGWEX}) endif() -if(WIN32 AND NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsPhone") +if(WIN32 AND NOT CMAKE_SYSTEM_NAME STREQUAL "WindowsPhone") list(APPEND LIBS shlwapi) endif() if(INTL_FOUND) @@ -161,10 +160,10 @@ if(INTL_FOUND) endif() if(ENABLE_STATIC) - add_library(linphone STATIC ${SOURCE_FILES} ${GENERATED_SOURCE_FILES}) + add_library(linphone STATIC ${SOURCE_FILES}) target_link_libraries(linphone ${LIBS}) else() - add_library(linphone SHARED ${SOURCE_FILES} ${GENERATED_SOURCE_FILES}) + add_library(linphone SHARED ${SOURCE_FILES}) set_target_properties(linphone PROPERTIES VERSION ${LINPHONE_SO_VERSION} LINKER_LANGUAGE CXX) target_link_libraries(linphone ${LIBS}) if(MSVC) @@ -176,7 +175,8 @@ else() endif() endif() endif() -if(WIN32 AND "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsPhone") +add_dependencies(linphone liblinphone-git-version) +if(WIN32 AND CMAKE_SYSTEM_NAME STREQUAL "WindowsPhone") set_target_properties(linphone PROPERTIES PREFIX "lib") endif() if(ICONV_FOUND) @@ -188,7 +188,7 @@ if(ICONV_FOUND) endif() endif() -install(TARGETS linphone EXPORT LinphoneTargets +install(TARGETS linphone EXPORT ${EXPORT_TARGETS_NAME}Targets RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib diff --git a/coreapi/account_creator.c b/coreapi/account_creator.c index 425afbdfb..3da8106eb 100644 --- a/coreapi/account_creator.c +++ b/coreapi/account_creator.c @@ -173,7 +173,7 @@ static bool_t is_matching_regex(const char *entry, const char* regex) { char err_msg[256]; int res; res = regcomp(®ex_pattern, regex, REG_EXTENDED | REG_NOSUB); - if(res != REG_NOERROR) { + if(res != 0) { regerror(res, ®ex_pattern, err_msg, sizeof(err_msg)); ms_error("Could not compile regex '%s: %s", regex, err_msg); return FALSE; diff --git a/coreapi/authentication.c b/coreapi/authentication.c index cd0d20638..5382347ad 100644 --- a/coreapi/authentication.c +++ b/coreapi/authentication.c @@ -142,8 +142,8 @@ void linphone_auth_info_write_config(LpConfig *config, LinphoneAuthInfo *obj, in { char key[50]; bool_t store_ha1_passwd = lp_config_get_int(config, "sip", "store_ha1_passwd", 1); - - + + sprintf(key,"auth_info_%i",pos); lp_config_clean_section(config,key); @@ -275,18 +275,10 @@ const LinphoneAuthInfo *_linphone_core_find_auth_info(LinphoneCore *lc, const ch if (ai==NULL){ ai=find_auth_info(lc,username,NULL,NULL, ignore_realm); } - /*if (ai) ms_message("linphone_core_find_auth_info(): returning auth info username=%s, realm=%s", ai->username, ai->realm);*/ + if (ai) ms_message("linphone_core_find_auth_info(): returning auth info username=%s, realm=%s", ai->username ? ai->username : "", ai->realm ? ai->realm : ""); return ai; } -/** - * Find authentication info matching realm, username, domain criteria. - * First of all, (realm,username) pair are searched. If multiple results (which should not happen because realm are supposed to be unique), then domain is added to the search. - * @param lc the LinphoneCore - * @param realm the authentication 'realm' (optional) - * @param username the SIP username to be authenticated (mandatory) - * @param domain the SIP domain name (optional) - * @return a #LinphoneAuthInfo -**/ + const LinphoneAuthInfo *linphone_core_find_auth_info(LinphoneCore *lc, const char *realm, const char *username, const char *domain){ return _linphone_core_find_auth_info(lc, realm, username, domain, TRUE); } @@ -295,9 +287,9 @@ const LinphoneAuthInfo *linphone_core_find_auth_info(LinphoneCore *lc, const cha void linphone_core_write_auth_info(LinphoneCore *lc, LinphoneAuthInfo *ai){ int i; MSList *elem = lc->auth_info; - + if (!lc->sip_conf.save_auth_info) return; - + for (i=0; elem != NULL; elem = elem->next, i++){ if (ai == elem->data){ linphone_auth_info_write_config(lc->config, ai, i); diff --git a/coreapi/bellesip_sal/sal_op_call.c b/coreapi/bellesip_sal/sal_op_call.c index f3b486b58..86cac8ad1 100644 --- a/coreapi/bellesip_sal/sal_op_call.c +++ b/coreapi/bellesip_sal/sal_op_call.c @@ -357,6 +357,7 @@ static void call_process_transaction_terminated(void *user_ctx, const belle_sip_ belle_sip_server_transaction_t *server_transaction=belle_sip_transaction_terminated_event_get_server_transaction(event); belle_sip_request_t* req; belle_sip_response_t* resp; + int code = 0; bool_t release_call=FALSE; if (client_transaction) { @@ -366,12 +367,19 @@ static void call_process_transaction_terminated(void *user_ctx, const belle_sip_ req=belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(server_transaction)); resp=belle_sip_transaction_get_response(BELLE_SIP_TRANSACTION(server_transaction)); } - if (op->state ==SalOpStateTerminating + if (resp) code = belle_sip_response_get_status_code(resp); + + if (op->state == SalOpStateTerminating && strcmp("BYE",belle_sip_request_get_method(req))==0 - && (!resp || (belle_sip_response_get_status_code(resp) !=401 - && belle_sip_response_get_status_code(resp) !=407)) + && (!resp || (belle_sip_response_get_status_code(resp) != 401 + && belle_sip_response_get_status_code(resp) != 407)) && op->dialog==NULL) { release_call=TRUE; + }else if (op->state == SalOpStateEarly && code < 200){ + /*call terminated early*/ + sal_error_info_set(&op->error_info,SalReasonIOError,503,"I/O error",NULL); + op->base.root->callbacks.call_failure(op); + release_call=TRUE; } if (server_transaction){ if (op->pending_server_trans==server_transaction){ @@ -546,10 +554,9 @@ static void process_request_event(void *op_base, const belle_sip_request_event_t drop_op = TRUE; } break; - } /* else same behavior as for EARLY state*/ + } /* else same behavior as for EARLY state, thus NO BREAK*/ } case BELLE_SIP_DIALOG_EARLY: { - //hmm probably a cancel if (strcmp("CANCEL",method)==0) { if(belle_sip_request_event_get_server_transaction(event)) { /*first answer 200 ok to cancel*/ @@ -864,6 +871,9 @@ int sal_call_accept(SalOp*h){ belle_sip_object_unref(h->pending_update_server_trans); h->pending_update_server_trans=NULL; } + if (h->state == SalOpStateEarly){ + h->state = SalOpStateActive; + } return 0; } diff --git a/coreapi/bellesip_sal/sal_op_events.c b/coreapi/bellesip_sal/sal_op_events.c index d4a24bd9b..8b439eb9b 100644 --- a/coreapi/bellesip_sal/sal_op_events.c +++ b/coreapi/bellesip_sal/sal_op_events.c @@ -129,8 +129,7 @@ static void subscribe_process_request_event(void *op_base, const belle_sip_reque if (!op->dialog) { if (strcmp(method,"SUBSCRIBE")==0){ op->dialog=belle_sip_provider_create_dialog(op->base.root->prov,BELLE_SIP_TRANSACTION(server_transaction)); - belle_sip_dialog_set_application_data(op->dialog,op); - sal_op_ref(op); + belle_sip_dialog_set_application_data(op->dialog, sal_op_ref(op)); ms_message("new incoming subscription from [%s] to [%s]",sal_op_get_from(op),sal_op_get_to(op)); }else{ /*this is a NOTIFY*/ handle_notify(op,req,eventname,&body); diff --git a/coreapi/bellesip_sal/sal_op_impl.c b/coreapi/bellesip_sal/sal_op_impl.c index d19091c96..dff9f0713 100644 --- a/coreapi/bellesip_sal/sal_op_impl.c +++ b/coreapi/bellesip_sal/sal_op_impl.c @@ -72,7 +72,7 @@ void sal_op_authenticate(SalOp *op, const SalAuthInfo *info){ /*Registration authenticate is just about registering again*/ sal_register_refresh(op,-1); }else { - /*for sure auth info will be accesible from the provider*/ + /*for sure auth info will be accessible from the provider*/ sal_process_authentication(op); } return ; @@ -814,6 +814,11 @@ void sal_call_set_sdp_handling(SalOp *h, SalOpSDPHandling handling) { void sal_op_cnx_ip_to_0000_if_sendonly_enable(SalOp *op,bool_t yesno) { op->cnx_ip_to_0000_if_sendonly_enabled = yesno; } + bool_t sal_op_cnx_ip_to_0000_if_sendonly_enabled(SalOp *op) { return op->cnx_ip_to_0000_if_sendonly_enabled; } + +bool_t sal_op_is_forked_of(const SalOp *op1, const SalOp *op2){ + return op1->base.call_id && op2->base.call_id && strcmp(op1->base.call_id, op2->base.call_id) == 0; +} diff --git a/coreapi/bellesip_sal/sal_op_presence.c b/coreapi/bellesip_sal/sal_op_presence.c index 6de0a0fbf..c0fcc25b0 100644 --- a/coreapi/bellesip_sal/sal_op_presence.c +++ b/coreapi/bellesip_sal/sal_op_presence.c @@ -47,42 +47,39 @@ void sal_add_presence_info(SalOp *op, belle_sip_message_t *notify, SalPresenceMo } static void presence_process_io_error(void *user_ctx, const belle_sip_io_error_event_t *event){ - ms_error("presence_process_io_error not implemented yet"); + /*ms_error("presence_process_io_error not implemented yet");*/ } static void presence_process_dialog_terminated(void *ctx, const belle_sip_dialog_terminated_event_t *event) { SalOp* op= (SalOp*)ctx; if (op->dialog) { - sal_op_unref(op); - op->dialog=NULL; + if (belle_sip_dialog_is_server(op->dialog)){ + ms_message("Incoming subscribtion from [%s] terminated",sal_op_get_from(op)); + op->base.root->callbacks.subscribe_presence_closed(op, sal_op_get_from(op)); + } + set_or_update_dialog(op, NULL); } } static void presence_refresher_listener(belle_sip_refresher_t* refresher, void* user_pointer, unsigned int status_code, const char* reason_phrase){ SalOp* op = (SalOp*)user_pointer; - switch(status_code){ - case 481: { - - ms_message("The server or remote ua lost the SUBSCRIBE dialog context. Let's restart a new one."); - belle_sip_refresher_stop(op->refresher); - if (op->dialog) { /*delete previous dialog if any*/ - belle_sip_dialog_set_application_data(op->dialog,NULL); - belle_sip_object_unref(op->dialog); - op->dialog=NULL; - } - - if (sal_op_get_contact_address(op)) { - /*contact is also probably not good*/ - SalAddress* contact=sal_address_clone(sal_op_get_contact_address(op)); - sal_address_set_port(contact,-1); - sal_address_set_domain(contact,NULL); - sal_op_set_contact_address(op,contact); - sal_address_destroy(contact); - } - - sal_subscribe_presence(op,NULL,NULL,-1); - break; + if (status_code >= 300) { + ms_message("The SUBSCRIBE dialog no longer works. Let's restart a new one."); + belle_sip_refresher_stop(op->refresher); + if (op->dialog) { /*delete previous dialog if any*/ + set_or_update_dialog(op, NULL); } + + if (sal_op_get_contact_address(op)) { + /*contact is also probably not good*/ + SalAddress* contact=sal_address_clone(sal_op_get_contact_address(op)); + sal_address_set_port(contact,-1); + sal_address_set_domain(contact,NULL); + sal_op_set_contact_address(op,contact); + sal_address_destroy(contact); + } + /*send a new SUBSCRIBE, that will attempt to establish a new dialog*/ + sal_subscribe_presence(op,NULL,NULL,-1); } } @@ -99,9 +96,11 @@ static void presence_response_event(void *op_base, const belle_sip_response_even sal_op_set_error_info_from_response(op,response); if (code>=300) { - ms_message("subscription to [%s] rejected",sal_op_get_to(op)); - op->base.root->callbacks.notify_presence(op,SalSubscribeTerminated, NULL,NULL); /*NULL = offline*/ - return; + if (strcmp("SUBSCRIBE",belle_sip_request_get_method(request))==0){ + ms_message("subscription to [%s] rejected",sal_op_get_to(op)); + op->base.root->callbacks.notify_presence(op,SalSubscribeTerminated, NULL,NULL); /*NULL = offline*/ + return; + } } set_or_update_dialog(op_base,belle_sip_response_event_get_dialog(event)); if (!op->dialog) { @@ -144,11 +143,21 @@ static void presence_response_event(void *op_base, const belle_sip_response_even } /* no break */ } - - } + static void presence_process_timeout(void *user_ctx, const belle_sip_timeout_event_t *event) { - ms_error("presence_process_timeout not implemented yet"); + SalOp* op = (SalOp*)user_ctx; + belle_sip_client_transaction_t* client_transaction = belle_sip_timeout_event_get_client_transaction(event); + belle_sip_request_t* request; + + if (!client_transaction) return; + + request = belle_sip_transaction_get_request(BELLE_SIP_TRANSACTION(client_transaction)); + + if (strcmp("SUBSCRIBE",belle_sip_request_get_method(request))==0){ + ms_message("subscription to [%s] timeout",sal_op_get_to(op)); + op->base.root->callbacks.notify_presence(op,SalSubscribeTerminated, NULL,NULL); /*NULL = offline*/ + } } static void presence_process_transaction_terminated(void *user_ctx, const belle_sip_transaction_terminated_event_t *event) { @@ -177,15 +186,19 @@ static SalPresenceModel * process_presence_notification(SalOp *op, belle_sip_req return result; } -static void handle_notify(SalOp *op, belle_sip_request_t *req){ +static void handle_notify(SalOp *op, belle_sip_request_t *req, belle_sip_dialog_t *dialog){ belle_sip_response_t* resp=NULL; belle_sip_server_transaction_t* server_transaction=op->pending_server_trans; belle_sip_header_subscription_state_t* subscription_state_header=belle_sip_message_get_header_by_type(req,belle_sip_header_subscription_state_t); SalSubscribeStatus sub_state; - + if (strcmp("NOTIFY",belle_sip_request_get_method(req))==0) { SalPresenceModel *presence_model = NULL; const char* body = belle_sip_message_get_body(BELLE_SIP_MESSAGE(req)); + + if (op->dialog !=NULL && dialog != op->dialog){ + ms_warning("Receiving a NOTIFY from a dialog we haven't stored (op->dialog=%p dialog=%p)", op->dialog, dialog); + } if (!subscription_state_header || strcasecmp(BELLE_SIP_SUBSCRIPTION_STATE_TERMINATED,belle_sip_header_subscription_state_get_state(subscription_state_header)) ==0) { sub_state=SalSubscribeTerminated; ms_message("Outgoing subscription terminated by remote [%s]",sal_op_get_to(op)); @@ -212,7 +225,6 @@ static void presence_process_request_event(void *op_base, const belle_sip_reques belle_sip_server_transaction_t* server_transaction = belle_sip_provider_create_server_transaction(op->base.root->prov,belle_sip_request_event_get_request(event)); belle_sip_request_t* req = belle_sip_request_event_get_request(event); belle_sip_dialog_state_t dialog_state; - belle_sip_header_expires_t* expires = belle_sip_message_get_header_by_type(req,belle_sip_header_expires_t); belle_sip_response_t* resp; const char *method=belle_sip_request_get_method(req); @@ -223,13 +235,12 @@ static void presence_process_request_event(void *op_base, const belle_sip_reques if (!op->dialog) { if (strcmp(method,"SUBSCRIBE")==0){ - op->dialog=belle_sip_provider_create_dialog(op->base.root->prov,BELLE_SIP_TRANSACTION(server_transaction)); - belle_sip_dialog_set_application_data(op->dialog,op); - sal_op_ref(op); + belle_sip_dialog_t *dialog = belle_sip_provider_create_dialog(op->base.root->prov,BELLE_SIP_TRANSACTION(server_transaction)); + set_or_update_dialog(op, dialog); ms_message("new incoming subscription from [%s] to [%s]",sal_op_get_from(op),sal_op_get_to(op)); }else{ /* this is a NOTIFY */ ms_message("Receiving out of dialog notify"); - handle_notify(op,req); + handle_notify(op, req, belle_sip_request_event_get_dialog(event)); return; } } @@ -245,16 +256,13 @@ static void presence_process_request_event(void *op_base, const belle_sip_reques case BELLE_SIP_DIALOG_CONFIRMED: if (strcmp("NOTIFY",method)==0) { - handle_notify(op,req); + handle_notify(op, req, belle_sip_request_event_get_dialog(event)); } else if (strcmp("SUBSCRIBE",method)==0) { - /*either a refresh or an unsubscribe*/ - if (expires && belle_sip_header_expires_get_expires(expires)>0) { - op->base.root->callbacks.subscribe_presence_received(op,sal_op_get_from(op)); - } else if(expires) { - ms_message("Unsubscribe received from [%s]",sal_op_get_from(op)); - resp=sal_op_create_response_from_request(op,req,200); - belle_sip_server_transaction_send_response(server_transaction,resp); - } + /*either a refresh or an unsubscribe. + If it is a refresh there is nothing to notify to the app. If it is an unSUBSCRIBE, then the dialog + will be terminated shortly, and this will be notified to the app through the dialog_terminated callback.*/ + resp=sal_op_create_response_from_request(op,req,200); + belle_sip_server_transaction_send_response(server_transaction,resp); } break; default: @@ -330,8 +338,8 @@ static int sal_op_check_dialog_state(SalOp *op) { return -1; } else return 0; - } + int sal_notify_presence(SalOp *op, SalPresenceModel *presence){ belle_sip_request_t* notify=NULL; if (sal_op_check_dialog_state(op)) { diff --git a/coreapi/bellesip_sal/sal_sdp.c b/coreapi/bellesip_sal/sal_sdp.c index f5a55cb52..95fdd9ab6 100644 --- a/coreapi/bellesip_sal/sal_sdp.c +++ b/coreapi/bellesip_sal/sal_sdp.c @@ -331,7 +331,7 @@ static void stream_description_to_sdp ( belle_sdp_session_description_t *session } } - if ((rtp_port != 0) && ((stream->proto == SalProtoRtpAvpf) || (stream->proto == SalProtoRtpSavpf))) { + if ((rtp_port != 0) && sal_stream_description_has_avpf(stream)) { add_rtcp_fb_attributes(media_desc, md, stream); } diff --git a/coreapi/call_log.c b/coreapi/call_log.c index f357509bd..abfea81b7 100644 --- a/coreapi/call_log.c +++ b/coreapi/call_log.c @@ -281,6 +281,7 @@ static void _linphone_call_log_destroy(LinphoneCallLog *cl) { if (cl->call_id) ms_free(cl->call_id); if (cl->reporting.reports[LINPHONE_CALL_STATS_AUDIO]!=NULL) linphone_reporting_destroy(cl->reporting.reports[LINPHONE_CALL_STATS_AUDIO]); if (cl->reporting.reports[LINPHONE_CALL_STATS_VIDEO]!=NULL) linphone_reporting_destroy(cl->reporting.reports[LINPHONE_CALL_STATS_VIDEO]); + if (cl->reporting.reports[LINPHONE_CALL_STATS_TEXT]!=NULL) linphone_reporting_destroy(cl->reporting.reports[LINPHONE_CALL_STATS_TEXT]); } LinphoneCallLog * linphone_call_log_new(LinphoneCallDir dir, LinphoneAddress *from, LinphoneAddress *to) { @@ -296,6 +297,7 @@ LinphoneCallLog * linphone_call_log_new(LinphoneCallDir dir, LinphoneAddress *fr cl->reporting.reports[LINPHONE_CALL_STATS_AUDIO]=linphone_reporting_new(); cl->reporting.reports[LINPHONE_CALL_STATS_VIDEO]=linphone_reporting_new(); + cl->reporting.reports[LINPHONE_CALL_STATS_TEXT]=linphone_reporting_new(); cl->connected_date_time=0; return cl; } @@ -343,6 +345,26 @@ static void linphone_create_table(sqlite3* db) { } } +void linphone_update_call_log_table(sqlite3* db) { + char* errmsg=NULL; + int ret; + + // for image url storage + ret=sqlite3_exec(db,"ALTER TABLE call_history ADD COLUMN call_id TEXT;",NULL,NULL,&errmsg); + if(ret != SQLITE_OK) { + ms_message("Table already up to date: %s.", errmsg); + sqlite3_free(errmsg); + } else { + ret=sqlite3_exec(db,"ALTER TABLE call_history ADD COLUMN refkey TEXT;",NULL,NULL,&errmsg); + if(ret != SQLITE_OK) { + ms_message("Table already up to date: %s.", errmsg); + sqlite3_free(errmsg); + } else { + ms_debug("Table call_history updated successfully for call_id and refkey."); + } + } +} + static int _linphone_sqlite3_open(const char *db_file, sqlite3 **db) { #if defined(ANDROID) || defined(__QNXNTO__) return sqlite3_open(db_file, db); @@ -387,6 +409,7 @@ void linphone_core_call_log_storage_init(LinphoneCore *lc) { } linphone_create_table(db); + linphone_update_call_log_table(db); lc->logs_db = db; // Load the existing call logs @@ -411,6 +434,8 @@ void linphone_core_call_log_storage_close(LinphoneCore *lc) { * | 7 | status * | 8 | video enabled (1 or 0) * | 9 | quality + * | 10 | call_id + * | 11 | refkey */ static int create_call_log(void *data, int argc, char **argv, char **colName) { MSList **list = (MSList **)data; @@ -433,6 +458,15 @@ static int create_call_log(void *data, int argc, char **argv, char **colName) { log->video_enabled = atoi(argv[8]) == 1; log->quality = atof(argv[9]); + if (argc > 10) { + if (argv[10] != NULL) { + log->call_id = ms_strdup(argv[10]); + } + if (argv[10] != NULL) { + log->refkey = ms_strdup(argv[11]); + } + } + *list = ms_list_append(*list, log); return 0; @@ -466,7 +500,7 @@ void linphone_core_store_call_log(LinphoneCore *lc, LinphoneCallLog *log) { from = linphone_address_as_string(log->from); to = linphone_address_as_string(log->to); - buf = sqlite3_mprintf("INSERT INTO call_history VALUES(NULL,%Q,%Q,%i,%i,%lld,%lld,%i,%i,%f);", + buf = sqlite3_mprintf("INSERT INTO call_history VALUES(NULL,%Q,%Q,%i,%i,%lld,%lld,%i,%i,%f,%Q,%Q);", from, to, log->dir, @@ -475,13 +509,16 @@ void linphone_core_store_call_log(LinphoneCore *lc, LinphoneCallLog *log) { (int64_t)log->connected_date_time, log->status, log->video_enabled ? 1 : 0, - log->quality + log->quality, + log->call_id, + log->refkey ); linphone_sql_request_generic(lc->logs_db, buf); sqlite3_free(buf); ms_free(from); ms_free(to); - sqlite3_last_insert_rowid(lc->logs_db); + + log->storage_id = sqlite3_last_insert_rowid(lc->logs_db); } if (lc) { @@ -489,22 +526,47 @@ void linphone_core_store_call_log(LinphoneCore *lc, LinphoneCallLog *log) { } } +static void copy_user_data_from_existing_log(MSList *existing_logs, LinphoneCallLog *log) { + while (existing_logs) { + LinphoneCallLog *existing_log = (LinphoneCallLog *)existing_logs->data; + if (existing_log->storage_id == log->storage_id) { + log->user_data = existing_log->user_data; + break; + } + existing_logs = ms_list_next(existing_logs); + } +} + +static void copy_user_data_from_existing_logs(MSList *existing_logs, MSList *new_logs) { + while (new_logs) { + LinphoneCallLog *new_log = (LinphoneCallLog *)new_logs->data; + copy_user_data_from_existing_log(existing_logs, new_log); + new_logs = ms_list_next(new_logs); + } +} + const MSList *linphone_core_get_call_history(LinphoneCore *lc) { char *buf; uint64_t begin,end; + MSList *result = NULL; if (!lc || lc->logs_db == NULL) return NULL; - - lc->call_logs = ms_list_free_with_data(lc->call_logs, (void (*)(void*))linphone_call_log_unref); buf = sqlite3_mprintf("SELECT * FROM call_history ORDER BY id DESC LIMIT %i", lc->max_call_logs); begin = ortp_get_cur_time_ms(); - linphone_sql_request_call_log(lc->logs_db, buf, &lc->call_logs); + linphone_sql_request_call_log(lc->logs_db, buf, &result); end = ortp_get_cur_time_ms(); ms_message("%s(): completed in %i ms",__FUNCTION__, (int)(end-begin)); sqlite3_free(buf); + if (lc->call_logs) { + copy_user_data_from_existing_logs(lc->call_logs, result); + } + + lc->call_logs = ms_list_free_with_data(lc->call_logs, (void (*)(void*))linphone_call_log_unref); + lc->call_logs = result; + return lc->call_logs; } @@ -568,6 +630,10 @@ MSList * linphone_core_get_call_history_for_address(LinphoneCore *lc, const Linp sqlite3_free(buf); ms_free(sipAddress); + if (lc->call_logs) { + copy_user_data_from_existing_logs(lc->call_logs, result); + } + return result; } @@ -592,6 +658,10 @@ LinphoneCallLog * linphone_core_get_last_outgoing_call_log(LinphoneCore *lc) { result = (LinphoneCallLog*)list->data; } + if (lc->call_logs && result) { + copy_user_data_from_existing_log(lc->call_logs, result); + } + return result; } diff --git a/coreapi/call_params.c b/coreapi/call_params.c index 63dc25cbf..823f14f54 100644 --- a/coreapi/call_params.c +++ b/coreapi/call_params.c @@ -119,6 +119,14 @@ void linphone_call_params_add_custom_sdp_media_attribute(LinphoneCallParams *par params->custom_sdp_media_attributes[type] = sal_custom_sdp_attribute_append(params->custom_sdp_media_attributes[type], attribute_name, attribute_value); } +void linphone_call_params_clear_custom_sdp_attributes(LinphoneCallParams *params) { + linphone_call_params_set_custom_sdp_attributes(params, NULL); +} + +void linphone_call_params_clear_custom_sdp_media_attributes(LinphoneCallParams *params, LinphoneStreamType type) { + linphone_call_params_set_custom_sdp_media_attributes(params, type, NULL); +} + LinphoneCallParams * linphone_call_params_copy(const LinphoneCallParams *cp){ unsigned int i; LinphoneCallParams *ncp=linphone_call_params_new(); @@ -226,6 +234,11 @@ const LinphonePayloadType* linphone_call_params_get_used_video_codec(const Linph return cp->video_codec; } +const LinphonePayloadType* linphone_call_params_get_used_text_codec(const LinphoneCallParams *cp) { + return cp->text_codec; +} + + bool_t linphone_call_params_low_bandwidth_enabled(const LinphoneCallParams *cp) { return cp->low_bandwidth; } diff --git a/coreapi/call_params.h b/coreapi/call_params.h index 6b55f7334..e3e6d1ee4 100644 --- a/coreapi/call_params.h +++ b/coreapi/call_params.h @@ -208,6 +208,13 @@ LINPHONE_PUBLIC const LinphonePayloadType* linphone_call_params_get_used_audio_c **/ LINPHONE_PUBLIC const LinphonePayloadType* linphone_call_params_get_used_video_codec(const LinphoneCallParams *cp); +/** + * Get the text codec used in the call, described as a LinphonePayloadType structure. + * @param[in] cp LinphoneCallParams object + * @return The LinphonePayloadType object corresponding to the text codec being used in the call. +**/ +LINPHONE_PUBLIC const LinphonePayloadType* linphone_call_params_get_used_text_codec(const LinphoneCallParams *cp); + /** * Tell whether the call has been configured in low bandwidth mode or not. * This mode can be automatically discovered thanks to a stun server when activate_edge_workarounds=1 in section [net] of configuration file. @@ -426,6 +433,21 @@ LINPHONE_PUBLIC const char * linphone_call_params_get_custom_sdp_attribute(const **/ LINPHONE_PUBLIC const char * linphone_call_params_get_custom_sdp_media_attribute(const LinphoneCallParams *params, LinphoneStreamType type, const char *attribute_name); +/** + * Clear the custom SDP attributes related to all the streams in the SDP exchanged within SIP messages during a call. + * @param[in] params The #LinphoneCallParams to clear the custom SDP attributes from. + * @ingroup media_parameters +**/ +LINPHONE_PUBLIC void linphone_call_params_clear_custom_sdp_attributes(LinphoneCallParams *params); + +/** + * Clear the custom SDP attributes related to a specific stream in the SDP exchanged within SIP messages during a call. + * @param[in] params The #LinphoneCallParams to clear the custom SDP attributes from. + * @param[in] type The type of the stream to clear the custom SDP attributes from. + * @ingroup media_parameters +**/ +LINPHONE_PUBLIC void linphone_call_params_clear_custom_sdp_media_attributes(LinphoneCallParams *params, LinphoneStreamType type); + /******************************************************************************* * DEPRECATED * diff --git a/coreapi/callbacks.c b/coreapi/callbacks.c index c84640194..814452ad0 100644 --- a/coreapi/callbacks.c +++ b/coreapi/callbacks.c @@ -537,7 +537,7 @@ static void process_call_accepted(LinphoneCore *lc, LinphoneCall *call, SalOp *o next_state = LinphoneCallPausedByRemote; next_state_str = "Call paused by remote"; }else{ - if (!call->current_params->in_conference) + if (!call->params->in_conference) lc->current_call=call; next_state = LinphoneCallStreamsRunning; next_state_str = "Streams running"; diff --git a/coreapi/chat.c b/coreapi/chat.c index 0be5eb1ec..b1980c7fc 100644 --- a/coreapi/chat.c +++ b/coreapi/chat.c @@ -326,6 +326,8 @@ void _linphone_chat_room_send_message(LinphoneChatRoom *cr, LinphoneChatMessage return; } + msg->dir = LinphoneChatMessageOutgoing; + // add to transient list cr->transient_messages = ms_list_append(cr->transient_messages, linphone_chat_message_ref(msg)); @@ -392,7 +394,6 @@ void _linphone_chat_room_send_message(LinphoneChatRoom *cr, LinphoneChatMessage ms_free(peer_uri); } - msg->dir = LinphoneChatMessageOutgoing; if (msg->from){ /* * BUG diff --git a/coreapi/conference.c b/coreapi/conference.c index 5479c8315..66898d9a2 100644 --- a/coreapi/conference.c +++ b/coreapi/conference.c @@ -276,21 +276,6 @@ static int convert_conference_to_call(LinphoneCore *lc){ return err; } -/** - * Remove a call from the conference. - * @param lc the linphone core - * @param call a call that has been previously merged into the conference. - * - * After removing the remote participant belonging to the supplied call, the call becomes a normal call in paused state. - * If one single remote participant is left alone together with the local user in the conference after the removal, then the conference is - * automatically transformed into a simple call in StreamsRunning state. - * The conference's resources are then automatically destroyed. - * - * In other words, unless linphone_core_leave_conference() is explicitely called, the last remote participant of a conference is automatically - * put in a simple call in running state. - * - * @return 0 if successful, -1 otherwise. - **/ int linphone_core_remove_from_conference(LinphoneCore *lc, LinphoneCall *call){ int err; char * str=linphone_call_get_remote_address_as_string(call); diff --git a/coreapi/friend.c b/coreapi/friend.c index 5dd49bec3..487cfd2a4 100644 --- a/coreapi/friend.c +++ b/coreapi/friend.c @@ -102,7 +102,7 @@ LinphoneFriend *linphone_find_friend_by_out_subscribe(MSList *l, SalOp *op){ LinphoneFriend *lf; for (elem=l;elem!=NULL;elem=elem->next){ lf=(LinphoneFriend*)elem->data; - if (lf->outsub==op) return lf; + if (lf->outsub && (lf->outsub == op || sal_op_is_forked_of(lf->outsub, op))) return lf; } return NULL; } @@ -240,11 +240,16 @@ void linphone_friend_notify(LinphoneFriend *lf, LinphonePresenceModel *presence) } void linphone_friend_add_incoming_subscription(LinphoneFriend *lf, SalOp *op){ + /*ownership of the op is transfered from sal to the LinphoneFriend*/ 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); + if (ms_list_find(lf->insubs, op)){ + sal_op_release(op); + lf->insubs = ms_list_remove(lf->insubs, op); + } + } static void linphone_friend_unsubscribe(LinphoneFriend *lf){ @@ -273,7 +278,7 @@ static void linphone_friend_invalidate_subscription(LinphoneFriend *lf){ void linphone_friend_close_subscriptions(LinphoneFriend *lf){ linphone_friend_unsubscribe(lf); ms_list_for_each(lf->insubs, (MSIterateFunc) sal_notify_presence_close); - + lf->insubs = ms_list_free_with_data(lf->insubs, (MSIterateFunc)sal_op_release); } static void _linphone_friend_destroy(LinphoneFriend *lf){ @@ -287,6 +292,17 @@ static void _linphone_friend_destroy(LinphoneFriend *lf){ if (lf->info!=NULL) buddy_info_free(lf->info); } +static belle_sip_error_code _linphone_friend_marshall(belle_sip_object_t *obj, char* buff, size_t buff_size, size_t *offset) { + LinphoneFriend *lf = (LinphoneFriend*)obj; + belle_sip_error_code err = BELLE_SIP_OK; + if (lf->uri){ + char *tmp = linphone_address_as_string(lf->uri); + err = belle_sip_snprintf(buff, buff_size, offset, "%s", tmp); + ms_free(tmp); + } + return err; +} + const LinphoneAddress *linphone_friend_get_address(const LinphoneFriend *lf){ return lf->uri; } @@ -373,7 +389,7 @@ LinphoneOnlineStatus linphone_friend_get_status(const LinphoneFriend *lf){ break; case LinphonePresenceActivityOnline: /* Should not happen! */ - ms_warning("LinphonePresenceActivityOnline should not happen here!"); + /*ms_warning("LinphonePresenceActivityOnline should not happen here!");*/ break; case LinphonePresenceActivityOffline: online_status = LinphoneStatusOffline; @@ -488,6 +504,11 @@ void linphone_core_add_friend(LinphoneCore *lc, LinphoneFriend *lf) return ; } lc->friends=ms_list_append(lc->friends,linphone_friend_ref(lf)); + if (ms_list_find(lc->subscribers, lf)){ + /*if this friend was in the pending subscriber list, now remove it from this list*/ + lc->subscribers = ms_list_remove(lc->subscribers, lf); + linphone_friend_unref(lf); + } lf->lc=lc; if ( linphone_core_ready(lc)) linphone_friend_apply(lf,lc); else lf->commit=TRUE; @@ -497,7 +518,7 @@ void linphone_core_add_friend(LinphoneCore *lc, LinphoneFriend *lf) void linphone_core_remove_friend(LinphoneCore *lc, LinphoneFriend* fl){ MSList *el=ms_list_find(lc->friends,fl); if (el!=NULL){ - linphone_friend_destroy((LinphoneFriend*)el->data); + linphone_friend_unref((LinphoneFriend*)el->data); lc->friends=ms_list_remove_link(lc->friends,el); linphone_core_write_friends_config(lc); }else{ @@ -710,6 +731,6 @@ BELLE_SIP_DECLARE_NO_IMPLEMENTED_INTERFACES(LinphoneFriend); BELLE_SIP_INSTANCIATE_VPTR(LinphoneFriend, belle_sip_object_t, (belle_sip_object_destroy_t) _linphone_friend_destroy, NULL, // clone - NULL, // marshal + _linphone_friend_marshall, FALSE ); \ No newline at end of file diff --git a/coreapi/gitversion.cmake b/coreapi/gitversion.cmake index 23fecb10c..eb0f99e3c 100644 --- a/coreapi/gitversion.cmake +++ b/coreapi/gitversion.cmake @@ -27,13 +27,8 @@ if(GIT_EXECUTABLE) OUTPUT_VARIABLE GIT_REVISION OUTPUT_STRIP_TRAILING_WHITESPACE ) - execute_process( - COMMAND ${CMAKE_COMMAND} -E echo "#define LIBLINPHONE_GIT_VERSION \"${GIT_REVISION}\"" - OUTPUT_FILE ${OUTPUT_DIR}/liblinphone_gitversion.h - ) else() - execute_process( - COMMAND ${CMAKE_COMMAND} -E echo "#define LIBLINPHONE_GIT_VERSION \"unknown\"" - OUTPUT_FILE ${OUTPUT_DIR}/liblinphone_gitversion.h - ) + set(GIT_REVISION "unknown") endif() + +configure_file("${WORK_DIR}/gitversion.h.in" "${OUTPUT_DIR}/liblinphone_gitversion.h" @ONLY) diff --git a/coreapi/gitversion.h.in b/coreapi/gitversion.h.in new file mode 100644 index 000000000..493b4bcb1 --- /dev/null +++ b/coreapi/gitversion.h.in @@ -0,0 +1,21 @@ +/* +linphone +Copyright (C) 2010-2014 Belledonne Communications SARL + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + + +#define LIBLINPHONE_GIT_VERSION "@GIT_REVISION@" \ No newline at end of file diff --git a/coreapi/help/CMakeLists.txt b/coreapi/help/CMakeLists.txt index 2582a507a..3a550e294 100644 --- a/coreapi/help/CMakeLists.txt +++ b/coreapi/help/CMakeLists.txt @@ -24,7 +24,7 @@ find_package(Doxygen) if(DOXYGEN_FOUND) if(DOXYGEN_DOT_FOUND) - set(top_srcdir ${CMAKE_SOURCE_DIR}) + set(top_srcdir "${CMAKE_CURRENT_LIST_DIR}/../../") configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) file(GLOB DOC_INPUT_FILES [^.]*.c diff --git a/coreapi/linphone_proxy_config.h b/coreapi/linphone_proxy_config.h index a84a8c8f3..f28de3df7 100644 --- a/coreapi/linphone_proxy_config.h +++ b/coreapi/linphone_proxy_config.h @@ -521,6 +521,13 @@ LINPHONE_PUBLIC const char *linphone_proxy_config_get_custom_header(LinphoneProx **/ LINPHONE_PUBLIC void linphone_proxy_config_set_custom_header(LinphoneProxyConfig *cfg, const char *header_name, const char *header_value); +/** + * Find authentication info matching proxy config, if any, similarly to linphone_core_find_auth_info. + * @param[in] cfg #LinphoneProxyConfig object. + * @return a #LinphoneAuthInfo matching proxy config criteria if possible, NULL if nothing can be found. +**/ +LINPHONE_PUBLIC const struct _LinphoneAuthInfo* linphone_proxy_config_find_auth_info(const LinphoneProxyConfig *cfg); + /** * @} */ diff --git a/coreapi/linphonecall.c b/coreapi/linphonecall.c index 9cc3eee92..1bd1f32e4 100644 --- a/coreapi/linphonecall.c +++ b/coreapi/linphonecall.c @@ -115,7 +115,7 @@ static bool_t at_least_one_stream_started(const LinphoneCall *call){ static bool_t linphone_call_all_streams_encrypted(const LinphoneCall *call) { int number_of_encrypted_stream = 0; int number_of_active_stream = 0; - + if (call->audiostream && media_stream_get_state((MediaStream *)call->audiostream) == MSStreamStarted) { number_of_active_stream++; if(media_stream_secured((MediaStream *)call->audiostream)) @@ -726,7 +726,7 @@ void linphone_call_make_local_media_description(LinphoneCall *call) { md->streams[call->main_video_stream_index].dir=get_video_dir_from_call_params(params); md->streams[call->main_video_stream_index].type=SalVideo; strncpy(md->streams[call->main_video_stream_index].name,"Video",sizeof(md->streams[call->main_video_stream_index].name)-1); - + if (params->has_video){ strncpy(md->streams[call->main_video_stream_index].rtp_addr,linphone_call_get_public_ip_for_stream(call,call->main_video_stream_index),sizeof(md->streams[call->main_video_stream_index].rtp_addr)); strncpy(md->streams[call->main_video_stream_index].rtcp_addr,linphone_call_get_public_ip_for_stream(call,call->main_video_stream_index),sizeof(md->streams[call->main_video_stream_index].rtcp_addr)); @@ -761,10 +761,10 @@ void linphone_call_make_local_media_description(LinphoneCall *call) { if (params->realtimetext_enabled) { strncpy(md->streams[call->main_text_stream_index].rtp_addr,linphone_call_get_public_ip_for_stream(call,call->main_text_stream_index),sizeof(md->streams[call->main_text_stream_index].rtp_addr)); strncpy(md->streams[call->main_text_stream_index].rtcp_addr,linphone_call_get_public_ip_for_stream(call,call->main_text_stream_index),sizeof(md->streams[call->main_text_stream_index].rtcp_addr)); - + md->streams[call->main_text_stream_index].rtp_port=call->media_ports[call->main_text_stream_index].rtp_port; md->streams[call->main_text_stream_index].rtcp_port=call->media_ports[call->main_text_stream_index].rtcp_port; - + codec_hints.bandwidth_limit=0; codec_hints.max_codecs=-1; codec_hints.previously_used=old_md ? old_md->streams[call->main_text_stream_index].already_assigned_payloads : NULL; @@ -1055,7 +1055,7 @@ void linphone_call_fill_media_multicast_addr(LinphoneCall *call) { LinphoneCall * linphone_call_new_outgoing(struct _LinphoneCore *lc, LinphoneAddress *from, LinphoneAddress *to, const LinphoneCallParams *params, LinphoneProxyConfig *cfg){ LinphoneCall *call = belle_sip_object_new(LinphoneCall); - + call->dir=LinphoneCallOutgoing; call->core=lc; linphone_call_outgoing_select_ip_version(call,to,cfg); @@ -1123,7 +1123,7 @@ void linphone_call_set_compatible_incoming_call_parameters(LinphoneCall *call, S static void linphone_call_compute_streams_indexes(LinphoneCall *call, const SalMediaDescription *md) { int i, j; bool_t audio_found = FALSE, video_found = FALSE, text_found = FALSE; - + for (i = 0; i < md->nb_streams; i++) { if (md->streams[i].type == SalAudio) { if (!audio_found) { @@ -1133,7 +1133,7 @@ static void linphone_call_compute_streams_indexes(LinphoneCall *call, const SalM } else { ms_message("audio stream index found: %i, but main audio stream already set to %i", i, call->main_audio_stream_index); } - + // Check that the default value of a another stream doesn't match the new one if (i == call->main_video_stream_index) { for (j = 0; j < SAL_MEDIA_DESCRIPTION_MAX_STREAMS; j++) { @@ -1163,7 +1163,7 @@ static void linphone_call_compute_streams_indexes(LinphoneCall *call, const SalM } else { ms_message("video stream index found: %i, but main video stream already set to %i", i, call->main_video_stream_index); } - + // Check that the default value of a another stream doesn't match the new one if (i == call->main_audio_stream_index) { for (j = 0; j < SAL_MEDIA_DESCRIPTION_MAX_STREAMS; j++) { @@ -1193,7 +1193,7 @@ static void linphone_call_compute_streams_indexes(LinphoneCall *call, const SalM } else { ms_message("text stream index found: %i, but main text stream already set to %i", i, call->main_text_stream_index); } - + // Check that the default value of a another stream doesn't match the new one if (i == call->main_audio_stream_index) { for (j = 0; j < SAL_MEDIA_DESCRIPTION_MAX_STREAMS; j++) { @@ -1233,7 +1233,7 @@ LinphoneCall * linphone_call_new_incoming(LinphoneCore *lc, LinphoneAddress *fro linphone_call_incoming_select_ip_version(call); 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)); - + md = sal_call_get_remote_media_description(op); if (lc->sip_conf.ping_with_options){ @@ -1282,7 +1282,7 @@ LinphoneCall * linphone_call_new_incoming(LinphoneCore *lc, LinphoneAddress *fro if (md->streams[i].dir == SalStreamInactive) { continue; } - + if (md->streams[i].rtp_addr[0]!='\0' && ms_is_multicast(md->streams[i].rtp_addr)){ md->streams[i].multicast_role = SalMulticastReceiver; strncpy(call->media_ports[i].multicast_ip,md->streams[i].rtp_addr,sizeof(call->media_ports[i].multicast_ip)); @@ -1422,7 +1422,7 @@ static void linphone_call_set_terminated(LinphoneCall *call){ */ void linphone_call_fix_call_parameters(LinphoneCall *call, SalMediaDescription *rmd){ const LinphoneCallParams* rcp; - + if (rmd) { linphone_call_compute_streams_indexes(call, rmd); linphone_call_update_biggest_desc(call, rmd); @@ -1437,10 +1437,12 @@ void linphone_call_fix_call_parameters(LinphoneCall *call, SalMediaDescription * ms_message("Call [%p]: disabling video in our call params because the remote doesn't want it.", call); call->params->has_video = FALSE; } + /* if (rcp->has_video && call->core->video_policy.automatically_accept && linphone_core_video_enabled(call->core) && !call->params->has_video){ ms_message("Call [%p]: re-enabling video in our call params because the remote wants it and the policy allows to automatically accept.", call); call->params->has_video = TRUE; } + */ if (rcp->realtimetext_enabled && !call->params->realtimetext_enabled) { call->params->realtimetext_enabled = TRUE; } @@ -1719,8 +1721,8 @@ const LinphoneCallParams * linphone_call_get_current_params(LinphoneCall *call){ if ((all_streams_encrypted = linphone_call_all_streams_encrypted(call)) && linphone_call_get_authentication_token(call)) { call->current_params->media_encryption=LinphoneMediaEncryptionZRTP; } else { - ms_message("Encryption was resquested to be %s, but isn't effective (all_streams_encrypted=%i, auth_token=%s)", - linphone_media_encryption_to_string(call->params->media_encryption), all_streams_encrypted, call->auth_token); + ms_message("Encryption was requested to be %s, but isn't effective (all_streams_encrypted=%i, auth_token=%s)", + linphone_media_encryption_to_string(call->params->media_encryption), all_streams_encrypted, call->auth_token == NULL ? "" : call->auth_token); call->current_params->media_encryption=LinphoneMediaEncryptionNone; } }//else don't update the state if all streams are shutdown. @@ -1731,7 +1733,7 @@ const LinphoneCallParams * linphone_call_get_current_params(LinphoneCall *call){ if (linphone_call_get_n_active_streams(call)==0 || (all_streams_encrypted = linphone_call_all_streams_encrypted(call))) { call->current_params->media_encryption = call->params->media_encryption; } else { - ms_message("Encryption was resquested to be %s, but isn't effective (all_streams_encrypted=%i)", + ms_message("Encryption was requested to be %s, but isn't effective (all_streams_encrypted=%i)", linphone_media_encryption_to_string(call->params->media_encryption), all_streams_encrypted); call->current_params->media_encryption=LinphoneMediaEncryptionNone; } @@ -1766,7 +1768,7 @@ const LinphoneCallParams * linphone_call_get_current_params(LinphoneCall *call){ call->current_params->video_multicast_enabled = ms_is_multicast(rtp_addr); } else call->current_params->video_multicast_enabled = FALSE; - + sd=sal_media_description_find_best_stream(md,SalText); } @@ -1783,7 +1785,8 @@ const LinphoneCallParams * linphone_call_get_remote_params(LinphoneCall *call){ if (call->op){ LinphoneCallParams *cp; SalMediaDescription *md; - + const SalCustomHeader *ch; + md=sal_call_get_remote_media_description(call->op); if (md) { SalStreamDescription *sd; @@ -1793,7 +1796,7 @@ const LinphoneCallParams * linphone_call_get_remote_params(LinphoneCall *call){ unsigned int nb_text_streams = sal_media_description_nb_active_streams_of_type(md, SalText); if (call->remote_params != NULL) linphone_call_params_unref(call->remote_params); cp = call->remote_params = linphone_call_params_new(); - + for (i = 0; i < nb_video_streams; i++) { sd = sal_media_description_get_active_stream_of_type(md, SalVideo, i); if (sal_stream_description_active(sd) == TRUE) cp->has_video = TRUE; @@ -1820,7 +1823,12 @@ const LinphoneCallParams * linphone_call_get_remote_params(LinphoneCall *call){ linphone_call_params_set_custom_sdp_media_attributes(call->remote_params, LinphoneStreamTypeVideo, md->streams[call->main_video_stream_index].custom_sdp_attributes); linphone_call_params_set_custom_sdp_media_attributes(call->remote_params, LinphoneStreamTypeText, md->streams[call->main_text_stream_index].custom_sdp_attributes); } - linphone_call_params_set_custom_headers(call->remote_params, sal_op_get_recv_custom_header(call->op)); + ch = sal_op_get_recv_custom_header(call->op); + if (ch){ + /*instanciate a remote_params only if a SIP message was received before (custom headers indicates this).*/ + if (call->remote_params == NULL) call->remote_params = linphone_call_params_new(); + linphone_call_params_set_custom_headers(call->remote_params, ch); + } return call->remote_params; } return NULL; @@ -2440,7 +2448,7 @@ void linphone_call_init_text_stream(LinphoneCall *call){ TextStream *textstream; LinphoneCore *lc=call->core; char* cname; - + if (call->textstream != NULL || !call->params->realtimetext_enabled) return; if (call->sessions[call->main_text_stream_index].rtp_session == NULL) { SalMulticastRole multicast_role = linphone_call_get_multicast_role(call, SalText); @@ -2668,7 +2676,7 @@ static RtpProfile *make_profile(LinphoneCall *call, const SalMediaDescription *m else if (desc->type==SalVideo) bw=get_video_bw(call,md,desc); //else if (desc->type== SalText) - + for(elem=desc->payloads;elem!=NULL;elem=elem->next){ PayloadType *pt=(PayloadType*)elem->data; @@ -3179,7 +3187,7 @@ static void linphone_call_start_video_stream(LinphoneCall *call, LinphoneCallSta video_stream_set_direction (call->videostream, dir); ms_message("%s lc rotation:%d\n", __FUNCTION__, lc->device_rotation); video_stream_set_device_rotation(call->videostream, lc->device_rotation); - video_stream_set_freeze_on_error(call->videostream, lp_config_get_int(lc->config, "video", "freeze_on_error", 0)); + video_stream_set_freeze_on_error(call->videostream, lp_config_get_int(lc->config, "video", "freeze_on_error", 1)); if (is_multicast) rtp_session_set_multicast_ttl(call->videostream->ms.sessions.rtp_session,vstream->ttl); @@ -3233,7 +3241,7 @@ static void linphone_call_start_text_stream(LinphoneCall *call) { LinphoneCore *lc = call->core; int used_pt = -1; const SalStreamDescription *tstream; - + tstream = sal_media_description_find_best_stream(call->resultdesc, SalText); if (tstream != NULL && tstream->dir != SalStreamInactive && tstream->rtp_port != 0) { const char *rtp_addr = tstream->rtp_addr[0] != '\0' ? tstream->rtp_addr : call->resultdesc->addr; @@ -3255,9 +3263,9 @@ static void linphone_call_start_text_stream(LinphoneCall *call) { } configure_rtp_session_for_rtcp_fb(call, tstream); configure_rtp_session_for_rtcp_xr(lc, call, SalText); - + if (is_multicast) rtp_session_set_multicast_ttl(call->textstream->ms.sessions.rtp_session,tstream->ttl); - + text_stream_start(call->textstream, call->text_profile, rtp_addr, tstream->rtp_port, rtcp_addr, (linphone_core_rtcp_enabled(lc) && !is_multicast) ? (tstream->rtcp_port ? tstream->rtcp_port : tstream->rtp_port + 1) : 0, used_pt); ms_media_stream_sessions_set_encryption_mandatory(&call->textstream->ms.sessions,linphone_core_is_media_encryption_mandatory(call->core)); @@ -3394,7 +3402,7 @@ void linphone_call_start_media_streams(LinphoneCall *call, LinphoneCallState nex } #endif } - + if (call->params->realtimetext_enabled) { linphone_call_start_text_stream(call); } @@ -3445,7 +3453,7 @@ void linphone_call_update_crypto_parameters(LinphoneCall *call, SalMediaDescript if (call->audiostream && local_st_desc && old_stream && new_stream && update_stream_crypto_params(call,local_st_desc,old_stream,new_stream,&call->audiostream->ms)){ } - + local_st_desc = sal_media_description_find_secure_stream_of_type(call->localdesc, SalText); old_stream = sal_media_description_find_secure_stream_of_type(old_md, SalText); new_stream = sal_media_description_find_secure_stream_of_type(new_md, SalText); @@ -3543,7 +3551,7 @@ static void linphone_call_stop_audio_stream(LinphoneCall *call) { ortp_ev_queue_flush(call->audiostream_app_evq); ortp_ev_queue_destroy(call->audiostream_app_evq); call->audiostream_app_evq=NULL; - + call->current_params->audio_codec = NULL; } } @@ -4088,6 +4096,7 @@ static void linphone_call_lost(LinphoneCall *call, LinphoneReason reason){ linphone_core_notify_display_warning(lc, temp); linphone_core_terminate_call(lc,call); linphone_core_play_named_tone(lc,LinphoneToneCallLost); + ms_free(temp); } static void change_ice_media_destinations(LinphoneCall *call) { @@ -4253,15 +4262,16 @@ void linphone_call_stats_uninit(LinphoneCallStats *stats){ } void linphone_call_notify_stats_updated(LinphoneCall *call, int stream_index){ - LinphoneCallStats *stats=&call->stats[stream_index]; - LinphoneCore *lc=call->core; + LinphoneCallStats *stats = &call->stats[stream_index]; + LinphoneCore *lc = call->core; if (stats->updated){ switch(stats->updated) { case LINPHONE_CALL_STATS_RECEIVED_RTCP_UPDATE: case LINPHONE_CALL_STATS_SENT_RTCP_UPDATE: - linphone_reporting_on_rtcp_update(call, stream_index); + linphone_reporting_on_rtcp_update(call, stream_index == call->main_audio_stream_index ? SalAudio : stream_index == call->main_video_stream_index ? SalVideo : SalText); + break; + default: break; - default:break; } linphone_core_notify_call_stats_updated(lc, call, stats); stats->updated = 0; @@ -4366,7 +4376,8 @@ void linphone_call_background_tasks(LinphoneCall *call, bool_t one_second_elapse linphone_call_handle_stream_events(call, call->main_audio_stream_index); linphone_call_handle_stream_events(call, call->main_video_stream_index); linphone_call_handle_stream_events(call, call->main_text_stream_index); - if (call->state==LinphoneCallStreamsRunning && one_second_elapsed && call->audiostream!=NULL + if ((call->state == LinphoneCallStreamsRunning || + call->state == LinphoneCallPausedByRemote) && one_second_elapsed && call->audiostream!=NULL && call->audiostream->ms.state==MSStreamStarted && disconnect_timeout>0 ) disconnected=!audio_stream_alive(call->audiostream,disconnect_timeout); if (disconnected) @@ -4375,6 +4386,7 @@ void linphone_call_background_tasks(LinphoneCall *call, bool_t one_second_elapse void linphone_call_log_completed(LinphoneCall *call){ LinphoneCore *lc=call->core; + bool_t call_logs_sqlite_db_found = FALSE; call->log->duration=linphone_call_get_duration(call); /*store duration since connected*/ @@ -4387,22 +4399,27 @@ void linphone_call_log_completed(LinphoneCall *call){ linphone_core_notify_display_status(lc,info); ms_free(info); } + #ifdef CALL_LOGS_STORAGE_ENABLED - linphone_core_store_call_log(lc, call->log); -#else - lc->call_logs=ms_list_prepend(lc->call_logs,linphone_call_log_ref(call->log)); - if (ms_list_size(lc->call_logs)>lc->max_call_logs){ - MSList *elem,*prevelem=NULL; - /*find the last element*/ - for(elem=lc->call_logs;elem!=NULL;elem=elem->next){ - prevelem=elem; - } - elem=prevelem; - linphone_call_log_unref((LinphoneCallLog*)elem->data); - lc->call_logs=ms_list_remove_link(lc->call_logs,elem); + if (lc->logs_db) { + call_logs_sqlite_db_found = TRUE; + linphone_core_store_call_log(lc, call->log); } - call_logs_write_to_config_file(lc); #endif + if (!call_logs_sqlite_db_found) { + lc->call_logs=ms_list_prepend(lc->call_logs,linphone_call_log_ref(call->log)); + if (ms_list_size(lc->call_logs)>lc->max_call_logs){ + MSList *elem,*prevelem=NULL; + /*find the last element*/ + for(elem=lc->call_logs;elem!=NULL;elem=elem->next){ + prevelem=elem; + } + elem=prevelem; + linphone_call_log_unref((LinphoneCallLog*)elem->data); + lc->call_logs=ms_list_remove_link(lc->call_logs,elem); + } + call_logs_write_to_config_file(lc); + } linphone_core_notify_call_log_updated(lc,call->log); } @@ -4706,11 +4723,14 @@ void linphone_call_set_broken(LinphoneCall *call){ case LinphoneCallOutgoingEarlyMedia: case LinphoneCallIncomingReceived: case LinphoneCallIncomingEarlyMedia: - linphone_call_lost(call, LinphoneReasonIOError); + /*during the early states, the SAL layer reports the failure from the dialog or transaction layer, + * hence, there is nothing special to do*/ break; case LinphoneCallStreamsRunning: case LinphoneCallPaused: case LinphoneCallPausedByRemote: + /*during these states, the dialog is established. A failure of a transaction is not expected to close it. + * Instead we have to repair the dialog by sending a reINVITE*/ call->broken = TRUE; break; default: @@ -4746,3 +4766,14 @@ void linphone_call_repair_if_broken(LinphoneCall *call){ break; } } + +void linphone_call_refresh_sockets(LinphoneCall *call){ + int i; + for (i=0; i < SAL_MEDIA_DESCRIPTION_MAX_STREAMS; ++i){ + MSMediaStreamSessions *mss = &call->sessions[i]; + if (mss->rtp_session){ + rtp_session_refresh_sockets(mss->rtp_session); + } + } +} + diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index 9a93058f3..b52a2a632 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -584,17 +584,18 @@ static void process_response_from_post_file_log_collection(void *data, const bel static int compress_file(FILE *input_file, COMPRESS_FILE_PTR output_file) { char buffer[131072]; /* 128kB */ size_t bytes; + size_t total_bytes = 0; while ((bytes = fread(buffer, 1, sizeof(buffer), input_file)) > 0) { #ifdef HAVE_ZLIB int res = gzwrite(output_file, buffer, (unsigned int)bytes); if (res < 0) return 0; + total_bytes += (size_t)res; #else - bytes = fwrite(buffer, 1, bytes, output_file); - if (bytes < 0) return (int)bytes; + total_bytes += fwrite(buffer, 1, bytes, output_file); #endif } - return 0; + return total_bytes; } static int prepare_log_collection_file_to_upload(const char *filename) { @@ -615,7 +616,7 @@ static int prepare_log_collection_file_to_upload(const char *filename) { input_file = fopen(input_filename, "r"); if (input_file == NULL) goto error; ret = compress_file(input_file, output_file); - if (ret == 0) goto error; + if (ret <= 0) goto error; fclose(input_file); ms_free(input_filename); input_filename = ms_strdup_printf("%s/%s2.log", @@ -624,7 +625,7 @@ static int prepare_log_collection_file_to_upload(const char *filename) { input_file = fopen(input_filename, "r"); if (input_file != NULL) { ret = compress_file(input_file, output_file); - if (ret == 0) goto error; + if (ret <= 0) goto error; } error: @@ -669,7 +670,11 @@ void linphone_core_upload_log_collection(LinphoneCore *core) { liblinphone_log_collection_prefix ? liblinphone_log_collection_prefix : LOG_COLLECTION_DEFAULT_PREFIX, COMPRESSED_LOG_COLLECTION_EXTENSION); linphone_content_set_name(core->log_collection_upload_information, name); - if (prepare_log_collection_file_to_upload(name) < 0) return; + if (prepare_log_collection_file_to_upload(name) <= 0) { + ms_free(core->log_collection_upload_information); + core->log_collection_upload_information = NULL; + return; + } linphone_content_set_size(core->log_collection_upload_information, get_size_of_file_to_upload(name)); uri = belle_generic_uri_parse(linphone_core_get_log_collection_upload_server_url(core)); req = belle_http_request_create("POST", uri, NULL, NULL, NULL); @@ -688,7 +693,7 @@ char * linphone_core_compress_log_collection() { filename = ms_strdup_printf("%s_log.%s", liblinphone_log_collection_prefix ? liblinphone_log_collection_prefix : LOG_COLLECTION_DEFAULT_PREFIX, COMPRESSED_LOG_COLLECTION_EXTENSION); - if (prepare_log_collection_file_to_upload(filename) < 0) { + if (prepare_log_collection_file_to_upload(filename) <= 0) { ms_free(filename); return NULL; } @@ -1679,7 +1684,7 @@ static void linphone_core_init(LinphoneCore * lc, const LinphoneCoreVTable *vtab linphone_core_register_default_codecs(lc); /* Get the mediastreamer2 event queue */ /* This allows to run event's callback in linphone_core_iterate() */ - lc->msevq=ms_factory_get_event_queue(ms_factory_get_fallback()); + lc->msevq=ms_factory_create_event_queue(ms_factory_get_fallback()); lc->sal=sal_init(); sal_set_http_proxy_host(lc->sal, linphone_core_get_http_proxy_host(lc)); @@ -3561,11 +3566,15 @@ int linphone_core_start_accept_call_update(LinphoneCore *lc, LinphoneCall *call, * @return 0 if successful, -1 otherwise (actually when this function call is performed outside ot #LinphoneCallUpdatedByRemote state). **/ int linphone_core_accept_call_update(LinphoneCore *lc, LinphoneCall *call, const LinphoneCallParams *params){ - if (call->state!=LinphoneCallUpdatedByRemote){ + if (call->state != LinphoneCallUpdatedByRemote){ ms_error("linphone_core_accept_update(): invalid state %s to call this function.", linphone_call_state_to_string(call->state)); return -1; } + if (call->expect_media_in_ack){ + ms_error("linphone_core_accept_call_update() is not possible during a late offer incoming reINVITE (INVITE without SDP)"); + return -1; + } return _linphone_core_accept_call_update(lc, call, params, call->prevstate, linphone_call_state_to_string(call->prevstate)); } @@ -6319,9 +6328,10 @@ void ui_config_uninit(LinphoneCore* lc) { ms_message("Destroying friends."); if (lc->friends){ - ms_list_for_each(lc->friends,(void (*)(void *))linphone_friend_unref); - ms_list_free(lc->friends); - lc->friends=NULL; + lc->friends = ms_list_free_with_data(lc->friends, (void (*)(void *))linphone_friend_unref); + } + if (lc->subscribers){ + lc->subscribers = ms_list_free_with_data(lc->subscribers, (void (*)(void *))linphone_friend_unref); } if (lc->presence_model) { linphone_presence_model_unref(lc->presence_model); @@ -6417,9 +6427,6 @@ static void linphone_core_uninit(LinphoneCore *lc) if (lc->chat_db_file){ ms_free(lc->chat_db_file); } - if(lc->presence_model){ - linphone_presence_model_unref(lc->presence_model); - } linphone_core_free_payload_types(lc); if (lc->supported_formats) ms_free(lc->supported_formats); linphone_core_message_storage_close(lc); @@ -6458,6 +6465,9 @@ static void set_network_reachable(LinphoneCore* lc,bool_t isReachable, time_t cu ms_list_for_each(lc->calls, (MSIterateFunc) linphone_call_set_broken); }else{ linphone_core_resolve_stun_server(lc); + if (lp_config_get_int(lc->config, "net", "recreate_sockets_when_network_is_up", 0)){ + ms_list_for_each(lc->calls, (MSIterateFunc)linphone_call_refresh_sockets); + } } #ifdef BUILD_UPNP if(lc->upnp == NULL) { diff --git a/coreapi/linphonecore.h b/coreapi/linphonecore.h index 2a4439c2c..ccaa05913 100644 --- a/coreapi/linphonecore.h +++ b/coreapi/linphonecore.h @@ -47,6 +47,9 @@ extern "C" { struct _LinphoneCore; struct _LinphoneChatRoom; +struct _LinphoneAuthInfo; +struct _SipSetupContext; +struct _LinphoneInfoMessage; /** * Linphone core main object created by function linphone_core_new() . @@ -442,10 +445,6 @@ LINPHONE_PUBLIC void linphone_address_destroy(LinphoneAddress *u); */ LINPHONE_PUBLIC LinphoneAddress * linphone_core_create_address(LinphoneCore *lc, const char *address); -struct _SipSetupContext; - - -struct _LinphoneInfoMessage; /** * The LinphoneInfoMessage is an object representing an informational message sent or received by the core. **/ @@ -1022,8 +1021,6 @@ LINPHONE_PUBLIC const char *linphone_registration_state_to_string(LinphoneRegist #include "linphone_proxy_config.h" -struct _LinphoneAuthInfo; - /** * @addtogroup authentication * @{ @@ -2900,6 +2897,15 @@ LINPHONE_PUBLIC void linphone_core_remove_auth_info(LinphoneCore *lc, const Linp LINPHONE_PUBLIC const MSList *linphone_core_get_auth_info_list(const LinphoneCore *lc); +/** + * Find authentication info matching realm, username, domain criteria. + * First of all, (realm,username) pair are searched. If multiple results (which should not happen because realm are supposed to be unique), then domain is added to the search. + * @param lc the LinphoneCore + * @param realm the authentication 'realm' (optional) + * @param username the SIP username to be authenticated (mandatory) + * @param domain the SIP domain name (optional) + * @return a #LinphoneAuthInfo +**/ LINPHONE_PUBLIC const LinphoneAuthInfo *linphone_core_find_auth_info(LinphoneCore *lc, const char *realm, const char *username, const char *sip_domain); LINPHONE_PUBLIC void linphone_core_abort_authentication(LinphoneCore *lc, LinphoneAuthInfo *info); @@ -3782,7 +3788,22 @@ LINPHONE_PUBLIC LinphoneCall* linphone_core_find_call_from_uri(const LinphoneCor LINPHONE_PUBLIC int linphone_core_add_to_conference(LinphoneCore *lc, LinphoneCall *call); LINPHONE_PUBLIC int linphone_core_add_all_to_conference(LinphoneCore *lc); -LINPHONE_PUBLIC int linphone_core_remove_from_conference(LinphoneCore *lc, LinphoneCall *call); +/** + * Remove a call from the conference. + * @param lc the linphone core + * @param call a call that has been previously merged into the conference. + * + * After removing the remote participant belonging to the supplied call, the call becomes a normal call in paused state. + * If one single remote participant is left alone together with the local user in the conference after the removal, then the conference is + * automatically transformed into a simple call in StreamsRunning state. + * The conference's resources are then automatically destroyed. + * + * In other words, unless linphone_core_leave_conference() is explicitly called, the last remote participant of a conference is automatically + * put in a simple call in running state. + * + * @return 0 if successful, -1 otherwise. + **/ + LINPHONE_PUBLIC int linphone_core_remove_from_conference(LinphoneCore *lc, LinphoneCall *call); /** * Indicates whether the local participant is part of a conference. * @param lc the linphone core diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index 989074639..3390df536 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -3718,6 +3718,14 @@ JNIEXPORT jstring JNICALL Java_org_linphone_core_LinphoneCallParamsImpl_getCusto return value ? env->NewStringUTF(value) : NULL; } +JNIEXPORT void JNICALL Java_org_linphone_core_LinphoneCallParamsImpl_clearCustomSdpAttributes(JNIEnv *env, jobject thiz, jlong ptr) { + linphone_call_params_clear_custom_sdp_attributes((LinphoneCallParams *)ptr); +} + +JNIEXPORT void JNICALL Java_org_linphone_core_LinphoneCallParamsImpl_clearCustomSdpMediaAttributes(JNIEnv *env, jobject thiz, jlong ptr, jint jtype) { + linphone_call_params_clear_custom_sdp_media_attributes((LinphoneCallParams *)ptr, (LinphoneStreamType)jtype); +} + extern "C" void Java_org_linphone_core_LinphoneCallParamsImpl_setRecordFile(JNIEnv *env, jobject thiz, jlong lcp, jstring jrecord_file){ if (jrecord_file){ const char* record_file=env->GetStringUTFChars(jrecord_file, NULL); diff --git a/coreapi/lpconfig.c b/coreapi/lpconfig.c index 607a5c763..2ad605933 100644 --- a/coreapi/lpconfig.c +++ b/coreapi/lpconfig.c @@ -56,7 +56,7 @@ #define lp_new0(type,n) (type*)calloc(sizeof(type),n) #include "lpconfig.h" - +#include "lpc2xml.h" typedef struct _LpItem{ char *key; @@ -877,3 +877,32 @@ err: if(realfilepath) ms_free(realfilepath); return -1; } + +const char** lp_config_get_sections_names(LpConfig *lpconfig) { + const char **sections_names; + const MSList *sections = lpconfig->sections; + int ndev; + int i; + + ndev = ms_list_size(sections); + sections_names = ms_malloc((ndev + 1) * sizeof(const char *)); + + for (i = 0; sections != NULL; sections = sections->next, i++) { + LpSection *section = (LpSection *)sections->data; + sections_names[i] = ms_strdup(section->name); + } + + sections_names[ndev] = NULL; + return sections_names; +} + +char* lp_config_dump_as_xml(const LpConfig *lpconfig) { + char *buffer; + + lpc2xml_context *ctx = lpc2xml_context_new(NULL, NULL); + lpc2xml_set_lpc(ctx, lpconfig); + lpc2xml_convert_string(ctx, &buffer); + lpc2xml_context_destroy(ctx); + + return buffer; +} \ No newline at end of file diff --git a/coreapi/lpconfig.h b/coreapi/lpconfig.h index b03bfa57f..4af51ace2 100644 --- a/coreapi/lpconfig.h +++ b/coreapi/lpconfig.h @@ -200,6 +200,13 @@ LINPHONE_PUBLIC int lp_config_has_section(const LpConfig *lpconfig, const char * **/ LINPHONE_PUBLIC void lp_config_clean_section(LpConfig *lpconfig, const char *section); +/** + * Returns the list of sections' names in the LpConfig. + * @param[in] lpconfig The LpConfig object + * @return a null terminated static array of strings +**/ +LINPHONE_PUBLIC const char** lp_config_get_sections_names(LpConfig *lpconfig); + /** * Call a function for each section present in the configuration. * @@ -295,6 +302,15 @@ LINPHONE_PUBLIC int lp_config_read_relative_file(const LpConfig *lpconfig, const **/ LINPHONE_PUBLIC bool_t lp_config_relative_file_exists(const LpConfig *lpconfig, const char *filename); +/** + * Dumps the LpConfig as XML into a buffer + * @param[in] lpconfig The LpConfig object + * @return The buffer that contains the XML dump + * + * @ingroup misc +**/ +LINPHONE_PUBLIC char* lp_config_dump_as_xml(const LpConfig *lpconfig); + #ifdef __cplusplus } #endif diff --git a/coreapi/offeranswer.c b/coreapi/offeranswer.c index fc3d6c829..684e0cb44 100644 --- a/coreapi/offeranswer.c +++ b/coreapi/offeranswer.c @@ -566,6 +566,7 @@ int offer_answer_initiate_incoming(const SalMediaDescription *local_capabilities strncpy(result->streams[i].proto_other,rs->proto_other,sizeof(rs->proto_other)-1); } } + result->streams[i].custom_sdp_attributes = sal_custom_sdp_attribute_clone(ls->custom_sdp_attributes); } result->nb_streams=i; strcpy(result->username, local_capabilities->username); @@ -577,6 +578,7 @@ int offer_answer_initiate_incoming(const SalMediaDescription *local_capabilities strcpy(result->ice_ufrag, local_capabilities->ice_ufrag); result->ice_lite = local_capabilities->ice_lite; result->ice_completed = local_capabilities->ice_completed; + result->custom_sdp_attributes = sal_custom_sdp_attribute_clone(local_capabilities->custom_sdp_attributes); strcpy(result->name,local_capabilities->name); diff --git a/coreapi/presence.c b/coreapi/presence.c index f70f78ae0..b10f1e35f 100644 --- a/coreapi/presence.c +++ b/coreapi/presence.c @@ -1444,16 +1444,19 @@ 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); + char *tmp; + if (fl==NULL) return ; 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); - { - char *tmp=linphone_address_as_string(fl->uri); - linphone_core_notify_new_subscription_requested(lc,fl,tmp); - ms_free(tmp); - } + /* the newly created "not yet" friend ownership is transfered to the lc->subscribers list*/ + lc->subscribers=ms_list_append(lc->subscribers,fl); + + tmp = linphone_address_as_string(fl->uri); + linphone_core_notify_new_subscription_requested(lc,fl,tmp); + ms_free(tmp); + } void linphone_core_reject_subscriber(LinphoneCore *lc, LinphoneFriend *lf){ @@ -1497,7 +1500,7 @@ void linphone_subscription_new(LinphoneCore *lc, SalOp *op, const char *from){ } else { /* else it is in wait for approval state, because otherwise it is in the friend list.*/ - ms_message("New subscriber found in friend list, in %s state.",__policy_enum_to_str(lf->pol)); + ms_message("New subscriber found in subscriber list, in %s state.",__policy_enum_to_str(lf->pol)); } }else { sal_subscribe_accept(op); @@ -1873,9 +1876,16 @@ void linphone_notify_recv(LinphoneCore *lc, SalOp *op, SalSubscribeStatus ss, Sa lf->subscribe_active=TRUE; linphone_core_notify_notify_presence_received(lc,(LinphoneFriend*)lf); ms_free(tmp); + if (op != lf->outsub){ + /*case of a NOTIFY received out of any dialog*/ + sal_op_release(op); + return; + } }else{ ms_message("But this person is not part of our friend list, so we don't care."); linphone_presence_model_unref(presence); + sal_op_release(op); + return ; } if (ss==SalSubscribeTerminated){ sal_op_release(op); @@ -1889,11 +1899,13 @@ void linphone_notify_recv(LinphoneCore *lc, SalOp *op, SalSubscribeStatus ss, Sa void linphone_subscription_closed(LinphoneCore *lc, SalOp *op){ LinphoneFriend *lf; lf=linphone_find_friend_by_inc_subscribe(lc->friends,op); - sal_op_release(op); + if (lf!=NULL){ + /*this will release the op*/ linphone_friend_remove_incoming_subscription(lf, op); }else{ - ms_warning("Receiving unsuscribe for unknown in-subscribtion from %s", sal_op_get_from(op)); + /*case of an op that we already released because the friend was destroyed*/ + ms_message("Receiving unsuscribe for unknown in-subscribtion from %s", sal_op_get_from(op)); } } diff --git a/coreapi/private.h b/coreapi/private.h index 860143fbc..70de18d88 100644 --- a/coreapi/private.h +++ b/coreapi/private.h @@ -153,7 +153,7 @@ BELLE_SIP_DECLARE_VPTR(LinphoneCallParams); struct _LinphoneQualityReporting{ - reporting_session_report_t * reports[2]; /**Store information on audio and video media streams (RFC 6035) */ + reporting_session_report_t * reports[3]; /**Store information on audio and video media streams (RFC 6035) */ bool_t was_video_running; /*Keep video state since last check in order to detect its (de)activation*/ LinphoneQualityReportingReportSendCb on_report_sent; }; @@ -343,6 +343,7 @@ void linphone_call_log_completed(LinphoneCall *call); void linphone_call_log_destroy(LinphoneCallLog *cl); void linphone_call_set_transfer_state(LinphoneCall* call, LinphoneCallState state); LinphonePlayer *linphone_call_build_player(LinphoneCall*call); +void linphone_call_refresh_sockets(LinphoneCall *call); LinphoneCallParams * linphone_call_params_new(void); SalMediaProto get_proto_from_call_params(const LinphoneCallParams *params); @@ -938,7 +939,6 @@ void linphone_tunnel_enable_logs_with_handler(LinphoneTunnel *tunnel, bool_t ena bool_t linphone_core_can_we_add_call(LinphoneCore *lc); int linphone_core_add_call( LinphoneCore *lc, LinphoneCall *call); int linphone_core_del_call( LinphoneCore *lc, LinphoneCall *call); -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); diff --git a/coreapi/proxy.c b/coreapi/proxy.c index 6d9ba8181..c0b96c6fc 100644 --- a/coreapi/proxy.c +++ b/coreapi/proxy.c @@ -1548,3 +1548,9 @@ uint8_t linphone_proxy_config_get_avpf_rr_interval(const LinphoneProxyConfig *cf const LinphoneAddress* linphone_proxy_config_get_contact(const LinphoneProxyConfig *cfg) { return sal_op_get_contact_address(cfg->op); } + +const struct _LinphoneAuthInfo* linphone_proxy_config_find_auth_info(const LinphoneProxyConfig *cfg) { + const char* username = cfg->identity_address ? linphone_address_get_username(cfg->identity_address) : NULL; + const char* domain = cfg->identity_address ? linphone_address_get_domain(cfg->identity_address) : NULL; + return _linphone_core_find_auth_info(cfg->lc, cfg->realm, username, domain, TRUE); +} diff --git a/coreapi/quality_reporting.c b/coreapi/quality_reporting.c index 94fa77d83..bebade118 100644 --- a/coreapi/quality_reporting.c +++ b/coreapi/quality_reporting.c @@ -160,6 +160,9 @@ static bool_t media_report_enabled(LinphoneCall * call, int stats_type){ if (stats_type == LINPHONE_CALL_STATS_VIDEO && !linphone_call_params_video_enabled(linphone_call_get_current_params(call))) return FALSE; + if (stats_type == LINPHONE_CALL_STATS_TEXT && !linphone_call_params_realtime_text_enabled(linphone_call_get_current_params(call))) + return FALSE; + return (call->log->reporting.reports[stats_type] != NULL); } @@ -344,11 +347,9 @@ static int send_report(LinphoneCall* call, reporting_session_report_t * report, linphone_content_set_buffer(content, buffer, strlen(buffer)); ms_free(buffer); - if (call->log->reporting.on_report_sent != NULL){ - call->log->reporting.on_report_sent( - call, - (report==call->log->reporting.reports[0])?LINPHONE_CALL_STATS_AUDIO:LINPHONE_CALL_STATS_VIDEO, - content); + if (call->log->reporting.on_report_sent != NULL) { + SalStreamType type = report == call->log->reporting.reports[0] ? LINPHONE_CALL_STATS_AUDIO : report == call->log->reporting.reports[1] ? LINPHONE_CALL_STATS_VIDEO : LINPHONE_CALL_STATS_TEXT; + call->log->reporting.on_report_sent(call, type, content); } @@ -401,7 +402,7 @@ static const SalStreamDescription * get_media_stream_for_desc(const SalMediaDesc } static void update_ip(LinphoneCall * call, int stats_type) { - SalStreamType sal_stream_type = (stats_type == LINPHONE_CALL_STATS_AUDIO) ? SalAudio : SalVideo; + SalStreamType sal_stream_type = stats_type == LINPHONE_CALL_STATS_AUDIO ? SalAudio : stats_type == LINPHONE_CALL_STATS_VIDEO ? SalVideo : SalText; const SalStreamDescription * local_desc = get_media_stream_for_desc(call->localdesc, sal_stream_type); const SalStreamDescription * remote_desc = get_media_stream_for_desc(sal_call_get_remote_media_description(call->op), sal_stream_type); @@ -433,13 +434,13 @@ static void qos_analyzer_on_action_suggested(void *user_data, int datac, const c char * appendbuf; int i; int ptime = -1; - int bitrate[2] = {-1, -1}; - int up_bw[2] = {-1, -1}; - int down_bw[2] = {-1, -1}; - MediaStream *streams[2] = {(MediaStream*) call->audiostream, (MediaStream *) call->videostream}; - for (i=0;i<2;i++){ - if (streams[i]!=NULL){ - if (streams[i]->encoder!=NULL){ + int bitrate[3] = {-1, -1, -1}; + int up_bw[3] = {-1, -1, -1}; + int down_bw[3] = {-1, -1, -1}; + MediaStream *streams[3] = { (MediaStream*) call->audiostream, (MediaStream *) call->videostream, (MediaStream *) call->textstream }; + for (i = 0; i < 3; i++){ + if (streams[i] != NULL){ + if (streams[i]->encoder != NULL){ if (ms_filter_has_method(streams[i]->encoder,MS_FILTER_GET_BITRATE)){ ms_filter_call_method(streams[i]->encoder,MS_FILTER_GET_BITRATE,&bitrate[i]); bitrate[i] /= 1000; @@ -460,9 +461,9 @@ static void qos_analyzer_on_action_suggested(void *user_data, int datac, const c appendbuf=ms_strdup_printf("%s%d;", report->qos_analyzer.timestamp?report->qos_analyzer.timestamp:"", ms_time(0)); STR_REASSIGN(report->qos_analyzer.timestamp,appendbuf); - STR_REASSIGN(report->qos_analyzer.input_leg, ms_strdup_printf("%s aenc_ptime aenc_br a_dbw a_ubw venc_br v_dbw v_ubw", datav[0])); - appendbuf=ms_strdup_printf("%s%s %d %d %d %d %d %d %d;", report->qos_analyzer.input?report->qos_analyzer.input:"", datav[1], - ptime, bitrate[0], down_bw[0], up_bw[0], bitrate[1], down_bw[1], up_bw[1] ); + STR_REASSIGN(report->qos_analyzer.input_leg, ms_strdup_printf("%s aenc_ptime aenc_br a_dbw a_ubw venc_br v_dbw v_ubw tenc_br t_dbw t_ubw", datav[0])); + appendbuf=ms_strdup_printf("%s%s %d %d %d %d %d %d %d %d %d %d;", report->qos_analyzer.input?report->qos_analyzer.input:"", datav[1], + ptime, bitrate[0], down_bw[0], up_bw[0], bitrate[1], down_bw[1], up_bw[1], bitrate[2], down_bw[2], up_bw[2]); STR_REASSIGN(report->qos_analyzer.input,appendbuf); STR_REASSIGN(report->qos_analyzer.output_leg, ms_strdup(datav[2])); appendbuf=ms_strdup_printf("%s%s;", report->qos_analyzer.output?report->qos_analyzer.output:"", datav[3]); @@ -472,6 +473,7 @@ static void qos_analyzer_on_action_suggested(void *user_data, int datac, const c void linphone_reporting_update_ip(LinphoneCall * call) { update_ip(call, LINPHONE_CALL_STATS_AUDIO); update_ip(call, LINPHONE_CALL_STATS_VIDEO); + update_ip(call, LINPHONE_CALL_STATS_TEXT); } void linphone_reporting_update_media_info(LinphoneCall * call, int stats_type) { @@ -496,15 +498,15 @@ void linphone_reporting_update_media_info(LinphoneCall * call, int stats_type) { // RFC states: "LocalGroupID provides the identification for the purposes // of aggregation for the local endpoint.". STR_REASSIGN(report->info.local_addr.group, ms_strdup_printf("%s-%s-%s" - , dialog_id + , dialog_id ? dialog_id : "" , "local" - , report->local_metrics.user_agent + , report->local_metrics.user_agent ? report->local_metrics.user_agent : "" ) ); STR_REASSIGN(report->info.remote_addr.group, ms_strdup_printf("%s-%s-%s" - , dialog_id + , dialog_id ? dialog_id : "" , "remote" - , report->remote_metrics.user_agent + , report->remote_metrics.user_agent ? report->remote_metrics.user_agent : "" ) ); @@ -537,6 +539,10 @@ void linphone_reporting_update_media_info(LinphoneCall * call, int stats_type) { stream = &call->videostream->ms; local_payload = linphone_call_params_get_used_video_codec(current_params); remote_payload = local_payload; + } else if (stats_type == LINPHONE_CALL_STATS_TEXT && call->textstream != NULL) { + stream = &call->textstream->ms; + local_payload = linphone_call_params_get_used_text_codec(current_params); + remote_payload = local_payload; } if (stream != NULL) { @@ -553,7 +559,7 @@ void linphone_reporting_update_media_info(LinphoneCall * call, int stats_type) { } } - STR_REASSIGN(report->dialog_id, ms_strdup_printf("%s;%u", dialog_id, report->info.local_addr.ssrc)); + STR_REASSIGN(report->dialog_id, ms_strdup_printf("%s;%u", dialog_id ? dialog_id : "", report->info.local_addr.ssrc)); if (local_payload != NULL) { report->local_metrics.session_description.payload_type = local_payload->type; @@ -644,11 +650,12 @@ void linphone_reporting_on_rtcp_update(LinphoneCall *call, SalStreamType stats_t static int publish_report(LinphoneCall *call, const char *event_type){ int ret = 0; int i; - for (i = 0; i < 2; i++){ - if (media_report_enabled(call, i)){ + for (i = 0; i < SAL_MEDIA_DESCRIPTION_MAX_STREAMS; i++){ + int stream_index = i == call->main_audio_stream_index ? LINPHONE_CALL_STATS_AUDIO : call->main_video_stream_index ? LINPHONE_CALL_STATS_VIDEO : LINPHONE_CALL_STATS_TEXT; + if (media_report_enabled(call, stream_index)) { int sndret; - linphone_reporting_update_media_info(call, i); - sndret=send_report(call, call->log->reporting.reports[i], event_type); + linphone_reporting_update_media_info(call, stream_index); + sndret=send_report(call, call->log->reporting.reports[stream_index], event_type); if (sndret>0){ ret += 10+(i+1)*sndret; } @@ -689,12 +696,13 @@ void linphone_reporting_call_state_updated(LinphoneCall *call){ switch (state){ case LinphoneCallStreamsRunning:{ int i = 0; - MediaStream *streams[2] = {(MediaStream*) call->audiostream, (MediaStream *) call->videostream}; - for (i=0;i<2;i++) { - bool_t enabled=media_report_enabled(call, i); - if (enabled && set_on_action_suggested_cb(streams[i], qos_analyzer_on_action_suggested, call->log->reporting.reports[i])) { - call->log->reporting.reports[i]->call=call; - STR_REASSIGN(call->log->reporting.reports[i]->qos_analyzer.name, ms_strdup(ms_qos_analyzer_get_name(ms_bitrate_controller_get_qos_analyzer(streams[i]->rc)))); + MediaStream *streams[3] = { (MediaStream*) call->audiostream, (MediaStream *) call->videostream, (MediaStream *) call->textstream }; + for (i = 0; i < SAL_MEDIA_DESCRIPTION_MAX_STREAMS; i++) { + int stream_index = i == call->main_audio_stream_index ? LINPHONE_CALL_STATS_AUDIO : call->main_video_stream_index ? LINPHONE_CALL_STATS_VIDEO : LINPHONE_CALL_STATS_TEXT; + bool_t enabled = media_report_enabled(call, stream_index); + if (enabled && set_on_action_suggested_cb(streams[stream_index], qos_analyzer_on_action_suggested, call->log->reporting.reports[stream_index])) { + call->log->reporting.reports[stream_index]->call=call; + STR_REASSIGN(call->log->reporting.reports[stream_index]->qos_analyzer.name, ms_strdup(ms_qos_analyzer_get_name(ms_bitrate_controller_get_qos_analyzer(streams[stream_index]->rc)))); } } linphone_reporting_update_ip(call); diff --git a/coreapi/sal.c b/coreapi/sal.c index 7698e80b1..2c858298a 100644 --- a/coreapi/sal.c +++ b/coreapi/sal.c @@ -203,16 +203,51 @@ bool_t sal_stream_description_active(const SalStreamDescription *sd) { return (sd->rtp_port > 0); } +/*these are switch case, so that when a new proto is added we can't forget to modify this function*/ bool_t sal_stream_description_has_avpf(const SalStreamDescription *sd) { - return ((sd->proto == SalProtoRtpAvpf) || (sd->proto == SalProtoRtpSavpf) || (sd->proto == SalProtoUdpTlsRtpSavpf)); + switch (sd->proto){ + case SalProtoRtpAvpf: + case SalProtoRtpSavpf: + case SalProtoUdpTlsRtpSavpf: + return TRUE; + case SalProtoRtpAvp: + case SalProtoRtpSavp: + case SalProtoUdpTlsRtpSavp: + case SalProtoOther: + return FALSE; + } + return FALSE; } +/*these are switch case, so that when a new proto is added we can't forget to modify this function*/ bool_t sal_stream_description_has_srtp(const SalStreamDescription *sd) { - return ((sd->proto == SalProtoRtpSavp) || (sd->proto == SalProtoRtpSavpf)); + switch (sd->proto){ + case SalProtoRtpSavp: + case SalProtoRtpSavpf: + return TRUE; + case SalProtoRtpAvp: + case SalProtoRtpAvpf: + case SalProtoUdpTlsRtpSavpf: + case SalProtoUdpTlsRtpSavp: + case SalProtoOther: + return FALSE; + } + return FALSE; } bool_t sal_stream_description_has_dtls(const SalStreamDescription *sd) { - return ((sd->proto == SalProtoUdpTlsRtpSavp) || (sd->proto == SalProtoUdpTlsRtpSavpf)); + switch (sd->proto){ + case SalProtoUdpTlsRtpSavpf: + case SalProtoUdpTlsRtpSavp: + return TRUE; + case SalProtoRtpSavp: + case SalProtoRtpSavpf: + case SalProtoRtpAvp: + case SalProtoRtpAvpf: + case SalProtoOther: + return FALSE; + } + return FALSE; } bool_t sal_media_description_has_avpf(const SalMediaDescription *md) { diff --git a/coreapi/vtables.c b/coreapi/vtables.c index 3a5672509..5c6a82dcb 100644 --- a/coreapi/vtables.c +++ b/coreapi/vtables.c @@ -55,111 +55,114 @@ static void cleanup_dead_vtable_refs(LinphoneCore *lc){ } } -#define NOTIFY_IF_EXIST(function_name) \ +#define NOTIFY_IF_EXIST(function_name, ...) \ MSList* iterator; \ VTableReference *ref; \ - ms_message("Linphone core [%p] notifying [%s]",lc,#function_name);\ - for (iterator=lc->vtable_refs; iterator!=NULL; iterator=iterator->next) \ - if ((ref=(VTableReference*)iterator->data)->valid && (lc->current_vtable=ref->vtable)->function_name)\ - lc->current_vtable->function_name + bool_t has_cb = FALSE; \ + for (iterator=lc->vtable_refs; iterator!=NULL; iterator=iterator->next)\ + if ((ref=(VTableReference*)iterator->data)->valid && (lc->current_vtable=ref->vtable)->function_name) {\ + lc->current_vtable->function_name(__VA_ARGS__);\ + has_cb = TRUE;\ + }\ + if (has_cb) ms_message("Linphone core [%p] notifying [%s]",lc,#function_name) void linphone_core_notify_global_state_changed(LinphoneCore *lc, LinphoneGlobalState gstate, const char *message) { - NOTIFY_IF_EXIST(global_state_changed)(lc,gstate,message); + NOTIFY_IF_EXIST(global_state_changed,lc,gstate,message); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_call_state_changed(LinphoneCore *lc, LinphoneCall *call, LinphoneCallState cstate, const char *message){ - NOTIFY_IF_EXIST(call_state_changed)(lc,call,cstate,message); + NOTIFY_IF_EXIST(call_state_changed, lc,call,cstate,message); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_call_encryption_changed(LinphoneCore *lc, LinphoneCall *call, bool_t on, const char *authentication_token) { - NOTIFY_IF_EXIST(call_encryption_changed)(lc,call,on,authentication_token); + NOTIFY_IF_EXIST(call_encryption_changed, lc,call,on,authentication_token); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_registration_state_changed(LinphoneCore *lc, LinphoneProxyConfig *cfg, LinphoneRegistrationState cstate, const char *message){ - NOTIFY_IF_EXIST(registration_state_changed)(lc,cfg,cstate,message); + NOTIFY_IF_EXIST(registration_state_changed, lc,cfg,cstate,message); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_show_interface(LinphoneCore *lc){ - NOTIFY_IF_EXIST(show)(lc); + NOTIFY_IF_EXIST(show, lc); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_display_status(LinphoneCore *lc, const char *message) { - NOTIFY_IF_EXIST(display_status)(lc,message); + NOTIFY_IF_EXIST(display_status, lc,message); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_display_message(LinphoneCore *lc, const char *message){ - NOTIFY_IF_EXIST(display_message)(lc,message); + NOTIFY_IF_EXIST(display_message, lc,message); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_display_warning(LinphoneCore *lc, const char *message){ - NOTIFY_IF_EXIST(display_warning)(lc,message); + NOTIFY_IF_EXIST(display_warning, lc,message); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_display_url(LinphoneCore *lc, const char *message, const char *url){ - NOTIFY_IF_EXIST(display_url)(lc,message,url); + NOTIFY_IF_EXIST(display_url, lc,message,url); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_notify_presence_received(LinphoneCore *lc, LinphoneFriend * lf){ - NOTIFY_IF_EXIST(notify_presence_received)(lc,lf); + NOTIFY_IF_EXIST(notify_presence_received, lc,lf); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_new_subscription_requested(LinphoneCore *lc, LinphoneFriend *lf, const char *url){ - NOTIFY_IF_EXIST(new_subscription_requested)(lc,lf,url); + NOTIFY_IF_EXIST(new_subscription_requested, lc,lf,url); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_auth_info_requested(LinphoneCore *lc, const char *realm, const char *username, const char *domain){ - NOTIFY_IF_EXIST(auth_info_requested)(lc,realm,username,domain); + NOTIFY_IF_EXIST(auth_info_requested, lc,realm,username,domain); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_call_log_updated(LinphoneCore *lc, LinphoneCallLog *newcl){ - NOTIFY_IF_EXIST(call_log_updated)(lc,newcl); + NOTIFY_IF_EXIST(call_log_updated, lc,newcl); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_text_message_received(LinphoneCore *lc, LinphoneChatRoom *room, const LinphoneAddress *from, const char *message){ - NOTIFY_IF_EXIST(text_received)(lc,room,from,message); + NOTIFY_IF_EXIST(text_received, lc,room,from,message); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_message_received(LinphoneCore *lc, LinphoneChatRoom *room, LinphoneChatMessage *message){ - NOTIFY_IF_EXIST(message_received)(lc,room,message); + NOTIFY_IF_EXIST(message_received, lc,room,message); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_file_transfer_recv(LinphoneCore *lc, LinphoneChatMessage *message, const LinphoneContent* content, const char* buff, size_t size) { - NOTIFY_IF_EXIST(file_transfer_recv)(lc,message,content,buff,size); + NOTIFY_IF_EXIST(file_transfer_recv, lc,message,content,buff,size); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_file_transfer_send(LinphoneCore *lc, LinphoneChatMessage *message, const LinphoneContent* content, char* buff, size_t* size) { - NOTIFY_IF_EXIST(file_transfer_send)(lc,message,content,buff,size); + NOTIFY_IF_EXIST(file_transfer_send, lc,message,content,buff,size); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_file_transfer_progress_indication(LinphoneCore *lc, LinphoneChatMessage *message, const LinphoneContent* content, size_t offset, size_t total) { - NOTIFY_IF_EXIST(file_transfer_progress_indication)(lc,message,content,offset,total); + NOTIFY_IF_EXIST(file_transfer_progress_indication, lc,message,content,offset,total); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_is_composing_received(LinphoneCore *lc, LinphoneChatRoom *room) { - NOTIFY_IF_EXIST(is_composing_received)(lc,room); + NOTIFY_IF_EXIST(is_composing_received, lc,room); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_dtmf_received(LinphoneCore* lc, LinphoneCall *call, int dtmf) { - NOTIFY_IF_EXIST(dtmf_received)(lc,call,dtmf); + NOTIFY_IF_EXIST(dtmf_received, lc,call,dtmf); cleanup_dead_vtable_refs(lc); } @@ -174,62 +177,62 @@ bool_t linphone_core_dtmf_received_has_listener(const LinphoneCore* lc) { } void linphone_core_notify_refer_received(LinphoneCore *lc, const char *refer_to) { - NOTIFY_IF_EXIST(refer_received)(lc,refer_to); + NOTIFY_IF_EXIST(refer_received, lc,refer_to); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_buddy_info_updated(LinphoneCore *lc, LinphoneFriend *lf) { - NOTIFY_IF_EXIST(buddy_info_updated)(lc,lf); + NOTIFY_IF_EXIST(buddy_info_updated, lc,lf); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_transfer_state_changed(LinphoneCore *lc, LinphoneCall *transfered, LinphoneCallState new_call_state) { - NOTIFY_IF_EXIST(transfer_state_changed)(lc,transfered,new_call_state); + NOTIFY_IF_EXIST(transfer_state_changed, lc,transfered,new_call_state); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_call_stats_updated(LinphoneCore *lc, LinphoneCall *call, const LinphoneCallStats *stats) { - NOTIFY_IF_EXIST(call_stats_updated)(lc,call,stats); + NOTIFY_IF_EXIST(call_stats_updated, lc,call,stats); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_info_received(LinphoneCore *lc, LinphoneCall *call, const LinphoneInfoMessage *msg) { - NOTIFY_IF_EXIST(info_received)(lc,call,msg); + NOTIFY_IF_EXIST(info_received, lc,call,msg); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_configuring_status(LinphoneCore *lc, LinphoneConfiguringState status, const char *message) { - NOTIFY_IF_EXIST(configuring_status)(lc,status,message); + NOTIFY_IF_EXIST(configuring_status, lc,status,message); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_network_reachable(LinphoneCore *lc, bool_t reachable) { - NOTIFY_IF_EXIST(network_reachable)(lc,reachable); + NOTIFY_IF_EXIST(network_reachable, lc,reachable); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_notify_received(LinphoneCore *lc, LinphoneEvent *lev, const char *notified_event, const LinphoneContent *body) { - NOTIFY_IF_EXIST(notify_received)(lc,lev,notified_event,body); + NOTIFY_IF_EXIST(notify_received, lc,lev,notified_event,body); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_subscription_state_changed(LinphoneCore *lc, LinphoneEvent *lev, LinphoneSubscriptionState state) { - NOTIFY_IF_EXIST(subscription_state_changed)(lc,lev,state); + NOTIFY_IF_EXIST(subscription_state_changed, lc,lev,state); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_publish_state_changed(LinphoneCore *lc, LinphoneEvent *lev, LinphonePublishState state) { - NOTIFY_IF_EXIST(publish_state_changed)(lc,lev,state); + NOTIFY_IF_EXIST(publish_state_changed, lc,lev,state); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_log_collection_upload_state_changed(LinphoneCore *lc, LinphoneCoreLogCollectionUploadState state, const char *info) { - NOTIFY_IF_EXIST(log_collection_upload_state_changed)(lc, state, info); + NOTIFY_IF_EXIST(log_collection_upload_state_changed, lc, state, info); cleanup_dead_vtable_refs(lc); } void linphone_core_notify_log_collection_upload_progress_indication(LinphoneCore *lc, size_t offset, size_t total) { - NOTIFY_IF_EXIST(log_collection_upload_progress_indication)(lc, offset, total); + NOTIFY_IF_EXIST(log_collection_upload_progress_indication, lc, offset, total); cleanup_dead_vtable_refs(lc); } diff --git a/gtk/calllogs.c b/gtk/calllogs.c index 0c2c8dde7..71e93cc2b 100644 --- a/gtk/calllogs.c +++ b/gtk/calllogs.c @@ -154,10 +154,11 @@ static void linphone_gtk_call_selected(GtkTreeView *treeview){ } static GtkWidget *linphone_gtk_create_call_log_menu(GtkWidget *call_log){ - GtkWidget *menu=gtk_menu_new(); + GtkWidget *menu=NULL; GtkWidget *menu_item; gchar *call_label=NULL; gchar *text_label=NULL; + gchar *add_contact_label=NULL; gchar *name=NULL; GtkWidget *image; GtkTreeSelection *select; @@ -176,34 +177,44 @@ static GtkWidget *linphone_gtk_create_call_log_menu(GtkWidget *call_log){ name=linphone_address_as_string(la); call_label=g_strdup_printf(_("Call %s"),name); text_label=g_strdup_printf(_("Send text to %s"),name); + add_contact_label=g_strdup_printf(_("Add %s to your contact list"),name); ms_free(name); + menu=gtk_menu_new(); } } - if (call_label){ + if (menu && call_label){ menu_item=gtk_image_menu_item_new_with_label(call_label); - image=gtk_image_new_from_stock(GTK_STOCK_NETWORK,GTK_ICON_SIZE_MENU); + image=gtk_image_new_from_icon_name("linphone-start-call",GTK_ICON_SIZE_MENU); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item),image); gtk_widget_show(image); gtk_widget_show(menu_item); gtk_menu_shell_append(GTK_MENU_SHELL(menu),menu_item); g_signal_connect_swapped(G_OBJECT(menu_item),"activate",(GCallback)linphone_gtk_call_selected,call_log); } - if (text_label){ + if (menu && text_label){ menu_item=gtk_image_menu_item_new_with_label(text_label); - image=gtk_image_new_from_stock(GTK_STOCK_NETWORK,GTK_ICON_SIZE_MENU); + image=gtk_image_new_from_icon_name("linphone-start-chat",GTK_ICON_SIZE_MENU); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item),image); gtk_widget_show(image); gtk_widget_show(menu_item); gtk_menu_shell_append(GTK_MENU_SHELL(menu),menu_item); g_signal_connect_swapped(G_OBJECT(menu_item),"activate",(GCallback)linphone_gtk_call_log_chat_selected,call_log); } - menu_item=gtk_image_menu_item_new_from_stock(GTK_STOCK_ADD,NULL); - gtk_widget_show(menu_item); - gtk_menu_shell_append(GTK_MENU_SHELL(menu),menu_item); - g_signal_connect_swapped(G_OBJECT(menu_item),"activate",(GCallback)linphone_gtk_call_log_add_contact,call_log); - gtk_widget_show(menu); - gtk_menu_attach_to_widget(GTK_MENU(menu),call_log, NULL); + if (menu && add_contact_label){ + menu_item=gtk_image_menu_item_new_with_label(add_contact_label); + image=gtk_image_new_from_icon_name("linphone-contact-add",GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item),image); + gtk_widget_show(image); + gtk_widget_show(menu_item); + gtk_menu_shell_append(GTK_MENU_SHELL(menu),menu_item); + g_signal_connect_swapped(G_OBJECT(menu_item),"activate",(GCallback)linphone_gtk_call_log_add_contact,call_log); + } + if (menu) { + gtk_widget_show(menu); + gtk_menu_attach_to_widget(GTK_MENU(menu),call_log, NULL); + } + if (add_contact_label) g_free(add_contact_label); if (call_label) g_free(call_label); if (text_label) g_free(text_label); return menu; @@ -211,9 +222,12 @@ static GtkWidget *linphone_gtk_create_call_log_menu(GtkWidget *call_log){ gboolean linphone_gtk_call_log_popup_contact(GtkWidget *list, GdkEventButton *event){ GtkWidget *m=linphone_gtk_create_call_log_menu(list); - gtk_menu_popup (GTK_MENU (m), NULL, NULL, NULL, NULL, - event ? event->button : 0, event ? event->time : gtk_get_current_event_time()); - return TRUE; + if (m) { + gtk_menu_popup (GTK_MENU (m), NULL, NULL, NULL, NULL, + event ? event->button : 0, event ? event->time : gtk_get_current_event_time()); + return TRUE; + } + return FALSE; } gboolean linphone_gtk_call_log_button_pressed(GtkWidget *widget, GdkEventButton *event){ @@ -228,7 +242,7 @@ void linphone_gtk_call_log_clear_missed_call(){ GtkNotebook *notebook=GTK_NOTEBOOK(linphone_gtk_get_widget(mw,"viewswitch")); GtkWidget *page=gtk_notebook_get_nth_page(notebook,0); GtkWidget *box=gtk_hbox_new(FALSE,0); - GtkWidget *image=gtk_image_new_from_stock(GTK_STOCK_REFRESH,GTK_ICON_SIZE_MENU); + GtkWidget *image=gtk_image_new_from_icon_name("linphone-history",GTK_ICON_SIZE_MENU); GtkWidget *l; const gchar*text=gtk_label_get_text(GTK_LABEL(linphone_gtk_get_widget(mw,"label3"))); @@ -254,7 +268,7 @@ void linphone_gtk_call_log_display_missed_call(int nb){ GtkWidget *page=gtk_notebook_get_nth_page(notebook,0); GtkWidget *ebox=gtk_event_box_new(); GtkWidget *box=gtk_hbox_new(FALSE,0); - GtkWidget *image=gtk_image_new_from_stock(GTK_STOCK_REFRESH,GTK_ICON_SIZE_MENU); + GtkWidget *image=gtk_image_new_from_icon_name("linphone-history",GTK_ICON_SIZE_MENU); GtkWidget *l; gchar *buf; diff --git a/gtk/chat.c b/gtk/chat.c index 87acccf22..94b7121b5 100644 --- a/gtk/chat.c +++ b/gtk/chat.c @@ -92,7 +92,6 @@ void linphone_gtk_quit_chatroom(LinphoneChatRoom *cr) { g_return_if_fail(w!=NULL); gtk_notebook_remove_page(GTK_NOTEBOOK(nb),gtk_notebook_page_num(GTK_NOTEBOOK(nb),w)); linphone_chat_room_mark_as_read(cr); - linphone_gtk_friend_list_update_chat_picture(); g_object_set_data(G_OBJECT(friendlist),"chatview",NULL); from=g_object_get_data(G_OBJECT(w),"from_message"); if (from){ @@ -113,44 +112,16 @@ const char* get_display_name(const LinphoneAddress *from){ return display; } -GtkWidget *create_tab_chat_header(LinphoneChatRoom *cr,const LinphoneAddress *uri){ - GtkWidget *w=gtk_hbox_new (FALSE,0); - GtkWidget *i = gtk_image_new_from_icon_name("linphone-chat-nothing", GTK_ICON_SIZE_BUTTON); - GtkWidget *l; - GtkWidget *image=gtk_image_new_from_stock(GTK_STOCK_CLOSE,GTK_ICON_SIZE_MENU); - GtkWidget *b=gtk_button_new(); - - gtk_button_set_image(GTK_BUTTON(b),image); - gtk_button_set_relief(GTK_BUTTON(b),GTK_RELIEF_NONE); - gtk_widget_set_size_request(b,25,20); - g_signal_connect_swapped(G_OBJECT(b),"clicked",G_CALLBACK(linphone_gtk_quit_chatroom),cr); - l=gtk_label_new(get_display_name(uri)); - gtk_box_pack_start (GTK_BOX(w),i,FALSE,FALSE,0); - gtk_box_pack_start (GTK_BOX(w),l,FALSE,FALSE,0); - gtk_box_pack_end(GTK_BOX(w),b,TRUE,TRUE,0); - gtk_widget_show_all(w); - return w; +GtkWidget *create_tab_chat_header(LinphoneChatRoom *cr, const LinphoneAddress *uri){ + GtkWidget *tab_header = linphone_gtk_make_tab_header(get_display_name(uri), "linphone-start-chat", TRUE, G_CALLBACK(linphone_gtk_quit_chatroom), cr); + gtk_widget_show_all(tab_header); + return tab_header; } -void udpate_tab_chat_header(GtkWidget *chat_view,const LinphoneAddress *uri,LinphoneChatRoom *cr){ - GtkWidget *main_window=linphone_gtk_get_main_window(); - GtkNotebook *notebook=GTK_NOTEBOOK(linphone_gtk_get_widget(main_window,"viewswitch")); - GtkWidget *w=gtk_hbox_new (FALSE,0); - GtkWidget *i=create_pixmap ("chat.png"); - GtkWidget *l; - GtkWidget *image=gtk_image_new_from_stock(GTK_STOCK_CLOSE,GTK_ICON_SIZE_MENU); - GtkWidget *b=gtk_button_new(); - - gtk_button_set_image(GTK_BUTTON(b),image); - gtk_button_set_relief(GTK_BUTTON(b),GTK_RELIEF_NONE); - gtk_widget_set_size_request(b,25,20); - g_signal_connect_swapped(G_OBJECT(b),"clicked",G_CALLBACK(linphone_gtk_quit_chatroom),cr); - l=gtk_label_new (get_display_name(uri)); - gtk_box_pack_start (GTK_BOX(w),i,FALSE,FALSE,0); - gtk_box_pack_start (GTK_BOX(w),l,FALSE,FALSE,0); - gtk_box_pack_end(GTK_BOX(w),b,TRUE,TRUE,0); - gtk_notebook_set_tab_label(notebook,chat_view,w); - gtk_widget_show_all(w); +void update_chat_header(GtkNotebook *notebook, GtkWidget *chat_view, LinphoneChatRoom *cr, const LinphoneAddress *uri) { + GtkWidget *header = linphone_gtk_make_tab_header(get_display_name(uri), "linphone-start-chat", TRUE, G_CALLBACK(linphone_gtk_quit_chatroom), cr); + gtk_widget_show_all(header); + gtk_notebook_set_tab_label(notebook, chat_view, header); } static gboolean scroll_to_end(GtkTextView *w){ @@ -319,7 +290,7 @@ void linphone_gtk_compose_text(void) { if (cr) { linphone_chat_room_compose(cr); linphone_chat_room_mark_as_read(cr); - linphone_gtk_friend_list_update_chat_picture(); + linphone_gtk_friend_list_update_button_display(GTK_TREE_VIEW(friendlist)); } } @@ -417,6 +388,8 @@ static gboolean link_event_handler(GtkTextTag *tag, GObject *text_view,GdkEvent GtkTextIter uri_end = *iter; gchar *uri = NULL; LinphoneChatRoom *chat_room = (LinphoneChatRoom *)g_object_get_data(G_OBJECT(chat_view), "cr"); + GtkWidget *main_window = linphone_gtk_get_main_window(); + GtkWidget *friendlist = linphone_gtk_get_widget(main_window, "contact_list"); gtk_text_iter_backward_to_tag_toggle(&uri_begin, tag); gtk_text_iter_forward_to_tag_toggle(&uri_end, tag); @@ -431,7 +404,7 @@ static gboolean link_event_handler(GtkTextTag *tag, GObject *text_view,GdkEvent g_free(uri); linphone_chat_room_mark_as_read(chat_room); - linphone_gtk_friend_list_update_chat_picture(); + linphone_gtk_friend_list_update_button_display(GTK_TREE_VIEW(friendlist)); return TRUE; } @@ -576,6 +549,7 @@ LinphoneChatRoom * linphone_gtk_create_chatroom(const LinphoneAddress *with){ void linphone_gtk_load_chatroom(LinphoneChatRoom *cr,const LinphoneAddress *uri,GtkWidget *chat_view){ GtkWidget *main_window=linphone_gtk_get_main_window (); + GtkWidget *notebook = linphone_gtk_get_widget(main_window, "viewswitch"); LinphoneChatRoom *cr2=(LinphoneChatRoom *)g_object_get_data(G_OBJECT(chat_view),"cr"); const LinphoneAddress *from=linphone_chat_room_get_peer_address(cr2); char *from_str=linphone_address_as_string_uri_only(from); @@ -592,7 +566,7 @@ void linphone_gtk_load_chatroom(LinphoneChatRoom *cr,const LinphoneAddress *uri, text_buffer=gtk_text_view_get_buffer(text_view); gtk_text_buffer_get_bounds(text_buffer, &start, &end); gtk_text_buffer_delete (text_buffer, &start, &end); - udpate_tab_chat_header(chat_view,uri,cr); + update_chat_header(GTK_NOTEBOOK(notebook), chat_view, cr, uri); g_object_set_data(G_OBJECT(chat_view),"cr",cr); g_object_set_data(G_OBJECT(linphone_gtk_get_widget(main_window,"contact_list")),"chatview",(gpointer)chat_view); messages=linphone_chat_room_get_history(cr,NB_MSG_HIST); @@ -672,5 +646,7 @@ void linphone_gtk_text_received ( LinphoneCore *lc, LinphoneChatRoom *room, } void linphone_gtk_is_composing_received(LinphoneCore *lc, LinphoneChatRoom *room) { - linphone_gtk_friend_list_update_chat_picture(); + GtkWidget *main_window = linphone_gtk_get_main_window(); + GtkWidget *friendlist = linphone_gtk_get_widget(main_window, "contact_list"); + linphone_gtk_friend_list_update_button_display(GTK_TREE_VIEW(friendlist)); } diff --git a/gtk/conf_frame.ui b/gtk/conf_frame.ui index 1012efa88..c9503e7f6 100644 --- a/gtk/conf_frame.ui +++ b/gtk/conf_frame.ui @@ -43,11 +43,10 @@ False - gtk-media-record + Record True True True - True diff --git a/gtk/conference.c b/gtk/conference.c index e820b8244..175cfc482 100644 --- a/gtk/conference.c +++ b/gtk/conference.c @@ -34,7 +34,7 @@ static GtkWidget *create_conference_label(void){ GtkWidget *box=gtk_hbox_new(FALSE,0); - gtk_box_pack_start(GTK_BOX(box),gtk_image_new_from_stock(GTK_STOCK_ADD,GTK_ICON_SIZE_MENU),FALSE,FALSE,0); + gtk_box_pack_start(GTK_BOX(box),gtk_image_new_from_icon_name("linphone-conference-start",GTK_ICON_SIZE_MENU),FALSE,FALSE,0); gtk_box_pack_end(GTK_BOX(box),gtk_label_new(_("Conference")),TRUE,FALSE,0); gtk_widget_show_all(box); return box; @@ -88,7 +88,9 @@ static GtkWidget * create_conference_panel(void){ GtkWidget *box; GtkWidget *viewswitch=linphone_gtk_get_widget(mw,"viewswitch"); GtkWidget *participant; + GtkWidget *record = linphone_gtk_get_widget(conf_frame, "conf_record_button"); + gtk_button_set_image(GTK_BUTTON(record), gtk_image_new_from_icon_name("linphone-record", GTK_ICON_SIZE_BUTTON)); gtk_button_set_image(GTK_BUTTON(button_conf),image); g_signal_connect_swapped(G_OBJECT(button_conf),"clicked",(GCallback)linphone_gtk_terminate_call,NULL); g_object_set_data(G_OBJECT(mw),"conf_frame",(gpointer)conf_frame); diff --git a/gtk/friendlist.c b/gtk/friendlist.c index 0c1a32da9..3e65cf6b8 100644 --- a/gtk/friendlist.c +++ b/gtk/friendlist.c @@ -29,6 +29,8 @@ enum{ FRIEND_CHATROOM, FRIEND_SIP_ADDRESS, FRIEND_CHAT, + FRIEND_CALL_BUTTON_VISIBLE, + FRIEND_CHAT_BUTTON_VISIBLE, FRIEND_LIST_NCOL }; @@ -180,30 +182,55 @@ static void linphone_gtk_call_selected(GtkTreeView *treeview){ "start_call")); } -void linphone_gtk_friend_list_update_chat_picture(){ - GtkTreeIter iter; - GtkWidget *w = linphone_gtk_get_main_window(); - GtkWidget *friendlist=linphone_gtk_get_widget(w,"contact_list"); - GtkTreeModel *model=gtk_tree_view_get_model(GTK_TREE_VIEW(friendlist)); +void linphone_gtk_friend_list_update_button_display(GtkTreeView *friendlist){ + GtkTreeIter iter, selected_iter; + GtkTreeModel *model=gtk_tree_view_get_model(friendlist); + GtkTreeSelection *select=gtk_tree_view_get_selection(friendlist); LinphoneChatRoom *cr=NULL; - bool_t is_composing; + gboolean is_composing; int nbmsg=0; + GtkTreePath *selected_path = NULL; + GtkTreePath *hovered_row = (GtkTreePath *)g_object_get_data(G_OBJECT(friendlist), "hovered_row"); + + if (gtk_tree_selection_get_selected(select, &model, &selected_iter)){ + selected_path = gtk_tree_model_get_path(model, &selected_iter); + } + if (gtk_tree_model_get_iter_first(model,&iter)) { do{ const char *icon_name = NULL; + gboolean show_chat_button = FALSE; + gboolean show_call_button = FALSE; + GtkTreePath *path = gtk_tree_model_get_path(model, &iter); + gtk_tree_model_get (model, &iter,FRIEND_CHATROOM , &cr, -1); nbmsg=linphone_chat_room_get_unread_messages_count(cr); is_composing=linphone_chat_room_is_remote_composing(cr); if(nbmsg != 0){ - if (is_composing == TRUE) icon_name = "linphone-chat-new-message-and-writing"; + if (is_composing) icon_name = "linphone-chat-new-message-and-writing"; else icon_name = "linphone-chat-new-message"; + show_chat_button = TRUE; } else { - if (is_composing == TRUE) icon_name = "linphone-chat-writing"; - else icon_name = "linphone-chat-nothing"; + if (is_composing) { + icon_name = "linphone-chat-writing"; + show_chat_button = TRUE; + } else { + icon_name = "linphone-chat-nothing"; + } } - gtk_list_store_set(GTK_LIST_STORE(model),&iter,FRIEND_CHAT,icon_name,-1); + if ((selected_path && gtk_tree_path_compare(path, selected_path) == 0) + || (hovered_row && gtk_tree_path_compare(path, hovered_row) == 0)){ + show_chat_button = TRUE; + show_call_button = TRUE; + } + gtk_list_store_set(GTK_LIST_STORE(model),&iter,FRIEND_CHAT,icon_name, + FRIEND_CHAT_BUTTON_VISIBLE, show_chat_button, -1); + gtk_list_store_set(GTK_LIST_STORE(model), &iter, FRIEND_CALL_BUTTON_VISIBLE, show_call_button, -1); + + gtk_tree_path_free(path); }while(gtk_tree_model_iter_next(model,&iter)); } + if (selected_path) gtk_tree_path_free(selected_path); } static gboolean grab_focus(GtkWidget *w){ @@ -245,7 +272,7 @@ void linphone_gtk_friend_list_set_chat_conversation(const LinphoneAddress *la){ linphone_gtk_load_chatroom(cr,la,chat_view); } gtk_notebook_set_current_page(notebook,gtk_notebook_page_num(notebook,chat_view)); - linphone_gtk_friend_list_update_chat_picture(); + linphone_gtk_friend_list_update_button_display(GTK_TREE_VIEW(chat_view)); g_idle_add((GSourceFunc)grab_focus,linphone_gtk_get_widget(chat_view,"text_entry")); } else { store=GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(friendlist))); @@ -268,7 +295,7 @@ void linphone_gtk_friend_list_set_chat_conversation(const LinphoneAddress *la){ linphone_gtk_load_chatroom(cr,uri,chat_view); } gtk_notebook_set_current_page(notebook,gtk_notebook_page_num(notebook,chat_view)); - linphone_gtk_friend_list_update_chat_picture(); + linphone_gtk_friend_list_update_button_display(GTK_TREE_VIEW(chat_view)); g_idle_add((GSourceFunc)grab_focus,linphone_gtk_get_widget(chat_view,"text_entry")); break; } @@ -318,7 +345,7 @@ void linphone_gtk_chat_selected(GtkWidget *item){ cr=linphone_gtk_create_chatroom(uri); gtk_list_store_set(store,&iter,FRIEND_CHATROOM,cr,-1); } - page=(GtkWidget*)g_object_get_data(G_OBJECT(friendlist),"chatview"); + page=GTK_WIDGET(g_object_get_data(G_OBJECT(friendlist),"chatview")); linphone_gtk_friend_list_set_active_address(uri); if(page==NULL){ page=linphone_gtk_init_chatroom(cr,uri); @@ -328,29 +355,14 @@ void linphone_gtk_chat_selected(GtkWidget *item){ } linphone_chat_room_mark_as_read(cr); gtk_notebook_set_current_page(notebook,gtk_notebook_page_num(notebook,page)); - linphone_gtk_friend_list_update_chat_picture(); g_idle_add((GSourceFunc)grab_focus,linphone_gtk_get_widget(page,"text_entry")); } } -void linphone_gtk_contact_activated(GtkTreeView *treeview, - GtkTreePath *path, - GtkTreeViewColumn *column, - gpointer user_data) -{ - //linphone_gtk_call_selected(treeview); -} - -void linphone_gtk_contact_clicked(GtkTreeView *treeview){ - linphone_gtk_set_selection_to_uri_bar(treeview); - if(GPOINTER_TO_INT(g_object_get_data(G_OBJECT(treeview),"numcol"))==1){ - linphone_gtk_call_selected(treeview); - } else { - if(GPOINTER_TO_INT(g_object_get_data(G_OBJECT(treeview),"numcol"))==2){ - linphone_gtk_chat_selected(GTK_WIDGET(treeview)); - } - } - g_object_set_data(G_OBJECT(treeview),"numcol",GINT_TO_POINTER(0)); +void linphone_gtk_contact_clicked(GtkTreeSelection *selection){ + GtkTreeView *friendlist = gtk_tree_selection_get_tree_view(selection); + linphone_gtk_set_selection_to_uri_bar(friendlist); + linphone_gtk_friend_list_update_button_display(friendlist); } @@ -434,11 +446,12 @@ static void icon_press_handler(GtkEntry *entry){ } static void update_star(GtkEntry *entry, gboolean is_known){ + gtk_entry_set_icon_from_icon_name(entry,GTK_ENTRY_ICON_SECONDARY,"linphone-contact-add"); if (is_known){ - gtk_entry_set_icon_from_icon_name(entry,GTK_ENTRY_ICON_SECONDARY,"linphone-contact-bookmarked"); + gtk_entry_set_icon_sensitive(GTK_ENTRY(entry),GTK_ENTRY_ICON_SECONDARY,FALSE); gtk_entry_set_icon_tooltip_text(GTK_ENTRY(entry),GTK_ENTRY_ICON_SECONDARY,NULL); }else{ - gtk_entry_set_icon_from_icon_name(entry,GTK_ENTRY_ICON_SECONDARY,"linphone-contact-not-bookmarked"); + gtk_entry_set_icon_sensitive(GTK_ENTRY(entry),GTK_ENTRY_ICON_SECONDARY,TRUE); gtk_entry_set_icon_tooltip_text(GTK_ENTRY(entry),GTK_ENTRY_ICON_SECONDARY,_("Add to addressbook")); } } @@ -588,15 +601,6 @@ void linphone_gtk_friend_list_on_presence_column_clicked(GtkTreeModel *model){ } #endif -void create_button(){ - GtkWidget *main_window = linphone_gtk_get_main_window (); - GtkWidget *button_add = linphone_gtk_get_widget(main_window,"add_button"); - GtkWidget *image; - - image=gtk_image_new_from_stock(GTK_STOCK_ADD,GTK_ICON_SIZE_MENU); - gtk_container_add (GTK_CONTAINER (button_add), image); -} - static void linphone_gtk_friend_list_init(GtkWidget *friendlist){ GtkTreeModel *store = gtk_tree_view_get_model(GTK_TREE_VIEW(friendlist)); GtkTreeSelection *select = gtk_tree_view_get_selection (GTK_TREE_VIEW (friendlist)); @@ -605,6 +609,7 @@ static void linphone_gtk_friend_list_init(GtkWidget *friendlist){ gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(friendlist),friend_search_func,NULL,NULL); gtk_tree_sortable_set_sort_func(GTK_TREE_SORTABLE(store),FRIEND_NAME,friend_sort,NULL,NULL); gtk_tree_selection_set_mode (select, GTK_SELECTION_SINGLE); + g_signal_connect(G_OBJECT(select), "changed", G_CALLBACK(linphone_gtk_contact_clicked), NULL); g_object_set_data(G_OBJECT(friendlist), "friendlist_initialized", (gpointer)TRUE); } @@ -800,6 +805,7 @@ static GtkWidget *linphone_gtk_create_contact_menu(GtkWidget *contact_list){ gchar *edit_label=NULL; gchar *delete_label=NULL; gchar *delete_hist_label=NULL; + gchar *add_contact_label=NULL; gchar *name=NULL; GtkTreeSelection *select; GtkTreeIter iter; @@ -808,6 +814,7 @@ static GtkWidget *linphone_gtk_create_contact_menu(GtkWidget *contact_list){ LinphoneCore *lc=linphone_gtk_get_core(); LinphoneProxyConfig *cfg=NULL; SipSetupContext * ssc=NULL; + bool_t show_menu_separator=FALSE; linphone_core_get_default_proxy(lc,&cfg); if (cfg){ @@ -816,6 +823,7 @@ static GtkWidget *linphone_gtk_create_contact_menu(GtkWidget *contact_list){ g_signal_connect(G_OBJECT(menu), "selection-done", G_CALLBACK (gtk_widget_destroy), NULL); select = gtk_tree_view_get_selection(GTK_TREE_VIEW(contact_list)); + add_contact_label=g_strdup_printf(_("Add a new contact")); if (gtk_tree_selection_get_selected (select, &model, &iter)){ gtk_tree_model_get(model, &iter,FRIEND_NAME , &name, -1); call_label=g_strdup_printf(_("Call %s"),name); @@ -824,10 +832,11 @@ static GtkWidget *linphone_gtk_create_contact_menu(GtkWidget *contact_list){ delete_label=g_strdup_printf(_("Delete contact '%s'"),name); delete_hist_label=g_strdup_printf(_("Delete chat history of '%s'"),name); g_free(name); + show_menu_separator=TRUE; } if (call_label){ menu_item=gtk_image_menu_item_new_with_label(call_label); - image=gtk_image_new_from_stock(GTK_STOCK_NETWORK,GTK_ICON_SIZE_MENU); + image=gtk_image_new_from_icon_name("linphone-start-call",GTK_ICON_SIZE_MENU); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item),image); gtk_widget_show(image); gtk_widget_show(menu_item); @@ -836,7 +845,7 @@ static GtkWidget *linphone_gtk_create_contact_menu(GtkWidget *contact_list){ } if (text_label){ menu_item=gtk_image_menu_item_new_with_label(text_label); - image=gtk_image_new_from_stock(GTK_STOCK_NETWORK,GTK_ICON_SIZE_MENU); + image=gtk_image_new_from_icon_name("linphone-start-chat",GTK_ICON_SIZE_MENU); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item),image); gtk_widget_show(image); gtk_widget_show(menu_item); @@ -845,7 +854,7 @@ static GtkWidget *linphone_gtk_create_contact_menu(GtkWidget *contact_list){ } if (edit_label){ menu_item=gtk_image_menu_item_new_with_label(edit_label); - image=gtk_image_new_from_stock(GTK_STOCK_EDIT,GTK_ICON_SIZE_MENU); + image=gtk_image_new_from_icon_name("linphone-edit",GTK_ICON_SIZE_MENU); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item),image); gtk_widget_show(image); gtk_widget_show(menu_item); @@ -854,7 +863,7 @@ static GtkWidget *linphone_gtk_create_contact_menu(GtkWidget *contact_list){ } if (delete_label){ menu_item=gtk_image_menu_item_new_with_label(delete_label); - image=gtk_image_new_from_stock(GTK_STOCK_DELETE,GTK_ICON_SIZE_MENU); + image=gtk_image_new_from_icon_name("linphone-delete",GTK_ICON_SIZE_MENU); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item),image); gtk_widget_show(image); gtk_widget_show(menu_item); @@ -876,22 +885,31 @@ static GtkWidget *linphone_gtk_create_contact_menu(GtkWidget *contact_list){ gchar *tmp=g_strdup_printf(_("Add new contact from %s directory"),linphone_proxy_config_get_domain(cfg)); menu_item=gtk_image_menu_item_new_with_label(tmp); g_free(tmp); - image=gtk_image_new_from_stock(GTK_STOCK_ADD,GTK_ICON_SIZE_MENU); + image=gtk_image_new_from_icon_name("linphone-contact-add",GTK_ICON_SIZE_MENU); gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item),image); gtk_widget_show(image); gtk_widget_show(menu_item); gtk_menu_shell_append(GTK_MENU_SHELL(menu),menu_item); g_signal_connect_swapped(G_OBJECT(menu_item),"activate",(GCallback)linphone_gtk_show_buddy_lookup_window,ssc); - gtk_widget_show(menu); } - menu_item=gtk_image_menu_item_new_from_stock(GTK_STOCK_ADD,NULL); + if (show_menu_separator) { + GtkWidget *menu_item_separator=gtk_separator_menu_item_new(); + gtk_widget_show(menu_item_separator); + gtk_menu_shell_append(GTK_MENU_SHELL(menu),menu_item_separator); + } + + menu_item=gtk_image_menu_item_new_with_label(add_contact_label); + image=gtk_image_new_from_icon_name("linphone-contact-add",GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item),image); + gtk_widget_show(image); gtk_widget_show(menu_item); gtk_menu_shell_append(GTK_MENU_SHELL(menu),menu_item); g_signal_connect_swapped(G_OBJECT(menu_item),"activate",(GCallback)linphone_gtk_add_contact,contact_list); gtk_widget_show(menu); gtk_menu_attach_to_widget (GTK_MENU (menu), contact_list, NULL); + g_free(add_contact_label); if (call_label) g_free(call_label); if (text_label) g_free(text_label); if (edit_label) g_free(edit_label); @@ -906,61 +924,75 @@ gboolean linphone_gtk_popup_contact_menu(GtkWidget *list, GdkEventButton *event) return TRUE; } -gint get_col_number_from_tree_view_column (GtkTreeViewColumn *col){ - GList *cols; - gint num; - g_return_val_if_fail ( col != NULL, -1 ); - g_return_val_if_fail ( col->tree_view != NULL, -1 ); - cols = gtk_tree_view_get_columns(GTK_TREE_VIEW(col->tree_view)); - num = g_list_index(cols, (gpointer) col); - g_list_free(cols); - - return num; +static int get_column_index(GtkTreeView *friendlist, const GtkTreeViewColumn *column) { + GList *columns = gtk_tree_view_get_columns(friendlist); + int i = g_list_index(columns, column); + g_list_free(columns); + return i; } -static gint tree_view_get_cell_from_pos(GtkTreeView *view, guint x, guint y){ - GtkTreeViewColumn *col = NULL; - GList *node, *columns; - gint colx = 0; - GtkTreePath *path; - GtkTreeViewDropPosition pos; - - g_return_val_if_fail ( view != NULL, 0 ); - columns = gtk_tree_view_get_columns(view); - - gtk_tree_view_get_dest_row_at_pos(view,x,y,&path,&pos); - if(path != NULL){ - for (node = columns; node != NULL && col == NULL; node = node->next){ - GtkTreeViewColumn *checkcol = (GtkTreeViewColumn*) node->data; - if (x >= colx && x < (colx + checkcol->width)){ - col = checkcol; - return get_col_number_from_tree_view_column(col); - } else { - colx += checkcol->width; - } - } - } - g_list_free(columns); - return 0; +static void select_row(GtkTreeView *treeview, GtkTreePath *path) { + GtkTreeSelection *selection = gtk_tree_view_get_selection(treeview); + gtk_tree_selection_select_path(selection, path); } gboolean linphone_gtk_contact_list_button_pressed(GtkWidget *widget, GdkEventButton *event){ /* Ignore double-clicks and triple-clicks */ - if (event->button == 3 && event->type == GDK_BUTTON_PRESS) - { + GtkTreeView *friendlist = GTK_TREE_VIEW(widget); + gboolean ret = FALSE; + if (event->button == 3 && event->type == GDK_BUTTON_PRESS) { return linphone_gtk_popup_contact_menu(widget, event); } else if(event->button == 1 && event->type == GDK_BUTTON_PRESS){ - gint numcol = tree_view_get_cell_from_pos(GTK_TREE_VIEW(widget),event->x,event->y); - if(numcol==2){ - g_object_set_data(G_OBJECT(widget),"numcol",GINT_TO_POINTER(1)); - } else if(numcol==3){ - g_object_set_data(G_OBJECT(widget),"numcol",GINT_TO_POINTER(2)); + int x_bin, y_bin; + GtkTreePath *path; + GtkTreeViewColumn *column; + gtk_tree_view_convert_widget_to_bin_window_coords(friendlist, event->x, event->y, &x_bin, &y_bin); + gtk_tree_view_get_path_at_pos(friendlist, x_bin, y_bin, &path, &column, NULL, NULL); + if(path && column) { + int numcol = get_column_index(friendlist, column); + if(numcol == 2) { + select_row(friendlist, path); + linphone_gtk_call_selected(GTK_TREE_VIEW(widget)); + ret = TRUE; + } else if(numcol == 3) { + select_row(friendlist, path); + linphone_gtk_chat_selected(widget); + ret = TRUE; + } } + if(path) gtk_tree_path_free(path); } - return FALSE; + return ret; } void linphone_gtk_buddy_info_updated(LinphoneCore *lc, LinphoneFriend *lf){ /*refresh the entire list*/ linphone_gtk_show_friends(); } + +static void update_hovered_row_path(GtkTreeView *friendlist, int x_window, int y_window) { + int x_bin, y_bin; + GtkTreePath *path; + gtk_tree_view_convert_widget_to_bin_window_coords(friendlist, x_window, y_window, &x_bin, &y_bin); + gtk_tree_view_get_path_at_pos(friendlist, x_bin, y_bin, &path, NULL, NULL, NULL); + g_object_set_data_full(G_OBJECT(friendlist), "hovered_row", path, (GDestroyNotify)gtk_tree_path_free); +} + +gboolean linphone_gtk_friend_list_enter_event_handler(GtkTreeView *friendlist, GdkEventCrossing *event) { + update_hovered_row_path(friendlist, event->x, event->y); + linphone_gtk_friend_list_update_button_display(friendlist); + return FALSE; +} + +gboolean linphone_gtk_friend_list_leave_event_handler(GtkTreeView *friendlist, GdkEventCrossing *event) { + g_object_set_data(G_OBJECT(friendlist), "hovered_row", NULL); + linphone_gtk_friend_list_update_button_display(friendlist); + return FALSE; +} + +gboolean linphone_gtk_friend_list_motion_event_handler(GtkTreeView *friendlist, GdkEventMotion *event) { + update_hovered_row_path(friendlist, event->x, event->y); + linphone_gtk_friend_list_update_button_display(friendlist); + return FALSE; +} + diff --git a/gtk/in_call_frame.ui b/gtk/in_call_frame.ui index 5721081b6..f58ed61d9 100644 --- a/gtk/in_call_frame.ui +++ b/gtk/in_call_frame.ui @@ -47,11 +47,10 @@ False - + True False - gtk-dialog-authentication - 1 + linphone-security-pending False @@ -59,18 +58,6 @@ 0 - - - True - False - gtk-apply - - - False - False - 1 - - True @@ -80,7 +67,7 @@ True True 2 - 2 + 1 @@ -94,7 +81,7 @@ False False - 3 + 2 @@ -245,12 +232,11 @@ False - gtk-media-record + Record True True True Record this call to an audio file - True diff --git a/gtk/incall_view.c b/gtk/incall_view.c index e76227488..c21752d0c 100644 --- a/gtk/incall_view.c +++ b/gtk/incall_view.c @@ -63,15 +63,9 @@ LinphoneCall *linphone_gtk_get_currently_displayed_call(gboolean *is_conf){ } static GtkWidget *make_tab_header(int number){ - GtkWidget *w=gtk_hbox_new (FALSE,0); - GtkWidget *i=gtk_image_new_from_icon_name("linphone-start-call", GTK_ICON_SIZE_BUTTON); - GtkWidget *l; - gchar *text=g_strdup_printf(_("Call #%i"),number); - l=gtk_label_new (text); - gtk_box_pack_start (GTK_BOX(w),i,FALSE,FALSE,0); - gtk_box_pack_end(GTK_BOX(w),l,TRUE,TRUE,0); - gtk_widget_show_all(w); - return w; + gchar text[20]; + g_snprintf(text, sizeof(text), _("Call #%i"), number); + return linphone_gtk_make_tab_header(text, "linphone-start-call", FALSE, NULL, NULL); } void linphone_gtk_call_update_tab_header(LinphoneCall *call,gboolean pause){ @@ -85,7 +79,7 @@ void linphone_gtk_call_update_tab_header(LinphoneCall *call,gboolean pause){ gchar *text; if(pause){ - i=gtk_image_new_from_stock(GTK_STOCK_MEDIA_PAUSE,GTK_ICON_SIZE_BUTTON); + i=gtk_image_new_from_icon_name("linphone-hold-off",GTK_ICON_SIZE_BUTTON); } else { i=gtk_image_new_from_icon_name("linphone-start-call", GTK_ICON_SIZE_BUTTON); } @@ -365,7 +359,7 @@ 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"); + VolumeControlType type = (VolumeControlType)GPOINTER_TO_INT(g_object_get_data(G_OBJECT(button), "type")); if(type == VOLUME_CTRL_PLAYBACK) { linphone_call_set_speaker_volume_gain(call, value); @@ -374,14 +368,21 @@ static void volume_control_value_changed(GtkScaleButton *button, gdouble value, } } -static void volume_control_button_update_value(GtkWidget *widget) { +static gboolean 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"); + VolumeControlType type = (VolumeControlType)GPOINTER_TO_INT(g_object_get_data(G_OBJECT(widget), "type")); + float gain = -1; if(type == VOLUME_CTRL_PLAYBACK) { - gtk_scale_button_set_value(GTK_SCALE_BUTTON(widget), linphone_call_get_speaker_volume_gain(call)); + gain = 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)); + gain = linphone_call_get_microphone_volume_gain(call); + } + if(gain >= 0.0f) { + gtk_scale_button_set_value(GTK_SCALE_BUTTON(widget), gain); + return TRUE; + } else { + return FALSE; } } @@ -392,19 +393,24 @@ static gboolean volume_control_button_enter_event_handler(GtkWidget *widget) { 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); + g_object_set_data(G_OBJECT(vol_ctrl), "type", GINT_TO_POINTER(type)); + if(!volume_control_button_update_value(vol_ctrl)) { + gtk_widget_set_sensitive(vol_ctrl, FALSE); + } else { + gtk_widget_set_sensitive(vol_ctrl, TRUE); + 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"); + GtkWidget *audio_bar = linphone_gtk_get_widget(call_view, "incall_audioview"); static int call_index=1; int idx; + GtkWidget *record; GtkWidget *transfer; GtkWidget *conf; GtkWidget *button; @@ -429,14 +435,16 @@ void linphone_gtk_create_in_call_view(LinphoneCall *call){ linphone_gtk_enable_mute_button( GTK_BUTTON(linphone_gtk_get_widget(call_view,"incall_mute")),FALSE); + record = linphone_gtk_get_widget(call_view, "record_button"); + gtk_button_set_image(GTK_BUTTON(record), gtk_image_new_from_icon_name("linphone-record", GTK_ICON_SIZE_BUTTON)); + gtk_widget_hide(record); transfer = linphone_gtk_get_widget(call_view,"transfer_button"); - gtk_button_set_image(GTK_BUTTON(transfer),gtk_image_new_from_stock - (GTK_STOCK_GO_FORWARD,GTK_ICON_SIZE_BUTTON)); + gtk_button_set_image(GTK_BUTTON(transfer),gtk_image_new_from_icon_name("linphone-call-transfer",GTK_ICON_SIZE_BUTTON)); g_signal_connect(G_OBJECT(transfer),"clicked",(GCallback)transfer_button_clicked,call); gtk_widget_hide(transfer); conf = linphone_gtk_get_widget(call_view,"conference_button"); - gtk_button_set_image(GTK_BUTTON(conf),gtk_image_new_from_stock (GTK_STOCK_ADD,GTK_ICON_SIZE_BUTTON)); + gtk_button_set_image(GTK_BUTTON(conf),gtk_image_new_from_icon_name("linphone-conference-start",GTK_ICON_SIZE_BUTTON)); g_signal_connect(G_OBJECT(conf),"clicked",(GCallback)conference_button_clicked,call); gtk_widget_hide(conf); @@ -450,8 +458,7 @@ void linphone_gtk_create_in_call_view(LinphoneCall *call){ 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); + gtk_widget_hide(audio_bar); } static void video_button_clicked(GtkWidget *button, LinphoneCall *call){ @@ -476,7 +483,7 @@ void linphone_gtk_update_video_button(LinphoneCall *call){ button=linphone_gtk_get_widget(call_view,"video_button"); gtk_button_set_image(GTK_BUTTON(button), - gtk_image_new_from_stock(has_video ? GTK_STOCK_REMOVE : GTK_STOCK_ADD,GTK_ICON_SIZE_BUTTON)); + gtk_image_new_from_icon_name(has_video ? "linphone-camera-disabled" : "linphone-camera-enabled",GTK_ICON_SIZE_BUTTON)); g_object_set_data(G_OBJECT(button),"adding_video",GINT_TO_POINTER(!has_video)); if (!linphone_core_video_supported(linphone_call_get_core(call))){ gtk_widget_set_sensitive(button,FALSE); @@ -687,10 +694,14 @@ void linphone_gtk_in_call_view_enable_audio_view(LinphoneCall *call, gboolean va 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 *mic_ctrl = linphone_gtk_get_widget(callview, "incall_mic_vol_ctrl_button"); + GtkWidget *spk_ctrl = linphone_gtk_get_widget(callview, "incall_spk_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(mic_ctrl, VOLUME_CTRL_RECORD, call); + volume_control_init(spk_ctrl, VOLUME_CTRL_PLAYBACK, call); gtk_widget_show_all(audio_view); }else{ linphone_gtk_uninit_audio_meter(mic_level); @@ -718,13 +729,13 @@ void linphone_gtk_in_call_view_show_encryption(LinphoneCall *call){ case LinphoneMediaEncryptionSRTP: gtk_widget_show_all(encryption_box); gtk_label_set_markup(GTK_LABEL(label),_("Secured by SRTP")); - gtk_widget_hide(status_icon); + gtk_image_set_from_icon_name(GTK_IMAGE(status_icon), "linphone-security-ok", GTK_ICON_SIZE_MENU); gtk_widget_hide(verify_button); break; case LinphoneMediaEncryptionDTLS: gtk_widget_show_all(encryption_box); gtk_label_set_markup(GTK_LABEL(label),_("Secured by DTLS")); - gtk_widget_hide(status_icon); + gtk_image_set_from_icon_name(GTK_IMAGE(status_icon), "linphone-security-ok", GTK_ICON_SIZE_MENU); gtk_widget_hide(verify_button); break; case LinphoneMediaEncryptionZRTP: @@ -732,8 +743,8 @@ void linphone_gtk_in_call_view_show_encryption(LinphoneCall *call){ gchar *text=g_strdup_printf(_("Secured by ZRTP - [auth token: %s]"),linphone_call_get_authentication_token(call)); gtk_label_set_markup(GTK_LABEL(label),text); g_free(text); - gtk_image_set_from_stock(GTK_IMAGE(status_icon), - verified ? GTK_STOCK_APPLY : GTK_STOCK_DIALOG_WARNING,GTK_ICON_SIZE_MENU); + gtk_image_set_from_icon_name(GTK_IMAGE(status_icon), + verified ? "linphone-security-ok" : "linphone-security-pending", GTK_ICON_SIZE_MENU); gtk_button_set_label(GTK_BUTTON(verify_button), verified ? _("Set unverified") : _("Set verified")); gtk_widget_show_all(encryption_box); diff --git a/gtk/keypad.ui b/gtk/keypad.ui index 86c957531..020204f2b 100644 --- a/gtk/keypad.ui +++ b/gtk/keypad.ui @@ -4,6 +4,7 @@ False + True @@ -29,12 +30,11 @@ True - D + D True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False 3 @@ -45,12 +45,11 @@ - # + # True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False 2 @@ -61,12 +60,11 @@ - 0 + 0 True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False 1 @@ -77,12 +75,11 @@ - * + * True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False 3 @@ -91,12 +88,11 @@ - C + C True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False 3 @@ -107,12 +103,11 @@ - 9 + 9 True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False 2 @@ -123,12 +118,11 @@ - 8 + 8 True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False 1 @@ -139,12 +133,11 @@ - 7 + 7 True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False 2 @@ -153,12 +146,11 @@ - B + B True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False 3 @@ -169,12 +161,11 @@ - 6 + 6 True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False 2 @@ -185,12 +176,11 @@ - 5 + 5 True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False 1 @@ -201,12 +191,11 @@ - 4 + 4 True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False 1 @@ -215,12 +204,11 @@ - A + A True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False 3 @@ -229,12 +217,11 @@ - 3 + 3 True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False 2 @@ -243,12 +230,11 @@ - 2 + 2 True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False 1 @@ -257,14 +243,13 @@ - 1 + 1 40 40 True True True GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK - False diff --git a/gtk/linphone.h b/gtk/linphone.h index 2f25de188..0d5e76c4b 100644 --- a/gtk/linphone.h +++ b/gtk/linphone.h @@ -102,6 +102,7 @@ LINPHONE_PUBLIC void linphone_gtk_destroy_window(GtkWidget *window); LINPHONE_PUBLIC GtkWidget *linphone_gtk_create_window(const char *window_name, GtkWidget *parent); LINPHONE_PUBLIC GtkWidget *linphone_gtk_get_widget(GtkWidget *window, const char *name); LINPHONE_PUBLIC GtkWidget *linphone_gtk_create_widget(const char* widget_name); +LINPHONE_PUBLIC GtkWidget *linphone_gtk_make_tab_header(const gchar *label, const gchar *icon_name, gboolean show_quit_button, GCallback cb, gpointer user_data); char *linphone_gtk_message_storage_get_db_file(const char *filename); char *linphone_gtk_call_logs_storage_get_db_file(const char *filename); @@ -154,12 +155,14 @@ LINPHONE_PUBLIC LinphoneChatRoom * linphone_gtk_create_chatroom(const LinphoneAd LINPHONE_PUBLIC void linphone_gtk_text_received(LinphoneCore *lc, LinphoneChatRoom *room, LinphoneChatMessage *msg); LINPHONE_PUBLIC void linphone_gtk_is_composing_received(LinphoneCore *lc, LinphoneChatRoom *room); -LINPHONE_PUBLIC void linphone_gtk_friend_list_update_chat_picture(); +LINPHONE_PUBLIC void linphone_gtk_friend_list_update_button_display(GtkTreeView *friendlist); LINPHONE_PUBLIC void linphone_gtk_friend_list_set_chat_conversation(const LinphoneAddress *la); LINPHONE_PUBLIC gboolean linphone_gtk_friend_list_is_contact(const LinphoneAddress *addr); LINPHONE_PUBLIC void linphone_gtk_friend_list_set_active_address(const LinphoneAddress *addr); LINPHONE_PUBLIC const LinphoneAddress *linphone_gtk_friend_list_get_active_address(void); -// LINPHONE_PUBLIC void linphone_gtk_friend_list_on_presence_column_clicked(GtkTreeModel *model); +LINPHONE_PUBLIC gboolean linphone_gtk_friend_list_enter_event_handler(GtkTreeView *friendlist, GdkEventCrossing *event); +LINPHONE_PUBLIC gboolean linphone_gtk_friend_list_leave_event_handler(GtkTreeView *friendlist, GdkEventCrossing *event); +LINPHONE_PUBLIC gboolean linphone_gtk_friend_list_motion_event_handler(GtkTreeView *friendlist, GdkEventMotion *event); LINPHONE_PUBLIC void linphone_gtk_friend_list_on_name_column_clicked(GtkTreeModel *model); LINPHONE_PUBLIC void linphone_gtk_notebook_tab_select(GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer data); LINPHONE_PUBLIC void linphone_gtk_show_friends(void); @@ -224,15 +227,14 @@ LINPHONE_PUBLIC void linphone_gtk_history_row_activated(GtkWidget *treeview); LINPHONE_PUBLIC void linphone_gtk_history_row_selected(GtkWidget *treeview); LINPHONE_PUBLIC void linphone_gtk_clear_call_logs(GtkWidget *button); LINPHONE_PUBLIC void linphone_gtk_add_contact(void); -LINPHONE_PUBLIC void linphone_gtk_contact_activated(GtkTreeView *treeview, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data); -LINPHONE_PUBLIC void linphone_gtk_contact_clicked(GtkTreeView *treeview); +LINPHONE_PUBLIC void linphone_gtk_contact_clicked(GtkTreeSelection *selection); LINPHONE_PUBLIC void linphone_gtk_add_button_clicked(void); LINPHONE_PUBLIC void linphone_gtk_edit_button_clicked(GtkWidget *button); LINPHONE_PUBLIC void linphone_gtk_remove_button_clicked(GtkWidget *button); LINPHONE_PUBLIC void linphone_gtk_my_presence_clicked(GtkWidget *button); LINPHONE_PUBLIC void linphone_gtk_directory_search_button_clicked(GtkWidget *button); LINPHONE_PUBLIC gboolean linphone_gtk_popup_contact_menu(GtkWidget *list, GdkEventButton *event); -LINPHONE_PUBLIC gboolean linphone_gtk_contact_list_button_pressed(GtkWidget *widget, GdkEventButton *event); +gboolean linphone_gtk_contact_list_button_pressed(GtkWidget* firendlist, GdkEventButton* event); LINPHONE_PUBLIC void linphone_gtk_auth_token_verified_clicked(GtkButton *button); LINPHONE_PUBLIC void linphone_gtk_hold_clicked(GtkButton *button); LINPHONE_PUBLIC void linphone_gtk_record_call_toggled(GtkWidget *button); @@ -255,7 +257,8 @@ LINPHONE_PUBLIC void linphone_gtk_used_identity_changed(GtkWidget *w); LINPHONE_PUBLIC void on_proxy_refresh_button_clicked(GtkWidget *w); LINPHONE_PUBLIC void linphone_gtk_link_to_website(GtkWidget *item); LINPHONE_PUBLIC void linphone_gtk_options_activate(GtkWidget *item); -LINPHONE_PUBLIC void linphone_gtk_create_keypad(GtkWidget *button); +LINPHONE_PUBLIC void linphone_gtk_show_keypad_checked(GtkCheckMenuItem *check_menu_item); +LINPHONE_PUBLIC gboolean linphone_gtk_keypad_destroyed_handler(void); LINPHONE_PUBLIC void linphone_gtk_keyword_changed(GtkEditable *e); LINPHONE_PUBLIC void linphone_gtk_buddy_lookup_contact_activated(GtkWidget *treeview); diff --git a/gtk/main.c b/gtk/main.c index 3f1983d60..9debf60c4 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -1400,7 +1400,7 @@ static void update_registration_status(LinphoneProxyConfig *cfg, LinphoneRegistr GtkTreeModel *model=gtk_combo_box_get_model(box); GtkTreeIter iter; gboolean found=FALSE; - const char *stock_id=NULL; + const char *icon_name=NULL; if (gtk_tree_model_get_iter_first(model,&iter)){ gpointer p; @@ -1418,21 +1418,21 @@ static void update_registration_status(LinphoneProxyConfig *cfg, LinphoneRegistr } switch (rs){ case LinphoneRegistrationOk: - stock_id=GTK_STOCK_YES; + icon_name="linphone-ok"; break; case LinphoneRegistrationProgress: - stock_id=GTK_STOCK_REFRESH; + icon_name="linphone-inprogress"; break; case LinphoneRegistrationCleared: - stock_id=NULL; + icon_name=NULL; break; case LinphoneRegistrationFailed: - stock_id=GTK_STOCK_DIALOG_WARNING; + icon_name="linphone-failed"; break; default: break; } - gtk_list_store_set(GTK_LIST_STORE(model),&iter,1,stock_id,-1); + gtk_list_store_set(GTK_LIST_STORE(model),&iter,1,icon_name,-1); } static void linphone_gtk_registration_state_changed(LinphoneCore *lc, LinphoneProxyConfig *cfg, @@ -1588,7 +1588,7 @@ static void init_identity_combo(GtkComboBox *box){ gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(box),(r1=gtk_cell_renderer_text_new()),TRUE); gtk_cell_layout_pack_end(GTK_CELL_LAYOUT(box),(r2=gtk_cell_renderer_pixbuf_new()),FALSE); gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(box),r1,"text",0); - gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(box),r2,"stock-id",1); + gtk_cell_layout_add_attribute(GTK_CELL_LAYOUT(box),r2,"icon-name",1); g_object_set(G_OBJECT(r1),"ellipsize",PANGO_ELLIPSIZE_END,NULL); gtk_combo_box_set_model(box,GTK_TREE_MODEL(store)); } @@ -1620,7 +1620,7 @@ void linphone_gtk_load_identities(void){ LinphoneProxyConfig *cfg=(LinphoneProxyConfig*)elem->data; gtk_list_store_append(store,&iter); gtk_list_store_set(store,&iter,0,linphone_proxy_config_get_identity(cfg),1, - linphone_proxy_config_is_registered(cfg) ? GTK_STOCK_YES : NULL, + linphone_proxy_config_is_registered(cfg) ? "linphone-ok" : NULL, 2,cfg,-1); if (cfg==def) { def_index=i; @@ -1811,7 +1811,7 @@ void linphone_gtk_keypad_key_released(GtkWidget *w, GdkEvent *event, gpointer us } } -void linphone_gtk_create_keypad(GtkWidget *button){ +static void linphone_gtk_show_keypad(void){ GtkWidget *mw=linphone_gtk_get_main_window(); GtkWidget *k=(GtkWidget *)g_object_get_data(G_OBJECT(mw),"keypad"); GtkWidget *keypad; @@ -1821,7 +1821,7 @@ void linphone_gtk_create_keypad(GtkWidget *button){ keypad=linphone_gtk_create_window("keypad", NULL); linphone_gtk_connect_digits(keypad); linphone_gtk_init_dtmf_table(keypad); - g_object_set_data(G_OBJECT(mw),"keypad",(gpointer)keypad); + g_object_set_data(G_OBJECT(mw),"keypad", keypad); if(!GPOINTER_TO_INT(g_object_get_data(G_OBJECT(mw),"show_abcd"))){ gtk_widget_hide(linphone_gtk_get_widget(keypad,"dtmf_A")); gtk_widget_hide(linphone_gtk_get_widget(keypad,"dtmf_B")); @@ -1832,6 +1832,30 @@ void linphone_gtk_create_keypad(GtkWidget *button){ gtk_widget_show(keypad); } +static void linphone_gtk_destroy_keypad(void) { + GtkWidget *mw = linphone_gtk_get_main_window(); + GtkWidget *keypad = GTK_WIDGET(g_object_get_data(G_OBJECT(mw), "keypad")); + if(keypad) { + gtk_widget_destroy(keypad); + g_object_set_data(G_OBJECT(mw), "keypad", NULL); + } +} + +void linphone_gtk_show_keypad_checked(GtkCheckMenuItem *check_menu_item) { + if(gtk_check_menu_item_get_active(check_menu_item)) { + linphone_gtk_show_keypad(); + } else { + linphone_gtk_destroy_keypad(); + } +} + +gboolean linphone_gtk_keypad_destroyed_handler(void) { + GtkWidget *mw = linphone_gtk_get_main_window(); + GtkWidget *show_keypad_item = linphone_gtk_get_widget(mw, "show_keypad_menu_item"); + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(show_keypad_item), FALSE); + return FALSE; +} + static void linphone_gtk_init_main_window(){ GtkWidget *main_window; linphone_gtk_configure_main_window(); @@ -2017,7 +2041,7 @@ static void populate_xdg_data_dirs_envvar(void) { paths = g_strsplit(value, ":", -1); for(i=0; paths[i] && strcmp(paths[i], PACKAGE_DATA_DIR) != 0; i++); if(paths[i] == NULL) { - gchar *new_value = g_strdup_printf("%s:%s", value, PACKAGE_DATA_DIR); + gchar *new_value = g_strdup_printf("%s:%s", PACKAGE_DATA_DIR, value); g_setenv("XDG_DATA_DIRS", new_value, TRUE); g_free(new_value); } @@ -2207,3 +2231,25 @@ int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi return main(__argc, __argv); } #endif + +GtkWidget *linphone_gtk_make_tab_header(const gchar *label, const gchar *icon_name, gboolean show_quit_button, GCallback cb, gpointer user_data) { + GtkWidget *tab_header=gtk_hbox_new (FALSE,0); + GtkWidget *label_widget = gtk_label_new (label); + + if(icon_name) { + GtkWidget *icon=gtk_image_new_from_icon_name(icon_name, GTK_ICON_SIZE_MENU); + gtk_box_pack_start (GTK_BOX(tab_header),icon,FALSE,FALSE,4); + } + gtk_box_pack_start (GTK_BOX(tab_header),label_widget,FALSE,FALSE,0); + if(show_quit_button) { + GtkWidget *button = gtk_button_new(); + GtkWidget *button_image=gtk_image_new_from_stock(GTK_STOCK_CLOSE,GTK_ICON_SIZE_MENU); + gtk_button_set_image(GTK_BUTTON(button),button_image); + gtk_button_set_relief(GTK_BUTTON(button),GTK_RELIEF_NONE); + g_signal_connect_swapped(G_OBJECT(button),"clicked",cb,user_data); + gtk_box_pack_end(GTK_BOX(tab_header),button,FALSE,FALSE,4); + g_object_set_data(G_OBJECT(tab_header), "button", button); + } + g_object_set_data(G_OBJECT(tab_header), "label", label_widget); + return tab_header; +} diff --git a/gtk/main.ui b/gtk/main.ui index ae98e2fc1..0f55ca070 100644 --- a/gtk/main.ui +++ b/gtk/main.ui @@ -6,18 +6,14 @@ True False - 32 + 2 + 30 linphone-add-call - - True - False - gtk-add - True False - gtk-add + linphone-contact-add True @@ -38,6 +34,10 @@ + + + + @@ -45,36 +45,31 @@ Toto toto@sip.linphone.org linphone-chat-nothing + False + False linphone-status-offline Toto2 toto2@sip.linphone.org linphone-chat-nothing + False + False linphone-status-offline Toto3 toto3@sip.linphone.org linphone-chat-nothing + False + False - - True - False - 32 - linphone-show-dialer - - - True - False - gtk-edit - True False - gtk-edit + linphone-edit True @@ -108,28 +103,24 @@ 0.49000000953674316 gtk-properties - - True - False - Delete - gtk-remove - True False Delete - gtk-remove + linphone-delete True False - 32 + 2 + 30 linphone-start-call True False - 32 + 2 + 30 linphone-start-chat @@ -212,6 +203,15 @@ + + + True + False + Show keypad + True + + + True @@ -346,11 +346,11 @@ True True - linphone-contact-not-bookmarked + linphone-contact-add False True True - True + False @@ -380,20 +380,6 @@ 0 - - - True - True - True - dialer_image - - - - False - True - 1 - - True @@ -405,8 +391,7 @@ False False - 6 - 2 + 1 @@ -420,7 +405,7 @@ False True - 3 + 2 @@ -435,7 +420,7 @@ False True end - 4 + 3 @@ -490,8 +475,9 @@ 1 4 - - + + + @@ -524,6 +510,9 @@ linphone-start-call2 3 + + 6 + @@ -534,6 +523,7 @@ 3 + 7 5 @@ -553,14 +543,16 @@ True False GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK + 2 + 32 + 32 True True True immediate add_image1 - 1 @@ -571,6 +563,8 @@ + 32 + 32 True True True @@ -585,6 +579,8 @@ + 32 + 32 True True True @@ -601,6 +597,7 @@ False False + 4 2 @@ -640,6 +637,7 @@ True True False + False @@ -822,12 +820,13 @@ True False - gtk-refresh + linphone-history 1 True True + 4 0 diff --git a/include/sal/sal.h b/include/sal/sal.h index b202224d9..3da8e52c5 100644 --- a/include/sal/sal.h +++ b/include/sal/sal.h @@ -660,6 +660,7 @@ const char *sal_op_get_remote_ua(const SalOp *op); void *sal_op_get_user_pointer(const SalOp *op); const char* sal_op_get_call_id(const SalOp *op); char* sal_op_get_dialog_id(const SalOp *op); +bool_t sal_op_is_forked_of(const SalOp *op1, const SalOp *op2); const SalAddress* sal_op_get_service_route(const SalOp *op); void sal_op_set_service_route(SalOp *op,const SalAddress* service_route); diff --git a/java/common/org/linphone/core/LinphoneCallParams.java b/java/common/org/linphone/core/LinphoneCallParams.java index ed16ec396..cd8c67712 100644 --- a/java/common/org/linphone/core/LinphoneCallParams.java +++ b/java/common/org/linphone/core/LinphoneCallParams.java @@ -129,6 +129,17 @@ public interface LinphoneCallParams { **/ String getCustomSdpMediaAttribute(StreamType type, String name); + /** + * Clear the custom SDP attributes related to all the streams in the SDP exchanged within SIP messages during a call. + **/ + void clearCustomSdpAttributes(); + + /** + * Clear the custom SDP attributes related to a specific stream in the SDP exchanged within SIP messages during a call. + * @param type The type of the stream to clear custom SDP attributes from. + **/ + void clearCustomSdpMediaAttributes(StreamType type); + /** * Set the privacy for the call. * @param privacy_mask a or'd int of values defined in interface {@link org.linphone.core.Privacy} diff --git a/java/common/org/linphone/core/LinphoneCallStats.java b/java/common/org/linphone/core/LinphoneCallStats.java index 295c99484..7a17bb142 100644 --- a/java/common/org/linphone/core/LinphoneCallStats.java +++ b/java/common/org/linphone/core/LinphoneCallStats.java @@ -32,6 +32,10 @@ public interface LinphoneCallStats { * Video */ static public MediaType Video = new MediaType(1, "Video"); + /** + * Text + */ + static public MediaType Text = new MediaType(2, "Text"); protected final int mValue; private final String mStringValue; diff --git a/java/impl/org/linphone/core/LinphoneCallParamsImpl.java b/java/impl/org/linphone/core/LinphoneCallParamsImpl.java index df91d4d81..7a76d82f3 100644 --- a/java/impl/org/linphone/core/LinphoneCallParamsImpl.java +++ b/java/impl/org/linphone/core/LinphoneCallParamsImpl.java @@ -133,6 +133,18 @@ public class LinphoneCallParamsImpl implements LinphoneCallParams { return getCustomSdpMediaAttribute(nativePtr, type.mValue, name); } + private native void clearCustomSdpAttributes(long nativePtr); + @Override + public void clearCustomSdpAttributes() { + clearCustomSdpAttributes(nativePtr); + } + + private native void clearCustomSdpMediaAttributes(long nativePtr, int type); + @Override + public void clearCustomSdpMediaAttributes(StreamType type) { + clearCustomSdpMediaAttributes(nativePtr, type.mValue); + } + private native void setPrivacy(long nativePtr, int mask); @Override public void setPrivacy(int privacy_mask) { diff --git a/mediastreamer2 b/mediastreamer2 index 5abe09cc2..af9a3f7f9 160000 --- a/mediastreamer2 +++ b/mediastreamer2 @@ -1 +1 @@ -Subproject commit 5abe09cc2a235116f2fbd2b22a30a96c059681d5 +Subproject commit af9a3f7f992fa4fbb7f889c96607b48cccf1a8e4 diff --git a/oRTP b/oRTP index 75610fea1..02473c786 160000 --- a/oRTP +++ b/oRTP @@ -1 +1 @@ -Subproject commit 75610fea145c6411f66ad11c474ed19922032fab +Subproject commit 02473c786be89b3e41f9857d984e9b1918f19a68 diff --git a/pixmaps/CMakeLists.txt b/pixmaps/CMakeLists.txt index 8c883d507..1e994088c 100644 --- a/pixmaps/CMakeLists.txt +++ b/pixmaps/CMakeLists.txt @@ -36,12 +36,38 @@ install(FILES svg/linphone-status-away.svg svg/linphone-status-donotdisturb.svg svg/linphone-status-offline.svg + svg/linphone-call-status-incoming.svg + svg/linphone-call-status-missed.svg + svg/linphone-call-status-outgoing.svg + svg/linphone-chat-new-message-and-writing.svg + svg/linphone-chat-new-message.svg + svg/linphone-chat-nothing.svg + svg/linphone-chat-writing.svg + svg/linphone-ok.svg + svg/linphone-inprogress.svg + svg/linphone-failed.svg + svg/linphone-camera-enabled.svg + svg/linphone-camera-disabled.svg + svg/linphone-security-ok.svg + svg/linphone-security-pending.svg DESTINATION ${ICONS_INSTALL_DIR}/scalable/status PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ ) install(FILES svg/linphone-start-call.svg + svg/linphone-add-call.svg + svg/linphone-hold-off.svg + svg/linphone-hold-on.svg + svg/linphone-start-call2.svg + svg/linphone-start-chat.svg + svg/linphone-history.svg + svg/linphone-edit.svg + svg/linphone-delete.svg + svg/linphone-contact-add.svg + svg/linphone-conference-start.svg + svg/linphone-call-transfer.svg + svg/linphone-record.svg DESTINATION ${ICONS_INSTALL_DIR}/scalable/actions PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ ) @@ -61,21 +87,33 @@ install(FILES linphone-chat-new-message-and-writing.png linphone-call-status-incoming.png linphone-call-status-outgoing.png - linphone-contact-bookmarked.png - linphone-contact-not-bookmarked.png + linphone-call-status-missed.png + linphone-ok.png + linphone-inprogress.png + linphone-failed.png + linphone-camera-enabled.png + linphone-camera-disabled.png + linphone-security-ok.png + linphone-security-pending.png DESTINATION ${ICONS_INSTALL_DIR}/48x48/status PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ ) install(FILES linphone-start-call2.png - linphone-show-dialer.png linphone-add-call.png linphone-start-call.png linphone-start-chat.png linphone-stop-call.png linphone-hold-on.png linphone-hold-off.png + linphone-history.png + linphone-edit.png + linphone-delete.png + linphone-contact-add.png + linphone-conference-start.png + linphone-call-transfer.png + linphone-record.png DESTINATION ${ICONS_INSTALL_DIR}/48x48/actions PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ ) diff --git a/pixmaps/Makefile.am b/pixmaps/Makefile.am index 7fb8cd7a0..b42728811 100644 --- a/pixmaps/Makefile.am +++ b/pixmaps/Makefile.am @@ -27,8 +27,14 @@ dist_status48icons_DATA= \ linphone-chat-new-message-and-writing.png \ linphone-call-status-incoming.png \ linphone-call-status-outgoing.png \ - linphone-contact-bookmarked.png \ - linphone-contact-not-bookmarked.png + linphone-call-status-missed.png \ + linphone-ok.png \ + linphone-inprogress.png \ + linphone-failed.png \ + linphone-camera-enabled.png \ + linphone-camera-disabled.png \ + linphone-security-ok.png \ + linphone-security-pending.png statussvgiconsdir=$(iconsdir)/scalable/status dist_statussvgicons_DATA= \ @@ -39,16 +45,51 @@ dist_statussvgicons_DATA= \ svg/linphone-status-online.svg \ svg/linphone-status-away.svg \ svg/linphone-status-donotdisturb.svg \ - svg/linphone-status-offline.svg + svg/linphone-status-offline.svg \ + svg/linphone-call-status-incoming.svg \ + svg/linphone-call-status-missed.svg \ + svg/linphone-call-status-outgoing.svg \ + svg/linphone-chat-new-message-and-writing.svg \ + svg/linphone-chat-new-message.svg \ + svg/linphone-chat-nothing.svg \ + svg/linphone-chat-writing.svg \ + svg/linphone-ok.svg \ + svg/linphone-inprogress.svg \ + svg/linphone-failed.svg \ + svg/linphone-camera-enabled.svg \ + svg/linphone-camera-disabled.svg \ + svg/linphone-security-ok.svg \ + svg/linphone-security-pending.svg actions48iconsdir=$(iconsdir)/48x48/actions dist_actions48icons_DATA= \ linphone-start-call2.png \ - linphone-show-dialer.png \ linphone-add-call.png \ linphone-start-call.png \ linphone-start-chat.png \ linphone-stop-call.png \ linphone-hold-on.png \ - linphone-hold-off.png + linphone-hold-off.png \ + linphone-history.png \ + linphone-edit.png \ + linphone-delete.png \ + linphone-contact-add.png \ + linphone-conference-start.png \ + linphone-call-transfer.png \ + linphone-record.png +actionssvgiconsdir=$(iconsdir)/scalable/actions +dist_actionssvgicons_DATA= \ + svg/linphone-start-call.svg \ + svg/linphone-add-call.svg \ + svg/linphone-hold-off.svg \ + svg/linphone-hold-on.svg \ + svg/linphone-start-call2.svg \ + svg/linphone-start-chat.svg \ + svg/linphone-history.svg \ + svg/linphone-edit.svg \ + svg/linphone-delete.svg \ + svg/linphone-contact-add.svg \ + svg/linphone-conference-start.svg \ + svg/linphone-call-transfer.svg \ + svg/linphone-record.svg diff --git a/pixmaps/linphone-add-call.png b/pixmaps/linphone-add-call.png index ac53a29e8..9c9edeef8 100644 Binary files a/pixmaps/linphone-add-call.png and b/pixmaps/linphone-add-call.png differ diff --git a/pixmaps/linphone-call-status-incoming.png b/pixmaps/linphone-call-status-incoming.png index 0091c0f62..58bf8633c 100644 Binary files a/pixmaps/linphone-call-status-incoming.png and b/pixmaps/linphone-call-status-incoming.png differ diff --git a/pixmaps/linphone-call-status-missed.png b/pixmaps/linphone-call-status-missed.png new file mode 100644 index 000000000..ba6bee6ee Binary files /dev/null and b/pixmaps/linphone-call-status-missed.png differ diff --git a/pixmaps/linphone-call-status-outgoing.png b/pixmaps/linphone-call-status-outgoing.png index 0c2c19abc..73587dc7a 100644 Binary files a/pixmaps/linphone-call-status-outgoing.png and b/pixmaps/linphone-call-status-outgoing.png differ diff --git a/pixmaps/linphone-call-transfer.png b/pixmaps/linphone-call-transfer.png new file mode 100644 index 000000000..4dc24ce42 Binary files /dev/null and b/pixmaps/linphone-call-transfer.png differ diff --git a/pixmaps/linphone-camera-disabled.png b/pixmaps/linphone-camera-disabled.png new file mode 100644 index 000000000..dfcc711cd Binary files /dev/null and b/pixmaps/linphone-camera-disabled.png differ diff --git a/pixmaps/linphone-camera-enabled.png b/pixmaps/linphone-camera-enabled.png new file mode 100644 index 000000000..4c929b52b Binary files /dev/null and b/pixmaps/linphone-camera-enabled.png differ diff --git a/pixmaps/linphone-chat-new-message-and-writing.png b/pixmaps/linphone-chat-new-message-and-writing.png index c43437c08..f64f525bb 100644 Binary files a/pixmaps/linphone-chat-new-message-and-writing.png and b/pixmaps/linphone-chat-new-message-and-writing.png differ diff --git a/pixmaps/linphone-chat-new-message.png b/pixmaps/linphone-chat-new-message.png index baa4701f1..61341af11 100644 Binary files a/pixmaps/linphone-chat-new-message.png and b/pixmaps/linphone-chat-new-message.png differ diff --git a/pixmaps/linphone-chat-nothing.png b/pixmaps/linphone-chat-nothing.png index 49cad5319..9f6e1adc2 100644 Binary files a/pixmaps/linphone-chat-nothing.png and b/pixmaps/linphone-chat-nothing.png differ diff --git a/pixmaps/linphone-chat-writing.png b/pixmaps/linphone-chat-writing.png index 9b94a34c3..74c1a8269 100644 Binary files a/pixmaps/linphone-chat-writing.png and b/pixmaps/linphone-chat-writing.png differ diff --git a/pixmaps/linphone-conference-start.png b/pixmaps/linphone-conference-start.png new file mode 100644 index 000000000..23dabbc35 Binary files /dev/null and b/pixmaps/linphone-conference-start.png differ diff --git a/pixmaps/linphone-contact-add.png b/pixmaps/linphone-contact-add.png new file mode 100644 index 000000000..f78852d01 Binary files /dev/null and b/pixmaps/linphone-contact-add.png differ diff --git a/pixmaps/linphone-contact-bookmarked.png b/pixmaps/linphone-contact-bookmarked.png deleted file mode 100644 index 45b5d6206..000000000 Binary files a/pixmaps/linphone-contact-bookmarked.png and /dev/null differ diff --git a/pixmaps/linphone-contact-not-bookmarked.png b/pixmaps/linphone-contact-not-bookmarked.png deleted file mode 100644 index 38fdbbb77..000000000 Binary files a/pixmaps/linphone-contact-not-bookmarked.png and /dev/null differ diff --git a/pixmaps/linphone-delete.png b/pixmaps/linphone-delete.png new file mode 100644 index 000000000..d8ff8da4a Binary files /dev/null and b/pixmaps/linphone-delete.png differ diff --git a/pixmaps/linphone-edit.png b/pixmaps/linphone-edit.png new file mode 100644 index 000000000..772770988 Binary files /dev/null and b/pixmaps/linphone-edit.png differ diff --git a/pixmaps/linphone-failed.png b/pixmaps/linphone-failed.png new file mode 100644 index 000000000..f72412139 Binary files /dev/null and b/pixmaps/linphone-failed.png differ diff --git a/pixmaps/linphone-history.png b/pixmaps/linphone-history.png new file mode 100644 index 000000000..825bdeb68 Binary files /dev/null and b/pixmaps/linphone-history.png differ diff --git a/pixmaps/linphone-hold-off.png b/pixmaps/linphone-hold-off.png index 016115266..b008a6896 100644 Binary files a/pixmaps/linphone-hold-off.png and b/pixmaps/linphone-hold-off.png differ diff --git a/pixmaps/linphone-hold-on.png b/pixmaps/linphone-hold-on.png index c287c8a32..1590a63b0 100644 Binary files a/pixmaps/linphone-hold-on.png and b/pixmaps/linphone-hold-on.png differ diff --git a/pixmaps/linphone-inprogress.png b/pixmaps/linphone-inprogress.png new file mode 100644 index 000000000..4a4371430 Binary files /dev/null and b/pixmaps/linphone-inprogress.png differ diff --git a/pixmaps/linphone-ok.png b/pixmaps/linphone-ok.png new file mode 100644 index 000000000..4bcd6f634 Binary files /dev/null and b/pixmaps/linphone-ok.png differ diff --git a/pixmaps/linphone-record.png b/pixmaps/linphone-record.png new file mode 100644 index 000000000..4ef4b064d Binary files /dev/null and b/pixmaps/linphone-record.png differ diff --git a/pixmaps/linphone-security-ok.png b/pixmaps/linphone-security-ok.png new file mode 100644 index 000000000..38d2ec61c Binary files /dev/null and b/pixmaps/linphone-security-ok.png differ diff --git a/pixmaps/linphone-security-pending.png b/pixmaps/linphone-security-pending.png new file mode 100644 index 000000000..d61faa39a Binary files /dev/null and b/pixmaps/linphone-security-pending.png differ diff --git a/pixmaps/linphone-show-dialer.png b/pixmaps/linphone-show-dialer.png deleted file mode 100644 index 8f8b98f25..000000000 Binary files a/pixmaps/linphone-show-dialer.png and /dev/null differ diff --git a/pixmaps/linphone-start-call.png b/pixmaps/linphone-start-call.png index fab8701f9..ade0e15a4 100644 Binary files a/pixmaps/linphone-start-call.png and b/pixmaps/linphone-start-call.png differ diff --git a/pixmaps/linphone-start-call2.png b/pixmaps/linphone-start-call2.png index 6569ffff7..097271ce2 100644 Binary files a/pixmaps/linphone-start-call2.png and b/pixmaps/linphone-start-call2.png differ diff --git a/pixmaps/linphone-start-chat.png b/pixmaps/linphone-start-chat.png index 224eddb57..15b050f6f 100644 Binary files a/pixmaps/linphone-start-chat.png and b/pixmaps/linphone-start-chat.png differ diff --git a/pixmaps/linphone-status-away.png b/pixmaps/linphone-status-away.png index 75727dc28..56c7fb367 100644 Binary files a/pixmaps/linphone-status-away.png and b/pixmaps/linphone-status-away.png differ diff --git a/pixmaps/linphone-status-donotdisturb.png b/pixmaps/linphone-status-donotdisturb.png index 0556ce197..d5a1391de 100644 Binary files a/pixmaps/linphone-status-donotdisturb.png and b/pixmaps/linphone-status-donotdisturb.png differ diff --git a/pixmaps/linphone-status-offline.png b/pixmaps/linphone-status-offline.png index 0cefa05ac..c4f236f55 100644 Binary files a/pixmaps/linphone-status-offline.png and b/pixmaps/linphone-status-offline.png differ diff --git a/pixmaps/linphone-status-online.png b/pixmaps/linphone-status-online.png index e56456499..7fb4a1276 100644 Binary files a/pixmaps/linphone-status-online.png and b/pixmaps/linphone-status-online.png differ diff --git a/pixmaps/linphone-stop-call.png b/pixmaps/linphone-stop-call.png index 7f9574f91..da1a2eab5 100644 Binary files a/pixmaps/linphone-stop-call.png and b/pixmaps/linphone-stop-call.png differ diff --git a/pixmaps/svg/callkeybackground.svg b/pixmaps/svg/callkeybackground.svg deleted file mode 100644 index 4d86f7fd4..000000000 --- a/pixmaps/svg/callkeybackground.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - diff --git a/pixmaps/svg/contact.svg b/pixmaps/svg/contact.svg deleted file mode 100644 index f094b7a0a..000000000 --- a/pixmaps/svg/contact.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - diff --git a/pixmaps/svg/dialer.svg b/pixmaps/svg/dialer.svg deleted file mode 100644 index fef344bc3..000000000 --- a/pixmaps/svg/dialer.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/pixmaps/svg/history.svg b/pixmaps/svg/history.svg deleted file mode 100644 index 11ba3a203..000000000 --- a/pixmaps/svg/history.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/pixmaps/svg/linphone-add-call.svg b/pixmaps/svg/linphone-add-call.svg new file mode 100644 index 000000000..ed8da23bc --- /dev/null +++ b/pixmaps/svg/linphone-add-call.svg @@ -0,0 +1,89 @@ + + + + + + image/svg+xml + + options_add_call + Rectangle 250 Copy 19 + + + + + + options_add_call + Rectangle 250 Copy 19 + Created with Sketch. + + + + + + + + diff --git a/pixmaps/svg/linphone-call-status-incoming.svg b/pixmaps/svg/linphone-call-status-incoming.svg new file mode 100644 index 000000000..af9dd9bf6 --- /dev/null +++ b/pixmaps/svg/linphone-call-status-incoming.svg @@ -0,0 +1,80 @@ + + + + + + image/svg+xml + + + + + + + call_status_incoming + Created with Sketch. + + + + + + + diff --git a/pixmaps/svg/linphone-call-status-missed.svg b/pixmaps/svg/linphone-call-status-missed.svg new file mode 100644 index 000000000..abb146cf1 --- /dev/null +++ b/pixmaps/svg/linphone-call-status-missed.svg @@ -0,0 +1,86 @@ + + + + + + image/svg+xml + + call_status_missed + + + + + + call_status_missed + Created with Sketch. + + + + + + + + diff --git a/pixmaps/svg/linphone-call-status-outgoing.svg b/pixmaps/svg/linphone-call-status-outgoing.svg new file mode 100644 index 000000000..cc8c66efb --- /dev/null +++ b/pixmaps/svg/linphone-call-status-outgoing.svg @@ -0,0 +1,78 @@ + + + + + + image/svg+xml + + call_status_outgoing + + + + + + call_status_outgoing + Created with Sketch. + + + + + diff --git a/pixmaps/svg/linphone-call-transfer.svg b/pixmaps/svg/linphone-call-transfer.svg new file mode 100644 index 000000000..357ccfad7 --- /dev/null +++ b/pixmaps/svg/linphone-call-transfer.svg @@ -0,0 +1,104 @@ + + + + + + image/svg+xml + + call_transfer + + + + + + call_transfer + Created with Sketch. + + + + + + + + + + + + + + + + + diff --git a/pixmaps/svg/linphone-camera-disabled.svg b/pixmaps/svg/linphone-camera-disabled.svg new file mode 100644 index 000000000..f5ddde244 --- /dev/null +++ b/pixmaps/svg/linphone-camera-disabled.svg @@ -0,0 +1,95 @@ + + + + + + image/svg+xml + + camera_default + + + + + + camera_default + Created with Sketch. + + + + + + + + + + + diff --git a/pixmaps/svg/linphone-camera-enabled.svg b/pixmaps/svg/linphone-camera-enabled.svg new file mode 100644 index 000000000..5138510e3 --- /dev/null +++ b/pixmaps/svg/linphone-camera-enabled.svg @@ -0,0 +1,90 @@ + + + + + + image/svg+xml + + camera_default + + + + + + camera_default + Created with Sketch. + + + + + + + + + + diff --git a/pixmaps/svg/linphone-chat-new-message-and-writing.svg b/pixmaps/svg/linphone-chat-new-message-and-writing.svg new file mode 100644 index 000000000..9cd538ea3 --- /dev/null +++ b/pixmaps/svg/linphone-chat-new-message-and-writing.svg @@ -0,0 +1,76 @@ + + + + + + image/svg+xml + + + + + + + chat_start_body_over + Created with Sketch. + + + + + + diff --git a/pixmaps/svg/linphone-chat-new-message.svg b/pixmaps/svg/linphone-chat-new-message.svg new file mode 100644 index 000000000..8ad456ca2 --- /dev/null +++ b/pixmaps/svg/linphone-chat-new-message.svg @@ -0,0 +1,69 @@ + + + + + + image/svg+xml + + + + + + + chat_start_body_over + Created with Sketch. + + + + diff --git a/pixmaps/svg/linphone-chat-nothing.svg b/pixmaps/svg/linphone-chat-nothing.svg new file mode 100644 index 000000000..4835b5255 --- /dev/null +++ b/pixmaps/svg/linphone-chat-nothing.svg @@ -0,0 +1,69 @@ + + + + + + image/svg+xml + + + + + + + chat_start_body_over + Created with Sketch. + + + + diff --git a/pixmaps/svg/linphone-chat-writing.svg b/pixmaps/svg/linphone-chat-writing.svg new file mode 100644 index 000000000..7183818a1 --- /dev/null +++ b/pixmaps/svg/linphone-chat-writing.svg @@ -0,0 +1,73 @@ + + + + + + image/svg+xml + + + + + + + chat_start_body_over + Created with Sketch. + + + + + + diff --git a/pixmaps/svg/linphone-conference-start.svg b/pixmaps/svg/linphone-conference-start.svg new file mode 100644 index 000000000..eedb7136b --- /dev/null +++ b/pixmaps/svg/linphone-conference-start.svg @@ -0,0 +1,66 @@ + + + + + + image/svg+xml + + conference_start + + + + + + conference_start + Created with Sketch. + + + diff --git a/pixmaps/svg/linphone-contact-add.svg b/pixmaps/svg/linphone-contact-add.svg new file mode 100644 index 000000000..08882723a --- /dev/null +++ b/pixmaps/svg/linphone-contact-add.svg @@ -0,0 +1,17 @@ + + + + contact_add + Created with Sketch. + + + + + + + + + + + + \ No newline at end of file diff --git a/pixmaps/svg/linphone-delete.svg b/pixmaps/svg/linphone-delete.svg new file mode 100644 index 000000000..51b051ac0 --- /dev/null +++ b/pixmaps/svg/linphone-delete.svg @@ -0,0 +1,17 @@ + + + + delete + Created with Sketch. + + + + + + + + + + + + \ No newline at end of file diff --git a/pixmaps/svg/linphone-edit.svg b/pixmaps/svg/linphone-edit.svg new file mode 100644 index 000000000..21d72cfbc --- /dev/null +++ b/pixmaps/svg/linphone-edit.svg @@ -0,0 +1,15 @@ + + + + edit + Created with Sketch. + + + + + + + + + + \ No newline at end of file diff --git a/pixmaps/svg/linphone-failed.svg b/pixmaps/svg/linphone-failed.svg new file mode 100644 index 000000000..98e3fc67f --- /dev/null +++ b/pixmaps/svg/linphone-failed.svg @@ -0,0 +1,73 @@ + + + + + + image/svg+xml + + call_missed + + + + + + call_missed + Created with Sketch. + + + + + + diff --git a/pixmaps/svg/linphone-history.svg b/pixmaps/svg/linphone-history.svg new file mode 100644 index 000000000..c4b4f4936 --- /dev/null +++ b/pixmaps/svg/linphone-history.svg @@ -0,0 +1,96 @@ + + + + + + image/svg+xml + + + + + + + footer_history + Created with Sketch. + + + + + + + + + + diff --git a/pixmaps/svg/linphone-hold-off.svg b/pixmaps/svg/linphone-hold-off.svg new file mode 100644 index 000000000..bd44bbf3a --- /dev/null +++ b/pixmaps/svg/linphone-hold-off.svg @@ -0,0 +1,66 @@ + + + + + + image/svg+xml + + pause_big_default + + + + + + pause_big_default + Created with Sketch. + + + diff --git a/pixmaps/svg/linphone-hold-on.svg b/pixmaps/svg/linphone-hold-on.svg new file mode 100644 index 000000000..b25a411fd --- /dev/null +++ b/pixmaps/svg/linphone-hold-on.svg @@ -0,0 +1,65 @@ + + + + + + image/svg+xml + + + + + + + pause_small_over_selected + Created with Sketch. + + + diff --git a/pixmaps/svg/linphone-inprogress.svg b/pixmaps/svg/linphone-inprogress.svg new file mode 100644 index 000000000..871be13b5 --- /dev/null +++ b/pixmaps/svg/linphone-inprogress.svg @@ -0,0 +1,66 @@ + + + + + + image/svg+xml + + chat_message_inprogress + + + + + + chat_message_inprogress + Created with Sketch. + + + diff --git a/pixmaps/svg/linphone-ok.svg b/pixmaps/svg/linphone-ok.svg new file mode 100644 index 000000000..db08198f7 --- /dev/null +++ b/pixmaps/svg/linphone-ok.svg @@ -0,0 +1,95 @@ + + + + + + image/svg+xml + + valid + valid + + + + + + valid + Created with Sketch. + + + + + + + + + + + + diff --git a/pixmaps/svg/linphone-record.svg b/pixmaps/svg/linphone-record.svg new file mode 100644 index 000000000..8709e9509 --- /dev/null +++ b/pixmaps/svg/linphone-record.svg @@ -0,0 +1,78 @@ + + + + + + image/svg+xml + + status_busy + + + + + + status_busy + Created with Sketch. + + + + + diff --git a/pixmaps/svg/linphone-security-ok.svg b/pixmaps/svg/linphone-security-ok.svg new file mode 100644 index 000000000..83e518e9b --- /dev/null +++ b/pixmaps/svg/linphone-security-ok.svg @@ -0,0 +1,76 @@ + + + + + + image/svg+xml + + security_ok + + + + + + security_ok + Created with Sketch. + + + + + + diff --git a/pixmaps/svg/linphone-security-pending.svg b/pixmaps/svg/linphone-security-pending.svg new file mode 100644 index 000000000..084755a29 --- /dev/null +++ b/pixmaps/svg/linphone-security-pending.svg @@ -0,0 +1,76 @@ + + + + + + image/svg+xml + + security_pending + + + + + + security_pending + Created with Sketch. + + + + + + diff --git a/pixmaps/svg/linphone-start-call.svg b/pixmaps/svg/linphone-start-call.svg index e22391a76..b7783041a 100644 --- a/pixmaps/svg/linphone-start-call.svg +++ b/pixmaps/svg/linphone-start-call.svg @@ -1,7 +1,6 @@ - - image/svg+xml + + + + image/svg+xml + + + + + \ No newline at end of file + inkscape:current-layer="svg2" /> + + call_alt_start + Created with Sketch. + + + + diff --git a/pixmaps/svg/linphone-start-call2.svg b/pixmaps/svg/linphone-start-call2.svg new file mode 100644 index 000000000..4e6f22d9a --- /dev/null +++ b/pixmaps/svg/linphone-start-call2.svg @@ -0,0 +1,69 @@ + + + + + + image/svg+xml + + + + + + + call_start_body_over + Created with Sketch. + + + + diff --git a/pixmaps/svg/linphone-start-chat.svg b/pixmaps/svg/linphone-start-chat.svg new file mode 100644 index 000000000..aa71e6c0f --- /dev/null +++ b/pixmaps/svg/linphone-start-chat.svg @@ -0,0 +1,77 @@ + + + + + + image/svg+xml + + footer_chat + + + + + + footer_chat + Created with Sketch. + + + + + + diff --git a/pixmaps/svg/linphone-status-away.svg b/pixmaps/svg/linphone-status-away.svg index fe3d1238c..46beec033 100644 --- a/pixmaps/svg/linphone-status-away.svg +++ b/pixmaps/svg/linphone-status-away.svg @@ -1,7 +1,6 @@ - - image/svg+xml + + + + image/svg+xml + + statut_absent + + + + \ No newline at end of file + inkscape:current-layer="svg2" /> + + statut_absent + Created with Sketch. + + + diff --git a/pixmaps/svg/linphone-status-donotdisturb.svg b/pixmaps/svg/linphone-status-donotdisturb.svg index a1fc9701a..54e2ef8fe 100644 --- a/pixmaps/svg/linphone-status-donotdisturb.svg +++ b/pixmaps/svg/linphone-status-donotdisturb.svg @@ -1,7 +1,6 @@ - - image/svg+xml + + + + image/svg+xml + + + + + \ No newline at end of file + inkscape:current-layer="svg2" /> + + led_error + Created with Sketch. + + + + diff --git a/pixmaps/svg/linphone-status-offline.svg b/pixmaps/svg/linphone-status-offline.svg index cea91849c..890ee2f7f 100644 --- a/pixmaps/svg/linphone-status-offline.svg +++ b/pixmaps/svg/linphone-status-offline.svg @@ -1,7 +1,6 @@ - - image/svg+xml + + + + image/svg+xml + + + + + \ No newline at end of file + inkscape:current-layer="svg2" /> + + led_disconnected + Created with Sketch. + + + + diff --git a/pixmaps/svg/linphone-status-online.svg b/pixmaps/svg/linphone-status-online.svg index e22391a76..5f7149e4d 100644 --- a/pixmaps/svg/linphone-status-online.svg +++ b/pixmaps/svg/linphone-status-online.svg @@ -1,7 +1,6 @@ - - image/svg+xml + + + + image/svg+xml + + status_available + + + + \ No newline at end of file + inkscape:current-layer="svg2" /> + + status_available + Created with Sketch. + + + diff --git a/pixmaps/svg/linphone-stop-call.svg b/pixmaps/svg/linphone-stop-call.svg index edc8b847c..ab4fa3b28 100644 --- a/pixmaps/svg/linphone-stop-call.svg +++ b/pixmaps/svg/linphone-stop-call.svg @@ -1,7 +1,6 @@ - - image/svg+xml + + + + image/svg+xml + + call_hangup + + + + + + call_hangup + Created with Sketch. + + + \ No newline at end of file + style="fill:none;fill-rule:evenodd;stroke:#ff0000;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" /> + + diff --git a/pixmaps/svg/more.svg b/pixmaps/svg/more.svg deleted file mode 100644 index a9d1c50c3..000000000 --- a/pixmaps/svg/more.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/po/ar.po b/po/ar.po index 182dc5b2b..743987d88 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,50 +9,48 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-08-24 11:11+0200\n" -"PO-Revision-Date: 2015-07-21 23:38+0000\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-17 21:05+0000\n" "Last-Translator: محيي الدين \n" -"Language-Team: Arabic (http://www.transifex.com/belledonne-communications/" -"linphone-gtk/language/ar/)\n" -"Language: ar\n" +"Language-Team: Arabic (http://www.transifex.com/belledonne-communications/linphone-gtk/language/ar/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\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" +"Language: ar\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "اتصل بـ %s" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "أرسل رسالة إلى %s" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "المكالمات الفائتة (%i)" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "—" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "أُلغيت" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "فائتة" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "مرفوضة" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" @@ -63,7 +61,7 @@ msgstr[3] "%i دقائق" msgstr[4] "%i دقيقة" msgstr[5] "%i دقيقة" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" @@ -74,16 +72,14 @@ msgstr[3] "%i ثوان" msgstr[4] "%i ثانية" msgstr[5] "%i ثانية" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format 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 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "%s\t%s" @@ -101,9 +97,9 @@ msgstr "أنا" msgid "Couldn't find pixmap file: %s" msgstr "أيقونة غير موجودة : %s" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" -msgstr "" +msgstr "نسخ" #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." @@ -131,10 +127,9 @@ 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" @@ -148,149 +143,129 @@ msgstr "ابدأ مرشد الصوت" msgid "Run self test and exit 0 if succeed" msgstr "شغِّل الاختبار الذاتي ثم اخرِجْ 0 إذا نجح" -#: ../gtk/main.c:1058 +#: ../gtk/main.c:1040 #, 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" -"إن كان الجواب بالرفض، سوف يجري حظر هذا الشخص مؤقتا." +msgstr "يود %s إضافتك إلى جهات اتصاله.\nهل تريد إضافته إلى جهات اتصالك والسماح له برؤية حالة حضورك ؟\nإن كان الجواب بالرفض، سوف يجري حظر هذا الشخص مؤقتا." -#: ../gtk/main.c:1135 +#: ../gtk/main.c:1117 #, 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:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "خطأ في المكالمة" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "إنتهت المكالمة" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "مكالمة واردة" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "أجِبْ" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "ارفضْ" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "المكالمة متوقفة" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "بواسطة %s" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "يود %s تشغيل الفيديو. هل تقبل ذلك ؟" -#: ../gtk/main.c:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "وصلة إلى الموقع وِبْ" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "لِنْفُونْ" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "الهاتف المرئي عبر الإنترنت" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "%s (افتراضي)" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "التحويل إلى %s" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "هاتف SIP المرئي الحر" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "أهلا\n" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "أضف إلى دفتر العناوين" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "معلومة الحضور" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "الاسم" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "اتصل" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "محادثة" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "ابحث في دليل %s" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "جهة اتصال sip غير صالحة !" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "حرر جهة الاتصال '%s'" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "احذف جهة الاتصال '%s'" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "احذف تاريخ دردشات '%s'" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "اضف جهة اتصال انطلاقا من الدليل %s" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "الاسم" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "التردد (هرتز)" @@ -425,9 +400,7 @@ 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." @@ -464,166 +437,158 @@ msgstr[3] "عُثِر على %i جهات اتصال" msgstr[4] "عُثِر على %i جهة اتصال" msgstr[5] "عُثِر على %i جهة اتصال" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 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:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "إنشاء حساب في linphone.org" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 msgid "I have already a linphone.org account and I just want to use it" msgstr "أتوفر مسبقا على حساب في linphone.org وأريد فقط استخدامه" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:172 msgid "I have already a sip account and I just want to use it" msgstr "أتوفر مسبقا على حساب sip وأريد فقط استخدامه" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "أريد تحديد عنوان التهيئة عن بعد" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "ادخل معلومات حسابك" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "اسم المستخدم*" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "كلمة السر*" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "النطاق*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "الوكيل" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "أدخِل اسم المستخدم في linphone.org" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "اسم المستخدم :" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "كلمة السر :" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "(*) حقول ضرورية" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "اسم المستخدم* : (*)" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "كلمة السر* : (*)" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "البريد الالكتروني : (*)" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "أكِّد كلمة السر : (*)" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "أحطني علما بتحديثات لِنْفُونْ" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "يُرجى الانتظار، يجري الآن إنشاء حسابك." -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." msgstr "يُرجى الانتظار، يجري الآن فحص التحقق من صحة حسابك." -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 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:521 +#: ../gtk/setupwizard.c:514 msgid "Thank you. Your account is now configured and ready for use." msgstr "شكرا لك، لقد جرت تهيئة حسابك وهو الآن قابل للاستخدام." -#: ../gtk/setupwizard.c:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "مرشد تهيئة حساب SIP" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "مرحبا بك في مرشد إعداد الحساب" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "مرشد تهيئة الحساب" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "تهيئة حسابك (المرحلة 1/1)" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "أدخل اسم المستخدم SIP (المرحلة 1/1)" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "أدخل معلومات حسابك (المرحلة 1/2)" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "إنشاء الحساب في تقدم" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "تأكيد (المرحلة 2/2)" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "التحقق من الحساب في تقدم" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "خطأ" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "في طور الإنهاء" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "مكالمة #%i" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "حوِّل إلى المكالمة #%i مع %s" @@ -685,9 +650,7 @@ 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 @@ -699,114 +662,112 @@ msgstr "%ix%i @ %f fps" msgid "%.3f seconds" msgstr "%.3f ثانية" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "ضع السماعة" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "يجري الاتصال..." -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" msgstr "00:00:00" -#: ../gtk/incall_view.c:524 +#: ../gtk/incall_view.c:569 msgid "Incoming call" msgstr "المكالمة الواردة" -#: ../gtk/incall_view.c:561 +#: ../gtk/incall_view.c:606 msgid "good" msgstr "جيدة" -#: ../gtk/incall_view.c:563 +#: ../gtk/incall_view.c:608 msgid "average" msgstr "متوسطة" -#: ../gtk/incall_view.c:565 +#: ../gtk/incall_view.c:610 msgid "poor" msgstr "ضعيفة" -#: ../gtk/incall_view.c:567 +#: ../gtk/incall_view.c:612 msgid "very poor" msgstr "ضعيفة جدا" -#: ../gtk/incall_view.c:569 +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "سيِّئة جيدا" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "غير متاحة" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "آمن بواسطة SRTP" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "مُؤمَّن بواسطة DTLS" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "آمن بواسطة ZRTP - [شارة الهوية : %s]" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "أكِّدْ عدم تحقُّقك" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "أكِّدْ تحقُّقَك" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "في اجتماع" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "المكالمة جارية" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "المكالمة متوقفة مؤقتا" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "إنتهت المكالمة." -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "يجري الإرسال" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "انتهى الإرسال." -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "فَشِل الإرسال." -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "استأنِفْ" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "إيقاف مؤقت" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" -msgstr "" -"يسجل في\n" -"%s %s" +msgstr "يسجل في\n%s %s" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "(متوقف)" @@ -857,9 +818,7 @@ 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" @@ -909,7 +868,7 @@ msgstr "لنُشغِّل لِنْفُونْ الآن" msgid "Audio Assistant" msgstr "مرشد الصوت" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "مرشد الصوت" @@ -926,94 +885,78 @@ msgid "Record and Play" msgstr "سَجِّل واقرأ " #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "كل المستخدمين" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "المستخدمون المتصلون" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "ADSL" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "قناة الألياف الضوئية" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "افتراضي" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "احذف" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "الخ_يارات" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "عنوان URI للتهيئة" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "شغِّل الفيديو دائما" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "فعِّل رؤية نفسي" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "ال_مساعدة" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "أظهِر نافذة التنقيح" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "موق_ع الوِبْ" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "تحقق من التح_ديثات" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "مرشد الحساب" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "عنوان SIP أو رقم الهاتف :" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "ابدأ مكالمة جديدة" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "جهات الاتصال" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "بحث" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "إضافة جهات الاتصال من الدليل" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "إضافة جهة الاتصال" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "المكالمات السابقة" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "هويتي الحالية :" @@ -1043,20 +986,7 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: 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" -"ar: Muhiyeddine Cherik \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" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1374,9 +1304,7 @@ 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" @@ -1745,16 +1673,9 @@ 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..." @@ -1778,7 +1699,7 @@ msgstr "أنْهِ الاجتماع" #: ../gtk/in_call_frame.ui.h:2 msgid "Click here to set the speakers volume" -msgstr "" +msgstr "اضغط هنا لتحديد شدة مكبر الصوت" #: ../gtk/in_call_frame.ui.h:5 msgid "Record this call to an audio file" @@ -1824,60 +1745,68 @@ msgstr "معلومات الولوج" msgid "Welcome!" msgstr "مرحبا !" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "ADSL" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "قناة الألياف الضوئية" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "جاهز" -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "تجري التهيئة" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "يتصل ب" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "لم يتمكن من الاتصال" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "آسف، وصل عدد المكالمات الآنية إلى حده الأقصى" -#: ../coreapi/linphonecore.c:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "يتصل بك" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr "ويطلب ردا تلقائيا." -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "يجري تعديل إعدادات المكالمة..." -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "متصل." -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "أُلغيت المكالمة" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "لم يتمكن من توقيف المكالمة مؤقتا" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "وضع المكالمة قيد الانتظار..." -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "يجري بحث STUN..." -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "يجري جلب مرشَّحي ICE المحلين..." @@ -1933,159 +1862,150 @@ msgstr "في عطلة" msgid "Unknown status" msgstr "حالة مجهولة" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 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:301 +#: ../coreapi/proxy.c:298 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:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "يجري البحث عن وجهة رقم الهاتف..." -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "لم يتمكن من إيجاد هذا الرقم." -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "تعذر الولوج بالهوية %s" -#: ../coreapi/proxy.c:1494 -#, fuzzy, c-format +#: ../coreapi/proxy.c:1411 +#, c-format msgid "Refreshing on %s..." -msgstr "يجلب من %s" +msgstr "‫يجري إنعاش في %s...‬" -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "يرن الجرس عن بعد..." -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "يرن الجرس عن بعد..." -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "أخذ المكالمة مبكرا." -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." -msgstr "المكاملة مع %s متوقفة." +msgid "Call answered by %s" +msgstr "‫أجاب عن المكالمة %s‬" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "يجيب %s عن المكالمة - في وضع الانتظار." - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "استُعيدت المكالمة." -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "أجاب عن المكالمة %s." - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 msgid "Incompatible, check codecs or security settings..." msgstr "غير موائم، تحقق من المراميز أو إعدادات الأمان..." -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "إعدادات الوسائط غير موائمة." -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "استُأنِفت المكالمة." #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "وُقِّفت المكالمة مؤقتا من طرف آخر." -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "حُدِّث الاتصال من البعيد." -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "أُنهيت المكالمة." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "المستخدم مشغول." -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "المستخدم غير متاح مؤقتا." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "لا يريد المستخدم أي إزعاج." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "تم تجاهل المكالمة." -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "انتهت مهلة الطلب." -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "مُوجَّه" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "فشل الاتصال." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "تم التسجيل في %s بنجاح." -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "أُلغي التسجيل في %s ." -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "لا إجابة قبل انتهاء المهلة" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "فَشِل التسجيل في %s: %s" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "خدمة غير متاحة، تجري الإعادة" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "شارة التحقق من الهوية هي %s" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "‫لم تُعدَّل معاملات المكالمات : %s.‬" + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "عُدِّلت معاملات المكالمات بنجاج." -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." @@ -2096,23 +2016,23 @@ msgstr[3] "فاتتك %i مكالمات." msgstr[4] "فاتتك %i مكالمة." msgstr[5] "فاتتك %i مكالمة." -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "أُجهِضت" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "اكتملت" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "فاتت" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "مجهول" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2120,14 +2040,9 @@ 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 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "المكالمة الصادرة" diff --git a/po/cs.po b/po/cs.po index 3b8d4b0f9..c1db8992d 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,50 +9,48 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \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/belledonne-communications/" -"linphone-gtk/language/cs/)\n" -"Language: cs\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 08:30+0000\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Czech (http://www.transifex.com/belledonne-communications/linphone-gtk/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 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "Volat komu: %s" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "Poslat text komu: %s" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "Nedávné hovory (%i)" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "–" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "Přerušen" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "Zmeškán" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "Odmítnut" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" @@ -60,7 +58,7 @@ msgstr[0] "%i minuta" msgstr[1] "%i minuty" msgstr[2] "%i minut" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" @@ -68,16 +66,14 @@ msgstr[0] "%i sekunda" msgstr[1] "%i sekundy" msgstr[2] "%i sekund" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format 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 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "%s\t%s" @@ -95,7 +91,7 @@ msgstr "Já" msgid "Couldn't find pixmap file: %s" msgstr "Nelze najít soubor s obrázkem: %s" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" msgstr "" @@ -125,11 +121,9 @@ 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: c:" -"\\Program Files\\Linphone)" -msgstr "" -"Zadejte pracovní adresář (měl by být základní instalační adresář, například " +"Specifiy a working directory (should be the base of the installation, eg: " "c:\\Program Files\\Linphone)" +msgstr "Zadejte pracovní adresář (měl by být základní instalační adresář, například c:\\Program Files\\Linphone)" #: ../gtk/main.c:145 msgid "Configuration file" @@ -143,144 +137,129 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1058 +#: ../gtk/main.c:1040 #, 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:1135 +#: ../gtk/main.c:1117 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "Chyba hovoru" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "Hovor ukončen" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "Příchozí hovor" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Odpovědět" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Odmítnout" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "Hovor odložen" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "kým: %s" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s navrhuje začít videohovor. Přijímáte?" -#: ../gtk/main.c:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "Odkaz na webovou stránku" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "%s (Výchozí)" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "Byly jsme přepojeni na %s" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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.\n" -"Nebudete moci vytáčet a přijímat a zvukové hovory." +msgstr "Na tomto počítači nebyla objevena žádná zvuková karta.\nNebudete moci vytáčet a přijímat a zvukové hovory." -#: ../gtk/main.c:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "Volný SIP videofon" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "Přidat do adresáře" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "Stav" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "Jméno" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "Zavolat" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "Diskuze" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "Hledat v adresáři %s" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "Neplatný sipový kontakt!" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "Upravit kontakt „%s“" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "Odstranit kontakt „%s“" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "Odstranit historii diskuze u kontaktu „%s“" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "Přidat nový kontakt z adresáře %s" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "Jméno" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "Kmitočet (Hz)" @@ -415,9 +394,7 @@ 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.\n" -"Přejete si otevřít prohlížeč, abyste si ji mohli stáhnout?" +msgstr "Na %s je dostupná novější verze.\nPřejete si otevřít prohlížeč, abyste si ji mohli stáhnout?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -451,165 +428,158 @@ msgstr[0] "Nalezen %i kontakt" msgstr[1] "Nalezeny %i kontakty" msgstr[2] "Nalezeno %i kontaktů" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "Vytvořit účet na linphone.org" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 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:171 +#: ../gtk/setupwizard.c:172 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:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "Uživatelské jméno*" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "Heslo*" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "Doména*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "Zadejte uživatelské jméno na linphone.org" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Uživatelské jméno:" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Heslo:" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "(*) Povinné položky" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "Uživatelské jméno: (*)" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "Heslo: (*)" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "E-mail: (*)" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "Potvrďte heslo: (*)" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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.\n" -"Pak 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.\nPak se sem vraťte a stiskněte tlačítko Další." -#: ../gtk/setupwizard.c:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 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ý).\n" -"Prosí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ý).\nProsím, vraťte se a zkoste to znovu." -#: ../gtk/setupwizard.c:521 +#: ../gtk/setupwizard.c:514 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:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "Vítejte v průvodci nastavení účtu" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "Průvodce nastavením účtu" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "Nastavit účet (krok 1/1)" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "Zadejte vaše sipové uživatelské jméno (krok 1/1)" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "Zadejte údaje o účtu (krok 1/2)" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "Ověření (krok 2/2)" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "Chyba" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "Ukončuje se" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "Hovor č. %i" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "Přepojit hovor č. %i s %s" @@ -671,9 +641,7 @@ msgstr "Přímé nebo skrze server" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "" -"příchozí: %f\n" -"odchozí: %f (kb/s)" +msgstr "příchozí: %f\nodchozí: %f (kb/s)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -685,115 +653,112 @@ msgstr "" msgid "%.3f seconds" msgstr "%.3f sekund" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "Zavěsit" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "Volá se…" -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 -#, fuzzy +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" -msgstr "00:00:00" +msgstr "" -#: ../gtk/incall_view.c:524 +#: ../gtk/incall_view.c:569 msgid "Incoming call" msgstr "Příchozí hovor" -#: ../gtk/incall_view.c:561 +#: ../gtk/incall_view.c:606 msgid "good" msgstr "dobrá" -#: ../gtk/incall_view.c:563 +#: ../gtk/incall_view.c:608 msgid "average" msgstr "průměrná" -#: ../gtk/incall_view.c:565 +#: ../gtk/incall_view.c:610 msgid "poor" msgstr "slabá" -#: ../gtk/incall_view.c:567 +#: ../gtk/incall_view.c:612 msgid "very poor" msgstr "velmi slabá" -#: ../gtk/incall_view.c:569 +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "příliš špatná" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "nedostupná" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "Zabezpečeno pomocí SRTP" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "Zabezpečeno pomocí ZRTP – [ověřovací klíč: %s]" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "Nastavit na neověřeno" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Nastavit na ověřeno" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "Probíhá konference" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "Probíhá hovor" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "Odložený hovor" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "Hovor skončil." -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "Probíhá přepojení" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "Přepojení dokončeno." -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "Přepojení selhalo." -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "Obnovit" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Odložit" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, 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:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "(Odloženo)" @@ -894,7 +859,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "" @@ -911,94 +876,78 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "všech uživatelích" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "připojených uživatelích" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "ADSL" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "Fiber Channel" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Výchozí" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "Smazat" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "V_olby" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "Vždy spustit obraz" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "Zobrazovat sám sebe" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "Nápo_věda" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "Zobrazit ladicí okno" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "_Domovská stránka" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "Vyhledat akt_ualizace" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "Průvodce účtem" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "SIP adresa nebo telefonní číslo:" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "Zahájit nový hovor" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "Kontakty" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "Hledat" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "Přidat kontakty z adresáře" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "Přidat kontakt" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "Nedávné hovory" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "Moje současná totožnost:" @@ -1346,9 +1295,7 @@ 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" @@ -1717,11 +1664,8 @@ 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 @@ -1792,60 +1736,68 @@ msgstr "Informace o přihlášení" msgid "Welcome!" msgstr "" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "ADSL" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "Fiber Channel" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "Připraven." -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "Navazuje se spojení" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "Nelze volat" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 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:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "vás volá" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr " a požaduje automatickou zvednutí." -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "Upravují se parametry hovoru…" -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "Připojeno." -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "Hovor přerušen" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "Hovor nebylo možné odložit" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "Současný hovor se odkládá…" -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "Hledá se adresa pomocí STUN…" -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "Shromažďují se místní kandidáti ICE…" @@ -1901,160 +1853,150 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 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:301 +#: ../coreapi/proxy.c:298 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á.\n" -"Měla by mít tvar sip:uživatel@proxydoména, například sip:alice@example.net" +msgstr "SIP identita, kterou jste zadali, není platná.\nMěla by mít tvar sip:uživatel@proxydoména, například sip:alice@example.net" -#: ../coreapi/proxy.c:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "Vyhledává se umístění čísla…" -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "Toto číslo nelze vyhledat." -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "Nelze se přihlásit jako %s" -#: ../coreapi/proxy.c:1494 +#: ../coreapi/proxy.c:1411 #, c-format msgid "Refreshing on %s..." msgstr "" -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "Vyzvání na druhé straně." -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "Vyzvání na druhé straně…" -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "Časná média." -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." -msgstr "Hovor s %s je odložen." +msgid "Call answered by %s" +msgstr "" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "Hovor přijat kým: %s – odložen." - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "Hovor obnoven." -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "Hovor přijat kým: %s." - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 msgid "Incompatible, check codecs or security settings..." msgstr "Není slučitelné. Zkontrolujte nastavení kodeků a zabezpečení…" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "Neslučitelné parametry médií." -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "Byli jsme obnoveni." #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "Byli jsme odloženi protistranou." -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "Hovor byl aktualizován protistranou." -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "Hovor ukončen." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "Uživatel je zaneprázdněn." -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "Uživatel je dočasně nedostupný." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "Uživatel si nepřeje být rušen." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "Volání odmítnuto." -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "Přesměrováno" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "Volání se nezdařilo." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "Registrace na %s byla úspěšná." -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "Odregistrování z %s hotovo." -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "odpověď nedorazila včas" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "Registrace na %s selhala: %s" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "Klíč k ověření totožnosti je %s" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "" + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." @@ -2062,23 +2004,23 @@ msgstr[0] "Máte %i zmeškaný hovor." msgstr[1] "Máte %i zmeškané hovory." msgstr[2] "Máte %i zmeškaných hovorů." -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2088,7 +2030,7 @@ msgid "" "Duration: %i mn %i sec\n" msgstr "" -#: ../coreapi/call_log.c:221 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "" diff --git a/po/de.po b/po/de.po index 9fd715fe7..1abcd2cba 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,73 +12,69 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \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/belledonne-communications/" -"linphone-gtk/language/de/)\n" -"Language: de\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 20:34+0000\n" +"Last-Translator: Ettore Atalan \n" +"Language-Team: German (http://www.transifex.com/belledonne-communications/linphone-gtk/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 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "„%s“ anrufen" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "Text zu „%s“ schicken" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "Letzte Anrufe (%i)" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "n/v" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "Abgebrochen" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "Verpasst" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "Abgewiesen" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "%i Minute" msgstr[1] "%i Minuten" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "%i Sekunde" msgstr[1] "%i Sekunden" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format 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 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "%s\t%s" @@ -96,9 +92,9 @@ msgstr "Eigenes Telefon" msgid "Couldn't find pixmap file: %s" msgstr "Pixmapdatei %s kann nicht gefunden werden." -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" -msgstr "" +msgstr "Kopieren" #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." @@ -118,9 +114,7 @@ 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" @@ -128,11 +122,9 @@ 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" @@ -146,146 +138,129 @@ 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:1058 +#: ../gtk/main.c:1040 #, 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:1135 +#: ../gtk/main.c:1117 #, 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:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "Anruf fehlgeschlagen" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "Anruf beendet" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "Eingehender Anruf" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Annehmen" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Abweisen" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "Anruf wird gehalten" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "von %s" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, 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:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "Website-Verknüpfung" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "Ein Internet-Video-Telefon" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "%s (Vorgabe)" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "Vermittlung nach %s" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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.\n" -"Sie können keine Audio-Anrufe tätigen oder entgegennehmen." +msgstr "Auf diesem Rechner können keine Soundkarten gefunden werden.\nSie können keine Audio-Anrufe tätigen oder entgegennehmen." -#: ../gtk/main.c:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "Ein freies SIP-Video-Telefon" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "Hallo\n" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "Zum Adressbuch hinzufügen" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "Anwesenheitsstatus" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "Name" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "Anrufen" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "Chat" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "Im %s-Verzeichnis suchen" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "Ungültiger SIP-Kontakt!" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "Kontakt „%s“ bearbeiten" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "Kontakt „%s“ löschen" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "Lösche Gesprächshistorie von '%s'" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "Einen neuen Kontakt aus dem %s-Verzeichnis hinzufügen" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "Name" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "Rate (Hz)" @@ -397,9 +372,7 @@ msgstr "Türkisch" #: ../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:1325 msgid "None" @@ -422,9 +395,7 @@ 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.\n" -"Möchten Sie einen Browser zum Herunterladen öffnen?" +msgstr "Eine neuere Version ist von %s verfügbar.\nMöchten Sie einen Browser zum Herunterladen öffnen?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -457,169 +428,158 @@ msgid_plural "Found %i contacts" msgstr[0] "%i Kontakt gefunden" msgstr[1] "%i Kontakte gefunden" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." -msgstr "" -"Willkommen!\n" -"Dieser Assistent hilft Ihnen dabei ein SIP-Konto einzurichten." +msgstr "Willkommen!\nDieser Assistent hilft Ihnen dabei ein SIP-Konto einzurichten." -#: ../gtk/setupwizard.c:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "Ein Konto bei linphone.org erstellen." -#: ../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." - #: ../gtk/setupwizard.c:171 +msgid "I have already a linphone.org account and I just want to use it" +msgstr "Ich habe bereits ein Konto bei linphone.org und möchte es jetzt benutzen." + +#: ../gtk/setupwizard.c:172 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:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "Ich möchte eine URI zur Fernkonfiguration angeben" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "Geben Sie Ihre Zugangsdaten ein" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "Benutzername*" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "Passwort*" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "Domäne*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "Geben Sie Ihren Benutzernamen bei linphone.org ein." -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Benutzername:" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Passwort:" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "(*) erforderliche Felder" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "Benutzername: (*)" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "Passwort: (*)" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "E-Mail: (*)" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "Bestätigen Sie Ihr Passwort: (*)" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "Halte mich über linphone Aktualisierungen auf dem laufenden" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "Ihr Konto wird erstellt, bitte warten." -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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.\n" -"Danach 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.\nDanach gehen Sie hierher zurück und drücken auf „Vor“." -#: ../gtk/setupwizard.c:504 +#: ../gtk/setupwizard.c:497 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:512 +#: ../gtk/setupwizard.c:505 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\n" -"verwendet oder der Server ist unerreichbar.\n" -"Bitte gehen Sie zurück und versuchen Sie es noch einmal." +msgstr "Fehler, Konto kann nicht bestätigt werden. Der Benutzername wird bereits\nverwendet oder der Server ist unerreichbar.\nBitte gehen Sie zurück und versuchen Sie es noch einmal." -#: ../gtk/setupwizard.c:521 +#: ../gtk/setupwizard.c:514 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:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "SIP-Konto-Einrichtungsassistent" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "Willkommen zum Konto-Einrichtungsassistenten" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "Konto-Einrichtungsassistent" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "Konto einrichten (Schritt 1/1)" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "Geben Sie Ihren SIP-Benutzernamen ein (Schritt 1/1)" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "Geben Sie Ihre Zugangsdaten ein (Schritt 1/2)" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "Kontoerstellung läuft" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "Bestätigung (Schritt 2/2)" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "Kontogültigkeitsprüfung läuft" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "Fehler" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "Fertigstellen" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "Anruf #%i" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "Vermittlung zum Anruf #%i mit %s" @@ -681,9 +641,7 @@ msgstr "Direkt oder über Server" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "" -"Herunterladen: %f\n" -"Hochladen: %f (kbit/s)" +msgstr "Herunterladen: %f\nHochladen: %f (kbit/s)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -695,114 +653,112 @@ msgstr "%ix%i @ %f bps" msgid "%.3f seconds" msgstr "%.3f Sekunden" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "Auflegen" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "Verbindungsaufbau..." -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" msgstr "00:00:00" -#: ../gtk/incall_view.c:524 +#: ../gtk/incall_view.c:569 msgid "Incoming call" msgstr "Eingehender Anruf" -#: ../gtk/incall_view.c:561 +#: ../gtk/incall_view.c:606 msgid "good" msgstr "gut" -#: ../gtk/incall_view.c:563 +#: ../gtk/incall_view.c:608 msgid "average" msgstr "durchschnittlich" -#: ../gtk/incall_view.c:565 +#: ../gtk/incall_view.c:610 msgid "poor" msgstr "schlecht" -#: ../gtk/incall_view.c:567 +#: ../gtk/incall_view.c:612 msgid "very poor" msgstr "sehr schlecht" -#: ../gtk/incall_view.c:569 +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "zu schlecht" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "nicht verfügbar" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "Gesichert durch SRTP" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "Gesichert durch DTLS" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "Gesichert durch ZRTP - [Auth.-Token: %s]" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "Auf „Ungeprüft“ setzen" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Auf „Geprüft“ setzen" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "In Konferenz" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "Im Gespräch" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "Gehaltener Anruf" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "Anruf beendet." -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "Vermittlung läuft" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "Vermittlung abgeschlossen." -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "Vermittlung fehlgeschlagen." -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "Fortsetzen" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Halten" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" -msgstr "" -"Recording into\n" -"%s %s" +msgstr "Recording into\n%s %s" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "(pausiert)" @@ -853,10 +809,7 @@ msgstr "Systemtonsteuerung kann nicht gestartet werden" msgid "" "Welcome!\n" "This assistant will help you to configure audio settings for Linphone" -msgstr "" -"Willkommen!\n" -"Dieser Assistent hilft Ihnen die Audioeinstellungen für Linphone " -"einzurichten." +msgstr "Willkommen!\nDieser Assistent hilft Ihnen die Audioeinstellungen für Linphone einzurichten." #: ../gtk/audio_assistant.c:335 msgid "Capture device" @@ -906,7 +859,7 @@ msgstr "Linphone jetzt starten" msgid "Audio Assistant" msgstr "Audio-Assistant" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "Audio-Assistant" @@ -923,94 +876,78 @@ msgid "Record and Play" msgstr "aufnehmen und abspielen" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "Alle Teilnehmer" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "Angemeldete Teilnehmer" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "ADSL" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "Glasfaserkabel" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Vorgabe" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "Löschen" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "_Optionen" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "Konfigurations URI angeben" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "Video immer starten" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "Selbstansicht ein" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "_Hilfe" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "Debug-Fenster anzeigen" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "_Homepage" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "Auf _Aktualisierungen überprüfen" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "Konto-Einrichtungsassistent" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "SIP-Adresse oder Telefonnummer:" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "Einen neuen Anruf beginnen" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "Kontakte" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "Suchen" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "Kontakte aus einem Verzeichnis hinzufügen" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "Kontakt hinzufügen" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "Letzte Gespräche" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "Aktuelle Identität:" @@ -1024,9 +961,7 @@ 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 "" @@ -1042,19 +977,7 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: 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" +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" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1234,9 +1157,7 @@ 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):" @@ -1374,9 +1295,7 @@ 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" @@ -1745,17 +1664,9 @@ 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.\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." +"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." #: ../gtk/provisioning-fetch.ui.h:1 msgid "Configuring..." @@ -1763,8 +1674,7 @@ 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" @@ -1780,7 +1690,7 @@ msgstr "Konferenz beenden" #: ../gtk/in_call_frame.ui.h:2 msgid "Click here to set the speakers volume" -msgstr "" +msgstr "Klicken Sie hier, um die Lautsprecherlautstärke festzulegen" #: ../gtk/in_call_frame.ui.h:5 msgid "Record this call to an audio file" @@ -1826,60 +1736,68 @@ msgstr "Anmeldeinformationen" msgid "Welcome!" msgstr "Willkommen!" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "ADSL" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "Glasfaserkabel" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "Bereit" -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "Einstellen" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "Verbindungsaufbau" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "Anruf kann nicht getätigt werden." -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Die maximale Anzahl der gleichzeitigen Anrufe ist erreicht." -#: ../coreapi/linphonecore.c:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "ruft Sie an" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr " und fragt nach automatischer Antwort." -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "Die Anrufparameter werden verändert..." -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "Verbunden." -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "Anruf abgebrochen" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "Anruf kann nicht gehalten werden" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "Aktueller Anruf wird gehalten..." -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "STUN-Ermittlung läuft..." -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "Lokale Kandidaten für ICE werden zusammengestellt..." @@ -1935,185 +1853,173 @@ msgstr "Urlaub" msgid "Unknown status" msgstr "Unbekannter Status" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 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:301 +#: ../coreapi/proxy.c:298 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.\n" -"Sie sollte wie sip:benutzername@proxydomain aussehen, also z.B. sip:" -"alice@beispiel.net" +msgstr "Die von Ihnen eingegebene SIP-Identität ist ungültig.\nSie sollte wie sip:benutzername@proxydomain aussehen, also z.B. sip:alice@beispiel.net" -#: ../coreapi/proxy.c:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "Telefonnummernziel wird gesucht..." -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "Diese Nummer kann nicht aufgelöst werden." -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "Anmeldung als %s fehlgeschlagen" -#: ../coreapi/proxy.c:1494 -#, fuzzy, c-format +#: ../coreapi/proxy.c:1411 +#, c-format msgid "Refreshing on %s..." -msgstr "abrufen von %s" +msgstr "" -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "Klingeln bei der Gegenseite." -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "Klingeln bei der Gegenseite..." -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "nicht kompatibel, prüfe Codecs oder Sicherheitseinstellungen..." -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." -msgstr "Anruf mit %s wird gehalten." +msgid "Call answered by %s" +msgstr "Anruf wird von %s entgegengenommen" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "Der von %s entgegengenommene Anruf wird gehalten." - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "Anruf fortgesetzt." -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "Anruf wird von %s entgegengenommen." - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 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:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "Inkompatible Medienparameter." -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "Anruf wird fortgesetzt." #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "Anruf wird von der Gegenseite gehalten." -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "Anruf ist von der Gegenseite aktualisiert worden." -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "Anruf beendet." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "Teilnehmer ist besetzt." -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "Teilnehmer zur Zeit nicht verfügbar." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "Teilnehmer möchte nicht gestört werden." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "Anruf abgewiesen" -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "Zeitüberschreitung bei der Anfrage" -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "Umgeleitet" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "Anruf fehlgeschlagen." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "Registrierung auf %s erfolgreich." -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "Abmeldung von %s ist erfolgt." -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "Zeitüberschreitung bei der Antwort" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "Registrierung auf %s fehlgeschlagen: %s" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "Service nicht verfügbar, versuche erneut" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "Authentifizierungs-Token ist %s" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "Anrufparameter konnten nicht geändert werden: %s." + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "Anrufparameter wurden erfolgreich geändert." -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." msgstr[0] "Sie haben %i Anruf in Abwesenheit." msgstr[1] "Sie haben %i Anrufe in Abwesenheit." -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "abgebrochen" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "abgeschlossen" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "verpasst" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "unbekannt" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2121,14 +2027,9 @@ msgid "" "To: %s\n" "Status: %s\n" "Duration: %i mn %i sec\n" -msgstr "" -"%s um %s\n" -"Von: %s\n" -"An: %s\n" -"Status: %s\n" -"Dauer: %i Min. %i Sek.\n" +msgstr "%s um %s\nVon: %s\nAn: %s\nStatus: %s\nDauer: %i Min. %i Sek.\n" -#: ../coreapi/call_log.c:221 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "Ausgehender Anruf" diff --git a/po/es.po b/po/es.po index 82a9efe16..6876eecc2 100644 --- a/po/es.po +++ b/po/es.po @@ -1,77 +1,75 @@ # 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-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/belledonne-communications/" -"linphone-gtk/language/es/)\n" -"Language: es\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 08:30+0000\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Spanish (http://www.transifex.com/belledonne-communications/linphone-gtk/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 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "Llamar a %s" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "Enviar mensaje a %s" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "n/a" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "%i minuto" msgstr[1] "%i minutos" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "%i segundo" msgstr[1] "%i segundos" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:342 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "" @@ -89,14 +87,13 @@ msgstr "Yo" msgid "Couldn't find pixmap file: %s" msgstr "No se pudo encontrar el archivo pixmap: %s" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 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." @@ -120,11 +117,9 @@ 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" @@ -138,144 +133,129 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1058 +#: ../gtk/main.c:1040 #, 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:1135 +#: ../gtk/main.c:1117 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "Llamada entrante" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Contestar" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "Enlace a la Web" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "%s (Opción predeterminada)" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "Somos transferidos a %s" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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.\n" -"No será posible realizar o recibir llamadas de audio." +msgstr "No se ha encontrado una tarjeta de sonido en este equipo.\nNo será posible realizar o recibir llamadas de audio." -#: ../gtk/main.c:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "Un video-teléfono SIP gratuito" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "Nombre" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "Buscar en el directorio %s" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "¡Contacto SIP no válido!" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "Eliminar contacto '%s'" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "Añadir nuevo contacto desde el directorio %s" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "Nombre" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "Frecuencia (Hz)" @@ -443,159 +423,158 @@ msgid_plural "Found %i contacts" msgstr[0] "Se encontró %i contacto" msgstr[1] "Se encontraron %i contactos" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:172 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." msgstr "" -#: ../gtk/setupwizard.c:521 +#: ../gtk/setupwizard.c:514 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:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "Bienvenido al asistente de configuración de cuenta" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "Asistente de configuración de cuenta" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "Transferir a llamada #%i con %s" @@ -669,112 +648,112 @@ msgstr "" msgid "%.3f seconds" msgstr "" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "" -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" -msgstr "00:00:00" +msgstr "" -#: ../gtk/incall_view.c:524 +#: ../gtk/incall_view.c:569 msgid "Incoming call" msgstr "" -#: ../gtk/incall_view.c:561 +#: ../gtk/incall_view.c:606 msgid "good" msgstr "buena" -#: ../gtk/incall_view.c:563 +#: ../gtk/incall_view.c:608 msgid "average" msgstr "media" -#: ../gtk/incall_view.c:565 +#: ../gtk/incall_view.c:610 msgid "poor" msgstr "mala" -#: ../gtk/incall_view.c:567 +#: ../gtk/incall_view.c:612 msgid "very poor" msgstr "muy mala" -#: ../gtk/incall_view.c:569 +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "demasiado mala" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "no disponible" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "Cifrada con SRTP" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "Cifrada con ZRTP - [token de autenticación: %s]" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "Set sin verificar" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Set verificado" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "En conferencia" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "" -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "" -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "" -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "Reanudar" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Pausar" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "" @@ -875,7 +854,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "" @@ -892,94 +871,78 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "Todos los usuarios" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "ADSL" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "Canal de Fibra" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "_Opciones" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "_Ayuda" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "_Pagina_de_Inicio" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "Buscar_Actualizaciones" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "Iniciar nueva llamada" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "Buscar" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "" @@ -993,9 +956,7 @@ 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 "" @@ -1329,9 +1290,7 @@ 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" @@ -1700,11 +1659,8 @@ 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 @@ -1775,60 +1731,68 @@ msgstr "" msgid "Welcome!" msgstr "" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "ADSL" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "Canal de Fibra" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "" -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 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:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr "y ha solicitado auto respuesta." -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "Modificando parámetros de llamada…" -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "Conectado." -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "No se pudo pausar la llamada" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "Pausando la llamada actual..." -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "Búsqueda STUN en proceso…" -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "" @@ -1884,184 +1848,173 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 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:301 +#: ../coreapi/proxy.c:298 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.\n" -"Debe ser del tipo sip:username@proxydomain, como por ejemplo sip:" -"alice@example.net" +msgstr "La identidad SIP que ha introducido no es válida.\nDebe ser del tipo sip:username@proxydomain, como por ejemplo sip:alice@example.net" -#: ../coreapi/proxy.c:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "Buscando el número de teléfono del destinatario…" -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "No se ha podido resolver este número." -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "" -#: ../coreapi/proxy.c:1494 +#: ../coreapi/proxy.c:1411 #, c-format msgid "Refreshing on %s..." msgstr "" -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "" -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "Medios iniciales." -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." -msgstr "La llamada con %s está puesta en pausa." +msgid "Call answered by %s" +msgstr "" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "Llamada respondida por %s - en espera." - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "" - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "" -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "" -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "El usuario está ocupado." -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "El usuario no está disponible temporalmente." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "El usuario no quiere que le molesten." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "Llamada rechazada." -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "Redigirida" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "" -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "timeout sin respuesta" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "" + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." msgstr[0] "Tiene %i llamada perdida." msgstr[1] "Tiene %i llamadas perdidas." -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2071,7 +2024,7 @@ msgid "" "Duration: %i mn %i sec\n" msgstr "" -#: ../coreapi/call_log.c:221 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "" diff --git a/po/fr.po b/po/fr.po index f15677f13..8a2329265 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,72 +12,69 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \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" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-19 10:29+0000\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: French (http://www.transifex.com/belledonne-communications/linphone-gtk/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 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "Appeler %s" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "Chatter avec %s" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "Appels récents (%i)" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "inconnu" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "Abandonné" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "Manqué" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "Refusé" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "%i minute" msgstr[1] "%i minutes" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "%i seconde" msgstr[1] "%i secondes" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format 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 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "%s\t%s" @@ -95,9 +92,9 @@ msgstr "Moi" msgid "Couldn't find pixmap file: %s" msgstr "Icone non trouvée: %s" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" -msgstr "" +msgstr "Copier" #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." @@ -125,11 +122,9 @@ 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" @@ -143,151 +138,129 @@ 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:1058 +#: ../gtk/main.c:1040 #, 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." +msgstr "%s souhaite vous ajouter à sa liste de contact.\nSouhaitez vous l'ajouter à votre liste également et l'autoriser à voir votre information de présence ?\nSi vous répondez non, cette personne sera mise temporairement sur liste noire." -#: ../gtk/main.c:1135 +#: ../gtk/main.c:1117 #, 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:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "Erreur lors de l'appel" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "Appel terminé." -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "Appel entrant" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Répondre" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Refuser" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "Appel en pause" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "b>par %s" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, 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:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "Lien site web" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "Appels vidéo via internet" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "%s (par défaut)" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "Transfert vers %s" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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.\n" -"Vous ne pourrez pas effectuer d'appels audio." +msgstr "Aucune carte son n'a été détectée sur cet ordinateur.\nVous ne pourrez pas effectuer d'appels audio." -#: ../gtk/main.c:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "Un visiophone libre" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "Bonjour\n" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "Ajouter au carnet d'adresse" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "Info de présence" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "Nom" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "Appeler" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "Chat" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "Rechercher dans l'annuaire de %s" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "Contact sip invalide !" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "Editer le contact '%s'" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "Supprimer le contact '%s'" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "Supprimer l'historique de chat de '%s'" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "Ajouter un contact depuis l'annuaire %s" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "Nom" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "Fréquence (Hz)" @@ -399,9 +372,7 @@ msgstr "Turc" #: ../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:1325 msgid "None" @@ -424,10 +395,7 @@ 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.\n" -"Voulez vous ouvrir le navigateur afin de pouvoir télécharger la dernière " -"version ?" +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 ?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -460,167 +428,158 @@ msgid_plural "Found %i contacts" msgstr[0] "%i contact trouvé." msgstr[1] "%i contacts trouvés." -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." -msgstr "" -"Bienvenue !\n" -"Cet assistant va vous aider à utiliser un compte SIP pour vos appels." +msgstr "Bienvenue !\nCet assistant va vous aider à utiliser un compte SIP pour vos appels." -#: ../gtk/setupwizard.c:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "Créer un compte sur linphone.org" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 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:171 +#: ../gtk/setupwizard.c:172 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:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "Je veux spécifier une URI de configuration" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "Entrez vos paramètres de compte" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "Nom d'utilisateur*" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "Mot de passe*" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "Domaine*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "Entrez votre identifiant linphone.org" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Nom d'utilisateur:" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Mot de passe:" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "(*) Champs requis" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "Nom d'utilisateur: (*)" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "Mot de passe: (*)" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "Email : (*)" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "Confirmez votre mot de passe: (*)" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "Me tenir informé des mises à jour de Linphone " -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "Votre compte est en cours de création. Veuillez patienter." -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 msgid "" -"Please validate your account by clicking on the link we just sent you by " -"email.\n" +"Please validate your account by clicking on the link we just sent you by email.\n" "Then come back here and press Next button." -msgstr "" -"Merci de valider votre compte en cliquant sur le lien que nous avons envoyé " -"par email.\n" -"Puis appuyez sur suivant." +msgstr "Merci de valider votre compte en cliquant sur le lien que nous avons envoyé par email.\nPuis appuyez sur suivant." -#: ../gtk/setupwizard.c:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." msgstr "Vérification que le compte a été validé. Veuillez patienter." -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." -msgstr "" -"Erreur, le compte n'est pas validé, l'identifiant est déjà utilisé ou le " -"serveur n'est pas accessible.\n" -"Merci d'essayer à nouveau." +msgstr "Erreur, le compte n'est pas validé, l'identifiant est déjà utilisé ou le serveur n'est pas accessible.\nMerci d'essayer à nouveau." -#: ../gtk/setupwizard.c:521 +#: ../gtk/setupwizard.c:514 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:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "Assistant de configuration de compte." -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "Bienvenue dans l'assistant de configuration de compte." -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "Assistant de configuration de compte." -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "Configurez votre compte (étape 1/1)" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "Entrez votre identifiant sip (étape 1/1)" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "Entrez les informations concernant votre compte (étape 1/2)" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "Création du compte en cours" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "Validation (étape 2/2)" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "Vérification de la validité du compte en cours" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "Erreur" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "En cours d’arrêt." -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "Appel #%i" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "Transférer vers l'appel #%i avec %s" @@ -682,9 +641,7 @@ msgstr "Directe ou via un serveur" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "" -"débit descendant : %f\n" -"débit ascendant : %f (kbits/s)" +msgstr "débit descendant : %f\ndébit ascendant : %f (kbits/s)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -696,114 +653,112 @@ msgstr "%ix%i @ %f fps" msgid "%.3f seconds" msgstr "%.3f secondes" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "Raccrocher" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "Tentative d'appel..." -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" msgstr "00:00:00" -#: ../gtk/incall_view.c:524 +#: ../gtk/incall_view.c:569 msgid "Incoming call" msgstr "Appel entrant" -#: ../gtk/incall_view.c:561 +#: ../gtk/incall_view.c:606 msgid "good" msgstr "bon" -#: ../gtk/incall_view.c:563 +#: ../gtk/incall_view.c:608 msgid "average" msgstr "moyen" -#: ../gtk/incall_view.c:565 +#: ../gtk/incall_view.c:610 msgid "poor" msgstr "faible" -#: ../gtk/incall_view.c:567 +#: ../gtk/incall_view.c:612 msgid "very poor" msgstr "très faible" -#: ../gtk/incall_view.c:569 +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "nulle" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "indisponible" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "Sécurisé par SRTP" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "Sécurisé par DTLS" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "Sécurisé par ZRTP- [jeton: %s]" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "Marquer comme non vérifié" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Marquer comme vérifié" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "En conférence" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "Appel en cours" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "Appel en attente" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "Appel terminé." -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "Transfert en cours" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "Transfert terminé" -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "Transfert échoué" -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "Reprendre" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Pause" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" -msgstr "" -"Enregistrement dans\n" -"%s %s" +msgstr "Enregistrement dans\n%s %s" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "(en attente)" @@ -854,10 +809,7 @@ 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 !\n" -"Cet assistant va vous aider à régler les paramètres audio de votre " -"ordinateur pour une utilisation optimale avec Linphone." +msgstr "Bienvenue !\nCet 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" @@ -907,7 +859,7 @@ msgstr "Démarrons Linphone maintenant" msgid "Audio Assistant" msgstr "Assistant audio" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "Assistant audio" @@ -924,94 +876,78 @@ msgid "Record and Play" msgstr "Enregistrer et joue" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "Tous" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "En ligne" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "ADSL" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "Fibre optique" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Par défaut" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "Supprimer" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "_Options" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "URI de configuration" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "Toujours activer la vidéo" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "Se voir" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "_Aide" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "Fenêtre de débogage" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "_Site web" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "_Mises à jour" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "Assistant de compte" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "Adresse SIP ou numéro" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "Démarrer un nouvel appel" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "Contacts" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "Rechercher" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "Ajouter un contact depuis l'annuaire" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "Ajouter un contact." -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "Appels récents" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "Mon identité SIP :" @@ -1041,19 +977,7 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: 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" +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" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1233,9 +1157,7 @@ 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):" @@ -1373,10 +1295,7 @@ 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" @@ -1745,17 +1664,9 @@ 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.\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." +"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." #: ../gtk/provisioning-fetch.ui.h:1 msgid "Configuring..." @@ -1763,9 +1674,7 @@ 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" @@ -1781,7 +1690,7 @@ msgstr "Fin de conférence" #: ../gtk/in_call_frame.ui.h:2 msgid "Click here to set the speakers volume" -msgstr "" +msgstr "Cliquer ici pour modifier le volume des haut-parleurs" #: ../gtk/in_call_frame.ui.h:5 msgid "Record this call to an audio file" @@ -1827,60 +1736,68 @@ msgstr "Information de login" msgid "Welcome!" msgstr "Bienvenue !" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "ADSL" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "Fibre optique" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "Prêt." -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "Configuration en cours" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "Appel de" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "Echec de l'appel" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 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:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "vous appelle" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr "et sollicite un décrochage automatique." -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "Modifications des paramètres d'appels..." -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "En ligne." -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "Appel abandonné" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "La mise en attente a échoué" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "Mise en attente de l'appel..." -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "Découverte STUN en cours" -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "Collection des candidats locaux ICE en cours..." @@ -1936,184 +1853,173 @@ msgstr "En congé" msgid "Unknown status" msgstr "Status inconnu" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 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:301 +#: ../coreapi/proxy.c:298 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.\n" -"Elle 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.\nElle doit être de la forme sip:utilisateur@domaine, comme par exemple sip:alice@example.net" -#: ../coreapi/proxy.c:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "Recherche de la destination du numéro de téléphone..." -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "La destination n'a pu être trouvée." -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "Echec de la connexion en tant que %s" -#: ../coreapi/proxy.c:1494 -#, fuzzy, c-format +#: ../coreapi/proxy.c:1411 +#, c-format msgid "Refreshing on %s..." -msgstr "chargement depuis %s" +msgstr "Rafraichissement de %s..." -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "Sonnerie distante." -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "Sonnerie distante..." -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "Prise d'appel anticipée." -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." -msgstr "%s est maintenant en attente." +msgid "Call answered by %s" +msgstr "Appel répondu par %s" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "Appel répondu par %s - en attente" - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "Appel repris." -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "Appel répondu par %s." - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 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:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "Paramètres media incompatibles." -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "Appel repris." #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "L'appel a été mis en attente." -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "L'appel est modifié par la partie distante." -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "Appel terminé." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "Occupé..." -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "L'usager est temporairement indisponible." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "L'usager ne souhaite pas être dérangé" -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "Appel décliné." -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "Délai d'attente de la requête dépassé." -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "Redirection" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "L'appel a échoué." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "Enregistrement sur %s effectué." -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "Désenregistrement sur %s effectué." -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "Pas de réponse" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "Echec de l'enregistrement sur %s: %s" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "Service indisponible, nouvelle tentative" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "Le jeton d'authentification est %s" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "Les paramètres d'appel n'ont pas pu être modifiés : %s." + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "Les paramètres d'appel ont été modifiés avec succès." -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." msgstr[0] "Vous avez manqué %i appel" msgstr[1] "Vous avez manqué %i appels" -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "interrompu" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "terminé" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "manqué" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "inconnu" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2121,14 +2027,9 @@ msgid "" "To: %s\n" "Status: %s\n" "Duration: %i mn %i sec\n" -msgstr "" -"%s à %s\n" -"De : %s\n" -"Vers : %s\n" -"Status : %s\n" -"Durée : %i min %i sec\n" +msgstr "%s à %s\nDe : %s\nVers : %s\nStatus : %s\nDurée : %i min %i sec\n" -#: ../coreapi/call_log.c:221 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "Appel sortant" diff --git a/po/he.po b/po/he.po index 540d02ee6..18e5dbc29 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,73 +12,69 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \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/belledonne-communications/" -"linphone-gtk/language/he/)\n" -"Language: he\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 08:30+0000\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Hebrew (http://www.transifex.com/belledonne-communications/linphone-gtk/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 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "התקשר אל %s" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "שלח טקסט אל %s" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "שיחות אחרונות (%i)" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "לא זמין (n/a)" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "ננטשה" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "הוחמצה" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "נדחתה" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "דקה %i" msgstr[1] "%i דקות" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "שניה %i" msgstr[1] "%i שניות" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format 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 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "" @@ -96,7 +92,7 @@ msgstr "אני" msgid "Couldn't find pixmap file: %s" msgstr "לא ניתן למצוא קובץ ‫pixmap: ‫%s" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" msgstr "" @@ -126,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 @@ -142,146 +138,129 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1058 +#: ../gtk/main.c:1040 #, 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:1135 +#: ../gtk/main.c:1117 #, 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:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "שגיאת קריאה" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "שיחה הסתיימה" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "קריאה נכנסת" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "לענות" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "לדחות" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "שיחה הושהתה" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "על ידי %s" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "‏%s רוצה להתחיל וידאו. האם אתה מסכים ?" -#: ../gtk/main.c:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "קישור אתר רשת" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "‫%s (ברירת מחדל)" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "אנחנו מועברים אל %s" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "וידאופון SIP חופשי" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "הוסף אל ספר כתובות" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "מצב נוכחות" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "שם" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "קריאה" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "שיחה" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "חיפוש במדור %s" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "כתובת sip לא תקפה !" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "ערוך איש קשר '%s'" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "מחק איש קשר '%s'" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "מחק היסטוריית שיחה של '%s'" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "הוסף איש קשר חדש מן מדור %s" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "שם" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "שיעור (הרץ)" @@ -416,9 +395,7 @@ 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." @@ -451,163 +428,158 @@ msgid_plural "Found %i contacts" msgstr[0] "נמצא איש קשר %i" msgstr[1] "נמצאו %i אנשי קשר" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "צור חשבון אצל linphone.org" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 msgid "I have already a linphone.org account and I just want to use it" msgstr "כבר קיים חשבון linphone.org ברשותי וברצוני לעשות בו שימוש" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:172 msgid "I have already a sip account and I just want to use it" msgstr "כבר קיים חשבון sip ברשותי וברצוני לעשות בו שימוש" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "שם משתמש*" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "סיסמה*" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "מתחם*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "פרוקסי" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "הזן את שם משתמשך אצל linphone.org" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "שם משתמש:" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "סיסמה:" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "(*) שדות חובה" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "שם משתמש: (*)" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "סיסמה: (*)" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "דוא״ל: (*)" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "אימות סיסמתך: (*)" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 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:521 +#: ../gtk/setupwizard.c:514 msgid "Thank you. Your account is now configured and ready for use." msgstr "תודה לך. חשבונך מוגדר ומוכן לשימוש כעת." -#: ../gtk/setupwizard.c:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "ברוך בואך אל אשף הגדרת החשבון" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "אשף הגדרת חשבון" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "הגדרת חשבונך (צעד 1/1)" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "הזנת שם משתמש sip (צעד 1/1)" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "הזנת מידע חשבון (צעד 1/2)" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "אימות (צעד 2/2)" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "שגיאה" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "מסיים כעת" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "שיחה מס׳ %i" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "העברה אל שיחה מס׳ %i עם %s" @@ -669,9 +641,7 @@ 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 @@ -683,115 +653,112 @@ msgstr "" msgid "%.3f seconds" msgstr "%.3f שניות" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "נתק" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "מתקשר כעת..." -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 -#, fuzzy +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" -msgstr "‭00::00::00" +msgstr "" -#: ../gtk/incall_view.c:524 +#: ../gtk/incall_view.c:569 msgid "Incoming call" msgstr "קריאה נכנסת" -#: ../gtk/incall_view.c:561 +#: ../gtk/incall_view.c:606 msgid "good" msgstr "טובה" -#: ../gtk/incall_view.c:563 +#: ../gtk/incall_view.c:608 msgid "average" msgstr "ממוצעת" -#: ../gtk/incall_view.c:565 +#: ../gtk/incall_view.c:610 msgid "poor" msgstr "דלה" -#: ../gtk/incall_view.c:567 +#: ../gtk/incall_view.c:612 msgid "very poor" msgstr "דלה מאוד" -#: ../gtk/incall_view.c:569 +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "גרועה מדי" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "לא זמינה" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "מאובטחת על ידי SRTP" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "מאובטחת על ידי ZRTP - [אות אימות: %s]" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "הגדר כלא מאומתת" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "הגדר כמאומתת" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "בשיחת ועידה" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "בשיחה כעת" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "שיחה מושהית" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "שיחה הסתיימה." -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "העברה מצויה כעת בעיצומה" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "העברה הסתיימה." -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "העברה נכשלה." -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "חזור" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "השהה" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" -msgstr "" -"מקליט אל תוך\n" -"%s %s" +msgstr "מקליט אל תוך\n%s %s" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "(מושהה)" @@ -892,7 +859,7 @@ msgstr "הבא נתחיל את Linphone עכשיו" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "" @@ -909,94 +876,78 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "כל המשתמשים" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "משתמשים מקוונים" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "‫ADSL" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "ערוץ סיב" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "ברירת מחדל" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "מחק" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "_אפשרויות" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "התחל תמיד וידאו" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "אפשר ראות-עצמית" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "_עזרה" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "הצג חלון ניפוי שגיאות" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "_עמוד הבית" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "בדיקת _עדכונים" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "אשף חשבון" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "כתובת SIP או מספר טלפון" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "התחל שיחה חדשה" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "אנשי קשר" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "חיפוש" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "הוסף אנשי קשר מן מדור" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "הוסף איש קשר" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "שיחות אחרונות" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "זהותי הנוכחית:" @@ -1344,9 +1295,7 @@ 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" @@ -1715,11 +1664,8 @@ 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 @@ -1790,60 +1736,68 @@ msgstr "מידע התחברות" msgid "Welcome!" msgstr "" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "‫ADSL" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "ערוץ סיב" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "מוכן" -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "מתקשר כעת" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "לא ניתן להתקשר" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "הגענו אל המספר המרבי של שיחות מקבילות, עמך הסליחה" -#: ../coreapi/linphonecore.c:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "מתקשר/ת אליך" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr " ומבקש/ת מענה אוטומטי." -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "מתאים כעת פרמטרים של שיחה..." -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "מקושר." -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "קריאה בוטלה" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "לא ניתן להשהות את השיחה" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "משהה כעת שיחה נוכחית..." -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "בדיקת STUN מצויה כעת בעיצומה..." -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "צבירת מועמדים מקומיים של ICE מצויה כעת בעיצומה..." @@ -1899,182 +1853,173 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 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:301 +#: ../coreapi/proxy.c:298 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:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "מחפש כעת עבור יעד מספר טלפון..." -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "לא ניתן לפתור את מספר זה." -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "לא ניתן להתחבר בזהות %s" -#: ../coreapi/proxy.c:1494 +#: ../coreapi/proxy.c:1411 #, c-format msgid "Refreshing on %s..." msgstr "" -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "צלצול מרוחק." -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "צלצול מרוחק..." -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "מדיה מוקדמת." -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." -msgstr "שיחה עם %s מושהית." +msgid "Call answered by %s" +msgstr "" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "קריאה נענתה על ידי %s - בהמתנה." - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "קריאה חודשה." -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "קריאה נענתה על ידי %s." - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 msgid "Incompatible, check codecs or security settings..." msgstr "חוסר תאימות, בדוק קודקים או הגדרות אבטחה..." -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "פרמטריי מדיה חסרי תואמים." -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "חזרנו." #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "אנו מושהים על ידי צד אחר." -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "שיחה עודכנה מרחוק." -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "קריאה הסתיימה." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "משתמש עסוק כעת." -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "משתמש לא זמין זמנית." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "משתמש לא מעוניין שיפריעו לו." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "קריאה סורבה." -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "מכוון מחדש" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "קריאה נכשלה." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "רישום אצל %s הושלם בהצלחה." -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "אי רישום אצל %s סוים." -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "אין היענות תוך זמן מוגדר" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "רישום אצל %s נכשל: %s" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "אות האימות הינה %s" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "" + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." msgstr[0] "החמצת שיחה %i." msgstr[1] "החמצת %i שיחות." -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2084,7 +2029,7 @@ msgid "" "Duration: %i mn %i sec\n" msgstr "" -#: ../coreapi/call_log.c:221 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "" diff --git a/po/hu.po b/po/hu.po index dc1155db5..83c71d022 100644 --- a/po/hu.po +++ b/po/hu.po @@ -1,80 +1,79 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: +# Free Bill , 2015 msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \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/belledonne-communications/" -"linphone-gtk/language/hu/)\n" -"Language: hu\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 08:30+0000\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Hungarian (http://www.transifex.com/belledonne-communications/linphone-gtk/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 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "%s hívása" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "Szöveg küldése a következőnek: %s" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "-" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "Megszakítva" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "Nem fogadott" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "Elutasítva" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%i perc" +msgstr[1] "%i perc" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%i másodperc" +msgstr[1] "%i másodperc" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" -msgstr "" +msgstr "%s\tMinőség: %s\n%s\t%s\t" -#: ../gtk/calllogs.c:342 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" -msgstr "" +msgstr "%s\t%s" #: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 msgid "Conference" @@ -89,7 +88,7 @@ msgstr "én" msgid "Couldn't find pixmap file: %s" msgstr "Nemtalálható a pixmap fájl: %s" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" msgstr "" @@ -119,11 +118,9 @@ 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" @@ -137,144 +134,129 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1058 +#: ../gtk/main.c:1040 #, 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:1135 +#: ../gtk/main.c:1117 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "Hiba a hívás közben" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "Hívás vége" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "Beérkező hívás" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Hívás fogadása" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Elutasítás" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "Hívás várakoztatva" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "a következő által: %s" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s szerené elidítani a videót. Elfogadja?" -#: ../gtk/main.c:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "Internetes oldal" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "%s (Alapértelmezett)" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "Át vagyunk irányítva ide: %s" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 msgid "" "No sound cards have been detected on this computer.\n" "You won't be able to send or receive audio calls." -msgstr "" -"Hangkártya nincs érzékelve ezen a számítógépen.\n" -"Nem fog tudni hang hívásokat küldeni vagy fogadni." +msgstr "Hangkártya nincs érzékelve ezen a számítógépen.\nNem fog tudni hang hívásokat küldeni vagy fogadni." -#: ../gtk/main.c:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "Egy ingyenes SIP video-telefon" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "Hozzáadás címjegyzékhez" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "Jelenlét státusz" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "Név" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "Hivás" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "Csevegés" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "Keresés ebben a könyvtárban: %s" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "Érvénytelen sip partner !" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "Kapcsolatinformációk szerkesztése: '%s'" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "'%s' partner törlése" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "Új partner hozzáadása ebből a könyvtárból: %s" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "Név" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "Érték (Hz)" @@ -373,22 +355,20 @@ msgstr "héber" #: ../gtk/propertybox.c:1186 msgid "Serbian" -msgstr "" +msgstr "szerb" #: ../gtk/propertybox.c:1187 msgid "Arabic" -msgstr "" +msgstr "arab" #: ../gtk/propertybox.c:1188 msgid "Turkish" -msgstr "" +msgstr "török" #: ../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:1325 msgid "None" @@ -411,9 +391,7 @@ 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.\n" -"Szeretné, hogy a letöltéshez egy új böngésző ablak nyíljon?" +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?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -446,165 +424,158 @@ msgid_plural "Found %i contacts" msgstr[0] "" msgstr[1] "" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "Fiók létrehozása a linphone.org -on" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 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:171 +#: ../gtk/setupwizard.c:172 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:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "Felhasználónév*" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "Jelszó*" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "Tartomány" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "Adja meg linphone.org felhasználónevét" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Felhasználónév:" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Jelszó:" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "(*) Mező kitöltése szükséges" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "Felhasználónév: (*)" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "Jelszó: (*)" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "E-mail: (*)" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "Jelszó megerősítése: (*)" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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.\n" -"Azutá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.\nAzután térjen vissza ide és kattintson a Következő gombra." -#: ../gtk/setupwizard.c:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." -msgstr "" -"Hiba, a fiók nincs érvényesítve. Valaki már használja ezt a felhasználónevet " -"vagy a kiszolgáló nem elérhető.\n" -"Kérjük, lépjen vissza és próbálja újra." +msgstr "Hiba, a fiók nincs érvényesítve. Valaki már használja ezt a felhasználónevet vagy a kiszolgáló nem elérhető.\nKérjük, lépjen vissza és próbálja újra." -#: ../gtk/setupwizard.c:521 +#: ../gtk/setupwizard.c:514 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:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "A fiók beállítása varázsló üdvözli Önt" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "Fiók beállítása varázsló" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 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:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "Adja meg sip felhasználónevét (1/2 lépés)" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "Adja meg a fiókinformációt (1/2 lépés)" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "Érvényesítés (2/2 lépés)" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "Hiba" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "Befejezés" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "Hívás #%i" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "Átirányítás #%i híváshoz ezzel: %s " @@ -666,9 +637,7 @@ msgstr "közvetlen vagy kiszolgálón keresztül" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "" -"letöltés: %f\n" -"feltöltés: %f (kbit/mp)" +msgstr "letöltés: %f\nfeltöltés: %f (kbit/mp)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -680,114 +649,112 @@ msgstr "" msgid "%.3f seconds" msgstr "%.3f másodperc" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "Befejezés" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "Hívás folyamatban..." -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" msgstr "00:00:00" -#: ../gtk/incall_view.c:524 +#: ../gtk/incall_view.c:569 msgid "Incoming call" msgstr "Beérkező hívás" -#: ../gtk/incall_view.c:561 +#: ../gtk/incall_view.c:606 msgid "good" msgstr "jó" -#: ../gtk/incall_view.c:563 +#: ../gtk/incall_view.c:608 msgid "average" msgstr "közepes" -#: ../gtk/incall_view.c:565 +#: ../gtk/incall_view.c:610 msgid "poor" msgstr "gyenge" -#: ../gtk/incall_view.c:567 +#: ../gtk/incall_view.c:612 msgid "very poor" msgstr "nagyon gyenge" -#: ../gtk/incall_view.c:569 +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "rossz" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "nem elérhető" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "SRTP-vel titkosítva" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "ZRTP-vel titkosítva - [hitelesítési jel: %s]" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "Beállítás ellenőrizetlenként" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Beállítás ellenőrzöttként" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "Konferencián" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "vonalban" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "Várakoztatott hívás" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "Hívás vége." -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "Átvitel folyamatban" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "Átvitel befejezve." -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "Az átvitel sikertelen." -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "Visszatérés" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Várakoztatás" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, 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:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "(Várakoztatva)" @@ -816,7 +783,7 @@ msgstr "" #: ../gtk/audio_assistant.c:105 msgid "Good" -msgstr "" +msgstr "Jó" #: ../gtk/audio_assistant.c:106 msgid "Too loud" @@ -888,7 +855,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "" @@ -905,94 +872,78 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "Minden felhasználó" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "Elérhető" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "ADSL" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "Fiber csatorna" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Alapértelmezett" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "Törlés" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "_Beállítások" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "Videó indítása mindig" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "Saját nézet" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "_Segítség" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "Hibakeresési ablak mutatása" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "_Honlap" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "Frissítések keresése" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "Fiók varázsló" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "Adja meg a SIP címet vagy a telefonszámot:" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "Új hívás kezdeményezése" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "Partnerek" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "Keresés" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "Partnerek hozzáadása könyvtárból" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "Partner hozzáadása" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "Legutóbbi hívások" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "Jelenlegi identitásom:" @@ -1006,9 +957,7 @@ 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 "" @@ -1342,9 +1291,7 @@ 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" @@ -1713,11 +1660,8 @@ 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 @@ -1788,60 +1732,68 @@ msgstr "Bejelentkezési információ" msgid "Welcome!" msgstr "" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "ADSL" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "Fiber csatorna" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "Kész" -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "Kapcsolódás" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "Nem sikerült hívni" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 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:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "kapcsolatba lépett veled." -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr "és automatikus választ kért." -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "A hívási jellemzők módosítása..." -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "Kapcsolódva." -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "Hívás megszakítva" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "Nem sikerült várakoztatni a hívást" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "Jelenlegi hívás várakoztatásának aktiválása..." -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "Stun keresés folyamatban..." -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "ICE helyi jelentkezők begyűjtése folyamatban..." @@ -1897,185 +1849,173 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 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:301 +#: ../coreapi/proxy.c:298 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:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "Telefonszám-cél keresése..." -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "Nem sikkerült értelmezni a számot." -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "Nem sikerült belépni ezzel: %s" -#: ../coreapi/proxy.c:1494 +#: ../coreapi/proxy.c:1411 #, c-format msgid "Refreshing on %s..." msgstr "" -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "Távoli csengés." -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "Távoli csengés..." -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "Korai médiák." -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." -msgstr "A hívás a következővel: %s várakoztatva" +msgid "Call answered by %s" +msgstr "" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "%s fogadta a hívást - várakoztatva." - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "Hívás visszatért" -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "%s válaszolt a hívásra." - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 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:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "Nem kompatibilis médiajellemzők." -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "Visszatértünk." #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "Megállítva a másik fél által." -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "A hívás távolról frissítve." -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "A hívás befejezve." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "A felhasználó foglalt." -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "A felhasználó ideiglenesen nem elérhető" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "A felhasználó nem akarja, hogy zavarják." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "Hívás elutasítva" -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "Átirányítva" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "Nem sikerült a hívás." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "A regisztáció a %s -n sikerült." -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "A kiregisztrálás kész a következőn: %s ." -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "időtúllépés után nincs válasz" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "A regisztáció a %s -n nem sikerült: %s" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "Hitelesítési jel: %s" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "" + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." msgstr[0] "" msgstr[1] "" -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2085,7 +2025,7 @@ msgid "" "Duration: %i mn %i sec\n" msgstr "" -#: ../coreapi/call_log.c:221 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "" diff --git a/po/it.po b/po/it.po index 12b147d6d..a0c8b175b 100644 --- a/po/it.po +++ b/po/it.po @@ -1,79 +1,77 @@ # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# +# # Translators: +# Daniele , 2015 # Fabrizio Carrai, 2015 msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-08-24 11:11+0200\n" -"PO-Revision-Date: 2015-08-03 18:31+0000\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-17 13:26+0000\n" "Last-Translator: Fabrizio Carrai\n" -"Language-Team: Italian (http://www.transifex.com/belledonne-communications/" -"linphone-gtk/language/it/)\n" -"Language: it\n" +"Language-Team: Italian (http://www.transifex.com/belledonne-communications/linphone-gtk/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 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "Chiama %s" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" -msgstr "Invia testo a %s" +msgstr "Invia messaggio a %s" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "Chiamate recenti (%i)" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "n/d" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "Annullata" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "Persa" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "Rifiutata" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "%i minuto" msgstr[1] "%i minuti" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "%i secondo" msgstr[1] "%i secondi" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format 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 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "%s\t%s" @@ -91,15 +89,13 @@ msgstr "Me" msgid "Couldn't find pixmap file: %s" msgstr "Impossibile trovare il file pixmap %s" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" -msgstr "" +msgstr "Copia" #: ../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." @@ -123,11 +119,9 @@ 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" @@ -141,150 +135,129 @@ 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:1058 +#: ../gtk/main.c:1040 #, 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." +msgstr "%s vorrebbe aggiungerti alla sua lista dei contatti.\nVuoi aggiungerlo/a ai tuoi contatti e pemettergli di conoscere la tua presenza?\nSe rispondi NO questa persona verrà temporaneamente bloccata." -#: ../gtk/main.c:1135 +#: ../gtk/main.c:1117 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" -msgstr "" -"Digitare la password per l'utente %s\n" -"nel dominio %s:" +msgstr "Digitare la password per l'utente %s\nnel dominio %s:" -#: ../gtk/main.c:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "Errore durante la chiamata" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "Chiamata terminata" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "Chiamata in arrivo" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Risposta" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Rifiuta" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "Chiamata in pausa" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "da %s" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s chiede di avviare il video. Accetti ?" -#: ../gtk/main.c:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "Collegamento al sito web" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "Un videotelefono su internet" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "%s (Default)" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "Siamo trasferiti verso %s" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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.\n" -"Non sarà possibile effettuare o ricevere chiamate in voce." +msgstr "Non è stata trovata nessuna scheda audio.\nNon sarà possibile effettuare o ricevere chiamate in voce." -#: ../gtk/main.c:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "Un videotelefono SIP free" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "Salve\n" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "Aggiungi alla rubrica" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "Presenza" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "Nome" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "Chiama" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "Chat" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "Cerca contatti nella directory %s" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "Contatto SIP non valido" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "Modifica contatto %s" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "Elimina il contatto %s" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "Cancella la cronologia della chat con '%s'" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "Aggiungi nuovo contatto dalla directory %s" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "Nome" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "Frequenza (Hz)" @@ -419,9 +392,7 @@ 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.\n" -"Vuoi aprire un browser per eseguire il download ?" +msgstr "Una versione più recente è disponibile su %s.\nVuoi aprire un browser per eseguire il download ?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -454,167 +425,158 @@ msgid_plural "Found %i contacts" msgstr[0] "Trovato %i contatto" msgstr[1] "Trovati %i contatti" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." -msgstr "" -"Benvenuto!\n" -"L'assistente vi aiuterà ad usare un indirizzo SIP per le vostre chiamate." +msgstr "Benvenuto!\nL'assistente vi aiuterà ad usare un indirizzo SIP per le vostre chiamate." -#: ../gtk/setupwizard.c:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "Creare un account su linphone.org" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 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:171 +#: ../gtk/setupwizard.c:172 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:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "Voglio specificare un URI per la configurazione remota" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "Inserire i dati del vostro account" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "Nome utente*" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "Password*" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "Dominio*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "Immettere il vostro nome utente su linphone.org" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Nome utente:" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Password:" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "(*) Campi obbligatori" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "Nome utente: (*)" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "Password: (*)" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "Email: (*)" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "Confermare la password: (*)" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "Mantenetemi aggiornato sugli aggiornamenti di linphone" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "Il vostro account è stato creato, attendere." -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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.\n" -"Quindi tornare qui e premere il tasto \"Avanti\"." +msgstr "Attivate il vostro account cin il link che vi è appena stato inviato per posta elettronica.\nQuindi tornare qui e premere il tasto \"Avanti\"." -#: ../gtk/setupwizard.c:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." msgstr "Verifica della validazione dell'account, attendere." -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 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.\n" -"Tornare indietro e riprovare." +msgstr "Errore, account non valido, nome utente già in uso o server non raggiungibile.\nTornare indietro e riprovare." -#: ../gtk/setupwizard.c:521 +#: ../gtk/setupwizard.c:514 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:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "Assistente per la configurazione di un account SIP" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "Benvenuto nel configuratore di account" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "Configuratore di account" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "Configurare il tuo account (passo 1/1)" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "Introdurre il vostro nome utente SIP (passo 1/1)" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "Introdurre le informazioni dell'account (passo 1/2)" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "Creazione dell'account in corso" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "Validazione (passo 2/2)" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "Controllo della validazione dell'account in corso" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "Errore" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "Terminando" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "Chiamata #%i" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "Trasferimento per chiamare #%i con %s" @@ -676,9 +638,7 @@ msgstr "Diretto o attraverso un server" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "" -"download: %f\n" -"upload: %f (kbit/s)" +msgstr "download: %f\nupload: %f (kbit/s)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -690,114 +650,112 @@ msgstr "%ix%i @ %f fps" msgid "%.3f seconds" msgstr "%.3f secondi" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "Riagganciare" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "Chiamando..." -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" msgstr "00:00:00" -#: ../gtk/incall_view.c:524 +#: ../gtk/incall_view.c:569 msgid "Incoming call" msgstr "Chiamata in ingresso" -#: ../gtk/incall_view.c:561 +#: ../gtk/incall_view.c:606 msgid "good" msgstr "bene" -#: ../gtk/incall_view.c:563 +#: ../gtk/incall_view.c:608 msgid "average" msgstr "media" -#: ../gtk/incall_view.c:565 +#: ../gtk/incall_view.c:610 msgid "poor" msgstr "ridotto" -#: ../gtk/incall_view.c:567 +#: ../gtk/incall_view.c:612 msgid "very poor" msgstr "molto poco" -#: ../gtk/incall_view.c:569 +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "troppo brutto" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "non disponibile" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "Trasmissione sicura con SRTP" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "Trasmissione sicura con DTLS" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "Trasmissione sicura con ZRTP - [auth token: %s]" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" -msgstr "Marcato con non verificato" +msgstr "Marcato come non verificato" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Marcato come verificato" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "In conferenza" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "Chiamata in corso" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "Chiamata sospesa" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "Chiamata terminata." -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "Trasferimento in corso" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "Trasferimento completato." -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "Trasferimento fallito." -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "Riprendere" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Pausa" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" -msgstr "" -"Registrare in\n" -"%s %s" +msgstr "Registrare in\n%s %s" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "(Sospeso)" @@ -848,9 +806,7 @@ 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!\n" -"L'assistente ti aiuterà a configurare i settaggi audio di Linphone" +msgstr "Benvenuto!\nL'assistente ti aiuterà a configurare i settaggi audio di Linphone" #: ../gtk/audio_assistant.c:335 msgid "Capture device" @@ -900,7 +856,7 @@ msgstr "Ora avviamo Linphone" msgid "Audio Assistant" msgstr "Assistente Audio" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "Assistente Audio" @@ -917,94 +873,78 @@ msgid "Record and Play" msgstr "Registra e Riproduci" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "Tutti gli utenti" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "Utenti in linea" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "ADSL" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "Fibra ottica" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Default" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "Cancellare" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "_Options" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "Imposta l' URI di configurazione" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "Avvia sempre il video" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "Self-view abilitato" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "_Help" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "Mostra la finestra di debug" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "_Homepage" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "Check _Updates" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "Assistente per l'account" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "Indirizzo sip o numero." -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "Inizia una nuova chiamata" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "Contatti" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "Ricerca" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "Aggiungi contatti dalla directory" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "Aggiungi un contatto" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "Chiamate recenti" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "Identità corrente" @@ -1034,20 +974,7 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: 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" +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" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1227,8 +1154,7 @@ 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):" @@ -1366,9 +1292,7 @@ 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" @@ -1416,7 +1340,7 @@ msgstr "Fissa" #: ../gtk/parameters.ui.h:65 msgid "Video RTP/UDP:" -msgstr "Video RTP/UDP" +msgstr "Video RTP/UDP:" #: ../gtk/parameters.ui.h:66 msgid "Media encryption type" @@ -1737,17 +1661,9 @@ 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. " -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." +"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.\nDi 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..." @@ -1771,7 +1687,7 @@ msgstr "Fine della conferenza" #: ../gtk/in_call_frame.ui.h:2 msgid "Click here to set the speakers volume" -msgstr "" +msgstr "Selezionare qui per regolare il volume" #: ../gtk/in_call_frame.ui.h:5 msgid "Record this call to an audio file" @@ -1817,60 +1733,68 @@ msgstr "Credenziali di accesso" msgid "Welcome!" msgstr "Benvenuto!" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "ADSL" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "Fibra ottica" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "Pronto" -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "Configurando" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "In connessione" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "Impossibile chiamare" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Spiacenti, è stato raggiunto il massimo numero di chiamate simultanee" -#: ../coreapi/linphonecore.c:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "ti sta contattando" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr "e ha richiesto la risposta automatica" -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "Modificando i parametri di chiamata..." -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "Connessione" -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "Chiamata annullata" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "Impossibile sospendere la chiamata" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "Sospensione della chiamata in corso..." -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "Ricerca Stun in progresso ..." -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "Raccolta dei candidati ICE locali in corso..." @@ -1926,183 +1850,173 @@ msgstr "Assente" msgid "Unknown status" msgstr "Stato sconosciuto" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 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:301 +#: ../coreapi/proxy.c:298 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.\n" -"Dovrebbre essere sip:username@proxydomain, esempio: sip:alice@example.net" +msgstr "L'identità sip utilizza è invalida.\nDovrebbre essere sip:username@proxydomain, esempio: sip:alice@example.net" -#: ../coreapi/proxy.c:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "Ricerca numero destinazione..." -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "Impossibile risolvere il numero." -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "impossibile login come %s" -#: ../coreapi/proxy.c:1494 -#, fuzzy, c-format +#: ../coreapi/proxy.c:1411 +#, c-format msgid "Refreshing on %s..." -msgstr "prelevando da %s" +msgstr "Aggiornamento da %s..." -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "Il chiamato sta squillando." -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "Il chiamato sta squillando..." -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "Early media." -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." -msgstr "La chiamata con %s è stata sospesa." +msgid "Call answered by %s" +msgstr "Risposta da %s." -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "Chiamata con %s - in attesa." - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "Prosecuzione della chiamata." -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "Risposta da %s." - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 msgid "Incompatible, check codecs or security settings..." msgstr "Incompatibile, controllare i codecs o i parametri della sicurezza..." -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "Parametri di comunicazione incompatibili." -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "La comunicazione è stata ripresa." #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "L'interlocutore ci ha messi in attesa." -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "Aggiornamento della chiamata dalla parte remota." -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "Chiamata terminata." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "Utente occupato" -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "Utente non disponibile" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "L'utente non vuole essere disturbato" -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "Chiamata rifiutata" -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "Richiesta scaduta" -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "Trasferito" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "Chiamata non riuscita." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "Registrazione su %s attiva" -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "Unregistrazione su %s" -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "timeout no risposta" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "Registrazione su %s fallita: %s" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "Servizio non disponibile, nuovo tentativo in corso" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "Il codice di autenticazione è %s" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "I parametri della chiamata sono stati modificati con successo: %s." + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "I parametri della chiamata sono stati modificati con successo." -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." msgstr[0] "%i chiamata persa." msgstr[1] "%i chiamate perse." -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "annulata" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "completata" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "persa" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "sconosciuto" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2110,14 +2024,9 @@ msgid "" "To: %s\n" "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" +msgstr "%s a %s\nDa: %s\nA: %s\nStato: %s\nDurata: %i min %i sec\n" -#: ../coreapi/call_log.c:221 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "chiamata in uscita" diff --git a/po/ja.po b/po/ja.po index c0d7b5838..85435127c 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,71 +9,67 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \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/belledonne-communications/" -"linphone-gtk/language/ja/)\n" -"Language: ja\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 08:30+0000\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Japanese (http://www.transifex.com/belledonne-communications/linphone-gtk/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 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "%s を呼び出し中" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "%s に文章を送信" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "通話時間 (%i)" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "n/a" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "中断" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "失敗" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "辞退" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "%i 分" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "%i 秒" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format 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 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "%s⇥%s" @@ -91,7 +87,7 @@ msgstr "自分" msgid "Couldn't find pixmap file: %s" msgstr "pixmapファイルが見つかりません %s" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" msgstr "" @@ -121,11 +117,9 @@ 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" @@ -139,142 +133,129 @@ msgstr "オーディオアシスタントを実行" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1058 +#: ../gtk/main.c:1040 #, 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:1135 +#: ../gtk/main.c:1117 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "呼出エラー" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "呼出終了" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "着信" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "応答" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "拒否" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "呼び出しの一時停止" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "%s" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "ウェブサイトリンク" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "%s (デフォルト)" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "%s に転送しました" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "無料 SIP ビデオ-電話" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "電話帳に追加する" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "状態のステータス" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "名前" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "通話" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "チャット" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "%s のディレクトリ内を検索" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "無効なSIP接続です!" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "'%s' の連絡先を編集" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "'%s' の連絡先を削除" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "'%s' のチャット履歴を削除" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "名前" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "レート (Hz)" @@ -409,9 +390,7 @@ 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." @@ -443,165 +422,158 @@ msgid "Found %i contact" msgid_plural "Found %i contacts" msgstr[0] "%i 件発見" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 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:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "linphone.orgのアカウントを作成" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 msgid "I have already a linphone.org account and I just want to use it" msgstr "linphone.orgのアカウントを持っているのでそれを使います" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:172 msgid "I have already a sip account and I just want to use it" msgstr "SIPアカウントを持っているのでそれを使います" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "ユーザー名*" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "パスワード*" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "ドメイン*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "プロキシ*" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "linphone.orgで取得したユーザー名を入力" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "ユーザー名:" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "パスワード:" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "(*) 必須" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "ユーザー名: (*)" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "パスワード: (*)" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "メールアドレス: (*)" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "パスワードを再入力: (*)" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "アップデートでLinphoneを常に最新にする" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." msgstr "" -#: ../gtk/setupwizard.c:521 +#: ../gtk/setupwizard.c:514 msgid "Thank you. Your account is now configured and ready for use." -msgstr "" -"ありがとう。あなたのアカウントは無事に設定され、使用する準備ができました。" +msgstr "ありがとう。あなたのアカウントは無事に設定され、使用する準備ができました。" -#: ../gtk/setupwizard.c:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "SIPアカウント設定アシスタント" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "アカウント設定アシスタントへようこそ" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "アカウント設定アシスタント" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "アカウントを設定します (1/1)" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "SIPのユーザー名を入力してください (1/1)" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "アカウント情報を入力してください (1/2)" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "検証します (2/2)" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "エラー" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "終了" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "呼び出し #%i" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "" @@ -663,9 +635,7 @@ 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 @@ -677,112 +647,112 @@ msgstr "%ix%i @ %f fps" msgid "%.3f seconds" msgstr "%.3f 秒" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "かけています…" -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" -msgstr "00:00:00" +msgstr "" -#: ../gtk/incall_view.c:524 +#: ../gtk/incall_view.c:569 msgid "Incoming call" msgstr "着信" -#: ../gtk/incall_view.c:561 +#: ../gtk/incall_view.c:606 msgid "good" msgstr "良い" -#: ../gtk/incall_view.c:563 +#: ../gtk/incall_view.c:608 msgid "average" msgstr "アベレージ" -#: ../gtk/incall_view.c:565 +#: ../gtk/incall_view.c:610 msgid "poor" msgstr "悪い" -#: ../gtk/incall_view.c:567 +#: ../gtk/incall_view.c:612 msgid "very poor" msgstr "非常にプアな" -#: ../gtk/incall_view.c:569 +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "非常にバッドな" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "利用できません" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "SRTPのセキュリティ" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "ZRTP によるセキュリティ - [auth token: %s]" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "セット未検証" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "セット検証済" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "会議で" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "呼び出し中" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "呼び出し停止" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "呼び出し終了" -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "進行中の転送" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "転送完了。" -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "転送失敗。" -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "レジューム" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "一時停止" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "(停止中)" @@ -883,7 +853,7 @@ msgstr "Linphoneをはじめる" msgid "Audio Assistant" msgstr "音声アシスタント" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "音声アシスタント" @@ -900,94 +870,78 @@ msgid "Record and Play" msgstr "録音して再生" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "すべての利用者" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "オンラインの利用者" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "ADSL" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "デフォルト" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "削除" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "_オプション" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "いつでもビデオをスタートする" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "セルフビューを有効にする" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "_ヘルプ" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "デバッグウインドウを見る" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "_ホームページ" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "チェック _アップデート" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "アカウントのアシスタント" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "SIPアドレスもしくは電話番号:" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "検索" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "連絡相手に追加する" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "" @@ -1001,9 +955,7 @@ 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 "" @@ -1019,19 +971,7 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: 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" +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" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1718,11 +1658,8 @@ 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 @@ -1793,60 +1730,68 @@ msgstr "ログイン情報" msgid "Welcome!" msgstr "" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "ADSL" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "準備" -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr "と自動応答を尋ねる" -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "コールパラメーターの変更..." -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "接続しました。" -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "呼び出しを打ち切る" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "呼び出しを一時停止できませんでした" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "現在の通話を一時停止..." -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "Stunによるルックアップの進行中…" -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "" @@ -1902,178 +1847,172 @@ msgstr "休暇中" msgid "Unknown status" msgstr "不明なステータス" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." msgstr "" -#: ../coreapi/proxy.c:301 +#: ../coreapi/proxy.c:298 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:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "" -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "" -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "" -#: ../coreapi/proxy.c:1494 +#: ../coreapi/proxy.c:1411 #, c-format msgid "Refreshing on %s..." msgstr "" -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "" -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "Early media." -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." +msgid "Call answered by %s" msgstr "" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "" - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "" - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "" -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "呼び出し終了。" -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "相手はビジーです。" -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "相手は、今出られません。" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "相手は手が離せないようです。" -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "通話は拒否されました。" -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "リクエストは時間切れです。" -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "" -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "" + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." msgstr[0] "" -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "不明" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2083,7 +2022,7 @@ msgid "" "Duration: %i mn %i sec\n" msgstr "" -#: ../coreapi/call_log.c:221 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "" diff --git a/po/lt.po b/po/lt.po new file mode 100644 index 000000000..c3d4750c3 --- /dev/null +++ b/po/lt.po @@ -0,0 +1,2039 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +# Moo, 2015 +msgid "" +msgstr "" +"Project-Id-Version: linphone-gtk\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 09:27+0000\n" +"Last-Translator: Moo\n" +"Language-Team: Lithuanian (http://www.transifex.com/belledonne-communications/linphone-gtk/language/lt/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: lt\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 +#, c-format +msgid "Call %s" +msgstr "Skambinti %s" + +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 +#, c-format +msgid "Send text to %s" +msgstr "Siųsti tekstą į %s" + +#: ../gtk/calllogs.c:261 +#, c-format +msgid "Recent calls (%i)" +msgstr "Paskiausi skambučiai (%i)" + +#: ../gtk/calllogs.c:340 +msgid "n/a" +msgstr "" + +#: ../gtk/calllogs.c:343 +msgid "Aborted" +msgstr "Nutrauktas" + +#: ../gtk/calllogs.c:346 +msgid "Missed" +msgstr "Praleistas" + +#: ../gtk/calllogs.c:349 +msgid "Declined" +msgstr "Atmestas" + +#: ../gtk/calllogs.c:355 +#, c-format +msgid "%i minute" +msgid_plural "%i minutes" +msgstr[0] "%i minutė" +msgstr[1] "%i minutės" +msgstr[2] "%i minučių" + +#: ../gtk/calllogs.c:358 +#, c-format +msgid "%i second" +msgid_plural "%i seconds" +msgstr[0] "%i sekundė" +msgstr[1] "%i sekundės" +msgstr[2] "%i sekundžių" + +#: ../gtk/calllogs.c:363 +#, c-format +msgid "" +"%s\tQuality: %s\n" +"%s\t%s\t" +msgstr "%s\tKokybė: %s\n%s\t%s\t" + +#: ../gtk/calllogs.c:367 +#, c-format +msgid "%s\t%s" +msgstr "%s\t%s" + +#: ../gtk/conference.c:38 ../gtk/in_call_frame.ui.h:11 +msgid "Conference" +msgstr "" + +#: ../gtk/conference.c:46 +msgid "Me" +msgstr "" + +#: ../gtk/support.c:49 ../gtk/support.c:73 ../gtk/support.c:102 +#, c-format +msgid "Couldn't find pixmap file: %s" +msgstr "" + +#: ../gtk/chat.c:508 +msgid "Copy" +msgstr "" + +#: ../gtk/main.c:138 +msgid "log to stdout some debug information while running." +msgstr "kol vykdoma, rašyti į stdout kai kurią derinimo informaciją." + +#: ../gtk/main.c:139 +msgid "display version and exit." +msgstr "parodyti versiją ir išeiti." + +#: ../gtk/main.c:140 +msgid "path to a file to write logs into." +msgstr "kelias į failą, į kurį rašyti žurnalus." + +#: ../gtk/main.c:141 +msgid "Start linphone with video disabled." +msgstr "Paleisti linphone su išjungtu vaizdu." + +#: ../gtk/main.c:142 +msgid "Start only in the system tray, do not show the main interface." +msgstr "Paleisti tik sistemos dėkle, nerodyti pagrindinės sąsajos." + +#: ../gtk/main.c:143 +msgid "address to call right now" +msgstr "adresas, į kurį tuoj pat skambinti" + +#: ../gtk/main.c:144 +msgid "" +"Specifiy a working directory (should be the base of the installation, eg: " +"c:\\Program Files\\Linphone)" +msgstr "Nurodyti darbinį katalogą (turėtų būti diegimo bazė, pvz.,: c:\\Program Files\\Linphone)" + +#: ../gtk/main.c:145 +msgid "Configuration file" +msgstr "" + +#: ../gtk/main.c:146 +msgid "Run the audio assistant" +msgstr "Vykdyti garso pagelbiklį" + +#: ../gtk/main.c:147 +msgid "Run self test and exit 0 if succeed" +msgstr "" + +#: ../gtk/main.c:1040 +#, 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" +"If you answer no, this person will be temporarily blacklisted." +msgstr "" + +#: ../gtk/main.c:1117 +#, c-format +msgid "" +"Please enter your password for username %s\n" +" at realm %s:" +msgstr "" + +#: ../gtk/main.c:1242 +msgid "Call error" +msgstr "Skambučio klaida" + +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 +msgid "Call ended" +msgstr "Skambutis užbaigtas" + +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 +msgid "Incoming call" +msgstr "Įeinantis skambutis" + +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 +msgid "Answer" +msgstr "Atsiliepti" + +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 +msgid "Decline" +msgstr "Atmesti" + +#: ../gtk/main.c:1258 +msgid "Call paused" +msgstr "Skambutis pristabdytas" + +#: ../gtk/main.c:1258 +#, c-format +msgid "by %s" +msgstr "naudotojo %s" + +#: ../gtk/main.c:1328 +#, c-format +msgid "%s proposed to start video. Do you accept ?" +msgstr "%s pasiūlė pradėti vaizdą. Jūs sutinkate ?" + +#: ../gtk/main.c:1494 +msgid "Website link" +msgstr "Svetainės nuoroda" + +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 +msgid "Linphone" +msgstr "Linphone" + +#: ../gtk/main.c:1554 +msgid "A video internet phone" +msgstr "" + +#: ../gtk/main.c:1613 +#, c-format +msgid "%s (Default)" +msgstr "" + +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 +#, c-format +msgid "We are transferred to %s" +msgstr "" + +#: ../gtk/main.c:1928 +msgid "" +"No sound cards have been detected on this computer.\n" +"You won't be able to send or receive audio calls." +msgstr "Šiame kompiuteryje nebuvo aptikta jokių garso plokščių.\nJūs negalėsite siųsti ir priimti garso skambučių." + +#: ../gtk/main.c:2087 +msgid "A free SIP video-phone" +msgstr "Nemokamas SIP vaizdo telefonas" + +#: ../gtk/main.c:2200 +#, c-format +msgid "Hello\n" +msgstr "Sveiki\n" + +#: ../gtk/friendlist.c:442 +msgid "Add to addressbook" +msgstr "Pridėti į adresų knygą" + +#: ../gtk/friendlist.c:626 +#, c-format +msgid "Search in %s directory" +msgstr "" + +#: ../gtk/friendlist.c:771 +msgid "Invalid sip contact !" +msgstr "Netaisyklingas sip kontaktas !" + +#: ../gtk/friendlist.c:823 +#, c-format +msgid "Edit contact '%s'" +msgstr "Redaguoti kontaktą \"%s\"" + +#: ../gtk/friendlist.c:824 +#, c-format +msgid "Delete contact '%s'" +msgstr "Ištrinti kontaktą \"%s\"" + +#: ../gtk/friendlist.c:825 +#, c-format +msgid "Delete chat history of '%s'" +msgstr "" + +#: ../gtk/friendlist.c:876 +#, c-format +msgid "Add new contact from %s directory" +msgstr "" + +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "Vardas" + +#: ../gtk/propertybox.c:597 +msgid "Rate (Hz)" +msgstr "Sparta (Hz)" + +#: ../gtk/propertybox.c:603 +msgid "Status" +msgstr "Būsena" + +#: ../gtk/propertybox.c:616 +msgid "IP Bitrate (kbit/s)" +msgstr "IP Pralaidumas (kbit/s)" + +#: ../gtk/propertybox.c:627 +msgid "Parameters" +msgstr "Parametrai" + +#: ../gtk/propertybox.c:669 ../gtk/propertybox.c:823 +msgid "Enabled" +msgstr "Įjungta" + +#: ../gtk/propertybox.c:671 ../gtk/propertybox.c:823 ../gtk/parameters.ui.h:60 +msgid "Disabled" +msgstr "Išjungta" + +#: ../gtk/propertybox.c:901 +msgid "Account" +msgstr "" + +#: ../gtk/propertybox.c:1169 +msgid "English" +msgstr "Anglų" + +#: ../gtk/propertybox.c:1170 +msgid "French" +msgstr "Prancūzų" + +#: ../gtk/propertybox.c:1171 +msgid "Swedish" +msgstr "Švedų" + +#: ../gtk/propertybox.c:1172 +msgid "Italian" +msgstr "Italų" + +#: ../gtk/propertybox.c:1173 +msgid "Spanish" +msgstr "Ispanų" + +#: ../gtk/propertybox.c:1174 +msgid "Brazilian Portugese" +msgstr "Brazilijos Portugalų" + +#: ../gtk/propertybox.c:1175 +msgid "Polish" +msgstr "Lenkų" + +#: ../gtk/propertybox.c:1176 +msgid "German" +msgstr "Vokiečių" + +#: ../gtk/propertybox.c:1177 +msgid "Russian" +msgstr "Rusų" + +#: ../gtk/propertybox.c:1178 +msgid "Japanese" +msgstr "Japonų" + +#: ../gtk/propertybox.c:1179 +msgid "Dutch" +msgstr "Olandų" + +#: ../gtk/propertybox.c:1180 +msgid "Hungarian" +msgstr "Vengrų" + +#: ../gtk/propertybox.c:1181 +msgid "Czech" +msgstr "Čekų" + +#: ../gtk/propertybox.c:1182 +msgid "Chinese" +msgstr "Kinų" + +#: ../gtk/propertybox.c:1183 +msgid "Traditional Chinese" +msgstr "Tradicinė Kinų" + +#: ../gtk/propertybox.c:1184 +msgid "Norwegian" +msgstr "Norvegų" + +#: ../gtk/propertybox.c:1185 +msgid "Hebrew" +msgstr "Hebrajų" + +#: ../gtk/propertybox.c:1186 +msgid "Serbian" +msgstr "Serbų" + +#: ../gtk/propertybox.c:1187 +msgid "Arabic" +msgstr "Arabų" + +#: ../gtk/propertybox.c:1188 +msgid "Turkish" +msgstr "Turkų" + +#: ../gtk/propertybox.c:1245 +msgid "" +"You need to restart linphone for the new language selection to take effect." +msgstr "Tam, kad įsigaliotų naujas kalbos pasirinkimas, turite iš naujo paleisti programą linphone." + +#: ../gtk/propertybox.c:1325 +msgid "None" +msgstr "Nėra" + +#: ../gtk/propertybox.c:1329 +msgid "SRTP" +msgstr "SRTP" + +#: ../gtk/propertybox.c:1335 +msgid "DTLS" +msgstr "DTLS" + +#: ../gtk/propertybox.c:1342 +msgid "ZRTP" +msgstr "ZRTP" + +#: ../gtk/update.c:80 +#, c-format +msgid "" +"A more recent version is availalble from %s.\n" +"Would you like to open a browser to download it ?" +msgstr "" + +#: ../gtk/update.c:91 +msgid "You are running the lastest version." +msgstr "Jūs naudojatės paskiausia versija." + +#: ../gtk/buddylookup.c:85 +msgid "Firstname, Lastname" +msgstr "Vardas, Pavardė" + +#: ../gtk/buddylookup.c:160 +msgid "Error communicating with server." +msgstr "Klaida, susisiekiant su serveriu." + +#: ../gtk/buddylookup.c:164 +msgid "Connecting..." +msgstr "Jungiamasi..." + +#: ../gtk/buddylookup.c:168 +msgid "Connected" +msgstr "Prisijungta" + +#: ../gtk/buddylookup.c:172 +msgid "Receiving data..." +msgstr "Gaunami duomenys..." + +#: ../gtk/buddylookup.c:180 +#, c-format +msgid "Found %i contact" +msgid_plural "Found %i contacts" +msgstr[0] "Rastas %i kontaktas" +msgstr[1] "Rasti %i kontaktai" +msgstr[2] "Rasta %i kontaktų" + +#: ../gtk/setupwizard.c:161 +msgid "" +"Welcome!\n" +"This assistant will help you to use a SIP account for your calls." +msgstr "Sveiki!\nŠis pagelbiklis padės jums savo skambučiams naudoti SIP paskyrą." + +#: ../gtk/setupwizard.c:170 +msgid "Create an account on linphone.org" +msgstr "Susikurti linphone.org paskyrą" + +#: ../gtk/setupwizard.c:171 +msgid "I have already a linphone.org account and I just want to use it" +msgstr "Aš jau turiu linphone.org paskyrą ir, tiesiog, noriu ją naudoti" + +#: ../gtk/setupwizard.c:172 +msgid "I have already a sip account and I just want to use it" +msgstr "Aš jau turiu sip paskyrą ir, tiesiog, noriu ją naudoti" + +#: ../gtk/setupwizard.c:173 +msgid "I want to specify a remote configuration URI" +msgstr "Aš noriu nurodyti nuotolinės konfigūracijos URI" + +#: ../gtk/setupwizard.c:207 +msgid "Enter your account information" +msgstr "" + +#: ../gtk/setupwizard.c:222 +msgid "Username*" +msgstr "Naudotojo vardas*" + +#: ../gtk/setupwizard.c:223 +msgid "Password*" +msgstr "Slaptažodis*" + +#: ../gtk/setupwizard.c:226 +msgid "Domain*" +msgstr "Sritis*" + +#: ../gtk/setupwizard.c:227 +msgid "Proxy" +msgstr "Įgaliotasis serveris" + +#: ../gtk/setupwizard.c:264 +msgid "Enter your linphone.org username" +msgstr "Įveskite savo linphone.org naudotojo vardą" + +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +msgid "Username:" +msgstr "Naudotojo vardas:" + +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +msgid "Password:" +msgstr "Slaptažodis:" + +#: ../gtk/setupwizard.c:412 +msgid "(*) Required fields" +msgstr "(*) Būtini laukai" + +#: ../gtk/setupwizard.c:413 +msgid "Username: (*)" +msgstr "Naudotojo vardas: (*)" + +#: ../gtk/setupwizard.c:415 +msgid "Password: (*)" +msgstr "Slaptažodis: (*)" + +#: ../gtk/setupwizard.c:417 +msgid "Email: (*)" +msgstr "El. paštas: (*)" + +#: ../gtk/setupwizard.c:419 +msgid "Confirm your password: (*)" +msgstr "Patvirtinkite savo slaptažodį: (*)" + +#: ../gtk/setupwizard.c:434 +msgid "Keep me informed with linphone updates" +msgstr "Informuokite mane apie linphone atnaujinimus" + +#: ../gtk/setupwizard.c:479 +msgid "Your account is being created, please wait." +msgstr "Jūsų paskyra yra kuriama, prašome palaukti." + +#: ../gtk/setupwizard.c:487 +msgid "" +"Please validate your account by clicking on the link we just sent you by email.\n" +"Then come back here and press Next button." +msgstr "Prašome patvirtinti savo paskyrą, nuspaudžiant nuorodą, kurią ką tik atsiuntėme jums el. paštu.\nTuomet grįžkite čia ir spauskite mygtuką Pirmyn." + +#: ../gtk/setupwizard.c:497 +msgid "Checking if your account is been validated, please wait." +msgstr "Tikrinama ar jūsų paskyra buvo patvirtinta, prašome palaukti." + +#: ../gtk/setupwizard.c:505 +msgid "" +"Error, account not validated, username already used or server unreachable.\n" +"Please go back and try again." +msgstr "Klaida, paskyra nepatvirtinta, naudotojo vardas jau yra naudojamas arba serveris nepasiekiamas.\nPrašome grįžti atgal ir bandyti dar kartą." + +#: ../gtk/setupwizard.c:514 +msgid "Thank you. Your account is now configured and ready for use." +msgstr "Dėkojame. Jūsų paskyra yra sukonfigūruota ir paruošta naudoti." + +#: ../gtk/setupwizard.c:548 +msgid "SIP account configuration assistant" +msgstr "SIP paskyros konfigūravimo pagelbiklis" + +#: ../gtk/setupwizard.c:564 +msgid "Welcome to the account setup assistant" +msgstr "Sveiki atvykę į paskyros sąrankos pagelbiklį" + +#: ../gtk/setupwizard.c:569 +msgid "Account setup assistant" +msgstr "Paskyros sąrankos pagelbiklis" + +#: ../gtk/setupwizard.c:574 +msgid "Configure your account (step 1/1)" +msgstr "Konfigūruokite savo paskyrą (žingsnis 1/1)" + +#: ../gtk/setupwizard.c:578 +msgid "Enter your sip username (step 1/1)" +msgstr "Įveskite savo sip paskyros naudotojo vardą (žingsnis 1/1)" + +#: ../gtk/setupwizard.c:582 +msgid "Enter account information (step 1/2)" +msgstr "Įveskite paskyros informaciją (žingsnis 1/2)" + +#: ../gtk/setupwizard.c:587 +msgid "Account creation in progress" +msgstr "Paskyra kūrimo eigoje" + +#: ../gtk/setupwizard.c:591 +msgid "Validation (step 2/2)" +msgstr "Patvirtinimas (žingsnis 2/2)" + +#: ../gtk/setupwizard.c:596 +msgid "Account validation check in progress" +msgstr "Pakyros patvirtinimo patikrinimas eigoje" + +#: ../gtk/setupwizard.c:600 +msgid "Error" +msgstr "Klaida" + +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 +msgid "Terminating" +msgstr "Baigiama" + +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 +#, c-format +msgid "Call #%i" +msgstr "Skambutis #%i" + +#: ../gtk/incall_view.c:154 +#, c-format +msgid "Transfer to call #%i with %s" +msgstr "" + +#: ../gtk/incall_view.c:211 ../gtk/incall_view.c:214 +msgid "Not used" +msgstr "Nenaudojama" + +#: ../gtk/incall_view.c:221 +msgid "ICE not activated" +msgstr "ICE neaktyvuota" + +#: ../gtk/incall_view.c:223 +msgid "ICE failed" +msgstr "ICE nepavyko" + +#: ../gtk/incall_view.c:225 +msgid "ICE in progress" +msgstr "ICE yra eigoje" + +#: ../gtk/incall_view.c:227 +msgid "Going through one or more NATs" +msgstr "" + +#: ../gtk/incall_view.c:229 +msgid "Direct" +msgstr "" + +#: ../gtk/incall_view.c:231 +msgid "Through a relay server" +msgstr "" + +#: ../gtk/incall_view.c:239 +msgid "uPnP not activated" +msgstr "uPnP neaktyvuota" + +#: ../gtk/incall_view.c:241 +msgid "uPnP in progress" +msgstr "uPnP yra eigoje" + +#: ../gtk/incall_view.c:243 +msgid "uPnp not available" +msgstr "uPnp neprieinama" + +#: ../gtk/incall_view.c:245 +msgid "uPnP is running" +msgstr "uPnP yra vykdoma" + +#: ../gtk/incall_view.c:247 +msgid "uPnP failed" +msgstr "uPnP nepavyko" + +#: ../gtk/incall_view.c:257 ../gtk/incall_view.c:258 +msgid "Direct or through server" +msgstr "" + +#: ../gtk/incall_view.c:267 ../gtk/incall_view.c:279 +#, c-format +msgid "" +"download: %f\n" +"upload: %f (kbit/s)" +msgstr "atsiuntimas: %f\nišsiuntimas: %f (kbit/s)" + +#: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 +#, c-format +msgid "%ix%i @ %f fps" +msgstr "%ix%i @ %f kadr./s" + +#: ../gtk/incall_view.c:304 +#, c-format +msgid "%.3f seconds" +msgstr "%.3f sekundžių" + +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 +msgid "Hang up" +msgstr "Padėti ragelį" + +#: ../gtk/incall_view.c:555 +msgid "Calling..." +msgstr "Skambinama..." + +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 +msgid "00:00:00" +msgstr "00:00:00" + +#: ../gtk/incall_view.c:569 +msgid "Incoming call" +msgstr "Įeinantis skambutis" + +#: ../gtk/incall_view.c:606 +msgid "good" +msgstr "geras" + +#: ../gtk/incall_view.c:608 +msgid "average" +msgstr "vidutinis" + +#: ../gtk/incall_view.c:610 +msgid "poor" +msgstr "žemas" + +#: ../gtk/incall_view.c:612 +msgid "very poor" +msgstr "labai žemas" + +#: ../gtk/incall_view.c:614 +msgid "too bad" +msgstr "pernelyg blogas" + +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 +msgid "unavailable" +msgstr "neprieinama" + +#: ../gtk/incall_view.c:720 +msgid "Secured by SRTP" +msgstr "" + +#: ../gtk/incall_view.c:726 +msgid "Secured by DTLS" +msgstr "" + +#: ../gtk/incall_view.c:732 +#, c-format +msgid "Secured by ZRTP - [auth token: %s]" +msgstr "" + +#: ../gtk/incall_view.c:738 +msgid "Set unverified" +msgstr "" + +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 +msgid "Set verified" +msgstr "" + +#: ../gtk/incall_view.c:767 +msgid "In conference" +msgstr "" + +#: ../gtk/incall_view.c:767 +msgid "In call" +msgstr "Skambutyje" + +#: ../gtk/incall_view.c:804 +msgid "Paused call" +msgstr "" + +#: ../gtk/incall_view.c:841 +msgid "Call ended." +msgstr "Skambutis užbaigtas." + +#: ../gtk/incall_view.c:872 +msgid "Transfer in progress" +msgstr "" + +#: ../gtk/incall_view.c:875 +msgid "Transfer done." +msgstr "" + +#: ../gtk/incall_view.c:878 +msgid "Transfer failed." +msgstr "" + +#: ../gtk/incall_view.c:909 +msgid "Resume" +msgstr "Tęsti" + +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 +msgid "Pause" +msgstr "Pristabdyti" + +#: ../gtk/incall_view.c:975 +#, c-format +msgid "" +"Recording into\n" +"%s %s" +msgstr "Įrašoma į\n%s %s" + +#: ../gtk/incall_view.c:975 +msgid "(Paused)" +msgstr "(Pristabdyta)" + +#: ../gtk/loginframe.c:75 +#, c-format +msgid "Please enter login information for %s" +msgstr "" + +#: ../gtk/config-fetching.c:57 +#, c-format +msgid "fetching from %s" +msgstr "gaunama iš %s" + +#: ../gtk/config-fetching.c:73 +#, c-format +msgid "Downloading of remote configuration from %s failed." +msgstr "Nuotolinės konfigūracijos atsiuntimas iš %s nepavyko." + +#: ../gtk/audio_assistant.c:103 +msgid "No voice detected" +msgstr "Neaptikta jokio balso" + +#: ../gtk/audio_assistant.c:104 +msgid "Too low" +msgstr "" + +#: ../gtk/audio_assistant.c:105 +msgid "Good" +msgstr "Gerai" + +#: ../gtk/audio_assistant.c:106 +msgid "Too loud" +msgstr "" + +#: ../gtk/audio_assistant.c:188 +msgid "Did you hear three beeps ?" +msgstr "Ar girdėjote tris byptelėjimus?" + +#: ../gtk/audio_assistant.c:299 ../gtk/audio_assistant.c:304 +msgid "Sound preferences not found " +msgstr "Garso nuostatos nerastos" + +#: ../gtk/audio_assistant.c:313 +msgid "Cannot launch system sound control " +msgstr "Nepavyko paleisti sistemos garso valdymą" + +#: ../gtk/audio_assistant.c:325 +msgid "" +"Welcome!\n" +"This assistant will help you to configure audio settings for Linphone" +msgstr "Sveiki!\nŠis pagelbiklis padės jums sukonfigūruoti Linphone garso nustatymus" + +#: ../gtk/audio_assistant.c:335 +msgid "Capture device" +msgstr "" + +#: ../gtk/audio_assistant.c:336 +msgid "Recorded volume" +msgstr "" + +#: ../gtk/audio_assistant.c:340 +msgid "No voice" +msgstr "" + +#: ../gtk/audio_assistant.c:341 ../gtk/audio_assistant.c:380 +msgid "System sound preferences" +msgstr "Sistemos garso nuostatos" + +#: ../gtk/audio_assistant.c:376 +msgid "Playback device" +msgstr "Atkūrimo įrenginys" + +#: ../gtk/audio_assistant.c:377 +msgid "Play three beeps" +msgstr "Groti tris byptelėjimus" + +#: ../gtk/audio_assistant.c:410 +msgid "Press the record button and say some words" +msgstr "Spustelėkite įrašymo mygtuką ir tarkite kelis žodžius" + +#: ../gtk/audio_assistant.c:411 +msgid "Listen to your record voice" +msgstr "Klausytis savo įrašyto balso" + +#: ../gtk/audio_assistant.c:412 +msgid "Record" +msgstr "Įrašyti" + +#: ../gtk/audio_assistant.c:413 +msgid "Play" +msgstr "Groti" + +#: ../gtk/audio_assistant.c:440 +msgid "Let's start Linphone now" +msgstr "" + +#: ../gtk/audio_assistant.c:510 +msgid "Audio Assistant" +msgstr "Garso Pagelbiklis" + +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 +msgid "Audio assistant" +msgstr "Garso pagelbiklis" + +#: ../gtk/audio_assistant.c:525 +msgid "Mic Gain calibration" +msgstr "Mikrofono stiprinimo gradavimas" + +#: ../gtk/audio_assistant.c:531 +msgid "Speaker volume calibration" +msgstr "Garsiakalbių garsio gradavimas" + +#: ../gtk/audio_assistant.c:536 +msgid "Record and Play" +msgstr "Įrašykite ir Grokite" + +#: ../gtk/main.ui.h:1 +msgid "Default" +msgstr "" + +#: ../gtk/main.ui.h:2 +msgid "Delete" +msgstr "Ištrinti" + +#: ../gtk/main.ui.h:3 +msgid "_Options" +msgstr "_Parinktys" + +#: ../gtk/main.ui.h:4 +msgid "Set configuration URI" +msgstr "Nustatyti konfigūracijos URI" + +#: ../gtk/main.ui.h:5 +msgid "Always start video" +msgstr "Visada pradėti vaizdą" + +#: ../gtk/main.ui.h:6 +msgid "Enable self-view" +msgstr "" + +#: ../gtk/main.ui.h:7 +msgid "_Help" +msgstr "P_agalba" + +#: ../gtk/main.ui.h:8 +msgid "Show debug window" +msgstr "Rodyti derinimo langą" + +#: ../gtk/main.ui.h:9 +msgid "_Homepage" +msgstr "_Internetinė svetainė" + +#: ../gtk/main.ui.h:10 +msgid "Check _Updates" +msgstr "Tikrinti ar yra at_naujinimų" + +#: ../gtk/main.ui.h:11 +msgid "Account assistant" +msgstr "" + +#: ../gtk/main.ui.h:13 +msgid "SIP address or phone number:" +msgstr "SIP adresas arba telefono numeris:" + +#: ../gtk/main.ui.h:14 +msgid "Initiate a new call" +msgstr "" + +#: ../gtk/main.ui.h:15 +msgid "Contacts" +msgstr "Kontaktai" + +#: ../gtk/main.ui.h:16 +msgid "Search" +msgstr "" + +#: ../gtk/main.ui.h:17 +msgid "Add contacts from directory" +msgstr "" + +#: ../gtk/main.ui.h:18 +msgid "Add contact" +msgstr "" + +#: ../gtk/main.ui.h:19 +msgid "Recent calls" +msgstr "Paskiausi skambučiai" + +#: ../gtk/main.ui.h:20 +msgid "My current identity:" +msgstr "Mano esama tapatybė:" + +#: ../gtk/about.ui.h:1 +msgid "About Linphone" +msgstr "Apie Linphone" + +#: ../gtk/about.ui.h:2 +msgid "(C) Belledonne Communications, 2010\n" +msgstr "(C) Belledonne Communications, 2010\n" + +#: ../gtk/about.ui.h:4 +msgid "An internet video phone using the standard SIP (rfc3261) protocol." +msgstr "Internetinis vaizdo telefonas, naudojantis standartinį SIP (rfc3261) protokolą." + +#: ../gtk/about.ui.h:5 +msgid "" +"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" +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" + +#: ../gtk/contact.ui.h:2 +msgid "SIP Address" +msgstr "SIP adresas" + +#: ../gtk/contact.ui.h:3 +msgid "Show this contact presence status" +msgstr "Rodyti šio kontakto prisijungimo būseną" + +#: ../gtk/contact.ui.h:4 +msgid "Allow this contact to see my presence status" +msgstr "Leisti šiam kontaktui matyti mano prisijungimo būseną" + +#: ../gtk/contact.ui.h:5 +msgid "Contact information" +msgstr "Kontakto informacija" + +#: ../gtk/log.ui.h:1 +msgid "Linphone debug window" +msgstr "Linphone derinimo langas" + +#: ../gtk/log.ui.h:2 +msgid "Scroll to end" +msgstr "Slinkti į pabaigą" + +#: ../gtk/password.ui.h:1 +msgid "Linphone - Authentication required" +msgstr "Linphone - Reikalingas tapatybės nustatymas" + +#: ../gtk/password.ui.h:2 +msgid "Please enter the domain password" +msgstr "" + +#: ../gtk/password.ui.h:3 ../gtk/login_frame.ui.h:5 +msgid "UserID" +msgstr "Naudotojo ID" + +#: ../gtk/call_logs.ui.h:1 +msgid "Call history" +msgstr "" + +#: ../gtk/call_logs.ui.h:2 +msgid "Clear all" +msgstr "" + +#: ../gtk/call_logs.ui.h:3 +msgid "Call back" +msgstr "" + +#: ../gtk/sip_account.ui.h:1 +msgid "Linphone - Configure a SIP account" +msgstr "Linphone - SIP paskyros konfigūravimas" + +#: ../gtk/sip_account.ui.h:2 +msgid "Your SIP identity:" +msgstr "Jūsų SIP tapatybė:" + +#: ../gtk/sip_account.ui.h:3 +msgid "Looks like sip:@" +msgstr "" + +#: ../gtk/sip_account.ui.h:4 +msgid "sip:" +msgstr "sip:" + +#: ../gtk/sip_account.ui.h:5 +msgid "SIP Proxy address:" +msgstr "SIP Įgaliotojo serverio adresas:" + +#: ../gtk/sip_account.ui.h:6 +msgid "Looks like sip:" +msgstr "" + +#: ../gtk/sip_account.ui.h:7 +msgid "Registration duration (sec):" +msgstr "Registravimo trukmė (sek.):" + +#: ../gtk/sip_account.ui.h:8 +msgid "Contact params (optional):" +msgstr "Kontakto parametrai (nebūtinai):" + +#: ../gtk/sip_account.ui.h:9 +msgid "AVPF regular RTCP interval (sec):" +msgstr "" + +#: ../gtk/sip_account.ui.h:10 +msgid "Route (optional):" +msgstr "Maršrutas (nebūtinai):" + +#: ../gtk/sip_account.ui.h:11 +msgid "Transport" +msgstr "Perdavimas" + +#: ../gtk/sip_account.ui.h:12 +msgid "Register" +msgstr "" + +#: ../gtk/sip_account.ui.h:13 +msgid "Publish presence information" +msgstr "" + +#: ../gtk/sip_account.ui.h:14 +msgid "Enable AVPF" +msgstr "" + +#: ../gtk/sip_account.ui.h:15 +msgid "Configure a SIP account" +msgstr "Konfigūruokite SIP paskyrą" + +#: ../gtk/parameters.ui.h:1 +msgid "anonymous" +msgstr "" + +#: ../gtk/parameters.ui.h:2 +msgid "GSSAPI" +msgstr "GSSAPI" + +#: ../gtk/parameters.ui.h:3 +msgid "SASL" +msgstr "SASL" + +#: ../gtk/parameters.ui.h:4 +msgid "default soundcard" +msgstr "numatytoji garso plokštė" + +#: ../gtk/parameters.ui.h:5 +msgid "a sound card" +msgstr "garso plokštė" + +#: ../gtk/parameters.ui.h:6 +msgid "default camera" +msgstr "numatytoji kamera" + +#: ../gtk/parameters.ui.h:7 +msgid "CIF" +msgstr "CIF" + +#: ../gtk/parameters.ui.h:8 +msgid "Audio codecs" +msgstr "Garso kodekai" + +#: ../gtk/parameters.ui.h:9 +msgid "Video codecs" +msgstr "Vaizdo kodekai" + +#: ../gtk/parameters.ui.h:10 +msgid "C" +msgstr "C" + +#: ../gtk/parameters.ui.h:11 +msgid "SIP (UDP)" +msgstr "SIP (UDP)" + +#: ../gtk/parameters.ui.h:12 +msgid "SIP (TCP)" +msgstr "SIP (TCP)" + +#: ../gtk/parameters.ui.h:13 +msgid "SIP (TLS)" +msgstr "SIP (TLS)" + +#: ../gtk/parameters.ui.h:14 +msgid "default" +msgstr "" + +#: ../gtk/parameters.ui.h:15 +msgid "high-fps" +msgstr "" + +#: ../gtk/parameters.ui.h:16 +msgid "custom" +msgstr "" + +#: ../gtk/parameters.ui.h:17 +msgid "Settings" +msgstr "Nustatymai" + +#: ../gtk/parameters.ui.h:18 +msgid "This section defines your SIP address when not using a SIP account" +msgstr "" + +#: ../gtk/parameters.ui.h:19 +msgid "Your display name (eg: John Doe):" +msgstr "Jūsų rodomas vardas (pvz., Džonas Do):" + +#: ../gtk/parameters.ui.h:20 +msgid "Your username:" +msgstr "Jūsų naudotojo vardas:" + +#: ../gtk/parameters.ui.h:21 +msgid "Your resulting SIP address:" +msgstr "Jūsų galutinis SIP adresas:" + +#: ../gtk/parameters.ui.h:22 +msgid "Default identity" +msgstr "Numatytoji tapatybė" + +#: ../gtk/parameters.ui.h:23 +msgid "Wizard" +msgstr "Vediklis" + +#: ../gtk/parameters.ui.h:24 +msgid "Add" +msgstr "Pridėti" + +#: ../gtk/parameters.ui.h:25 +msgid "Edit" +msgstr "Keisti" + +#: ../gtk/parameters.ui.h:26 +msgid "Remove" +msgstr "Šalinti" + +#: ../gtk/parameters.ui.h:27 +msgid "Proxy accounts" +msgstr "Įgaliotojo serverio paskyros" + +#: ../gtk/parameters.ui.h:28 +msgid "Erase all passwords" +msgstr "Ištrinti visus slaptažodžius" + +#: ../gtk/parameters.ui.h:29 +msgid "Privacy" +msgstr "Privatumas" + +#: ../gtk/parameters.ui.h:30 +msgid "Automatically answer when a call is received" +msgstr "Automatiškai atsiliepti, kai yra gaunamas skambutis" + +#: ../gtk/parameters.ui.h:31 +msgid "Delay before answering (ms)" +msgstr "Delsa, prieš atsiliepiant (ms)" + +#: ../gtk/parameters.ui.h:32 +msgid "Auto-answer" +msgstr "Automatinis atsiliepimas" + +#: ../gtk/parameters.ui.h:33 +msgid "Manage SIP Accounts" +msgstr "Tvarkyti SIP Paskyras" + +#: ../gtk/parameters.ui.h:34 +msgid "Ring sound:" +msgstr "Skambinimo garsas:" + +#: ../gtk/parameters.ui.h:35 +msgid "ALSA special device (optional):" +msgstr "" + +#: ../gtk/parameters.ui.h:36 +msgid "Capture device:" +msgstr "" + +#: ../gtk/parameters.ui.h:37 +msgid "Ring device:" +msgstr "Skambinimo įrenginys:" + +#: ../gtk/parameters.ui.h:38 +msgid "Playback device:" +msgstr "Atkūrimo įrenginys:" + +#: ../gtk/parameters.ui.h:39 +msgid "Enable echo cancellation" +msgstr "Įjungti aido panaikinimą" + +#: ../gtk/parameters.ui.h:40 +msgid "Audio" +msgstr "Garsas" + +#: ../gtk/parameters.ui.h:41 +msgid "Video input device:" +msgstr "Vaizdo įvesties įrenginys:" + +#: ../gtk/parameters.ui.h:42 +msgid "Preferred video resolution:" +msgstr "Pageidaujama vaizdo raiška:" + +#: ../gtk/parameters.ui.h:43 +msgid "Video output method:" +msgstr "Vaizdo išvesties metodas:" + +#: ../gtk/parameters.ui.h:44 +msgid "Show camera preview" +msgstr "Rodyti kameros peržiūrą" + +#: ../gtk/parameters.ui.h:45 +msgid "Video preset:" +msgstr "" + +#: ../gtk/parameters.ui.h:46 +msgid "Preferred video framerate:" +msgstr "Pageidaujamas vaizdo kadrų dažnis:" + +#: ../gtk/parameters.ui.h:47 +msgid "0 stands for \"unlimited\"" +msgstr "" + +#: ../gtk/parameters.ui.h:48 +msgid "Video" +msgstr "Vaizdas" + +#: ../gtk/parameters.ui.h:49 +msgid "Upload speed limit in Kbit/sec:" +msgstr "Išsiuntimo greičio riba, Kbit/sek.:" + +#: ../gtk/parameters.ui.h:50 +msgid "Download speed limit in Kbit/sec:" +msgstr "Atsiuntimo greičio riba, Kbit/sek.:" + +#: ../gtk/parameters.ui.h:51 +msgid "Enable adaptive rate control" +msgstr "Įjungti adaptyvųjį spartos valdymą" + +#: ../gtk/parameters.ui.h:52 +msgid "" +"Adaptive rate control is a technique to dynamically guess the available " +"bandwidth during a call." +msgstr "Adaptyvus spartos valdymas yra technika, skirta, skambučio metu, dinamiškai atspėti prieinamą pralaidumą." + +#: ../gtk/parameters.ui.h:53 +msgid "Bandwidth control" +msgstr "Pralaidumo valdymas" + +#: ../gtk/parameters.ui.h:54 +msgid "Multimedia settings" +msgstr "Multimedijos nustatymai" + +#: ../gtk/parameters.ui.h:55 +msgid "Set Maximum Transmission Unit:" +msgstr "Nustatyti didžiausią duomenų persiuntimo įtaisą:" + +#: ../gtk/parameters.ui.h:56 +msgid "Send DTMFs as SIP info" +msgstr "Siųsti DTMF kaip SIP informaciją" + +#: ../gtk/parameters.ui.h:57 +msgid "Allow IPv6" +msgstr "Leisti IPv6" + +#: ../gtk/parameters.ui.h:58 +msgid "Transport" +msgstr "Perdavimas" + +#: ../gtk/parameters.ui.h:59 +msgid "SIP/UDP port" +msgstr "SIP/UDP prievadas" + +#: ../gtk/parameters.ui.h:61 +msgid "Random" +msgstr "Atsitiktinis" + +#: ../gtk/parameters.ui.h:62 +msgid "SIP/TCP port" +msgstr "SIP/TCP prievadas" + +#: ../gtk/parameters.ui.h:63 +msgid "Audio RTP/UDP:" +msgstr "Garso RTP/UDP:" + +#: ../gtk/parameters.ui.h:64 +msgid "Fixed" +msgstr "Fiksuotas" + +#: ../gtk/parameters.ui.h:65 +msgid "Video RTP/UDP:" +msgstr "Vaizdo RTP/UDP:" + +#: ../gtk/parameters.ui.h:66 +msgid "Media encryption type" +msgstr "Medijos šifravimo tipas" + +#: ../gtk/parameters.ui.h:67 +msgid "Media encryption is mandatory" +msgstr "Medijos šifravimas yra privalomas" + +#: ../gtk/parameters.ui.h:68 +msgid "Tunnel" +msgstr "" + +#: ../gtk/parameters.ui.h:69 +msgid "DSCP fields" +msgstr "DSCP laukai" + +#: ../gtk/parameters.ui.h:70 +msgid "Network protocol and ports" +msgstr "Tinklo protokolas ir prievadai" + +#: ../gtk/parameters.ui.h:71 +msgid "Direct connection to the Internet" +msgstr "Tiesioginis sujungimas prie interneto" + +#: ../gtk/parameters.ui.h:72 +msgid "Behind NAT / Firewall (specify gateway IP )" +msgstr "" + +#: ../gtk/parameters.ui.h:73 +msgid "Behind NAT / Firewall (use STUN to resolve)" +msgstr "" + +#: ../gtk/parameters.ui.h:74 +msgid "Behind NAT / Firewall (use ICE)" +msgstr "" + +#: ../gtk/parameters.ui.h:75 +msgid "Behind NAT / Firewall (use uPnP)" +msgstr "" + +#: ../gtk/parameters.ui.h:76 +msgid "Public IP address:" +msgstr "Viešas IP adresas:" + +#: ../gtk/parameters.ui.h:77 +msgid "Stun server:" +msgstr "Stun serveris:" + +#: ../gtk/parameters.ui.h:78 +msgid "NAT and Firewall" +msgstr "NAT ir Užkarda" + +#: ../gtk/parameters.ui.h:79 +msgid "Network settings" +msgstr "Tinklo nustatymai" + +#: ../gtk/parameters.ui.h:80 ../gtk/tunnel_config.ui.h:4 +msgid "Enable" +msgstr "Įjungti" + +#: ../gtk/parameters.ui.h:81 ../gtk/tunnel_config.ui.h:5 +msgid "Disable" +msgstr "Išjungti" + +#: ../gtk/parameters.ui.h:82 +msgid "Audio codecs" +msgstr "Garso kodekai" + +#: ../gtk/parameters.ui.h:83 +msgid "Video codecs" +msgstr "Vaizdo kodekai" + +#: ../gtk/parameters.ui.h:84 +msgid "Codecs" +msgstr "Kodekai" + +#: ../gtk/parameters.ui.h:85 +msgid "Language" +msgstr "Kalba" + +#: ../gtk/parameters.ui.h:86 +msgid "Show advanced settings" +msgstr "Rodyti išplėstinius nustatymus" + +#: ../gtk/parameters.ui.h:87 +msgid "Level" +msgstr "Lygmuo" + +#: ../gtk/parameters.ui.h:88 +msgid "User interface" +msgstr "Naudotojo sąsaja" + +#: ../gtk/parameters.ui.h:89 ../gtk/ldap.ui.h:2 +msgid "Server address:" +msgstr "Serverio adresas:" + +#: ../gtk/parameters.ui.h:90 ../gtk/ldap.ui.h:3 +msgid "Authentication method:" +msgstr "" + +#: ../gtk/parameters.ui.h:92 +msgid "LDAP Account setup" +msgstr "" + +#: ../gtk/parameters.ui.h:93 +msgid "LDAP" +msgstr "LDAP" + +#: ../gtk/parameters.ui.h:94 +msgid "Done" +msgstr "Atlikta" + +#: ../gtk/buddylookup.ui.h:1 +msgid "Search contacts in directory" +msgstr "" + +#: ../gtk/buddylookup.ui.h:2 +msgid "Add to my list" +msgstr "" + +#: ../gtk/buddylookup.ui.h:3 +msgid "Search somebody" +msgstr "" + +#: ../gtk/waiting.ui.h:2 +msgid "Please wait" +msgstr "Prašome palaukti" + +#: ../gtk/dscp_settings.ui.h:1 +msgid "DSCP settings" +msgstr "DSCP nustatymai" + +#: ../gtk/dscp_settings.ui.h:2 +msgid "SIP" +msgstr "SIP" + +#: ../gtk/dscp_settings.ui.h:3 +msgid "Audio RTP stream" +msgstr "Garso RTP srautas" + +#: ../gtk/dscp_settings.ui.h:4 +msgid "Video RTP stream" +msgstr "Vaizdo RTP srautas" + +#: ../gtk/dscp_settings.ui.h:5 +msgid "Set DSCP values (in hexadecimal)" +msgstr "Nustatykite DSCP reikšmes (šešioliktainiais)" + +#: ../gtk/call_statistics.ui.h:1 +msgid "Call statistics" +msgstr "Skambučio statistika" + +#: ../gtk/call_statistics.ui.h:2 +msgid "Audio codec" +msgstr "Garso kodekas" + +#: ../gtk/call_statistics.ui.h:3 +msgid "Video codec" +msgstr "Vaizdo kodekas" + +#: ../gtk/call_statistics.ui.h:4 +msgid "Audio IP bandwidth usage" +msgstr "Garso IP pralaidumo naudojimas" + +#: ../gtk/call_statistics.ui.h:5 +msgid "Audio Media connectivity" +msgstr "" + +#: ../gtk/call_statistics.ui.h:6 +msgid "Video IP bandwidth usage" +msgstr "Vaizdo IP pralaidumo naudojimas" + +#: ../gtk/call_statistics.ui.h:7 +msgid "Video Media connectivity" +msgstr "" + +#: ../gtk/call_statistics.ui.h:8 +msgid "Round trip time" +msgstr "" + +#: ../gtk/call_statistics.ui.h:9 +msgid "Video resolution received" +msgstr "" + +#: ../gtk/call_statistics.ui.h:10 +msgid "Video resolution sent" +msgstr "" + +#: ../gtk/call_statistics.ui.h:11 +msgid "RTP profile" +msgstr "" + +#: ../gtk/call_statistics.ui.h:12 +msgid "Call statistics and information" +msgstr "Skambučio statistika ir informacija" + +#: ../gtk/tunnel_config.ui.h:1 +msgid "Configure VoIP tunnel" +msgstr "" + +#: ../gtk/tunnel_config.ui.h:2 +msgid "Host" +msgstr "" + +#: ../gtk/tunnel_config.ui.h:3 +msgid "Port" +msgstr "Prievadas" + +#: ../gtk/tunnel_config.ui.h:6 +msgid "Configure tunnel" +msgstr "" + +#: ../gtk/tunnel_config.ui.h:7 ../gtk/login_frame.ui.h:1 +msgid "Username" +msgstr "Naudotojo vardas" + +#: ../gtk/tunnel_config.ui.h:8 ../gtk/login_frame.ui.h:2 +msgid "Password" +msgstr "Slaptažodis" + +#: ../gtk/tunnel_config.ui.h:9 +msgid "Configure http proxy (optional)" +msgstr "" + +#: ../gtk/ldap.ui.h:1 +msgid "LDAP Settings" +msgstr "LDAP nustatymai" + +#: ../gtk/ldap.ui.h:6 +msgid "Use TLS Connection" +msgstr "" + +#: ../gtk/ldap.ui.h:7 +msgid "Not yet available" +msgstr "" + +#: ../gtk/ldap.ui.h:8 +msgid "Connection" +msgstr "" + +#: ../gtk/ldap.ui.h:9 +msgid "Bind DN" +msgstr "" + +#: ../gtk/ldap.ui.h:10 +msgid "Authname" +msgstr "" + +#: ../gtk/ldap.ui.h:11 +msgid "Realm" +msgstr "" + +#: ../gtk/ldap.ui.h:12 +msgid "SASL" +msgstr "SASL" + +#: ../gtk/ldap.ui.h:13 +msgid "Base object:" +msgstr "" + +#: ../gtk/ldap.ui.h:15 +#, no-c-format +msgid "Filter (%s for name):" +msgstr "" + +#: ../gtk/ldap.ui.h:16 +msgid "Name Attribute:" +msgstr "" + +#: ../gtk/ldap.ui.h:17 +msgid "SIP address attribute:" +msgstr "" + +#: ../gtk/ldap.ui.h:18 +msgid "Attributes to query:" +msgstr "" + +#: ../gtk/ldap.ui.h:19 +msgid "Search" +msgstr "" + +#: ../gtk/ldap.ui.h:20 +msgid "Timeout for search:" +msgstr "" + +#: ../gtk/ldap.ui.h:21 +msgid "Max results:" +msgstr "" + +#: ../gtk/ldap.ui.h:22 +msgid "Follow Aliases" +msgstr "" + +#: ../gtk/ldap.ui.h:23 +msgid "Miscellaneous" +msgstr "" + +#: ../gtk/ldap.ui.h:24 +msgid "ANONYMOUS" +msgstr "" + +#: ../gtk/ldap.ui.h:25 +msgid "SIMPLE" +msgstr "" + +#: ../gtk/ldap.ui.h:26 +msgid "DIGEST-MD5" +msgstr "" + +#: ../gtk/ldap.ui.h:27 +msgid "NTLM" +msgstr "" + +#: ../gtk/config-uri.ui.h:1 +msgid "Specifying a remote configuration URI" +msgstr "Nuotolinės konfigūracijos URI nurodymas" + +#: ../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 "Šis dialogas leidžia nustatyti http ar https adresą, kai konfigūracija bus gaunama paleisties metu.\nPrašome žemiau įvesti ar pakeisti konfigūracijos URI. Po to, kai nuspausite mygtuką Gerai, programa Linphone bus automatiškai paleista iš naujo, kad gautų ir naudotų naująją konfigūraciją." + +#: ../gtk/provisioning-fetch.ui.h:1 +msgid "Configuring..." +msgstr "Konfigūruojama..." + +#: ../gtk/provisioning-fetch.ui.h:2 +msgid "Please wait while fetching configuration from server..." +msgstr "Prašome palaukti kol iš serverio yra gaunama konfigūracija..." + +#: ../gtk/chatroom_frame.ui.h:1 +msgid "Send" +msgstr "Siųsti" + +#: ../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 "Įrašyti šį skambutį į garso įrašo failą" + +#: ../gtk/in_call_frame.ui.h:6 +msgid "Video" +msgstr "" + +#: ../gtk/in_call_frame.ui.h:8 +msgid "Mute" +msgstr "Nutildyti" + +#: ../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 "Skambučio kokybės įvertinimas" + +#: ../gtk/login_frame.ui.h:3 +msgid "Internet connection:" +msgstr "Interneto ryšys:" + +#: ../gtk/login_frame.ui.h:4 +msgid "Automatically log me in" +msgstr "Prijungti mane automatiškai" + +#: ../gtk/login_frame.ui.h:6 +msgid "Login information" +msgstr "" + +#: ../gtk/login_frame.ui.h:7 +msgid "Welcome!" +msgstr "Sveiki!" + +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "ADSL" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "" + +#: ../coreapi/linphonecore.c:1555 +msgid "Ready" +msgstr "Pasiruošę" + +#: ../coreapi/linphonecore.c:2551 +msgid "Configuring" +msgstr "" + +#. must be known at that time +#: ../coreapi/linphonecore.c:2946 +msgid "Contacting" +msgstr "" + +#: ../coreapi/linphonecore.c:2951 +msgid "Could not call" +msgstr "" + +#: ../coreapi/linphonecore.c:3087 +msgid "Sorry, we have reached the maximum number of simultaneous calls" +msgstr "" + +#: ../coreapi/linphonecore.c:3245 +msgid "is contacting you" +msgstr "bando su jumis susisiekti" + +#: ../coreapi/linphonecore.c:3246 +msgid " and asked autoanswer." +msgstr "" + +#: ../coreapi/linphonecore.c:3372 +msgid "Modifying call parameters..." +msgstr "Modifikuojami skambučio parametrai..." + +#: ../coreapi/linphonecore.c:3767 +msgid "Connected." +msgstr "Prisijungta." + +#: ../coreapi/linphonecore.c:3792 +msgid "Call aborted" +msgstr "Skambutis nutrauktas" + +#: ../coreapi/linphonecore.c:3981 +msgid "Could not pause the call" +msgstr "Nepavyko pristabdyti skambučio" + +#: ../coreapi/linphonecore.c:3984 +msgid "Pausing the current call..." +msgstr "" + +#: ../coreapi/misc.c:440 +msgid "Stun lookup in progress..." +msgstr "" + +#: ../coreapi/misc.c:650 +msgid "ICE local candidates gathering in progress..." +msgstr "" + +#: ../coreapi/friend.c:33 +msgid "Online" +msgstr "Prisijungęs" + +#: ../coreapi/friend.c:36 +msgid "Busy" +msgstr "Užimtas" + +#: ../coreapi/friend.c:39 +msgid "Be right back" +msgstr "Netrukus sugrįš" + +#: ../coreapi/friend.c:42 +msgid "Away" +msgstr "Pasišalinęs" + +#: ../coreapi/friend.c:45 +msgid "On the phone" +msgstr "Kalba telefonu" + +#: ../coreapi/friend.c:48 +msgid "Out to lunch" +msgstr "Pietauja" + +#: ../coreapi/friend.c:51 +msgid "Do not disturb" +msgstr "Netrukdyti" + +#: ../coreapi/friend.c:54 +msgid "Moved" +msgstr "" + +#: ../coreapi/friend.c:57 +msgid "Using another messaging service" +msgstr "" + +#: ../coreapi/friend.c:60 +msgid "Offline" +msgstr "Atsijungęs" + +#: ../coreapi/friend.c:63 +msgid "Pending" +msgstr "" + +#: ../coreapi/friend.c:66 +msgid "Vacation" +msgstr "" + +#: ../coreapi/friend.c:68 +msgid "Unknown status" +msgstr "Nežinoma būsena" + +#: ../coreapi/proxy.c:292 +msgid "" +"The sip proxy address you entered is invalid, it must start with \"sip:\" " +"followed by a hostname." +msgstr "" + +#: ../coreapi/proxy.c:298 +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:927 +msgid "Looking for telephone number destination..." +msgstr "" + +#: ../coreapi/proxy.c:931 +msgid "Could not resolve this number." +msgstr "" + +#: ../coreapi/proxy.c:1324 +#, c-format +msgid "Could not login as %s" +msgstr "Nepavyko prisijungti kaip %s" + +#: ../coreapi/proxy.c:1411 +#, c-format +msgid "Refreshing on %s..." +msgstr "" + +#: ../coreapi/callbacks.c:423 +msgid "Remote ringing." +msgstr "" + +#: ../coreapi/callbacks.c:435 +msgid "Remote ringing..." +msgstr "" + +#: ../coreapi/callbacks.c:458 +msgid "Early media." +msgstr "" + +#: ../coreapi/callbacks.c:488 +#, c-format +msgid "Call answered by %s" +msgstr "" + +#: ../coreapi/callbacks.c:527 +msgid "Call resumed." +msgstr "Skambutis pratęstas." + +#: ../coreapi/callbacks.c:582 +msgid "Incompatible, check codecs or security settings..." +msgstr "Nesuderinama, patikrinkite kodekus ar saugos nustatymus..." + +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 +msgid "Incompatible media parameters." +msgstr "Nesuderinami medijos parametrai." + +#: ../coreapi/callbacks.c:612 +msgid "We have been resumed." +msgstr "Musų skambutis yra pratęstas." + +#. we are being paused +#: ../coreapi/callbacks.c:620 +msgid "We are paused by other party." +msgstr "Kita šalis pristabdė skambutį." + +#: ../coreapi/callbacks.c:630 +msgid "Call is updated by remote." +msgstr "" + +#: ../coreapi/callbacks.c:799 +msgid "Call terminated." +msgstr "Skambutis baigtas." + +#: ../coreapi/callbacks.c:827 +msgid "User is busy." +msgstr "Naudotojas yra užimtas." + +#: ../coreapi/callbacks.c:828 +msgid "User is temporarily unavailable." +msgstr "Naudotojas laikinai neprieinamas." + +#. char *retrymsg=_("%s. Retry after %i minute(s)."); +#: ../coreapi/callbacks.c:830 +msgid "User does not want to be disturbed." +msgstr "Naudotojas nenori būti trukdomas." + +#: ../coreapi/callbacks.c:831 +msgid "Call declined." +msgstr "Skambutis atmestas." + +#: ../coreapi/callbacks.c:846 +msgid "Request timeout." +msgstr "Baigėsi užklausos laikas." + +#: ../coreapi/callbacks.c:877 +msgid "Redirected" +msgstr "" + +#: ../coreapi/callbacks.c:927 +msgid "Call failed." +msgstr "Skambutis nepavyko." + +#: ../coreapi/callbacks.c:1005 +#, c-format +msgid "Registration on %s successful." +msgstr "" + +#: ../coreapi/callbacks.c:1006 +#, c-format +msgid "Unregistration on %s done." +msgstr "" + +#: ../coreapi/callbacks.c:1024 +msgid "no response timeout" +msgstr "" + +#: ../coreapi/callbacks.c:1027 +#, c-format +msgid "Registration on %s failed: %s" +msgstr "" + +#: ../coreapi/callbacks.c:1034 +msgid "Service unavailable, retrying" +msgstr "" + +#. if encryption is DTLS, no status to be displayed +#: ../coreapi/linphonecall.c:197 +#, c-format +msgid "Authentication token is %s" +msgstr "" + +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "Nepavyko modifikuoti skambučio parametrų: %s." + +#: ../coreapi/linphonecall.c:1563 +msgid "Call parameters were successfully modified." +msgstr "Skambučio parametrai buvo sėkmingai modifikuoti." + +#: ../coreapi/linphonecall.c:4394 +#, c-format +msgid "You have missed %i call." +msgid_plural "You have missed %i calls." +msgstr[0] "Jūs turite %i praleistą skambutį." +msgstr[1] "Jūs turite %i praleistus skambučius." +msgstr[2] "Jūs turite %i praleistų skambučių." + +#: ../coreapi/call_log.c:223 +msgid "aborted" +msgstr "" + +#: ../coreapi/call_log.c:226 +msgid "completed" +msgstr "" + +#: ../coreapi/call_log.c:229 +msgid "missed" +msgstr "" + +#: ../coreapi/call_log.c:232 +msgid "unknown" +msgstr "nežinoma" + +#: ../coreapi/call_log.c:234 +#, c-format +msgid "" +"%s at %s\n" +"From: %s\n" +"To: %s\n" +"Status: %s\n" +"Duration: %i mn %i sec\n" +msgstr "" + +#: ../coreapi/call_log.c:235 +msgid "Outgoing call" +msgstr "" + +#: ../gtk/videowindow.c:66 +#, c-format +msgid "Cannot play %s." +msgstr "Nepavyksta groti %s." diff --git a/po/nb_NO.po b/po/nb_NO.po index 638f894ed..63f8c7b96 100644 --- a/po/nb_NO.po +++ b/po/nb_NO.po @@ -1,78 +1,76 @@ # 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-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/" -"belledonne-communications/linphone-gtk/language/nb_NO/)\n" -"Language: nb_NO\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 08:30+0000\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/belledonne-communications/linphone-gtk/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 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "Ring %s" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "Send tekst til %s" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:342 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "" @@ -90,7 +88,7 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "Fant ikke pixmap fli: %s" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" msgstr "" @@ -120,11 +118,9 @@ 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" @@ -138,144 +134,129 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1058 +#: ../gtk/main.c:1040 #, 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:1135 +#: ../gtk/main.c:1117 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "Samtale avsluttet" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "Innkommende samtale" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Svarer" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Avvis" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "Peker til nettsted" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "%s (Standard)" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "Vi er overført til %s" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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.\n" -"Du vil ikke kunne sende eller motta lydsamtaler." +msgstr "Klarte ikke å finne noe lydkort på denne datamaskinen.\nDu vil ikke kunne sende eller motta lydsamtaler." -#: ../gtk/main.c:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "En gratis SIP video-telefon" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "Tilstedestatus" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "Navn" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "Søk i %s katalogen" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "Ugyldig SIP kontakt !" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "Rediger kontakt '%s'" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "Slett kontakt '%s'" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "Legg til kontakt fra %s katalogen" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "Navn" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "Frekvens (Hz)" @@ -410,9 +391,7 @@ 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.\n" -"Vil du åpne en nettleser og laste den ned ?" +msgstr "En nyere utgave er tilgjengelig fra %s.\nVil du åpne en nettleser og laste den ned ?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -445,159 +424,158 @@ msgid_plural "Found %i contacts" msgstr[0] "Fant kontakt %i" msgstr[1] "Hittat kontakt %i" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:172 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Brukernavn:" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Passord:" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." msgstr "" -#: ../gtk/setupwizard.c:521 +#: ../gtk/setupwizard.c:514 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:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "Velkommen til brukerkontoveiviseren" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "Brukerkontoveiviser" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "" @@ -671,113 +649,112 @@ msgstr "" msgid "%.3f seconds" msgstr "" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "Ringer..." -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 -#, fuzzy +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" -msgstr "00:00:00" - -#: ../gtk/incall_view.c:524 -msgid "Incoming call" -msgstr "Innkommende samtale" - -#: ../gtk/incall_view.c:561 -msgid "good" -msgstr "" - -#: ../gtk/incall_view.c:563 -msgid "average" -msgstr "" - -#: ../gtk/incall_view.c:565 -msgid "poor" -msgstr "" - -#: ../gtk/incall_view.c:567 -msgid "very poor" msgstr "" #: ../gtk/incall_view.c:569 +msgid "Incoming call" +msgstr "Innkommende samtale" + +#: ../gtk/incall_view.c:606 +msgid "good" +msgstr "" + +#: ../gtk/incall_view.c:608 +msgid "average" +msgstr "" + +#: ../gtk/incall_view.c:610 +msgid "poor" +msgstr "" + +#: ../gtk/incall_view.c:612 +msgid "very poor" +msgstr "" + +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "I samtale med" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "Pauset samtale" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "Samtale avsluttet." -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "" -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "" -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "Fortsett" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Pause" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "" @@ -878,7 +855,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "" @@ -895,94 +872,78 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "Alle brukere" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "Tilkoblede brukere" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "ADSL" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "Fiber Kanal" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Standard" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "_Alternativer" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "Vis video av deg selv" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "_Hjelp" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "Vis avlusningsvindu" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "H_jemmeside" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "Sjekk _Oppdateringer" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "Sip adresse eller telefonnummer:" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "Start en ny samtale" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "Kontakter" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "Søk" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "Legg til kontakter fra katalogen" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "Legg til kontakt" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "Min nåværende identitet:" @@ -996,9 +957,7 @@ 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 "" @@ -1701,11 +1660,8 @@ 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 @@ -1776,60 +1732,68 @@ msgstr "Innlogginsinformasjon" msgid "Welcome!" msgstr "" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "ADSL" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "Fiber Kanal" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "Klar" -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "Tilknytter" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "Kunne ikke ringe" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Beklager, du har nådd maksimalt antall samtidige samtaler" -#: ../coreapi/linphonecore.c:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "Kontakter deg." -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr " og ba om autosvar." -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "Endrer ringeparametre..." -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "Tilkoblet" -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "Samtale avbrutt" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "Kunne ikke pause samtalen" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "Pauser nåværende samtale" -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "STUN oppslag pågår..." -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "" @@ -1885,183 +1849,173 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 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:301 +#: ../coreapi/proxy.c:298 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:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "Ser etter telefonnummer for destinasjonen..." -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "Kan ikke tilkoble dette nummeret." -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "Ikke ikke logge inn som %s" -#: ../coreapi/proxy.c:1494 +#: ../coreapi/proxy.c:1411 #, c-format msgid "Refreshing on %s..." msgstr "" -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "Ringer hos motparten." -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "Tidlig media" -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." -msgstr "Samtalen med %s er pauset." +msgid "Call answered by %s" +msgstr "" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "Samtale besvart av %s - på vent." - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "Samtale gjenopptatt." -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "Samtale besvart av %s." - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "" -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "Samtale avsluttet." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "Brukeren er opptatt." -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "Brukeren er midlertidig ikke tilgjengelig." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "Brukeren vil ikke bli forstyrret." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "Samtale avvist." -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "Omdirigert" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "Samtale feilet." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "Registrering hos %s lykkes." -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "Avregistrering hos %s lykkes." -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "ingen svar innen angitt tid" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "Registrering hos %s mislykkes: %s" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "" + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." msgstr[0] "Du har %i ubesvarte anrop." msgstr[1] "Du har %i missade samtal" -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2071,7 +2025,7 @@ msgid "" "Duration: %i mn %i sec\n" msgstr "" -#: ../coreapi/call_log.c:221 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "" diff --git a/po/nl.po b/po/nl.po index 647840d44..399691efd 100644 --- a/po/nl.po +++ b/po/nl.po @@ -1,80 +1,76 @@ # 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-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/belledonne-communications/" -"linphone-gtk/language/nl/)\n" -"Language: nl\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 08:30+0000\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Dutch (http://www.transifex.com/belledonne-communications/linphone-gtk/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 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "%s bellen" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "SMS versturen aan %s" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "Recent oproepen (%i)" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "n.v.t." -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "Afgebroken" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "Gemist" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "Geweigerd" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "%i minuut" msgstr[1] "%i minuten" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "%i seconde" msgstr[1] "%i seconden" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format 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 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "%s\t%s" @@ -92,15 +88,13 @@ msgstr "Ik" msgid "Couldn't find pixmap file: %s" msgstr "Het pixmap-bestand %s kon niet worden gevonden" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 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." @@ -124,11 +118,9 @@ 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" @@ -142,146 +134,129 @@ 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:1058 +#: ../gtk/main.c:1040 #, 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:1135 +#: ../gtk/main.c:1117 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" -msgstr "" -"Vul uw wachtwoord in voor gebruikersnaam %s\n" -"op realm %s" +msgstr "Vul uw wachtwoord in voor gebruikersnaam %s\nop realm %s" -#: ../gtk/main.c:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "Oproepfout" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "Oproep beëindigd" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "Inkomende oproep" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Opnemen" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Weigeren" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "Oproep gepauzeerd" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "door %s" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, 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:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "Websitelink" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "%s (Standaard)" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "We zijn overgeschakeld naar %s" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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.\n" -"U zult niet in staat zijn om audio-oproepen te ontvangen of versturen." +msgstr "Er zijn geluidskaarten aangetroffen op deze computer.\nU zult niet in staat zijn om audio-oproepen te ontvangen of versturen." -#: ../gtk/main.c:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "Een gratis SIP-videotelefoon" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "Toevoegen aan adresboek" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "Aanwezigheidsstatus" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "Naam" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "Bellen" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "Chatten" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "Zoeken in de map %s" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "Ongeldig SIP-contactpersoon" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "Contactpersoon '%s' bewerken" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "Contactpersoon '%s' verwijderen" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "Chatgeschiedenis van '%s' verwijderen" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "Nieuw contactpersoon toevoegen vanuit de map %s" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "Naam" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "Frequentie (Hz)" @@ -393,8 +368,7 @@ msgstr "" #: ../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:1325 msgid "None" @@ -417,9 +391,7 @@ 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.\n" -"Wilt een webbrowser openen en deze downloaden?" +msgstr "Er is een nieuwere versie beschikbaar op %s.\nWilt een webbrowser openen en deze downloaden?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -452,168 +424,158 @@ msgid_plural "Found %i contacts" msgstr[0] "%i contactpersoon gevonden" msgstr[1] "%i contactpersonen gevonden" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." -msgstr "" -"Welkom!\n" -"Deze instelwizard zal u begeleiden bij het gebruiken van een SIP-account " -"voor oproepen." +msgstr "Welkom!\nDeze instelwizard zal u begeleiden bij het gebruiken van een SIP-account voor oproepen." -#: ../gtk/setupwizard.c:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "Creëer een account op linphone.org" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 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:171 +#: ../gtk/setupwizard.c:172 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:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "Ik wil een externe URI-configuratie opgeven" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "Gebruikersnaam*" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "Wachtwoord*" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "Domeinnaam*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "Proxy" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "Vul uw linphone.org-gebruikersnaam in" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Gebruikersnaam:" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Wachtwoord:" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "(*) Verplichte velden" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "Gebruikersnaam: (*)" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "Wachtwoord: (*)" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "E-mailadres: (*)" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "Bevestig uw wachtwoord: (*)" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "Houdt me op de hoogte van linphone-updates" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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.\n" -"Kom 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.\nKom dan terug naar dit venster en klik op de knop Volgende." -#: ../gtk/setupwizard.c:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 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.\n" -"Ga 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.\nGa terug en probeer het opnieuw." -#: ../gtk/setupwizard.c:521 +#: ../gtk/setupwizard.c:514 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:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "SIP-account-instelwizard" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "Welkom bij de account-instelwizard" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "Account-instelwizard" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "Uw account instellen (stap 1/1)" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "Vul uw SIP-gebruikersnaam in (stap 1/1)" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "Vul uw accountinformatie in (stap 1/2)" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "Geldigheid (stap 2/2)" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "Fout" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "Bezig met vernietigen" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "#%i bellen" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "Overschakelen naar gesprek #%i met %s" @@ -675,9 +637,7 @@ msgstr "Direct of via een server" msgid "" "download: %f\n" "upload: %f (kbit/s)" -msgstr "" -"download: %f\n" -"upload: %f (kbit/s)" +msgstr "download: %f\nupload: %f (kbit/s)" #: ../gtk/incall_view.c:272 ../gtk/incall_view.c:274 #, c-format @@ -689,112 +649,112 @@ msgstr "%ix%i @ %f fps" msgid "%.3f seconds" msgstr "%.3f seconden" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "Ophangen" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "Bezig met bellen..." -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" -msgstr "00:00:00" +msgstr "" -#: ../gtk/incall_view.c:524 +#: ../gtk/incall_view.c:569 msgid "Incoming call" msgstr "Inkomende oproep" -#: ../gtk/incall_view.c:561 +#: ../gtk/incall_view.c:606 msgid "good" msgstr "goed" -#: ../gtk/incall_view.c:563 +#: ../gtk/incall_view.c:608 msgid "average" msgstr "gemiddeld" -#: ../gtk/incall_view.c:565 +#: ../gtk/incall_view.c:610 msgid "poor" msgstr "slecht" -#: ../gtk/incall_view.c:567 +#: ../gtk/incall_view.c:612 msgid "very poor" msgstr "erg slecht" -#: ../gtk/incall_view.c:569 +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "verschrikkelijk" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "niet beschikbaar" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "Beveiligd door SRTP" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "Beveiligd door DTLS" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "Beveiligd door ZRTP - [authenticatiesleutel: %s]" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "Instellen als niet-geverifieerd" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Instellen als geverifieerd" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "In een vergadering" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "In gesprek" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "Gepauzeerde oproep" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "Oproep is beëindigd." -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "De overdracht is bezig" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "De overdracht is voltooid." -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "De overdracht is mislukt." -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "Hervatten" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Pauzeren" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "Bezig met opnemen naar%s %s" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "(Gepauzeerd)" @@ -845,10 +805,7 @@ msgstr "Het systeemgeluidspaneel kon niet worden gestart" msgid "" "Welcome!\n" "This assistant will help you to configure audio settings for Linphone" -msgstr "" -"Welkom!\n" -"Deze instelwizard zal u begeleiden bij het instellen van de audio-" -"instellingen van Linphone" +msgstr "Welkom!\nDeze instelwizard zal u begeleiden bij het instellen van de audio-instellingen van Linphone" #: ../gtk/audio_assistant.c:335 msgid "Capture device" @@ -898,7 +855,7 @@ msgstr "Laten we nu Linphone opstarten" msgid "Audio Assistant" msgstr "Audio-instelwizard" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "Audio-instelwizard" @@ -915,94 +872,78 @@ msgid "Record and Play" msgstr "Opnemen en afspelen" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "Alle gebruikers" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "Online gebruikers" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "ADSL" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "Fiber-kanaal" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Standaard" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "Verwijderen" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "_Opties" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "Configuratie-URI instellen" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "Video altijd starten" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "Eigen weergave inschakelen" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "_Hulp" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "Foutopsporingsvenster weergeven" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "_Website" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "Controleren op _updates" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "Account-instelwizard" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "SIP-adres of telefoonnummer:" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "Een nieuw gesprek beginnen" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "Contactpersonen" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "Zoeken" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "Voeg contactpersonen toe uit map" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "Contactpersoon toevoegen" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "Recente gesprekken" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "Mijn huidige identiteit:" @@ -1016,9 +957,7 @@ 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 "" @@ -1034,19 +973,7 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: 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" +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" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1058,8 +985,7 @@ 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" @@ -1734,11 +1660,8 @@ 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 @@ -1809,60 +1732,68 @@ msgstr "Inloginformatie" msgid "Welcome!" msgstr "Welkom!" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "ADSL" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "Fiber-kanaal" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "Gereed." -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "Verbinden" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr "" -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "Verbonden." -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "" -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "STUN adres wordt opgezocht..." -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "" @@ -1918,179 +1849,173 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." msgstr "" -#: ../coreapi/proxy.c:301 +#: ../coreapi/proxy.c:298 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:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "Zoekt de lokatie van het telefoonnummer..." -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "Kon dit nummer niet vinden." -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "" -#: ../coreapi/proxy.c:1494 -#, fuzzy, c-format +#: ../coreapi/proxy.c:1411 +#, c-format msgid "Refreshing on %s..." -msgstr "bezig met ophalen van %s" +msgstr "" -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "" -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "" -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." +msgid "Call answered by %s" msgstr "" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "" - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "" - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "" -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "Oproep beeindigd." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "Gebruiker is bezet." -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "Gebruiker is tijdelijk niet beschikbaar." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "De gebruiker wenst niet gestoord te worden." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "Oproep geweigerd." -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "Registratie op %s gelukt." -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "" + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." msgstr[0] "" msgstr[1] "" -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2100,7 +2025,7 @@ msgid "" "Duration: %i mn %i sec\n" msgstr "" -#: ../coreapi/call_log.c:221 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "" diff --git a/po/pl.po b/po/pl.po index 27329ea36..f49644891 100644 --- a/po/pl.po +++ b/po/pl.po @@ -1,57 +1,54 @@ # 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-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/belledonne-communications/" -"linphone-gtk/language/pl/)\n" -"Language: pl\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 08:30+0000\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Polish (http://www.transifex.com/belledonne-communications/linphone-gtk/language/pl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " -"|| n%100>=20) ? 1 : 2);\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" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" @@ -59,7 +56,7 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" @@ -67,14 +64,14 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:342 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "" @@ -92,7 +89,7 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "Nie można znaleźć pixmapy: %s" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" msgstr "" @@ -122,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 @@ -138,142 +135,129 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1058 +#: ../gtk/main.c:1040 #, 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:1135 +#: ../gtk/main.c:1117 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "Nazwa" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "Nazwa" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "Jakość (Hz)" @@ -442,159 +426,158 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:172 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." msgstr "" -#: ../gtk/setupwizard.c:521 +#: ../gtk/setupwizard.c:514 msgid "Thank you. Your account is now configured and ready for use." msgstr "" -#: ../gtk/setupwizard.c:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "" @@ -668,112 +651,112 @@ msgstr "" msgid "%.3f seconds" msgstr "" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "" -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" msgstr "" -#: ../gtk/incall_view.c:524 +#: ../gtk/incall_view.c:569 msgid "Incoming call" msgstr "" -#: ../gtk/incall_view.c:561 +#: ../gtk/incall_view.c:606 msgid "good" msgstr "" -#: ../gtk/incall_view.c:563 +#: ../gtk/incall_view.c:608 msgid "average" msgstr "" -#: ../gtk/incall_view.c:565 +#: ../gtk/incall_view.c:610 msgid "poor" msgstr "" -#: ../gtk/incall_view.c:567 +#: ../gtk/incall_view.c:612 msgid "very poor" msgstr "" -#: ../gtk/incall_view.c:569 +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "" -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "" -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "" -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "" @@ -874,7 +857,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "" @@ -891,94 +874,78 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "" @@ -1695,11 +1662,8 @@ 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 @@ -1770,60 +1734,68 @@ msgstr "" msgid "Welcome!" msgstr "" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "" -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr "" -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "Połączony" -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "" -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "" -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "" @@ -1879,156 +1851,150 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." msgstr "" -#: ../coreapi/proxy.c:301 +#: ../coreapi/proxy.c:298 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:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "" -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "" -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "" -#: ../coreapi/proxy.c:1494 +#: ../coreapi/proxy.c:1411 #, c-format msgid "Refreshing on %s..." msgstr "" -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "" -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "" -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." +msgid "Call answered by %s" msgstr "" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "" - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "" - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "" -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "" -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "Osoba jest zajęta." -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "Osoba jest tymczasowo niedostępna." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "Osoba nie chce, aby jej przeszkadzać." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "Rozmowa odrzucona." -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "" -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "" + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." @@ -2036,23 +2002,23 @@ msgstr[0] "" msgstr[1] "" msgstr[2] "" -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2062,7 +2028,7 @@ msgid "" "Duration: %i mn %i sec\n" msgstr "" -#: ../coreapi/call_log.c:221 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "" diff --git a/po/pt_BR.po b/po/pt_BR.po index bf6aa49b8..3003fbdf5 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -1,77 +1,75 @@ # 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-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/belledonne-" -"communications/linphone-gtk/language/pt_BR/)\n" -"Language: pt_BR\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 08:30+0000\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/belledonne-communications/linphone-gtk/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 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:342 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "" @@ -89,7 +87,7 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "Não é possível achar arquivo pixmap: %s" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" msgstr "" @@ -119,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 "" #: ../gtk/main.c:145 @@ -135,142 +133,129 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1058 +#: ../gtk/main.c:1040 #, 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:1135 +#: ../gtk/main.c:1117 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "Camadas recebidas" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "Status de presença" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "Nome" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "Nome" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "Taxa (Hz)" @@ -438,159 +423,158 @@ msgid_plural "Found %i contacts" msgstr[0] "" msgstr[1] "" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:172 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." msgstr "" -#: ../gtk/setupwizard.c:521 +#: ../gtk/setupwizard.c:514 msgid "Thank you. Your account is now configured and ready for use." msgstr "" -#: ../gtk/setupwizard.c:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "" @@ -664,112 +648,112 @@ msgstr "" msgid "%.3f seconds" msgstr "" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "" -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" msgstr "" -#: ../gtk/incall_view.c:524 +#: ../gtk/incall_view.c:569 msgid "Incoming call" msgstr "" -#: ../gtk/incall_view.c:561 +#: ../gtk/incall_view.c:606 msgid "good" msgstr "" -#: ../gtk/incall_view.c:563 +#: ../gtk/incall_view.c:608 msgid "average" msgstr "" -#: ../gtk/incall_view.c:565 +#: ../gtk/incall_view.c:610 msgid "poor" msgstr "" -#: ../gtk/incall_view.c:567 +#: ../gtk/incall_view.c:612 msgid "very poor" msgstr "" -#: ../gtk/incall_view.c:569 +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "" -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "" -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "" -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "" @@ -870,7 +854,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "" @@ -887,94 +871,78 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "" @@ -1691,11 +1659,8 @@ 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 @@ -1766,60 +1731,68 @@ msgstr "" msgid "Welcome!" msgstr "" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "" -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr "" -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "Conectado." -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "" -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "" -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "" @@ -1875,179 +1848,173 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." msgstr "" -#: ../coreapi/proxy.c:301 +#: ../coreapi/proxy.c:298 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:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "Procurando por telefone de destino..." -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "Não foi possível encontrar este número." -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "" -#: ../coreapi/proxy.c:1494 +#: ../coreapi/proxy.c:1411 #, c-format msgid "Refreshing on %s..." msgstr "" -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "" -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "" -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." +msgid "Call answered by %s" msgstr "" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "" - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "" - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "" -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "" -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "Usuário está ocupado." -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "Usuário está temporáriamente indisponível." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "" -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "" -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "" -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "" + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." msgstr[0] "" msgstr[1] "" -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2057,7 +2024,7 @@ msgid "" "Duration: %i mn %i sec\n" msgstr "" -#: ../coreapi/call_log.c:221 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "" diff --git a/po/ru.po b/po/ru.po index 48f1f7880..2b2611ae2 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,51 +12,48 @@ msgid "" msgstr "" "Project-Id-Version: linphone-gtk\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2015-08-24 11:11+0200\n" -"PO-Revision-Date: 2015-07-17 07:40+0000\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 08:43+0000\n" "Last-Translator: AlexL \n" -"Language-Team: Russian (http://www.transifex.com/belledonne-communications/" -"linphone-gtk/language/ru/)\n" -"Language: ru\n" +"Language-Team: Russian (http://www.transifex.com/belledonne-communications/linphone-gtk/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\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" +"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" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "Звонок %s" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "Послать текст для %s" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "Последние вызовы (%i)" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "—" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "Прервано" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "Пропущено" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "Отклонено" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" @@ -65,7 +62,7 @@ msgstr[1] "%i минуты" msgstr[2] "%i минут" msgstr[3] "%i минут" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" @@ -74,16 +71,14 @@ msgstr[1] "%i секунды" msgstr[2] "%i секунд" msgstr[3] "%i секунд" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format 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 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "%s\t%s" @@ -101,15 +96,13 @@ msgstr "Мне" msgid "Couldn't find pixmap file: %s" msgstr "Невозможно найти графический файл: %s" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" -msgstr "" +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." @@ -133,11 +126,9 @@ 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" @@ -151,150 +142,129 @@ msgstr "Запустить помощника аудио" msgid "Run self test and exit 0 if succeed" msgstr "Запустить самотест и выйти при успехе со статусом 0" -#: ../gtk/main.c:1058 +#: ../gtk/main.c:1040 #, 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" -"Если вы ответите нет, то этот человек будет временно занесён в чёрный список." +msgstr "%s хочет добавить Вас в его/её список контактов.\nВы бы добавили его/её в свой список контактов и позволили ему/ей видеть ваш статус присутствия?\nЕсли вы ответите нет, то этот человек будет временно занесён в чёрный список." -#: ../gtk/main.c:1135 +#: ../gtk/main.c:1117 #, 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:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "Ошибка звонка" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "Звонок окончен" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "Входящий звонок" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Ответ" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Отклонить" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "Звонок приостановлен" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "%s" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s предложил запустить видео. Вы принимаете?" -#: ../gtk/main.c:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "Домашняя страница" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "Видео интернет телефон" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "%s (по умолчанию)" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "Мы передали в %s" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "Свободный SIP видео-телефон" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "Привет\n" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "Добавить в адресную книгу" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "Статус присутствия" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "Имя" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "Звонок" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "Чат" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "Поиск в директории %s" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "Неверный sip контакт!" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "Редактировать контакт '%s'" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "Удалить контакт '%s'" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "Удалить историю чата для '%s'" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "Добавить новый контакт из директории '%s'" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "Имя" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "Частота (Гц)" @@ -406,9 +376,7 @@ msgstr "Турецкий" #: ../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:1325 msgid "None" @@ -431,9 +399,7 @@ 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." @@ -468,170 +434,158 @@ msgstr[1] "Найдено %i контакта" msgstr[2] "Найдено %i контактов" msgstr[3] "Найдено %i контактов" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 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:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "Создать учётную запись на linphone.org" -#: ../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:171 +msgid "I have already a linphone.org account and I just want to use it" +msgstr "Я уже имею учётную запись на linphone.org и только хочу использовать её" + +#: ../gtk/setupwizard.c:172 msgid "I have already a sip account and I just want to use it" msgstr "Я уже имею учётную запись sip и только хочу использовать её" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "Я хочу указать удалённую конфигурацию URI" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "Введите вашу информацию об учётной записи" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "Имя пользователя*" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "Пароль*" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "Домен*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "Прокси" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "Введите ваше имя пользователя для linphone.org" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Имя пользователя:" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Пароль:" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "(*) Обязательные поля" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "Имя пользователя: (*)" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "Пароль: (*)" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "Электронная почта: (*)" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "Подтвердите ваш пароль: (*)" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "Информировать об обновлениях linphone" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "Ваша учётная запись создаётся, пожалуйста, подождите." -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." -msgstr "" -"Проверяется действительность вашей учётной записи, пожалуйста, подождите." +msgstr "Проверяется действительность вашей учётной записи, пожалуйста, подождите." -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 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:521 +#: ../gtk/setupwizard.c:514 msgid "Thank you. Your account is now configured and ready for use." msgstr "Спасибо! Учётная запись успешно настроена и готова к использованию." -#: ../gtk/setupwizard.c:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "Помощник настройки учётной записи SIP" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "Добро пожаловать в помощник настройки учётной записи" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "Помощник настройки учётной записи" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "Настроить вашу учётную запись (шаг 1/1)" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "Введите ваше sip имя пользователя (шаг 1/1)" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "Введите информацию об учётной записи (шаг 1/2)" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "Создание учётной записи в прогрессе" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "Подтверждение (шаг 2/2)" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "Проверка действительности учётной записи в прогрессе" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "Ошибка" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "Прерывание" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "Звонок #%i" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "Передача позвонить #%i с %s" @@ -693,9 +647,7 @@ 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 @@ -707,114 +659,112 @@ msgstr "%ix%i @ %f кадр/сек" msgid "%.3f seconds" msgstr "%.3f секунд" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "Повесить трубку" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "Звоним..." -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" msgstr "00:00:00" -#: ../gtk/incall_view.c:524 +#: ../gtk/incall_view.c:569 msgid "Incoming call" msgstr "Входящий звонок" -#: ../gtk/incall_view.c:561 +#: ../gtk/incall_view.c:606 msgid "good" msgstr "хороший" -#: ../gtk/incall_view.c:563 +#: ../gtk/incall_view.c:608 msgid "average" msgstr "средний" -#: ../gtk/incall_view.c:565 +#: ../gtk/incall_view.c:610 msgid "poor" msgstr "плохой" -#: ../gtk/incall_view.c:567 +#: ../gtk/incall_view.c:612 msgid "very poor" msgstr "очень плохой" -#: ../gtk/incall_view.c:569 +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "совсем плохой" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "недоступен" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "Защищённые с помощью SRTP" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "Защищённые с помощью DTLS" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "Защищённые с помощью ZRTP - [знак аутентификации: %s]" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "Установить непроверенный" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Установить проверенный" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "В конференции" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "Звоним" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "Звонок приостановлен" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "Звонок закончен." -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "Передача в прогрессе" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "Передача завершена." -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "Передача неудачна." -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "Продолжить" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Пауза" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" -msgstr "" -"Записывается в\n" -"%s %s" +msgstr "Записывается в\n%s %s" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "(Пауза)" @@ -865,9 +815,7 @@ 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" @@ -917,7 +865,7 @@ msgstr "Давайте сейчас запустим linphone" msgid "Audio Assistant" msgstr "Помощник аудио" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "Помощник аудио" @@ -934,94 +882,78 @@ msgid "Record and Play" msgstr "Записать и проиграть" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "Все пользователи" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "Пользователи в сети" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "ADSL" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "Оптоволоконный канал" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "По умолчанию" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "Удалить" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "_Опции" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "Установить конфигурацию URI" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "Всегда запускать видео" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "Показать окно видео" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "_Помощь" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "Показать окно отладки" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "_Домашняя страница" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "Проверить _обновления" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "Помощник учётной записи" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "SIP-адрес или номер телефона:" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "Начать новый звонок" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "Контакты" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "Поиск" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "Добавить контакты из директории" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "Добавить контакт" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "Последние звонки" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "Мой текущий идентификатор:" @@ -1051,19 +983,7 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: 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" +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" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1243,9 +1163,7 @@ 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):" @@ -1383,9 +1301,7 @@ 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" @@ -1754,17 +1670,9 @@ 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..." @@ -1788,7 +1696,7 @@ msgstr "Конец конференции" #: ../gtk/in_call_frame.ui.h:2 msgid "Click here to set the speakers volume" -msgstr "" +msgstr "Щёлкните здесь чтобы установить громкость динамиков" #: ../gtk/in_call_frame.ui.h:5 msgid "Record this call to an audio file" @@ -1834,61 +1742,68 @@ msgstr "Информация для входа" msgid "Welcome!" msgstr "Добро пожаловать!" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "ADSL" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "Оптоволоконный канал" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "Готов" -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "Конфигурирование" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "Соединение" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "Невозможно позвонить" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 msgid "Sorry, we have reached the maximum number of simultaneous calls" -msgstr "" -"К сожалению, мы достигли максимального количества одновременных звонков" +msgstr "К сожалению, мы достигли максимального количества одновременных звонков" -#: ../coreapi/linphonecore.c:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "контактирует с вами" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr "и спросил автоматический ответ." -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "Изменение параметров звонка..." -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "Соединён." -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "Звонок отменён" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "Невозможно приостановить звонок" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "Приостановка текущего звонка..." -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "Идет поиск STUN..." -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "Сбор локальных кандидатов ICE в прогрессе..." @@ -1944,161 +1859,150 @@ msgstr "Отдых" msgid "Unknown status" msgstr "Неизвестный статус" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 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:301 +#: ../coreapi/proxy.c:298 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:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "Поиск назначения для телефонного номера.." -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "Не получилось принять решение по этому номеру." -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "Невозможно зайти как: %s" -#: ../coreapi/proxy.c:1494 -#, fuzzy, c-format +#: ../coreapi/proxy.c:1411 +#, c-format msgid "Refreshing on %s..." -msgstr "получение от %s" +msgstr "Обновление %s..." -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "Дистанционный звонок." -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "Дистанционный звонок..." -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "Предответное проключение." -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." -msgstr "Звонок с %s приостановлен." +msgid "Call answered by %s" +msgstr "На звонок ответил %s" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "На звонок ответил %s - на удержании." - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "Звонок возобновлён." -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "На звонок ответил %s." - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 msgid "Incompatible, check codecs or security settings..." msgstr "Несовместимость, проверьте кодеки или параметры безопасности..." -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "Несовместимость медиа-параметров." -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "Мы возобновили." #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "Мы приостановлены другой стороной." -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "Звонок был дистанционно обновлён." -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "Звонок прерван." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "Пользователь занят." -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "Пользователь временно недоступен." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "Пользователь не хочет чтобы его беспокоили." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "Звонок отклонён." -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "Таймаут запроса." -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "Переадресован" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "Звонок не удался." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "Регистрация на %s прошла успешно." -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "Отмена регистрации на %s завершена." -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "время ожидания истекло" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "Регистрация на %s не удалась: %s" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "Сервис недоступен, повтор" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "Маркер проверки подлинности: %s" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "Параметры звонка не были изменены: %s." + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "Параметры звонка были успешно изменены." -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." @@ -2107,23 +2011,23 @@ msgstr[1] "У вас %i пропущенных вызова." msgstr[2] "У вас %i пропущенных вызов." msgstr[3] "У вас %i пропущенных вызов." -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "прервано" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "завершено" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "пропущено" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "неизвестно" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2131,14 +2035,9 @@ 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 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "Исходящий вызов" diff --git a/po/sr.po b/po/sr.po index 9026fe636..9813ce4ce 100644 --- a/po/sr.po +++ b/po/sr.po @@ -1,58 +1,55 @@ # 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-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/belledonne-communications/" -"linphone-gtk/language/sr/)\n" -"Language: sr\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 18:55+0000\n" +"Last-Translator: Мирослав Николић \n" +"Language-Team: Serbian (http://www.transifex.com/belledonne-communications/linphone-gtk/language/sr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\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" +"Language: sr\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ../gtk/calllogs.c:149 ../gtk/friendlist.c:976 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "Позови „%s“" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "Пошаљи текст за %s" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "Недавни позиви (%i)" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "н/д" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "Прекинут" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "Пропуштен" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "Одбијен" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" @@ -60,7 +57,7 @@ msgstr[0] "%i минут" msgstr[1] "%i минута" msgstr[2] "%i минута" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" @@ -68,16 +65,14 @@ msgstr[0] "%i секунда" msgstr[1] "%i секунде" msgstr[2] "%i секунди" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format 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 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "%s\t%s" @@ -95,9 +90,9 @@ msgstr "Ја" msgid "Couldn't find pixmap file: %s" msgstr "Не могу да пронађем датотеку сличице: %s" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" -msgstr "" +msgstr "Умножи" #: ../gtk/main.c:138 msgid "log to stdout some debug information while running." @@ -105,7 +100,7 @@ msgstr "бележи на стандардни излаз неке податк #: ../gtk/main.c:139 msgid "display version and exit." -msgstr "" +msgstr "приказује издање и излази." #: ../gtk/main.c:140 msgid "path to a file to write logs into." @@ -125,11 +120,9 @@ 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" @@ -143,146 +136,129 @@ msgstr "Покреће помоћника звука" msgid "Run self test and exit 0 if succeed" msgstr "Покреће самоиспробавање и излази 0 ако је успешно" -#: ../gtk/main.c:1058 +#: ../gtk/main.c:1040 #, 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 "" +msgstr "%s жели да вас дода на свој списак контакта.\nДа ли желите да га/је додате на ваш списак контакта и да му/јој омогућите да види ваше стање присуства?\nАко одговорите негативно, ова особа ће тренутно бити стављена на списак забрањених." -#: ../gtk/main.c:1135 +#: ../gtk/main.c:1117 #, 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:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "Грешка позива" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "Позив је завршен" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "Долазни позив" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Јави се" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Одбиј" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "Позив је заустављен" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "од %s" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "%s предлаже да започнете видео. Да ли прихватате ?" -#: ../gtk/main.c:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "Веза веб сајта" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Линфон" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" -msgstr "" +msgstr "Интернетски видео телефон" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "%s (основно)" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "Преселили смо се на %s" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "Слободан СИП телефон са снимком" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" -msgstr "" +msgstr "Здраво\n" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "Додајте у адресар" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "Стање присуства" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "Име" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "Позови" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "Ћаскај" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "Тражи у директоријуму „%s“" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "Неисправан сип контакт !" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "Уредите контакт „%s“" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "Обришите контакт „%s“" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "Обришите историјат ћаскања за „%s“" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "Додајте нови контакт из директоријума „%s“" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "Име" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "Проток (Hz)" @@ -385,17 +361,16 @@ msgstr "Српски" #: ../gtk/propertybox.c:1187 msgid "Arabic" -msgstr "" +msgstr "Арапски" #: ../gtk/propertybox.c:1188 msgid "Turkish" -msgstr "" +msgstr "Турски" #: ../gtk/propertybox.c:1245 msgid "" "You need to restart linphone for the new language selection to take effect." -msgstr "" -"Треба поново да покренете линфон да би нови изабрани језик ступио у дејство." +msgstr "Треба поново да покренете линфон да би нови изабрани језик ступио у дејство." #: ../gtk/propertybox.c:1325 msgid "None" @@ -407,7 +382,7 @@ msgstr "СРТП" #: ../gtk/propertybox.c:1335 msgid "DTLS" -msgstr "" +msgstr "ДТЛС" #: ../gtk/propertybox.c:1342 msgid "ZRTP" @@ -418,9 +393,7 @@ 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." @@ -454,167 +427,158 @@ msgstr[0] "Нашао сам %i контакт" msgstr[1] "Нашао сам %i контакта" msgstr[2] "Нашао сам %i контаката" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." -msgstr "" -"Добро дошли!\n" -"Овај помоћник ће вам помоћи да користите СИП налог за ваше позиве." +msgstr "Добро дошли!\nОвај помоћник ће вам помоћи да користите СИП налог за ваше позиве." -#: ../gtk/setupwizard.c:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "Направи налог на линфон.орг-у" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 msgid "I have already a linphone.org account and I just want to use it" msgstr "Већ имам налог линфон.орг-а и желим да га користим" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:172 msgid "I have already a sip account and I just want to use it" msgstr "Већ имам сип налог и желим да га користим" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "Желим да наведем удаљену путању подешавања" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" -msgstr "" +msgstr "Унесите податке вашег налога" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "Корисник*" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "Лозинка*" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "Домен*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "Посредник" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "Унесите ваше корисничко име линфон.орг-а" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Корисничко име:" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Лозинка:" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "(*) Обавезна поља" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "Корисник: (*)" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "Лозинка: (*)" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "Ел. пошта: (*)" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "Потврдите вашу лозинку: (*)" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "Обавештавај ме о ажурирањима линфона" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." -msgstr "" +msgstr "Ваш налог је направљен, сачекајте тренутак." -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." -msgstr "" +msgstr "Проверавам да ли је ваш налог потврђен, сачекајте тренутак." -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 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:521 +#: ../gtk/setupwizard.c:514 msgid "Thank you. Your account is now configured and ready for use." msgstr "Хвала вам. Ваш налог је сада подешен и спреман за употребу." -#: ../gtk/setupwizard.c:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "Помоћник подешавања СИП налога" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "Добро дошли у помоћника подешавања налога" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "Помоћник подешавања налога" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "Подесите ваш налог (корак 1/1)" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "Унесите ваше корисничко име сип-а (корак 1/1)" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "Унесите податке налога (корак 1/2)" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" -msgstr "" +msgstr "Прављење налога је у току" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "Потврђивање (корак 2/2)" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" -msgstr "" +msgstr "Провера налога је у току" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "Грешка" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "Завршавам" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "Позив бр. %i" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "Пребаци позив #%i са %s" @@ -676,9 +640,7 @@ 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 @@ -690,114 +652,112 @@ msgstr "%ix%i @ %f к/с" msgid "%.3f seconds" msgstr "%.3f секунде" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "Прекини" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "Позивам..." -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" msgstr "00:00:00" -#: ../gtk/incall_view.c:524 +#: ../gtk/incall_view.c:569 msgid "Incoming call" msgstr "Долазни позив" -#: ../gtk/incall_view.c:561 +#: ../gtk/incall_view.c:606 msgid "good" msgstr "добро" -#: ../gtk/incall_view.c:563 +#: ../gtk/incall_view.c:608 msgid "average" msgstr "просечно" -#: ../gtk/incall_view.c:565 +#: ../gtk/incall_view.c:610 msgid "poor" msgstr "оскудно" -#: ../gtk/incall_view.c:567 +#: ../gtk/incall_view.c:612 msgid "very poor" msgstr "јадно" -#: ../gtk/incall_view.c:569 +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "много лоше" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "недоступно" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "Осигурано СРТП-ом" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" -msgstr "" +msgstr "Осигурано ДТЛС-ом" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "Осигурано ЗРТП-ом [потврђивање идентитета: %s]" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "Непроверено подешавање" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "Проверено подешавање" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "На конференцији" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "У позиву" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "Заустављен позив" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "Позив је завршен." -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "Пренос је у току" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "Пренос је обављен." -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "Пренос није успео." -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "Настави" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Застани" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" -msgstr "" -"Снимам у\n" -"%s %s" +msgstr "Снимам у\n%s %s" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "(Паузирано)" @@ -848,9 +808,7 @@ 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" @@ -900,7 +858,7 @@ msgstr "Хајде сада да покренемо Линфон" msgid "Audio Assistant" msgstr "Помоћник звука" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "Помоћник звука" @@ -917,94 +875,78 @@ msgid "Record and Play" msgstr "Снимите и пустите" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "Сви корисници" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "Корисници на мрежи" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "АДСЛ" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "Оптички канал" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Основно" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "Обриши" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "_Могућности" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "Постави путању подешавања" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "Увек покрени видео" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "Укључи самовиђење" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "По_моћ" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "Прикажи прозорче прочишћавања" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "_Матична страница" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "Провери _ажурирања" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "Помоћник налога" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "СИП адреса или број телефона:" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "Започните нови позив" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "Пријатељи" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "Тражи" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "Додај пријатеље из директоријума" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "Додај пријатеља" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "Скорашњи позиви" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "Мој тренутни идентитет:" @@ -1018,8 +960,7 @@ 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 "" @@ -1035,20 +976,7 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: 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" -"sr: Мирослав Николић \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" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1212,15 +1140,15 @@ msgstr "СИП (ТЛС)" #: ../gtk/parameters.ui.h:14 msgid "default" -msgstr "" +msgstr "основно" #: ../gtk/parameters.ui.h:15 msgid "high-fps" -msgstr "" +msgstr "високи-проток" #: ../gtk/parameters.ui.h:16 msgid "custom" -msgstr "" +msgstr "произвољно" #: ../gtk/parameters.ui.h:17 msgid "Settings" @@ -1276,15 +1204,15 @@ msgstr "Приватност" #: ../gtk/parameters.ui.h:30 msgid "Automatically answer when a call is received" -msgstr "" +msgstr "Сам одговори када се прими позив" #: ../gtk/parameters.ui.h:31 msgid "Delay before answering (ms)" -msgstr "" +msgstr "Сачекај пре него што одговориш (ms)" #: ../gtk/parameters.ui.h:32 msgid "Auto-answer" -msgstr "" +msgstr "Самостални-одговор" #: ../gtk/parameters.ui.h:33 msgid "Manage SIP Accounts" @@ -1324,7 +1252,7 @@ msgstr "Улазни уређај снимка:" #: ../gtk/parameters.ui.h:42 msgid "Preferred video resolution:" -msgstr "" +msgstr "Жељена резолуција снимка:" #: ../gtk/parameters.ui.h:43 msgid "Video output method:" @@ -1336,11 +1264,11 @@ msgstr "Прикажи претпреглед камерице" #: ../gtk/parameters.ui.h:45 msgid "Video preset:" -msgstr "" +msgstr "Претподешавање снимка:" #: ../gtk/parameters.ui.h:46 msgid "Preferred video framerate:" -msgstr "" +msgstr "Жељени проток кадрова снимка:" #: ../gtk/parameters.ui.h:47 msgid "0 stands for \"unlimited\"" @@ -1366,9 +1294,7 @@ 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" @@ -1388,7 +1314,7 @@ msgstr "Пошаљи ДТМФ као СИП податке" #: ../gtk/parameters.ui.h:57 msgid "Allow IPv6" -msgstr "" +msgstr "Омогући ИПв6" #: ../gtk/parameters.ui.h:58 msgid "Transport" @@ -1484,11 +1410,11 @@ msgstr "Искључи" #: ../gtk/parameters.ui.h:82 msgid "Audio codecs" -msgstr "" +msgstr "Кодеци звука" #: ../gtk/parameters.ui.h:83 msgid "Video codecs" -msgstr "" +msgstr "Кодеци снимка" #: ../gtk/parameters.ui.h:84 msgid "Codecs" @@ -1737,17 +1663,9 @@ 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..." @@ -1771,7 +1689,7 @@ msgstr "Заврши конференцију" #: ../gtk/in_call_frame.ui.h:2 msgid "Click here to set the speakers volume" -msgstr "" +msgstr "Притисните овде да подесите јачину звучника" #: ../gtk/in_call_frame.ui.h:5 msgid "Record this call to an audio file" @@ -1817,60 +1735,68 @@ msgstr "Подаци пријављивања" msgid "Welcome!" msgstr "Добро дошли!" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "АДСЛ" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "Оптички канал" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "Спреман" -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "Подешавам" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "Ступам у везу" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "Не могу да позовем" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "Извините, достигли смо највећи број истовремених позива" -#: ../coreapi/linphonecore.c:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "вам се обраћа" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr " и затражени само-одговор." -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "Мењам параметре позива..." -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "Повезан сам." -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "Позив је прекинут" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "Не могу да зауставим позив" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "Заустављам тренутни позив..." -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "У току је тражење стуна..." -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "Прикупљање месних ИЦЕ кандидата је у току..." @@ -1926,161 +1852,150 @@ msgstr "На одмору" msgid "Unknown status" msgstr "Непознато стање" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 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:301 +#: ../coreapi/proxy.c:298 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:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "Тражим одредиште телефонског броја..." -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "Не могу да решим овај број." -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "Не могу да се пријавим као %s" -#: ../coreapi/proxy.c:1494 -#, fuzzy, c-format +#: ../coreapi/proxy.c:1411 +#, c-format msgid "Refreshing on %s..." -msgstr "довлачим са „%s“" +msgstr "Освежавам на %s..." -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "Удаљено звоњење." -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "Удаљено звоњење..." -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "Ранији медиј." -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." -msgstr "Позив са „%s“ је заустављен." +msgid "Call answered by %s" +msgstr "На позив је одговорио/ла %s" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "Позив на који је одговорио „%s“ — на чекању." - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "Позив је настављен." -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "На позив је одговорио „%s“." - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 msgid "Incompatible, check codecs or security settings..." msgstr "Несагласно, проверите кодеке или безбедносна подешавања..." -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "Медијски параметри су несагласни." -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "Наставили смо." #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "Друга страна нас је паузирала." -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "Позив је освежен удаљеним." -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "Позив је завршен." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "Корисник је заузет." -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "Корисник је привремено недоступан." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "Корисник не жели да буде узнемираван." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "Позив је одбијен." -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "Истекло је време захтева." -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "Преусмерен" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "Позив није успео." -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "Уписивање на „%s“ је успело." -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "Исписивање са „%s“ је обављено." -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "нема ограничења одговора" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "Уписивање на „%s“ није успело: %s" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "Услуга није доступна, поново покушавам" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "Симбол потврђивања идентитета је „%s“" -#: ../coreapi/linphonecall.c:1314 -msgid "Call parameters were successfully modified." -msgstr "" +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "Параметри позива не могу бити измењени: %s." -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:1563 +msgid "Call parameters were successfully modified." +msgstr "Параметри позива су успешно измењени." + +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." @@ -2088,23 +2003,23 @@ msgstr[0] "Пропустили сте %i позив." msgstr[1] "Пропустили сте %i позива." msgstr[2] "Пропустили сте %i позива." -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "прекинут" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "завршен" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "пропуштен" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "непознато" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2112,14 +2027,9 @@ 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 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "Одлазни позив" diff --git a/po/sv.po b/po/sv.po index 455492964..0a77a5a0c 100644 --- a/po/sv.po +++ b/po/sv.po @@ -1,77 +1,75 @@ # 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-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/belledonne-communications/" -"linphone-gtk/language/sv/)\n" -"Language: sv\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 08:30+0000\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Swedish (http://www.transifex.com/belledonne-communications/linphone-gtk/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 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "Ringer %s" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "Skicka text till %s" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:342 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "" @@ -89,7 +87,7 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "Kunde inte hitta pixmap filen: %s" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" msgstr "" @@ -119,11 +117,9 @@ 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" @@ -137,142 +133,129 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1058 +#: ../gtk/main.c:1040 #, 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:1135 +#: ../gtk/main.c:1117 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "Samtalet slut" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "Inkommande samtal" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Avböj" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "Webbsajt" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "%s (Default)" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "En gratis SIP video-telefon" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "Närvarostatus" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "Namn" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "Sök i %s katalogen" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "ogiltig SIP kontakt!" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "Ändra kontakt '%s'" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "Ta bort kontakt '%s'" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "Lägg till kontakt ifrån %s katalogen" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "Namn" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "Frekvens (Hz)" @@ -407,9 +390,7 @@ 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.\n" -"Vill du öppna en browser för att ladda ner den?" +msgstr "En nyare version är tillgänglig på %s.\nVill du öppna en browser för att ladda ner den?" #: ../gtk/update.c:91 msgid "You are running the lastest version." @@ -442,159 +423,158 @@ msgid_plural "Found %i contacts" msgstr[0] "Hittat kontakt %i" msgstr[1] "Hittat kontakt %i" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:172 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Användarnamn:" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Lösenord:" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." msgstr "" -#: ../gtk/setupwizard.c:521 +#: ../gtk/setupwizard.c:514 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:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "Välkommen till kontoinstallationsassistenten" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "Kontoinstallationsassistenten" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "" @@ -668,113 +648,112 @@ msgstr "" msgid "%.3f seconds" msgstr "" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "Ringer..." -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 -#, fuzzy +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" -msgstr "00:00:00" - -#: ../gtk/incall_view.c:524 -msgid "Incoming call" -msgstr "" - -#: ../gtk/incall_view.c:561 -msgid "good" -msgstr "" - -#: ../gtk/incall_view.c:563 -msgid "average" -msgstr "" - -#: ../gtk/incall_view.c:565 -msgid "poor" -msgstr "" - -#: ../gtk/incall_view.c:567 -msgid "very poor" msgstr "" #: ../gtk/incall_view.c:569 +msgid "Incoming call" +msgstr "" + +#: ../gtk/incall_view.c:606 +msgid "good" +msgstr "" + +#: ../gtk/incall_view.c:608 +msgid "average" +msgstr "" + +#: ../gtk/incall_view.c:610 +msgid "poor" +msgstr "" + +#: ../gtk/incall_view.c:612 +msgid "very poor" +msgstr "" + +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "Samtalet slut." -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "" -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "" -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "" @@ -875,7 +854,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "" @@ -892,94 +871,78 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "Själv bild" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "Användarnamn" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "Sök" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "Lägg till kontakt ifrån katalogen" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "Min nuvarande identitet" @@ -1189,8 +1152,7 @@ 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):" @@ -1697,11 +1659,8 @@ 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 @@ -1772,60 +1731,68 @@ msgstr "Login information" msgid "Welcome!" msgstr "" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "Redo" -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "Kontaktar" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr "" -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "Kopplad" -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "" -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "STUN uppslagning pågår..." -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "" @@ -1881,183 +1848,173 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 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:301 +#: ../coreapi/proxy.c:298 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:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "Leta efter telefonnummer för destinationen..." -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "Kan inte nå dett nummer." -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "Kunde inte logga in som %s" -#: ../coreapi/proxy.c:1494 +#: ../coreapi/proxy.c:1411 #, c-format msgid "Refreshing on %s..." msgstr "" -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "Ringer hos motparten." -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "Tidig media" -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." +msgid "Call answered by %s" msgstr "" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "" - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "" - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "" -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "Samtalet slut." -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "Användare upptagen." -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "Användaren temporärt inte tillgänglig." #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "Användaren vill inte bli störd." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "Samtalet avböjdes." -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "" -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "Registrering hos %s lyckades." -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "Avregistrering hos %s lyckades." -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "Inget svar inom angiven tid" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "Registrering hos %s mislyckades: %s" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "" + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." msgstr[0] "Du har %i missat samtal" msgstr[1] "Du har %i missade samtal" -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2067,7 +2024,7 @@ msgid "" "Duration: %i mn %i sec\n" msgstr "" -#: ../coreapi/call_log.c:221 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "" diff --git a/po/tr.po b/po/tr.po index 0cf1f6ac7..0444b4988 100644 --- a/po/tr.po +++ b/po/tr.po @@ -1,78 +1,76 @@ # 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-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/belledonne-communications/" -"linphone-gtk/language/tr/)\n" -"Language: tr\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 20:35+0000\n" +"Last-Translator: faradundamarti \n" +"Language-Team: Turkish (http://www.transifex.com/belledonne-communications/linphone-gtk/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 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "İptal edildi" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "Yanıtsız" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "Reddedildi" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "" msgstr[1] "" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:342 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "" @@ -90,7 +88,7 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" msgstr "" @@ -100,7 +98,7 @@ msgstr "" #: ../gtk/main.c:139 msgid "display version and exit." -msgstr "" +msgstr "sürümü görüntüle ve çık." #: ../gtk/main.c:140 msgid "path to a file to write logs into." @@ -120,11 +118,9 @@ 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" @@ -138,142 +134,129 @@ msgstr "Ses yardımcısını çalıştır" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1058 +#: ../gtk/main.c:1040 #, 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:1135 +#: ../gtk/main.c:1117 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "Çağrı yanlış" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "Çağrı sonlandırıldı" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "Gelen çağrı" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "Yanıt" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "Reddet" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "Çağrı duraklatıldı" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "İnternet " -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "Görüntülü internet telefonu" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "Özgür bir SİP görüntülü-telefon" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "Merhaba\n" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "Adres defterine ekle" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "durum bilgisi" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "Ad" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "Çağrı" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "Söyleşi" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "Geçersiz sip bağlantısı !" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "Ad" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "Hız (Hz)" @@ -376,17 +359,16 @@ msgstr "Sırpça" #: ../gtk/propertybox.c:1187 msgid "Arabic" -msgstr "" +msgstr "Arapça" #: ../gtk/propertybox.c:1188 msgid "Turkish" -msgstr "" +msgstr "Türkçe" #: ../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:1325 msgid "None" @@ -442,166 +424,158 @@ msgid_plural "Found %i contacts" msgstr[0] "" msgstr[1] "" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." -msgstr "" -"Hoşgeldiniz!\n" -"Bu yardımcı,çağrılarınız için bir SIP hesabı kullanmanıza yardım edecek." +msgstr "Hoşgeldiniz!\nBu yardımcı,çağrılarınız için bir SIP hesabı kullanmanıza yardım edecek." -#: ../gtk/setupwizard.c:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "linphone.org'da bir hesap oluştur" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:172 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" -msgstr "" +msgstr "Hesap bilgilerinizi girin" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "Kallanıcı adı*" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "Parola*" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "Alan adı*" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "Vekil sunucu" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "linphone.org kullanıcı adınızı girin" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "Kullanıcı adı:" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "Parola:" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "(*) Zorunlu alanlar" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "Kullanıcı adı: (*)" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "Parola: (*)" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "E-posta: (*)" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "Parolanızı onaylayın: (*)" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "linphone güncellemeleri hakkında beni bilgilendir" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." -msgstr "" +msgstr "Hebabınız oluşturulmaya başlandı,lütfen bekleyin." -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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.\n" -"Sonra 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.\nSonra buraya geri dönün ve İleri düğmesine basın." -#: ../gtk/setupwizard.c:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 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.\n" -"Lütfen geri dönün ve tekrar deneyin." +msgstr "Hata,hesap geçersiz,kullanıcı adı kullanılıyor veya sunucuya erişilemiyor.\nLütfen geri dönün ve tekrar deneyin." -#: ../gtk/setupwizard.c:521 +#: ../gtk/setupwizard.c:514 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:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "SİP hesabı yapılandırma yardımcısı" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "Hesap açma yardımcısına hoşgeldiniz" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "Hesap açma yardımcısı" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "Hesabınızı yapılandırın (adım 1/1)" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "sip kullanıcı adınızı girin (adım 1/1)" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "Hesap bilgilerini girin (adım 1/2)" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" -msgstr "" +msgstr "Hesap oluşturma sürüyor" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "Doğrulama (adım 2/2)" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" -msgstr "" +msgstr "Hesap geçerlilik sınaması sürüyor" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "Hata" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "Sonlandırma" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "" @@ -628,7 +602,7 @@ msgstr "" #: ../gtk/incall_view.c:229 msgid "Direct" -msgstr "" +msgstr "Doğrudan" #: ../gtk/incall_view.c:231 msgid "Through a relay server" @@ -675,112 +649,112 @@ msgstr "" msgid "%.3f seconds" msgstr "" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "Telefonu kapatma" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "" -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" msgstr "00:00:00" -#: ../gtk/incall_view.c:524 +#: ../gtk/incall_view.c:569 msgid "Incoming call" msgstr "" -#: ../gtk/incall_view.c:561 +#: ../gtk/incall_view.c:606 msgid "good" msgstr "iyi" -#: ../gtk/incall_view.c:563 +#: ../gtk/incall_view.c:608 msgid "average" msgstr "orta" -#: ../gtk/incall_view.c:565 +#: ../gtk/incall_view.c:610 msgid "poor" msgstr "kötü" -#: ../gtk/incall_view.c:567 +#: ../gtk/incall_view.c:612 msgid "very poor" msgstr "çok kötü" -#: ../gtk/incall_view.c:569 +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "kullanılamaz" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "SRTP güvencesi altında" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "DLTS güvencesi altında" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "Doğrulanmamış ayar" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" -msgstr "" +msgstr "Doğrulanmış ayar" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "" -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "Aktarım sürüyor" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "Aktarım tamam" -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "Aktarım başarısız" -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "Devam et" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "Duraklat" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "(Duraklatıldı)" @@ -831,9 +805,7 @@ 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!\n" -"Bu yardımcı,Linphone'un ses ayarlarını yapılandırmanıza yardım edecek" +msgstr "Hoşgeldiniz!\nBu yardımcı,Linphone'un ses ayarlarını yapılandırmanıza yardım edecek" #: ../gtk/audio_assistant.c:335 msgid "Capture device" @@ -877,13 +849,13 @@ msgstr "Çalma" #: ../gtk/audio_assistant.c:440 msgid "Let's start Linphone now" -msgstr "" +msgstr "Haydi şimdi Linphona başlayalım" #: ../gtk/audio_assistant.c:510 msgid "Audio Assistant" msgstr "Ses Yardımcısı" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "Ses yardımcısı" @@ -900,94 +872,78 @@ msgid "Record and Play" msgstr "Kaydet ve Oynat" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "Tüm kullanıcılar" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "Çevrimiçi kullanıcılar" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "ADSL" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "Öntanımlı" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "Sil" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "_Seçenekler" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" -msgstr "" +msgstr "Her zaman görüntüyü başlat" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "_Yardım" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "Hata düzeltme penceresini göster" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "_Anasayfa" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "Güncellemeleri _Denetle" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "Hesap yardımcısı" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "SİP adresi veya telefon numarası:" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "Yeni bir arama başlat" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "Bağlantılar" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "Arama" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" -msgstr "" +msgstr "Rehberden bağlantılar ekle" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "Bağlantı ekle" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "Son çağrılar" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "" @@ -997,9 +953,7 @@ 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." @@ -1019,19 +973,7 @@ msgid "" "cs: Petr Pisar \n" "hu: anonymous\n" "he: 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" +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" #: ../gtk/contact.ui.h:2 msgid "SIP Address" @@ -1171,11 +1113,11 @@ msgstr "CIF" #: ../gtk/parameters.ui.h:8 msgid "Audio codecs" -msgstr "Ses kodekleri" +msgstr "Ses çözücüleri" #: ../gtk/parameters.ui.h:9 msgid "Video codecs" -msgstr "Görüntü kodekleri" +msgstr "Görüntü çözücüleri" #: ../gtk/parameters.ui.h:10 msgid "C" @@ -1195,7 +1137,7 @@ msgstr "SIP (TLS)" #: ../gtk/parameters.ui.h:14 msgid "default" -msgstr "" +msgstr "Öntanımlı" #: ../gtk/parameters.ui.h:15 msgid "high-fps" @@ -1203,7 +1145,7 @@ msgstr "" #: ../gtk/parameters.ui.h:16 msgid "custom" -msgstr "" +msgstr "özel" #: ../gtk/parameters.ui.h:17 msgid "Settings" @@ -1307,7 +1249,7 @@ msgstr "Görüntü aygıtı:" #: ../gtk/parameters.ui.h:42 msgid "Preferred video resolution:" -msgstr "" +msgstr "Tercih edilen görüntü çözünürlüğü:" #: ../gtk/parameters.ui.h:43 msgid "Video output method:" @@ -1319,11 +1261,11 @@ msgstr "Kamera önizlemesi göster" #: ../gtk/parameters.ui.h:45 msgid "Video preset:" -msgstr "" +msgstr "Görüntü ön ayarları:" #: ../gtk/parameters.ui.h:46 msgid "Preferred video framerate:" -msgstr "" +msgstr "Tercih edilen görüntü kare sayısı:" #: ../gtk/parameters.ui.h:47 msgid "0 stands for \"unlimited\"" @@ -1369,11 +1311,11 @@ msgstr "" #: ../gtk/parameters.ui.h:57 msgid "Allow IPv6" -msgstr "" +msgstr "IPv6'ya izin ver" #: ../gtk/parameters.ui.h:58 msgid "Transport" -msgstr "" +msgstr "Taşıma" #: ../gtk/parameters.ui.h:59 msgid "SIP/UDP port" @@ -1465,11 +1407,11 @@ msgstr "Devre dışı" #: ../gtk/parameters.ui.h:82 msgid "Audio codecs" -msgstr "" +msgstr "Ses çözücüleri" #: ../gtk/parameters.ui.h:83 msgid "Video codecs" -msgstr "" +msgstr "Görüntü çözücüleri" #: ../gtk/parameters.ui.h:84 msgid "Codecs" @@ -1657,7 +1599,7 @@ msgstr "" #: ../gtk/ldap.ui.h:13 msgid "Base object:" -msgstr "" +msgstr "Temel nesne:" #: ../gtk/ldap.ui.h:15 #, no-c-format @@ -1718,11 +1660,8 @@ 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 @@ -1767,7 +1706,7 @@ msgstr "Aktarım" #: ../gtk/in_call_frame.ui.h:12 msgid "In call" -msgstr "" +msgstr "arıyor" #: ../gtk/in_call_frame.ui.h:13 msgid "Duration" @@ -1793,60 +1732,68 @@ msgstr "" msgid "Welcome!" msgstr "Hoşgeldiniz!" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "ADSL" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "Hazır" -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "Yapılandırılıyor" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "Bağlanıyor" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr "" -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "Bağlandı." -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "Çağrı iptal edildi" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "" -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "" -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "" @@ -1902,179 +1849,173 @@ msgstr "Tatil" msgid "Unknown status" msgstr "Bilinmeyen durum" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." msgstr "" -#: ../coreapi/proxy.c:301 +#: ../coreapi/proxy.c:298 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:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "" -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "" -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "" -#: ../coreapi/proxy.c:1494 +#: ../coreapi/proxy.c:1411 #, c-format msgid "Refreshing on %s..." msgstr "" -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "" -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "" -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." +msgid "Call answered by %s" msgstr "" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "" - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "" - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "" -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "Çağrı sonlandırıldı" -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "Kullanıcı meşgul" -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "Kullanıcı rahatsız edilmek istemiyor." -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "Çağrı reddedildi." -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "İstek zamanaşımına uğradı." -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "Yeniden yönlendirildi" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "Arama başarısız" -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "" -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "" -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "Servis kullanımdışı, tekrar deneyin" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "" + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." msgstr[0] "" msgstr[1] "" -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "iptal edildi" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "tamamlandı" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "Yanıtsız" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "bilinmeyen" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2084,7 +2025,7 @@ msgid "" "Duration: %i mn %i sec\n" msgstr "" -#: ../coreapi/call_log.c:221 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "" diff --git a/po/zh_CN.po b/po/zh_CN.po index 1b9b07725..b1beff700 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1,75 +1,73 @@ # 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-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/belledonne-" -"communications/linphone-gtk/language/zh_CN/)\n" -"Language: zh_CN\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 08:30+0000\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Chinese (China) (http://www.transifex.com/belledonne-communications/linphone-gtk/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 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "呼叫 %s" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "发送消息给 %s" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:342 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "" @@ -87,7 +85,7 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "无法打开位图文件:%s" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" msgstr "" @@ -117,8 +115,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 @@ -133,144 +131,129 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1058 +#: ../gtk/main.c:1040 #, 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:1135 +#: ../gtk/main.c:1117 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "呼叫结束" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "呼入" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "拒绝" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "网站" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "%s (默认)" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "免费的 SIP 视频电话" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "在线状态" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "名称" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "在 %s 目录中查找 " -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "无效的 SIP 联系人!" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "编辑联系人 %s" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "删除联系人 %s" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "从 %s 目录增加联系人 " +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "名称" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "采样率(Hz)" @@ -405,9 +388,7 @@ 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." @@ -439,159 +420,158 @@ msgid "Found %i contact" msgid_plural "Found %i contacts" msgstr[0] "找到 %i 联系方式" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:172 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "用户名:" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "密码:" -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." msgstr "" -#: ../gtk/setupwizard.c:521 +#: ../gtk/setupwizard.c:514 msgid "Thank you. Your account is now configured and ready for use." msgstr "谢谢,您的帐户已经配置完毕,可以使用。" -#: ../gtk/setupwizard.c:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "欢迎使用帐户设置向导" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "帐户设置向导" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "" @@ -665,112 +645,112 @@ msgstr "" msgid "%.3f seconds" msgstr "" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "正在呼叫..." -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" -msgstr "00:00:00" - -#: ../gtk/incall_view.c:524 -msgid "Incoming call" -msgstr "" - -#: ../gtk/incall_view.c:561 -msgid "good" -msgstr "" - -#: ../gtk/incall_view.c:563 -msgid "average" -msgstr "" - -#: ../gtk/incall_view.c:565 -msgid "poor" -msgstr "" - -#: ../gtk/incall_view.c:567 -msgid "very poor" msgstr "" #: ../gtk/incall_view.c:569 +msgid "Incoming call" +msgstr "" + +#: ../gtk/incall_view.c:606 +msgid "good" +msgstr "" + +#: ../gtk/incall_view.c:608 +msgid "average" +msgstr "" + +#: ../gtk/incall_view.c:610 +msgid "poor" +msgstr "" + +#: ../gtk/incall_view.c:612 +msgid "very poor" +msgstr "" + +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "通话结束。" -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "" -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "" -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "" @@ -871,7 +851,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "" @@ -888,94 +868,78 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "默认" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "启用自视" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "SIP 地址或电话号码:" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "联系人" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "搜索" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "从目录增加联系人" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "当前地址:" @@ -1692,11 +1656,8 @@ 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 @@ -1767,60 +1728,68 @@ msgstr "登录信息" msgid "Welcome!" msgstr "" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "就绪" -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "联系中" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "" -#: ../coreapi/linphonecore.c:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "正在联系您" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr " 并询问了自动回答。" -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "" -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "已连接。" -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "" -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "正在进行 Stun 查找..." -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "" @@ -1876,180 +1845,172 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 msgid "" "The sip proxy address you entered is invalid, it must start with \"sip:\" " "followed by a hostname." msgstr "您输入的 SIP 代理地址无效,它必须是以“sip:”开头,并紧随一个主机名。" -#: ../coreapi/proxy.c:301 +#: ../coreapi/proxy.c:298 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:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "查询电话号码目的地..." -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "该号码无法解析。" -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "无法登录为 %s" -#: ../coreapi/proxy.c:1494 +#: ../coreapi/proxy.c:1411 #, c-format msgid "Refreshing on %s..." msgstr "" -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "响铃。" -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "" -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "" -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." +msgid "Call answered by %s" msgstr "" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "" - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "" -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "" - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "" -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "通话结束。" -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "被叫正忙。" -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "您呼叫的用户暂时无法接通。" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "用户已开启免打扰功能。" -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "呼叫被拒绝。" -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "已重定向" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "呼叫失败。" -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "成功注册到 %s" -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "已在 %s 解除注册。" -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "没有响应,超时" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "注册到 %s 失败: %s" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "" + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." msgstr[0] "您错过了 %i 个呼叫。" -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2059,7 +2020,7 @@ msgid "" "Duration: %i mn %i sec\n" msgstr "" -#: ../coreapi/call_log.c:221 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "" diff --git a/po/zh_TW.po b/po/zh_TW.po index 86a3b8f5e..193e552c8 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -1,75 +1,73 @@ # 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-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/belledonne-" -"communications/linphone-gtk/language/zh_TW/)\n" -"Language: zh_TW\n" +"POT-Creation-Date: 2015-10-15 10:26+0200\n" +"PO-Revision-Date: 2015-10-15 08:30+0000\n" +"Last-Translator: Belledonne Communications \n" +"Language-Team: Chinese (Taiwan) (http://www.transifex.com/belledonne-communications/linphone-gtk/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 +#: ../gtk/calllogs.c:177 ../gtk/friendlist.c:821 #, c-format msgid "Call %s" msgstr "播打給 %s" -#: ../gtk/calllogs.c:150 ../gtk/friendlist.c:977 +#: ../gtk/calllogs.c:178 ../gtk/friendlist.c:822 #, c-format msgid "Send text to %s" msgstr "傳送文字給 %s" -#: ../gtk/calllogs.c:233 +#: ../gtk/calllogs.c:261 #, c-format msgid "Recent calls (%i)" msgstr "" -#: ../gtk/calllogs.c:315 +#: ../gtk/calllogs.c:340 msgid "n/a" msgstr "" -#: ../gtk/calllogs.c:318 +#: ../gtk/calllogs.c:343 msgid "Aborted" msgstr "" -#: ../gtk/calllogs.c:321 +#: ../gtk/calllogs.c:346 msgid "Missed" msgstr "" -#: ../gtk/calllogs.c:324 +#: ../gtk/calllogs.c:349 msgid "Declined" msgstr "" -#: ../gtk/calllogs.c:330 +#: ../gtk/calllogs.c:355 #, c-format msgid "%i minute" msgid_plural "%i minutes" msgstr[0] "" -#: ../gtk/calllogs.c:333 +#: ../gtk/calllogs.c:358 #, c-format msgid "%i second" msgid_plural "%i seconds" msgstr[0] "" -#: ../gtk/calllogs.c:338 +#: ../gtk/calllogs.c:363 #, c-format msgid "" "%s\tQuality: %s\n" "%s\t%s\t" msgstr "" -#: ../gtk/calllogs.c:342 +#: ../gtk/calllogs.c:367 #, c-format msgid "%s\t%s" msgstr "" @@ -87,7 +85,7 @@ msgstr "" msgid "Couldn't find pixmap file: %s" msgstr "找不到 pixmap 檔:%s" -#: ../gtk/chat.c:493 +#: ../gtk/chat.c:508 msgid "Copy" msgstr "" @@ -117,10 +115,9 @@ 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" @@ -134,144 +131,129 @@ msgstr "" msgid "Run self test and exit 0 if succeed" msgstr "" -#: ../gtk/main.c:1058 +#: ../gtk/main.c:1040 #, 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:1135 +#: ../gtk/main.c:1117 #, c-format msgid "" "Please enter your password for username %s\n" " at realm %s:" msgstr "" -#: ../gtk/main.c:1256 +#: ../gtk/main.c:1242 msgid "Call error" msgstr "" -#: ../gtk/main.c:1259 ../coreapi/linphonecore.c:3669 +#: ../gtk/main.c:1245 ../coreapi/linphonecore.c:3811 msgid "Call ended" msgstr "通話已結束" -#: ../gtk/main.c:1262 ../coreapi/call_log.c:221 +#: ../gtk/main.c:1248 ../coreapi/call_log.c:235 msgid "Incoming call" msgstr "來電" -#: ../gtk/main.c:1264 ../gtk/incall_view.c:531 ../gtk/in_call_frame.ui.h:3 +#: ../gtk/main.c:1250 ../gtk/incall_view.c:576 ../gtk/in_call_frame.ui.h:3 msgid "Answer" msgstr "接聽" -#: ../gtk/main.c:1266 ../gtk/in_call_frame.ui.h:4 +#: ../gtk/main.c:1252 ../gtk/in_call_frame.ui.h:4 msgid "Decline" msgstr "拒接" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 msgid "Call paused" msgstr "" -#: ../gtk/main.c:1272 +#: ../gtk/main.c:1258 #, c-format msgid "by %s" msgstr "" -#: ../gtk/main.c:1342 +#: ../gtk/main.c:1328 #, c-format msgid "%s proposed to start video. Do you accept ?" msgstr "" -#: ../gtk/main.c:1508 +#: ../gtk/main.c:1494 msgid "Website link" msgstr "網站連結" -#: ../gtk/main.c:1567 ../gtk/waiting.ui.h:1 +#: ../gtk/main.c:1553 ../gtk/waiting.ui.h:1 msgid "Linphone" msgstr "Linphone" -#: ../gtk/main.c:1568 +#: ../gtk/main.c:1554 msgid "A video internet phone" msgstr "" -#: ../gtk/main.c:1627 +#: ../gtk/main.c:1613 #, c-format msgid "%s (Default)" msgstr "%s (預設值)" -#: ../gtk/main.c:1973 ../coreapi/callbacks.c:1078 +#: ../gtk/main.c:1918 ../coreapi/callbacks.c:1075 #, c-format msgid "We are transferred to %s" msgstr "我們被轉接到 %s" -#: ../gtk/main.c:1983 +#: ../gtk/main.c:1928 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:2127 +#: ../gtk/main.c:2087 msgid "A free SIP video-phone" msgstr "自由的 SIP 視訊電話" -#: ../gtk/main.c:2236 +#: ../gtk/main.c:2200 #, c-format msgid "Hello\n" msgstr "" -#: ../gtk/friendlist.c:506 +#: ../gtk/friendlist.c:442 msgid "Add to addressbook" msgstr "" -#: ../gtk/friendlist.c:692 -msgid "Presence status" -msgstr "上線狀態" - -#: ../gtk/friendlist.c:710 ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 -msgid "Name" -msgstr "名稱" - -#: ../gtk/friendlist.c:722 -msgid "Call" -msgstr "" - -#: ../gtk/friendlist.c:727 -msgid "Chat" -msgstr "" - -#: ../gtk/friendlist.c:757 +#: ../gtk/friendlist.c:626 #, c-format msgid "Search in %s directory" msgstr "在 %s 目錄中搜尋" -#: ../gtk/friendlist.c:926 +#: ../gtk/friendlist.c:771 msgid "Invalid sip contact !" msgstr "無效的 sip 連絡人!" -#: ../gtk/friendlist.c:978 +#: ../gtk/friendlist.c:823 #, c-format msgid "Edit contact '%s'" msgstr "編輯連絡人「%s」" -#: ../gtk/friendlist.c:979 +#: ../gtk/friendlist.c:824 #, c-format msgid "Delete contact '%s'" msgstr "刪除連絡人「%s」" -#: ../gtk/friendlist.c:980 +#: ../gtk/friendlist.c:825 #, c-format msgid "Delete chat history of '%s'" msgstr "" -#: ../gtk/friendlist.c:1031 +#: ../gtk/friendlist.c:876 #, c-format msgid "Add new contact from %s directory" msgstr "從 %s 目錄加入新的連絡人" +#: ../gtk/propertybox.c:591 ../gtk/contact.ui.h:1 +msgid "Name" +msgstr "名稱" + #: ../gtk/propertybox.c:597 msgid "Rate (Hz)" msgstr "頻率 (Hz)" @@ -406,9 +388,7 @@ 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." @@ -440,159 +420,158 @@ msgid "Found %i contact" msgid_plural "Found %i contacts" msgstr[0] "找不到 %i 個連絡人" -#: ../gtk/setupwizard.c:160 +#: ../gtk/setupwizard.c:161 msgid "" "Welcome!\n" "This assistant will help you to use a SIP account for your calls." msgstr "" -#: ../gtk/setupwizard.c:169 +#: ../gtk/setupwizard.c:170 msgid "Create an account on linphone.org" msgstr "" -#: ../gtk/setupwizard.c:170 +#: ../gtk/setupwizard.c:171 msgid "I have already a linphone.org account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:171 +#: ../gtk/setupwizard.c:172 msgid "I have already a sip account and I just want to use it" msgstr "" -#: ../gtk/setupwizard.c:172 +#: ../gtk/setupwizard.c:173 msgid "I want to specify a remote configuration URI" msgstr "" -#: ../gtk/setupwizard.c:206 +#: ../gtk/setupwizard.c:207 msgid "Enter your account information" msgstr "" -#: ../gtk/setupwizard.c:221 +#: ../gtk/setupwizard.c:222 msgid "Username*" msgstr "" -#: ../gtk/setupwizard.c:222 +#: ../gtk/setupwizard.c:223 msgid "Password*" msgstr "" -#: ../gtk/setupwizard.c:225 +#: ../gtk/setupwizard.c:226 msgid "Domain*" msgstr "" -#: ../gtk/setupwizard.c:226 +#: ../gtk/setupwizard.c:227 msgid "Proxy" msgstr "" -#: ../gtk/setupwizard.c:263 +#: ../gtk/setupwizard.c:264 msgid "Enter your linphone.org username" msgstr "" -#: ../gtk/setupwizard.c:275 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 +#: ../gtk/setupwizard.c:276 ../gtk/parameters.ui.h:91 ../gtk/ldap.ui.h:4 msgid "Username:" msgstr "使用者名稱:" -#: ../gtk/setupwizard.c:277 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 +#: ../gtk/setupwizard.c:278 ../gtk/password.ui.h:4 ../gtk/ldap.ui.h:5 msgid "Password:" msgstr "密碼: " -#: ../gtk/setupwizard.c:419 +#: ../gtk/setupwizard.c:412 msgid "(*) Required fields" msgstr "" -#: ../gtk/setupwizard.c:420 +#: ../gtk/setupwizard.c:413 msgid "Username: (*)" msgstr "" -#: ../gtk/setupwizard.c:422 +#: ../gtk/setupwizard.c:415 msgid "Password: (*)" msgstr "" -#: ../gtk/setupwizard.c:424 +#: ../gtk/setupwizard.c:417 msgid "Email: (*)" msgstr "" -#: ../gtk/setupwizard.c:426 +#: ../gtk/setupwizard.c:419 msgid "Confirm your password: (*)" msgstr "" -#: ../gtk/setupwizard.c:441 +#: ../gtk/setupwizard.c:434 msgid "Keep me informed with linphone updates" msgstr "" -#: ../gtk/setupwizard.c:486 +#: ../gtk/setupwizard.c:479 msgid "Your account is being created, please wait." msgstr "" -#: ../gtk/setupwizard.c:494 +#: ../gtk/setupwizard.c:487 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:504 +#: ../gtk/setupwizard.c:497 msgid "Checking if your account is been validated, please wait." msgstr "" -#: ../gtk/setupwizard.c:512 +#: ../gtk/setupwizard.c:505 msgid "" "Error, account not validated, username already used or server unreachable.\n" "Please go back and try again." msgstr "" -#: ../gtk/setupwizard.c:521 +#: ../gtk/setupwizard.c:514 msgid "Thank you. Your account is now configured and ready for use." msgstr "謝謝您。您的帳號已設定完成並且可以使用。" -#: ../gtk/setupwizard.c:557 +#: ../gtk/setupwizard.c:548 msgid "SIP account configuration assistant" msgstr "" -#: ../gtk/setupwizard.c:578 +#: ../gtk/setupwizard.c:564 msgid "Welcome to the account setup assistant" msgstr "歡迎使用帳號設定助理" -#: ../gtk/setupwizard.c:583 +#: ../gtk/setupwizard.c:569 msgid "Account setup assistant" msgstr "帳號設定助理" -#: ../gtk/setupwizard.c:588 +#: ../gtk/setupwizard.c:574 msgid "Configure your account (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:592 +#: ../gtk/setupwizard.c:578 msgid "Enter your sip username (step 1/1)" msgstr "" -#: ../gtk/setupwizard.c:596 +#: ../gtk/setupwizard.c:582 msgid "Enter account information (step 1/2)" msgstr "" -#: ../gtk/setupwizard.c:601 +#: ../gtk/setupwizard.c:587 msgid "Account creation in progress" msgstr "" -#: ../gtk/setupwizard.c:605 +#: ../gtk/setupwizard.c:591 msgid "Validation (step 2/2)" msgstr "" -#: ../gtk/setupwizard.c:610 +#: ../gtk/setupwizard.c:596 msgid "Account validation check in progress" msgstr "" -#: ../gtk/setupwizard.c:614 +#: ../gtk/setupwizard.c:600 msgid "Error" msgstr "" -#: ../gtk/setupwizard.c:618 ../gtk/audio_assistant.c:541 +#: ../gtk/setupwizard.c:604 ../gtk/audio_assistant.c:541 msgid "Terminating" msgstr "" -#: ../gtk/incall_view.c:70 ../gtk/incall_view.c:94 +#: ../gtk/incall_view.c:69 ../gtk/incall_view.c:93 #, c-format msgid "Call #%i" msgstr "" -#: ../gtk/incall_view.c:155 +#: ../gtk/incall_view.c:154 #, c-format msgid "Transfer to call #%i with %s" msgstr "" @@ -666,112 +645,112 @@ msgstr "" msgid "%.3f seconds" msgstr "" -#: ../gtk/incall_view.c:406 ../gtk/in_call_frame.ui.h:10 -#: ../gtk/videowindow.c:235 +#: ../gtk/incall_view.c:448 ../gtk/in_call_frame.ui.h:10 +#: ../gtk/videowindow.c:236 msgid "Hang up" msgstr "" -#: ../gtk/incall_view.c:510 +#: ../gtk/incall_view.c:555 msgid "Calling..." msgstr "播打..." -#: ../gtk/incall_view.c:513 ../gtk/incall_view.c:767 +#: ../gtk/incall_view.c:558 ../gtk/incall_view.c:772 msgid "00:00:00" -msgstr "00:00:00" - -#: ../gtk/incall_view.c:524 -msgid "Incoming call" -msgstr "來電" - -#: ../gtk/incall_view.c:561 -msgid "good" -msgstr "" - -#: ../gtk/incall_view.c:563 -msgid "average" -msgstr "" - -#: ../gtk/incall_view.c:565 -msgid "poor" -msgstr "" - -#: ../gtk/incall_view.c:567 -msgid "very poor" msgstr "" #: ../gtk/incall_view.c:569 +msgid "Incoming call" +msgstr "來電" + +#: ../gtk/incall_view.c:606 +msgid "good" +msgstr "" + +#: ../gtk/incall_view.c:608 +msgid "average" +msgstr "" + +#: ../gtk/incall_view.c:610 +msgid "poor" +msgstr "" + +#: ../gtk/incall_view.c:612 +msgid "very poor" +msgstr "" + +#: ../gtk/incall_view.c:614 msgid "too bad" msgstr "" -#: ../gtk/incall_view.c:570 ../gtk/incall_view.c:586 +#: ../gtk/incall_view.c:615 ../gtk/incall_view.c:631 msgid "unavailable" msgstr "" -#: ../gtk/incall_view.c:715 +#: ../gtk/incall_view.c:720 msgid "Secured by SRTP" msgstr "" -#: ../gtk/incall_view.c:721 +#: ../gtk/incall_view.c:726 msgid "Secured by DTLS" msgstr "" -#: ../gtk/incall_view.c:727 +#: ../gtk/incall_view.c:732 #, c-format msgid "Secured by ZRTP - [auth token: %s]" msgstr "" -#: ../gtk/incall_view.c:733 +#: ../gtk/incall_view.c:738 msgid "Set unverified" msgstr "" -#: ../gtk/incall_view.c:733 ../gtk/in_call_frame.ui.h:1 +#: ../gtk/incall_view.c:738 ../gtk/in_call_frame.ui.h:1 msgid "Set verified" msgstr "" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In conference" msgstr "" -#: ../gtk/incall_view.c:762 +#: ../gtk/incall_view.c:767 msgid "In call" msgstr "通話中" -#: ../gtk/incall_view.c:798 +#: ../gtk/incall_view.c:804 msgid "Paused call" msgstr "暫停通話" -#: ../gtk/incall_view.c:834 +#: ../gtk/incall_view.c:841 msgid "Call ended." msgstr "通話結束。" -#: ../gtk/incall_view.c:865 +#: ../gtk/incall_view.c:872 msgid "Transfer in progress" msgstr "" -#: ../gtk/incall_view.c:868 +#: ../gtk/incall_view.c:875 msgid "Transfer done." msgstr "" -#: ../gtk/incall_view.c:871 +#: ../gtk/incall_view.c:878 msgid "Transfer failed." msgstr "" -#: ../gtk/incall_view.c:904 +#: ../gtk/incall_view.c:909 msgid "Resume" msgstr "繼續" -#: ../gtk/incall_view.c:911 ../gtk/in_call_frame.ui.h:7 +#: ../gtk/incall_view.c:909 ../gtk/in_call_frame.ui.h:7 msgid "Pause" msgstr "暫停" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 #, c-format msgid "" "Recording into\n" "%s %s" msgstr "" -#: ../gtk/incall_view.c:977 +#: ../gtk/incall_view.c:975 msgid "(Paused)" msgstr "" @@ -872,7 +851,7 @@ msgstr "" msgid "Audio Assistant" msgstr "" -#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:16 +#: ../gtk/audio_assistant.c:520 ../gtk/main.ui.h:12 msgid "Audio assistant" msgstr "" @@ -889,94 +868,78 @@ msgid "Record and Play" msgstr "" #: ../gtk/main.ui.h:1 -msgid "All users" -msgstr "所有使用者" - -#: ../gtk/main.ui.h:2 -msgid "Online users" -msgstr "線上使用者" - -#: ../gtk/main.ui.h:3 ../gtk/login_frame.ui.h:8 -msgid "ADSL" -msgstr "ADSL" - -#: ../gtk/main.ui.h:4 ../gtk/login_frame.ui.h:9 -msgid "Fiber Channel" -msgstr "光纖通道" - -#: ../gtk/main.ui.h:5 msgid "Default" msgstr "預設值" -#: ../gtk/main.ui.h:6 +#: ../gtk/main.ui.h:2 msgid "Delete" msgstr "" -#: ../gtk/main.ui.h:7 +#: ../gtk/main.ui.h:3 msgid "_Options" msgstr "選項(_O)" -#: ../gtk/main.ui.h:8 +#: ../gtk/main.ui.h:4 msgid "Set configuration URI" msgstr "" -#: ../gtk/main.ui.h:9 +#: ../gtk/main.ui.h:5 msgid "Always start video" msgstr "" -#: ../gtk/main.ui.h:10 +#: ../gtk/main.ui.h:6 msgid "Enable self-view" msgstr "啟用自拍檢視" -#: ../gtk/main.ui.h:11 +#: ../gtk/main.ui.h:7 msgid "_Help" msgstr "求助(_H)" -#: ../gtk/main.ui.h:12 +#: ../gtk/main.ui.h:8 msgid "Show debug window" msgstr "顯示除錯視窗" -#: ../gtk/main.ui.h:13 +#: ../gtk/main.ui.h:9 msgid "_Homepage" msgstr "官方網頁(_H)" -#: ../gtk/main.ui.h:14 +#: ../gtk/main.ui.h:10 msgid "Check _Updates" msgstr "檢查更新(_U)" -#: ../gtk/main.ui.h:15 +#: ../gtk/main.ui.h:11 msgid "Account assistant" msgstr "" -#: ../gtk/main.ui.h:17 +#: ../gtk/main.ui.h:13 msgid "SIP address or phone number:" msgstr "SIP 位址或電話號碼:" -#: ../gtk/main.ui.h:18 +#: ../gtk/main.ui.h:14 msgid "Initiate a new call" msgstr "打出新電話" -#: ../gtk/main.ui.h:19 +#: ../gtk/main.ui.h:15 msgid "Contacts" msgstr "連絡人" -#: ../gtk/main.ui.h:20 +#: ../gtk/main.ui.h:16 msgid "Search" msgstr "搜尋" -#: ../gtk/main.ui.h:21 +#: ../gtk/main.ui.h:17 msgid "Add contacts from directory" msgstr "從目錄加入連絡人" -#: ../gtk/main.ui.h:22 +#: ../gtk/main.ui.h:18 msgid "Add contact" msgstr "加入聯絡人" -#: ../gtk/main.ui.h:23 +#: ../gtk/main.ui.h:19 msgid "Recent calls" msgstr "" -#: ../gtk/main.ui.h:24 +#: ../gtk/main.ui.h:20 msgid "My current identity:" msgstr "我目前的使用者識別:" @@ -1693,11 +1656,8 @@ 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 @@ -1768,60 +1728,68 @@ msgstr "登入資訊" msgid "Welcome!" msgstr "" -#: ../coreapi/linphonecore.c:1483 +#: ../gtk/login_frame.ui.h:8 +msgid "ADSL" +msgstr "ADSL" + +#: ../gtk/login_frame.ui.h:9 +msgid "Fiber Channel" +msgstr "光纖通道" + +#: ../coreapi/linphonecore.c:1555 msgid "Ready" msgstr "準備就緒" -#: ../coreapi/linphonecore.c:2415 +#: ../coreapi/linphonecore.c:2551 msgid "Configuring" msgstr "" #. must be known at that time -#: ../coreapi/linphonecore.c:2800 +#: ../coreapi/linphonecore.c:2946 msgid "Contacting" msgstr "正在連絡" -#: ../coreapi/linphonecore.c:2805 +#: ../coreapi/linphonecore.c:2951 msgid "Could not call" msgstr "無法通話" -#: ../coreapi/linphonecore.c:2956 +#: ../coreapi/linphonecore.c:3087 msgid "Sorry, we have reached the maximum number of simultaneous calls" msgstr "抱歉,我們已達瀏同步通話的最大數目" -#: ../coreapi/linphonecore.c:3114 +#: ../coreapi/linphonecore.c:3245 msgid "is contacting you" msgstr "正在連絡您" -#: ../coreapi/linphonecore.c:3115 +#: ../coreapi/linphonecore.c:3246 msgid " and asked autoanswer." msgstr "並要求自動接聽。" -#: ../coreapi/linphonecore.c:3241 +#: ../coreapi/linphonecore.c:3372 msgid "Modifying call parameters..." msgstr "修改通話參數..." -#: ../coreapi/linphonecore.c:3625 +#: ../coreapi/linphonecore.c:3767 msgid "Connected." msgstr "已連線。" -#: ../coreapi/linphonecore.c:3650 +#: ../coreapi/linphonecore.c:3792 msgid "Call aborted" msgstr "通話已放棄" -#: ../coreapi/linphonecore.c:3847 +#: ../coreapi/linphonecore.c:3981 msgid "Could not pause the call" msgstr "無法暫停通話" -#: ../coreapi/linphonecore.c:3850 +#: ../coreapi/linphonecore.c:3984 msgid "Pausing the current call..." msgstr "暫停目前的通話..." -#: ../coreapi/misc.c:436 +#: ../coreapi/misc.c:440 msgid "Stun lookup in progress..." msgstr "正在進行 Stun 搜尋..." -#: ../coreapi/misc.c:617 +#: ../coreapi/misc.c:650 msgid "ICE local candidates gathering in progress..." msgstr "" @@ -1877,181 +1845,172 @@ msgstr "" msgid "Unknown status" msgstr "" -#: ../coreapi/proxy.c:295 +#: ../coreapi/proxy.c:292 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:301 +#: ../coreapi/proxy.c:298 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:1010 +#: ../coreapi/proxy.c:927 msgid "Looking for telephone number destination..." msgstr "尋找電話號碼目的端..." -#: ../coreapi/proxy.c:1014 +#: ../coreapi/proxy.c:931 msgid "Could not resolve this number." msgstr "無法解析這個號碼。" -#: ../coreapi/proxy.c:1407 +#: ../coreapi/proxy.c:1324 #, c-format msgid "Could not login as %s" msgstr "無法以 %s 登入" -#: ../coreapi/proxy.c:1494 +#: ../coreapi/proxy.c:1411 #, c-format msgid "Refreshing on %s..." msgstr "" -#: ../coreapi/callbacks.c:442 +#: ../coreapi/callbacks.c:423 msgid "Remote ringing." msgstr "遠端響鈴。" -#: ../coreapi/callbacks.c:454 +#: ../coreapi/callbacks.c:435 msgid "Remote ringing..." msgstr "遠端響鈴..." -#: ../coreapi/callbacks.c:475 +#: ../coreapi/callbacks.c:458 msgid "Early media." msgstr "早期媒體。" -#: ../coreapi/callbacks.c:548 +#: ../coreapi/callbacks.c:488 #, c-format -msgid "Call with %s is paused." -msgstr "和 %s 的通話已暫停。" +msgid "Call answered by %s" +msgstr "" -#: ../coreapi/callbacks.c:561 -#, c-format -msgid "Call answered by %s - on hold." -msgstr "通話由 %s 接聽 - 保留中。" - -#: ../coreapi/callbacks.c:571 +#: ../coreapi/callbacks.c:527 msgid "Call resumed." msgstr "通話已繼續。" -#: ../coreapi/callbacks.c:575 -#, c-format -msgid "Call answered by %s." -msgstr "通話由 %s 接聽。" - -#: ../coreapi/callbacks.c:598 +#: ../coreapi/callbacks.c:582 msgid "Incompatible, check codecs or security settings..." msgstr "" -#: ../coreapi/callbacks.c:603 ../coreapi/callbacks.c:921 +#: ../coreapi/callbacks.c:587 ../coreapi/callbacks.c:923 msgid "Incompatible media parameters." msgstr "" -#: ../coreapi/callbacks.c:633 +#: ../coreapi/callbacks.c:612 msgid "We have been resumed." msgstr "" #. we are being paused -#: ../coreapi/callbacks.c:642 +#: ../coreapi/callbacks.c:620 msgid "We are paused by other party." msgstr "" -#. reINVITE and in-dialogs UPDATE go here -#: ../coreapi/callbacks.c:680 +#: ../coreapi/callbacks.c:630 msgid "Call is updated by remote." msgstr "" -#: ../coreapi/callbacks.c:797 +#: ../coreapi/callbacks.c:799 msgid "Call terminated." msgstr "通話已終止。" -#: ../coreapi/callbacks.c:825 +#: ../coreapi/callbacks.c:827 msgid "User is busy." msgstr "使用者現正忙碌。" -#: ../coreapi/callbacks.c:826 +#: ../coreapi/callbacks.c:828 msgid "User is temporarily unavailable." msgstr "使用者暫時無法聯繫。" #. char *retrymsg=_("%s. Retry after %i minute(s)."); -#: ../coreapi/callbacks.c:828 +#: ../coreapi/callbacks.c:830 msgid "User does not want to be disturbed." msgstr "使用者不想要被打擾。" -#: ../coreapi/callbacks.c:829 +#: ../coreapi/callbacks.c:831 msgid "Call declined." msgstr "通話被拒接。" -#: ../coreapi/callbacks.c:844 +#: ../coreapi/callbacks.c:846 msgid "Request timeout." msgstr "" -#: ../coreapi/callbacks.c:875 +#: ../coreapi/callbacks.c:877 msgid "Redirected" msgstr "已重新導向" -#: ../coreapi/callbacks.c:930 +#: ../coreapi/callbacks.c:927 msgid "Call failed." msgstr "通話失敗。" -#: ../coreapi/callbacks.c:1008 +#: ../coreapi/callbacks.c:1005 #, c-format msgid "Registration on %s successful." msgstr "在 %s 註冊成功。" -#: ../coreapi/callbacks.c:1009 +#: ../coreapi/callbacks.c:1006 #, c-format msgid "Unregistration on %s done." msgstr "在 %s 取消註冊完成。" -#: ../coreapi/callbacks.c:1027 +#: ../coreapi/callbacks.c:1024 msgid "no response timeout" msgstr "沒有回應逾時" -#: ../coreapi/callbacks.c:1030 +#: ../coreapi/callbacks.c:1027 #, c-format msgid "Registration on %s failed: %s" msgstr "在 %s 註冊失敗:%s" -#: ../coreapi/callbacks.c:1037 +#: ../coreapi/callbacks.c:1034 msgid "Service unavailable, retrying" msgstr "" #. if encryption is DTLS, no status to be displayed -#: ../coreapi/linphonecall.c:181 +#: ../coreapi/linphonecall.c:197 #, c-format msgid "Authentication token is %s" msgstr "" -#: ../coreapi/linphonecall.c:1314 +#: ../coreapi/linphonecall.c:1561 +#, c-format +msgid "Call parameters could not be modified: %s." +msgstr "" + +#: ../coreapi/linphonecall.c:1563 msgid "Call parameters were successfully modified." msgstr "" -#: ../coreapi/linphonecall.c:3904 +#: ../coreapi/linphonecall.c:4394 #, c-format msgid "You have missed %i call." msgid_plural "You have missed %i calls." msgstr[0] "您有 %i 通未接來電。" -#: ../coreapi/call_log.c:209 +#: ../coreapi/call_log.c:223 msgid "aborted" msgstr "" -#: ../coreapi/call_log.c:212 +#: ../coreapi/call_log.c:226 msgid "completed" msgstr "" -#: ../coreapi/call_log.c:215 +#: ../coreapi/call_log.c:229 msgid "missed" msgstr "" -#: ../coreapi/call_log.c:218 +#: ../coreapi/call_log.c:232 msgid "unknown" msgstr "" -#: ../coreapi/call_log.c:220 +#: ../coreapi/call_log.c:234 #, c-format msgid "" "%s at %s\n" @@ -2061,7 +2020,7 @@ msgid "" "Duration: %i mn %i sec\n" msgstr "" -#: ../coreapi/call_log.c:221 +#: ../coreapi/call_log.c:235 msgid "Outgoing call" msgstr "" diff --git a/tester/call_tester.c b/tester/call_tester.c index 58500d673..531b260ef 100644 --- a/tester/call_tester.c +++ b/tester/call_tester.c @@ -214,15 +214,18 @@ bool_t call_with_params2(LinphoneCoreManager* caller_mgr LinphoneCallParams *callee_params = callee_test_params->base; bool_t did_receive_call; LinphoneCall *callee_call=NULL; + LinphoneCall *caller_call=NULL; setup_sdp_handling(caller_test_params, caller_mgr); setup_sdp_handling(callee_test_params, callee_mgr); if (!caller_params){ - BC_ASSERT_PTR_NOT_NULL(linphone_core_invite_address(caller_mgr->lc,callee_mgr->identity)); + BC_ASSERT_PTR_NOT_NULL((caller_call=linphone_core_invite_address(caller_mgr->lc,callee_mgr->identity))); }else{ - BC_ASSERT_PTR_NOT_NULL(linphone_core_invite_address_with_params(caller_mgr->lc,callee_mgr->identity,caller_params)); + BC_ASSERT_PTR_NOT_NULL((caller_call=linphone_core_invite_address_with_params(caller_mgr->lc,callee_mgr->identity,caller_params))); } + + BC_ASSERT_PTR_NULL(linphone_call_get_remote_params(caller_call)); /*assert that remote params are NULL when no response is received yet*/ did_receive_call = wait_for(callee_mgr->lc ,caller_mgr->lc @@ -327,7 +330,7 @@ bool_t call_with_params(LinphoneCoreManager* caller_mgr ,const LinphoneCallParams *callee_params){ LinphoneCallTestParams caller_test_params = {0}, callee_test_params = {0}; caller_test_params.base = (LinphoneCallParams*)caller_params; - callee_test_params.base = (LinphoneCallParams*)caller_params; + callee_test_params.base = (LinphoneCallParams*)callee_params; return call_with_params2(caller_mgr,callee_mgr,&caller_test_params,&callee_test_params,FALSE); } @@ -1223,20 +1226,38 @@ static void call_with_custom_headers(void) { linphone_core_manager_destroy(pauline); } +static void call_with_custom_sdp_attributes_cb(LinphoneCore *lc, LinphoneCall *call, LinphoneCallState cstate, const char *message) { + if (cstate == LinphoneCallUpdatedByRemote) { + LinphoneCallParams *params; + const LinphoneCallParams *remote_params = linphone_call_get_remote_params(call); + const char *value = linphone_call_params_get_custom_sdp_attribute(remote_params, "weather"); + BC_ASSERT_PTR_NOT_NULL(value); + if (value) BC_ASSERT_STRING_EQUAL(value, "sunny"); + params = linphone_core_create_call_params(lc, call); + linphone_call_params_clear_custom_sdp_attributes(params); + linphone_call_params_clear_custom_sdp_media_attributes(params, LinphoneStreamTypeAudio); + linphone_call_params_add_custom_sdp_attribute(params, "working", "no"); + BC_ASSERT_EQUAL(linphone_core_accept_call_update(lc, call, params), 0, int, "%i"); + linphone_call_params_destroy(params); + } +} + static void call_with_custom_sdp_attributes(void) { LinphoneCoreManager *marie = linphone_core_manager_new("marie_rc"); LinphoneCoreManager *pauline = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc"); LinphoneCall *call_marie, *call_pauline; - LinphoneCallParams *params; + LinphoneCallParams *pauline_params; const LinphoneCallParams *marie_remote_params; + const LinphoneCallParams *pauline_remote_params; const char *value; + LinphoneCoreVTable *vtable; - params = linphone_core_create_default_call_parameters(marie->lc); - linphone_call_params_add_custom_sdp_attribute(params, "weather", "bad"); - linphone_call_params_add_custom_sdp_attribute(params, "working", "yes"); - linphone_call_params_add_custom_sdp_media_attribute(params, LinphoneStreamTypeAudio, "sleeping", "almost"); - BC_ASSERT_TRUE(call_with_caller_params(pauline, marie, params)); - linphone_call_params_destroy(params); + pauline_params = linphone_core_create_default_call_parameters(pauline->lc); + linphone_call_params_add_custom_sdp_attribute(pauline_params, "weather", "bad"); + linphone_call_params_add_custom_sdp_attribute(pauline_params, "working", "yes"); + linphone_call_params_add_custom_sdp_media_attribute(pauline_params, LinphoneStreamTypeAudio, "sleeping", "almost"); + BC_ASSERT_TRUE(call_with_caller_params(pauline, marie, pauline_params)); + linphone_call_params_destroy(pauline_params); call_marie = linphone_core_get_current_call(marie->lc); call_pauline = linphone_core_get_current_call(pauline->lc); @@ -1246,10 +1267,27 @@ static void call_with_custom_sdp_attributes(void) { marie_remote_params = linphone_call_get_remote_params(call_marie); value = linphone_call_params_get_custom_sdp_attribute(marie_remote_params, "weather"); BC_ASSERT_PTR_NOT_NULL(value); - BC_ASSERT_STRING_EQUAL(value, "bad"); + if (value) BC_ASSERT_STRING_EQUAL(value, "bad"); value = linphone_call_params_get_custom_sdp_media_attribute(marie_remote_params, LinphoneStreamTypeAudio, "sleeping"); BC_ASSERT_PTR_NOT_NULL(value); - BC_ASSERT_STRING_EQUAL(value, "almost"); + if (value) BC_ASSERT_STRING_EQUAL(value, "almost"); + + vtable = linphone_core_v_table_new(); + vtable->call_state_changed = call_with_custom_sdp_attributes_cb; + linphone_core_add_listener(marie->lc, vtable); + pauline_params = linphone_core_create_call_params(pauline->lc, call_pauline); + linphone_call_params_clear_custom_sdp_attributes(pauline_params); + linphone_call_params_clear_custom_sdp_media_attributes(pauline_params, LinphoneStreamTypeAudio); + linphone_call_params_add_custom_sdp_attribute(pauline_params, "weather", "sunny"); + linphone_core_update_call(pauline->lc, call_pauline, pauline_params); + BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &marie->stat.number_of_LinphoneCallUpdatedByRemote, 1)); + BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &pauline->stat.number_of_LinphoneCallUpdating, 1)); + linphone_call_params_destroy(pauline_params); + BC_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &pauline->stat.number_of_LinphoneCallStreamsRunning, 2)); + pauline_remote_params = linphone_call_get_remote_params(call_pauline); + value = linphone_call_params_get_custom_sdp_attribute(pauline_remote_params, "working"); + BC_ASSERT_PTR_NOT_NULL(value); + if (value) BC_ASSERT_STRING_EQUAL(value, "no"); end_call(pauline, marie); @@ -1368,15 +1406,28 @@ end: ms_list_free(lcs); } +static void call_paused_resumed_with_video_base_call_cb(LinphoneCore *lc, LinphoneCall *call, LinphoneCallState cstate, const char *message) { + if (cstate == LinphoneCallUpdatedByRemote) { + LinphoneCallParams *params = linphone_core_create_default_call_parameters(lc); + linphone_call_params_enable_video(params, TRUE); + ms_message (" New state LinphoneCallUpdatedByRemote on call [%p], accepting with video on",call); + BC_ASSERT_NOT_EQUAL(linphone_core_accept_call_update(lc, call, params), 0, int, "%i"); + linphone_call_params_destroy(params); + } +} /*this test makes sure that pause/resume will not bring up video by accident*/ -static void call_paused_resumed_with_video_base(bool_t sdp_200_ack,bool_t use_video_policy_for_re_invite_sdp_200){ +static void call_paused_resumed_with_video_base(bool_t sdp_200_ack + ,bool_t use_video_policy_for_re_invite_sdp_200 + ,bool_t resume_in_audio_send_only_video_inactive_first + ,bool_t with_call_accept){ 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; MSList *lcs = NULL; LinphoneVideoPolicy vpol; bool_t call_ok; - + LinphoneCoreVTable *vtable = linphone_core_v_table_new(); + vtable->call_state_changed = call_paused_resumed_with_video_base_call_cb; lcs = ms_list_append(lcs, pauline->lc); lcs = ms_list_append(lcs, marie->lc); @@ -1400,7 +1451,7 @@ static void call_paused_resumed_with_video_base(bool_t sdp_200_ack,bool_t use_vi 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)); @@ -1423,9 +1474,28 @@ static void call_paused_resumed_with_video_base(bool_t sdp_200_ack,bool_t use_vi lp_config_set_int(marie_lp,"sip","sdp_200_ack_follow_video_policy",1); } /*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_LinphoneCallStreamsRunning,2)); + if (resume_in_audio_send_only_video_inactive_first) { + LinphoneCallParams *params = linphone_core_create_default_call_parameters(pauline->lc); + linphone_call_params_set_video_direction(params,LinphoneMediaDirectionInactive); + linphone_call_params_set_audio_direction(params,LinphoneMediaDirectionSendOnly); + linphone_core_update_call(pauline->lc,call_pauline,params); + BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallPausedByRemote,2)); + BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallUpdating,1)); + BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,2)); + linphone_call_params_set_video_direction(params,LinphoneMediaDirectionSendRecv); + linphone_call_params_set_audio_direction(params,LinphoneMediaDirectionSendRecv); + if (with_call_accept) { + linphone_core_add_listener(marie->lc, vtable); + } + linphone_core_update_call(pauline->lc,call_pauline,params); + BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&pauline->stat.number_of_LinphoneCallStreamsRunning,3)); + linphone_call_params_destroy(params); + } else { + 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_LinphoneCallStreamsRunning,2)); + } + BC_ASSERT_TRUE(wait_for(pauline->lc,marie->lc,&marie->stat.number_of_LinphoneCallStreamsRunning,2)); if (use_video_policy_for_re_invite_sdp_200) { @@ -1443,16 +1513,21 @@ end: ms_list_free(lcs); } static void call_paused_resumed_with_video(void){ - call_paused_resumed_with_video_base(FALSE, FALSE); + call_paused_resumed_with_video_base(FALSE, FALSE,FALSE,FALSE); } static void call_paused_resumed_with_no_sdp_ack(void){ - call_paused_resumed_with_video_base(TRUE, FALSE); + call_paused_resumed_with_video_base(TRUE, FALSE,FALSE,FALSE); } static void call_paused_resumed_with_no_sdp_ack_using_video_policy(void){ - call_paused_resumed_with_video_base(TRUE, TRUE); + call_paused_resumed_with_video_base(TRUE, TRUE,FALSE,FALSE); +} +static void call_paused_updated_resumed_with_no_sdp_ack_using_video_policy(void){ + call_paused_resumed_with_video_base(TRUE, TRUE,TRUE,FALSE); +} +static void call_paused_updated_resumed_with_no_sdp_ack_using_video_policy_and_accept_call_update(void){ + call_paused_resumed_with_video_base(TRUE, TRUE,TRUE,TRUE); } - #define CHECK_CURRENT_LOSS_RATE() \ rtcp_count_current = pauline->stat.number_of_rtcp_sent; \ @@ -1917,6 +1992,52 @@ end: static void call_with_declined_video(void) { call_with_declined_video_base(FALSE); } + +static void call_with_declined_video_despite_policy(void) { + LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc"); + LinphoneCoreManager* pauline = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc"); + LinphoneCall* marie_call; + LinphoneCall* pauline_call; + LinphoneVideoPolicy marie_policy, pauline_policy; + LinphoneCallTestParams caller_test_params = {0}, callee_test_params = {0}; + bool_t call_ok; + + linphone_core_enable_video_capture(marie->lc, TRUE); + linphone_core_enable_video_display(marie->lc, TRUE); + linphone_core_enable_video_capture(pauline->lc, TRUE); + linphone_core_enable_video_display(pauline->lc, FALSE); + + pauline_policy.automatically_initiate=TRUE; + pauline_policy.automatically_accept=TRUE; + marie_policy.automatically_initiate=TRUE; + marie_policy.automatically_accept=TRUE; + + linphone_core_set_video_policy(marie->lc,&marie_policy); + linphone_core_set_video_policy(pauline->lc,&pauline_policy); + + caller_test_params.base=linphone_core_create_default_call_parameters(pauline->lc); + + callee_test_params.base=linphone_core_create_default_call_parameters(marie->lc); + linphone_call_params_enable_video(callee_test_params.base,FALSE); + + BC_ASSERT_TRUE((call_ok=call_with_params2(pauline,marie,&caller_test_params,&callee_test_params,FALSE))); + if (!call_ok) goto end; + + linphone_call_params_destroy(caller_test_params.base); + if (callee_test_params.base) linphone_call_params_destroy(callee_test_params.base); + marie_call=linphone_core_get_current_call(marie->lc); + pauline_call=linphone_core_get_current_call(pauline->lc); + + BC_ASSERT_FALSE(linphone_call_log_video_enabled(linphone_call_get_call_log(marie_call))); + BC_ASSERT_FALSE(linphone_call_log_video_enabled(linphone_call_get_call_log(pauline_call))); + + end_call(pauline, marie); + +end: + linphone_core_manager_destroy(marie); + linphone_core_manager_destroy(pauline); +} + static void call_with_declined_video_using_policy(void) { call_with_declined_video_base(TRUE); } @@ -3685,6 +3806,8 @@ static void video_call_snapshot(void) { end_call(marie, pauline); } ms_free(filename); + linphone_call_params_unref(marieParams); + linphone_call_params_unref(paulineParams); linphone_core_manager_destroy(marie); linphone_core_manager_destroy(pauline); } @@ -4368,10 +4491,12 @@ end: } #endif +#if !defined(__arm__) && !defined(__arm64__) && !TARGET_IPHONE_SIMULATOR && !defined(ANDROID) static void completion_cb(void *user_data, int percentage){ fprintf(stdout,"%i %% completed\r",percentage); fflush(stdout); } +#endif static void simple_stereo_call(const char *codec_name, int clock_rate, int bitrate_override, bool_t stereo) { LinphoneCoreManager* marie; @@ -4991,16 +5116,59 @@ static void call_record_with_custom_rtp_modifier(void) { custom_rtp_modifier(FALSE, TRUE); } -static void _call_with_network_switch(bool_t use_ice){ +static void _call_with_network_switch_in_early_state(bool_t network_loosed_by_caller){ LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc"); LinphoneCoreManager* pauline = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc"); + + linphone_core_invite_address(marie->lc, pauline->identity); + if (!BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallIncomingReceived, 1))) goto end; + if (!BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallOutgoingRinging, 1))) goto end; + if (network_loosed_by_caller){ + linphone_core_set_network_reachable(marie->lc, FALSE); + BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallError, 1)); + linphone_core_set_network_reachable(marie->lc, TRUE); + linphone_core_terminate_call(pauline->lc, linphone_core_get_current_call(pauline->lc)); + BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallEnd, 1)); + }else{ + linphone_core_set_network_reachable(pauline->lc, FALSE); + BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallError, 1)); + linphone_core_set_network_reachable(pauline->lc, TRUE); + linphone_core_terminate_call(marie->lc, linphone_core_get_current_call(marie->lc)); + BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallEnd, 1)); + } + BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &marie->stat.number_of_LinphoneCallReleased, 1)); + BC_ASSERT_TRUE(wait_for(marie->lc, pauline->lc, &pauline->stat.number_of_LinphoneCallReleased, 1)); +end: + linphone_core_manager_destroy(marie); + linphone_core_manager_destroy(pauline); +} + +static void call_with_network_switch_in_early_state_1(){ + _call_with_network_switch_in_early_state(TRUE); +} + +static void call_with_network_switch_in_early_state_2(){ + _call_with_network_switch_in_early_state(FALSE); +} + +static void _call_with_network_switch(bool_t use_ice, bool_t with_socket_refresh){ + LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc"); + LinphoneCoreManager* pauline = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc"); + MSList *lcs = NULL; bool_t call_ok; + + lcs = ms_list_append(lcs, marie->lc); + lcs = ms_list_append(lcs, pauline->lc); if (use_ice){ linphone_core_set_firewall_policy(marie->lc,LinphonePolicyUseIce); linphone_core_set_firewall_policy(pauline->lc,LinphonePolicyUseIce); } - + if (with_socket_refresh){ + lp_config_set_int(linphone_core_get_config(marie->lc), "net", "recreate_sockets_when_network_is_up", 1); + lp_config_set_int(linphone_core_get_config(pauline->lc), "net", "recreate_sockets_when_network_is_up", 1); + } + BC_ASSERT_TRUE((call_ok=call(pauline,marie))); if (!call_ok) goto end; @@ -5020,22 +5188,29 @@ static void _call_with_network_switch(bool_t use_ice){ 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)); + /*check that media is back*/ + check_media_direction(marie, linphone_core_get_current_call(marie->lc), lcs, LinphoneMediaDirectionSendRecv, LinphoneMediaDirectionInvalid); 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: + ms_list_free(lcs); linphone_core_manager_destroy(marie); linphone_core_manager_destroy(pauline); } static void call_with_network_switch(void){ - _call_with_network_switch(FALSE); + _call_with_network_switch(FALSE, FALSE); } static void call_with_network_switch_and_ice(void){ - _call_with_network_switch(TRUE); + _call_with_network_switch(TRUE, FALSE); +} + +static void call_with_network_switch_and_socket_refresh(void){ + _call_with_network_switch(TRUE, TRUE); } #ifdef CALL_LOGS_STORAGE_ENABLED @@ -5163,10 +5338,8 @@ static void call_logs_sqlite_storage(void) { if (ref_key) { BC_ASSERT_STRING_EQUAL(ref_key, "ref_key"); } -#if 0 // Sylvain fix me :'( BC_ASSERT_PTR_EQUAL(linphone_call_log_get_user_data(call_log), &start_time); BC_ASSERT_PTR_NOT_NULL(linphone_call_log_get_call_id(call_log)); -#endif BC_ASSERT_TRUE(linphone_address_equal( linphone_call_log_get_remote_address(call_log), linphone_proxy_config_get_identity_address(linphone_core_get_default_proxy_config(pauline->lc)))); @@ -5283,6 +5456,8 @@ test_t call_tests[] = { { "Call paused resumed with video", call_paused_resumed_with_video }, { "Call paused resumed with video no sdp ack", call_paused_resumed_with_no_sdp_ack}, { "Call paused resumed with video no sdk ack using video policy for resume offers",call_paused_resumed_with_no_sdp_ack_using_video_policy}, + { "Call paused, updated and resumed with video no sdk ack using video policy for resume offers", call_paused_updated_resumed_with_no_sdp_ack_using_video_policy}, + { "Call paused, updated and resumed with video no sdk ack using video policy for resume offers with accept call update", call_paused_updated_resumed_with_no_sdp_ack_using_video_policy_and_accept_call_update}, { "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 }, @@ -5314,6 +5489,7 @@ test_t call_tests[] = { { "Call with several video switches", call_with_several_video_switches }, { "SRTP call with several video switches", srtp_call_with_several_video_switches }, { "Call with video declined", call_with_declined_video}, + { "Call with video declined despite policy", call_with_declined_video_despite_policy}, { "Call with video declined using policy", call_with_declined_video_using_policy}, { "Call with multiple early media", multiple_early_media }, { "Call with ICE from video to non-video", call_with_ice_video_to_novideo}, @@ -5401,7 +5577,10 @@ test_t call_tests[] = { { "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 }, - { "Call with network switch and ICE", call_with_network_switch_and_ice } + { "Call with network switch in early state 1", call_with_network_switch_in_early_state_1 }, + { "Call with network switch in early state 2", call_with_network_switch_in_early_state_2 }, + { "Call with network switch and ICE", call_with_network_switch_and_ice }, + { "Call with network switch with socket refresh", call_with_network_switch_and_socket_refresh } }; test_suite_t call_test_suite = {"Single Call", NULL, NULL, liblinphone_tester_before_each, liblinphone_tester_after_each, diff --git a/tester/common/bc_tester_utils.h b/tester/common/bc_tester_utils.h index 828892bc8..c82607cc6 100644 --- a/tester/common/bc_tester_utils.h +++ b/tester/common/bc_tester_utils.h @@ -122,25 +122,30 @@ extern int CU_assertImplementation(int bValue, const char *strFunction, int bFatal); -#define _BC_ASSERT(pred, format, fatal) CU_assertImplementation(pred, __LINE__, format, __FILE__, "", fatal) +static inline int _BC_ASSERT(const char* file, int line, int predicate, const char* format, int fatal) { + if (!predicate) bc_tester_printf(bc_printf_verbosity_info, format, NULL); + return CU_assertImplementation(predicate, line, format, file, "", fatal); +} + #define _BC_ASSERT_PRED(name, pred, actual, expected, type, fatal, ...) \ do { \ char format[4096] = {0}; \ type cactual = (actual); \ type cexpected = (expected); \ snprintf(format, 4096, name "(" #actual ", " #expected ") - " __VA_ARGS__); \ - _BC_ASSERT(pred, format, fatal); \ + _BC_ASSERT(__FILE__, __LINE__, pred, format, fatal); \ } while (0) -#define BC_PASS(msg) _BC_ASSERT(TRUE, "BC_PASS(" #msg ").", FALSE) -#define BC_FAIL(msg) _BC_ASSERT(FALSE, "BC_FAIL(" #msg ").", FALSE) -#define BC_ASSERT(value) _BC_ASSERT((value), #value, FALSE) -#define BC_ASSERT_FATAL(value) _BC_ASSERT((value), #value, TRUE) -#define BC_TEST(value) _BC_ASSERT((value), #value, FALSE) -#define BC_TEST_FATAL(value) _BC_ASSERT((value), #value, TRUE) -#define BC_ASSERT_TRUE(value) _BC_ASSERT((value), ("BC_ASSERT_TRUE(" #value ")"), FALSE) -#define BC_ASSERT_TRUE_FATAL(value) _BC_ASSERT((value), ("BC_ASSERT_TRUE_FATAL(" #value ")"), TRUE) -#define BC_ASSERT_FALSE(value) _BC_ASSERT(!(value), ("BC_ASSERT_FALSE(" #value ")"), FALSE) -#define BC_ASSERT_FALSE_FATAL(value) _BC_ASSERT(!(value), ("BC_ASSERT_FALSE_FATAL(" #value ")"), TRUE) + +#define BC_PASS(msg) _BC_ASSERT(__FILE__, __LINE__, TRUE, "BC_PASS(" #msg ").", FALSE) +#define BC_FAIL(msg) _BC_ASSERT(__FILE__, __LINE__, FALSE, "BC_FAIL(" #msg ").", FALSE) +#define BC_ASSERT(value) _BC_ASSERT(__FILE__, __LINE__, (value), #value, FALSE) +#define BC_ASSERT_FATAL(value) _BC_ASSERT(__FILE__, __LINE__, (value), #value, TRUE) +#define BC_TEST(value) _BC_ASSERT(__FILE__, __LINE__, (value), #value, FALSE) +#define BC_TEST_FATAL(value) _BC_ASSERT(__FILE__, __LINE__, (value), #value, TRUE) +#define BC_ASSERT_TRUE(value) _BC_ASSERT(__FILE__, __LINE__, (value), ("BC_ASSERT_TRUE(" #value ")"), FALSE) +#define BC_ASSERT_TRUE_FATAL(value) _BC_ASSERT(__FILE__, __LINE__, (value), ("BC_ASSERT_TRUE_FATAL(" #value ")"), TRUE) +#define BC_ASSERT_FALSE(value) _BC_ASSERT(__FILE__, __LINE__, !(value), ("BC_ASSERT_FALSE(" #value ")"), FALSE) +#define BC_ASSERT_FALSE_FATAL(value) _BC_ASSERT(__FILE__, __LINE__, !(value), ("BC_ASSERT_FALSE_FATAL(" #value ")"), TRUE) #define BC_ASSERT_EQUAL(actual, expected, type, type_format) _BC_ASSERT_PRED("BC_ASSERT_EQUAL", ((cactual) == (cexpected)), actual, expected, type, FALSE, "Expected " type_format " but was " type_format ".", cexpected, cactual) #define BC_ASSERT_EQUAL_FATAL(actual, expected, type, type_format) _BC_ASSERT_PRED("BC_ASSERT_EQUAL_FATAL", ((cactual) == (cexpected)), actual, expected, type, TRUE, "Expected " type_format " but was " type_format ".", cexpected, cactual) #define BC_ASSERT_NOT_EQUAL(actual, expected, type, type_format) _BC_ASSERT_PRED("BC_ASSERT_NOT_EQUAL", ((cactual) != (cexpected)), actual, expected, type, FALSE, "Expected NOT " type_format " but it was.", cexpected) @@ -149,10 +154,10 @@ extern int CU_assertImplementation(int bValue, #define BC_ASSERT_PTR_EQUAL_FATAL(actual, expected) _BC_ASSERT_PRED("BC_ASSERT_PTR_EQUAL_FATAL", ((cactual) == (cexpected)), (const void*)(actual), (const void*)(expected), const void*, TRUE, "Expected %p but was %p.", cexpected, cactual) #define BC_ASSERT_PTR_NOT_EQUAL(actual, expected) _BC_ASSERT_PRED("BC_ASSERT_PTR_NOT_EQUAL", ((cactual) != (cexpected)), (const void*)(actual), (const void*)(expected), const void*, FALSE, "Expected NOT %p but it was.", cexpected) #define BC_ASSERT_PTR_NOT_EQUAL_FATAL(actual, expected) _BC_ASSERT_PRED("BC_ASSERT_PTR_NOT_EQUAL_FATAL", ((cactual) != (cexpected)), (const void*)(actual), (const void*)(expected), const void*, TRUE, "Expected NOT %p but it was.", cexpected) -#define BC_ASSERT_PTR_NULL(value) _BC_ASSERT_PRED("BC_ASSERT_PTR_NULL", ((cactual) == (cexpected)), (const void*)(value), (const void*)NULL, const void*, FALSE, "Expected NULL but was %p.", cactual) -#define BC_ASSERT_PTR_NULL_FATAL(value) _BC_ASSERT_PRED("BC_ASSERT_PTR_NULL_FATAL", ((cactual) == (cexpected)), (const void*)(value), (const void*)NULL, const void*, TRUE, "Expected NULL but was %p.", cactual) -#define BC_ASSERT_PTR_NOT_NULL(value) _BC_ASSERT_PRED("BC_ASSERT_PTR_NOT_NULL", ((cactual) != (cexpected)), (const void*)(value), (const void*)NULL, const void*, FALSE, "Expected NOT NULL but it was.") -#define BC_ASSERT_PTR_NOT_NULL_FATAL(value) _BC_ASSERT_PRED("BC_ASSERT_PTR_NOT_NULL_FATAL", ((cactual) != (cexpected)), (const void*)(value), (const void*)NULL, const void*, TRUE, "Expected NOT NULL but it was.") +#define BC_ASSERT_PTR_NULL(value) _BC_ASSERT_PRED("BC_ASSERT_PTR_NULL", ((cactual) == (cexpected)), (const void*)(value), NULL, const void*, FALSE, "Expected NULL but was %p.", cactual) +#define BC_ASSERT_PTR_NULL_FATAL(value) _BC_ASSERT_PRED("BC_ASSERT_PTR_NULL_FATAL", ((cactual) == (cexpected)), (const void*)(value), NULL, const void*, TRUE, "Expected NULL but was %p.", cactual) +#define BC_ASSERT_PTR_NOT_NULL(value) _BC_ASSERT_PRED("BC_ASSERT_PTR_NOT_NULL", ((cactual) != (cexpected)), (const void*)(value), NULL, const void*, FALSE, "Expected NOT NULL but it was.") +#define BC_ASSERT_PTR_NOT_NULL_FATAL(value) _BC_ASSERT_PRED("BC_ASSERT_PTR_NOT_NULL_FATAL", ((cactual) != (cexpected)), (const void*)(value), NULL, const void*, TRUE, "Expected NOT NULL but it was.") #define BC_ASSERT_STRING_EQUAL(actual, expected) _BC_ASSERT_PRED("BC_ASSERT_STRING_EQUAL", !(strcmp((const char*)(cactual), (const char*)(cexpected))), actual, expected, const char*, FALSE, "Expected %s but was %s.", cexpected, cactual) #define BC_ASSERT_STRING_EQUAL_FATAL(actual, expected) _BC_ASSERT_PRED("BC_ASSERT_STRING_EQUAL_FATAL", !(strcmp((const char*)(cactual), (const char*)(cexpected))), actual, expected, const char*, TRUE, "Expected %s but was %s.", cexpected, cactual) #define BC_ASSERT_STRING_NOT_EQUAL(actual, expected) _BC_ASSERT_PRED("BC_ASSERT_STRING_NOT_EQUAL", (strcmp((const char*)(cactual), (const char*)(cexpected))), actual, expected, const char*, FALSE, "Expected NOT %s but it was.", cexpected) diff --git a/tester/liblinphone_tester.c b/tester/liblinphone_tester.c index f4af3cb55..5ba752b9a 100644 --- a/tester/liblinphone_tester.c +++ b/tester/liblinphone_tester.c @@ -122,12 +122,6 @@ JNIEXPORT void JNICALL Java_org_linphone_tester_Tester_clearAccounts(JNIEnv *env } #endif /* ANDROID */ -#ifdef __QNX__ -static void liblinphone_tester_qnx_log_handler(OrtpLogLevel lev, const char *fmt, va_list args) { - ortp_qnx_log_handler("liblinphone_tester", lev, fmt, args); -} -#endif /* __QNX__ */ - static void log_handler(int lev, const char *fmt, va_list args) { #ifdef _WIN32 vfprintf(lev == ORTP_ERROR ? stderr : stdout, fmt, args); @@ -154,8 +148,6 @@ void liblinphone_tester_init(void(*ftester_printf)(int level, const char *fmt, v if (! log_file) { #if defined(ANDROID) linphone_core_set_log_handler(liblinphone_android_ortp_log_handler); -#elif defined(__QNX__) - linphone_core_set_log_handler(liblinphone_tester_qnx_log_handler); #endif } diff --git a/tester/log_collection_tester.c b/tester/log_collection_tester.c index 02519b796..ff0c021e5 100644 --- a/tester/log_collection_tester.c +++ b/tester/log_collection_tester.c @@ -30,7 +30,7 @@ /*getline is POSIX 2008, not available on many systems.*/ -#if defined(ANDROID) || defined(_WIN32) +#if defined(ANDROID) || defined(_WIN32) || defined(__QNX__) /* This code is public domain -- Will Hartung 4/9/09 */ static size_t getline(char **lineptr, size_t *n, FILE *stream) { char *bufptr = NULL; diff --git a/tester/message_tester.c b/tester/message_tester.c index c2fb392b1..42a2c65ac 100644 --- a/tester/message_tester.c +++ b/tester/message_tester.c @@ -74,10 +74,11 @@ void file_transfer_received(LinphoneChatMessage *msg, const LinphoneContent* con } ms_free(receive_file); file = (FILE*)linphone_chat_message_get_user_data(msg); - + BC_ASSERT_PTR_NOT_NULL(file); if (linphone_buffer_is_empty(buffer)) { /* tranfer complete */ stats* counters = get_stats(lc); counters->number_of_LinphoneFileTransferDownloadSuccessful++; + linphone_chat_message_set_user_data(msg, NULL); fclose(file); } else { /* store content on a file*/ if (fwrite(linphone_buffer_get_content(buffer),linphone_buffer_get_size(buffer),1,file)==-1){ @@ -95,6 +96,11 @@ LinphoneBuffer * tester_file_transfer_send(LinphoneChatMessage *msg, const Linph size_t size_to_send; uint8_t *buf; FILE *file_to_send = linphone_chat_message_get_user_data(msg); + + BC_ASSERT_PTR_NOT_NULL(file_to_send); + if (file_to_send == NULL){ + return NULL; + } fseek(file_to_send, 0, SEEK_END); file_size = ftell(file_to_send); fseek(file_to_send, (long)offset, SEEK_SET); @@ -103,6 +109,7 @@ LinphoneBuffer * tester_file_transfer_send(LinphoneChatMessage *msg, const Linph if (fread(buf, size_to_send, 1, file_to_send)!=size_to_send){ // reaching end of file, close it fclose(file_to_send); + linphone_chat_message_set_user_data(msg, NULL); } lb = linphone_buffer_new_from_data(buf, size_to_send); ms_free(buf); diff --git a/tester/multi_call_tester.c b/tester/multi_call_tester.c index e30220511..6ff6af802 100644 --- a/tester/multi_call_tester.c +++ b/tester/multi_call_tester.c @@ -218,6 +218,11 @@ static void simple_conference_base(LinphoneCoreManager* marie, LinphoneCoreManag BC_ASSERT_TRUE(linphone_core_is_in_conference(marie->lc)); BC_ASSERT_EQUAL(linphone_core_get_conference_size(marie->lc),3, int, "%d"); + BC_ASSERT_PTR_NULL(linphone_core_get_current_call(marie->lc)); + BC_ASSERT_PTR_NOT_NULL(linphone_core_get_current_call(pauline->lc)); + BC_ASSERT_PTR_NOT_NULL(linphone_core_get_current_call(laure->lc)); + + /* * FIXME: check_ice cannot work as it is today because there is no current call for the party that hosts the conference if (linphone_core_get_firewall_policy(marie->lc) == LinphonePolicyUseIce) { @@ -240,10 +245,9 @@ static void simple_conference_base(LinphoneCoreManager* marie, LinphoneCoreManag BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallEnd,1,10000)); BC_ASSERT_TRUE(wait_for_list(lcs,&laure->stat.number_of_LinphoneCallEnd,1,10000)); - - ms_list_free(lcs); } + static void simple_conference(void) { LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc"); LinphoneCoreManager* pauline = linphone_core_manager_new( "pauline_tcp_rc"); @@ -254,8 +258,6 @@ static void simple_conference(void) { linphone_core_manager_destroy(laure); } - - static void simple_encrypted_conference_with_ice(LinphoneMediaEncryption mode) { LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc"); LinphoneCoreManager* pauline = linphone_core_manager_new( "pauline_tcp_rc"); @@ -544,6 +546,166 @@ static void call_transfer_existing_call_outgoing_call(void) { ms_list_free(lcs); } +static void eject_from_3_participants_conference(void) { + LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc"); + LinphoneCoreManager* pauline = linphone_core_manager_new( "pauline_tcp_rc"); + LinphoneCoreManager* laure = linphone_core_manager_new( "laure_rc"); + + stats initial_marie_stat; + stats initial_pauline_stat; + stats initial_laure_stat; + + LinphoneCall* marie_call_pauline; + LinphoneCall* pauline_called_by_marie; + LinphoneCall* marie_call_laure; + MSList* lcs=ms_list_append(NULL,marie->lc); + lcs=ms_list_append(lcs,pauline->lc); + lcs=ms_list_append(lcs,laure->lc); + + BC_ASSERT_TRUE(call(marie,pauline)); + marie_call_pauline=linphone_core_get_current_call(marie->lc); + pauline_called_by_marie=linphone_core_get_current_call(pauline->lc); + BC_ASSERT_TRUE(pause_call_1(marie,marie_call_pauline,pauline,pauline_called_by_marie)); + + BC_ASSERT_TRUE(call(marie,laure)); + initial_marie_stat=marie->stat; + initial_pauline_stat=pauline->stat; + initial_laure_stat=laure->stat; + + marie_call_laure=linphone_core_get_current_call(marie->lc); + + BC_ASSERT_PTR_NOT_NULL_FATAL(marie_call_laure); + + linphone_core_add_to_conference(marie->lc,marie_call_laure); + BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallUpdating,initial_marie_stat.number_of_LinphoneCallUpdating+1,5000)); + + linphone_core_add_to_conference(marie->lc,marie_call_pauline); + + BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallResuming,initial_marie_stat.number_of_LinphoneCallResuming+1,2000)); + + BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallStreamsRunning,initial_pauline_stat.number_of_LinphoneCallStreamsRunning+1,5000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&laure->stat.number_of_LinphoneCallStreamsRunning,initial_laure_stat.number_of_LinphoneCallStreamsRunning+1,2000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallStreamsRunning,initial_marie_stat.number_of_LinphoneCallStreamsRunning+2,3000)); + + BC_ASSERT_TRUE(linphone_core_is_in_conference(marie->lc)); + BC_ASSERT_EQUAL(linphone_core_get_conference_size(marie->lc),3, int, "%d"); + + BC_ASSERT_PTR_NULL(linphone_core_get_current_call(marie->lc)); + + linphone_core_remove_from_conference(marie->lc, marie_call_pauline); + + BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallPausedByRemote,1,10000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&laure->stat.number_of_LinphoneCallStreamsRunning,3,10000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallStreamsRunning,5,10000)); + BC_ASSERT_PTR_NOT_NULL(linphone_core_get_current_call(marie->lc)); + BC_ASSERT_EQUAL(ms_list_size(linphone_core_get_calls(marie->lc)), 2, int, "%d"); + BC_ASSERT_PTR_NOT_NULL(linphone_core_get_current_call(pauline->lc)); + BC_ASSERT_PTR_NOT_NULL(linphone_core_get_current_call(laure->lc)); + end_call(laure, marie); + end_call(pauline, marie); + + BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallEnd,1,10000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallEnd,1,10000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&laure->stat.number_of_LinphoneCallEnd,1,10000)); + + ms_list_free(lcs); + + linphone_core_manager_destroy(marie); + linphone_core_manager_destroy(pauline); + linphone_core_manager_destroy(laure); +} + +static void eject_from_4_participants_conference(void) { + LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc"); + LinphoneCoreManager* pauline = linphone_core_manager_new( "pauline_tcp_rc"); + LinphoneCoreManager* laure = linphone_core_manager_new( "laure_rc"); + LinphoneCoreManager* michelle = linphone_core_manager_new( "michelle_rc"); + + stats initial_marie_stat; + stats initial_pauline_stat; + stats initial_laure_stat; + stats initial_michelle_stat; + + LinphoneCall* marie_call_pauline; + LinphoneCall* pauline_called_by_marie; + LinphoneCall* marie_call_laure; + LinphoneCall* marie_call_michelle; + LinphoneCall* michelle_called_by_marie; + MSList* lcs=ms_list_append(NULL,marie->lc); + lcs=ms_list_append(lcs,pauline->lc); + lcs=ms_list_append(lcs,laure->lc); + lcs=ms_list_append(lcs,michelle->lc); + + BC_ASSERT_TRUE(call(marie,pauline)); + marie_call_pauline=linphone_core_get_current_call(marie->lc); + pauline_called_by_marie=linphone_core_get_current_call(pauline->lc); + BC_ASSERT_TRUE(pause_call_1(marie,marie_call_pauline,pauline,pauline_called_by_marie)); + + BC_ASSERT_TRUE(call(marie,michelle)); + marie_call_michelle=linphone_core_get_current_call(marie->lc); + michelle_called_by_marie=linphone_core_get_current_call(michelle->lc); + BC_ASSERT_TRUE(pause_call_1(marie,marie_call_michelle,michelle,michelle_called_by_marie)); + + BC_ASSERT_TRUE(call(marie,laure)); + initial_marie_stat=marie->stat; + initial_pauline_stat=pauline->stat; + initial_laure_stat=laure->stat; + initial_michelle_stat=michelle->stat; + + marie_call_laure=linphone_core_get_current_call(marie->lc); + + BC_ASSERT_PTR_NOT_NULL_FATAL(marie_call_laure); + + linphone_core_add_to_conference(marie->lc,marie_call_laure); + BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallUpdating,initial_marie_stat.number_of_LinphoneCallUpdating+1,5000)); + + linphone_core_add_to_conference(marie->lc,marie_call_michelle); + BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallUpdating,initial_marie_stat.number_of_LinphoneCallUpdating+1,5000)); + + linphone_core_add_to_conference(marie->lc,marie_call_pauline); + BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallResuming,initial_marie_stat.number_of_LinphoneCallResuming+1,2000)); + + BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallStreamsRunning,initial_pauline_stat.number_of_LinphoneCallStreamsRunning+1,5000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&laure->stat.number_of_LinphoneCallStreamsRunning,initial_laure_stat.number_of_LinphoneCallStreamsRunning+1,2000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&michelle->stat.number_of_LinphoneCallStreamsRunning,initial_michelle_stat.number_of_LinphoneCallStreamsRunning+1,3000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallStreamsRunning,initial_marie_stat.number_of_LinphoneCallStreamsRunning+2,3000)); + + BC_ASSERT_TRUE(linphone_core_is_in_conference(marie->lc)); + BC_ASSERT_EQUAL(linphone_core_get_conference_size(marie->lc),4, int, "%d"); + + BC_ASSERT_PTR_NULL(linphone_core_get_current_call(marie->lc)); + + linphone_core_remove_from_conference(marie->lc, marie_call_pauline); + + BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallPausedByRemote,1,10000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&laure->stat.number_of_LinphoneCallStreamsRunning,initial_laure_stat.number_of_LinphoneCallStreamsRunning+1,10000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&michelle->stat.number_of_LinphoneCallStreamsRunning,initial_michelle_stat.number_of_LinphoneCallStreamsRunning+1,10000)); + + BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallStreamsRunning,5,10000)); + BC_ASSERT_PTR_NULL(linphone_core_get_current_call(marie->lc)); + BC_ASSERT_TRUE(linphone_core_is_in_conference(marie->lc)); + BC_ASSERT_EQUAL(linphone_core_get_conference_size(marie->lc),3, int, "%d"); + BC_ASSERT_EQUAL(ms_list_size(linphone_core_get_calls(marie->lc)), 3, int, "%d"); + BC_ASSERT_PTR_NOT_NULL(linphone_core_get_current_call(pauline->lc)); + BC_ASSERT_PTR_NOT_NULL(linphone_core_get_current_call(laure->lc)); + BC_ASSERT_PTR_NOT_NULL(linphone_core_get_current_call(michelle->lc)); + end_call(laure, marie); + end_call(pauline, marie); + end_call(michelle, marie); + + BC_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallEnd,1,10000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallEnd,1,10000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&laure->stat.number_of_LinphoneCallEnd,1,10000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&michelle->stat.number_of_LinphoneCallEnd,1,10000)); + + ms_list_free(lcs); + + linphone_core_manager_destroy(marie); + linphone_core_manager_destroy(pauline); + linphone_core_manager_destroy(laure); + linphone_core_manager_destroy(michelle); +} + test_t multi_call_tests[] = { { "Call waiting indication", call_waiting_indication }, { "Call waiting indication with privacy", call_waiting_indication_with_privacy }, @@ -557,6 +719,8 @@ test_t multi_call_tests[] = { { "Unattended call transfer", unattended_call_transfer }, { "Unattended call transfer with error", unattended_call_transfer_with_error }, { "Call transfer existing call outgoing call", call_transfer_existing_call_outgoing_call }, + { "Eject from 3 participants conference", eject_from_3_participants_conference }, + { "Eject from 4 participants conference", eject_from_4_participants_conference }, }; test_suite_t multi_call_test_suite = {"Multi call", NULL, NULL, liblinphone_tester_before_each, liblinphone_tester_after_each, diff --git a/tester/presence_tester.c b/tester/presence_tester.c index c5d5d3ec5..9325617db 100644 --- a/tester/presence_tester.c +++ b/tester/presence_tester.c @@ -28,12 +28,14 @@ static LinphoneCoreManager* presence_linphone_core_manager_new(char* username) { linphone_address_set_username(mgr->identity,username); identity_char=linphone_address_as_string(mgr->identity); linphone_core_set_primary_contact(mgr->lc,identity_char); + ms_free(identity_char); return mgr; } + void new_subscription_requested(LinphoneCore *lc, LinphoneFriend *lf, const char *url){ char* from=linphone_address_as_string(linphone_friend_get_address(lf)); stats* counters; - ms_message("New subscription request from [%s] url [%s]",from,url); + ms_message("New subscription request from [%s] url [%s]",from,url); ms_free(from); counters = get_stats(lc); counters->number_of_NewSubscriptionRequest++; @@ -162,6 +164,7 @@ static bool_t subscribe_to_callee_presence(LinphoneCoreManager* caller_mgr,Linph linphone_friend_done(friend); linphone_core_add_friend(caller_mgr->lc,friend); + linphone_friend_unref(friend); result=wait_for(caller_mgr->lc,callee_mgr->lc,&caller_mgr->stat.number_of_LinphonePresenceActivityOnline,initial_caller.number_of_LinphonePresenceActivityOnline+1); /*without proxy, callee cannot subscribe to caller @@ -184,7 +187,8 @@ static void subscribe_failure_handle_by_app(void) { LinphoneProxyConfig* config; LinphoneFriend* lf; char* lf_identity=linphone_address_as_string_uri_only(pauline->identity); - linphone_core_get_default_proxy(marie->lc,&config); + + linphone_core_get_default_proxy(marie->lc,&config); BC_ASSERT_TRUE(subscribe_to_callee_presence(marie,pauline)); wait_for(marie->lc,pauline->lc,&pauline->stat.number_of_NewSubscriptionRequest,1); /*just to wait for unsubscription even if not notified*/ @@ -232,6 +236,7 @@ static void unsubscribe_while_subscribing(void) { linphone_friend_enable_subscribes(friend,TRUE); linphone_friend_done(friend); linphone_core_add_friend(marie->lc,friend); + linphone_friend_unref(friend); linphone_core_iterate(marie->lc); linphone_core_manager_destroy(marie); } @@ -346,6 +351,84 @@ static void presence_information(void) { linphone_core_manager_destroy(marie); linphone_core_manager_destroy(pauline); } + + +static void subscribe_presence_forked(){ + LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc"); + LinphoneCoreManager* pauline1 = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc"); + LinphoneCoreManager* pauline2 = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc"); + LinphoneFriend *lf; + MSList *lcs = NULL; + + lcs = ms_list_append(lcs, marie->lc); + lcs = ms_list_append(lcs, pauline1->lc); + lcs = ms_list_append(lcs, pauline2->lc); + + lf = linphone_core_create_friend(marie->lc); + linphone_friend_set_address(lf, pauline1->identity); + linphone_friend_enable_subscribes(lf, TRUE); + + linphone_core_add_friend(marie->lc, lf); + linphone_friend_unref(lf); + + BC_ASSERT_TRUE(wait_for_list(lcs,&pauline1->stat.number_of_NewSubscriptionRequest,1, 10000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&pauline2->stat.number_of_NewSubscriptionRequest,1, 2000)); + /*we should get two notifies*/ + BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphonePresenceActivityOnline,2, 10000)); + + /*marie also shall receive two SUBSCRIBEs from the two paulines, but won't be notified to the app since + Marie set Pauline as a friend.*/ + BC_ASSERT_EQUAL(marie->stat.number_of_NewSubscriptionRequest, 0, int, "%d"); + /*and the two paulines shall be notified of marie's presence*/ + BC_ASSERT_TRUE(wait_for_list(lcs,&pauline1->stat.number_of_LinphonePresenceActivityOnline,1, 3000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&pauline2->stat.number_of_LinphonePresenceActivityOnline,1, 2000)); + + linphone_core_manager_destroy(marie); + linphone_core_manager_destroy(pauline1); + linphone_core_manager_destroy(pauline2); + + ms_list_free(lcs); +} + +static void subscribe_presence_expired(){ + LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc"); + LinphoneCoreManager* pauline1 = linphone_core_manager_new(transport_supported(LinphoneTransportTls) ? "pauline_rc" : "pauline_tcp_rc"); + LinphoneFriend *lf; + MSList *lcs = NULL; + + lcs = ms_list_append(lcs, marie->lc); + lcs = ms_list_append(lcs, pauline1->lc); + + lp_config_set_int(marie->lc->config, "sip", "subscribe_expires", 10); + + lf = linphone_core_create_friend(marie->lc); + linphone_friend_set_address(lf, pauline1->identity); + linphone_friend_enable_subscribes(lf, TRUE); + + linphone_core_add_friend(marie->lc, lf); + linphone_friend_unref(lf); + + BC_ASSERT_TRUE(wait_for_list(lcs,&pauline1->stat.number_of_NewSubscriptionRequest,1, 5000)); + BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphonePresenceActivityOnline,1, 2000)); + + lf = linphone_core_find_friend(pauline1->lc, marie->identity); + BC_ASSERT_PTR_NOT_NULL(lf->insubs); + /*marie comes offline suddenly*/ + linphone_core_set_network_reachable(marie->lc, FALSE); + /*after a certain time, pauline shall see the incoming SUBSCRIBE expired*/ + wait_for_list(lcs,NULL, 0, 11000); + + BC_ASSERT_PTR_NULL(lf->insubs); + /*just make network reachable so that marie can unregister properly*/ + linphone_core_set_network_reachable(marie->lc, TRUE); + BC_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneRegistrationOk,2, 10000)); + linphone_core_manager_destroy(marie); + linphone_core_manager_destroy(pauline1); + + ms_list_free(lcs); +} + + #define USE_PRESENCE_SERVER 0 #if USE_PRESENCE_SERVER @@ -476,6 +559,8 @@ test_t presence_tests[] = { { "Unsubscribe while subscribing", unsubscribe_while_subscribing }, { "Presence information", presence_information }, { "App managed presence failure", subscribe_failure_handle_by_app }, + { "Presence SUBSCRIBE forked", subscribe_presence_forked }, + { "Presence SUBSCRIBE expired", subscribe_presence_expired }, #if USE_PRESENCE_SERVER { "Subscribe with late publish", test_subscribe_notify_publish }, { "Forked subscribe with late publish", test_forked_subscribe_notify_publish }, diff --git a/tester/proxy_config_tester.c b/tester/proxy_config_tester.c index 918977017..ac8e266a5 100644 --- a/tester/proxy_config_tester.c +++ b/tester/proxy_config_tester.c @@ -87,18 +87,26 @@ static void phone_normalization_with_dial_escape_plus(void){ } #define SIP_URI_CHECK(actual, expected) { \ - LinphoneAddress* res = linphone_proxy_config_normalize_sip_uri(NULL, actual); \ - char* actual_str = linphone_address_as_string_uri_only(res); \ + LinphoneProxyConfig *proxy = linphone_proxy_config_new(); \ + LinphoneAddress* res;\ + char* actual_str;\ + linphone_proxy_config_set_identity(proxy, "sip:username@linphone.org"); \ + res = linphone_proxy_config_normalize_sip_uri(proxy, actual); \ + actual_str = linphone_address_as_string_uri_only(res); \ BC_ASSERT_STRING_EQUAL(actual_str, expected); \ ms_free(actual_str); \ linphone_address_destroy(res); \ + linphone_proxy_config_destroy(proxy); \ } static void sip_uri_normalization(void) { + char* expected ="sip:%d9%a1@linphone.org"; BC_ASSERT_PTR_NULL(linphone_proxy_config_normalize_sip_uri(NULL, "test")); SIP_URI_CHECK("test@linphone.org", "sip:test@linphone.org"); SIP_URI_CHECK("test@linphone.org;transport=tls", "sip:test@linphone.org;transport=tls"); + + SIP_URI_CHECK("١", expected); //test that no more invalid memory writes are made (valgrind only) } test_t proxy_config_tests[] = { diff --git a/tester/quality_reporting_tester.c b/tester/quality_reporting_tester.c index 206a60fab..10f38c21e 100644 --- a/tester/quality_reporting_tester.c +++ b/tester/quality_reporting_tester.c @@ -27,19 +27,11 @@ void on_report_send_mandatory(const LinphoneCall *call, SalStreamType stream_type, const LinphoneContent *content){ char * body = (char *)linphone_content_get_buffer(content); char * remote_metrics_start = __strstr(body, "RemoteMetrics:"); - reporting_session_report_t * report = call->log->reporting.reports[stream_type]; - MediaStream * ms; - if (stream_type == SalAudio){ - ms = (MediaStream*)call->audiostream; - }else{ - ms = (MediaStream*)call->videostream; - } BC_ASSERT_TRUE( __strstr(body, "VQIntervalReport\r\n") == body || __strstr(body, "VQSessionReport\r\n") == body || __strstr(body, "VQSessionReport: CallTerm\r\n") == body ); - BC_ASSERT_PTR_NOT_NULL(body=__strstr(body, "CallID:")); BC_ASSERT_PTR_NOT_NULL(body=__strstr(body, "LocalID:")); BC_ASSERT_PTR_NOT_NULL(body=__strstr(body, "RemoteID:")); @@ -68,12 +60,6 @@ void on_report_send_mandatory(const LinphoneCall *call, SalStreamType stream_typ BC_ASSERT_TRUE(!remote_metrics_start || body < remote_metrics_start); BC_ASSERT_PTR_NOT_NULL(body=__strstr(body, "DialogID:")); - - if (report->remote_metrics.rtcp_sr_count>0&&ms!=NULL&&ms->rc!=NULL){ - /* Hack: reset rtcp_sr_count to 0 because in case of interval reports, we need one RTCP SR by interval. */ - report->remote_metrics.rtcp_sr_count=0; - BC_ASSERT_PTR_NOT_NULL(body=__strstr(body, "AdaptiveAlg:")); - } } char * on_report_send_verify_metrics(const reporting_content_metrics_t *metrics, char * body){ @@ -159,7 +145,7 @@ static void quality_reporting_not_used_without_config(void) { BC_ASSERT_PTR_NULL(call_marie->log->reporting.reports[0]->dialog_id); end_call(marie, pauline); } - + linphone_core_manager_destroy(marie); linphone_core_manager_destroy(pauline); } @@ -372,6 +358,67 @@ static void quality_reporting_sent_using_custom_route(void) { linphone_core_manager_destroy(pauline); } +static void quality_reporting_interval_report_video_and_rtt(void) { + LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc_rtcp_xr"); + LinphoneCoreManager* pauline = linphone_core_manager_new( "pauline_rc_rtcp_xr"); + LinphoneCall* call_marie = NULL; + LinphoneCall* call_pauline = NULL; + LinphoneCallParams* pauline_params; + LinphoneCallParams* marie_params; + LinphoneChatRoom *pauline_chat_room; + + linphone_core_enable_video_capture(marie->lc, TRUE); + linphone_core_enable_video_display(marie->lc, FALSE); + linphone_core_enable_video_capture(pauline->lc, TRUE); + linphone_core_enable_video_display(pauline->lc, FALSE); + marie_params=linphone_core_create_default_call_parameters(marie->lc); + linphone_call_params_enable_video(marie_params,TRUE); + linphone_call_params_enable_realtime_text(marie_params,TRUE); + pauline_params=linphone_core_create_default_call_parameters(pauline->lc); + linphone_call_params_enable_video(pauline_params,TRUE); + linphone_call_params_enable_realtime_text(pauline_params,TRUE); + + if (create_call_for_quality_reporting_tests(marie, pauline, &call_marie, &call_pauline, marie_params, pauline_params)) { + linphone_reporting_set_on_report_send(call_marie, on_report_send_mandatory); + linphone_proxy_config_set_quality_reporting_interval(call_marie->dest_proxy, 1); + + BC_ASSERT_TRUE(wait_for_until(marie->lc,pauline->lc,NULL,0,3000)); + BC_ASSERT_TRUE(linphone_call_params_video_enabled(linphone_call_get_current_params(call_pauline))); + BC_ASSERT_TRUE(linphone_call_params_realtime_text_enabled(linphone_call_get_current_params(call_pauline))); + + BC_ASSERT_PTR_NOT_NULL(linphone_core_get_current_call(marie->lc)); + BC_ASSERT_PTR_NOT_NULL(linphone_core_get_current_call(pauline->lc)); + + // PUBLISH submission to the collector should be ok + BC_ASSERT_TRUE(wait_for_until(marie->lc,pauline->lc,&marie->stat.number_of_LinphonePublishProgress,1,60000)); + BC_ASSERT_TRUE(wait_for_until(marie->lc,pauline->lc,&marie->stat.number_of_LinphonePublishOk,1,60000)); + + pauline_chat_room = linphone_call_get_chat_room(call_pauline); + BC_ASSERT_PTR_NOT_NULL(pauline_chat_room); + if (pauline_chat_room) { + const char* message = "Lorem Ipsum Belledonnum Communicatum"; + int i; + LinphoneChatMessage* rtt_message = linphone_chat_room_create_message(pauline_chat_room,NULL); + LinphoneChatRoom *marie_chat_room = linphone_call_get_chat_room(call_marie); + + for (i = 0; i < strlen(message); i++) { + linphone_chat_message_put_char(rtt_message, message[i]); + BC_ASSERT_TRUE(wait_for_until(pauline->lc, marie->lc, &marie->stat.number_of_LinphoneIsComposingActiveReceived, i+1, 1000)); + BC_ASSERT_EQUAL(linphone_chat_room_get_char(marie_chat_room), message[i], char, "%c"); + } + linphone_chat_room_send_chat_message(pauline_chat_room, rtt_message); + } + + end_call(marie, pauline); + } + + linphone_call_params_destroy(marie_params); + linphone_call_params_destroy(pauline_params); + + linphone_core_manager_destroy(marie); + linphone_core_manager_destroy(pauline); +} + test_t quality_reporting_tests[] = { { "Not used if no config", quality_reporting_not_used_without_config}, { "Call term session report not sent if call did not start", quality_reporting_not_sent_if_call_not_started}, @@ -379,6 +426,7 @@ test_t quality_reporting_tests[] = { { "Call term session report invalid if missing mandatory fields", quality_reporting_invalid_report}, { "Call term session report sent if call ended normally", quality_reporting_at_call_termination}, { "Interval report if interval is configured", quality_reporting_interval_report}, + { "Interval report if interval is configured with video and realtime text", quality_reporting_interval_report_video_and_rtt}, { "Session report sent if video stopped during call", quality_reporting_session_report_if_video_stopped}, { "Sent using custom route", quality_reporting_sent_using_custom_route}, }; diff --git a/tester/rcfiles/marie_rc_rtcp_xr b/tester/rcfiles/marie_rc_rtcp_xr index 801ef0ebd..4f2ead6df 100644 --- a/tester/rcfiles/marie_rc_rtcp_xr +++ b/tester/rcfiles/marie_rc_rtcp_xr @@ -33,6 +33,7 @@ subscribe=0 [rtp] audio_rtp_port=20070-22070 video_rtp_port=24000-25000 +text_rtp_port=26000-30000 rtcp_xr_enabled=1 rtcp_xr_rcvr_rtt_mode=all rtcp_xr_rcvr_rtt_max_size=10000 diff --git a/tester/rcfiles/michelle_rc b/tester/rcfiles/michelle_rc new file mode 100644 index 000000000..68ca11a7c --- /dev/null +++ b/tester/rcfiles/michelle_rc @@ -0,0 +1,44 @@ +[sip] +sip_port=-1 +sip_tcp_port=-1 +sip_tls_port=-1 +default_proxy=0 + +[auth_info_0] +username=michelle +userid=michelle +passwd=secret +realm="sip.example.org" + + +[proxy_0] +reg_proxy=sip.example.org +reg_identity=sip:michelle@sip.example.org +reg_expires=3600 +reg_sendregister=1 +publish=0 +dial_escape_plus=0 + + +[rtp] +audio_rtp_port=9010-9390 +video_rtp_port=9410-9910 + +[video] +display=0 +capture=0 +show_local=0 +size=qcif +enabled=0 +self_view=0 +automatically_initiate=0 +automatically_accept=0 +device=StaticImage: Static picture + +[sound] +echocancellation=0 #to not overload cpu in case of VG + +[net] +dns_srv_enabled=0 #no srv needed in general +stun_server=stun.linphone.org + diff --git a/tester/rcfiles/pauline_rc_rtcp_xr b/tester/rcfiles/pauline_rc_rtcp_xr index 1648b508a..442804d73 100644 --- a/tester/rcfiles/pauline_rc_rtcp_xr +++ b/tester/rcfiles/pauline_rc_rtcp_xr @@ -31,6 +31,7 @@ dial_escape_plus=0 [rtp] audio_rtp_port=18070-28000 video_rtp_port=39072-49000 +text_rtp_port=29000-38000 rtcp_xr_enabled=1 rtcp_xr_rcvr_rtt_mode=all rtcp_xr_rcvr_rtt_max_size=10000 diff --git a/tester/tester.c b/tester/tester.c index 59b914f0e..398040b2d 100644 --- a/tester/tester.c +++ b/tester/tester.c @@ -99,6 +99,7 @@ static void auth_info_requested(LinphoneCore *lc, const char *realm, const char void reset_counters( stats* counters) { if (counters->last_received_chat_message) linphone_chat_message_unref(counters->last_received_chat_message); + if (counters->last_received_info_message) linphone_info_message_destroy(counters->last_received_info_message); memset(counters,0,sizeof(stats)); } @@ -283,6 +284,8 @@ LinphoneCoreManager* linphone_core_manager_init(const char* rc_file) { #if TARGET_OS_IPHONE linphone_core_set_ringer_device( mgr->lc, "AQ: Audio Queue Device"); linphone_core_set_ringback(mgr->lc, NULL); +#elif __QNX__ + linphone_core_set_playback_device(mgr->lc, "QSA: voice"); #endif #ifdef VIDEO_ENABLED @@ -371,6 +374,7 @@ void linphone_core_manager_destroy(LinphoneCoreManager* mgr) { if (mgr->stat.last_received_chat_message) { linphone_chat_message_unref(mgr->stat.last_received_chat_message); } + if (mgr->stat.last_received_info_message) linphone_info_message_destroy(mgr->stat.last_received_info_message); if (mgr->lc){ const char *record_file=linphone_core_get_record_file(mgr->lc); int unterminated_calls; diff --git a/tools/lpc2xml_test.c b/tools/lpc2xml_test.c index 03ac571cf..b52ecbb51 100644 --- a/tools/lpc2xml_test.c +++ b/tools/lpc2xml_test.c @@ -42,28 +42,30 @@ void cb_function(void *ctx, lpc2xml_log_level level, const char *msg, va_list li } void show_usage(int argc, char *argv[]) { - fprintf(stderr, "usage %s convert \n", - argv[0]); + fprintf(stderr, "usage:\n%s convert \n%s dump \n", argv[0], argv[0]); } int main(int argc, char *argv[]) { lpc2xml_context *ctx; LpConfig *lpc; - if(argc != 4) { + if(argc > 4 || argc < 3) { show_usage(argc, argv); return -1; } - ctx = lpc2xml_context_new(cb_function, NULL); lpc = lp_config_new(argv[2]); - lpc2xml_set_lpc(ctx, lpc); - if(strcmp("convert", argv[1]) == 0) { + if(strcmp("convert", argv[1]) == 0 && argc == 4) { + ctx = lpc2xml_context_new(cb_function, NULL); lpc2xml_convert_file(ctx, argv[3]); + lpc2xml_set_lpc(ctx, lpc); + lpc2xml_context_destroy(ctx); + } else if (strcmp("dump", argv[1]) == 0 && argc == 3) { + char *dump = lp_config_dump_as_xml(lpc); + fprintf(stdout, "%s", dump); } else { show_usage(argc, argv); } lp_config_destroy(lpc); - lpc2xml_context_destroy(ctx); return 0; } diff --git a/tools/python/apixml2python.py b/tools/python/apixml2python.py index 04de40a9e..94e4c0a48 100755 --- a/tools/python/apixml2python.py +++ b/tools/python/apixml2python.py @@ -83,6 +83,7 @@ hand_written_functions = [ HandWrittenProperty('Core', 'sip_transports_used', 'linphone_core_get_sip_transports_used', None, "[:py:class:`linphone.SipTransports`] Retrieves the real port number assigned for each sip transport (udp, tcp, tls). A zero value means that the transport is not activated. If LC_SIP_TRANSPORT_RANDOM was passed to :py:attr:`linphone.Core.sip_transports`, the random port choosed by the system is returned."), HandWrittenProperty('Core', 'sound_devices', 'linphone_core_get_sound_devices', None, "[list of string] Get the available sound devices."), HandWrittenProperty('Core', 'video_devices', 'linphone_core_get_video_devices', None, "[list of string] Get the available video capture devices."), + HandWrittenProperty('LpConfig', 'sections_names', 'lp_config_get_sections_names', None, "[list of string] Get the sections' names in the lp config."), HandWrittenClassMethod('Core', 'new', 'linphone_core_new', "Instantiate a LinphoneCore object.\n\n:param vtable: The callbacks.\n:type vtable: dictionary\n:param configPath: A path to a config file. If it does not exists it will be created. The config file is used to store all settings, call logs, friends, proxies... so that all these settings become persistent over the life of the LinphoneCore object. It is allowed to set to None. In that case LinphoneCore will not store any settings.\n:type configPath: string\n:param factoryConfigPath: A path to a read-only config file that can be used to store hard-coded preference such as proxy settings or internal preferences. The settings in this factory file always override the one in the normal config file. It is OPTIONAL, use None if unneeded.\n:type factoryConfigPath: string\n:rtype: linphone.Core"), HandWrittenClassMethod('Core', 'new_with_config', 'linphone_core_new_with_config', "Instantiate a LinphoneCore object from a LpConfig.\n\n:param vtable: The callbacks.\n:type vtable: dictionary\n:param config: A LpConfig object holding the configuration of the LinphoneCore to be instantiated.\n:rtype: linphone.Core"), HandWrittenDeallocMethod('Core', 'linphone_core_destroy') diff --git a/tools/python/apixml2python/handwritten_declarations.mustache b/tools/python/apixml2python/handwritten_declarations.mustache index 3449fa7e6..534efc981 100644 --- a/tools/python/apixml2python/handwritten_declarations.mustache +++ b/tools/python/apixml2python/handwritten_declarations.mustache @@ -40,3 +40,5 @@ static int pylinphone_Buffer_set_content(PyObject *self, PyObject *value, void * static PyObject * pylinphone_Content_get_buffer(PyObject *self, void *closure); static int pylinphone_Content_set_buffer(PyObject *self, PyObject *value, void *closure); + +static PyObject * pylinphone_LpConfig_get_sections_names(PyObject *self, void *closure); \ No newline at end of file diff --git a/tools/python/apixml2python/handwritten_definitions.mustache b/tools/python/apixml2python/handwritten_definitions.mustache index 4937b951e..5c8db7305 100644 --- a/tools/python/apixml2python/handwritten_definitions.mustache +++ b/tools/python/apixml2python/handwritten_definitions.mustache @@ -970,3 +970,28 @@ static int pylinphone_Content_set_buffer(PyObject *self, PyObject *value, void * pylinphone_trace(-1, "[PYLINPHONE] <<< %s -> 0", __FUNCTION__); return 0; } + +static PyObject * pylinphone_LpConfig_get_sections_names(PyObject *self, void *closure) { + PyObject *_list; + const char **_names; + LpConfig *native_ptr = pylinphone_LpConfig_get_native_ptr(self); + + if (native_ptr == NULL) { + PyErr_SetString(PyExc_TypeError, "Invalid linphone.LpConfig instance"); + return NULL; + } + + pylinphone_trace(1, "[PYLINPHONE] >>> %s(%p [%p])", __FUNCTION__, self, native_ptr); + _names = lp_config_get_sections_names(native_ptr); + pylinphone_dispatch_messages(); + + _list = PyList_New(0); + while (*_names != NULL) { + PyObject *_item = PyString_FromString(*_names); + PyList_Append(_list, _item); + _names++; + } + + pylinphone_trace(-1, "[PYLINPHONE] <<< %s -> %p", __FUNCTION__, _list); + return _list; +} diff --git a/tools/python/unittests/linphonetester.py b/tools/python/unittests/linphonetester.py index 7fb8db5d2..dfeeea9d4 100644 --- a/tools/python/unittests/linphonetester.py +++ b/tools/python/unittests/linphonetester.py @@ -210,6 +210,7 @@ class CoreManagerStats: self.number_of_LinphoneMessageNotDelivered = 0 self.number_of_LinphoneIsComposingActiveReceived = 0 self.number_of_LinphoneIsComposingIdleReceived = 0 + self.number_of_LinphoneFileTransferDownloadSuccessful = 0 self.progress_of_LinphoneFileTransfer = 0 self.number_of_IframeDecoded = 0 diff --git a/tools/python/unittests/test_message.py b/tools/python/unittests/test_message.py index 12495cc84..653b3e747 100644 --- a/tools/python/unittests/test_message.py +++ b/tools/python/unittests/test_message.py @@ -59,29 +59,25 @@ class TestMessage: receive_filepath = msg.user_data stats = msg.chat_room.core.user_data().stats if buf.empty: # Transfer complete - stats.number_of_LinphoneMessageExtBodyReceived += 1 + stats.number_of_LinphoneFileTransferDownloadSuccessful += 1 else: # Store content f = open(receive_filepath, 'ab') f.write(buf.content) f.close() - @classmethod - def memory_file_transfer_send(cls, msg, content, offset, size): - send_buf = msg.user_data - send_size = len(send_buf) - if offset >= send_size: - return linphone.Buffer.new() - if (send_size - offset) < size: - size = send_size - offset - return linphone.Buffer.new_from_string(send_buf[offset:offset+size]) - - @classmethod - def memory_file_transfer_recv(cls, msg, content, buf): - stats = msg.chat_room.core.user_data().stats - if buf.empty: # Transfer complete - stats.number_of_LinphoneMessageExtBodyReceived += 1 - else: # Store content - msg.user_data += buf.string_content + def create_message_from_no_webcam(self, chat_room): + send_filepath = os.path.join(tester_resources_path, 'images', 'nowebcamCIF.jpg') + content = chat_room.core.create_content() + content.type = 'image' + content.subtype = 'jpeg' + content.size = os.path.getsize(send_filepath) # total size to be transfered + content.name = 'nowebcamCIF.jpg' + message = chat_room.create_file_transfer_message(content) + message.callbacks.msg_state_changed = TestMessage.msg_state_changed + message.callbacks.file_transfer_send = TestMessage.file_transfer_send + message.callbacks.file_transfer_progress_indication = TestMessage.file_transfer_progress_indication + message.user_data = send_filepath + return message def wait_for_server_to_purge_messages(self, manager1, manager2): # Wait a little bit just to have time to purge message stored in the server @@ -91,122 +87,68 @@ class TestMessage: def test_text_message(self): marie = CoreManager('marie_rc') - pauline = CoreManager('pauline_rc') + pauline = CoreManager('pauline_tcp_rc') chat_room = pauline.lc.get_chat_room(marie.identity) self.wait_for_server_to_purge_messages(marie, pauline) - msg = chat_room.create_message("Bla bla bla bla") + msg = chat_room.create_message("hello") + msg.callbacks.msg_state_changed = TestMessage.msg_state_changed chat_room.send_chat_message(msg) assert_equals(CoreManager.wait_for(pauline, marie, lambda pauline, marie: marie.stats.number_of_LinphoneMessageReceived == 1), True) + assert_equals(CoreManager.wait_for(pauline, marie, lambda pauline, marie: pauline.stats.number_of_LinphoneMessageDelivered == 1), True) assert marie.lc.get_chat_room(pauline.identity) is not None - def test_text_message_within_dialog(self): + def test_text_message_within_call_dialog(self): marie = CoreManager('marie_rc') - pauline = CoreManager('pauline_rc') + pauline = CoreManager('pauline_tcp_rc') pauline.lc.config.set_int('sip', 'chat_use_call_dialogs', 1) - chat_room = pauline.lc.get_chat_room(marie.identity) self.wait_for_server_to_purge_messages(marie, pauline) assert_equals(CoreManager.call(marie, pauline), True) + chat_room = pauline.lc.get_chat_room(marie.identity) msg = chat_room.create_message("Bla bla bla bla") + msg.callbacks.msg_state_changed = TestMessage.msg_state_changed chat_room.send_chat_message(msg) assert_equals(CoreManager.wait_for(pauline, marie, lambda pauline, marie: marie.stats.number_of_LinphoneMessageReceived == 1), True) + # When using call dialogs, we will never receive delivered status + assert_equals(pauline.stats.number_of_LinphoneMessageDelivered, 0) assert marie.lc.get_chat_room(pauline.identity) is not None + CoreManager.end_call(marie, pauline) - def test_file_transfer_message(self): + def test_transfer_message(self): marie = CoreManager('marie_rc') - pauline = CoreManager('pauline_rc') + pauline = CoreManager('pauline_tcp_rc') send_filepath = os.path.join(tester_resources_path, 'images', 'nowebcamCIF.jpg') receive_filepath = 'receive_file.dump' pauline.lc.file_transfer_server = "https://www.linphone.org:444/lft.php" - chat_room = pauline.lc.get_chat_room(marie.identity) - content = pauline.lc.create_content() - content.type = 'image' - content.subtype = 'jpeg' - content.size = os.path.getsize(send_filepath) # total size to be transfered - content.name = 'nowebcamCIF.jpg' - message = chat_room.create_file_transfer_message(content) - message.user_data = send_filepath self.wait_for_server_to_purge_messages(marie, pauline) - message.callbacks.msg_state_changed = TestMessage.msg_state_changed - message.callbacks.file_transfer_send = TestMessage.file_transfer_send + chat_room = pauline.lc.get_chat_room(marie.identity) + message = self.create_message_from_no_webcam(chat_room) chat_room.send_chat_message(message) assert_equals(CoreManager.wait_for(pauline, marie, lambda pauline, marie: marie.stats.number_of_LinphoneMessageReceivedWithFile == 1), True) if marie.stats.last_received_chat_message is not None: cbs = marie.stats.last_received_chat_message.callbacks cbs.msg_state_changed = TestMessage.msg_state_changed cbs.file_transfer_recv = TestMessage.file_transfer_recv + cbs.file_transfer_progress_indication = TestMessage.file_transfer_progress_indication marie.stats.last_received_chat_message.user_data = receive_filepath marie.stats.last_received_chat_message.download_file() - assert_equals(CoreManager.wait_for(pauline, marie, lambda pauline, marie: marie.stats.number_of_LinphoneMessageExtBodyReceived == 1), True) - assert_equals(pauline.stats.number_of_LinphoneMessageInProgress, 1) - assert_equals(pauline.stats.number_of_LinphoneMessageDelivered, 1) - assert_equals(marie.stats.number_of_LinphoneMessageExtBodyReceived, 1) + assert_equals(CoreManager.wait_for(pauline, marie, lambda pauline, marie: marie.stats.number_of_LinphoneFileTransferDownloadSuccessful == 1), True) + assert_equals(pauline.stats.number_of_LinphoneMessageInProgress, 2) + assert_equals(CoreManager.wait_for(pauline, marie, lambda pauline, marie: pauline.stats.number_of_LinphoneMessageDelivered == 1), True) assert_equals(filecmp.cmp(send_filepath, receive_filepath, shallow=False), True) if os.path.exists(receive_filepath): os.remove(receive_filepath) - def test_small_file_transfer_message(self): - send_buf = "small file" + def test_transfer_message_upload_cancelled(self): marie = CoreManager('marie_rc') - pauline = CoreManager('pauline_rc') - while len(send_buf) < 160: - send_buf += send_buf - l = list(send_buf[0:160]) - l[0] = 'S' - l[-1] = 'E' - send_buf = ''.join(l) + pauline = CoreManager('pauline_tcp_rc') pauline.lc.file_transfer_server = "https://www.linphone.org:444/lft.php" - chat_room = pauline.lc.get_chat_room(marie.identity) - content = pauline.lc.create_content() - content.type = 'text' - content.subtype = 'plain' - content.size = len(send_buf) # total size to be transfered - content.name = 'small_file.txt' - message = chat_room.create_file_transfer_message(content) - message.user_data = send_buf self.wait_for_server_to_purge_messages(marie, pauline) - message.callbacks.msg_state_changed = TestMessage.msg_state_changed - message.callbacks.file_transfer_send = TestMessage.memory_file_transfer_send - chat_room.send_chat_message(message) - assert_equals(CoreManager.wait_for(pauline, marie, lambda pauline, marie: marie.stats.number_of_LinphoneMessageReceivedWithFile == 1), True) - if marie.stats.last_received_chat_message is not None: - cbs = marie.stats.last_received_chat_message.callbacks - cbs.msg_state_changed = TestMessage.msg_state_changed - cbs.file_transfer_recv = TestMessage.memory_file_transfer_recv - marie.stats.last_received_chat_message.user_data = '' - marie.stats.last_received_chat_message.download_file() - assert_equals(CoreManager.wait_for(pauline, marie, lambda pauline, marie: marie.stats.number_of_LinphoneMessageExtBodyReceived == 1), True) - assert_equals(pauline.stats.number_of_LinphoneMessageInProgress, 1) - assert_equals(pauline.stats.number_of_LinphoneMessageDelivered, 1) - assert_equals(marie.stats.number_of_LinphoneMessageExtBodyReceived, 1) - assert_equals(send_buf, marie.stats.last_received_chat_message.user_data) - - def test_file_transfer_message_upload_cancelled(self): - send_buf = "big file" - marie = CoreManager('marie_rc') - pauline = CoreManager('pauline_rc') - while len(send_buf) < 128000: - send_buf += send_buf - l = list(send_buf[0:128000]) - l[0] = 'S' - l[-1] = 'E' - send_buf = ''.join(l) - pauline.lc.file_transfer_server = "https://www.linphone.org:444/lft.php" chat_room = pauline.lc.get_chat_room(marie.identity) - content = pauline.lc.create_content() - content.type = 'text' - content.subtype = 'plain' - content.size = len(send_buf) # total size to be transfered - content.name = 'big_file.txt' - message = chat_room.create_file_transfer_message(content) - message.user_data = send_buf - self.wait_for_server_to_purge_messages(marie, pauline) - message.callbacks.msg_state_changed = TestMessage.msg_state_changed - message.callbacks.file_transfer_send = TestMessage.memory_file_transfer_send - message.callbacks.file_transfer_progress_indication = TestMessage.file_transfer_progress_indication + message = self.create_message_from_no_webcam(chat_room) chat_room.send_chat_message(message) # Wait for file to be at least 50% uploaded and cancel the transfer assert_equals(CoreManager.wait_for(pauline, marie, lambda pauline, marie: pauline.stats.progress_of_LinphoneFileTransfer >= 50), True) message.cancel_file_transfer() assert_equals(CoreManager.wait_for(pauline, marie, lambda pauline, marie: pauline.stats.number_of_LinphoneMessageNotDelivered == 1), True) assert_equals(pauline.stats.number_of_LinphoneMessageNotDelivered, 1) - assert_equals(marie.stats.number_of_LinphoneMessageExtBodyReceived, 0) + assert_equals(marie.stats.number_of_LinphoneFileTransferDownloadSuccessful, 0) diff --git a/tools/python/unittests/test_setup.py b/tools/python/unittests/test_setup.py index 9dc2e0fae..43fbf0042 100644 --- a/tools/python/unittests/test_setup.py +++ b/tools/python/unittests/test_setup.py @@ -5,9 +5,6 @@ import os class TestSetup: - def test_address(self): - create_address(None) - def test_version(self): lc = linphone.Core.new({}, None, None) assert_equals(lc.version.find("unknown"), -1)