Merge remote-tracking branch 'linphone/master'

This commit is contained in:
Simon Morlat 2015-02-25 12:00:55 +01:00
commit ab5f04807f
88 changed files with 3310 additions and 2248 deletions

View file

@ -167,6 +167,15 @@ filelist: zip
fi \
done
### LOCALIZATION
pull-transifex:
tx pull -af
$(MAKE) -C po update-po
push-transifex:
tx push -s -t -f --no-interactive
### WINDOWS

18
NEWS
View file

@ -2,12 +2,26 @@ linphone-3.8.0 -- Date to be defined
Application level improvements:
* The video window has now controls in order to switch fullscreen mode and terminate call.
* The out of call video preview feature (to test camera) is moved into the settings and is no longer linked to the in-call video preview feature.
* Lots of updated translations.
* Add an assistant to help users to set audio/video parameters
* Some ergonomics improvments (checkbox to set random port for UDP and TCP, ...)
* Lots of updated translations. Arabic translation has been added
* Experimental feature: play an MKV file by drag-and-dropping it on the video call window
Liblinphone level improvements:
* Support for RTP/AVPF (RFCxxxx) for video streams, allowing fast transmission error recovery with VP8 codec only.
* Support for RTP/AVPF (RFC4585) for video streams, allowing fast transmission error recovery with VP8 codec only.
* API enhancements, most objects can be ref-counted.
* Add some getter funtctions to the call information API
* Add a function in the API to accept early-media calls
* Add a function to set the SIP transport timeout
* Add a function to change adaptive rate algorithm at runtime
* Add support of file transfer
* Call video recording feature, in mkv format (H264 streams only for the moment)
* Call playing feature: play an MKV file and send the audio/video stream through a call
* Local player API. Play WAV and MKV file and display video on a specified window display
* A wrapper for Python has been made
* Support of Wake Locks on Android
* Support of multicast IP addresses
* Support of incoming UPDATEs within dialog (RFC3311)
* Support of SRTP by using packages from GNU/Linux distributions
linphone-3.7.0 -- February 20th, 2014

View file

@ -29,7 +29,8 @@ Download lastest linphone-deps-win32 zip from
http://download.savannah.gnu.org/releases-noredirect/linphone/misc
using your browser.
Download gtk+-2.24.10 win32 _bundle_ from http://www.gtk.org, direct link: http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.10-20120208_win32.zip
Download gtk+-2.24.10 win32 _bundle_ from http://www.gtk.org, direct link:
http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.10-20120208_win32.zip
Install all these three package in /:
@ -46,26 +47,35 @@ tar -xvzf GTK2-Outcrop.tar.gz
#To get the translations working, remove from C:/MinGW/lib :
libintl.a libintl.la libintl.dll.a
* Download and install Inno Setup Compiler (required only if you run 'make setup.exe'). Add it to your windows Path environment variable.
* Download and install Inno Setup Compiler (required only if you run
'make setup.exe'). Add it to your windows Path environment variable.
* Install msys-git from (http://msysgit.github.io/). During installation you are asked to make a choice about how line endings are treated by git. Choose "Checkout line endings as they are, commit as they are". THIS CHOICE IS VERY IMPORTANT. OTHERS BREAK AUTOMAKE.
* Install msys-git from (http://msysgit.github.io/). During installation you
are asked to make a choice about how line endings are treated by git. Choose
"Checkout line endings as they are, commit as they are". THIS CHOICE IS VERY
IMPORTANT. OTHERS BREAK AUTOMAKE.
General rules for compilation
*****************************
- It is recommended that you create a directory somewhere with a path without any spaces or ~ characters, for example c:\sources\.
This is the place where source code must be compiled.
- git commands (to retrieve source code) must be performed within msys-git terminal.
- all other commands (configure, autogen.sh, make) must be done within the mingw shell (msys).
In both msys and msys-git windows, change into the directory you created for sources:
cd /c/sources
- make sure pkg-config works by adding this env variable to your terminal:
export PKG_CONFIG_PATH=/usr/lib/pkgconfig
* It is recommended that you create a directory somewhere with a path without
any spaces or ~ characters, for example c:\sources\. This is the place where
source code must be compiled.
* git commands (to retrieve source code) must be performed within msys-git
terminal.
* all other commands (configure, autogen.sh, make) must be done within the
mingw shell (msys). In both msys and msys-git windows, change into the
directory you created for sources:
cd /c/sources
* make sure pkg-config works by adding this env variable to your terminal:
export PKG_CONFIG_PATH=/usr/lib/pkgconfig
Building belle-sip
******************
* make sure that java version 1.6 is available in the PATH. java-1.7 will not work with antlr generator.
* make sure that java version 1.6 is available in the PATH. java-1.7 will
not work with antlr generator.
* download the sources with msys-git shell using the following command:
$ git clone git://git.linphone.org/belle-sip.git
* compile and install
@ -80,11 +90,12 @@ Building Linphone
$ git clone git://git.linphone.org/linphone.git --recursive
* compile
#always run autogen.sh after a git checkout or update
#always run autogen.sh after a git checkout or update
$ ./autogen.sh
$ ./configure --prefix=/usr --enable-shared --disable-static
#note: in order to use the tunnel (commercial extension), append --enable-tunnel to the configure line above.
#note: in order to use the tunnel (commercial extension), append
#--enable-tunnel to the configure line above.
$ make
$ make install
@ -92,15 +103,18 @@ Building Linphone
#Option: make a portable binary zip of linphone
$ make zip
#additionally you can make binary installer if you have Inno Setup 5 installed in its default path
#additionally you can make binary installer if you have Inno Setup 5
installed in its default path
$ make setup.exe
#now you're done, you have a fresh linphone windows installer in the current directory.
#now you're done, you have a fresh linphone windows installer in the
current directory.
Building plugins (optional)
***************************
This the example for msx264 (H264 plugin), the same applies for other linphone plugins.
This the example for msx264 (H264 plugin), the same applies for other
linphone plugins.
$ git clone git://git.linphone.org/msx264.git
$ cd msx264
$ ./autogen.sh
@ -115,17 +129,17 @@ Building plugins (optional)
* Notes about linphone-deps generation *
******************************************************
Linphone-deps is a collection of linphone dependencies, that are for some of them difficult
to find as windows binaries.
These notes are useful if you want to upgrade part of the software that is included in the
linphone-deps packages.
Linphone-deps is a collection of linphone dependencies, that are for some of
them difficult to find as windows binaries. These notes are useful if you want
to upgrade part of the software that is included in the linphone-deps packages.
List of software included in linphone-deps:
antlr3c (compiled)
bzrtp (compiled)
polarssl (compiled
libsrtp (compiled)
libavcodec, libavutil, libavformat, libavdevice, libswscale (compiled, all these from ffmpeg)
libavcodec, libavutil, libavformat, libavdevice, libswscale (compiled, all
these from ffmpeg)
libtheora (from the web)
libx264 (compiled from the version distributed from linphone's web site)
libogg (from the web)
@ -137,8 +151,10 @@ libsoup (compiled)
libsqlite3 (compiled)
Remarks:
For every package compiled that goes into linphone-deps, .la files (libtool files) must be removed to avoid libtool errors.
When running "make install DESTDIR=<somepath>", somepath must be absolute and should not contain any ~ or space.
For every package compiled that goes into linphone-deps, .la files (libtool
files) must be removed to avoid libtool errors. When running "make install
DESTDIR=<somepath>", somepath must be absolute and should not contain any ~ or
space.
- building antlr3c
* download the sources with:
@ -192,9 +208,12 @@ When running "make install DESTDIR=<somepath>", somepath must be absolute and sh
./configure --enable-shared --disable-static --enable-memalign-hack --extra-cflags="-fno-common" --enable-gpl && make
make install DESTDIR=/home/<myuser>/ffmpeg-install
Copy to ~/ffmpeg-install/usr/local/* to linphone-deps/.
Copy also all *.dll.a files from the build tree to lib/ directort of linphone-deps. These are the implibs necessary to link a program against the dlls.
Copy also all *.dll.a files from the build tree to lib/ directort of
linphone-deps. These are the implibs necessary to link a program against the
dlls.
- building libxml2: the binaries found on the internet are generated with MSVC++, and for obscure reason they are not suitable for building libsoup
- building libxml2: the binaries found on the internet are generated with
MSVC++, and for obscure reason they are not suitable for building libsoup
(that requires libxml2).
./configure --enable-shared --disable-static && make && make install DESTDIR=/home/<myuser>/libxml2-install
copy ~/libxml2-install/usr/local/* into linphone-deps/.
@ -217,12 +236,14 @@ When running "make install DESTDIR=<somepath>", somepath must be absolute and sh
- add to linphone-deps
- building libsoup (only required for buddylookup plugin)
- download source from gnome ftp (warning: at the time of the writing only version 2.26.x can compile with the
glib version supplied in the gtk-bundle, 2.27 requires a new version of glib)
- download source from gnome ftp (warning: at the time of the writing
only version 2.26.x can compile with the glib version supplied in the
gtk-bundle, 2.27 requires a new version of glib)
- uncompress libgnutls zip in /
- make sure you have libxml2 installed in /
- apply a bugfix patch (fix gnutls support on windows, completely broken otherwise). The patch
is in linphone-deps/src, apply it this way:
- apply a bugfix patch (fix gnutls support on windows, completely
broken otherwise). The patch is in linphone-deps/src, apply it this
way:
cd libsoup-2.26.*
cd libsoup
patch -p0 < libsoup-gnutls-bugfix.patch

View file

@ -85,7 +85,8 @@ LOCAL_CFLAGS += \
-DHAVE_CONFIG_H \
-DLIBLINPHONE_VERSION=\"$(LIBLINPHONE_VERSION)\" \
-DLINPHONE_PLUGINS_DIR=\"\\tmp\" \
-DUSE_BELLESIP
-DUSE_BELLESIP \
-DHAVE_ZLIB
LOCAL_CFLAGS += -DIN_LINPHONE
@ -118,7 +119,7 @@ LOCAL_C_INCLUDES += \
$(LOCAL_PATH)/../../externals/libxml2/include \
$(LOCAL_PATH)/../../externals/build/libxml2
LOCAL_LDLIBS += -llog -ldl
LOCAL_LDLIBS += -llog -ldl -lz
LOCAL_STATIC_LIBRARIES := \
cpufeatures \

View file

@ -37,10 +37,10 @@ LOCAL_MODULE_FILENAME := liblinphone_tester-$(TARGET_ARCH_ABI)
LOCAL_SRC_FILES += $(common_SRC_FILES)
LOCAL_C_INCLUDES = $(common_C_INCLUDES)
LOCAL_CFLAGS = -DIN_LINPHONE
LOCAL_LDLIBS := -llog
LOCAL_LDLIBS := -llog -lz
ifeq ($(BUILD_MATROSKA), 1)
LOCAL_CFLAGS += -DHAVE_MATROSKA
LOCAL_CFLAGS += -DHAVE_MATROSKA -DHAVE_ZLIB
endif
LOCAL_SHARED_LIBRARIES := cunit liblinphone

View file

@ -54,7 +54,7 @@
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\belle-sip\include;$(ProjectDir)..\..\oRTP\include;$(ProjectDir)..\..\mediastreamer2\include;$(ProjectDir)..\..\..\tunnel\include;$(ProjectDir)..\..\coreapi;$(ProjectDir)..\..\include;$(SolutionDir)$(Platform)\$(Configuration)\include;$(ProjectDir)..\..\..\zlib;$(ProjectDir)..\..\..\sqlite\;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>__STDC_CONSTANT_MACROS;_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;_USRDLL;WINDOW_NATIVE;_TRUE_TIME;IN_LINPHONE;USE_BELLESIP;TUNNEL_ENABLED;VIDEO_ENABLED;LINPHONE_PACKAGE_NAME="linphone";LIBLINPHONE_EXPORTS;LINPHONE_PLUGINS_DIR=".";UNICODE;_XKEYCHECK_H;HAVE_ZLIB;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>__STDC_CONSTANT_MACROS;_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;_USRDLL;WINDOW_NATIVE;_TRUE_TIME;IN_LINPHONE;USE_BELLESIP;TUNNEL_ENABLED;VIDEO_ENABLED;LINPHONE_PACKAGE_NAME="linphone";LIBLINPHONE_EXPORTS;LINPHONE_PLUGINS_DIR="\\linphone\\plugins";UNICODE;_XKEYCHECK_H;HAVE_ZLIB;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
@ -220,4 +220,4 @@
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsPhone\v$(TargetPlatformVersion)\Microsoft.Cpp.WindowsPhone.$(TargetPlatformVersion).targets" />
</Project>
</Project>

View file

@ -0,0 +1,219 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|ARM">
<Configuration>Debug</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|ARM">
<Configuration>Release</Configuration>
<Platform>ARM</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{08dd0d38-d9b5-4626-b60d-b4d76b571142}</ProjectGuid>
<RootNamespace>LibLinphone</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)'=='Debug'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v110_wp80</PlatformToolset>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)'=='Release'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<PlatformToolset>v110_wp80</PlatformToolset>
<IgnoreImportLibrary>false</IgnoreImportLibrary>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\$(TargetName)\</IntDir>
</PropertyGroup>
<PropertyGroup>
<GenerateManifest>false</GenerateManifest>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<WarningLevel>Level4</WarningLevel>
<AdditionalIncludeDirectories>$(ProjectDir)..\..\..\belle-sip\include;$(ProjectDir)..\..\oRTP\include;$(ProjectDir)..\..\mediastreamer2\include;$(ProjectDir)..\..\..\tunnel\include;$(ProjectDir)..\..\coreapi;$(ProjectDir)..\..\include;$(SolutionDir)$(Platform)\$(Configuration)\include;$(ProjectDir)..\..\..\zlib;$(ProjectDir)..\..\..\sqlite\;$(ProjectDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>__STDC_CONSTANT_MACROS;_CRT_SECURE_NO_WARNINGS;WIN32;_WINDOWS;_USRDLL;WINDOW_NATIVE;_TRUE_TIME;IN_LINPHONE;USE_BELLESIP;VIDEO_ENABLED;LINPHONE_PACKAGE_NAME="linphone";LIBLINPHONE_EXPORTS;LINPHONE_PLUGINS_DIR="\\linphone\\plugins";UNICODE;_XKEYCHECK_H;HAVE_ZLIB;HAVE_CONFIG_H;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<CompileAsWinRT>false</CompileAsWinRT>
<AdditionalUsingDirectories>$(WindowsSDK_MetadataPath);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
<GenerateWindowsMetadata>false</GenerateWindowsMetadata>
<AdditionalDependencies>belle-sip_no_tunnel.lib;mediastreamer2.lib;ws2_32.lib;ortp.lib;gsm.lib;speex.lib;speexdsp.lib;libxml2.lib;sqlite.lib;zlib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<ImportLibrary>$(TargetDir)$(TargetName).lib</ImportLibrary>
</Link>
<PreBuildEvent>
<Command>version.bat</Command>
</PreBuildEvent>
<PreBuildEvent>
<Message>Batch script to get the git version</Message>
</PreBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
<ClCompile>
<PreprocessorDefinitions>_DEBUG;MSG_STORAGE_ENABLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
<ProjectReference>
<LinkLibraryDependencies Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</LinkLibraryDependencies>
</ProjectReference>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
<ClCompile>
<PreprocessorDefinitions>NDEBUG;MSG_STORAGE_ENABLED;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization>MaxSpeed</Optimization>
<StringPooling>true</StringPooling>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
</ClCompile>
<Link>
<GenerateDebugInformation>false</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\coreapi\address.c" />
<ClCompile Include="..\..\coreapi\authentication.c" />
<ClCompile Include="..\..\coreapi\bellesip_sal\sal_address_impl.c" />
<ClCompile Include="..\..\coreapi\bellesip_sal\sal_impl.c" />
<ClCompile Include="..\..\coreapi\bellesip_sal\sal_op_call.c" />
<ClCompile Include="..\..\coreapi\bellesip_sal\sal_op_call_transfer.c" />
<ClCompile Include="..\..\coreapi\bellesip_sal\sal_op_events.c" />
<ClCompile Include="..\..\coreapi\bellesip_sal\sal_op_impl.c" />
<ClCompile Include="..\..\coreapi\bellesip_sal\sal_op_info.c" />
<ClCompile Include="..\..\coreapi\bellesip_sal\sal_op_message.c" />
<ClCompile Include="..\..\coreapi\bellesip_sal\sal_op_presence.c" />
<ClCompile Include="..\..\coreapi\bellesip_sal\sal_op_publish.c" />
<ClCompile Include="..\..\coreapi\bellesip_sal\sal_op_registration.c" />
<ClCompile Include="..\..\coreapi\bellesip_sal\sal_sdp.c" />
<ClCompile Include="..\..\coreapi\buffer.c" />
<ClCompile Include="..\..\coreapi\call_log.c" />
<ClCompile Include="..\..\coreapi\call_params.c" />
<ClCompile Include="..\..\coreapi\callbacks.c" />
<ClCompile Include="..\..\coreapi\chat.c" />
<ClCompile Include="..\..\coreapi\conference.c" />
<ClCompile Include="..\..\coreapi\content.c" />
<ClCompile Include="..\..\coreapi\ec-calibrator.c" />
<ClCompile Include="..\..\coreapi\enum.c" />
<ClCompile Include="..\..\coreapi\event.c" />
<ClCompile Include="..\..\coreapi\friend.c" />
<ClCompile Include="..\..\coreapi\info.c" />
<ClCompile Include="..\..\coreapi\linphonecall.c" />
<ClCompile Include="..\..\coreapi\linphonecore.c" />
<ClCompile Include="..\..\coreapi\linphone_tunnel_config.c" />
<ClCompile Include="..\..\coreapi\linphone_tunnel_stubs.c" />
<ClCompile Include="..\..\coreapi\localplayer.c" />
<ClCompile Include="..\..\coreapi\lpconfig.c" />
<ClCompile Include="..\..\coreapi\lsd.c" />
<ClCompile Include="..\..\coreapi\message_storage.c" />
<ClCompile Include="..\..\coreapi\misc.c" />
<ClCompile Include="..\..\coreapi\offeranswer.c" />
<ClCompile Include="..\..\coreapi\player.c" />
<ClCompile Include="..\..\coreapi\presence.c" />
<ClCompile Include="..\..\coreapi\proxy.c" />
<ClCompile Include="..\..\coreapi\quality_reporting.c" />
<ClCompile Include="..\..\coreapi\remote_provisioning.c" />
<ClCompile Include="..\..\coreapi\sal.c" />
<ClCompile Include="..\..\coreapi\siplogin.c" />
<ClCompile Include="..\..\coreapi\sipsetup.c" />
<ClCompile Include="..\..\coreapi\xml.c" />
<ClCompile Include="..\..\coreapi\xml2lpc.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\coreapi\bellesip_sal\sal_impl.h" />
<ClInclude Include="..\..\coreapi\buffer.h" />
<ClInclude Include="..\..\coreapi\content.h" />
<ClInclude Include="..\..\coreapi\enum.h" />
<ClInclude Include="..\..\coreapi\event.h" />
<ClInclude Include="..\..\coreapi\linphonecore.h" />
<ClInclude Include="..\..\coreapi\linphonecore_utils.h" />
<ClInclude Include="..\..\coreapi\linphonefriend.h" />
<ClInclude Include="..\..\coreapi\linphone_tunnel.h" />
<ClInclude Include="..\..\coreapi\lpconfig.h" />
<ClInclude Include="..\..\coreapi\offeranswer.h" />
<ClInclude Include="..\..\coreapi\private.h" />
<ClInclude Include="..\..\coreapi\sipsetup.h" />
<ClInclude Include="..\..\coreapi\xml2lpc.h" />
<ClInclude Include="config.h" />
<ClInclude Include="liblinphone_gitversion.h" />
</ItemGroup>
<ItemGroup>
<Reference Include="Windows">
<IsWinMDFile>true</IsWinMDFile>
</Reference>
<Reference Include="platform.winmd">
<IsWinMDFile>true</IsWinMDFile>
<Private>false</Private>
</Reference>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\bcg729\build\wp8\bcg729\bcg729.vcxproj">
<Project>{1db09afe-fc9b-472e-a746-0e33f8ef8883}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\belle-sip\build\wp8\belle-sip\belle-sip_no_tunnel.vcxproj">
<Project>{4c225a82-800b-427b-ba7b-61686a9b347f}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\msamr\build\wp8\msamr\msamr.vcxproj">
<Project>{9924ac72-f96c-4e56-94d9-2b025da43c6b}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\msilbc\build\wp8\msilbc\msilbc.vcxproj">
<Project>{072fad20-7007-4da2-b2e7-16ce2b219f67}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\mssilk\build\wp8\mssilk\mssilk.vcxproj">
<Project>{36b528f9-fb79-4078-a16b-0a7442581bb7}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\mswasapi\mswasapi\mswasapi.vcxproj">
<Project>{d22bd217-d0f8-4274-9b3a-f3f35f46482c}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\mswebrtc\build\wp8\mswebrtc\mswebrtc.vcxproj">
<Project>{b16b81a9-bef2-44c9-b603-1065183ae844}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\mswp8vid\mswp8vid\mswp8vid.vcxproj">
<Project>{0565952a-ea62-46a2-8261-f5b4b490da42}</Project>
</ProjectReference>
<ProjectReference Include="..\..\..\sqlite\sqlite.vcxproj">
<Project>{a45d63b9-60de-476c-8836-f8eedbe139d0}</Project>
</ProjectReference>
<ProjectReference Include="..\..\mediastreamer2\build\wp8\mediastreamer2\mediastreamer2.vcxproj">
<Project>{027bad0e-9179-48c1-9733-7aa7e2c2ec70}</Project>
</ProjectReference>
<ProjectReference Include="..\..\oRTP\build\wp8\oRTP\oRTP.vcxproj">
<Project>{ffc7b532-0502-4d88-ac98-9e89071cbc97}</Project>
</ProjectReference>
<ProjectReference Include="libxml2\libxml2.vcxproj">
<Project>{5dfa07b4-0be9-46a9-ba32-fdf5a55c580b}</Project>
</ProjectReference>
<ProjectReference Include="zlib\zlib.vcxproj">
<Project>{7afac3bb-d97b-4578-b9fe-5e1d2b94ea2f}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsPhone\v$(TargetPlatformVersion)\Microsoft.Cpp.WindowsPhone.$(TargetPlatformVersion).targets" />
</Project>

View file

@ -79,7 +79,7 @@ case $target in
x86_64-apple-darwin*|i686-apple-darwin*)
MSPLUGINS_CFLAGS=""
dnl use macport installation
ACLOCAL_MACOS_FLAGS="-I /opt/local/share/aclocal"
AS_IF([test -d "/opt/local/share/aclocal"], [ACLOCAL_MACOS_FLAGS="-I /opt/local/share/aclocal"])
build_macos=yes
;;
@ -638,6 +638,16 @@ AC_ARG_ENABLE(dtls,
[dtls=false]
)
AC_ARG_ENABLE(g729bCN,
[AS_HELP_STRING([--enable-g729bCN], [Turn on or off usage of G729AnnexB in RFC3389 implementation of Comfort Noise Payload (default=no)])],
[case "${enableval}" in
yes) g729bCN=true ;;
no) g729bCN=false ;;
*) AC_MSG_ERROR(bad value ${enableval} for --enable-g729bCN) ;;
esac],
[g729bCN=false]
)
dnl build console if required
AM_CONDITIONAL(BUILD_CONSOLE, test x$console_ui = xtrue)

View file

@ -131,9 +131,9 @@ endif
endif
liblinphone_la_LIBADD= \
$(SIPSTACK_LIBS) \
$(MEDIASTREAMER_LIBS) \
$(ORTP_LIBS) $(OPENSSL_LIBS) \
$(ORTP_LIBS) \
$(SIPSTACK_LIBS) \
$(TUNNEL_LIBS) \
$(LIBSOUP_LIBS) \
$(SQLITE3_LIBS) \
@ -207,15 +207,13 @@ make_gitversion_h:
else \
$(ECHO) -n "" > $(builddir)/$(GITVERSION_FILE_TMP) ; \
fi ; \
else \
$(ECHO) -n "" > $(builddir)/$(GITVERSION_FILE_TMP) ; \
if ! test -f $(builddir)/$(GITVERSION_FILE) ; then \
cp -f $(builddir)/$(GITVERSION_FILE_TMP) $(builddir)/$(GITVERSION_FILE) ; \
fi ; \
if test "`cat $(builddir)/$(GITVERSION_FILE_TMP)`" != "`cat $(builddir)/$(GITVERSION_FILE)`" ; then \
cp -f $(builddir)/$(GITVERSION_FILE_TMP) $(builddir)/$(GITVERSION_FILE) ; \
fi ; \
rm -f $(builddir)/$(GITVERSION_FILE_TMP) ; \
fi
if ! test -f $(builddir)/$(GITVERSION_FILE) ; then \
cp -f $(builddir)/$(GITVERSION_FILE_TMP) $(builddir)/$(GITVERSION_FILE) ; \
fi
if test "`cat $(builddir)/$(GITVERSION_FILE_TMP)`" != "`cat $(builddir)/$(GITVERSION_FILE)`" ; then \
cp -f $(builddir)/$(GITVERSION_FILE_TMP) $(builddir)/$(GITVERSION_FILE) ; \
fi
rm -f $(builddir)/$(GITVERSION_FILE_TMP) ;
$(GITVERSION_FILE): make_gitversion_h

View file

@ -202,8 +202,8 @@ void TunnelManager::setMode(LinphoneTunnelMode mode) {
return;
}
ms_message("TunnelManager: switching mode from %s to %s",
tunnel_mode_to_string(mMode),
tunnel_mode_to_string(mode));
linphone_tunnel_mode_to_string(mMode),
linphone_tunnel_mode_to_string(mode));
switch(mode) {
case LinphoneTunnelModeEnable:
if(mState == disabled) {

View file

@ -200,7 +200,7 @@ static char * remove_quotes(char * input){
return input;
}
static int realm_match(const char *realm1, const char *realm2){
static bool_t realm_match(const char *realm1, const char *realm2){
if (realm1==NULL && realm2==NULL) return TRUE;
if (realm1!=NULL && realm2!=NULL){
if (strcmp(realm1,realm2)==0) return TRUE;
@ -226,7 +226,7 @@ static const LinphoneAuthInfo *find_auth_info(LinphoneCore *lc, const char *user
LinphoneAuthInfo *pinfo = (LinphoneAuthInfo*)elem->data;
if (username && pinfo->username && strcmp(username,pinfo->username)==0) {
if (realm && domain){
if (pinfo->realm && strcmp(realm,pinfo->realm)==0
if (pinfo->realm && realm_match(realm,pinfo->realm)
&& pinfo->domain && strcmp(domain,pinfo->domain)==0) {
return pinfo;
}
@ -238,9 +238,9 @@ static const LinphoneAuthInfo *find_auth_info(LinphoneCore *lc, const char *user
}
ret=pinfo;
}
} else if (domain && pinfo->domain && strcmp(domain,pinfo->domain)==0) {
} else if (domain && pinfo->domain && strcmp(domain,pinfo->domain)==0 && pinfo->ha1==NULL) {
return pinfo;
} else if (!domain) {
} else if (!domain && pinfo->ha1==NULL) {
return pinfo;
}
}
@ -271,6 +271,7 @@ const LinphoneAuthInfo *linphone_core_find_auth_info(LinphoneCore *lc, const cha
if (ai==NULL){
ai=find_auth_info(lc,username,NULL,NULL);
}
/*if (ai) ms_message("linphone_core_find_auth_info(): returning auth info username=%s, realm=%s", ai->username, ai->realm);*/
return ai;
}

View file

@ -1149,7 +1149,7 @@ void sal_enable_sip_update_method(Sal *ctx,bool_t value) {
ctx->enable_sip_update=value;
}
void sal_default_enable_sdp_removal(Sal *sal, bool_t enable) {
if (enable) ms_message("Enabling SDP removal feature by default for all new SalOp in Sal[%p]!", sal);
sal->default_sdp_removal = enable;
void sal_default_set_sdp_handling(Sal *sal, SalOpSDPHandling sdp_handling_method) {
if (sdp_handling_method != SalOpSDPNormal ) ms_message("Enabling special SDP handling for all new SalOp in Sal[%p]!", sal);
sal->default_sdp_handling = sdp_handling_method;
}

View file

@ -24,8 +24,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "belle-sip/belle-sip.h"
#include "belle-sip/belle-sdp.h"
struct Sal{
SalCallbacks callbacks;
MSList *pending_auths;/*MSList of SalOp */
@ -52,7 +50,7 @@ struct Sal{
bool_t enable_test_features;
bool_t no_initial_route;
bool_t enable_sip_update; /*true by default*/
bool_t default_sdp_removal;
SalOpSDPHandling default_sdp_handling;
};
typedef enum SalOpState {
@ -107,7 +105,7 @@ struct SalOp{
bool_t call_released;
bool_t manual_refresher;
bool_t has_auth_pending;
bool_t sdp_removal; /* do not add SDP in outgoing INVITE and remove it from incoming INVITE */
SalOpSDPHandling sdp_handling;
int auth_requests; /*number of auth requested for this op*/
};

View file

@ -94,7 +94,7 @@ static int set_sdp(belle_sip_message_t *msg,belle_sdp_session_description_t* ses
/* try to marshal the description. This could go higher than 2k so we iterate */
while( error != BELLE_SIP_OK && bufLen <= hardlimit && buff != NULL){
error = belle_sip_object_marshal(BELLE_SIP_OBJECT(session_desc),buff,bufLen,&length);
error = belle_sip_object_marshal(BELLE_SIP_OBJECT(session_desc),buff,bufLen,&length);
if( error != BELLE_SIP_OK ){
bufLen *= 2;
length = 0;
@ -217,7 +217,8 @@ static void call_process_response(void *op_base, const belle_sip_response_event_
dialog_state=dialog ? belle_sip_dialog_get_state(dialog) : BELLE_SIP_DIALOG_NULL;
method=belle_sip_request_get_method(req);
ms_message("Op [%p] receiving call response [%i], dialog is [%p] in state [%s]",op,code,dialog,belle_sip_dialog_state_to_string(dialog_state));
/*to make sure no cb will destroy op*/
sal_op_ref(op);
switch(dialog_state) {
case BELLE_SIP_DIALOG_NULL:
case BELLE_SIP_DIALOG_EARLY: {
@ -316,6 +317,7 @@ static void call_process_response(void *op_base, const belle_sip_response_event_
}
break;
}
sal_op_unref(op);
}
static void call_process_timeout(void *user_ctx, const belle_sip_timeout_event_t *event) {
@ -392,19 +394,23 @@ static int extract_sdp(SalOp *op, belle_sip_message_t* message,belle_sdp_session
const char *body;
belle_sip_header_content_type_t* content_type;
if (op&&op->sdp_removal){
ms_error("Removed willingly SDP because sal_call_enable_sdp_removal was set to TRUE.");
if (op&&op->sdp_handling == SalOpSDPSimulateError){
ms_error("Simulating SDP parsing error for op %p", op);
*session_desc=NULL;
*error=SalReasonNotAcceptable;
return -1;
} else if( op && op->sdp_handling == SalOpSDPSimulateRemove){
ms_error("Simulating no SDP for op %p", op);
*session_desc = NULL;
return 0;
}
body = belle_sip_message_get_body(message);
if(body == NULL) {
*session_desc = NULL;
return 0;
}
content_type = belle_sip_message_get_header_by_type(message,belle_sip_header_content_type_t);
if (content_type){
if (strcmp("application",belle_sip_header_content_type_get_type(content_type))==0
@ -735,8 +741,14 @@ static void handle_offer_answer_response(SalOp* op, belle_sip_response_t* respon
set_sdp_from_desc(BELLE_SIP_MESSAGE(response),op->base.local_media);
}else{
if (op->sdp_answer==NULL)
sdp_process(op);
if ( op->sdp_answer==NULL )
{
if( op->sdp_handling == SalOpSDPSimulateRemove ){
ms_warning("Simulating SDP removal in answer for op %p", op);
} else {
sdp_process(op);
}
}
if (op->sdp_answer){
set_sdp(BELLE_SIP_MESSAGE(response),op->sdp_answer);

View file

@ -25,7 +25,7 @@ SalOp * sal_op_new(Sal *sal){
op->type=SalOpUnknown;
op->privacy=SalPrivacyNone;
op->manual_refresher=FALSE;/*tells that requests with expiry (SUBSCRIBE, PUBLISH) will be automatically refreshed*/
op->sdp_removal=sal->default_sdp_removal;
op->sdp_handling=sal->default_sdp_handling;
sal_op_ref(op);
return op;
}
@ -799,7 +799,7 @@ void sal_op_stop_refreshing(SalOp *op){
}
}
void sal_call_enable_sdp_removal(SalOp *h, bool_t enable) {
if (enable) ms_message("Enabling SDP removal feature for SalOp[%p]!", h);
h->sdp_removal = enable;
void sal_call_set_sdp_handling(SalOp *h, SalOpSDPHandling handling) {
if (handling != SalOpSDPNormal) ms_message("Enabling special SDP handling for SalOp[%p]!", h);
h->sdp_handling = handling;
}

View file

@ -74,6 +74,7 @@ static void register_refresher_listener (belle_sip_refresher_t* refresher
int sal_register(SalOp *op, const char *proxy, const char *from, int expires){
belle_sip_request_t *req;
belle_sip_uri_t* req_uri;
belle_sip_header_t* accept_header;
if (op->refresher){
belle_sip_refresher_stop(op->refresher);
@ -92,6 +93,8 @@ int sal_register(SalOp *op, const char *proxy, const char *from, int expires){
time_t curtime=time(NULL);
belle_sip_message_add_header(BELLE_SIP_MESSAGE(req),BELLE_SIP_HEADER(belle_sip_header_date_create_from_time(&curtime)));
}
accept_header = belle_sip_header_create("Accept", "application/sdp, text/plain, application/vnd.gsma.rcs-ft-http+xml");
belle_sip_message_add_header(BELLE_SIP_MESSAGE(req), accept_header);
belle_sip_message_set_header(BELLE_SIP_MESSAGE(req),(belle_sip_header_t*)sal_op_create_contact(op));
return sal_op_send_and_create_refresher(op,req,expires,register_refresher_listener);
}

View file

@ -389,23 +389,6 @@ belle_sdp_session_description_t * media_description_to_sdp ( const SalMediaDescr
if (desc->ice_pwd[0] != '\0') belle_sdp_session_description_add_attribute(session_desc, belle_sdp_attribute_create("ice-pwd",desc->ice_pwd));
if (desc->ice_ufrag[0] != '\0') belle_sdp_session_description_add_attribute(session_desc, belle_sdp_attribute_create("ice-ufrag",desc->ice_ufrag));
/* insert DTLS session attribute if needed */
if ((desc->dtls_role != SalDtlsRoleInvalid) && (strlen(desc->dtls_fingerprint)>0)) {
switch(desc->dtls_role) {
case SalDtlsRoleIsClient:
belle_sdp_session_description_add_attribute(session_desc, belle_sdp_attribute_create("setup","active"));
break;
case SalDtlsRoleIsServer:
belle_sdp_session_description_add_attribute(session_desc, belle_sdp_attribute_create("setup","passive"));
break;
case SalDtlsRoleUnset:
default:
belle_sdp_session_description_add_attribute(session_desc, belle_sdp_attribute_create("setup","actpass"));
break;
}
belle_sdp_session_description_add_attribute(session_desc, belle_sdp_attribute_create("fingerprint",desc->dtls_fingerprint));
}
if (desc->rtcp_xr.enabled == TRUE) {
belle_sdp_session_description_add_attribute(session_desc, create_rtcp_xr_attribute(&desc->rtcp_xr));
}
@ -691,8 +674,6 @@ static SalStreamDescription * sdp_to_stream_description(SalMediaDescription *md,
stream=&md->streams[md->nb_streams];
media=belle_sdp_media_description_get_media ( media_desc );
memset ( stream,0,sizeof ( *stream ) );
proto = belle_sdp_media_get_protocol ( media );
stream->proto=SalProtoOther;
if ( proto ) {
@ -765,8 +746,6 @@ static SalStreamDescription * sdp_to_stream_description(SalMediaDescription *md,
}
/* Read DTLS specific attributes : check is some are found in the stream description otherwise copy the session description one(which are at least set to Invalid) */
stream->dtls_role = SalDtlsRoleInvalid;
stream->dtls_fingerprint[0] = '\0';
if (((stream->proto == SalProtoUdpTlsRtpSavpf) || (stream->proto == SalProtoUdpTlsRtpSavp))) {
attribute=belle_sdp_media_description_get_attribute(media_desc,"setup");
if (attribute && (value=belle_sdp_attribute_get_value(attribute))!=NULL){
@ -777,20 +756,9 @@ static SalStreamDescription * sdp_to_stream_description(SalMediaDescription *md,
} else if (strncmp(value, "passive", 7) == 0) {
stream->dtls_role = SalDtlsRoleIsServer;
}
if (stream->dtls_role != SalDtlsRoleInvalid || md->dtls_role != SalDtlsRoleInvalid) {
attribute=belle_sdp_media_description_get_attribute(media_desc,"fingerprint");
if (attribute && (value=belle_sdp_attribute_get_value(attribute))!=NULL){
strncpy(stream->dtls_fingerprint, value, sizeof(stream->dtls_fingerprint)-1);
} else {
/* no valid stream attributes, get them from session */
if (stream->dtls_role == SalDtlsRoleInvalid) stream->dtls_role = md->dtls_role;
strncpy(stream->dtls_fingerprint, md->dtls_fingerprint, strlen(md->dtls_fingerprint)+1);
}
}
} else { /* no setup attribute found in the stream, get the one from the session */
stream->dtls_role = md->dtls_role;
strncpy(stream->dtls_fingerprint, md->dtls_fingerprint, strlen(md->dtls_fingerprint)+1);
}
if (stream->dtls_role != SalDtlsRoleInvalid && (attribute=belle_sdp_media_description_get_attribute(media_desc,"fingerprint"))) {
strncpy(stream->dtls_fingerprint, belle_sdp_attribute_get_value(attribute),sizeof(stream->dtls_fingerprint));
}
}
@ -823,6 +791,8 @@ int sdp_to_media_description ( belle_sdp_session_description_t *session_desc, S
belle_sdp_media_description_t* media_desc;
belle_sdp_session_name_t *sname;
const char* value;
SalDtlsRole session_role=SalDtlsRoleInvalid;
int i;
desc->nb_streams = 0;
desc->dir = SalStreamSendRecv;
@ -849,25 +819,23 @@ int sdp_to_media_description ( belle_sdp_session_description_t *session_desc, S
desc->dir=SalStreamInactive;
}
/* Read dtls specific session attributes if any (setup and fingerprint - rfc5763) */
/* Presence of a valid dtls offer(setup and fingerprint attribute) is set in media Description by a dtls_fingerprint string longer than 0
* and a dtls_role != SalDtlsRoleInvalid */
desc->dtls_role = SalDtlsRoleInvalid;
desc->dtls_fingerprint[0] = '\0';
/*DTLS attributes can be defined at session level.*/
value=belle_sdp_session_description_get_attribute_value(session_desc,"setup");
if (value){
if (strncmp(value, "actpass", 7) == 0) {
desc->dtls_role = SalDtlsRoleUnset;
session_role = SalDtlsRoleUnset;
} else if (strncmp(value, "active", 6) == 0) {
desc->dtls_role = SalDtlsRoleIsClient;
session_role = SalDtlsRoleIsClient;
} else if (strncmp(value, "passive", 7) == 0) {
desc->dtls_role = SalDtlsRoleIsServer;
session_role = SalDtlsRoleIsServer;
}
}
value=belle_sdp_session_description_get_attribute_value(session_desc,"fingerprint");
if (value){
strncpy(desc->dtls_fingerprint, value, sizeof(desc->dtls_fingerprint)-1);
/*copy dtls attributes to every streams, might be overwritten stream by stream*/
for (i=0;i<SAL_MEDIA_DESCRIPTION_MAX_STREAMS;i++) {
if (value)
strncpy(desc->streams[i].dtls_fingerprint, value, sizeof(desc->streams[i].dtls_fingerprint));
desc->streams[i].dtls_role=session_role; /*set or reset value*/
}
/* Get ICE remote ufrag and remote pwd, and ice_lite flag */

View file

@ -76,7 +76,7 @@ void linphone_core_update_streams_destinations(LinphoneCore *lc, LinphoneCall *c
static void _clear_early_media_destinations(LinphoneCall *call, MediaStream *ms){
RtpSession *session=ms->sessions.rtp_session;
rtp_session_clear_aux_remote_addr(session);
if (!call->ice_session) rtp_session_set_symmetric_rtp(session,TRUE);/*restore symmetric rtp if ICE is not used*/
if (!call->ice_session) rtp_session_set_symmetric_rtp(session,linphone_core_symmetric_rtp_enabled(call->core));/*restore symmetric rtp if ICE is not used*/
}
static void clear_early_media_destinations(LinphoneCall *call){
@ -221,7 +221,7 @@ static bool_t is_duplicate_call(LinphoneCore *lc, const LinphoneAddress *from, c
static bool_t already_a_call_with_remote_address(const LinphoneCore *lc, const LinphoneAddress *remote) {
MSList *elem;
ms_warning(" searching for already_a_call_with_remote_address.");
ms_message("Searching for already_a_call_with_remote_address.");
for(elem=lc->calls;elem!=NULL;elem=elem->next){
const LinphoneCall *call=(LinphoneCall*)elem->data;
@ -494,6 +494,14 @@ static void call_accepted(SalOp *op){
break;
}
if( (call->prevstate == LinphoneCallOutgoingEarlyMedia) && (md == NULL || sal_media_description_empty(md)) ){
/* media description is null or empty because no SDP was received in the 200 OK, we can possibly use the early-media SDP. */
if( call->resultdesc != NULL){
ms_message("Using early media SDP since none were received with the 200 OK");
md = call->resultdesc;
}
}
if (md && !sal_media_description_empty(md) && !linphone_core_incompatible_security(lc,md)){
linphone_call_update_remote_session_id_and_ver(call);
if (sal_media_description_has_dir(md,SalStreamSendOnly) ||

View file

@ -281,7 +281,6 @@ static void linphone_chat_message_process_response_from_post_file(void *data, co
belle_http_request_listener_callbacks_t cbs={0};
belle_http_request_listener_t *l;
belle_generic_uri_t *uri;
belle_http_request_t *req;
belle_sip_multipart_body_handler_t *bh;
char* ua;
char *first_part_header;
@ -311,26 +310,24 @@ static void linphone_chat_message_process_response_from_post_file(void *data, co
/* create the http request: do not include the message header at this point, it is done by bellesip when setting the multipart body handler in the message */
ua = ms_strdup_printf("%s/%s", linphone_core_get_user_agent_name(), linphone_core_get_user_agent_version());
uri=belle_generic_uri_parse(linphone_core_get_file_transfer_server(msg->chat_room->lc));
req=belle_http_request_create("POST",
if (msg->http_request) belle_sip_object_unref(msg->http_request);
msg->http_request=belle_http_request_create("POST",
uri,
belle_sip_header_create("User-Agent",ua),
NULL);
belle_sip_object_ref(msg->http_request); /* keep a reference to the http request to be able to cancel it during upload */
ms_free(ua);
belle_sip_message_set_body_handler(BELLE_SIP_MESSAGE(req),BELLE_SIP_BODY_HANDLER(bh));
belle_sip_message_set_body_handler(BELLE_SIP_MESSAGE(msg->http_request),BELLE_SIP_BODY_HANDLER(bh));
cbs.process_response=linphone_chat_message_process_response_from_post_file;
cbs.process_io_error=process_io_error_upload;
cbs.process_auth_requested=process_auth_requested_upload;
l=belle_http_request_listener_create_from_callbacks(&cbs,msg);
msg->http_request=req; /* update the reference to the http request to be able to cancel it during upload */
belle_http_provider_send_request(msg->chat_room->lc->http_provider,req,l);
belle_http_provider_send_request(msg->chat_room->lc->http_provider,msg->http_request,l);
}
if (code == 200 ) { /* file has been uploaded correctly, get server reply and send it */
const char *body;
/* TODO Check that the transfer has not been cancelled, note this shall be removed once the belle sip API will provide a cancel request as we shall never reach this part if the transfer is actually cancelled */
if (msg->http_request == NULL) {
return;
}
body = belle_sip_message_get_body((belle_sip_message_t *)event->response);
const char *body = belle_sip_message_get_body((belle_sip_message_t *)event->response);
belle_sip_object_unref(msg->http_request);
msg->http_request = NULL;
msg->message = ms_strdup(body);
msg->content_type = ms_strdup("application/vnd.gsma.rcs-ft-http+xml");
if (msg->cb) {
@ -588,7 +585,6 @@ static void _linphone_chat_room_send_message(LinphoneChatRoom *cr, LinphoneChatM
belle_http_request_listener_callbacks_t cbs={0};
belle_http_request_listener_t *l;
belle_generic_uri_t *uri;
belle_http_request_t *req;
const char *transfer_server = linphone_core_get_file_transfer_server(cr->lc);
if (transfer_server == NULL) {
@ -597,17 +593,17 @@ static void _linphone_chat_room_send_message(LinphoneChatRoom *cr, LinphoneChatM
}
uri=belle_generic_uri_parse(transfer_server);
req=belle_http_request_create("POST",
msg->http_request=belle_http_request_create("POST",
uri,
NULL,
NULL,
NULL);
belle_sip_object_ref(msg->http_request); /* keep a reference on the request to be able to cancel it */
cbs.process_response=linphone_chat_message_process_response_from_post_file;
cbs.process_io_error=process_io_error_upload;
cbs.process_auth_requested=process_auth_requested_upload;
l=belle_http_request_listener_create_from_callbacks(&cbs,msg); /* give msg to listener to be able to start the actual file upload when server answer a 204 No content */
msg->http_request = req; /* keep a reference on the request to be able to cancel it */
belle_http_provider_send_request(cr->lc->http_provider,req,l);
belle_http_provider_send_request(cr->lc->http_provider,msg->http_request,l);
linphone_chat_message_unref(msg);
return;
}
@ -849,6 +845,10 @@ static void process_im_is_composing_notification(LinphoneChatRoom *cr, xmlparsin
cr->remote_is_composing = state;
linphone_core_notify_is_composing_received(cr->lc, cr);
linphone_free_xml_text_content(state_str);
}
if (refresh_str != NULL) {
linphone_free_xml_text_content(refresh_str);
}
}
@ -1216,10 +1216,7 @@ const LinphoneContent *linphone_chat_message_get_file_transfer_information(const
static void on_recv_body(belle_sip_user_body_handler_t *bh, belle_sip_message_t *msg, void *data, size_t offset, const uint8_t *buffer, size_t size){
LinphoneChatMessage* chatMsg=(LinphoneChatMessage *)data;
LinphoneCore *lc = chatMsg->chat_room->lc;
/* TODO: while belle sip doesn't implement the cancel http request method, test if a request is still linked to the message before forwarding the data to callback */
if (chatMsg->http_request == NULL) {
return;
}
if (linphone_chat_message_cbs_get_file_transfer_recv(chatMsg->callbacks)) {
LinphoneBuffer *lb = linphone_buffer_new_from_data(buffer, size);
linphone_chat_message_cbs_get_file_transfer_recv(chatMsg->callbacks)(chatMsg, chatMsg->file_transfer_information, lb);
@ -1228,7 +1225,6 @@ static void on_recv_body(belle_sip_user_body_handler_t *bh, belle_sip_message_t
/* Legacy: call back given by application level */
linphone_core_notify_file_transfer_recv(lc, chatMsg, chatMsg->file_transfer_information, (char *)buffer, size);
}
return;
}
@ -1323,17 +1319,16 @@ void linphone_chat_message_download_file(LinphoneChatMessage *message) {
belle_http_request_listener_callbacks_t cbs={0};
belle_http_request_listener_t *l;
belle_generic_uri_t *uri;
belle_http_request_t *req;
const char *url=message->external_body_url;
char* ua = ms_strdup_printf("%s/%s", linphone_core_get_user_agent_name(), linphone_core_get_user_agent_version());
uri=belle_generic_uri_parse(url);
req=belle_http_request_create("GET",
message->http_request=belle_http_request_create("GET",
uri,
belle_sip_header_create("User-Agent",ua),
NULL);
belle_sip_object_ref(message->http_request); /* keep a reference on the request to be able to cancel the download */
ms_free(ua);
cbs.process_response_headers=linphone_chat_process_response_headers_from_get_file;
@ -1341,10 +1336,9 @@ void linphone_chat_message_download_file(LinphoneChatMessage *message) {
cbs.process_io_error=process_io_error_download;
cbs.process_auth_requested=process_auth_requested_download;
l=belle_http_request_listener_create_from_callbacks(&cbs, (void *)message);
belle_sip_object_data_set(BELLE_SIP_OBJECT(req),"message",(void *)message,NULL);
message->http_request = req; /* keep a reference on the request to be able to cancel the download */
belle_sip_object_data_set(BELLE_SIP_OBJECT(message->http_request),"message",(void *)message,NULL);
message->state = LinphoneChatMessageStateInProgress; /* start the download, status is In Progress */
belle_http_provider_send_request(message->chat_room->lc->http_provider,req,l);
belle_http_provider_send_request(message->chat_room->lc->http_provider,message->http_request,l);
}
/**
@ -1365,15 +1359,17 @@ void linphone_chat_message_start_file_download(LinphoneChatMessage *message, Lin
* @param msg #LinphoneChatMessage
*/
void linphone_chat_message_cancel_file_transfer(LinphoneChatMessage *msg) {
ms_message("Cancelled file transfer %s - msg [%p] chat room[%p]", (msg->external_body_url==NULL)?linphone_core_get_file_transfer_server(msg->chat_room->lc):msg->external_body_url, msg, msg->chat_room);
/* TODO: here we shall call the cancel http request from bellesip API when it is available passing msg->http_request */
/* waiting for this API, just set to NULL the reference to the request in the message and any request */
msg->http_request = NULL;
if (msg->cb) {
msg->cb(msg, LinphoneChatMessageStateNotDelivered, msg->cb_ud);
}
if (linphone_chat_message_cbs_get_msg_state_changed(msg->callbacks)) {
linphone_chat_message_cbs_get_msg_state_changed(msg->callbacks)(msg, LinphoneChatMessageStateNotDelivered);
if (!belle_http_request_is_cancelled(msg->http_request)) {
ms_message("Cancelled file transfer %s - msg [%p] chat room[%p]", (msg->external_body_url==NULL)?linphone_core_get_file_transfer_server(msg->chat_room->lc):msg->external_body_url, msg, msg->chat_room);
belle_http_provider_cancel_request(msg->chat_room->lc->http_provider, msg->http_request);
belle_sip_object_unref(msg->http_request);
msg->http_request = NULL;
if (msg->cb) {
msg->cb(msg, LinphoneChatMessageStateNotDelivered, msg->cb_ud);
}
if (linphone_chat_message_cbs_get_msg_state_changed(msg->callbacks)) {
linphone_chat_message_cbs_get_msg_state_changed(msg->callbacks)(msg, LinphoneChatMessageStateNotDelivered);
}
}
}

View file

@ -33,6 +33,7 @@ static void linphone_content_destroy(LinphoneContent *content) {
}
static void linphone_content_clone(LinphoneContent *obj, const LinphoneContent *ref) {
obj->owned_fields = TRUE;
linphone_content_set_type(obj, linphone_content_get_type(ref));
linphone_content_set_subtype(obj, linphone_content_get_subtype(ref));
linphone_content_set_encoding(obj, linphone_content_get_encoding(ref));

View file

@ -27,7 +27,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
/**
* @addtogroup linphone_dict
* @addtogroup misc
* @{
**/

View file

@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#define LINPHONEEVENT_H
/**
* @addtogroup subscriptions
* @addtogroup event_api
* @{
**/

View file

@ -221,6 +221,12 @@ void text_received(LinphoneCore *lc, LinphoneChatRoom *room, const LinphoneAddre
*
**/
/**
* @defgroup event_api Managing generic subscriptions and publishes
* The LinphoneEvent api allows application to control subscriptions, receive notifications and make publish to peers, in a generic manner.
*/
/**
* @defgroup misc Miscenalleous: logs, version strings, config storage
**/

View file

@ -29,8 +29,6 @@
#include "private.h"
#include "lpconfig.h"
static const char *_tunnel_mode_str[3] = { "disable", "enable", "auto" };
LinphoneTunnel* linphone_core_get_tunnel(const LinphoneCore *lc){
return lc->tunnel;
}
@ -234,7 +232,7 @@ void linphone_tunnel_clean_servers(LinphoneTunnel *tunnel){
}
void linphone_tunnel_set_mode(LinphoneTunnel *tunnel, LinphoneTunnelMode mode){
lp_config_set_string(config(tunnel),"tunnel","mode", tunnel_mode_to_string(mode));
lp_config_set_string(config(tunnel),"tunnel","mode", linphone_tunnel_mode_to_string(mode));
bcTunnel(tunnel)->setMode(mode);
}
@ -336,31 +334,13 @@ static void my_ortp_logv(OrtpLogLevel level, const char *fmt, va_list args){
ortp_logv(level,fmt,args);
}
LinphoneTunnelMode string_to_tunnel_mode(const char *string) {
if(string != NULL) {
int i;
for(i=0; i<3 && strcmp(string, _tunnel_mode_str[i]) != 0; i++);
if(i<3) {
return (LinphoneTunnelMode)i;
} else {
ms_error("Invalid tunnel mode '%s'", string);
return LinphoneTunnelModeDisable;
}
} else {
return LinphoneTunnelModeDisable;
}
}
const char *tunnel_mode_to_string(LinphoneTunnelMode mode) {
return _tunnel_mode_str[mode];
}
/**
* Startup tunnel using configuration.
* Called internally from linphonecore at startup.
*/
void linphone_tunnel_configure(LinphoneTunnel *tunnel){
LinphoneTunnelMode mode = string_to_tunnel_mode(lp_config_get_string(config(tunnel), "tunnel", "mode", NULL));
LinphoneTunnelMode mode = linphone_tunnel_mode_from_string(lp_config_get_string(config(tunnel), "tunnel", "mode", NULL));
bool_t tunnelizeSIPPackets = (bool_t)lp_config_get_int(config(tunnel), "tunnel", "sip", TRUE);
linphone_tunnel_enable_logs_with_handler(tunnel,TRUE,my_ortp_logv);
linphone_tunnel_load_config(tunnel);

View file

@ -65,14 +65,14 @@ typedef enum _LinphoneTunnelMode {
* @return An LinphoneTunnelMode enum. If the passed string is NULL or
* does not match with any mode, the LinphoneTunnelModeDisable is returned.
*/
LINPHONE_PUBLIC LinphoneTunnelMode string_to_tunnel_mode(const char *string);
LINPHONE_PUBLIC LinphoneTunnelMode linphone_tunnel_mode_from_string(const char *string);
/**
* Convert a tunnel mode enum into string
* @param mode Enum to convert
* @return "disable", "enable" or "auto"
*/
LINPHONE_PUBLIC const char *tunnel_mode_to_string(LinphoneTunnelMode mode);
LINPHONE_PUBLIC const char *linphone_tunnel_mode_to_string(LinphoneTunnelMode mode);
/**
* Create a new tunnel configuration

View file

@ -356,9 +356,8 @@ typedef struct _CodecConstraints{
MSList *previously_used;
}CodecConstraints;
static MSList *make_codec_list(LinphoneCore *lc, CodecConstraints * hints, const MSList *codecs){
static MSList *make_codec_list(LinphoneCore *lc, CodecConstraints * hints, SalStreamType stype, const MSList *codecs){
MSList *l=NULL;
MSList *specials=NULL;
const MSList *it;
int nb = 0;
@ -389,8 +388,10 @@ static MSList *make_codec_list(LinphoneCore *lc, CodecConstraints * hints, const
nb++;
if ((hints->max_codecs > 0) && (nb >= hints->max_codecs)) break;
}
specials=create_special_payload_types(lc,l);
l=ms_list_concat(l,specials);
if (stype==SalAudio){
MSList *specials=create_special_payload_types(lc,l);
l=ms_list_concat(l,specials);
}
linphone_core_assign_payload_type_numbers(lc, l);
return l;
}
@ -438,7 +439,22 @@ static int setup_encryption_key(SalSrtpCryptoAlgo *crypto, MSCryptoSuite suite,
}
return 0;
}
static void setup_dtls_keys(LinphoneCall *call, SalMediaDescription *md){
int i;
for(i=0; i<md->nb_streams; i++) {
if (!sal_stream_description_active(&md->streams[i])) continue;
/* if media encryption is set to DTLS check presence of fingerprint in the call which shall have been set at stream init but it may have failed when retrieving certificate resulting in no fingerprint present and then DTLS not usable */
if (sal_stream_description_has_dtls(&md->streams[i]) == TRUE) {
strncpy(md->streams[i].dtls_fingerprint, call->dtls_certificate_fingerprint, sizeof(md->streams[i].dtls_fingerprint)); /* get the self fingerprint from call(it's computed at stream init) */
md->streams[i].dtls_role = SalDtlsRoleUnset; /* if we are offering, SDP will have actpass setup attribute when role is unset, if we are responding the result mediadescription will be set to SalDtlsRoleIsClient */
} else {
md->streams[i].dtls_fingerprint[0] = '\0';
md->streams[i].dtls_role = SalDtlsRoleInvalid;
}
}
}
static void setup_encryption_keys(LinphoneCall *call, SalMediaDescription *md){
LinphoneCore *lc=call->core;
int i,j;
@ -540,14 +556,11 @@ static void transfer_already_assigned_payload_types(SalMediaDescription *old, Sa
static const char *linphone_call_get_bind_ip_for_stream(LinphoneCall *call, int stream_index){
const char *bind_ip=call->af==AF_INET6 ? "::0" : "0.0.0.0";
if (stream_index<2 && call->media_ports[stream_index].multicast_ip[0]!='\0'){
if (call->dir==LinphoneCallOutgoing){
/*as multicast sender, we must decide a local interface to use to send multicast, and bind to it*/
/*as multicast sender, we must decide a local interface to use to send multicast, and bind to it*/
bind_ip=call->localip;
}else{
/*as receiver, just bind to the multicast address*/
bind_ip=call->media_ports[stream_index].multicast_ip;
}
}
return bind_ip;
@ -621,7 +634,7 @@ void linphone_call_make_local_media_description(LinphoneCore *lc, LinphoneCall *
codec_hints.bandwidth_limit=call->params->audio_bw;
codec_hints.max_codecs=-1;
codec_hints.previously_used=old_md ? old_md->streams[0].already_assigned_payloads : NULL;
l=make_codec_list(lc, &codec_hints, lc->codecs_conf.audio_codecs);
l=make_codec_list(lc, &codec_hints, SalAudio, lc->codecs_conf.audio_codecs);
md->streams[0].max_rate=get_max_codec_sample_rate(l);
md->streams[0].payloads=l;
if (call->audiostream && call->audiostream->ms.sessions.rtp_session) {
@ -646,7 +659,7 @@ void linphone_call_make_local_media_description(LinphoneCore *lc, LinphoneCall *
codec_hints.bandwidth_limit=0;
codec_hints.max_codecs=-1;
codec_hints.previously_used=old_md ? old_md->streams[1].already_assigned_payloads : NULL;
l=make_codec_list(lc, &codec_hints, lc->codecs_conf.video_codecs);
l=make_codec_list(lc, &codec_hints, SalVideo, lc->codecs_conf.video_codecs);
md->streams[1].payloads=l;
if (call->videostream && call->videostream->ms.sessions.rtp_session) {
char* me = linphone_address_as_string_uri_only(call->me);
@ -672,19 +685,11 @@ void linphone_call_make_local_media_description(LinphoneCore *lc, LinphoneCall *
codec_hints.bandwidth_limit=0;
codec_hints.max_codecs=1;
codec_hints.previously_used=NULL;
l = make_codec_list(lc, &codec_hints, lc->codecs_conf.video_codecs);
l = make_codec_list(lc, &codec_hints, SalVideo, lc->codecs_conf.video_codecs);
md->streams[i].payloads = l;
}
setup_encryption_keys(call,md);
/* if media encryption is set to DTLS check presence of fingerprint in the call which shall have been set at stream init but it may have failed when retrieving certificate resulting in no fingerprint present and then DTLS not usable */
if ((call->params->media_encryption==LinphoneMediaEncryptionDTLS) && (call->dtls_certificate_fingerprint!= NULL)) {
memcpy(md->dtls_fingerprint, call->dtls_certificate_fingerprint, strlen((const char *)(call->dtls_certificate_fingerprint))); /* get the self fingerprint from call(it's computed at stream init) */
md->dtls_role = SalDtlsRoleUnset; /* if we are offering, SDP will have actpass setup attribute when role is unset, if we are responding the result mediadescription will be set to SalDtlsRoleIsClient */
} else {
md->dtls_fingerprint[0] = '\0';
md->dtls_role = SalDtlsRoleInvalid;
}
setup_dtls_keys(call,md);
setup_rtcp_fb(call, md);
setup_rtcp_xr(call, md);
@ -996,8 +1001,8 @@ void linphone_call_set_compatible_incoming_call_parameters(LinphoneCall *call, c
if (md->streams[i].rtp_addr[i]!='\0' && ms_is_multicast(md->streams[i].rtp_addr)) {
strncpy(call->media_ports[i].multicast_ip,md->streams[i].rtp_addr,sizeof(call->media_ports[i].multicast_ip));
ms_message("Disabling rtcp on call [%p], stream [%i] because of multicast",call,i);
call->media_ports[i].rtp_port=md->streams[i].rtp_port;
call->media_ports[i].rtcp_port=0;
call->media_ports[i].mcast_rtp_port=md->streams[i].rtp_port;
call->media_ports[i].mcast_rtcp_port=0;
}
}
}
@ -1788,7 +1793,6 @@ static void _linphone_call_prepare_ice_for_stream(LinphoneCall *call, int stream
if ((linphone_core_get_firewall_policy(call->core) == LinphonePolicyUseIce) && (call->ice_session != NULL)){
IceCheckList *cl;
rtp_session_set_pktinfo(ms->sessions.rtp_session, TRUE);
rtp_session_set_symmetric_rtp(ms->sessions.rtp_session, FALSE);
cl=ice_session_check_list(call->ice_session, stream_index);
if (cl == NULL && create_checklist) {
cl=ice_check_list_new();
@ -1837,7 +1841,12 @@ int linphone_call_prepare_ice(LinphoneCall *call, bool_t incoming_offer){
return 0;
}
/*eventually join to a multicast group if told to do so*/
static void linphone_call_join_multicast_group(LinphoneCall *call, int stream_index, MediaStream *ms){
if (call->media_ports[stream_index].multicast_ip[stream_index]!='\0' && call->media_ports[stream_index].mcast_rtp_port!=0){
media_stream_join_multicast_group(ms, call->media_ports[stream_index].multicast_ip);
}
}
void linphone_call_init_audio_stream(LinphoneCall *call){
LinphoneCore *lc=call->core;
@ -1852,7 +1861,10 @@ void linphone_call_init_audio_stream(LinphoneCall *call){
if (call->audiostream != NULL) return;
if (call->sessions[0].rtp_session==NULL){
call->audiostream=audiostream=audio_stream_new2(linphone_call_get_bind_ip_for_stream(call,0),
call->media_ports[0].rtp_port, call->media_ports[0].rtcp_port);
call->media_ports[0].mcast_rtp_port ? call->media_ports[0].mcast_rtp_port : call->media_ports[0].rtp_port,
call->media_ports[0].mcast_rtcp_port ? call->media_ports[0].mcast_rtcp_port : call->media_ports[0].rtcp_port);
linphone_call_join_multicast_group(call, 0, &audiostream->ms);
rtp_session_enable_network_simulation(call->audiostream->ms.sessions.rtp_session, &lc->net_conf.netsim_params);
cname = linphone_address_as_string_uri_only(call->me);
audio_stream_set_rtcp_information(call->audiostream, cname, rtcp_tool);
ms_free(cname);
@ -1958,7 +1970,10 @@ void linphone_call_init_video_stream(LinphoneCall *call){
if (call->sessions[1].rtp_session==NULL){
call->videostream=video_stream_new2(linphone_call_get_bind_ip_for_stream(call,1),
call->media_ports[1].rtp_port,call->media_ports[1].rtcp_port);
call->media_ports[1].mcast_rtp_port>0 ? call->media_ports[1].mcast_rtp_port : call->media_ports[1].rtp_port,
call->media_ports[1].mcast_rtcp_port>0 ? call->media_ports[1].mcast_rtcp_port : call->media_ports[1].rtcp_port);
linphone_call_join_multicast_group(call, 1, &call->videostream->ms);
rtp_session_enable_network_simulation(call->videostream->ms.sessions.rtp_session, &lc->net_conf.netsim_params);
cname = linphone_address_as_string_uri_only(call->me);
video_stream_set_rtcp_information(call->videostream, cname, rtcp_tool);
ms_free(cname);
@ -2306,6 +2321,64 @@ static void configure_rtp_session_for_rtcp_xr(LinphoneCore *lc, LinphoneCall *ca
}
rtp_session_configure_rtcp_xr(session, &currentconfig);
}
void static start_dtls( MSMediaStreamSessions *sessions, const SalStreamDescription *sd,const SalStreamDescription *remote) {
if (sal_stream_description_has_dtls(sd) == TRUE) {
/*DTLS*/
SalDtlsRole salRole = sd->dtls_role;
if (salRole!=SalDtlsRoleInvalid) { /* if DTLS is available at both end points */
/* give the peer certificate fingerprint to dtls context */
ms_dtls_srtp_set_peer_fingerprint(sessions->dtls_context, remote->dtls_fingerprint);
ms_dtls_srtp_set_role(sessions->dtls_context, (salRole == SalDtlsRoleIsClient)?MSDtlsSrtpRoleIsClient:MSDtlsSrtpRoleIsServer); /* set the role to client */
ms_dtls_srtp_start(sessions->dtls_context); /* then start the engine, it will send the DTLS client Hello */
} else {
ms_warning("unable to start DTLS engine on stream session [%p], Dtls role in resulting media description is invalid",sessions);
}
}
}
void static start_dtls_on_all_streams(LinphoneCall *call) {
SalMediaDescription *remote_desc = sal_call_get_remote_media_description(call->op);
SalMediaDescription *result_desc = sal_call_get_final_media_description(call->op);
if (call->audiostream && (media_stream_get_state((const MediaStream *)call->audiostream) == MSStreamStarted))/*dtls must start at the end of ice*/
start_dtls(&call->audiostream->ms.sessions
,sal_media_description_find_best_stream(result_desc,SalAudio)
,sal_media_description_find_best_stream(remote_desc,SalAudio));
#if VIDEO_ENABLED
if (call->videostream && (media_stream_get_state((const MediaStream *)call->videostream) == MSStreamStarted))/*dtls must start at the end of ice*/
start_dtls(&call->videostream->ms.sessions
,sal_media_description_find_best_stream(result_desc,SalVideo)
,sal_media_description_find_best_stream(remote_desc,SalVideo));
#endif
return;
}
void static set_dtls_fingerprint( MSMediaStreamSessions *sessions, const SalStreamDescription *sd,const SalStreamDescription *remote) {
if (sal_stream_description_has_dtls(sd) == TRUE) {
/*DTLS*/
SalDtlsRole salRole = sd->dtls_role;
if (salRole!=SalDtlsRoleInvalid) { /* if DTLS is available at both end points */
/* give the peer certificate fingerprint to dtls context */
ms_dtls_srtp_set_peer_fingerprint(sessions->dtls_context, remote->dtls_fingerprint);
} else {
ms_warning("unable to start DTLS engine on stream session [%p], Dtls role in resulting media description is invalid",sessions);
}
}
}
void static set_dtls_fingerprint_on_all_streams(LinphoneCall *call) {
SalMediaDescription *remote_desc = sal_call_get_remote_media_description(call->op);
SalMediaDescription *result_desc = sal_call_get_final_media_description(call->op);
if (call->audiostream && (media_stream_get_state((const MediaStream *)call->audiostream) == MSStreamStarted))/*dtls must start at the end of ice*/
set_dtls_fingerprint(&call->audiostream->ms.sessions
,sal_media_description_find_best_stream(result_desc,SalAudio)
,sal_media_description_find_best_stream(remote_desc,SalAudio));
#if VIDEO_ENABLED
if (call->videostream && (media_stream_get_state((const MediaStream *)call->videostream) == MSStreamStarted))/*dtls must start at the end of ice*/
set_dtls_fingerprint(&call->videostream->ms.sessions
,sal_media_description_find_best_stream(result_desc,SalVideo)
,sal_media_description_find_best_stream(remote_desc,SalVideo));
#endif
return;
}
static void linphone_call_start_audio_stream(LinphoneCall *call, bool_t muted, bool_t send_ringbacktone, bool_t use_arc){
LinphoneCore *lc=call->core;
@ -2605,6 +2678,7 @@ void linphone_call_start_media_streams(LinphoneCall *call, bool_t all_inputs_mut
call->playing_ringbacktone=send_ringbacktone;
call->up_bw=linphone_core_get_upload_bandwidth(lc);
/*might be moved in audio/video stream_start*/
if (call->params->media_encryption==LinphoneMediaEncryptionZRTP) {
MSZrtpParams params;
memset(&params,0,sizeof(MSZrtpParams));
@ -2618,58 +2692,18 @@ void linphone_call_start_media_streams(LinphoneCall *call, bool_t all_inputs_mut
video_stream_enable_zrtp(call->videostream,call->audiostream,&params);
}
#endif
} else if (call->params->media_encryption==LinphoneMediaEncryptionDTLS) {
/* DTLS engine was already initialised during stream init. Before starting it we must be sure that the role(client or server) is set.
* Role may have already been set to server if we initiate the call and already received a packet from peer, in that case do nothing */
SalDtlsRole salRole = call->resultdesc->streams[0].dtls_role; /* TODO: is streams[0] necessary the audiostream in the media description ? */
if (salRole==SalDtlsRoleInvalid) { /* it's invalid in streams[0] but check also at session level */
salRole = call->resultdesc->dtls_role;
}
if (salRole!=SalDtlsRoleInvalid) { /* if DTLS is available at both end points */
/* give the peer certificate fingerprint to dtls context */
SalMediaDescription *remote_desc = sal_call_get_remote_media_description(call->op);
ms_dtls_srtp_set_peer_fingerprint(call->audiostream->ms.sessions.dtls_context, remote_desc->streams[0].dtls_fingerprint);
} else {
ms_warning("unable to start DTLS engine on audiostream, Dtls role in resulting media description is invalid\n");
}
if (salRole == SalDtlsRoleIsClient) { /* local endpoint is client */
ms_dtls_srtp_set_role(call->audiostream->ms.sessions.dtls_context, MSDtlsSrtpRoleIsClient); /* set the role to client */
ms_dtls_srtp_start(call->audiostream->ms.sessions.dtls_context); /* then start the engine, it will send the DTLS client Hello */
} else if (salRole == SalDtlsRoleIsServer) { /* local endpoint is server */
ms_dtls_srtp_set_role(call->audiostream->ms.sessions.dtls_context, MSDtlsSrtpRoleIsServer); /* this may complete the server setup */
/* no need to start engine, we are waiting for DTLS Client Hello */
}
#ifdef VIDEO_ENABLED
salRole = call->resultdesc->streams[1].dtls_role; /* TODO: is streams[1] necessary the videostream in the media description ? */
if (salRole==SalDtlsRoleInvalid) { /* it's invalid in streams[0] but check also at session level */
salRole = call->resultdesc->dtls_role;
}
if (salRole!=SalDtlsRoleInvalid) { /* if DTLS is available at both end points */
/* give the peer certificate fingerprint to dtls context */
SalMediaDescription *remote_desc = sal_call_get_remote_media_description(call->op);
ms_dtls_srtp_set_peer_fingerprint(call->videostream->ms.sessions.dtls_context, remote_desc->streams[1].dtls_fingerprint);
} else {
ms_warning("unable to start DTLS engine on videostream, Dtls role in resulting media description is invalid\n");
}
if (salRole == SalDtlsRoleIsClient) { /* local endpoint is client */
ms_dtls_srtp_set_role(call->videostream->ms.sessions.dtls_context, MSDtlsSrtpRoleIsClient); /* set the role to client */
ms_dtls_srtp_start(call->videostream->ms.sessions.dtls_context); /* then start the engine, it will send the DTLS client Hello */
} else if (salRole == SalDtlsRoleIsServer) { /* local endpoint is server */
ms_dtls_srtp_set_role(call->videostream->ms.sessions.dtls_context, MSDtlsSrtpRoleIsServer); /* this may complete the server setup */
/* no need to start engine, we are waiting for DTLS Client Hello */
}
#endif
} else {
}else if (call->params->media_encryption==LinphoneMediaEncryptionSRTP){
call->current_params->media_encryption=linphone_call_all_streams_encrypted(call) ?
LinphoneMediaEncryptionSRTP : LinphoneMediaEncryptionNone;
}
set_dtls_fingerprint_on_all_streams(call);
if ((call->ice_session != NULL) && (ice_session_state(call->ice_session) != IS_Completed)) {
ice_session_start_connectivity_checks(call->ice_session);
} else {
/*should not start dtls until ice is completed*/
start_dtls_on_all_streams(call);
}
}
@ -2710,6 +2744,8 @@ void linphone_call_update_crypto_parameters(LinphoneCall *call, SalMediaDescript
update_stream_crypto_params(call,local_st_desc,old_stream,new_stream,&call->audiostream->ms)){
}
start_dtls_on_all_streams(call);
#ifdef VIDEO_ENABLED
local_st_desc = sal_media_description_find_secure_stream_of_type(call->localdesc, SalVideo);
old_stream = sal_media_description_find_secure_stream_of_type(old_md, SalVideo);
@ -3248,6 +3284,7 @@ static void change_ice_media_destinations(LinphoneCall *call) {
result = ice_check_list_selected_valid_remote_candidate(ice_session_check_list(call->ice_session, 0), &rtp_addr, &rtp_port, &rtcp_addr, &rtcp_port);
if (result == TRUE) {
ms_message("Change audio stream destination: RTP=%s:%d RTCP=%s:%d", rtp_addr, rtp_port, rtcp_addr, rtcp_port);
rtp_session_set_symmetric_rtp(call->audiostream->ms.sessions.rtp_session, FALSE);
rtp_session_set_remote_addr_full(call->audiostream->ms.sessions.rtp_session, rtp_addr, rtp_port, rtcp_addr, rtcp_port);
}
}
@ -3256,6 +3293,7 @@ static void change_ice_media_destinations(LinphoneCall *call) {
result = ice_check_list_selected_valid_remote_candidate(ice_session_check_list(call->ice_session, 1), &rtp_addr, &rtp_port, &rtcp_addr, &rtcp_port);
if (result == TRUE) {
ms_message("Change video stream destination: RTP=%s:%d RTCP=%s:%d", rtp_addr, rtp_port, rtcp_addr, rtcp_port);
rtp_session_set_symmetric_rtp(call->videostream->ms.sessions.rtp_session, FALSE);
rtp_session_set_remote_addr_full(call->videostream->ms.sessions.rtp_session, rtp_addr, rtp_port, rtcp_addr, rtcp_port);
}
}
@ -3269,17 +3307,27 @@ static void handle_ice_events(LinphoneCall *call, OrtpEvent *ev){
if (evt == ORTP_EVENT_ICE_SESSION_PROCESSING_FINISHED) {
LinphoneCallParams *params = linphone_call_params_copy(call->current_params);
if (call->params->media_encryption == LinphoneMediaEncryptionZRTP) {
/* preserve media encryption param because at that time ZRTP negociation may still be ongoing*/
switch (call->params->media_encryption) {
case LinphoneMediaEncryptionZRTP:
case LinphoneMediaEncryptionDTLS:
/* preserve media encryption param because at that time ZRTP/SRTP-DTLS negociation may still be ongoing*/
params->media_encryption=call->params->media_encryption;
break;
case LinphoneMediaEncryptionSRTP:
case LinphoneMediaEncryptionNone:
/*keep all values to make sure a warning will be generated by compiler if new enum value is added*/
break;
}
switch (ice_session_state(call->ice_session)) {
case IS_Completed:
ice_session_select_candidates(call->ice_session);
if (ice_session_role(call->ice_session) == IR_Controlling) {
if (ice_session_role(call->ice_session) == IR_Controlling
&& lp_config_get_int(call->core->config, "sip", "update_call_when_ice_completed", TRUE)) {
linphone_core_update_call(call->core, call, params);
}
change_ice_media_destinations(call);
start_dtls_on_all_streams(call);
break;
case IS_Failed:
if (ice_session_has_completed_check_list(call->ice_session) == TRUE) {

View file

@ -1484,11 +1484,7 @@ static void misc_config_read(LinphoneCore *lc) {
}else if (strcmp(uuid,"0")!=0) /*to allow to disable sip.instance*/
sal_set_uuid(lc->sal, uuid);
/* DTLS: if media_encryption DTLS SRTP is available, get or create the certificate directory */
/*if (ms_dtls_srtp_available()){
*//*JOHAN: USELESS? REMOVE IT*/
//const char *user_certificate_config_path = lp_config_get_string(config,"misc","uuid",);
// }*/
lc->user_certificates_path=ms_strdup(lp_config_get_string(config,"misc","user_certificates_path","."));
}
static void linphone_core_start(LinphoneCore * lc) {
@ -1617,6 +1613,7 @@ static void linphone_core_init(LinphoneCore * lc, const LinphoneCoreVTable *vtab
lc->data=userdata;
lc->ringstream_autorelease=TRUE;
memcpy(local_vtable,vtable,sizeof(LinphoneCoreVTable));
lc->vtables=ms_list_append(lc->vtables,local_vtable);
@ -5750,6 +5747,10 @@ void linphone_core_set_use_files(LinphoneCore *lc, bool_t yesno){
lc->use_files=yesno;
}
const char * linphone_core_get_play_file(const LinphoneCore *lc) {
return lc->play_file;
}
/**
* Sets a wav file to be played when putting somebody on hold,
* or when files are used instead of soundcards (see linphone_core_set_use_files()).
@ -5772,6 +5773,9 @@ void linphone_core_set_play_file(LinphoneCore *lc, const char *file){
}
}
const char * linphone_core_get_record_file(const LinphoneCore *lc) {
return lc->rec_file;
}
/**
* Sets a wav file where incoming stream is to be recorded,
@ -6760,10 +6764,11 @@ const char *linphone_core_get_zrtp_secrets_file(LinphoneCore *lc){
}
void linphone_core_set_user_certificates_path(LinphoneCore *lc, const char* path){
if (lc->user_certificates_path != NULL) {
ms_free(lc->user_certificates_path);
}
lc->user_certificates_path = path ? ms_strdup(path) : NULL;
char* new_value;
new_value = path?ms_strdup(path):NULL;
if (lc->user_certificates_path) ms_free(lc->user_certificates_path);
lp_config_set_string(lc->config,"misc","user_certificates_path",lc->user_certificates_path=new_value);
return ;
}
const char *linphone_core_get_user_certificates_path(LinphoneCore *lc){

View file

@ -676,7 +676,14 @@ LINPHONE_PUBLIC void *linphone_call_get_user_data(const LinphoneCall *call);
**/
LINPHONE_PUBLIC void linphone_call_set_user_data(LinphoneCall *call, void *ud);
/**
* Get the core that has created the specified call.
* @param[in] call LinphoneCall object
* @return The LinphoneCore object that has created the specified call.
* @ingroup call_control
*/
LINPHONE_PUBLIC LinphoneCore *linphone_call_get_core(const LinphoneCall *call);
LINPHONE_PUBLIC LinphoneCallState linphone_call_get_state(const LinphoneCall *call);
LINPHONE_PUBLIC bool_t linphone_call_asked_to_autoanswer(LinphoneCall *call);
@ -3006,7 +3013,32 @@ void linphone_core_show_video(LinphoneCore *lc, bool_t show);
#define linphone_core_use_files(lc, yesno) linphone_core_set_use_files(lc, yesno)
/*play/record support: use files instead of soundcard*/
LINPHONE_PUBLIC void linphone_core_set_use_files(LinphoneCore *lc, bool_t yesno);
/**
* Get the wav file that is played when putting somebody on hold,
* or when files are used instead of soundcards (see linphone_core_set_use_files()).
*
* The file is a 16 bit linear wav file.
* @ingroup media_parameters
* @param[in] lc LinphoneCore object
* @return The path to the file that is played when putting somebody on hold.
*/
LINPHONE_PUBLIC const char * linphone_core_get_play_file(const LinphoneCore *lc);
LINPHONE_PUBLIC void linphone_core_set_play_file(LinphoneCore *lc, const char *file);
/**
* Get the wav file where incoming stream is recorded,
* when files are used instead of soundcards (see linphone_core_set_use_files()).
*
* This feature is different from call recording (linphone_call_params_set_record_file())
* The file is a 16 bit linear wav file.
* @ingroup media_parameters
* @param[in] lc LinphoneCore object
* @return The path to the file where incoming stream is recorded.
**/
LINPHONE_PUBLIC const char * linphone_core_get_record_file(const LinphoneCore *lc);
LINPHONE_PUBLIC void linphone_core_set_record_file(LinphoneCore *lc, const char *file);
LINPHONE_PUBLIC void linphone_core_play_dtmf(LinphoneCore *lc, char dtmf, int duration_ms);
@ -3449,6 +3481,27 @@ LINPHONE_PUBLIC void linphone_core_enable_video_multicast(LinphoneCore *core, bo
**/
LINPHONE_PUBLIC bool_t linphone_core_video_multicast_enabled(const LinphoneCore *core);
/**
* Set the network simulator parameters.
* Liblinphone has the capabability of simulating the effects of a network (latency, lost packets, jitter, max bandwidth).
* Please refer to the oRTP documentation for the meaning of the parameters of the OrtpNetworkSimulatorParams structure.
* This function has effect for future calls, but not for currently running calls, though this behavior may be changed in future versions.
* @warning Due to design of network simulation in oRTP, simulation is applied independently for audio and video stream. This means for example that a bandwidth
* limit of 250kbit/s will have no effect on an audio stream running at 40kbit/s while a videostream targetting 400kbit/s will be highly affected.
* @param lc the LinphoneCore
* @param params the parameters used for the network simulation.
* @return 0 if successful, -1 otherwise.
**/
LINPHONE_PUBLIC int linphone_core_set_network_simulator_params(LinphoneCore *lc, const OrtpNetworkSimulatorParams *params);
/**
* Get the previously set network simulation parameters.
* @see linphone_core_set_network_simulator_params
* @return a OrtpNetworkSimulatorParams structure.
**/
LINPHONE_PUBLIC const OrtpNetworkSimulatorParams *linphone_core_get_network_simulator_params(const LinphoneCore *lc);
#ifdef __cplusplus
}
#endif

View file

@ -1160,10 +1160,23 @@ extern "C" jlong Java_org_linphone_core_LinphoneCoreImpl_newLinphoneCore(JNIEnv*
if (factoryConfig) env->ReleaseStringUTFChars(jfactoryConfig, factoryConfig);
return nativePtr;
}
extern "C" void Java_org_linphone_core_LinphoneCoreImpl_delete(JNIEnv* env, jobject thiz, jlong lc) {
jobject core = (jobject)linphone_core_get_user_data((LinphoneCore*)lc);
linphone_core_destroy((LinphoneCore*)lc);
extern "C" void Java_org_linphone_core_LinphoneCoreImpl_delete(JNIEnv* env, jobject thiz, jlong native_ptr) {
LinphoneCore *lc=(LinphoneCore*)native_ptr;
jobject core = (jobject)linphone_core_get_user_data(lc);
jobject multicast_lock = lc->multicast_lock;
jobject multicast_lock_class = lc->multicast_lock_class;
jobject wifi_lock = lc->wifi_lock;
jobject wifi_lock_class = lc->wifi_lock_class;
linphone_core_destroy(lc);
ms_exit();
if (wifi_lock) env->DeleteGlobalRef(wifi_lock);
if (wifi_lock_class) env->DeleteGlobalRef(wifi_lock_class);
if (multicast_lock) env->DeleteGlobalRef(multicast_lock);
if (multicast_lock_class) env->DeleteGlobalRef(multicast_lock_class);
if (core) {
env->DeleteGlobalRef(core);
}
@ -1200,6 +1213,10 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_uploadLogCollection(JNIE
linphone_core_upload_log_collection(core);
}
extern "C" void Java_org_linphone_core_LinphoneCoreImpl_resetLogCollection(JNIEnv* env, jobject thiz) {
linphone_core_reset_log_collection();
}
extern "C" jint Java_org_linphone_core_LinphoneCoreImpl_migrateToMultiTransport(JNIEnv* env
,jobject thiz
,jlong lc) {
@ -1603,6 +1620,7 @@ extern "C" jlong Java_org_linphone_core_LinphoneCoreImpl_findPayloadType(JNIEnv*
env->ReleaseStringUTFChars(jmime, mime);
return result;
}
extern "C" jlongArray Java_org_linphone_core_LinphoneCoreImpl_listVideoPayloadTypes(JNIEnv* env
,jobject thiz
,jlong lc) {
@ -1675,6 +1693,21 @@ extern "C" jint Java_org_linphone_core_LinphoneCoreImpl_getPayloadTypeBitrate(JN
return (jint)linphone_core_get_payload_type_bitrate((LinphoneCore*)lc,(PayloadType*)pt);
}
extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setPayloadTypeNumber(JNIEnv* env
,jobject thiz
,jlong lc
,jlong pt
,jint number) {
linphone_core_set_payload_type_number((LinphoneCore*)lc,(PayloadType*)pt,number);
}
extern "C" jint Java_org_linphone_core_LinphoneCoreImpl_getPayloadTypeNumber(JNIEnv* env
,jobject thiz
,jlong lc
,jlong pt) {
return (jint)linphone_core_get_payload_type_number((LinphoneCore*)lc,(PayloadType*)pt);
}
extern "C" void Java_org_linphone_core_LinphoneCoreImpl_enableAdaptiveRateControl(JNIEnv* env
,jobject thiz
,jlong lc
@ -2747,6 +2780,12 @@ extern "C" jlong Java_org_linphone_core_LinphoneCallImpl_getPlayer(JNIEnv *env,
return (jlong)linphone_call_get_player((LinphoneCall *)callPtr);
}
extern "C" jboolean Java_org_linphone_core_LinphoneCallImpl_mediaInProgress( JNIEnv* env
,jobject thiz
,jlong ptr) {
return (jboolean) linphone_call_media_in_progress((LinphoneCall*)ptr);
}
//LinphoneFriend
extern "C" jlong Java_org_linphone_core_LinphoneFriendImpl_newLinphoneFriend(JNIEnv* env
,jobject thiz
@ -4056,33 +4095,43 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setAndroidPowerManager(J
#endif
}
/*released in Java_org_linphone_core_LinphoneCoreImpl_delete*/
extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setAndroidWifiLock(JNIEnv *env, jobject thiz, jlong ptr, jobject wifi_lock) {
#ifdef ANDROID
LinphoneCore *lc=(LinphoneCore*)ptr;
if (lc->wifi_lock)
if (lc->wifi_lock) {
env->DeleteGlobalRef(lc->wifi_lock);
env->DeleteGlobalRef(lc->wifi_lock_class);
}
if (wifi_lock != NULL) {
lc->wifi_lock=env->NewGlobalRef(wifi_lock);
jclass wifiLockClass = env->FindClass("android/net/wifi/WifiManager$WifiLock");
lc->wifi_lock_acquire_id = env->GetMethodID(wifiLockClass, "acquire", "()V");
lc->wifi_lock_release_id = env->GetMethodID(wifiLockClass, "release", "()V");
lc->wifi_lock_class = env->FindClass("android/net/wifi/WifiManager$WifiLock");
lc->wifi_lock_class = (jclass)env->NewGlobalRef(lc->wifi_lock_class); /*to make sure methodid are preserved*/
lc->wifi_lock_acquire_id = env->GetMethodID(lc->wifi_lock_class, "acquire", "()V");
lc->wifi_lock_release_id = env->GetMethodID(lc->wifi_lock_class, "release", "()V");
} else {
lc->wifi_lock=NULL;
lc->wifi_lock_class=NULL;
}
#endif
}
/*released in Java_org_linphone_core_LinphoneCoreImpl_delete*/
extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setAndroidMulticastLock(JNIEnv *env, jobject thiz, jlong ptr, jobject multicast_lock) {
#ifdef ANDROID
LinphoneCore *lc=(LinphoneCore*)ptr;
if (lc->multicast_lock)
if (lc->multicast_lock) {
env->DeleteGlobalRef(lc->multicast_lock);
env->DeleteGlobalRef(lc->multicast_lock_class);
}
if (multicast_lock != NULL) {
lc->multicast_lock=env->NewGlobalRef(multicast_lock);
jclass multicastLockClass = env->FindClass("android/net/wifi/WifiManager$MulticastLock");
lc->multicast_lock_acquire_id = env->GetMethodID(multicastLockClass, "acquire", "()V");
lc->multicast_lock_release_id = env->GetMethodID(multicastLockClass, "release", "()V");
lc->multicast_lock_class = env->FindClass("android/net/wifi/WifiManager$MulticastLock");
lc->multicast_lock_class = (jclass)env->NewGlobalRef(lc->multicast_lock_class);/*to make sure methodid are preserved*/
lc->multicast_lock_acquire_id = env->GetMethodID(lc->multicast_lock_class, "acquire", "()V");
lc->multicast_lock_release_id = env->GetMethodID(lc->multicast_lock_class, "release", "()V");
} else {
lc->multicast_lock=NULL;
lc->multicast_lock_class=NULL;
}
#endif
}

View file

@ -591,6 +591,7 @@ void linphone_core_message_storage_init(LinphoneCore *lc){
errmsg=sqlite3_errmsg(db);
ms_error("Error in the opening: %s.\n", errmsg);
sqlite3_close(db);
return;
}
linphone_message_storage_activate_debug(db, lc->debug_storage);

View file

@ -1600,3 +1600,43 @@ bool_t linphone_core_symmetric_rtp_enabled(LinphoneCore*lc){
return lp_config_get_int(lc->config,"rtp","symmetric",1);
}
int linphone_core_set_network_simulator_params(LinphoneCore *lc, const OrtpNetworkSimulatorParams *params){
if (params!=&lc->net_conf.netsim_params)
lc->net_conf.netsim_params=*params;
/*TODO: should we make some sanity checks on the parameters here*/
return 0;
}
const OrtpNetworkSimulatorParams *linphone_core_get_network_simulator_params(const LinphoneCore *lc){
return &lc->net_conf.netsim_params;
}
static const char *_tunnel_mode_str[3] = { "disable", "enable", "auto" };
LinphoneTunnelMode linphone_tunnel_mode_from_string(const char *string) {
if(string != NULL) {
int i;
for(i=0; i<3 && strcmp(string, _tunnel_mode_str[i]) != 0; i++);
if(i<3) {
return (LinphoneTunnelMode)i;
} else {
ms_error("Invalid tunnel mode '%s'", string);
return LinphoneTunnelModeDisable;
}
} else {
return LinphoneTunnelModeDisable;
}
}
const char *linphone_tunnel_mode_to_string(LinphoneTunnelMode mode) {
switch(mode){
case LinphoneTunnelModeAuto:
return "auto";
case LinphoneTunnelModeDisable:
return "disable";
case LinphoneTunnelModeEnable:
return "enable";
}
return "invalid";
}

View file

@ -394,6 +394,21 @@ static void initiate_outgoing(const SalStreamDescription *local_offer,
result->rtp_ssrc=local_offer->rtp_ssrc;
strncpy(result->rtcp_cname,local_offer->rtcp_cname,sizeof(result->rtcp_cname));
// Handle dtls session attribute: if both local and remote have a dtls fingerprint and a dtls setup, get the remote fingerprint into the result
if ((local_offer->dtls_role!=SalDtlsRoleInvalid) && (remote_answer->dtls_role!=SalDtlsRoleInvalid)
&&(strlen(local_offer->dtls_fingerprint)>0) && (strlen(remote_answer->dtls_fingerprint)>0)) {
strncpy(result->dtls_fingerprint, remote_answer->dtls_fingerprint,sizeof(result->dtls_fingerprint));
if (remote_answer->dtls_role==SalDtlsRoleIsClient) {
result->dtls_role = SalDtlsRoleIsServer;
} else {
result->dtls_role = SalDtlsRoleIsClient;
}
} else {
result->dtls_fingerprint[0] = '\0';
result->dtls_role = SalDtlsRoleInvalid;
}
}
@ -449,6 +464,20 @@ static void initiate_incoming(const SalStreamDescription *local_cap,
result->rtp_ssrc=local_cap->rtp_ssrc;
strncpy(result->rtcp_cname,local_cap->rtcp_cname,sizeof(result->rtcp_cname));
// Handle dtls stream attribute: if both local and remote have a dtls fingerprint and a dtls setup, add the local fingerprint to the answer
// Note: local description usually stores dtls config at session level which means it apply to all streams, check this too
if (((local_cap->dtls_role!=SalDtlsRoleInvalid)) && (remote_offer->dtls_role!=SalDtlsRoleInvalid)
&& (strlen(local_cap->dtls_fingerprint)>0) && (strlen(remote_offer->dtls_fingerprint)>0)) {
strncpy(result->dtls_fingerprint, local_cap->dtls_fingerprint,sizeof(result->dtls_fingerprint));
if (remote_offer->dtls_role==SalDtlsRoleUnset) {
result->dtls_role = SalDtlsRoleIsClient;
}
} else {
result->dtls_fingerprint[0] = '\0';
result->dtls_role = SalDtlsRoleInvalid;
}
}
@ -484,21 +513,6 @@ int offer_answer_initiate_outgoing(const SalMediaDescription *local_offer,
result->rtcp_xr.enabled = FALSE;
}
// Handle dtls session attribute: if both local and remote have a dtls fingerprint and a dtls setup, get the remote fingerprint into the result
if ((local_offer->dtls_role!=SalDtlsRoleInvalid) && (remote_answer->dtls_role!=SalDtlsRoleInvalid)
&&(strlen(local_offer->dtls_fingerprint)>0) && (strlen(remote_answer->dtls_fingerprint)>0)) {
strcpy(result->dtls_fingerprint, remote_answer->dtls_fingerprint);
if (remote_answer->dtls_role==SalDtlsRoleIsClient) {
result->dtls_role = SalDtlsRoleIsServer;
} else {
result->dtls_role = SalDtlsRoleIsClient;
}
} else {
result->dtls_fingerprint[0] = '\0';
result->dtls_role = SalDtlsRoleInvalid;
}
return 0;
}
@ -553,24 +567,6 @@ int offer_answer_initiate_incoming(const SalMediaDescription *local_capabilities
}else ms_warning("Unknown protocol for mline %i, declining",i);
if (ls){
initiate_incoming(ls,rs,&result->streams[i],one_matching_codec);
// Handle dtls stream attribute: if both local and remote have a dtls fingerprint and a dtls setup, add the local fingerprint to the answer
// Note: local description usually stores dtls config at session level which means it apply to all streams, check this too
if (((ls->dtls_role!=SalDtlsRoleInvalid) || (local_capabilities->dtls_role!=SalDtlsRoleInvalid)) && (rs->dtls_role!=SalDtlsRoleInvalid)
&& ((strlen(ls->dtls_fingerprint)>0) || (strlen(local_capabilities->dtls_fingerprint)>0)) && (strlen(rs->dtls_fingerprint)>0)) {
if (strlen(ls->dtls_fingerprint)>0) { /* get the fingerprint in stream description */
strcpy(result->streams[i].dtls_fingerprint, ls->dtls_fingerprint);
} else { /* get the fingerprint in session description */
strcpy(result->streams[i].dtls_fingerprint, local_capabilities->dtls_fingerprint);
}
if (rs->dtls_role==SalDtlsRoleUnset) {
result->streams[i].dtls_role = SalDtlsRoleIsClient;
}
} else {
result->streams[i].dtls_fingerprint[0] = '\0';
result->streams[i].dtls_role = SalDtlsRoleInvalid;
}
// Handle media RTCP XR attribute
memset(&result->streams[i].rtcp_xr, 0, sizeof(result->streams[i].rtcp_xr));
if (rs->rtcp_xr.enabled == TRUE) {
@ -611,18 +607,6 @@ int offer_answer_initiate_incoming(const SalMediaDescription *local_capabilities
strcpy(result->name,local_capabilities->name);
// Handle dtls session attribute: if both local and remote have a dtls fingerprint and a dtls setup, add the local fingerprint to the answer
if ((local_capabilities->dtls_role!=SalDtlsRoleInvalid) && (remote_offer->dtls_role!=SalDtlsRoleInvalid)
&&(strlen(local_capabilities->dtls_fingerprint)>0) && (strlen(remote_offer->dtls_fingerprint)>0)) {
strcpy(result->dtls_fingerprint, local_capabilities->dtls_fingerprint);
if (remote_offer->dtls_role==SalDtlsRoleUnset) {
result->dtls_role = SalDtlsRoleIsClient;
}
} else {
result->dtls_fingerprint[0] = '\0';
result->dtls_role = SalDtlsRoleInvalid;
}
// Handle session RTCP XR attribute
memset(&result->rtcp_xr, 0, sizeof(result->rtcp_xr));
if (remote_offer->rtcp_xr.enabled == TRUE) {

View file

@ -1211,19 +1211,15 @@ static int process_pidf_xml_presence_services(xmlparsing_context_t *xml_ctx, Lin
service_id_str = linphone_get_xml_text_content(xml_ctx, xpath_str);
service = presence_service_new(service_id_str, basic_status);
if (service != NULL) {
if (timestamp_str != NULL) {
presence_service_set_timestamp(service, parse_timestamp(timestamp_str));
linphone_free_xml_text_content(timestamp_str);
}
if (contact_str != NULL) {
linphone_presence_service_set_contact(service, contact_str);
linphone_free_xml_text_content(contact_str);
}
if (timestamp_str != NULL) presence_service_set_timestamp(service, parse_timestamp(timestamp_str));
if (contact_str != NULL) linphone_presence_service_set_contact(service, contact_str);
process_pidf_xml_presence_service_notes(xml_ctx, service, i);
linphone_presence_model_add_service(model, service);
}
linphone_free_xml_text_content(basic_status_str);
if (timestamp_str != NULL) linphone_free_xml_text_content(timestamp_str);
if (contact_str != NULL) linphone_free_xml_text_content(contact_str);
if (service_id_str != NULL) linphone_free_xml_text_content(service_id_str);
linphone_free_xml_text_content(basic_status_str);
}
}
if (service_object != NULL) xmlXPathFreeObject(service_object);

View file

@ -203,6 +203,8 @@ typedef struct StunCandidate{
typedef struct _PortConfig{
char multicast_ip[LINPHONE_IPADDR_SIZE];
int mcast_rtp_port;
int mcast_rtcp_port;
int rtp_port;
int rtcp_port;
}PortConfig;
@ -620,6 +622,7 @@ typedef struct net_config
int download_bw;
int upload_bw;
int mtu;
OrtpNetworkSimulatorParams netsim_params;
bool_t nat_sdp_only;
}net_config_t;
@ -803,9 +806,11 @@ struct _LinphoneCore
LinphoneCoreVTable *current_vtable; // the latest vtable to call a callback, see linphone_core_get_current_vtable
#ifdef ANDROID
jobject wifi_lock;
jclass wifi_lock_class;
jmethodID wifi_lock_acquire_id;
jmethodID wifi_lock_release_id;
jobject multicast_lock;
jclass multicast_lock_class;
jmethodID multicast_lock_acquire_id;
jmethodID multicast_lock_release_id;
#endif

View file

@ -60,33 +60,38 @@ static void linphone_remote_provisioning_apply(LinphoneCore *lc, const char *xml
, error_msg);
}
static char *load_file_content(const char *path){
FILE *f=fopen(path,"rb");
size_t bufsize=2048;
size_t step=bufsize;
size_t pos=0;
size_t count;
char *buffer=ms_malloc(bufsize+1);
if (!f) {
ms_error("load_file_content(): could not open [%s]",path);
return NULL;
}
while((count=fread(buffer+pos, 1, step, f))>0){
pos+=count;
if (pos+step>=bufsize){
bufsize*=2;
buffer=ms_realloc(buffer, bufsize+1);
}
}
buffer[pos]='\0';
fclose(f);
return buffer;
}
int linphone_remote_provisioning_load_file( LinphoneCore* lc, const char* file_path){
int status = -1;
FILE* f = fopen(file_path, "r");
char* provisioning=load_file_content(file_path);
if( f ){
long fsize;
char* provisioning;
fseek(f, 0, SEEK_END);
fsize = ftell(f);
fseek(f, 0, SEEK_SET);
provisioning = ms_malloc(fsize + 1);
provisioning[fsize]='\0';
if (fread(provisioning, fsize, 1, f)==0){
ms_error("Could not read xml provisioning file from %s",file_path);
status=-1;
}else{
linphone_remote_provisioning_apply(lc, provisioning);
status = 0;
}
if (provisioning){
linphone_remote_provisioning_apply(lc, provisioning);
status = 0;
ms_free(provisioning);
fclose(f);
} else {
ms_error("Couldn't open file %s for provisioning", file_path);
}
return status;
}

View file

@ -318,6 +318,10 @@ int sal_stream_description_equals(const SalStreamDescription *sd1, const SalStre
if (sd1->ptime != sd2->ptime) result |= SAL_MEDIA_DESCRIPTION_CODEC_CHANGED;
if (sd1->dir != sd2->dir) result |= SAL_MEDIA_DESCRIPTION_CODEC_CHANGED;
/*DTLS*/
if (sd1->dtls_role != sd2->dtls_role) result |= SAL_MEDIA_DESCRIPTION_CRYPTO_KEYS_CHANGED;
if (strcmp(sd1->dtls_fingerprint, sd2->dtls_fingerprint) != 0) result |= SAL_MEDIA_DESCRIPTION_CRYPTO_KEYS_CHANGED;
return result;
}

View file

@ -161,16 +161,19 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from,
if(g_strcmp0(from_message,from_str)!=0){
gtk_text_buffer_get_iter_at_offset(buffer,&iter,off);
gtk_text_buffer_get_end_iter(buffer,&iter);
gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,get_display_name(from),-1,"bold",me ? "bg":NULL,NULL);
gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, get_display_name(from), -1,
"bold", me ? "bg" : NULL, me ? "font_black" : NULL, NULL);
gtk_text_buffer_get_end_iter(buffer,&iter);
gtk_text_buffer_insert_with_tags_by_name(buffer,&iter," : ",-1,"bold",me ? "bg":NULL,NULL);
gtk_text_buffer_insert_with_tags_by_name(buffer,&iter, " : ", -1,
"bold", me ? "bg" : NULL, me ? "font_black" : NULL, NULL);
gtk_text_buffer_get_end_iter(buffer,&iter);
gtk_text_buffer_insert(buffer,&iter,"\n",-1);
g_free(from_message);
g_object_set_data(G_OBJECT(w),"from_message",g_strdup(from_str));
}
gtk_text_buffer_get_end_iter(buffer,&iter);
gtk_text_buffer_insert_with_tags_by_name(buffer,&iter,linphone_chat_message_get_text(msg),-1,"margin",me ? "bg":NULL,NULL);
gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, linphone_chat_message_get_text(msg), -1,
"margin", me ? "bg" : NULL, me ? "font_black" : NULL, NULL);
gtk_text_buffer_get_end_iter(buffer,&iter);
gtk_text_buffer_insert(buffer,&iter,"\n",-1);
gtk_text_buffer_get_end_iter(buffer,&iter);
@ -378,8 +381,9 @@ GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddres
GtkWidget *main_window=linphone_gtk_get_main_window();
GtkNotebook *notebook=(GtkNotebook *)linphone_gtk_get_widget(main_window,"viewswitch");
GtkWidget *text=linphone_gtk_get_widget(chat_view,"textview");
GdkColor color;
GdkColor colorb;
GdkColor color_grey = {0, 32512, 32512, 32512};
GdkColor color_light_grey = {0, 56832, 60928, 61952};
GdkColor color_black = {0};
int idx;
GtkWidget *button;
GtkWidget *entry = linphone_gtk_get_widget(chat_view,"text_entry");
@ -387,13 +391,6 @@ GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddres
GHashTable *table;
char *with_str;
color.red = 32512;
color.green = 32512;
color.blue = 32512;
colorb.red = 56832;
colorb.green = 60928;
colorb.blue = 61952;
with_str=linphone_address_as_string_uri_only(with);
gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(text),GTK_WRAP_WORD_CHAR);
gtk_text_view_set_editable(GTK_TEXT_VIEW(text),FALSE);
@ -417,11 +414,13 @@ GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddres
gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
"small","size",9*PANGO_SCALE,NULL);
gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
"font_grey","foreground-gdk",&color,NULL);
"font_grey","foreground-gdk",&color_grey,NULL);
gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
"font_black","foreground-gdk",&color_black,NULL);
gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
"margin","indent",10,NULL);
gtk_text_buffer_create_tag(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)),
"bg","paragraph-background-gdk",&colorb,NULL);
"bg","paragraph-background-gdk",&color_light_grey,NULL);
messages = linphone_chat_room_get_history(cr,NB_MSG_HIST);
display_history_message(chat_view,messages,with);
button = linphone_gtk_get_widget(chat_view,"send");

View file

@ -22,6 +22,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include "linphone.h"
#include "lpconfig.h"
#include "liblinphone_gitversion.h"
#include <sys/types.h>
@ -50,6 +51,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#endif
const char *this_program_ident_string="linphone_ident_string=" LINPHONE_VERSION;
static LinphoneCore *the_core=NULL;
@ -561,7 +563,7 @@ void linphone_gtk_show_about(){
}
g_free(license);
}
gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(about),LINPHONE_VERSION);
gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(about),LIBLINPHONE_GIT_VERSION);
gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(about),linphone_gtk_get_ui_config("title","Linphone"));
gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(about),linphone_gtk_get_ui_config("home","http://www.linphone.org"));
if (logo) gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(about),logo);

View file

@ -203,6 +203,11 @@ typedef enum {
SalMulticastSenderReceiver
} SalMulticastRole;
typedef enum {
SalOpSDPNormal = 0, /** No special handling for SDP */
SalOpSDPSimulateError, /** Will simulate an SDP parsing error */
SalOpSDPSimulateRemove /** Will simulate no SDP in the op */
} SalOpSDPHandling;
typedef struct SalStreamDescription{
char name[16]; /*unique name of stream, in order to ease offer/answer model algorithm*/
@ -260,8 +265,6 @@ typedef struct SalMediaDescription{
bool_t ice_lite;
bool_t ice_completed;
bool_t pad[2];
char dtls_fingerprint[256];
SalDtlsRole dtls_role;
} SalMediaDescription;
typedef struct SalMessage{
@ -553,7 +556,7 @@ void sal_signing_key_parse_file(SalAuthInfo* auth_info, const char* path, const
* @param[in] generate_certificate if true, if matching certificate and key can't be found, generate it and store it into the given dir, filename will be subject.pem
* @param[in] generate_dtls_fingerprint if true and we have a certificate, generate the dtls fingerprint as described in rfc4572
*/
void sal_certificates_chain_parse_directory(char **certificate_pem, char **key_pem, char **fingerprint, const char* path, const char *subject, SalCertificateRawFormat format, bool_t generate_certificate, bool_t generate_dtls_fingerprint);
void sal_certificates_chain_parse_directory(char **certificate_pem, char **key_pem, char **fingerprint, const char* path, const char *subject, SalCertificateRawFormat format, bool_t generate_certificate, bool_t generate_dtls_fingerprint);
void sal_certificates_chain_delete(SalCertificatesChain *chain);
void sal_signing_key_delete(SalSigningKey *key);
@ -684,11 +687,20 @@ void sal_call_send_vfu_request(SalOp *h);
int sal_call_is_offerer(const SalOp *h);
int sal_call_notify_refer_state(SalOp *h, SalOp *newcall);
/* Call test API */
/*willingly fails to parse SDP from received packets (INVITE and/or ACK) if value=true */
/* First version: for all new SalOp created (eg. each incoming or outgoing call). Do not forget to reset previous value when you are done!*/
void sal_default_enable_sdp_removal(Sal* h, bool_t enable) ;
/**
* @brief Invoking this on the SAL will modify every subsequent SalOp to have a special handling for SDP.
* @details This is especially useful while testing, to simulate some specific behaviors, like missing SDP or an error in parsing.
*
* @warning Don't forget to reset the handling method to SalOpSDPNormal afterwards.
*
* @param h the Sal instance
* @param handling_method Could be SalOpSDPNormal, SalOpSDPSimulateError, SalOpSDPSimulateRemoval (\ref SalOpSDPHandling)
*/
void sal_default_set_sdp_handling(Sal* h, SalOpSDPHandling handling_method) ;
/* Second version: for a specific call*/
void sal_call_enable_sdp_removal(SalOp *h, bool_t enable) ;
void sal_call_set_sdp_handling(SalOp *h, SalOpSDPHandling handling) ;
/*Registration*/
int sal_register(SalOp *op, const char *proxy, const char *from, int expires);
@ -812,7 +824,7 @@ int sal_lines_get_value(const char *data, const char *key, char *value, size_t v
belle_sip_stack_t *sal_get_belle_sip_stack(Sal *sal);
char* sal_op_get_public_uri(SalOp *sal);
unsigned long sal_begin_background_task(const char *name, void (*max_time_reached)(void *), void *data);
unsigned long sal_begin_background_task(const char *name, void (*max_time_reached)(void *), void *data);
void sal_end_background_task(unsigned long id);
#endif

View file

@ -268,6 +268,16 @@ public interface LinphoneCall {
void setAuthenticationTokenVerified(boolean verified);
boolean isInConference();
/**
* Indicates whether an operation is in progress at the media side.
* It can a bad idea to initiate signaling operations (adding video, pausing the call, removing video, changing video parameters) while
* the media is busy in establishing the connection (typically ICE connectivity checks). It can result in failures generating loss of time
* in future operations in the call.
* Applications are invited to check this function after each call state change to decide whether certain operations are permitted or not.
* @return TRUE if media is busy in establishing the connection, FALSE otherwise.
**/
boolean mediaInProgress();
float getPlayVolume();
@ -349,4 +359,5 @@ public interface LinphoneCall {
* @return A player
*/
public LinphonePlayer getPlayer();
}

View file

@ -269,6 +269,10 @@ public interface LinphoneCore {
* ZRTP
*/
static public final MediaEncryption ZRTP = new MediaEncryption(2,"ZRTP");
/**
* DTLS
*/
static public final MediaEncryption DTLS = new MediaEncryption(3,"DTLS");
protected final int mValue;
private final String mStringValue;
@ -786,6 +790,26 @@ public interface LinphoneCore {
*/
int getPayloadTypeBitrate(PayloadType pt);
/**
* Set an explicit bitrate (IP bitrate, not codec bitrate) for a given codec, in kbit/s.
* @param pt the payload type
* @param number target IP bitrate in kbit/s
*/
/**
* Force a number for a payload type. The LinphoneCore does payload type number assignment automatically. THis function is to be used mainly for tests, in order
* to override the automatic assignment mechanism.
* @param pt the payload type
* @param number
**/
void setPayloadTypeNumber(PayloadType pt, int number);
/**
* @param pt the payload type
* @return the payload type number assigned for this codec.
*/
int getPayloadTypeNumber(PayloadType pt);
/**
* Enable adaptive rate control.
* @param enable
@ -1889,6 +1913,11 @@ public interface LinphoneCore {
* Upload the log collection to the configured server url.
*/
public void uploadLogCollection();
/**
* Reset the log collection by removing the log files.
*/
public void resetLogCollection();
/**

View file

@ -43,6 +43,7 @@ class LinphoneCallImpl implements LinphoneCall {
private native int getDuration(long nativePtr);
private native float getCurrentQuality(long nativePtr);
private native float getAverageQuality(long nativePtr);
private native boolean mediaInProgress(long nativePtr);
/*
* This method must always be called from JNI, nothing else.
@ -167,6 +168,8 @@ class LinphoneCallImpl implements LinphoneCall {
return params.localConferenceMode();
}
public boolean mediaInProgress() { return mediaInProgress(nativePtr);}
@Override
public String toString() {
return "Call " + nativePtr;
@ -251,4 +254,5 @@ class LinphoneCallImpl implements LinphoneCall {
public LinphonePlayer getPlayer() {
return new LinphonePlayerImpl(getPlayer(nativePtr));
}
}

View file

@ -1274,6 +1274,18 @@ class LinphoneCoreImpl implements LinphoneCore {
public synchronized int getPayloadTypeBitrate(PayloadType pt) {
return getPayloadTypeBitrate(nativePtr, ((PayloadTypeImpl)pt).nativePtr);
}
private native void setPayloadTypeNumber(long coreptr, long payload_ptr, int number);
@Override
public synchronized void setPayloadTypeNumber(PayloadType pt, int number) {
setPayloadTypeNumber(nativePtr, ((PayloadTypeImpl)pt).nativePtr, number);
}
private native int getPayloadTypeNumber(long coreptr, long payload_ptr);
@Override
public synchronized int getPayloadTypeNumber(PayloadType pt) {
return getPayloadTypeNumber(nativePtr, ((PayloadTypeImpl)pt).nativePtr);
}
@Override
public synchronized void enableAdaptiveRateControl(boolean enable) {
enableAdaptiveRateControl(nativePtr,enable);
@ -1352,6 +1364,9 @@ class LinphoneCoreImpl implements LinphoneCore {
public void uploadLogCollection() {
uploadLogCollection(nativePtr);
}
@Override
public native void resetLogCollection();
private native void setPreferredFramerate(long nativePtr, float fps);
@Override

View file

@ -90,6 +90,7 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/linphone
%{_datadir}/pixmaps/linphone.png
%{_datadir}/sounds/linphone
%{_datadir}/appdata/linphone.appdata.xml
%files devel
%defattr(-,root,root)

@ -1 +1 @@
Subproject commit 3948581385b9521c17a54c05c05d613add95e631
Subproject commit 938c6e4cade5c09e6cfa5a5e9189007f8323f3d0

2
oRTP

@ -1 +1 @@
Subproject commit 7822737d9cce52a956594d9466cb6419595ed7a8
Subproject commit d515df047678da3777b5e4691dc069c6837f77bf

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

186
po/ar.po
View file

@ -9,9 +9,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-13 16:34+0000\n"
"Last-Translator: محيي الدين <tx99h4@hotmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: Arabic (http://www.transifex.com/projects/p/linphone-gtk/"
"language/ar/)\n"
"Language: ar\n"
@ -148,7 +149,7 @@ msgstr "ابدأ مرشد الصوت"
msgid "Run self test and exit 0 if succeed"
msgstr "شغِّل الاختبار الذاتي ثم اخرِجْ 0 إذا نجح"
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -160,7 +161,7 @@ msgstr ""
"هل تريد السماح له برؤية معلومات حضورك وكذا إضافته إلى جهة اتصالك أيضا ؟ إذا "
"أجبت ب لا، سيُحظَر هذا الشخص مؤقتا."
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
@ -169,59 +170,59 @@ msgstr ""
"ادخل كلمة السر ل <i>%s</i>\n"
" في نطاق <i>%s</i>:"
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr "خطأ في المكالمة"
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr "إنتهت المكالمة"
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "مكالمة واردة"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr "أجِبْ"
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr "ارفضْ"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr "المكالمة متوقفة"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr "<b>بواسطة %s</b>"
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, c-format
msgid "%s proposed to start video. Do you accept ?"
msgstr "يود %s تشغيل الفيديو. هل تقبل ذلك ؟"
#: ../gtk/main.c:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr "وصلة إلى الموقع وِبْ"
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr "لِنْفُونْ - الهاتف المرئي عبر الإنترنت"
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr "%s (افتراضي)"
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr "التحويل إلى %s"
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
msgid ""
"No sound cards have been detected on this computer.\n"
"You won't be able to send or receive audio calls."
@ -229,7 +230,7 @@ msgstr ""
"لا وجود للوحة الصوت على هذا الحاسوب.\n"
"لن تتمكن من تلقي أو إجراء أي مكالمة."
#: ../gtk/main.c:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr "هاتف SIP المرئي الحر"
@ -383,15 +384,19 @@ msgid ""
"You need to restart linphone for the new language selection to take effect."
msgstr "يجب إعادة تشغيل لِنْفُونْ لكي تٌفعَّل اللغة المختارة."
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr "بدون"
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr "SRTP"
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr "ZRTP"
@ -573,7 +578,7 @@ msgstr "تأكيد (المرحلة 2/2)"
msgid "Error"
msgstr "خطأ"
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr "في طور الإنهاء"
@ -666,7 +671,7 @@ msgstr "ضع السماعة"
msgid "<b>Calling...</b>"
msgstr "<b>يجري الاتصال...</b>"
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr "00::00::00"
@ -703,55 +708,59 @@ msgid "Secured by SRTP"
msgstr "آمن بواسطة SRTP"
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr "آمن بواسطة ZRTP - [شارة الهوية : %s]"
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr "أكِّدْ عدم تحقُّقك"
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr "أكِّدْ تحقُّقَك"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr "في اجتماع"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr "<b>المكالمة جارية</b>"
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr "<b>المكالمة متوقفة مؤقتا</b>"
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr "<b>إنتهت المكالمة.</b>"
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr "يجري الإرسال"
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr "انتهى الإرسال."
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr "فَشِل الإرسال."
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr "استأنِفْ"
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr "إيقاف مؤقت"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
@ -760,7 +769,7 @@ msgstr ""
"<small><i>يسجل في\n"
"%s %s</i></small>"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr "(متوقف)"
@ -859,23 +868,23 @@ msgstr "تشغيل"
msgid "Let's start Linphone now"
msgstr "لنُشغِّل لِنْفُونْ الآن"
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr "مرشد الصوت"
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr "مرشد الصوت"
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr "معايرة كسب الميكروفون"
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr "معايرة شدة مكبر الصوت"
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr "سَجِّل واقرأ "
@ -1742,68 +1751,68 @@ msgstr "تجري التهيئة..."
msgid "Please wait while fetching configuration from server..."
msgstr "رجاءً انتظر ريثما ينتهي من جلب الإعدادات من الخادم..."
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr "جاهز"
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr "تجري التهيئة"
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr "يجري البحث عن وجهة رقم الهاتف..."
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr "لم يتمكن من إيجاد هذا الرقم."
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr "يتصل ب"
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr "لم يتمكن من الاتصال"
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
msgid "Sorry, we have reached the maximum number of simultaneous calls"
msgstr "آسف، وصل عدد المكالمات الآنية إلى حده الأقصى"
#: ../coreapi/linphonecore.c:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr "يتصل بك"
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr "ويطلب ردا تلقائيا."
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr "يجري تعديل إعدادات المكالمة..."
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "متصل."
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr "أُلغيت المكالمة"
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr "لم يتمكن من توقيف المكالمة مؤقتا"
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr "وضع المكالمة قيد الانتظار..."
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr "يجري بحث STUN..."
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr "يجري جلب مرشَّحي ICE المحلين..."
@ -1859,14 +1868,14 @@ msgstr "في عطلة"
msgid "Unknown status"
msgstr "حالة مجهولة"
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
msgstr ""
"عنوان SIP الذي أدخلت غير صالح، يجب أن يبدأ ب \"sip:\" متبوعا بإسم النطاق."
#: ../coreapi/proxy.c:333
#: ../coreapi/proxy.c:334
msgid ""
"The sip identity you entered is invalid.\n"
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
@ -1874,126 +1883,127 @@ msgstr ""
"هوية SIP التي أدخلت غير صحيحة.\n"
"يجب أن تشبه هذا النمط sip:username@proxydomain، مثلا sip:alice@example.net"
#: ../coreapi/proxy.c:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr "تعذر الولوج بالهوية %s"
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr "يرن الجرس عن بعد..."
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr "يرن الجرس عن بعد..."
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr "أخذ المكالمة مبكرا."
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr "المكاملة مع %s متوقفة."
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr "يجيب %s عن المكالمة - في وضع الانتظار."
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr "استُعيدت المكالمة."
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr "أجاب عن المكالمة %s."
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr "غير موائم، تحقق من المراميز أو إعدادات الأمان..."
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr "إعدادات الوسائط غير موائمة."
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr "استُأنِفت المكالمة."
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
msgid "We are paused by other party."
msgstr "وُقِّفت المكالمة مؤقتا من طرف آخر."
#. reINVITE and in-dialogs UPDATE go here
#: ../coreapi/callbacks.c:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr "حُدِّث الاتصال من البعيد."
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr "أُنهيت المكالمة."
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "المستخدم مشغول."
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "المستخدم غير متاح مؤقتا."
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "لا يريد المستخدم أي إزعاج."
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "تم تجاهل المكالمة."
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr "انتهت مهلة الطلب."
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr "مُوجَّه"
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr "فشل الاتصال."
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr "تم التسجيل في %s بنجاح."
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr "أُلغي التسجيل في %s ."
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr "لا إجابة قبل انتهاء المهلة"
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr "فَشِل التسجيل في %s: %s"
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr "خدمة غير متاحة، تجري الإعادة"
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr "شارة التحقق من الهوية هي %s"
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

186
po/cs.po
View file

@ -9,9 +9,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-06 11:29+0000\n"
"Last-Translator: Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: Czech (http://www.transifex.com/projects/p/linphone-gtk/"
"language/cs/)\n"
"Language: cs\n"
@ -142,7 +143,7 @@ msgstr ""
msgid "Run self test and exit 0 if succeed"
msgstr ""
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -155,66 +156,66 @@ msgstr ""
"do svého adresáře?\n"
"Odpovíte-li ne, tato osobo bude dočasně blokována."
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
" at realm <i>%s</i>:"
msgstr ""
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr "Chyba hovoru"
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr "Hovor ukončen"
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "Příchozí hovor"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr "Odpovědět"
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr "Odmítnout"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr "Hovor odložen"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr "<b>kým: %s</b>"
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, c-format
msgid "%s proposed to start video. Do you accept ?"
msgstr "%s navrhuje začít videohovor. Přijímáte?"
#: ../gtk/main.c:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr "Odkaz na webovou stránku"
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr "Lipnhone  internetový videofon"
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr "%s (Výchozí)"
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr "Byly jsme přepojeni na %s"
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
msgid ""
"No sound cards have been detected on this computer.\n"
"You won't be able to send or receive audio calls."
@ -222,7 +223,7 @@ msgstr ""
"Na tomto počítači nebyla objevena žádná zvuková karta.\n"
"Nebudete moci vytáčet a přijímat a zvukové hovory."
#: ../gtk/main.c:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr "Volný SIP videofon"
@ -376,15 +377,19 @@ msgid ""
"You need to restart linphone for the new language selection to take effect."
msgstr "Aby se projevil výběr nového jazyka, je nutné znovu spustit linphone."
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr "Žádné"
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr "SRTP"
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr "ZRTP"
@ -562,7 +567,7 @@ msgstr "Ověření (krok 2/2)"
msgid "Error"
msgstr "Chyba"
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr "Ukončuje se"
@ -655,7 +660,7 @@ msgstr "Zavěsit"
msgid "<b>Calling...</b>"
msgstr "<b>Volá se…</b>"
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr "00:00:00"
@ -692,55 +697,59 @@ msgid "Secured by SRTP"
msgstr "Zabezpečeno pomocí SRTP"
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr "Zabezpečeno pomocí ZRTP  [ověřovací klíč: %s]"
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr "Nastavit na neověřeno"
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr "Nastavit na ověřeno"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr "Probíhá konference"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr "<b>Probíhá hovor</b>"
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr "<b>Odložený hovor</b>"
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr "<b>Hovor skončil.</b>"
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr "Probíhá přepojení"
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr "Přepojení dokončeno."
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr "Přepojení selhalo."
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr "Obnovit"
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr "Odložit"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
@ -749,7 +758,7 @@ msgstr ""
"<small><i>Nahrává se do\n"
"%s %s</i></small>"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr "(Odloženo)"
@ -846,23 +855,23 @@ msgstr ""
msgid "Let's start Linphone now"
msgstr ""
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr ""
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr ""
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr ""
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr ""
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr ""
@ -1712,68 +1721,68 @@ msgstr ""
msgid "Please wait while fetching configuration from server..."
msgstr ""
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr "Připraven."
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr ""
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr "Vyhledává se umístění čísla…"
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr "Toto číslo nelze vyhledat."
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr "Navazuje se spojení"
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr "Nelze volat"
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
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:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr "vás volá"
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr " a požaduje automatickou zvednutí."
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr "Upravují se parametry hovoru…"
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "Připojeno."
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr "Hovor přerušen"
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr "Hovor nebylo možné odložit"
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr "Současný hovor se odkládá…"
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr "Hledá se adresa pomocí STUN…"
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr "Shromažďují se místní kandidáti ICE…"
@ -1829,7 +1838,7 @@ msgstr ""
msgid "Unknown status"
msgstr ""
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
@ -1837,7 +1846,7 @@ 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:333
#: ../coreapi/proxy.c:334
msgid ""
"The sip identity you entered is invalid.\n"
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
@ -1845,126 +1854,127 @@ msgstr ""
"SIP identita, kterou jste zadali, není platná.\n"
"Měla by mít tvar sip:uživatel@proxydoména, například sip:alice@example.net"
#: ../coreapi/proxy.c:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr "Nelze se přihlásit jako %s"
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr "Vyzvání na druhé straně."
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr "Vyzvání na druhé straně…"
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr "Časná média."
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr "Hovor s %s je odložen."
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr "Hovor přijat kým: %s  odložen."
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr "Hovor obnoven."
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr "Hovor přijat kým: %s."
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr "Není slučitelné. Zkontrolujte nastavení kodeků a zabezpečení…"
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr "Neslučitelné parametry médií."
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr "Byli jsme obnoveni."
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
msgid "We are paused by other party."
msgstr "Byli jsme odloženi protistranou."
#. reINVITE and in-dialogs UPDATE go here
#: ../coreapi/callbacks.c:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr "Hovor byl aktualizován protistranou."
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr "Hovor ukončen."
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "Uživatel je zaneprázdněn."
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "Uživatel je dočasně nedostupný."
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "Uživatel si nepřeje být rušen."
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "Volání odmítnuto."
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr ""
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr "Přesměrováno"
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr "Volání se nezdařilo."
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr "Registrace na %s byla úspěšná."
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr "Odregistrování z %s hotovo."
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr "odpověď nedorazila včas"
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr "Registrace na %s selhala: %s"
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr ""
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr "Klíč k ověření totožnosti je %s"
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

186
po/de.po
View file

@ -11,9 +11,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-13 16:34+0000\n"
"Last-Translator: Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: German (http://www.transifex.com/projects/p/linphone-gtk/"
"language/de/)\n"
"Language: de\n"
@ -144,7 +145,7 @@ msgstr "Starte den Audio-Assistent"
msgid "Run self test and exit 0 if succeed"
msgstr ""
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -157,7 +158,7 @@ msgstr ""
"Ihrer Kontaktliste hinzufügen?\n"
"Wenn Sie mit Nein antworten, wird diese Person vorläufig blockiert."
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
@ -166,59 +167,59 @@ msgstr ""
"Bitte geben Sie Ihr Passwort für den Benutzernamen <i>%s</i>\n"
" für Bereich <i>%s</i> ein:"
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr "Anruf fehlgeschlagen"
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr "Anruf beendet"
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "Eingehender Anruf"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr "Annehmen"
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr "Abweisen"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr "Anruf wird gehalten"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr "<b>von %s</b>"
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, 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:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr "Website-Verknüpfung"
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr "Linphone - ein Internet-Video-Telefon"
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr "%s (Vorgabe)"
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr "Vermittlung nach %s"
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
msgid ""
"No sound cards have been detected on this computer.\n"
"You won't be able to send or receive audio calls."
@ -226,7 +227,7 @@ msgstr ""
"Auf diesem Rechner können keine Soundkarten gefunden werden.\n"
"Sie können keine Audio-Anrufe tätigen oder entgegennehmen."
#: ../gtk/main.c:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr "Ein freies SIP-Video-Telefon"
@ -382,15 +383,19 @@ msgstr ""
"Linphone muss neu gestartet werden, damit die neue Spracheinstellung wirksam "
"wird."
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr "Keinen"
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr "SRTP"
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr "ZRTP"
@ -571,7 +576,7 @@ msgstr "Bestätigung (Schritt 2/2)"
msgid "Error"
msgstr "Fehler"
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr "Fertigstellen"
@ -664,7 +669,7 @@ msgstr "Auflegen"
msgid "<b>Calling...</b>"
msgstr "<b>Verbindungsaufbau...</b>"
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr "00::00::00"
@ -701,55 +706,59 @@ msgid "Secured by SRTP"
msgstr "Gesichert durch SRTP"
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr "Gesichert durch ZRTP - [Auth.-Token: %s]"
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr "Auf „Ungeprüft“ setzen"
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr "Auf „Geprüft“ setzen"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr "In Konferenz"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr "<b>Im Gespräch</b>"
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr "<b>Gehaltener Anruf</b>"
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr "<b>Anruf beendet.</b>"
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr "Vermittlung läuft"
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr "Vermittlung abgeschlossen."
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr "Vermittlung fehlgeschlagen."
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr "Fortsetzen"
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr "Halten"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
@ -758,7 +767,7 @@ msgstr ""
"<small><i>Recording into\n"
"%s %s</i></small>"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr "(pausiert)"
@ -858,23 +867,23 @@ msgstr ""
msgid "Let's start Linphone now"
msgstr "Linphone jetzt starten"
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr "Audio-Assistant"
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr "Audio-Assistant"
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr "Einrichtung MIkrofonverstärker"
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr "Einrichtung Lautstärke"
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr "aufnehmen und abspielen"
@ -1746,68 +1755,68 @@ msgid "Please wait while fetching configuration from server..."
msgstr ""
"Bitte warten Sie während die Einstellungen vom Server abgerufen werden..."
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr "Bereit"
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr "Einstellen"
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr "Telefonnummernziel wird gesucht..."
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr "Diese Nummer kann nicht aufgelöst werden."
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr "Verbindungsaufbau"
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr "Anruf kann nicht getätigt werden."
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
msgid "Sorry, we have reached the maximum number of simultaneous calls"
msgstr "Die maximale Anzahl der gleichzeitigen Anrufe ist erreicht."
#: ../coreapi/linphonecore.c:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr "ruft Sie an"
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr " und fragt nach automatischer Antwort."
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr "Die Anrufparameter werden verändert..."
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "Verbunden."
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr "Anruf abgebrochen"
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr "Anruf kann nicht gehalten werden"
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr "Aktueller Anruf wird gehalten..."
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr "STUN-Ermittlung läuft..."
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr "Lokale Kandidaten für ICE werden zusammengestellt..."
@ -1863,7 +1872,7 @@ msgstr "Urlaub"
msgid "Unknown status"
msgstr "Unbekannter Status"
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
@ -1871,7 +1880,7 @@ msgstr ""
"Die von Ihnen eingegebene SIP-Proxy-Adresse ist ungültig, sie muss mit "
"„sip:“ gefolgt vom Hostnamen beginnen."
#: ../coreapi/proxy.c:333
#: ../coreapi/proxy.c:334
msgid ""
"The sip identity you entered is invalid.\n"
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
@ -1880,126 +1889,127 @@ msgstr ""
"Sie sollte wie sip:benutzername@proxydomain aussehen, also z.B. sip:"
"alice@beispiel.net"
#: ../coreapi/proxy.c:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr "Anmeldung als %s fehlgeschlagen"
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr "Klingeln bei der Gegenseite."
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr "Klingeln bei der Gegenseite..."
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr "nicht kompatibel, prüfe Codecs oder Sicherheitseinstellungen..."
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr "Anruf mit %s wird gehalten."
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr "Der von %s entgegengenommene Anruf wird gehalten."
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr "Anruf fortgesetzt."
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr "Anruf wird von %s entgegengenommen."
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr "Inkompatibel, prüfe Codecs oder Sicherheitseinstellungen..."
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr "Inkompatible Medienparameter."
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr "Anruf wird fortgesetzt."
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
msgid "We are paused by other party."
msgstr "Anruf wird von der Gegenseite gehalten."
#. reINVITE and in-dialogs UPDATE go here
#: ../coreapi/callbacks.c:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr "Anruf ist von der Gegenseite aktualisiert worden."
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr "Anruf beendet."
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "Teilnehmer ist besetzt."
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "Teilnehmer zur Zeit nicht verfügbar."
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "Teilnehmer möchte nicht gestört werden."
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "Anruf abgewiesen"
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr "Zeitüberschreitung bei der Anfrage"
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr "Umgeleitet"
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr "Anruf fehlgeschlagen."
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr "Registrierung auf %s erfolgreich."
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr "Abmeldung von %s ist erfolgt."
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr "Zeitüberschreitung bei der Antwort"
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr "Registrierung auf %s fehlgeschlagen: %s"
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr "Service nicht verfügbar, versuche erneut"
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr "Authentifizierungs-Token ist %s"
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

186
po/es.po
View file

@ -7,9 +7,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-06 11:29+0000\n"
"Last-Translator: Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: Spanish (http://www.transifex.com/projects/p/linphone-gtk/"
"language/es/)\n"
"Language: es\n"
@ -137,7 +138,7 @@ msgstr ""
msgid "Run self test and exit 0 if succeed"
msgstr ""
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -150,66 +151,66 @@ msgstr ""
"contactos?\n"
"Si responde no, esta persona será bloqueada temporalmente."
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
" at realm <i>%s</i>:"
msgstr ""
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr ""
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr ""
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "Llamada entrante"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr "Contestar"
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr ""
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr ""
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr ""
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, c-format
msgid "%s proposed to start video. Do you accept ?"
msgstr ""
#: ../gtk/main.c:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr "Enlace a la Web"
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr "Linphone - un video-teléfono a través de Internet"
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr "%s (Opción predeterminada)"
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr "Somos transferidos a %s"
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
msgid ""
"No sound cards have been detected on this computer.\n"
"You won't be able to send or receive audio calls."
@ -217,7 +218,7 @@ msgstr ""
"No se ha encontrado una tarjeta de sonido en este equipo.\n"
"No será posible realizar o recibir llamadas de audio."
#: ../gtk/main.c:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr "Un video-teléfono SIP gratuito"
@ -371,15 +372,19 @@ msgid ""
"You need to restart linphone for the new language selection to take effect."
msgstr "Deberá reiniciar linphone para aplicar la nueva selección de lenguaje"
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr ""
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr "SRTP"
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr "ZRTP"
@ -548,7 +553,7 @@ msgstr ""
msgid "Error"
msgstr ""
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr ""
@ -639,7 +644,7 @@ msgstr ""
msgid "<b>Calling...</b>"
msgstr ""
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr "00::00::00"
@ -676,62 +681,66 @@ msgid "Secured by SRTP"
msgstr "Cifrada con SRTP"
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr "Cifrada con ZRTP - [token de autenticación: %s]"
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr "Set sin verificar"
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr "Set verificado"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr "En conferencia"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr ""
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr ""
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr ""
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr ""
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr ""
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr ""
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr "Reanudar"
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr "Pausar"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
"%s %s</i></small>"
msgstr ""
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr ""
@ -828,23 +837,23 @@ msgstr ""
msgid "Let's start Linphone now"
msgstr ""
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr ""
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr ""
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr ""
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr ""
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr ""
@ -1696,68 +1705,68 @@ msgstr ""
msgid "Please wait while fetching configuration from server..."
msgstr ""
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr ""
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr ""
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr "Buscando el número de teléfono del destinatario…"
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr "No se ha podido resolver este número."
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr ""
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr ""
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
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:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr ""
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr "y ha solicitado auto respuesta."
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr "Modificando parámetros de llamada…"
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "Conectado."
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr ""
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr "No se pudo pausar la llamada"
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr "Pausando la llamada actual..."
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr "Búsqueda STUN en proceso…"
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr ""
@ -1813,7 +1822,7 @@ msgstr ""
msgid "Unknown status"
msgstr ""
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
@ -1821,7 +1830,7 @@ msgstr ""
"La dirección del Proxy SIP que ha introducido no es válida, debe empezar con "
"\"sip:\" seguido del hostname."
#: ../coreapi/proxy.c:333
#: ../coreapi/proxy.c:334
msgid ""
"The sip identity you entered is invalid.\n"
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
@ -1830,126 +1839,127 @@ msgstr ""
"Debe ser del tipo sip:username@proxydomain, como por ejemplo sip:"
"alice@example.net"
#: ../coreapi/proxy.c:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr ""
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr ""
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr ""
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr "Medios iniciales."
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr "La llamada con %s está puesta en pausa."
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr "Llamada respondida por %s - en espera."
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr ""
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr ""
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr ""
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr ""
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr ""
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
msgid "We are paused by other party."
msgstr ""
#. reINVITE and in-dialogs UPDATE go here
#: ../coreapi/callbacks.c:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr ""
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr ""
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "El usuario está ocupado."
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "El usuario no está disponible temporalmente."
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "El usuario no quiere que le molesten."
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "Llamada rechazada."
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr ""
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr "Redigirida"
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr ""
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr ""
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr ""
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr "timeout sin respuesta"
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr ""
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr ""
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr ""
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

187
po/fr.po
View file

@ -3,6 +3,7 @@
# This file is distributed under the same license as the PACKAGE package.
#
# Translators:
# Belledonne Communications <support@belledonne-communications.com>, 2015
# Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>, 2014
# Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>, 2014
# Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>, 2014-2015
@ -11,9 +12,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-13 16:34+0000\n"
"Last-Translator: Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:30+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/linphone-gtk/"
"language/fr/)\n"
"Language: fr\n"
@ -142,7 +144,7 @@ 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:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -156,7 +158,7 @@ msgstr ""
"Si vous répondez non, cette personne sera mise temporairement sur liste "
"noire."
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
@ -165,59 +167,59 @@ msgstr ""
"Entrez le mot de passe pour <i>%s</i>\n"
" sur le domaine <i>%s</i>:"
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr "Erreur lors de l'appel"
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr "Appel terminé."
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "Appel entrant"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr "Répondre"
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr "Refuser"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr "Appel en pause"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr "b>par %s</b>"
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, 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:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr "Lien site web"
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr "Linphone - un téléphone video pour l'internet"
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr "%s (par défaut)"
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr "Transfert vers %s"
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
msgid ""
"No sound cards have been detected on this computer.\n"
"You won't be able to send or receive audio calls."
@ -225,7 +227,7 @@ msgstr ""
"Aucune carte son n'a été détectée sur cet ordinateur.\n"
"Vous ne pourrez pas effectuer d'appels audio."
#: ../gtk/main.c:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr "Un visiophone libre"
@ -381,15 +383,19 @@ msgstr ""
"La nouvelle selection de langue prendra effet au prochain démarrage de "
"linphone."
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr "Aucun"
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr "SRTP"
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr "DTLS"
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr "ZRTP"
@ -569,7 +575,7 @@ msgstr "Validation (étape 2/2)"
msgid "Error"
msgstr "Erreur"
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr "En cours darrêt."
@ -662,7 +668,7 @@ msgstr "Raccrocher"
msgid "<b>Calling...</b>"
msgstr "<b>Tentative d'appel...</b>"
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr "00::00::00"
@ -699,55 +705,59 @@ msgid "Secured by SRTP"
msgstr "Sécurisé par SRTP"
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr "Sécurisé par DTLS"
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr "Sécurisé par ZRTP- [jeton: %s]"
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr "Marquer comme non vérifié"
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr "Marquer comme vérifié"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr "En conférence"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr "<b>Appel en cours</b>"
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr "<b>Appel en attente</b>"
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr "<b>Appel terminé.</b>"
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr "Transfert en cours"
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr "Transfert terminé"
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr "Transfert échoué"
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr "Reprendre"
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr "Pause"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
@ -756,7 +766,7 @@ msgstr ""
"<small><i>Enregistrement dans\n"
"%s %s</i></small>"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr "(en attente)"
@ -856,23 +866,23 @@ msgstr "Jouer"
msgid "Let's start Linphone now"
msgstr "Démarrons Linphone maintenant"
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr "Assistant audio"
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr "Assistant audio"
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr "Calibration du gain du microphone"
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr "Calibration du volume du haut parleur"
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr "Enregistrer et joue"
@ -1744,68 +1754,68 @@ msgstr ""
"Veuillez patenter un instant pendant le chargement de la configuration "
"distante..."
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr "Prêt."
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr "Configuration en cours"
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr "Recherche de la destination du numéro de téléphone..."
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr "La destination n'a pu être trouvée."
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr "Appel de"
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr "Echec de l'appel"
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
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:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr "vous appelle"
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr "et sollicite un décrochage automatique."
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr "Modifications des paramètres d'appels..."
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "En ligne."
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr "Appel abandonné"
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr "La mise en attente a échoué"
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr "Mise en attente de l'appel..."
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr "Découverte STUN en cours"
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr "Collection des candidats locaux ICE en cours..."
@ -1861,7 +1871,7 @@ msgstr "En congé"
msgid "Unknown status"
msgstr "Status inconnu"
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
@ -1869,7 +1879,7 @@ msgstr ""
"L'adresse SIP du proxy est invalide. Elle doit commencer par \"sip:\" suivie "
"par un nom de domaine."
#: ../coreapi/proxy.c:333
#: ../coreapi/proxy.c:334
msgid ""
"The sip identity you entered is invalid.\n"
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
@ -1878,126 +1888,127 @@ msgstr ""
"Elle doit être de la forme sip:username@domain, comme par example sip:"
"alice@example.net"
#: ../coreapi/proxy.c:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr "Echec de la connexion en tant que %s"
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr "Sonnerie distante."
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr "Sonnerie distante..."
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr "Prise d'appel anticipée."
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr "%s est maintenant en attente."
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr "Appel répondu par %s - en attente"
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr "Appel repris."
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr "Appel répondu par %s."
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr "Incompatible, vérfiez les codecs ou les paramètres de sécurité..."
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr "Paramètres media incompatibles."
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr "Appel repris."
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
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:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr "L'appel est modifié par la partie distante."
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr "Appel terminé."
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "Occupé..."
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "L'usager est temporairement indisponible."
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "L'usager ne souhaite pas être dérangé"
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "Appel décliné."
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr "Délai d'attente de la requête dépassé."
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr "Redirection"
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr "L'appel a échoué."
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr "Enregistrement sur %s effectué."
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr "Désenregistrement sur %s effectué."
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr "Pas de réponse"
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr "Echec de l'enregistrement sur %s: %s"
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr "Service indisponible, nouvelle tentative"
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr "Le jeton d'authentification est %s"
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

186
po/he.po
View file

@ -11,9 +11,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-06 11:29+0000\n"
"Last-Translator: Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: Hebrew (http://www.transifex.com/projects/p/linphone-gtk/"
"language/he/)\n"
"Language: he\n"
@ -140,7 +141,7 @@ msgstr ""
msgid "Run self test and exit 0 if succeed"
msgstr ""
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -153,7 +154,7 @@ msgstr ""
"שלך ?\n"
"היה ותשובתך תהיה לא, אדם זה יהיה מסומן באופן זמני ברשימה השחורה."
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
@ -162,59 +163,59 @@ msgstr ""
"אנא הזן סיסמה עבור משתמש <i>%s</i>\n"
"במתחם <i>%s</i>:"
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr "שגיאת קריאה"
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr "שיחה הסתיימה"
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "קריאה נכנסת"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr "לענות"
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr "לדחות"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr "שיחה הושהתה"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr "<b>על ידי %s</b>"
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, c-format
msgid "%s proposed to start video. Do you accept ?"
msgstr "%s רוצה להתחיל וידאו. האם אתה מסכים ?"
#: ../gtk/main.c:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr "קישור אתר רשת"
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr "Linphone - וידאופון אינטרנטי"
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr "%s (ברירת מחדל)"
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr "אנחנו מועברים אל %s"
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
msgid ""
"No sound cards have been detected on this computer.\n"
"You won't be able to send or receive audio calls."
@ -222,7 +223,7 @@ msgstr ""
"לא אותרו כרטיסי קול במחשב זה.\n"
"לא תהיה ביכולתך לשלוח או לקבל שיחות אודיו."
#: ../gtk/main.c:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr "וידאופון SIP חופשי"
@ -376,15 +377,19 @@ msgid ""
"You need to restart linphone for the new language selection to take effect."
msgstr "עליך לאתחל את לינפון כדי שהשפה החדשה תיכנס לתוקף."
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr "ללא"
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr ""
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr ""
@ -559,7 +564,7 @@ msgstr "אימות (צעד 2/2)"
msgid "Error"
msgstr "שגיאה"
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr "מסיים כעת"
@ -652,7 +657,7 @@ msgstr "נתק"
msgid "<b>Calling...</b>"
msgstr "<b>מתקשר כעת...</b>"
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr "00::00::00"
@ -689,55 +694,59 @@ msgid "Secured by SRTP"
msgstr "מאובטחת על ידי SRTP"
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr "מאובטחת על ידי ZRTP - [אות אימות: %s]"
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr "הגדר כלא מאומתת"
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr "הגדר כמאומתת"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr "בשיחת ועידה"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr "<b>בשיחה כעת</b>"
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr "<b>שיחה מושהית</b>"
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr "<b>שיחה הסתיימה.</b>"
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr "העברה מצויה כעת בעיצומה"
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr "העברה הסתיימה."
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr "העברה נכשלה."
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr "חזור"
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr "השהה"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
@ -746,7 +755,7 @@ msgstr ""
"<small><i>מקליט אל תוך\n"
"%s %s</i></small>"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr "(מושהה)"
@ -843,23 +852,23 @@ msgstr ""
msgid "Let's start Linphone now"
msgstr "הבא נתחיל את Linphone עכשיו"
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr ""
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr ""
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr ""
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr ""
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr ""
@ -1709,68 +1718,68 @@ msgstr ""
msgid "Please wait while fetching configuration from server..."
msgstr ""
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr "מוכן"
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr ""
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr "מחפש כעת עבור יעד מספר טלפון..."
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr "לא ניתן לפתור את מספר זה."
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr "מתקשר כעת"
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr "לא ניתן להתקשר"
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
msgid "Sorry, we have reached the maximum number of simultaneous calls"
msgstr "הגענו אל המספר המרבי של שיחות מקבילות, עמך הסליחה"
#: ../coreapi/linphonecore.c:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr "מתקשר/ת אליך"
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr " ומבקש/ת מענה אוטומטי."
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr "מתאים כעת פרמטרים של שיחה..."
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "מקושר."
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr "קריאה בוטלה"
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr "לא ניתן להשהות את השיחה"
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr "משהה כעת שיחה נוכחית..."
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr "בדיקת STUN מצויה כעת בעיצומה..."
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr "צבירת מועמדים מקומיים של ICE מצויה כעת בעיצומה..."
@ -1826,14 +1835,14 @@ msgstr ""
msgid "Unknown status"
msgstr ""
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
msgstr ""
"כתובת sip proxy שהזנת הינה שגויה, זו צריכה להתחיל עם‭\"sip:\" לאחר שם מארח."
#: ../coreapi/proxy.c:333
#: ../coreapi/proxy.c:334
msgid ""
"The sip identity you entered is invalid.\n"
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
@ -1841,126 +1850,127 @@ msgstr ""
"זהות sip שהוזנה הינה שגויה.\n"
"זו צריכה להיראות כמו sip:username@proxydomain, למשל sip:alice@example.net"
#: ../coreapi/proxy.c:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr "לא ניתן להתחבר בזהות %s"
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr "צלצול מרוחק."
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr "צלצול מרוחק..."
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr "מדיה מוקדמת."
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr "שיחה עם %s מושהית."
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr "קריאה נענתה על ידי %s - בהמתנה."
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr "קריאה חודשה."
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr "קריאה נענתה על ידי %s."
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr "חוסר תאימות, בדוק קודקים או הגדרות אבטחה..."
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr "פרמטריי מדיה חסרי תואמים."
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr "חזרנו."
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
msgid "We are paused by other party."
msgstr "אנו מושהים על ידי צד אחר."
#. reINVITE and in-dialogs UPDATE go here
#: ../coreapi/callbacks.c:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr "שיחה עודכנה מרחוק."
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr "קריאה הסתיימה."
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "משתמש עסוק כעת."
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "משתמש לא זמין זמנית."
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "משתמש לא מעוניין שיפריעו לו."
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "קריאה סורבה."
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr ""
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr "מכוון מחדש"
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr "קריאה נכשלה."
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr "רישום אצל %s הושלם בהצלחה."
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr "אי רישום אצל %s סוים."
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr "אין היענות תוך זמן מוגדר"
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr "רישום אצל %s נכשל: %s"
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr ""
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr "אות האימות הינה %s"
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

186
po/hu.po
View file

@ -7,9 +7,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-06 11:29+0000\n"
"Last-Translator: Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: Hungarian (http://www.transifex.com/projects/p/linphone-gtk/"
"language/hu/)\n"
"Language: hu\n"
@ -136,7 +137,7 @@ msgstr ""
msgid "Run self test and exit 0 if succeed"
msgstr ""
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -149,66 +150,66 @@ msgstr ""
"szeretné adni a partnerlistához?\n"
"Ha nemmel válaszol, ez a személy átmenetileg tiltólistára kerül."
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
" at realm <i>%s</i>:"
msgstr ""
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr "Hiba a hívás közben"
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr "Hívás vége"
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "Beérkező hívás"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr "Hívás fogadása"
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr "Elutasítás"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr "Hívás várakoztatva"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr "<b>a következő által: %s</b>"
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, c-format
msgid "%s proposed to start video. Do you accept ?"
msgstr "%s szerené elidítani a videót. Elfogadja?"
#: ../gtk/main.c:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr "Internetes oldal"
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr "Linphone - internetes videó telefon"
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr "%s (Alapértelmezett)"
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr "Át vagyunk irányítva ide: %s"
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
msgid ""
"No sound cards have been detected on this computer.\n"
"You won't be able to send or receive audio calls."
@ -216,7 +217,7 @@ msgstr ""
"Hangkártya nincs érzékelve ezen a számítógépen.\n"
"Nem fog tudni hang hívásokat küldeni vagy fogadni."
#: ../gtk/main.c:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr "Egy ingyenes SIP video-telefon"
@ -372,15 +373,19 @@ msgstr ""
"Újra kell indítania a linphone-t, hogy az új nyelv kiválasztása érvényre "
"jusson. "
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr "Nincs"
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr "SRTP"
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr "ZRTP"
@ -557,7 +562,7 @@ msgstr "Érvényesítés (2/2 lépés)"
msgid "Error"
msgstr "Hiba"
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr "Befejezés"
@ -650,7 +655,7 @@ msgstr "Befejezés"
msgid "<b>Calling...</b>"
msgstr "<b>Hívás folyamatban...</b>"
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr "00::00::00"
@ -687,55 +692,59 @@ msgid "Secured by SRTP"
msgstr "SRTP-vel titkosítva"
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr "ZRTP-vel titkosítva - [hitelesítési jel: %s]"
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr "Beállítás ellenőrizetlenként"
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr "Beállítás ellenőrzöttként"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr "Konferencián"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr "<b>vonalban</b>"
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr "<b>Várakoztatott hívás</b>"
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr "<b>Hívás vége.</b>"
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr "Átvitel folyamatban"
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr "Átvitel befejezve."
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr "Az átvitel sikertelen."
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr "Visszatérés"
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr "Várakoztatás"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
@ -744,7 +753,7 @@ msgstr ""
"<small><i>Felvétel a következőbe\n"
"%s %s</i></small>"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr "(Várakoztatva)"
@ -841,23 +850,23 @@ msgstr ""
msgid "Let's start Linphone now"
msgstr ""
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr ""
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr ""
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr ""
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr ""
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr ""
@ -1709,68 +1718,68 @@ msgstr ""
msgid "Please wait while fetching configuration from server..."
msgstr ""
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr "Kész"
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr ""
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr "Telefonszám-cél keresése..."
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr "Nem sikkerült értelmezni a számot."
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr "Kapcsolódás"
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr "Nem sikerült hívni"
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
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:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr "kapcsolatba lépett veled."
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr "és automatikus választ kért."
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr "A hívási jellemzők módosítása..."
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "Kapcsolódva."
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr "Hívás megszakítva"
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr "Nem sikerült várakoztatni a hívást"
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr "Jelenlegi hívás várakoztatásának aktiválása..."
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr "Stun keresés folyamatban..."
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr "ICE helyi jelentkezők begyűjtése folyamatban..."
@ -1826,7 +1835,7 @@ msgstr ""
msgid "Unknown status"
msgstr ""
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
@ -1834,7 +1843,7 @@ 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:333
#: ../coreapi/proxy.c:334
msgid ""
"The sip identity you entered is invalid.\n"
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
@ -1843,127 +1852,128 @@ msgstr ""
"Így kéne kinéznie: sip:felhasznalonev@proxytartomany, például sip:"
"aladar@pelda.hu"
#: ../coreapi/proxy.c:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr "Nem sikerült belépni ezzel: %s"
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr "Távoli csengés."
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr "Távoli csengés..."
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr "Korai médiák."
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr "A hívás a következővel: %s várakoztatva"
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr "%s fogadta a hívást - várakoztatva."
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr "Hívás visszatért"
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr "%s válaszolt a hívásra."
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr ""
"Nem kompatibilis, ellenőrizze a kódek- vagy a biztonsági beállításokat..."
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr "Nem kompatibilis médiajellemzők."
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr "Visszatértünk."
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
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:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr "A hívás távolról frissítve."
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr "A hívás befejezve."
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "A felhasználó foglalt."
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "A felhasználó ideiglenesen nem elérhető"
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "A felhasználó nem akarja, hogy zavarják."
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "Hívás elutasítva"
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr ""
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr "Átirányítva"
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr "Nem sikerült a hívás."
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr "A regisztáció a %s -n sikerült."
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr "A kiregisztrálás kész a következőn: %s ."
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr "időtúllépés után nincs válasz"
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr "A regisztáció a %s -n nem sikerült: %s"
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr ""
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr "Hitelesítési jel: %s"
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

186
po/it.po
View file

@ -7,9 +7,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-06 11:29+0000\n"
"Last-Translator: Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: Italian (http://www.transifex.com/projects/p/linphone-gtk/"
"language/it/)\n"
"Language: it\n"
@ -134,7 +135,7 @@ msgstr ""
msgid "Run self test and exit 0 if succeed"
msgstr ""
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -146,72 +147,72 @@ msgstr ""
"veda il tuo stato o aggiungerlo alla tua lista dei contatti Se rispondi no "
"questo utente sarà momentaneamente bloccato."
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
" at realm <i>%s</i>:"
msgstr ""
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr ""
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr "Chiamata terminata"
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "Chimata in entrata"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr ""
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr "Rifiuta"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr ""
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr ""
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, c-format
msgid "%s proposed to start video. Do you accept ?"
msgstr ""
#: ../gtk/main.c:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr ""
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr ""
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr "%s (Default)"
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr ""
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
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:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr ""
@ -365,15 +366,19 @@ msgid ""
"You need to restart linphone for the new language selection to take effect."
msgstr "Riavviare il software per utilizzare la nuova lingua selezionata"
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr ""
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr ""
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr ""
@ -544,7 +549,7 @@ msgstr ""
msgid "Error"
msgstr ""
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr ""
@ -635,7 +640,7 @@ msgstr ""
msgid "<b>Calling...</b>"
msgstr ""
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr ""
@ -672,62 +677,66 @@ msgid "Secured by SRTP"
msgstr ""
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr ""
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr ""
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr ""
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr ""
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr ""
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr ""
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr "<b>Chiamata terminata.</b>"
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr ""
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr ""
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr ""
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr ""
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr ""
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
"%s %s</i></small>"
msgstr ""
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr ""
@ -824,23 +833,23 @@ msgstr ""
msgid "Let's start Linphone now"
msgstr ""
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr ""
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr ""
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr ""
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr ""
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr ""
@ -1689,68 +1698,68 @@ msgstr ""
msgid "Please wait while fetching configuration from server..."
msgstr ""
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr "Pronto"
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr ""
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr "Ricerca numero destinazione..."
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr "Impossibile risolvere il numero."
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr "In connessione"
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr ""
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
msgid "Sorry, we have reached the maximum number of simultaneous calls"
msgstr ""
#: ../coreapi/linphonecore.c:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr ""
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr ""
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr ""
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "Connessione"
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr ""
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr ""
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr ""
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr "Ricerca Stun in progresso ..."
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr ""
@ -1806,7 +1815,7 @@ msgstr ""
msgid "Unknown status"
msgstr ""
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
@ -1814,7 +1823,7 @@ msgstr ""
"L'indirizzo sip proxy utilizzato è invalido, deve iniziare con \"sip:\" "
"seguito dall' hostaname."
#: ../coreapi/proxy.c:333
#: ../coreapi/proxy.c:334
msgid ""
"The sip identity you entered is invalid.\n"
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
@ -1822,126 +1831,127 @@ msgstr ""
"L'identità sip utilizza è invalida.\n"
"Dovrebbre essere sip:username@proxydomain, esempio: sip:alice@example.net"
#: ../coreapi/proxy.c:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr "impossibile login come %s"
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr ""
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr ""
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr ""
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr ""
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr ""
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr ""
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr ""
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr ""
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr ""
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr ""
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
msgid "We are paused by other party."
msgstr ""
#. reINVITE and in-dialogs UPDATE go here
#: ../coreapi/callbacks.c:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr ""
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr "Chiamata terminata."
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "Utente occupato"
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "Utente non disponibile"
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "L'utente non vuole essere disturbato"
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "Chiamata rifiutata"
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr ""
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr ""
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr ""
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr "Registrazione su %s attiva"
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr "Unregistrazione su %s"
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr "timeout no risposta"
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr "Registrazione su %s fallita: %s"
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr ""
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr ""
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

188
po/ja.po
View file

@ -9,9 +9,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-13 16:34+0000\n"
"Last-Translator: Alexander\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: Japanese (http://www.transifex.com/projects/p/linphone-gtk/"
"language/ja/)\n"
"Language: ja\n"
@ -138,7 +139,7 @@ msgstr "オーディオアシスタントを実行"
msgid "Run self test and exit 0 if succeed"
msgstr ""
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -151,72 +152,72 @@ msgstr ""
"す。\n"
"あなたが拒否すると、この人は一時的にブラックリストへ登録されます。"
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
" at realm <i>%s</i>:"
msgstr ""
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr "呼出エラー"
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr "呼出終了"
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "着信"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr "応答"
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr "拒否"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr "呼び出しの一時停止"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr "<b>%s</b>"
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, c-format
msgid "%s proposed to start video. Do you accept ?"
msgstr ""
#: ../gtk/main.c:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr "ウェブサイトリンク"
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr "Linphone - ビデオインターネット電話"
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr "%s (デフォルト)"
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr "%s に転送しました"
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
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:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr "無料 SIP ビデオ-電話"
@ -370,15 +371,19 @@ msgid ""
"You need to restart linphone for the new language selection to take effect."
msgstr "言語の選択を有効にするには、 Linphoneを再起動する必要があります。"
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr "なし"
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr "SRTP"
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr "ZRTP"
@ -426,6 +431,8 @@ msgid ""
"Welcome!\n"
"This assistant will help you to use a SIP account for your calls."
msgstr ""
"ようこそ!\n"
"あなたの通話のためのSIPアカウント設定をお手伝いします。"
#: ../gtk/setupwizard.c:43
msgid "Create an account on linphone.org"
@ -552,7 +559,7 @@ msgstr "検証します (2/2)"
msgid "Error"
msgstr "エラー"
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr "終了"
@ -645,7 +652,7 @@ msgstr ""
msgid "<b>Calling...</b>"
msgstr "<b>かけています…</b>"
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr "00::00::00"
@ -682,62 +689,66 @@ msgid "Secured by SRTP"
msgstr "SRTPのセキュリティ"
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr "ZRTP によるセキュリティ - [auth token: %s]"
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr "セット未検証"
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr "セット検証済"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr "会議で"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr "<b>呼び出し中</b>"
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr "<b>呼び出し停止</b>"
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr "<b>呼び出し終了</b>"
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr "進行中の転送"
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr "転送完了。"
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr "転送失敗。"
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr "レジューム"
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr "一時停止"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
"%s %s</i></small>"
msgstr ""
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr "(停止中)"
@ -834,23 +845,23 @@ msgstr "再生"
msgid "Let's start Linphone now"
msgstr "Linphoneをはじめる"
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr "音声アシスタント"
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr "音声アシスタント"
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr "マイクのゲイン測定"
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr "スピーカーの音量測定"
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr "録音して再生"
@ -1712,68 +1723,68 @@ msgstr ""
msgid "Please wait while fetching configuration from server..."
msgstr ""
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr "準備"
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr ""
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr ""
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr ""
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr ""
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr ""
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
msgid "Sorry, we have reached the maximum number of simultaneous calls"
msgstr ""
#: ../coreapi/linphonecore.c:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr ""
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr "と自動応答を尋ねる"
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr "コールパラメーターの変更..."
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "接続しました。"
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr "呼び出しを打ち切る"
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr "呼び出しを一時停止できませんでした"
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr "現在の通話を一時停止..."
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr "Stunによるルックアップの進行中…"
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr ""
@ -1829,138 +1840,139 @@ msgstr "休暇中"
msgid "Unknown status"
msgstr "不明なステータス"
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
msgstr ""
#: ../coreapi/proxy.c:333
#: ../coreapi/proxy.c:334
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:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr ""
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr ""
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr ""
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr "Early media."
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr ""
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr ""
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr ""
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr ""
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr ""
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr ""
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr ""
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
msgid "We are paused by other party."
msgstr ""
#. reINVITE and in-dialogs UPDATE go here
#: ../coreapi/callbacks.c:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr ""
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr "呼び出し終了。"
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "相手はビジーです。"
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "相手は、今出られません。"
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "相手は手が離せないようです。"
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "通話は拒否されました。"
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr "リクエストは時間切れです。"
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr ""
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr ""
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr ""
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr ""
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr ""
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr ""
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr ""
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr ""
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

View file

@ -8,9 +8,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-06 11:29+0000\n"
"Last-Translator: Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: Norwegian Bokmål (Norway) (http://www.transifex.com/projects/"
"p/linphone-gtk/language/nb_NO/)\n"
"Language: nb_NO\n"
@ -137,7 +138,7 @@ msgstr ""
msgid "Run self test and exit 0 if succeed"
msgstr ""
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -150,66 +151,66 @@ msgstr ""
"din kontaktliste?\n"
"Hvis du svarer nei vil personen bli svartelyst midlertidig."
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
" at realm <i>%s</i>:"
msgstr ""
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr ""
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr "Samtale avsluttet"
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "Innkommende samtale"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr "Svarer"
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr "Avvis"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr ""
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr ""
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, c-format
msgid "%s proposed to start video. Do you accept ?"
msgstr ""
#: ../gtk/main.c:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr "Peker til nettsted"
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr "Linphone - en video Internet telefon"
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr "%s (Standard)"
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr "Vi er overført til %s"
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
msgid ""
"No sound cards have been detected on this computer.\n"
"You won't be able to send or receive audio calls."
@ -217,7 +218,7 @@ msgstr ""
"Klarte ikke å finne noe lydkort på denne datamaskinen.\n"
"Du vil ikke kunne sende eller motta lydsamtaler."
#: ../gtk/main.c:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr "En gratis SIP video-telefon"
@ -371,15 +372,19 @@ msgid ""
"You need to restart linphone for the new language selection to take effect."
msgstr "Du må restarte linphone for at det nye språkvalget skal iverksettes."
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr ""
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr ""
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr ""
@ -550,7 +555,7 @@ msgstr ""
msgid "Error"
msgstr ""
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr ""
@ -641,7 +646,7 @@ msgstr ""
msgid "<b>Calling...</b>"
msgstr "<b>Ringer...</b>"
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr "00:00:00"
@ -678,62 +683,66 @@ msgid "Secured by SRTP"
msgstr ""
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr ""
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr ""
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr ""
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr ""
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr "<b>I samtale med</b>"
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr "<b>Pauset samtale</b>"
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr "<b>Samtale avsluttet.</b>"
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr ""
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr ""
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr ""
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr "Fortsett"
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr "Pause"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
"%s %s</i></small>"
msgstr ""
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr ""
@ -830,23 +839,23 @@ msgstr ""
msgid "Let's start Linphone now"
msgstr ""
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr ""
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr ""
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr ""
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr ""
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr ""
@ -1696,68 +1705,68 @@ msgstr ""
msgid "Please wait while fetching configuration from server..."
msgstr ""
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr "Klar"
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr ""
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr "Ser etter telefonnummer for destinasjonen..."
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr "Kan ikke tilkoble dette nummeret."
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr "Tilknytter"
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr "Kunne ikke ringe"
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
msgid "Sorry, we have reached the maximum number of simultaneous calls"
msgstr "Beklager, du har nådd maksimalt antall samtidige samtaler"
#: ../coreapi/linphonecore.c:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr "Kontakter deg."
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr " og ba om autosvar."
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr "Endrer ringeparametre..."
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "Tilkoblet"
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr "Samtale avbrutt"
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr "Kunne ikke pause samtalen"
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr "Pauser nåværende samtale"
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr "STUN oppslag pågår..."
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr ""
@ -1813,7 +1822,7 @@ msgstr ""
msgid "Unknown status"
msgstr ""
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
@ -1821,7 +1830,7 @@ msgstr ""
"SIP proxy adressen du har angitt er ugyldig, den må begynne med \"sip:\" "
"etterfult av vertsnavn."
#: ../coreapi/proxy.c:333
#: ../coreapi/proxy.c:334
msgid ""
"The sip identity you entered is invalid.\n"
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
@ -1829,126 +1838,127 @@ 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:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr "Ikke ikke logge inn som %s"
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr "Ringer hos motparten."
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr ""
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr "Tidlig media"
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr "Samtalen med %s er pauset."
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr "Samtale besvart av %s - på vent."
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr "Samtale gjenopptatt."
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr "Samtale besvart av %s."
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr ""
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr ""
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr ""
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
msgid "We are paused by other party."
msgstr ""
#. reINVITE and in-dialogs UPDATE go here
#: ../coreapi/callbacks.c:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr ""
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr "Samtale avsluttet."
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "Brukeren er opptatt."
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "Brukeren er midlertidig ikke tilgjengelig."
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "Brukeren vil ikke bli forstyrret."
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "Samtale avvist."
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr ""
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr "Omdirigert"
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr "Samtale feilet."
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr "Registrering hos %s lykkes."
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr "Avregistrering hos %s lykkes."
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr "ingen svar innen angitt tid"
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr "Registrering hos %s mislykkes: %s"
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr ""
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr ""
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

186
po/nl.po
View file

@ -7,9 +7,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-06 11:29+0000\n"
"Last-Translator: Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: Dutch (http://www.transifex.com/projects/p/linphone-gtk/"
"language/nl/)\n"
"Language: nl\n"
@ -134,7 +135,7 @@ msgstr ""
msgid "Run self test and exit 0 if succeed"
msgstr ""
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -143,72 +144,72 @@ msgid ""
"If you answer no, this person will be temporarily blacklisted."
msgstr ""
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
" at realm <i>%s</i>:"
msgstr ""
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr ""
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr "Oproep beeindigd"
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "Inkomende oproep"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr ""
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr ""
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr ""
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr ""
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, c-format
msgid "%s proposed to start video. Do you accept ?"
msgstr ""
#: ../gtk/main.c:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr ""
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr ""
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr ""
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr ""
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
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:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr "Een Vrije SIP video-telefoon"
@ -362,15 +363,19 @@ msgid ""
"You need to restart linphone for the new language selection to take effect."
msgstr ""
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr "Geen"
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr ""
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr ""
@ -539,7 +544,7 @@ msgstr ""
msgid "Error"
msgstr ""
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr ""
@ -630,7 +635,7 @@ msgstr ""
msgid "<b>Calling...</b>"
msgstr ""
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr ""
@ -667,62 +672,66 @@ msgid "Secured by SRTP"
msgstr ""
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr ""
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr ""
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr ""
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr ""
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr ""
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr ""
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr ""
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr ""
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr ""
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr ""
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr ""
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr ""
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
"%s %s</i></small>"
msgstr ""
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr ""
@ -819,23 +828,23 @@ msgstr ""
msgid "Let's start Linphone now"
msgstr ""
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr ""
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr ""
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr ""
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr ""
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr ""
@ -1683,68 +1692,68 @@ msgstr ""
msgid "Please wait while fetching configuration from server..."
msgstr ""
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr "Gereed."
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr ""
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr "Zoekt de lokatie van het telefoonnummer..."
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr "Kon dit nummer niet vinden."
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr "Verbinden"
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr ""
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
msgid "Sorry, we have reached the maximum number of simultaneous calls"
msgstr ""
#: ../coreapi/linphonecore.c:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr ""
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr ""
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr ""
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "Verbonden."
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr ""
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr ""
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr ""
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr "STUN adres wordt opgezocht..."
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr ""
@ -1800,138 +1809,139 @@ msgstr ""
msgid "Unknown status"
msgstr ""
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
msgstr ""
#: ../coreapi/proxy.c:333
#: ../coreapi/proxy.c:334
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:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr ""
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr ""
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr ""
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr ""
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr ""
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr ""
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr ""
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr ""
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr ""
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr ""
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr ""
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
msgid "We are paused by other party."
msgstr ""
#. reINVITE and in-dialogs UPDATE go here
#: ../coreapi/callbacks.c:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr ""
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr "Oproep beeindigd."
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "Gebruiker is bezet."
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "Gebruiker is tijdelijk niet beschikbaar."
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "De gebruiker wenst niet gestoord te worden."
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "Oproep geweigerd."
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr ""
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr ""
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr ""
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr "Registratie op %s gelukt."
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr ""
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr ""
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr ""
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr ""
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr ""
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

186
po/pl.po
View file

@ -7,9 +7,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-06 11:29+0000\n"
"Last-Translator: Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: Polish (http://www.transifex.com/projects/p/linphone-gtk/"
"language/pl/)\n"
"Language: pl\n"
@ -137,7 +138,7 @@ msgstr ""
msgid "Run self test and exit 0 if succeed"
msgstr ""
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -146,72 +147,72 @@ msgid ""
"If you answer no, this person will be temporarily blacklisted."
msgstr ""
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
" at realm <i>%s</i>:"
msgstr ""
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr ""
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr ""
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr ""
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr ""
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr ""
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr ""
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr ""
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, c-format
msgid "%s proposed to start video. Do you accept ?"
msgstr ""
#: ../gtk/main.c:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr ""
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr ""
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr ""
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr ""
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
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:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr ""
@ -365,15 +366,19 @@ msgid ""
"You need to restart linphone for the new language selection to take effect."
msgstr ""
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr ""
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr ""
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr ""
@ -543,7 +548,7 @@ msgstr ""
msgid "Error"
msgstr ""
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr ""
@ -634,7 +639,7 @@ msgstr ""
msgid "<b>Calling...</b>"
msgstr ""
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr ""
@ -671,62 +676,66 @@ msgid "Secured by SRTP"
msgstr ""
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr ""
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr ""
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr ""
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr ""
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr ""
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr ""
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr ""
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr ""
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr ""
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr ""
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr ""
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr ""
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
"%s %s</i></small>"
msgstr ""
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr ""
@ -823,23 +832,23 @@ msgstr ""
msgid "Let's start Linphone now"
msgstr ""
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr ""
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr ""
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr ""
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr ""
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr ""
@ -1687,68 +1696,68 @@ msgstr ""
msgid "Please wait while fetching configuration from server..."
msgstr ""
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr ""
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr ""
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr ""
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr ""
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr ""
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr ""
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
msgid "Sorry, we have reached the maximum number of simultaneous calls"
msgstr ""
#: ../coreapi/linphonecore.c:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr ""
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr ""
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr ""
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "Połączony"
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr ""
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr ""
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr ""
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr ""
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr ""
@ -1804,138 +1813,139 @@ msgstr ""
msgid "Unknown status"
msgstr ""
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
msgstr ""
#: ../coreapi/proxy.c:333
#: ../coreapi/proxy.c:334
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:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr ""
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr ""
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr ""
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr ""
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr ""
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr ""
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr ""
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr ""
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr ""
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr ""
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr ""
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
msgid "We are paused by other party."
msgstr ""
#. reINVITE and in-dialogs UPDATE go here
#: ../coreapi/callbacks.c:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr ""
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr ""
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "Osoba jest zajęta."
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "Osoba jest tymczasowo niedostępna."
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "Osoba nie chce, aby jej przeszkadzać."
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "Rozmowa odrzucona."
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr ""
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr ""
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr ""
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr ""
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr ""
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr ""
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr ""
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr ""
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr ""
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

View file

@ -7,9 +7,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-06 11:29+0000\n"
"Last-Translator: Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: Portuguese (Brazil) (http://www.transifex.com/projects/p/"
"linphone-gtk/language/pt_BR/)\n"
"Language: pt_BR\n"
@ -134,7 +135,7 @@ msgstr ""
msgid "Run self test and exit 0 if succeed"
msgstr ""
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -143,72 +144,72 @@ msgid ""
"If you answer no, this person will be temporarily blacklisted."
msgstr ""
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
" at realm <i>%s</i>:"
msgstr ""
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr ""
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr ""
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "Camadas recebidas"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr ""
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr ""
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr ""
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr ""
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, c-format
msgid "%s proposed to start video. Do you accept ?"
msgstr ""
#: ../gtk/main.c:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr ""
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr ""
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr ""
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr ""
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
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:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr ""
@ -362,15 +363,19 @@ msgid ""
"You need to restart linphone for the new language selection to take effect."
msgstr ""
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr "Nenhum"
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr ""
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr ""
@ -539,7 +544,7 @@ msgstr ""
msgid "Error"
msgstr ""
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr ""
@ -630,7 +635,7 @@ msgstr ""
msgid "<b>Calling...</b>"
msgstr ""
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr ""
@ -667,62 +672,66 @@ msgid "Secured by SRTP"
msgstr ""
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr ""
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr ""
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr ""
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr ""
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr ""
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr ""
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr ""
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr ""
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr ""
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr ""
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr ""
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr ""
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
"%s %s</i></small>"
msgstr ""
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr ""
@ -819,23 +828,23 @@ msgstr ""
msgid "Let's start Linphone now"
msgstr ""
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr ""
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr ""
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr ""
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr ""
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr ""
@ -1683,68 +1692,68 @@ msgstr ""
msgid "Please wait while fetching configuration from server..."
msgstr ""
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr ""
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr ""
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr "Procurando por telefone de destino..."
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr "Não foi possível encontrar este número."
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr ""
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr ""
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
msgid "Sorry, we have reached the maximum number of simultaneous calls"
msgstr ""
#: ../coreapi/linphonecore.c:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr ""
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr ""
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr ""
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "Conectado."
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr ""
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr ""
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr ""
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr ""
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr ""
@ -1800,138 +1809,139 @@ msgstr ""
msgid "Unknown status"
msgstr ""
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
msgstr ""
#: ../coreapi/proxy.c:333
#: ../coreapi/proxy.c:334
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:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr ""
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr ""
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr ""
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr ""
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr ""
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr ""
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr ""
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr ""
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr ""
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr ""
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr ""
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
msgid "We are paused by other party."
msgstr ""
#. reINVITE and in-dialogs UPDATE go here
#: ../coreapi/callbacks.c:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr ""
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr ""
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "Usuário está ocupado."
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "Usuário está temporáriamente indisponível."
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr ""
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr ""
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr ""
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr ""
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr ""
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr ""
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr ""
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr ""
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr ""
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr ""
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr ""
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

186
po/ru.po
View file

@ -12,9 +12,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-14 09:11+0000\n"
"Last-Translator: AlexL <loginov.alex.valer@gmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: Russian (http://www.transifex.com/projects/p/linphone-gtk/"
"language/ru/)\n"
"Language: ru\n"
@ -148,7 +149,7 @@ msgstr "Запустить помощника аудио"
msgid "Run self test and exit 0 if succeed"
msgstr "Запустить самотест и выйти при успехе со статусом 0"
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -161,7 +162,7 @@ msgstr ""
"контактный лист?\n"
"Если вы ответите Нет, эта персона будет временно в чёрном списке."
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
@ -170,59 +171,59 @@ msgstr ""
"Пожалуйста, введите пароль для пользователя <i>%s</i>\n"
" для реалм (рилм) <i>%s</i>:"
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr "Ошибка звонка"
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr "Звонок окончен"
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "Входящий звонок"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr "Ответ"
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr "Отклонить"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr "Звонок приостановлен"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr "<b>%s</b>"
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, c-format
msgid "%s proposed to start video. Do you accept ?"
msgstr "%s предложил запустить видео. Вы принимаете?"
#: ../gtk/main.c:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr "Домашняя страница"
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr "Linphone - интернет видео телефон"
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr "%s (по умолчанию)"
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr "Мы передали в %s"
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
msgid ""
"No sound cards have been detected on this computer.\n"
"You won't be able to send or receive audio calls."
@ -230,7 +231,7 @@ msgstr ""
"Звуковые карты не были обнаружены на этом компьютере.\n"
"Вы не сможете отправлять или получать аудио звонки."
#: ../gtk/main.c:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr "Свободный SIP видео-телефон"
@ -386,15 +387,19 @@ msgstr ""
"Вы должны перезагрузить linphone для того, чтобы языковые настройки вступили "
"в силу."
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr "Нет"
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr "SRTP"
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr "ZRTP"
@ -576,7 +581,7 @@ msgstr "Подтверждение (шаг 2/2)"
msgid "Error"
msgstr "Ошибка"
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr "Прерывание"
@ -669,7 +674,7 @@ msgstr "Повесить трубку"
msgid "<b>Calling...</b>"
msgstr "<b>Звоним...</b>"
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr "00::00::00"
@ -706,55 +711,59 @@ msgid "Secured by SRTP"
msgstr "Защищённые с помощью SRTP"
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr "Защищённые с помощью ZRTP - [знак аутентификации: %s]"
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr "Установить непроверенный"
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr "Установить проверенный"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr "В конференции"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr "<b>Звоним</b>"
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr "<b>Звонок приостановлен</b>"
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr "<b>Звонок закончен.</b>"
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr "Передача в прогрессе"
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr "Передача завершена."
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr "Передача неудачна."
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr "Продолжить"
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr "Пауза"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
@ -763,7 +772,7 @@ msgstr ""
"<small><i>Записывается в\n"
"%s %s</i></small>"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr "(Пауза)"
@ -862,23 +871,23 @@ msgstr "Воспроизведение"
msgid "Let's start Linphone now"
msgstr "Давайте сейчас запустим linphone"
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr "Помощник аудио"
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr "Помощник аудио"
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr "Калибровка усиления микрофона"
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr "Калибровка громкости динамика"
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr "Записать и проиграть"
@ -1747,69 +1756,69 @@ msgstr "Конфигурирование..."
msgid "Please wait while fetching configuration from server..."
msgstr "Пожалуйста, подождите пока получается конфигурация с сервера..."
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr "Готов"
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr "Конфигурирование"
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr "Поиск назначения для телефонного номера.."
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr "Не получилось принять решение по этому номеру."
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr "Соединение"
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr "Невозможно позвонить"
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
msgid "Sorry, we have reached the maximum number of simultaneous calls"
msgstr ""
"К сожалению, мы достигли максимального количества одновременных звонков"
#: ../coreapi/linphonecore.c:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr "контактирует с вами"
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr "и спросил автоматический ответ."
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr "Изменение параметров звонка..."
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "Соединён."
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr "Звонок отменён"
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr "Невозможно приостановить звонок"
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr "Приостановка текущего звонка..."
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr "Идет поиск STUN..."
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr "Сбор локальных кандидатов ICE в прогрессе..."
@ -1865,7 +1874,7 @@ msgstr "Отдых"
msgid "Unknown status"
msgstr "Неизвестный статус"
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
@ -1873,7 +1882,7 @@ msgstr ""
"Введённый SIP-адрес прокси является недействительным, он должен начинаться с "
"\"sip:имя_хоста\""
#: ../coreapi/proxy.c:333
#: ../coreapi/proxy.c:334
msgid ""
"The sip identity you entered is invalid.\n"
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
@ -1882,126 +1891,127 @@ msgstr ""
"Должно выглядеть как sip:имя_пользователя@домен_прокси, как например, sip:"
"alice@example.net"
#: ../coreapi/proxy.c:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr "Невозможно зайти как: %s"
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr "Дистанционный звонок."
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr "Дистанционный звонок..."
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr "Предответное проключение."
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr "Звонок с %s приостановлен."
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr "На звонок ответил %s - на удержании."
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr "Звонок возобновлён."
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr "На звонок ответил %s."
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr "Несовместимость, проверьте кодеки или параметры безопасности..."
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr "Несовместимость медиа-параметров."
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr "Мы возобновили."
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
msgid "We are paused by other party."
msgstr "Мы приостановлены другой стороной."
#. reINVITE and in-dialogs UPDATE go here
#: ../coreapi/callbacks.c:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr "Звонок был дистанционно обновлён."
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr "Звонок прерван."
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "Пользователь занят."
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "Пользователь временно недоступен."
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "Пользователь не хочет чтобы его беспокоили."
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "Звонок отклонён."
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr "Таймаут запроса."
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr "Переадресован"
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr "Звонок не удался."
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr "Регистрация на %s прошла успешно."
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr "Отмена регистрации на %s завершена."
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr "время ожидания истекло"
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr "Регистрация на %s не удалась: %s"
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr "Сервис недоступен, повтор"
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr "Маркер проверки подлинности: %s"
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

186
po/sr.po
View file

@ -8,9 +8,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-13 16:34+0000\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: Serbian (http://www.transifex.com/projects/p/linphone-gtk/"
"language/sr/)\n"
"Language: sr\n"
@ -142,7 +143,7 @@ msgstr "Покреће помоћника звука"
msgid "Run self test and exit 0 if succeed"
msgstr "Покреће самоиспробавање и излази 0 ако је успешно"
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -156,7 +157,7 @@ msgstr ""
"Ако одговорите са не, ова особа ће привремено бити стављена на списак "
"забрана."
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
@ -165,59 +166,59 @@ msgstr ""
"Унесите вашу лозинку за корисничко име <i>%s</i>\n"
" на подручју <i>%s</i>:"
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr "Грешка позива"
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr "Позив је завршен"
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "Долазни позив"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr "Јави се"
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr "Одбиј"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr "Позив је заустављен"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr "<b>од %s</b>"
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, c-format
msgid "%s proposed to start video. Do you accept ?"
msgstr "%s предлаже да започнете видео. Да ли прихватате ?"
#: ../gtk/main.c:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr "Веза веб сајта"
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr "Линфон — интернет телефон са снимком"
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr "%s (основно)"
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr "Преселили смо се на %s"
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
msgid ""
"No sound cards have been detected on this computer.\n"
"You won't be able to send or receive audio calls."
@ -225,7 +226,7 @@ msgstr ""
"Ниједна звучна картица није откривена на овом рачунару.\n"
"Нећете бити у могућности да шаљете или да примате звучне позиве."
#: ../gtk/main.c:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr "Слободан СИП телефон са снимком"
@ -380,15 +381,19 @@ msgid ""
msgstr ""
"Треба поново да покренете линфон да би нови изабрани језик ступио у дејство."
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr "Ништа"
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr "СРТП"
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr "ЗРТП"
@ -568,7 +573,7 @@ msgstr "Потврђивање (корак 2/2)"
msgid "Error"
msgstr "Грешка"
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr "Завршавам"
@ -661,7 +666,7 @@ msgstr "Прекини"
msgid "<b>Calling...</b>"
msgstr "<b>Позивам...</b>"
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr "00::00::00"
@ -698,55 +703,59 @@ msgid "Secured by SRTP"
msgstr "Осигурано СРТП-ом"
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr "Осигурано ЗРТП-ом [потврђивање идентитета: %s]"
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr "Непроверено подешавање"
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr "Проверено подешавање"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr "На конференцији"
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr "<b>У позиву</b>"
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr "<b>Заустављен позив</b>"
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr "<b>Позив је завршен.</b>"
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr "Пренос је у току"
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr "Пренос је обављен."
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr "Пренос није успео."
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr "Настави"
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr "Застани"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
@ -755,7 +764,7 @@ msgstr ""
"<small><i>Снимам у\n"
"%s %s</i></small>"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr "(Паузирано)"
@ -854,23 +863,23 @@ msgstr "Пусти"
msgid "Let's start Linphone now"
msgstr "Хајде сада да покренемо Линфон"
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr "Помоћник звука"
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr "Помоћник звука"
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr "Дотеривање појачања микрофона"
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr "Дотеривање јачине звука звучника"
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr "Снимите и пустите"
@ -1739,68 +1748,68 @@ msgstr "Подешавам..."
msgid "Please wait while fetching configuration from server..."
msgstr "Сачекајте док довучем подешавања са сервера..."
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr "Спреман"
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr "Подешавам"
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr "Тражим одредиште телефонског броја..."
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr "Не могу да решим овај број."
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr "Ступам у везу"
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr "Не могу да позовем"
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
msgid "Sorry, we have reached the maximum number of simultaneous calls"
msgstr "Извините, достигли смо највећи број истовремених позива"
#: ../coreapi/linphonecore.c:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr "вам се обраћа"
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr " и затражени само-одговор."
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr "Мењам параметре позива..."
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "Повезан сам."
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr "Позив је прекинут"
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr "Не могу да зауставим позив"
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr "Заустављам тренутни позив..."
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr "У току је тражење стуна..."
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr "Прикупљање месних ИЦЕ кандидата је у току..."
@ -1856,7 +1865,7 @@ msgstr "На одмору"
msgid "Unknown status"
msgstr "Непознато стање"
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
@ -1864,7 +1873,7 @@ msgstr ""
"Адреса сип посредника коју сте унели је неисправна, мора почети на „sip:“ за "
"којим следи назив домаћина."
#: ../coreapi/proxy.c:333
#: ../coreapi/proxy.c:334
msgid ""
"The sip identity you entered is invalid.\n"
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
@ -1873,126 +1882,127 @@ msgstr ""
"Треба да изгледа као „sip:корисник@домен-посредника, као што је „sip:"
"alice@example.net“"
#: ../coreapi/proxy.c:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr "Не могу да се пријавим као %s"
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr "Удаљено звоњење."
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr "Удаљено звоњење..."
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr "Ранији медиј."
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr "Позив са „%s“ је заустављен."
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr "Позив на који је одговорио „%s“ — на чекању."
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr "Позив је настављен."
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr "На позив је одговорио „%s“."
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr "Несагласно, проверите кодеке или безбедносна подешавања..."
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr "Медијски параметри су несагласни."
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr "Наставили смо."
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
msgid "We are paused by other party."
msgstr "Друга страна нас је паузирала."
#. reINVITE and in-dialogs UPDATE go here
#: ../coreapi/callbacks.c:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr "Позив је освежен удаљеним."
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr "Позив је завршен."
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "Корисник је заузет."
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "Корисник је привремено недоступан."
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "Корисник не жели да буде узнемираван."
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "Позив је одбијен."
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr "Истекло је време захтева."
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr "Преусмерен"
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr "Позив није успео."
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr "Уписивање на „%s“ је успело."
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr "Исписивање са „%s“ је обављено."
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr "нема ограничења одговора"
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr "Уписивање на „%s“ није успело: %s"
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr "Услуга није доступна, поново покушавам"
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr "Симбол потврђивања идентитета је „%s“"
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

186
po/sv.po
View file

@ -7,9 +7,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-06 11:29+0000\n"
"Last-Translator: Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: Swedish (http://www.transifex.com/projects/p/linphone-gtk/"
"language/sv/)\n"
"Language: sv\n"
@ -136,7 +137,7 @@ msgstr ""
msgid "Run self test and exit 0 if succeed"
msgstr ""
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -149,72 +150,72 @@ msgstr ""
"henne till din kontaktlista?\n"
"Om du svarar nej, personen kommer att vara bannlyst."
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
" at realm <i>%s</i>:"
msgstr ""
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr ""
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr "Samtalet slut"
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "Inkommande samtal"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr ""
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr "Avböj"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr ""
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr ""
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, c-format
msgid "%s proposed to start video. Do you accept ?"
msgstr ""
#: ../gtk/main.c:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr "Webbsajt"
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr "Linphone - en video Internet telefon"
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr "%s (Default)"
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr ""
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
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:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr "En gratis SIP video-telefon"
@ -368,15 +369,19 @@ msgid ""
"You need to restart linphone for the new language selection to take effect."
msgstr "Du behöver starta om programmet för att det nya språket ska synas."
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr ""
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr ""
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr ""
@ -547,7 +552,7 @@ msgstr ""
msgid "Error"
msgstr ""
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr ""
@ -638,7 +643,7 @@ msgstr ""
msgid "<b>Calling...</b>"
msgstr "<b>Ringer...</b>"
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr "00:00:00"
@ -675,62 +680,66 @@ msgid "Secured by SRTP"
msgstr ""
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr ""
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr ""
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr ""
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr ""
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr ""
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr ""
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr "<b>Samtalet slut.</b>"
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr ""
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr ""
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr ""
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr ""
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr ""
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
"%s %s</i></small>"
msgstr ""
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr ""
@ -827,23 +836,23 @@ msgstr ""
msgid "Let's start Linphone now"
msgstr ""
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr ""
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr ""
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr ""
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr ""
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr ""
@ -1692,68 +1701,68 @@ msgstr ""
msgid "Please wait while fetching configuration from server..."
msgstr ""
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr "Redo"
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr ""
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr "Leta efter telefonnummer för destinationen..."
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr "Kan inte nå dett nummer."
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr "Kontaktar"
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr ""
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
msgid "Sorry, we have reached the maximum number of simultaneous calls"
msgstr ""
#: ../coreapi/linphonecore.c:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr ""
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr ""
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr ""
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "Kopplad"
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr ""
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr ""
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr ""
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr "STUN uppslagning pågår..."
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr ""
@ -1809,7 +1818,7 @@ msgstr ""
msgid "Unknown status"
msgstr ""
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
@ -1817,7 +1826,7 @@ 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:333
#: ../coreapi/proxy.c:334
msgid ""
"The sip identity you entered is invalid.\n"
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
@ -1825,126 +1834,127 @@ 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:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr "Kunde inte logga in som %s"
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr "Ringer hos motparten."
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr ""
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr "Tidig media"
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr ""
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr ""
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr ""
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr ""
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr ""
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr ""
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr ""
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
msgid "We are paused by other party."
msgstr ""
#. reINVITE and in-dialogs UPDATE go here
#: ../coreapi/callbacks.c:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr ""
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr "Samtalet slut."
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "Användare upptagen."
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "Användaren temporärt inte tillgänglig."
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "Användaren vill inte bli störd."
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "Samtalet avböjdes."
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr ""
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr ""
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr ""
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr "Registrering hos %s lyckades."
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr "Avregistrering hos %s lyckades."
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr "Inget svar inom angiven tid"
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr "Registrering hos %s mislyckades: %s"
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr ""
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr ""
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

View file

@ -7,9 +7,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-06 11:29+0000\n"
"Last-Translator: Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: Chinese (China) (http://www.transifex.com/projects/p/linphone-"
"gtk/language/zh_CN/)\n"
"Language: zh_CN\n"
@ -132,7 +133,7 @@ msgstr ""
msgid "Run self test and exit 0 if succeed"
msgstr ""
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -144,66 +145,66 @@ msgstr ""
"您是否允许他看到您的在线状态或者将它加为您的联系人允许?\n"
"如果您回答否,则会将该人临时性的放入黑名单"
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
" at realm <i>%s</i>:"
msgstr ""
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr ""
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr "呼叫结束"
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "呼入"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr ""
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr "拒绝"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr ""
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr ""
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, c-format
msgid "%s proposed to start video. Do you accept ?"
msgstr ""
#: ../gtk/main.c:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr "网站"
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr "Linphone - 互联网视频电话"
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr "%s (默认)"
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr ""
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
msgid ""
"No sound cards have been detected on this computer.\n"
"You won't be able to send or receive audio calls."
@ -211,7 +212,7 @@ msgstr ""
"未在此计算机上检测到声卡。\n"
"您无法发送或接收音频呼叫。"
#: ../gtk/main.c:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr "免费的 SIP 视频电话"
@ -365,15 +366,19 @@ msgid ""
"You need to restart linphone for the new language selection to take effect."
msgstr "您需要重启 linphone 以使语言选择生效。"
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr ""
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr ""
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr ""
@ -543,7 +548,7 @@ msgstr ""
msgid "Error"
msgstr ""
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr ""
@ -634,7 +639,7 @@ msgstr ""
msgid "<b>Calling...</b>"
msgstr "<b>正在呼叫...</b>"
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr "00::00::00"
@ -671,62 +676,66 @@ msgid "Secured by SRTP"
msgstr ""
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr ""
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr ""
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr ""
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr ""
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr ""
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr ""
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr "<b>通话结束。</b>"
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr ""
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr ""
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr ""
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr ""
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr ""
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
"%s %s</i></small>"
msgstr ""
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr ""
@ -823,23 +832,23 @@ msgstr ""
msgid "Let's start Linphone now"
msgstr ""
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr ""
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr ""
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr ""
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr ""
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr ""
@ -1687,68 +1696,68 @@ msgstr ""
msgid "Please wait while fetching configuration from server..."
msgstr ""
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr "就绪"
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr ""
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr "查询电话号码目的地..."
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr "该号码无法解析。"
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr "联系中"
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr ""
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
msgid "Sorry, we have reached the maximum number of simultaneous calls"
msgstr ""
#: ../coreapi/linphonecore.c:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr "正在联系您"
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr " 并询问了自动回答。"
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr ""
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "已连接。"
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr ""
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr ""
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr ""
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr "正在进行 Stun 查找..."
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr ""
@ -1804,13 +1813,13 @@ msgstr ""
msgid "Unknown status"
msgstr ""
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
msgstr "您输入的 SIP 代理地址无效它必须是以“sip:”开头,并紧随一个主机名。"
#: ../coreapi/proxy.c:333
#: ../coreapi/proxy.c:334
msgid ""
"The sip identity you entered is invalid.\n"
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
@ -1818,126 +1827,127 @@ msgstr ""
"您输入的地址无效。\n"
"它应具有“sip:用户名@代理域”的形式,例如 sip:alice@example.net"
#: ../coreapi/proxy.c:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr "无法登录为 %s"
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr "响铃。"
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr ""
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr ""
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr ""
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr ""
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr ""
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr ""
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr ""
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr ""
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr ""
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
msgid "We are paused by other party."
msgstr ""
#. reINVITE and in-dialogs UPDATE go here
#: ../coreapi/callbacks.c:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr ""
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr "通话结束。"
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "被叫正忙。"
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "您呼叫的用户暂时无法接通。"
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "用户已开启免打扰功能。"
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "呼叫被拒绝。"
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr ""
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr "已重定向"
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr "呼叫失败。"
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr "成功注册到 %s"
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr "已在 %s 解除注册。"
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr "没有响应,超时"
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr "注册到 %s 失败: %s"
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr ""
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr ""
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

View file

@ -7,9 +7,10 @@ msgid ""
msgstr ""
"Project-Id-Version: linphone-gtk\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-01-13 16:18+0100\n"
"PO-Revision-Date: 2015-01-06 11:29+0000\n"
"Last-Translator: Gautier Pelloux-Prayer <gautier.pelloux@gmail.com>\n"
"POT-Creation-Date: 2015-02-17 12:28+0100\n"
"PO-Revision-Date: 2015-02-17 11:28+0000\n"
"Last-Translator: Belledonne Communications <support@belledonne-"
"communications.com>\n"
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/"
"linphone-gtk/language/zh_TW/)\n"
"Language: zh_TW\n"
@ -133,7 +134,7 @@ msgstr ""
msgid "Run self test and exit 0 if succeed"
msgstr ""
#: ../gtk/main.c:1083
#: ../gtk/main.c:1088
#, c-format
msgid ""
"%s would like to add you to his contact list.\n"
@ -145,66 +146,66 @@ msgstr ""
"您是否要允許他看見您的上線狀態或將他加入您的連絡人清單?\n"
"如果您回答否,這個人會被暫時列入黑名單。"
#: ../gtk/main.c:1160
#: ../gtk/main.c:1165
#, c-format
msgid ""
"Please enter your password for username <i>%s</i>\n"
" at realm <i>%s</i>:"
msgstr ""
#: ../gtk/main.c:1281
#: ../gtk/main.c:1286
msgid "Call error"
msgstr ""
#: ../gtk/main.c:1284 ../coreapi/linphonecore.c:3767
#: ../gtk/main.c:1289 ../coreapi/linphonecore.c:3787
msgid "Call ended"
msgstr "通話已結束"
#: ../gtk/main.c:1287 ../coreapi/call_log.c:221
#: ../gtk/main.c:1292 ../coreapi/call_log.c:221
msgid "Incoming call"
msgstr "來電"
#: ../gtk/main.c:1289 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
#: ../gtk/main.c:1294 ../gtk/incall_view.c:532 ../gtk/main.ui.h:5
msgid "Answer"
msgstr "接聽"
#: ../gtk/main.c:1291 ../gtk/main.ui.h:6
#: ../gtk/main.c:1296 ../gtk/main.ui.h:6
msgid "Decline"
msgstr "拒接"
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
msgid "Call paused"
msgstr ""
#: ../gtk/main.c:1297
#: ../gtk/main.c:1302
#, c-format
msgid "<b>by %s</b>"
msgstr ""
#: ../gtk/main.c:1367
#: ../gtk/main.c:1372
#, c-format
msgid "%s proposed to start video. Do you accept ?"
msgstr ""
#: ../gtk/main.c:1529
#: ../gtk/main.c:1534
msgid "Website link"
msgstr "網站連結"
#: ../gtk/main.c:1578
#: ../gtk/main.c:1583
msgid "Linphone - a video internet phone"
msgstr "Linphone - 網路視訊電話"
#: ../gtk/main.c:1670
#: ../gtk/main.c:1675
#, c-format
msgid "%s (Default)"
msgstr "%s (預設值)"
#: ../gtk/main.c:2002 ../coreapi/callbacks.c:986
#: ../gtk/main.c:2007 ../coreapi/callbacks.c:1027
#, c-format
msgid "We are transferred to %s"
msgstr "我們被轉接到 %s"
#: ../gtk/main.c:2012
#: ../gtk/main.c:2017
msgid ""
"No sound cards have been detected on this computer.\n"
"You won't be able to send or receive audio calls."
@ -212,7 +213,7 @@ msgstr ""
"在這臺電腦中偵測不到音效卡。\n"
"您將無法傳送或接收語音電話。"
#: ../gtk/main.c:2156
#: ../gtk/main.c:2161
msgid "A free SIP video-phone"
msgstr "自由的 SIP 視訊電話"
@ -366,15 +367,19 @@ msgid ""
"You need to restart linphone for the new language selection to take effect."
msgstr "您需要重新啟動 linphone 才能讓新選擇的語言生效。"
#: ../gtk/propertybox.c:1234
#: ../gtk/propertybox.c:1236
msgid "None"
msgstr ""
#: ../gtk/propertybox.c:1238
#: ../gtk/propertybox.c:1240
msgid "SRTP"
msgstr ""
#: ../gtk/propertybox.c:1244
#: ../gtk/propertybox.c:1246
msgid "DTLS"
msgstr ""
#: ../gtk/propertybox.c:1253
msgid "ZRTP"
msgstr ""
@ -544,7 +549,7 @@ msgstr ""
msgid "Error"
msgstr ""
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:527
#: ../gtk/setupwizard.c:658 ../gtk/audio_assistant.c:534
msgid "Terminating"
msgstr ""
@ -635,7 +640,7 @@ msgstr ""
msgid "<b>Calling...</b>"
msgstr "<b>播打...</b>"
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:727
#: ../gtk/incall_view.c:514 ../gtk/incall_view.c:733
msgid "00::00::00"
msgstr "00::00::00"
@ -672,62 +677,66 @@ msgid "Secured by SRTP"
msgstr ""
#: ../gtk/incall_view.c:685
msgid "Secured by DTLS"
msgstr ""
#: ../gtk/incall_view.c:691
#, c-format
msgid "Secured by ZRTP - [auth token: %s]"
msgstr ""
#: ../gtk/incall_view.c:691
#: ../gtk/incall_view.c:697
msgid "Set unverified"
msgstr ""
#: ../gtk/incall_view.c:691 ../gtk/main.ui.h:4
#: ../gtk/incall_view.c:697 ../gtk/main.ui.h:4
msgid "Set verified"
msgstr ""
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "In conference"
msgstr ""
#: ../gtk/incall_view.c:722
#: ../gtk/incall_view.c:728
msgid "<b>In call</b>"
msgstr "<b>通話中</b>"
#: ../gtk/incall_view.c:758
#: ../gtk/incall_view.c:764
msgid "<b>Paused call</b>"
msgstr "<b>暫停通話</b>"
#: ../gtk/incall_view.c:794
#: ../gtk/incall_view.c:800
msgid "<b>Call ended.</b>"
msgstr "<b>通話結束。</b>"
#: ../gtk/incall_view.c:825
#: ../gtk/incall_view.c:831
msgid "Transfer in progress"
msgstr ""
#: ../gtk/incall_view.c:828
#: ../gtk/incall_view.c:834
msgid "Transfer done."
msgstr ""
#: ../gtk/incall_view.c:831
#: ../gtk/incall_view.c:837
msgid "Transfer failed."
msgstr ""
#: ../gtk/incall_view.c:875
#: ../gtk/incall_view.c:881
msgid "Resume"
msgstr "繼續"
#: ../gtk/incall_view.c:882 ../gtk/main.ui.h:9
#: ../gtk/incall_view.c:888 ../gtk/main.ui.h:9
msgid "Pause"
msgstr "暫停"
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
#, c-format
msgid ""
"<small><i>Recording into\n"
"%s %s</i></small>"
msgstr ""
#: ../gtk/incall_view.c:948
#: ../gtk/incall_view.c:954
msgid "(Paused)"
msgstr ""
@ -824,23 +833,23 @@ msgstr ""
msgid "Let's start Linphone now"
msgstr ""
#: ../gtk/audio_assistant.c:496
#: ../gtk/audio_assistant.c:503
msgid "Audio Assistant"
msgstr ""
#: ../gtk/audio_assistant.c:506 ../gtk/main.ui.h:31
#: ../gtk/audio_assistant.c:513 ../gtk/main.ui.h:31
msgid "Audio assistant"
msgstr ""
#: ../gtk/audio_assistant.c:511
#: ../gtk/audio_assistant.c:518
msgid "Mic Gain calibration"
msgstr ""
#: ../gtk/audio_assistant.c:517
#: ../gtk/audio_assistant.c:524
msgid "Speaker volume calibration"
msgstr ""
#: ../gtk/audio_assistant.c:522
#: ../gtk/audio_assistant.c:529
msgid "Record and Play"
msgstr ""
@ -1688,68 +1697,68 @@ msgstr ""
msgid "Please wait while fetching configuration from server..."
msgstr ""
#: ../coreapi/linphonecore.c:1510
#: ../coreapi/linphonecore.c:1508
msgid "Ready"
msgstr "準備就緒"
#: ../coreapi/linphonecore.c:2489
#: ../coreapi/linphonecore.c:2495
msgid "Configuring"
msgstr ""
#: ../coreapi/linphonecore.c:2654
#: ../coreapi/linphonecore.c:2669
msgid "Looking for telephone number destination..."
msgstr "尋找電話號碼目的端..."
#: ../coreapi/linphonecore.c:2656
#: ../coreapi/linphonecore.c:2671
msgid "Could not resolve this number."
msgstr "無法解析這個號碼。"
#. must be known at that time
#: ../coreapi/linphonecore.c:2942
#: ../coreapi/linphonecore.c:2957
msgid "Contacting"
msgstr "正在連絡"
#: ../coreapi/linphonecore.c:2947
#: ../coreapi/linphonecore.c:2962
msgid "Could not call"
msgstr "無法通話"
#: ../coreapi/linphonecore.c:3097
#: ../coreapi/linphonecore.c:3112
msgid "Sorry, we have reached the maximum number of simultaneous calls"
msgstr "抱歉,我們已達瀏同步通話的最大數目"
#: ../coreapi/linphonecore.c:3256
#: ../coreapi/linphonecore.c:3270
msgid "is contacting you"
msgstr "正在連絡您"
#: ../coreapi/linphonecore.c:3257
#: ../coreapi/linphonecore.c:3271
msgid " and asked autoanswer."
msgstr "並要求自動接聽。"
#: ../coreapi/linphonecore.c:3375
#: ../coreapi/linphonecore.c:3395
msgid "Modifying call parameters..."
msgstr "修改通話參數..."
#: ../coreapi/linphonecore.c:3723
#: ../coreapi/linphonecore.c:3743
msgid "Connected."
msgstr "已連線。"
#: ../coreapi/linphonecore.c:3748
#: ../coreapi/linphonecore.c:3768
msgid "Call aborted"
msgstr "通話已放棄"
#: ../coreapi/linphonecore.c:3938
#: ../coreapi/linphonecore.c:3958
msgid "Could not pause the call"
msgstr "無法暫停通話"
#: ../coreapi/linphonecore.c:3941
#: ../coreapi/linphonecore.c:3961
msgid "Pausing the current call..."
msgstr "暫停目前的通話..."
#: ../coreapi/misc.c:438
#: ../coreapi/misc.c:433
msgid "Stun lookup in progress..."
msgstr "正在進行 Stun 搜尋..."
#: ../coreapi/misc.c:619
#: ../coreapi/misc.c:614
msgid "ICE local candidates gathering in progress..."
msgstr ""
@ -1805,14 +1814,14 @@ msgstr ""
msgid "Unknown status"
msgstr ""
#: ../coreapi/proxy.c:327
#: ../coreapi/proxy.c:328
msgid ""
"The sip proxy address you entered is invalid, it must start with \"sip:\" "
"followed by a hostname."
msgstr ""
"您輸入的 sip 代理位址是無效的它必須要以「sip:」開頭,後面接主機名稱。"
#: ../coreapi/proxy.c:333
#: ../coreapi/proxy.c:334
msgid ""
"The sip identity you entered is invalid.\n"
"It should look like sip:username@proxydomain, such as sip:alice@example.net"
@ -1820,126 +1829,127 @@ msgstr ""
"您輸入的 sip 身分是無效的。\n"
"它應該看起來像 sip:使用者名稱@代理網域,像是 sip:alice@example.net"
#: ../coreapi/proxy.c:1391
#: ../coreapi/proxy.c:1403
#, c-format
msgid "Could not login as %s"
msgstr "無法以 %s 登入"
#: ../coreapi/callbacks.c:383
#: ../coreapi/callbacks.c:404
msgid "Remote ringing."
msgstr "遠端響鈴。"
#: ../coreapi/callbacks.c:404
#: ../coreapi/callbacks.c:425
msgid "Remote ringing..."
msgstr "遠端響鈴..."
#: ../coreapi/callbacks.c:414
#: ../coreapi/callbacks.c:442
msgid "Early media."
msgstr "早期媒體。"
#: ../coreapi/callbacks.c:475
#: ../coreapi/callbacks.c:503
#, c-format
msgid "Call with %s is paused."
msgstr "和 %s 的通話已暫停。"
#: ../coreapi/callbacks.c:488
#: ../coreapi/callbacks.c:516
#, c-format
msgid "Call answered by %s - on hold."
msgstr "通話由 %s 接聽 - 保留中。"
#: ../coreapi/callbacks.c:498
#: ../coreapi/callbacks.c:526
msgid "Call resumed."
msgstr "通話已繼續。"
#: ../coreapi/callbacks.c:502
#: ../coreapi/callbacks.c:530
#, c-format
msgid "Call answered by %s."
msgstr "通話由 %s 接聽。"
#: ../coreapi/callbacks.c:525
#: ../coreapi/callbacks.c:553
msgid "Incompatible, check codecs or security settings..."
msgstr ""
#: ../coreapi/callbacks.c:530 ../coreapi/callbacks.c:829
#: ../coreapi/callbacks.c:558 ../coreapi/callbacks.c:870
msgid "Incompatible media parameters."
msgstr ""
#: ../coreapi/callbacks.c:560
#: ../coreapi/callbacks.c:588
msgid "We have been resumed."
msgstr ""
#. we are being paused
#: ../coreapi/callbacks.c:568
#: ../coreapi/callbacks.c:596
msgid "We are paused by other party."
msgstr ""
#. reINVITE and in-dialogs UPDATE go here
#: ../coreapi/callbacks.c:602
#: ../coreapi/callbacks.c:630
msgid "Call is updated by remote."
msgstr ""
#: ../coreapi/callbacks.c:705
#: ../coreapi/callbacks.c:746
msgid "Call terminated."
msgstr "通話已終止。"
#: ../coreapi/callbacks.c:733
#: ../coreapi/callbacks.c:774
msgid "User is busy."
msgstr "使用者現正忙碌。"
#: ../coreapi/callbacks.c:734
#: ../coreapi/callbacks.c:775
msgid "User is temporarily unavailable."
msgstr "使用者暫時無法聯繫。"
#. char *retrymsg=_("%s. Retry after %i minute(s).");
#: ../coreapi/callbacks.c:736
#: ../coreapi/callbacks.c:777
msgid "User does not want to be disturbed."
msgstr "使用者不想要被打擾。"
#: ../coreapi/callbacks.c:737
#: ../coreapi/callbacks.c:778
msgid "Call declined."
msgstr "通話被拒接。"
#: ../coreapi/callbacks.c:752
#: ../coreapi/callbacks.c:793
msgid "Request timeout."
msgstr ""
#: ../coreapi/callbacks.c:783
#: ../coreapi/callbacks.c:824
msgid "Redirected"
msgstr "已重新導向"
#: ../coreapi/callbacks.c:838
#: ../coreapi/callbacks.c:879
msgid "Call failed."
msgstr "通話失敗。"
#: ../coreapi/callbacks.c:916
#: ../coreapi/callbacks.c:957
#, c-format
msgid "Registration on %s successful."
msgstr "在 %s 註冊成功。"
#: ../coreapi/callbacks.c:917
#: ../coreapi/callbacks.c:958
#, c-format
msgid "Unregistration on %s done."
msgstr "在 %s 取消註冊完成。"
#: ../coreapi/callbacks.c:935
#: ../coreapi/callbacks.c:976
msgid "no response timeout"
msgstr "沒有回應逾時"
#: ../coreapi/callbacks.c:938
#: ../coreapi/callbacks.c:979
#, c-format
msgid "Registration on %s failed: %s"
msgstr "在 %s 註冊失敗:%s"
#: ../coreapi/callbacks.c:945
#: ../coreapi/callbacks.c:986
msgid "Service unavailable, retrying"
msgstr ""
#: ../coreapi/linphonecall.c:175
#. if encryption is DTLS, no status to be displayed
#: ../coreapi/linphonecall.c:180
#, c-format
msgid "Authentication token is %s"
msgstr ""
#: ../coreapi/linphonecall.c:3041
#: ../coreapi/linphonecall.c:3492
#, c-format
msgid "You have missed %i call."
msgid_plural "You have missed %i calls."

View file

@ -32,6 +32,9 @@ pkgconfig_DATA=linphone.pc
linphonedir=$(datadir)/linphone
linphone_DATA=rootca.pem
appdatadir=$(datadir)/appdata
appdata_DATA=linphone.appdata.xml
#download root ca from mozilla using script from curl (mk-ca-bundle.pl).
#if that fails (no connection, no perl SSL...) , then a rootca bundle archived in the source tree is taken instead.
rootca.pem:
@ -49,7 +52,8 @@ EXTRA_DIST = $(LINPHONE_SOUNDS) \
audio-assistant.desktop.in \
linphone.pc.in \
Makefile.inc \
archived-rootca.pem
archived-rootca.pem \
$(appdata_DATA)
CLEANFILES=rootca.pem

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2015 Belledonne Communications <contact@belledonne-communications.com> -->
<component type="desktop">
<id>linphone.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0</project_license>
<name>Linphone</name>
<summary>SIP video soft-phone</summary>
<description>
<ul>
<li>Make audio and video calls in HD</li>
<li>Create audio conferences</li>
<li>Record and store calls</li>
<li>View real-time presence status</li>
<li>Manage your address book</li>
<li>Communicate securely</li>
<li>Free subscription</li>
</ul>
</description>
<screenshots>
<screenshot type="default">
<image>http://www.linphone.org/uploads/images/desktop_main_window.png</image>
<caption>Main window</caption>
</screenshot>
<screenshot>
<image>http://www.linphone.org/uploads/images/desktop_call_view.png</image>
<caption>Call view</caption>
</screenshot>
<screenshot>
<image>http://www.linphone.org/uploads/images/desktop_chat_view.png</image>
<caption>Chat view</caption>
</screenshot>
</screenshots>
<url type="homepage">http://www.linphone.org</url>
<updatecontact>contact@belledonne-communications.com</updatecontact>
</component>

File diff suppressed because it is too large Load diff

View file

@ -46,6 +46,10 @@ void send_dtmf_base(bool_t use_rfc2833, bool_t use_sipinfo, char dtmf, char* dtm
CU_ASSERT_TRUE(call(pauline,marie));
marie_call = linphone_core_get_current_call(marie->lc);
CU_ASSERT_PTR_NOT_NULL(marie_call);
if (!marie_call) return;
if (dtmf != '\0') {
dtmf_count_prev = pauline->stat.dtmf_count;

View file

@ -247,11 +247,11 @@ static void subscribe_test_with_args2(bool_t terminated_by_subscriber, RefreshTe
CU_ASSERT_STRING_EQUAL(linphone_event_get_custom_header(pauline->lev,"My-Header"),"pouet");
CU_ASSERT_STRING_EQUAL(linphone_event_get_custom_header(pauline->lev,"My-Header2"),"pimpon");
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneSubscriptionActive,1,1000));
CU_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneSubscriptionActive,1,1000));
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneSubscriptionActive,1,5000));
CU_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneSubscriptionActive,1,5000));
/*make sure marie receives first notification before terminating*/
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_NotifyReceived,1,1000));
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_NotifyReceived,1,5000));
if (refresh_type==AutoRefresh){
wait_for_list(lcs,NULL,0,6000);
@ -259,7 +259,7 @@ static void subscribe_test_with_args2(bool_t terminated_by_subscriber, RefreshTe
}else if (refresh_type==ManualRefresh){
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneSubscriptionExpiring,1,4000));
linphone_event_update_subscribe(lev,NULL);
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneSubscriptionActive,2,2000));
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneSubscriptionActive,2,5000));
}
if (terminated_by_subscriber){
@ -269,8 +269,8 @@ static void subscribe_test_with_args2(bool_t terminated_by_subscriber, RefreshTe
linphone_event_terminate(pauline->lev);
}
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneSubscriptionTerminated,1,1000));
CU_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneSubscriptionTerminated,1,1000));
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneSubscriptionTerminated,1,5000));
CU_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneSubscriptionTerminated,1,5000));
linphone_content_unref(content);
linphone_core_manager_destroy(marie);

View file

@ -146,7 +146,7 @@ static void message_forking_with_all_recipients_unreachable(void) {
linphone_chat_room_send_message2(chat_room,message,liblinphone_tester_chat_message_state_change,pauline->lc);
CU_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneMessageInProgress,1,1000));
CU_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneMessageInProgress,1,5000));
/*flexisip will accept the message with 202 after 16 seconds*/
CU_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneMessageDelivered,1,18000));
CU_ASSERT_TRUE( marie->stat.number_of_LinphoneMessageReceived==0);
@ -195,9 +195,9 @@ static void call_forking(void){
/*pauline should hear ringback*/
CU_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallOutgoingRinging,1,3000));
/*all devices from Marie should be ringing*/
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallIncomingReceived,1,1000));
CU_ASSERT_TRUE(wait_for_list(lcs,&marie2->stat.number_of_LinphoneCallIncomingReceived,1,1000));
CU_ASSERT_TRUE(wait_for_list(lcs,&marie3->stat.number_of_LinphoneCallIncomingReceived,1,1000));
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallIncomingReceived,1,3000));
CU_ASSERT_TRUE(wait_for_list(lcs,&marie2->stat.number_of_LinphoneCallIncomingReceived,1,3000));
CU_ASSERT_TRUE(wait_for_list(lcs,&marie3->stat.number_of_LinphoneCallIncomingReceived,1,3000));
/*marie accepts the call on its first device*/
linphone_core_accept_call(marie->lc,linphone_core_get_current_call(marie->lc));
@ -396,7 +396,7 @@ static void call_forking_with_push_notification_single(void){
/*marie accepts the call*/
linphone_core_accept_call(marie->lc,linphone_core_get_current_call(marie->lc));
CU_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallConnected,1,1000));
CU_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallConnected,1,5000));
CU_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallStreamsRunning,1,1000));
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallConnected,1,1000));
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallStreamsRunning,1,1000));
@ -404,8 +404,8 @@ static void call_forking_with_push_notification_single(void){
liblinphone_tester_check_rtcp(pauline,marie);
linphone_core_terminate_call(pauline->lc,linphone_core_get_current_call(pauline->lc));
CU_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallEnd,1,1000));
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallEnd,1,1000));
CU_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallEnd,1,5000));
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallEnd,1,5000));
linphone_core_manager_destroy(pauline);
linphone_core_manager_destroy(marie);
@ -464,7 +464,7 @@ static void call_forking_with_push_notification_multiple(void){
linphone_core_manager_destroy(marie2);
}
void call_forking_not_responded(void){
static void call_forking_not_responded(void){
LinphoneCoreManager* pauline = linphone_core_manager_new( "pauline_tcp_rc");
LinphoneCoreManager* marie = linphone_core_manager_new( "marie_rc");
LinphoneCoreManager* marie2 = linphone_core_manager_new( "marie_rc");
@ -551,7 +551,7 @@ static void early_media_call_forking(void) {
marie2_call=linphone_core_get_current_call(marie2->lc);
/*wait a bit that streams are established*/
wait_for_list(lcs,&dummy,1,3000);
wait_for_list(lcs,&dummy,1,6000);
CU_ASSERT_TRUE(linphone_call_get_audio_stats(pauline_call)->download_bandwidth>60
&& linphone_call_get_audio_stats(pauline_call)->download_bandwidth<99);
CU_ASSERT_TRUE(linphone_call_get_audio_stats(marie1_call)->download_bandwidth>60
@ -574,8 +574,8 @@ static void early_media_call_forking(void) {
&& linphone_call_get_audio_stats(marie1_call)->download_bandwidth<99 );
linphone_core_terminate_all_calls(pauline->lc);
CU_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallEnd,1,1000));
CU_ASSERT_TRUE(wait_for_list(lcs,&marie1->stat.number_of_LinphoneCallEnd,1,1000));
CU_ASSERT_TRUE(wait_for_list(lcs,&pauline->stat.number_of_LinphoneCallEnd,1,5000));
CU_ASSERT_TRUE(wait_for_list(lcs,&marie1->stat.number_of_LinphoneCallEnd,1,5000));
ms_list_free(lcs);
linphone_core_manager_destroy(marie1);
@ -643,7 +643,7 @@ static void call_with_sips_not_achievable(void){
linphone_address_unref(dest);
/*Call should be rejected by server with 480*/
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallError,1,3000));
CU_ASSERT_TRUE(wait_for_list(lcs,&marie->stat.number_of_LinphoneCallError,1,6000));
ei=linphone_call_get_error_info(call);
CU_ASSERT_PTR_NOT_NULL(ei);
if (ei){
@ -663,6 +663,9 @@ static void call_with_ipv6(void) {
LinphoneCoreManager* pauline;
LinphoneCall *pauline_call;
/*calling ortp_init() here is done to have WSAStartup() done, otherwise liblinphone_tester_ipv6_available() will not work.*/
ortp_init();
if (!liblinphone_tester_ipv6_available()){
ms_warning("Call with ipv6 not tested, no ipv6 connectivity");
return;
@ -708,6 +711,7 @@ static void call_with_ipv6(void) {
if (leaked_objects>0){
belle_sip_object_dump_active_objects();
}
ortp_exit();
}
test_t flexisip_tests[] = {

View file

@ -93,12 +93,12 @@ extern const char* liblinphone_tester_get_xml_output(void);
/**
* @brief Tells the tester whether or not to clean the accounts it has created between runs.
* @details Setting this to 1 will not clear the list of created accounts between successive
* calls to liblinphone_run_tests(). Some testing APIs call this function for *each* test,
* calls to liblinphone_run_tests(). Some testing APIs call this function for *each* test,
* in which case we should keep the accounts that were created for further testing.
*
* You are supposed to manually call liblinphone_tester_clear_account when all the tests are
*
* You are supposed to manually call liblinphone_tester_clear_account when all the tests are
* finished.
*
*
* @param keep 1 to keep the accounts in-between runs, 0 to clear them after each run.
*/
extern void liblinphone_tester_keep_accounts( int keep );
@ -255,6 +255,7 @@ typedef struct _LinphoneCoreManager {
typedef struct _LinphoneCallTestParams {
LinphoneCallParams *base;
bool_t sdp_removal;
bool_t sdp_simulate_error;
} LinphoneCallTestParams;
LinphoneCoreManager* linphone_core_manager_new2(const char* rc_file, int check_for_proxies);

View file

@ -35,7 +35,7 @@
/*getline is POSIX 2008, not available on many systems.*/
#if defined(ANDROID) || defined(WIN32)
/* This code is public domain -- Will Hartung 4/9/09 */
size_t getline(char **lineptr, size_t *n, FILE *stream) {
static size_t getline(char **lineptr, size_t *n, FILE *stream) {
char *bufptr = NULL;
char *p = bufptr;
size_t size;
@ -66,9 +66,12 @@ size_t getline(char **lineptr, size_t *n, FILE *stream) {
}
p = bufptr;
while(c != EOF) {
if ((p - bufptr) > (size - 1)) {
size_t curpos = p-bufptr;
if (curpos > (size - 1)) {
size = size + 128;
bufptr = realloc(bufptr, size);
p = bufptr + curpos;
if (bufptr == NULL) {
return -1;
}
@ -89,19 +92,19 @@ size_t getline(char **lineptr, size_t *n, FILE *stream) {
#endif
static LinphoneLogCollectionState old_collection_state;
void collect_init() {
static void collect_init() {
old_collection_state = linphone_core_log_collection_enabled();
linphone_core_set_log_collection_path(liblinphone_tester_writable_dir_prefix);
}
void collect_cleanup(LinphoneCoreManager *marie) {
static void collect_cleanup(LinphoneCoreManager *marie) {
linphone_core_manager_destroy(marie);
linphone_core_enable_log_collection(old_collection_state);
linphone_core_reset_log_collection();
}
LinphoneCoreManager* setup(bool_t enable_logs) {
static LinphoneCoreManager* setup(bool_t enable_logs) {
LinphoneCoreManager *marie;
int timeout = 300;
@ -119,27 +122,28 @@ LinphoneCoreManager* setup(bool_t enable_logs) {
}
#if HAVE_ZLIB
/*returns uncompressed log file*/
FILE* gzuncompress(const char* filepath) {
static FILE* gzuncompress(const char* filepath) {
gzFile file = gzopen(filepath, "rb");
FILE *output = NULL;
FILE *ret;
char *newname = ms_strdup_printf("%s.txt", filepath);
char buffer[512];
output = fopen(newname, "w+");
char buffer[512]={0};
output = fopen(newname, "wb");
while (gzread(file, buffer, 511) > 0) {
fputs(buffer, output);
memset(buffer, 0, strlen(buffer));
}
fclose(output);
CU_ASSERT_EQUAL(gzclose(file), Z_OK);
ret=fopen(newname, "rb");
ms_free(newname);
fseek(output, 0, SEEK_SET);
return (FILE*)output;
return ret;
}
#endif
time_t check_file(LinphoneCoreManager* mgr) {
static time_t check_file(LinphoneCoreManager* mgr) {
time_t last_log = ms_time(NULL);
char* filepath = linphone_core_compress_log_collection(mgr->lc);
@ -162,9 +166,10 @@ time_t check_file(LinphoneCoreManager* mgr) {
// 0) if zlib is enabled, we must decompress the file first
file = gzuncompress(filepath);
#else
file = fopen(filepath, "r");
file = fopen(filepath, "rb");
#endif
CU_ASSERT_PTR_NOT_NULL(file);
if (!file) return 0;
// 1) expect to find folder name in filename path
CU_ASSERT_PTR_NOT_NULL(strstr(filepath, liblinphone_tester_writable_dir_prefix));
@ -183,8 +188,6 @@ time_t check_file(LinphoneCoreManager* mgr) {
time_prev = time_curr;
}
}
#else
ms_warning("strptime() not available for this platform, test is incomplete.");
#endif
}
CU_ASSERT_TRUE(line_count > 25);
@ -192,12 +195,17 @@ time_t check_file(LinphoneCoreManager* mgr) {
fclose(file);
ms_free(filepath);
timediff = labs((long int)time_curr - (long int)last_log);
timediff = labs((long int)time_curr - (long int)last_log);
(void)timediff;
#ifndef WIN32
CU_ASSERT_TRUE( timediff <= 1 );
if( !(timediff <= 1) ){
ms_error("time_curr: %ld, last_log: %ld timediff: %u", (long int)time_curr, (long int)last_log, timediff );
}
#else
ms_warning("strptime() not available for this platform, test is incomplete.");
#endif
}
// return latest time in file
return time_curr;

View file

@ -827,6 +827,41 @@ static void file_transfer_message_download_cancelled(void) {
ms_error("Test skipped");
}
static void file_transfer_using_external_body_url(void) {
char *to;
LinphoneChatMessageCbs *cbs;
LinphoneChatRoom *chat_room;
LinphoneChatMessage *message;
LinphoneCoreManager *marie = linphone_core_manager_new("marie_rc");
LinphoneCoreManager *pauline = linphone_core_manager_new("pauline_rc");
reset_counters(&marie->stat);
reset_counters(&pauline->stat);
/* create a chatroom on pauline's side */
to = linphone_address_as_string(marie->identity);
chat_room = linphone_core_create_chat_room(pauline->lc,to);
message = linphone_chat_room_create_message(chat_room, NULL);
cbs = linphone_chat_message_get_callbacks(message);
linphone_chat_message_cbs_set_msg_state_changed(cbs, liblinphone_tester_chat_message_msg_state_changed);
linphone_chat_message_set_external_body_url(message, "https://www.linphone.org:444//tmp/54ec58280ace9_c30709218df8eaba61d1.jpg");
linphone_chat_room_send_chat_message(chat_room, message);
CU_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &marie->stat.number_of_LinphoneMessageReceived, 1));
if (marie->stat.last_received_chat_message) {
linphone_chat_message_download_file(marie->stat.last_received_chat_message);
}
CU_ASSERT_TRUE(wait_for(pauline->lc, marie->lc, &marie->stat.number_of_LinphoneMessageExtBodyReceived, 1));
CU_ASSERT_EQUAL(pauline->stat.number_of_LinphoneMessageInProgress, 1);
CU_ASSERT_EQUAL(marie->stat.number_of_LinphoneMessageExtBodyReceived, 1);
linphone_core_manager_destroy(marie);
linphone_core_manager_destroy(pauline);
}
static void text_message_with_send_error(void) {
LinphoneCoreManager* marie = linphone_core_manager_new("marie_rc");
LinphoneCoreManager* pauline = linphone_core_manager_new( "pauline_rc");
@ -1203,6 +1238,7 @@ test_t message_tests[] = {
/* { "File transfer message with io error at download", file_transfer_message_io_error_download },*/
{ "File transfer message upload cancelled", file_transfer_message_upload_cancelled },
{ "File transfer message download cancelled", file_transfer_message_download_cancelled },
{ "File transfer message using external body url", file_transfer_using_external_body_url },
{ "Text message denied", text_message_denied },
{ "Info message", info_message },
{ "Info message with body", info_message_with_body },

View file

@ -23,8 +23,8 @@ dial_escape_plus=0
[rtp]
audio_rtp_port=9010
video_rtp_port=9012
audio_rtp_port=9010-9390
video_rtp_port=9410-9910
[video]
display=0
@ -41,4 +41,4 @@ device=StaticImage: Static picture
echocancellation=0 #to not overload cpu in case of VG
[net]
dns_srv_enabled=0 #no srv needed in general
dns_srv_enabled=0 #no srv needed in general

View file

@ -32,8 +32,8 @@ subscribe=0
[rtp]
audio_rtp_port=8070
video_rtp_port=9072
audio_rtp_port=18070-28000
video_rtp_port=39072-49000
[video]
display=1

View file

@ -32,8 +32,8 @@ subscribe=0
[rtp]
audio_rtp_port=8070
video_rtp_port=9072
audio_rtp_port=18070-28000
video_rtp_port=28070-38000
[video]
display=0

View file

@ -32,8 +32,8 @@ subscribe=0
[rtp]
audio_rtp_port=8070
video_rtp_port=9072
audio_rtp_port=20070-22070
video_rtp_port=24000-25000
rtcp_xr_enabled=1
rtcp_xr_rcvr_rtt_mode=all
rtcp_xr_rcvr_rtt_max_size=10000

View file

@ -32,8 +32,8 @@ subscribe=0
[rtp]
audio_rtp_port=8070
video_rtp_port=9072
audio_rtp_port=18070-28000
video_rtp_port=28070-38000
[video]
display=0

View file

@ -29,8 +29,8 @@ dial_escape_plus=0
#subscribe=0
[rtp]
audio_rtp_port=8090
video_rtp_port=9092
audio_rtp_port=18070-28000
video_rtp_port=39072-49000
[video]
display=0

View file

@ -29,8 +29,8 @@ dial_escape_plus=0
#subscribe=0
[rtp]
audio_rtp_port=8090
video_rtp_port=9092
audio_rtp_port=18070-28000
video_rtp_port=39072-49000
rtcp_xr_enabled=1
rtcp_xr_rcvr_rtt_mode=all
rtcp_xr_rcvr_rtt_max_size=10000

View file

@ -29,8 +29,8 @@ dial_escape_plus=0
#subscribe=0
[rtp]
audio_rtp_port=8090
video_rtp_port=9092
audio_rtp_port=18070-28000
video_rtp_port=39072-49000
[video]
display=0

View file

@ -29,8 +29,8 @@ dial_escape_plus=0
#subscribe=0
[rtp]
audio_rtp_port=8090
video_rtp_port=9092
audio_rtp_port=18070-28000
video_rtp_port=39072-49000
[video]
display=0

View file

@ -96,9 +96,8 @@ static void linphone_interpret_url_test()
}
static void linphone_lpconfig_from_buffer(){
static const char* buffer = "[buffer]\ntest=ok";
static const char* buffer_linebreaks = "[buffer_linebreaks]\n\n\n\r\n\n\r\ntest=ok";
const char* buffer = "[buffer]\ntest=ok";
const char* buffer_linebreaks = "[buffer_linebreaks]\n\n\n\r\n\n\r\ntest=ok";
LpConfig* conf;
conf = lp_config_new_from_buffer(buffer);
@ -112,7 +111,7 @@ static void linphone_lpconfig_from_buffer(){
static void linphone_lpconfig_from_buffer_zerolen_value(){
/* parameters that have no value should return NULL, not "". */
static const char* zerolen = "[test]\nzero_len=\nnon_zero_len=test";
const char* zerolen = "[test]\nzero_len=\nnon_zero_len=test";
LpConfig* conf;
conf = lp_config_new_from_buffer(zerolen);
@ -128,7 +127,7 @@ static void linphone_lpconfig_from_buffer_zerolen_value(){
static void linphone_lpconfig_from_file_zerolen_value(){
/* parameters that have no value should return NULL, not "". */
static const char* zero_rc_file = "zero_length_params_rc";
const char* zero_rc_file = "zero_length_params_rc";
char* rc_path = ms_strdup_printf("%s/rcfiles/%s", liblinphone_tester_file_prefix, zero_rc_file);
LpConfig* conf;
@ -144,11 +143,12 @@ static void linphone_lpconfig_from_file_zerolen_value(){
lp_config_set_string(conf, "test", "non_zero_len", ""); /* should remove "non_zero_len" */
CU_ASSERT_STRING_EQUAL(lp_config_get_string(conf,"test","non_zero_len","LOL"), "LOL");
ms_free(rc_path);
lp_config_destroy(conf);
}
static void linphone_lpconfig_from_xml_zerolen_value(){
static const char* zero_xml_file = "remote_zero_length_params_rc";
const char* zero_xml_file = "remote_zero_length_params_rc";
char* xml_path = ms_strdup_printf("%s/rcfiles/%s", liblinphone_tester_file_prefix, zero_xml_file);
LpConfig* conf;
@ -165,7 +165,7 @@ static void linphone_lpconfig_from_xml_zerolen_value(){
CU_ASSERT_STRING_EQUAL(lp_config_get_string(conf,"test","non_zero_len","LOL"), "LOL");
linphone_core_manager_destroy(mgr);
ms_free(xml_path);
}
void linphone_proxy_config_address_equal_test() {

Binary file not shown.

View file

@ -211,6 +211,15 @@ bool_t wait_for_list(MSList* lcs,int* counter,int value,int timeout_ms) {
#endif
linphone_core_iterate((LinphoneCore*)(iterator->data));
}
#ifdef WIN32
{
MSG msg;
while (PeekMessage(&msg, NULL, 0, 0,1)){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
}
#endif
ms_usleep(20000);
}
if(counter && *counter<value) return FALSE;
@ -287,10 +296,13 @@ LinphoneCoreManager* linphone_core_manager_new2(const char* rc_file, int check_f
if( manager_count >= 2){
char hellopath[512];
char *recordpath = ms_strdup_printf("%s/record_for_lc_%p.wav",liblinphone_tester_writable_dir_prefix,mgr->lc);
ms_message("Manager for '%s' using files", rc_file ? rc_file : "--");
linphone_core_use_files(mgr->lc, TRUE);
snprintf(hellopath,sizeof(hellopath), "%s/sounds/hello8000.wav", liblinphone_tester_file_prefix);
linphone_core_set_play_file(mgr->lc,hellopath);
linphone_core_set_record_file(mgr->lc,recordpath);
ms_free(recordpath);
}
if (proxy_count){
@ -325,10 +337,21 @@ void linphone_core_manager_stop(LinphoneCoreManager *mgr){
}
void linphone_core_manager_destroy(LinphoneCoreManager* mgr) {
if (mgr->lc) linphone_core_destroy(mgr->lc);
if (mgr->lc){
const char *record_file=linphone_core_get_record_file(mgr->lc);
if (record_file){
if (CU_get_number_of_failures()>0) {
ms_message ("Test has failed, keeping recorded file [%s]",record_file);
} else {
unlink(record_file);
}
}
linphone_core_destroy(mgr->lc);
}
if (mgr->identity) linphone_address_destroy(mgr->identity);
if (mgr->stat.last_received_chat_message) linphone_chat_message_unref(mgr->stat.last_received_chat_message);
manager_count--;
ms_free(mgr);
}

View file

@ -167,6 +167,14 @@ static void tunnel_zrtp_video_ice_call(void) {
else
ms_warning("Could not test %s because tunnel functionality is not available",__FUNCTION__);
}
static void tunnel_dtls_video_ice_call(void) {
if (linphone_core_tunnel_available())
call_base(LinphoneMediaEncryptionDTLS,TRUE,FALSE,LinphonePolicyUseIce,TRUE);
else
ms_warning("Could not test %s because tunnel functionality is not available",__FUNCTION__);
}
static void tunnel_video_ice_call(void) {
if (linphone_core_tunnel_available())
call_base(LinphoneMediaEncryptionNone,TRUE,FALSE,LinphonePolicyUseIce,TRUE);
@ -207,6 +215,7 @@ test_t transport_tests[] = {
#ifdef VIDEO_ENABLED
{ "Tunnel ice video call", tunnel_video_ice_call },
{ "Tunnel SRTP ice video call", tunnel_srtp_video_ice_call },
{ "Tunnel DTLS ice video call", tunnel_dtls_video_ice_call },
{ "Tunnel ZRTP ice video call", tunnel_zrtp_video_ice_call },
#endif
};

View file

@ -193,7 +193,12 @@ static LinphoneCallParams * _configure_for_video(LinphoneCoreManager *manager, L
linphone_core_enable_video_display(manager->lc, TRUE);
params = linphone_core_create_default_call_parameters(manager->lc);
linphone_call_params_enable_video(params, TRUE);
disable_all_video_codecs_except_one(manager->lc, "VP8");
if (linphone_core_find_payload_type(manager->lc,"VP8", 90000, -1)!=NULL){
disable_all_video_codecs_except_one(manager->lc, "VP8");
}else{
ms_warning("VP8 codec not available, will use MP4V-ES instead");
disable_all_video_codecs_except_one(manager->lc, "MP4V-ES");
}
return params;
}