diff --git a/.gitignore b/.gitignore index aa568b6742283fa8abb4805338ada27429f123eb..0fbd7f9d1f37eb3210d7e595e10f68f16c65c047 100644 --- a/.gitignore +++ b/.gitignore @@ -168,7 +168,7 @@ sflphone-client-gnome/stamp-h1 /sflphone-common/libs/libiax2/Makefile /sflphone-common/libs/libiax2/iax2-config /sflphone-common/libs/libiax2/src/Makefile -/sflphone-common + ## dbus-c++ /sflphone-common/libs/dbus-c++/Makefile /sflphone-common/libs/dbus-c++/autom4te.cache/requests diff --git a/build_tarball.sh b/build_tarball.sh index 3a6694ed50032ea2019d2bafcf2cfcee9214c933..623bdc8eb0e87ffad4dee69dc46e4a2ce5637a26 100755 --- a/build_tarball.sh +++ b/build_tarball.sh @@ -30,10 +30,12 @@ rm -rf $BUILDDIR rm -f *.tar.gz rm -rf lang/ -rm -rf tools/build-system/ -rm -f tools/pysflphone/*.pyc -rm -f tools/build-package.sh tools/bleach.sh tools/autotoolize.sh -rm -rf sflphone-client-kde/build +rm -rf tools/ +rm -rf sflphone-client-kde/ +rm -rf sippxml + +rm -rf .git/ +rm -f .gitignore find -name .project -type f -exec rm {} \; find -name .cproject -type f -exec rm {} \; @@ -56,6 +58,9 @@ rm -f pjlib-util/bin/pjlib-util-test-x86_64-unknown-linux-gnu rm -f pjnath/bin/pjturn-srv-x86_64-unknown-linux-gnu rm -f pjmedia/bin/pjmedia-test-x86_64-unknown-linux-gnu +rm -f third_party/portaudio/src/hostapi/asio/Pa_ASIO.pdf +rm -f third_party/portaudio/src/hostapi/asio/Callback_adaptation_.pdf + # Put actual files in the tarball rm -f config.guess config.sub cp /usr/share/misc/config.guess . diff --git a/lang/ar/ar.po b/lang/ar/ar.po index a72b341b4f5f259c34509857f58eb37273c38e1e..f0094d4da1a2c05e6dec2b5dbf4541f8ac1328a8 100644 --- a/lang/ar/ar.po +++ b/lang/ar/ar.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" "PO-Revision-Date: 2009-12-15 16:06+0000\n" "Last-Translator: Zied ABID <ziedabid@gmail.com>\n" "Language-Team: Arabic <ar@li.org>\n" @@ -16,578 +16,578 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n % 100 >= " "3 && n % 100 <= 10 ? 3 : n % 100 >= 11 && n % 100 <= 99 ? 4 : 5;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "مُسجّل" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "غير مُسجّل" -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "خلل" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "غير صحيح" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" "Pulseaudio is not running" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" @@ -640,479 +640,452 @@ msgstr "" msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " "also be used if no account can be matched to an incoming or outgoing call." msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +msgid "Voice enhancement settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1121,81 +1094,109 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "" diff --git a/lang/ast/ast.po b/lang/ast/ast.po index 665d9180fbb878dcf384753669365c922097e8b9..23f9a99f1a5a4e20868a6d48552a718180705f3e 100644 --- a/lang/ast/ast.po +++ b/lang/ast/ast.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" "PO-Revision-Date: 2009-12-17 01:18+0000\n" "Last-Translator: Xuacu Saturio <xuacusk8@gmail.com>\n" "Language-Team: Asturian <ast@li.org>\n" @@ -15,64 +15,64 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Rexistráu" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Non rexistráu" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Probando..." -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Fallu" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Falló n'autenticación" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Rede nun alcanzable" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Host nun alcanzable" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Error na configuración STUN" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Sirvidor STUN inválidu" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Inválidu" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Usando la cuenta" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Nun hai cuentes rexistráes" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -80,28 +80,28 @@ msgstr "" "Nun se puede coneutar col sirvidor SFLphone.\n" "Compruebe qu'el daemon tea funcionando." -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Llamada SIP direuta" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -111,7 +111,7 @@ msgstr "" "\n" "Error al abrir el preséu de reproducción" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -121,7 +121,7 @@ msgstr "" "\n" "Error al abrir el preséu de captura" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -131,43 +131,43 @@ msgstr "" "\n" "Pulseaudio nun ta funcionando" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Hai una llamada en cursu." -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Hai llamaes en cursu." -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "¿Entá quier salir?" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Error SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "El par %s nun sofita ZRTP\n" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "La comunicación segura nun ta disponible" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Siguir" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Terminar llamada" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -176,11 +176,11 @@ msgstr "" "Un error de %s fizo que la llamada con %s pasara a mou ensin encriptar.\n" "Razón esauta: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "Falló la negociación ZRTP" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -189,50 +189,50 @@ msgstr "" "%s quier dexar d'usar comunicación segura. Confirmar reaniciará la " "conversación ensin SRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Confirmar mou en claro" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Confirmar" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s cuenta : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>De</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d mensaxe de voz" msgstr[1] "%d mensaxes de voz" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Llamando cola cuenta %s <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Cuenta actual" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Nun hai cuentes configuraes" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Nun tien denguna cuenta rexistrada" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -241,370 +241,370 @@ msgstr "" "<i>Con:</i> %s\n" "usando %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s nun tien sofitu pa ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "Falló la negociación ZRTP con %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Con:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Volume d'altavoces" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volume del micrófonu" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "Amo_sar ventana principal" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "_Colgar" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Buzón de voz" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Nun s'escoyó una llibreta de direiciones" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Llibreta de direiciones" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "Buzón de voz (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" "SFLphone ye un programa de VoIP compatible colos protocolos SIP ya IAX2." -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Tocante a SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "Llamada" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "Llamada _Nueva" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "Facer una llamada nueva" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Descolgar" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "Contestar la llamada" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "Finar la llamada" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "_N'espera" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "Poner la llamada n'espera" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "_Salir d'espera" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "Sacar la llamada d'espera" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "_Asistente de configuración" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Executar l'asistente de configuración" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "Llamar al buzón de voz" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "_Zarrar" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "Minimizar na bandexa de sistema" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "_Colar" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "Colar del programa" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editar" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "_Copiar" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Copiar la seleición" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "A_pegar" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "Pegar el conteníu del cartafueyu" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Llimpiar _hestorial" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Llimpiar l'hestorial de llamáes" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Cuentes" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Editar les sos cuentes" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "_Preferencies" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "Camudar les sos preferencies" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Ver" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Aida" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Conteníu" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "Abrir el manual" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Tocante a esta aplicación" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "_Tresferir" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "Tresferir la llamada" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "G_rabar" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "Grabar la conversación actual" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "Amo_sar ferramientes" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "Amuesa la barra de ferramientes" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "_Tecláu" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "Amosar el tecláu pa marcar" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "_Controles de volume" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Amuesa los controles de volume" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "_Hestorial" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Hestorial de llamáes" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Llibret_a de direiciones" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "_N'espera" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "Tornar _Llamada" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Editar númberu de teléfonu" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Editar el númberu de teléfonu enantes de llamar" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Parámetros de cuenta" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "Nom_atu" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protocolu" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Desconocíu" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "Nome del _host" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "Nome d'_usuariu" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "Cont_raseña" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Amosar contraseña" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "Númberu del buzón de _voz" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Autenticación" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Secretu" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Credencial" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Nome d'autenticación" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Contraseña" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Seguridá" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Usar tresporte TLS (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "Intercambéu de clave SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Desactiváu" @@ -657,40 +657,40 @@ msgstr "Afitar direición y puertu espublizaos:" msgid "Published port" msgstr "Puertu espublizáu" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "Códecs" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Axustes de la cuenta" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Básicu" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avanzáu" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " @@ -700,95 +700,95 @@ msgstr "" "URI sip como <b>sip:parremotu</b>. Los parámetros que conseñe equí, tamién " "van usase si una llamada entrante o saliente nun concasa con cuenta dala." -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "El sirvidor devolvió \"%s\" (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocolu" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Estáu" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Cuentes" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Cuentes Configuraes" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "Hai %d cuenta activa" msgstr[1] "Hai %d cuentes actives" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Nun hai denguna cuenta activada" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Xeneral" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Usar llibreta de direiciones d'Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Llende de descarga:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "tarxetes" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "Amosar foto _del contautu, si ta disponible" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Campos de les llibretes de direiciones d'Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Trabayu" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Casa" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Movil" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Llibretes de direiciones" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Esbille les llibretes de direiciones d'Evolution a usar" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nome" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Esti asistente yá finó." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -796,347 +796,322 @@ msgstr "" "Puede comprobar en cualisquier momentu l'estáu del rexistru, o camudar los " "parámetros de les cuentes de so, na ventana Opciones/Cuentes." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Nomatu" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Sirvidor" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Nome d'usuariu" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Seguridá: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Denguna" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "Asistente SFLphone de creación de cuentes" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "¡Bienllegáu al asistente de creación de cuentes de SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" "Esti asistente d'instalación echara-y un gabitu pa configurar una cuenta." -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocolos VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Escueya una triba de cuenta" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Cuenta" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Escueya una de les siguientes opciones" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Crear una cuenta SIP/IAX2 de baldre en sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Rexistrar una cuenta SIP o IAX2 esistente" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Axustes de cuenta SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Conseñe la información siguiente" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Comunicación segura con _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Corréu ellectrónicu opcional" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" "Estes señes de corréu van usase pa unviar los mensaxes del buzón de voz." -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Corréu" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Axustes de cuenta IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Conversión de Direición de Rede (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Seique tenga qu'activar esto si ta tres d'un torgafueos." -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "A_ctivar STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_Sirvidor STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Rexistru de cuenta" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "¡Norabona!" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frecuencia" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Tasa de bits" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Anchor de banda" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Complementu ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Salida" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Entrada" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" -msgstr "Detección d'actividá de _voz" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Tonos de llamada" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "Ame_norgar ruíu (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Xestor de soníu" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Axustes de ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Grabaciones" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Carpeta de destín" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Seleicione una carpeta" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Tonos de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "_Activar tonos de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Escueya un tono de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Ficheros de soníu" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Axustes de la cuenta" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "URL Argumentu" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Ordes personalizáes pa llamáes entrantes con URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s va trocase pola URL pasada." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Disparador pa una cabecera _SIP determinada" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Disparador pa una URL _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "O_rde a executar" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Reescritura de númberu telefónicu" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Prefixar los númberos marcaos con" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notificaciones nel escritoriu" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Activar notificaciones" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Iconu de la bandexa del sistema" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "_Estenderexar ventana principal al recibir llamada" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "_Nunca estenderexar ventana principal" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Anubrir _ventana SFLphone nel entamu" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Hestóricu de llamaes" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "_Guardar el mio hestóricu polo menos" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "díes" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Preferencies" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Soníu" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Llibreta de direiciones" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Enganches" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "Opciones ZRTP" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "Unviar Hash de Hello en S_DP" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "Pidir al usuariu que confirme SAS" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "A_visar si nun hai sofitu ZRTP" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "Amosar SAS una vegada pa eventos n'espera" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "Opciones avanzaes pa TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Tresporte TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1150,81 +1125,115 @@ msgstr "" "pa cada cuenta. Por embargu, caún d'ellos va executase nun puertu dedicáu,\n" "diferentes ente sigo.\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Llista de Certificaos d'Autoridá" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Escueya un ficheru de llista de CA (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Ficheru de certificáu de par públicu" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Escueye un certificáu públicu de par (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Escueye un ficheru de clave privada (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Contraseña de la clave privada" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Métodu del protocolu TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Llista de cifráu TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "Nome de sirvidor pa la conexón TLS saliente" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Tiempu de negociación (seg:mseg)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "Comprobar certificaos entrantes, como un sirvidor" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "Comprobar certificaos de la respuesta, como un cliente" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Requerir certificáu pa les conexones TLS entrantes" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "Opciones ZRTP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "Unviar Hash de Hello en S_DP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "Pidir al usuariu que confirme SAS" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "A_visar si nun hai sofitu ZRTP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "Amosar SAS una vegada pa eventos n'espera" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Guetar todos" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Calque equí pa camudar el tipu de gueta" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Guetar por llamaes perdíes" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Guetar por llamaes entrantes" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Guetar por llamaes salientes" + +#~ msgid "_Voice Activity Detection" +#~ msgstr "Detección d'actividá de _voz" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "Ame_norgar ruíu (Narrow-Band Companding)" diff --git a/lang/copy-in-gnome.sh b/lang/copy-in-gnome.sh index f5e961f6ad4fb554a3694cf84de76dea04822929..6b3e3e6352877562beab5c8aa8b58b360cb63a25 100755 --- a/lang/copy-in-gnome.sh +++ b/lang/copy-in-gnome.sh @@ -1,6 +1,6 @@ -for fichier in `find . -name sflphone.po ` +for fichier in `find . -name *.po ` do locale=`echo $fichier | cut -d / -f2` -cp $fichier ../sflphone-client-gnome/po/$locale/sflphone-client-gnome.po -echo "$fichier copied to ../sflphone-client-gnome/po/$locale/sflphone-client-gnome.po" +cp $fichier ../sflphone-client-gnome/po/$locale/$locale.po +echo "$fichier copied to ../sflphone-client-gnome/po/$locale/$locale.po" done diff --git a/lang/da/da.po b/lang/da/da.po index 80b4a05279dd4f2b8024bec280b83c022b01ecae..df489d7787b3447b374f85f4b6ea04565bd918cf 100644 --- a/lang/da/da.po +++ b/lang/da/da.po @@ -7,72 +7,72 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" -"PO-Revision-Date: 2010-03-30 20:01+0000\n" -"Last-Translator: AJenbo <anders@jenbo.dk>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-05-01 01:15+0000\n" +"Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com>\n" "Language-Team: Danish <da@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registreret" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Ikke registreret" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Forsøger..." -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Fejl" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Godkendelse mislykkedes" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Netværk kan ikke nås" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Vært kan ikke nås" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Stun konfigureringsfejl" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Stun server ugyldig" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Ugyldig" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Benytter konto" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Ingen registrerede konti" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -80,28 +80,28 @@ msgstr "" "Forbindelse til SFLphone serveren kan ikke oprettes.\n" "Sørg for at server-dæmonen kører." -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Direkte IP opkald" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -111,7 +111,7 @@ msgstr "" "\n" "Fejl opstod mens afspilningsenhed blev åbnet" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -121,7 +121,7 @@ msgstr "" "\n" "Fejl opstod mens optageenhed blev åbnet" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -131,43 +131,43 @@ msgstr "" "\n" "PulseAudio er tilgængelig" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Et igangværende opkald eksisterer" -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Igangværende opkald eksisterer" -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Ønsker du stadig at afslutte" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphone fejl" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP er ikke understøttet af modtageren %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Sikker kommunikation ikke tilgængelig" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Fortsæt" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Afslut opkald" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -177,11 +177,11 @@ msgstr "" "tilstand.\n" "Den præcise årsag: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "ZRTP-forhandling mislykkedes" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -190,50 +190,50 @@ msgstr "" "%s ønsker at afslutte brugen af sikker kommunikation. Ved at godkende vil " "samtalen fortætte uden SRTP\n" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Godkend sikkerhedsændring" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Godkend" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s konto : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>Fra</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d indtalt besked" msgstr[1] "%d indtalte beskeder" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Kalder op med %s konto <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Nuværende konto" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Du har ingen oprettede konti" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Du har ingen registrerede konti" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -242,369 +242,369 @@ msgstr "" "<i>Med:</i> %s \n" "benyttende %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s understøtter ikke ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "ZRTP forhandling mislykkedes med %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Med:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Højtaler lydstyrke" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Mikrofon lydstyrke" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Vis hovedvindue" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "_Læg på" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Talebesked" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Ingen adressebog er valgt" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Adressebog" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "Talebesked" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone er en VoIP-klient kompatibel med SIP og IAX2 protokoller" -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Om SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "Afslut opkald" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Nyt opkald" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "Lav et nyt opkald" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Svar" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "Besvar opkaldet" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "Afslut opkaldet" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "I _venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "Sæt opkaldet i venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "F_jern fra venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "Fjern opkaldet fra venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Konfigurationsfil" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Stun konfigureringsfejl" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d indtalt besked" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "_Luk" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "Minimere til systembakken" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "_Afslut" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "Afslut programmet" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Rediger" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "_Kopier" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Kopier det valgte" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "Inds_æt" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "Indsæt indholdet af udklipsholderen" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "Konti" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Nuværende konto" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Indstillinger" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "Ændr dine indstillinger" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Vis" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Hjælp" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Fortsæt" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "Åbn manualen" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Godkendelse" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "_Overfør" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "Overfør opkaldet" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "_Optag" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "Optag den aktuelle samtale" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "_Vis værktøjslinie" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "Vis værktøjslinien" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "_Nummertastatur" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "Vis nummertastaturet" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "Vis _lydstyrke indstillinger" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Vis lydstyrke indstillingerne" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Adressebog" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "I _venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Besvar opkald" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Ændre telefonnummer" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Ændre telefonnummeret før opkald" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Kontoparametre" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Alias" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protokol" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Ukendt" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Værtsnavn" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Brugernavn" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Adgangskode" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Adgangskode" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Nummer for talebesked" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Godkendelse" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Hemmelig" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Legitimationsoplysning" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Godkendelsesnavn" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Adgangskode" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Sikkerhed" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Benyt TLS transport (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "SRTP-nøgleudveksling" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Deaktiveret" @@ -657,40 +657,40 @@ msgstr "Konfigurer offentliggjort adresse og port:" msgid "Published port" msgstr "Offentliggjort port" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "Codecs" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" -msgstr "" +msgstr "SIP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Kontoindstillinger" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Grundlæggende" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" -msgstr "Advanceret" +msgstr "Avanceret" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "Netværk" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " @@ -701,95 +701,95 @@ msgstr "" "du definerer her vil også benyttes hvis ingen konto kan tilknyttes et " "indgående eller udgående opkald." -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "Server svarede \"" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protokol" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Status" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Konti" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Oprettede konti" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "aktiv konto" msgstr[1] "aktiv konto" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Der er ingen aktive konti" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Generelt" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Benyt Evolution adressekartotek" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Download begrænsning :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "kort" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "Vis _kontaktbillede hvis tilgængeligt" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Felter fra Evolutions adressekartotek" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Arbejde" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Hjem" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Mobil" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Adressekartoteker" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Vælg hvilke af Evolutions adressekartoteker skal benyttes" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Navn" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Denne vejledning er nu fuldført" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -797,346 +797,321 @@ msgstr "" "Du kan til enhver tid undersøge din registrering eller ændre dine kontis " "parametre i vinduet Indstillinger/Konti" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Alias" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Server" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Brugernavn" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Sikkerhed: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Ingen" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLphone-guiden til oprettelse af konto" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Velkommen til kontooperettelsesvejledning for SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" "Denne installeringsvejledning vil hjælpe dig med at konfigurere en konto" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP protokoller" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Vælg en kontotype" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Konto" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Vælg en af følgende indstillinger" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Opret en gratis SIP/IAX2 konto hos sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Registrer en eksisterende SIP eller IAX2 konto" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "SIP kontoindstillinger" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Udfyld venligst følgende information" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Sikker kommunikation med _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Valgfri emailadresse" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "Denne emailadresse vil blive brugt til at sende dig indtalte beskeder" -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Emailadresse" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "IAX2 kontoindstillinger" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Du opfordres til at aktivere dette hvis du er bag en firewall" -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "_Benyt STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_STUN server" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Kontoregistrering" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Tillykke!" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frekvens" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Bithastighed" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Båndbredde" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA plugin" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Uddata" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Inddata" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" -msgstr "_Detektering af taleaktivitet" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Ringetoner" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "_Støjreducering (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Lydhåndtering" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_PulseAudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA indstillinger" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Optagelser" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Destinationsmappe" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Vælg en mappe" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Ringetoner" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "Aktiver _ringetoner" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Vælg en ringetone" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Lydfiler" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Kontoindstillinger" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Adresseargument" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Brugerdefinerede kommandoer ved indgående opkald med webadresse" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s vil blive erstattet med den givne webadresse." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Udløse ved specifik _SIP protokolhoved" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Udløse ved _IAX2 webadresse" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Kommando som skal _kaldes" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Omskrivning af telefonnummer" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Præfiks for indtastede numre" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Meddelelser" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Aktiver meddelelser" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Systembakke-ikon" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "_Vis hovedvindue ved indgående opkald" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "Aldrig _pop-op hovedvindue" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Skjul SFLphone vinduet ved _start" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "_Gem min historik i mindst" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "dage" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Indstillinger" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Audio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Adressebog" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Hooks" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "ZRTP indstillinger" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "Send \"Hello Hash\" i S_DP" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "_Spørg bruger om at godkende SAS" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "_Advar hvis ZRTP ikke understøttes" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "_Vis SAS en enkelt gang for vente-hændelser" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "Advancerede indstillinger for TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "TLS transport" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1149,85 +1124,119 @@ msgstr "" "TLS transporter for de enkelte konti. Bemærk dog at de hver vil benytte\n" "en dedikeret port forskellig fra hinanden.\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Autoritetscertifikatsliste" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Vælg en fil med en autoritetscertifikatsliste (valgfri)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Offentlig endpoint certifikatsfil" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Vælg et offentligt endpoint-certifikat (valgfri)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Vælg en privat nøglefil (valgfri)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Adgangskode for den private nøgle" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "TLS protokolmetode" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "TLS cifferliste" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "Server navneinstans for udgående TLS forbindelse" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Forhandlingstimeout" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "Udfør kontrol af indgående certifikater, som en server" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "Udfør kontrol af certifikater fra svar, som en klient" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Kræv certifikat for indgående TLS forbindelser" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "ZRTP indstillinger" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "Send \"Hello Hash\" i S_DP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "_Spørg bruger om at godkende SAS" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "_Advar hvis ZRTP ikke understøttes" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "_Vis SAS en enkelt gang for vente-hændelser" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Søg alle" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Klik her for at ændre søgningstypen" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Søg i ubesvarede opkald" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Søg i indgående opkald" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Søg i udgående opkald" +#~ msgid "_Voice Activity Detection" +#~ msgstr "_Detektering af taleaktivitet" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "_Støjreducering (Narrow-Band Companding)" + #~ msgid "SIP Port" #~ msgstr "SIP Port" diff --git a/lang/de/de.po b/lang/de/de.po index 7c3122b07bf95223c8f5d0b93ce5fbe32dfdf262..1ef5bedaa91c13f31af20adee8d3efdd1c82422d 100644 --- a/lang/de/de.po +++ b/lang/de/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" "PO-Revision-Date: 2010-04-03 16:49+0000\n" "Last-Translator: Jakob Kramer <Unknown>\n" "Language-Team: SavoirFaire Linux Inc <sflphoneteam@savoirfairelinux.com>\n" @@ -15,64 +15,64 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registriert" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Nicht registriert" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Am versuchen..." -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Fehler" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Authentifizierung fehlgeschlagen" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Kein netzwerk" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Host unerreichbar" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Stun: Konfigurationsfehler" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Ungültiger Stun server" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Ungültig" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Mit Konto" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Kein registriertes Konto" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -80,28 +80,28 @@ msgstr "" "SFLphone Server kann nicht verbunden werden. Stellen Sie sicher, dass der " "Dämon läuft." -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Direkter SIP-Anruf" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "heute um %R" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "gestern um %R" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -111,7 +111,7 @@ msgstr "" "\n" "Fehler während Öffnen des \"playback device\"" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -121,7 +121,7 @@ msgstr "" "\n" "Fehler während Öffnen des \"capture device\"" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -131,43 +131,43 @@ msgstr "" "\n" "Pulseaudio nicht gestartet" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Laufender Anruf." -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Laufende Anrufe." -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Bitte bestätigen, dass Sie die Anwendung beenden möchten" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphone Fehler" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP wird vom Nutzer %s nicht unterstützt\n" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Sichere Verbindung nicht verfügbar" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Weiter" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Anruf beenden" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -176,11 +176,11 @@ msgstr "" "Ein %s Fehler verhinderte die Verschlüsselung des Telefonats mit %s.\n" "Genauer Grund: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "ZRTP Übertragung fehlgeschlagen" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -189,50 +189,50 @@ msgstr "" "%s will die sichere Kommunikation beenden. Das Gespräch wird dann ohne SRTP " "fortgesetzt.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Bestätigen" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "Konto %s : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>Von</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d Voice Nachricht" msgstr[1] "%d Voice Nachricht" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Mit %s Konto <i>%s</i> anrufen" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Aktuelles Konto" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Sie haben noch kein Konto eingestellt" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Sie haben noch kein registriertes Konto" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -241,369 +241,369 @@ msgstr "" "<i>Mit:</i> %s \n" "unter Verwendung von %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s unterstützt ZRTP nicht." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "ZRTP-Übertragung mit %s schlug fehl" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Mit:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Lautsprecher Lautstärke" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Mikro Lautstärke" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Hauptfenster anzeigen" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "A_uflegen" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" msgstr[0] "%i aktiver Account" msgstr[1] "%i aktive Accounts" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Voicemail" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Adressbuch" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Adressbuch" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "Voicemail (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone ist ein VoIP Client (kompatibel mit SIP und IAX2 Protokolle)" -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Über SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "_Anruf" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Neuer Anruf" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "Einen neuen Anruf tätigen" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Abnehmen" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "Auf den Anruf antworten" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "Den Anruf beenden" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "in _Warteschleife" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Einrichtungsdatei" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Stun: Konfigurationsfehler" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d Voice Nachricht" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "_Beenden" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "Das Programm beenden" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editieren" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Entfernen Sie das ausgewählte Konto" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Liste der vorherigen Anrufen _leeren" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Vorherigen Anrufen leeren" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Konten" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Aktuelles Konto" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Einstellungen" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "Ihre Einstellungen ändern" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Anzeigen" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Hilfe" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Weiter" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Authentifizierung" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Weiterleiten" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "Weiterleiten zu :" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "_Gespräch aufzeichnen" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "Das momentane Gespräch aufnehmen" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "_Zeige Werkzeugleiste" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "_Wählscheibe" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "Lautstärke-Regler anzeigen" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Lautstärke-Regler anzeigen" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Vorherige Anrufe" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Liste der vorherigen Anrufen" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Adressbuch" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "in _Warteschleife" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Zurückrufen" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Nummer editieren" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Nummer vor dem Anruf editieren" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Konto parameter" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Alias" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protokoll" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Unbekannt" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Hostname" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Benutzername" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Passwort" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Passwort" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Voicemail Nummer" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Authentifizierung" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Geheim" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Authentifizierung Name" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Passwort" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Sicherheit" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Deaktiviert" @@ -656,135 +656,135 @@ msgstr "" msgid "Published port" msgstr "Veröffentlichter Port" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "Codecs" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "SIP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Kontoeinstellungen" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Allgemein" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Erweitert" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "Netzwerk" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " "also be used if no account can be matched to an incoming or outgoing call." msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protokoll" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Status" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Konten" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Konfigurierten Konten" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "aktive Konten" msgstr[1] "aktive Konten" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Sie haben kein aktives Konto" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Allgemein" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "Addressbuch von Evolution verwenden" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Herunterladen Grenze :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "Karten" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "Wenn verfügbar, _Bild anzeigen" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Felder vom Evolution Adressbuch" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Arbeit" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Heim" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Handy" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Adressbücher" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Adressbücher von Evolution zum verwenden auswählen" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Name" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Assistent beendet." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -792,347 +792,322 @@ msgstr "" "Sie können jederzeit Ihres Registrierungsstatus überprüfen oder " "IhreKontoparameter ändern (Optionen/Konten)." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Alias" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Server" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Benutzername" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Sicherheit: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Nichts" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLphone Konto (Konfigurationsassistent)" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Wilkommen zu SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" "The Installationsassistent wird Ihnen helfen, ein Konto zu konfigurieren." -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP Protokoll" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Kontotyp auswählen" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterisk Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Konto" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Bitte eine Option auswählen" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "SIP/IAX2 Konto bei sflphone.org erstellen lassen" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Existierendes SIP/IAX2 Konto registrieren" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Konfiguration des SIP Konto" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Folgende Informationen bitte ausfühlen" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Sichere Kommunikation mit _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Fakultative E-mail-Adresse" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" "Diese E-mail-Adresse wird benutzt, um Ihnen voicemail Meldungen zu schicken." -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Email" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Konfiguration des IAX2 Konto" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Sie sollten dieses einschalten, falls Sie hinter einer Firewall sind." -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "STUN Ei_nschalten" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_STUN Server" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Konto Registrierung" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Gratulation!" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frequenz" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Bitrate" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Bandbreite" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA Plugin" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Ausgabe" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Eingabe" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" -msgstr "\"Voice Activity\" Erkennung" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Klingeltöne" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "_Geräuschreduzierung (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Sound Manager" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA Konfiguration" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Aufnahmen" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Zielverzeichnis" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Verzeichnis auswählen" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Klingeltöne" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "Klingeltöne _einschalten" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Klingelton auswählen" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Audio Dateien" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Kontoeinstellungen" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "URL Argument" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Spezielle Befehle bei eingehender Anrufen mit URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s wird mit gegebener URL ersetzt." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Bewirkung beim spezifischen _SIP Header" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Bewirkung bei _IAX2 URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Befehl _auszuführen" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Telefonnummer umformen" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Präfix vor Nummern einfügen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Desktopbenachrichtigungen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "Benachrichtigungen _einschalten" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Benachrichtigungsfeld (\"System Tray\") Icon" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "Hauptfenster anzeigen wenn eingehendes Gespräch" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "_Hauptfenster nie anzeigen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "_Unsichtbar beim Start" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Liste der vorherigen Anrufen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "Tage" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Einstellungen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Audio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Adressbuch" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Hooks" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "ZRTP Optionen" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "Den Benutzer bitten, SAS zu bestätigen" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "_Warnung wenn ZRTP nicht unterstüzt" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "SDES Optionen" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "Erweiterte Optionen für TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "TLS Transport" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1141,85 +1116,119 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "TLS-Protokol-Methode" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "Bestätige eingehende Zertifikate als einen Server" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "Bestätige eingehende Zertifikate als einen Client" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Benötige Zertifikat für eingehende TLS-Verbindungen" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "ZRTP Optionen" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "Den Benutzer bitten, SAS zu bestätigen" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "_Warnung wenn ZRTP nicht unterstüzt" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "SDES Optionen" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Suche alle" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Klicken Sie hier, um Suchtyp zu wechseln" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Suche nach Anruf in Abwesenheit" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Suche nach eingehenden Anruf" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Suche nach ausgehenden Anru" +#~ msgid "_Voice Activity Detection" +#~ msgstr "\"Voice Activity\" Erkennung" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "_Geräuschreduzierung (Narrow-Band Companding)" + #~ msgctxt "account state" #~ msgid "Error" #~ msgstr "Fehler" diff --git a/lang/el/el.po b/lang/el/el.po index 968ee7bb5bf9803429707491de727ebc895dd8f0..14bd861c861624892b84bca4b847abd5ae7d5a88 100644 --- a/lang/el/el.po +++ b/lang/el/el.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" "PO-Revision-Date: 2010-01-13 02:45+0000\n" "Last-Translator: jarlaxl lamat <sztaasz@gmail.com>\n" "Language-Team: Greek <el@li.org>\n" @@ -15,64 +15,64 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Εγγεγραμμένος" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Μη εγγεγραμμένος" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Προσπαθώ..." -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Σφάλμα" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Αποτυχία πιστοποίησης" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Μη προσβάσιμο δίκτυο" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Μη προσβάσιμος υπολογιστής" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Σφάλμα ρύθμισης εξυπηρετητή STUN" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Ακυρος εξυπηρετητής STUN" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Μη έγκυρο" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Χρήση λογαριασμού" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Μη πιστοποιημένοι λογαριασμοί" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -80,28 +80,28 @@ msgstr "" "Αδυναμία σύνδεσης στον εξυπηρετητη του SFLphone\n" "Σιγουρευτείτε οτι τρέχει ο daemon" -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Κλήση κατευθείαν SIP" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -111,7 +111,7 @@ msgstr "" "\n" "Σφάλμα κατα το άνοιγμα της συσκευής αναπαραγωγής" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -121,7 +121,7 @@ msgstr "" "\n" "Σφάλμα κατα το άνοιγμα της συσκευής λήψης ήχου" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -131,43 +131,43 @@ msgstr "" "\n" "Tο Pulseaudio δεν τρέχει" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Υπάρχει μια κλήση εν εξελίξει" -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Υπάρχουν κλήσεις εν εξελίξει" -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Να κλείσω σιγουρα;" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Σφάλμα SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "Το πρωτόκολλο ZRTP δεν υποσττηρίζεται απο το peer %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Κρυπτογραφημένη επικοινωνια μη διαθέσιμη" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Συνέχεια" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Τερματισμός κλήσης" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -177,11 +177,11 @@ msgstr "" "μορφή.\n" "Ακριβής λόγος: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "Η διαπραγμάτευση ZRTP απέτυχε" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -190,50 +190,50 @@ msgstr "" "Ο/Η %s θέλει να σταματησει να χρησιμοποιεί κρυπτογραφημένη επικοινωνία. Η " "επιβεβαιωση θα συνεχίσει τη συζήτηση αλλα χωρις κρυπτογράφηση\n" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Επιβεβαίωση Φύγε Καθαρισμός" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Επιβεβαίωση" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s λογαριασμός %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>Από</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d Μηνυμα τηλεφωνητή" msgstr[1] "%d Μηνυματα τηλεφωνητή" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Κλήση μέ %s λογαριασμό <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Τρέχων λογαριασμός" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Δεν έχετε θέσει λογαριασμούς" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Δεν έχετε κατοχυρομένους λογαριασμούς" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -242,371 +242,371 @@ msgstr "" "<i>Με:</i> %s \n" "χρηση: %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "Ο %s δεν υποστηρίζει ZRTP" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "Η ZRTP διαπραγμάτευση απέτυχε με %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Με:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Ένταση ηχείων" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Ενταση μικροφώνου" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "Δείξε το βα_σικό παράθυρο" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "Κλείστο _Η" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Τηλεφωνητής" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Κανένα βιβλίο διευθύνσεω δεν έχει επιλεχθεί" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Βιβλίο διευθύνσεων" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "Τηλεφωνητής (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" "Το SFLphone ειναι ένα προγραμμα πελάτης VoIP συμβατό με SIP και ΙΑΧ2 " "πρωτόκολλα" -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Σχετικά με το SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "Κλήση" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Νέα κλήση" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "Κάντε μια νέα κλήση" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "Σήκωστο _Π" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "Σηκώστε το τηλέφωνο" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "Κλέιστε το τηλέφωνο" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "Σε α_ναμονή" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "Βάλτε την κλήση σε αναμονή" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "Επανα_φορά" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "Επαναφέρετε την κλήση σε αναμονή" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Οδηγός Ρυθμίσεων _Α" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Εκτέλεση του οδηγού ρύθμισης" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "Κλήση προς τον τηλεφωνητή σας" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "_Κλείσιμο" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "Ελαχιστοποίηση στη περιοχή ειδοποιήσεων" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "Έξοδος" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "Τερματισμός του προγράμματος" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Επεξεργασία" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "Αντέγρα_ψε" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Αντιγραφή της επιλογής" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "Ε_πικόλληση" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "Επικόλληση των περιεχομένων του προχείρου (clipboard)" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Καθαρισμός ιστορικού κλ_ησεων" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Καθαρισμός του ιστορικού κλησεων" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "Λογαρι_ασμοί" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Επεξεργασία των λογαριασμών σας" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "_Προτιμήσεις" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "Αλλαγή των προτιμήσεων σας" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Προβολή" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Βο_ηθεια" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Περιεχόμενα" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "Άνοιγμα του εγχειριδίου" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Περί αυτής της εφαρμογής" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Με_ταφορά" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "Μεταφορά της κλήσης" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "Καταγ_ραφή" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "Καταγραψτε τη τρέχουσα συνομιλία" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "Εμφάνι_ση γραμμής εργαλείων" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "Εμφάνιση της γραμμής εργαλείων" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "Πληκτρολόγιο _δ" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "Εμφάνιση του πληκτρολογίου" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "Ένταση ήχων" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Δείξε τις ρυθμίσεις για την ένταση ήχων" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Ιστορικό _Η" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Ιστορικό κλήσεων" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Βιβλίο διευθύνσεων _Α" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "Κλ_ηση σε αναμονή" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "Κλήση" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Επεξεργσία τηελφωνικού αριθμού" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Επεξεργσία τηελφωνικού αριθμού προ της κλήσης" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Παράμετροι λογαρισμού" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "Ψευδώνυμο" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Πρωτοκολλο" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "'Αγνωστο" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "Εξυπηρετητής παρόχου" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "Ονομα χρήστη" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "Συνθηματικό" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Εμφάνιση συνθηματικού" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "Αριθμός τηλεφωνητή" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Ταυτοποίηση" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Απόρρητο" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Πιστοποιητικό" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Όνομα εξακρίβωσης" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Συνθηματικό" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Ασφάλεια" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Χρήση TLS" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "Ανταλλαγή κλειδιών SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Απενεργοποιημένο" @@ -659,479 +659,452 @@ msgstr "" msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " "also be used if no account can be matched to an incoming or outgoing call." msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +msgid "Voice enhancement settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1140,81 +1113,109 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "" diff --git a/lang/es/es.po b/lang/es/es.po index 7313bad08d7a3c970457961ee3ebdecae5baf346..75d66eafa6bfb3bb67339cf6dc7d051cc0af6e91 100644 --- a/lang/es/es.po +++ b/lang/es/es.po @@ -9,180 +9,180 @@ msgid "" msgstr "" "Project-Id-Version: SFLphone 0.9.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" -"PO-Revision-Date: 2009-12-17 23:18+0000\n" -"Last-Translator: Jorge E. Gómez <jorge@jorgee.net>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-06-17 16:12+0000\n" +"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n" "Language-Team: SavoirFaireLinux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registrado" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "No registrado" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Intentando..." -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Error" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Falló la autenticación" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" -msgstr "Red Inaccesible" +msgstr "Red inaccesible" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" -msgstr "_Parte del servidor" +msgstr "Servidor inaccesible" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" -msgstr "Error de configuración Stun" +msgstr "Error de configuración de Stun" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" -msgstr "Servidor stun inválido" +msgstr "Servidor Stun no válido" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" -msgstr "" +msgstr "Listo" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" -msgstr "Inválido" +msgstr "No válido" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Usando la cuenta" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" -msgstr "Ninguna cuenta registrada" +msgstr "No hay ninguna cuenta registrada" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" -"Incapaz de conectar con el servidor SFLphone.\n" -" Asegúrese que el demonio esté funcionando." +"No se pudo conectar con el servidor de SFLphone.\n" +"Asegúrese de que el demonio está en ejecución." -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" -msgstr "Llamadas IP directas" +msgstr "Llamada SIP directa" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" -msgstr "" +msgstr "hoy a las %R" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" -msgstr "" +msgstr "ayer a las %R" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" -msgstr "" +msgstr "%A a las %R" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" -msgstr "" +msgstr "%x a las %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" -"<b>Notificación ALSA</b>\n" +"Notificación ALSA\n" "\n" "Error al abrir el dispositivo de reproducción" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" -"<b>Notificación ALSA</b>\n" +"Notificación ALSA\n" "\n" "Error al abrir el dispositivo de captura" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" "Pulseaudio is not running" msgstr "" -"<b>Notificación de Pulseaudio</b>\n" +"Notificación de Pulseaudio\n" "\n" "Pulseaudio no está funcionando" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." -msgstr "Hay una llamada en curso" +msgstr "Hay una llamada en curso." -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Hay llamadas en curso." -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "¿Aún quiere salir?" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" -msgstr "Error SFLphone" +msgstr "Error de SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" -msgstr "ZRTP no es compatible con %s\n" +msgstr "El nodo %s no soporta ZRTP\n" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Comunicación segura no disponible" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" -msgstr "Seguir" +msgstr "Continuar" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Terminar llamada" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -"Un error de %s obliga la llamada con %s a caer bajo un modo decifrado.\n" +"Un error de %s obliga a la llamada con %s a realizarse en modo no cifrado.\n" "Razón exacta: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" -msgstr "Negociación ZRTP fracasada" +msgstr "Falló la negociación ZRTP" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -191,50 +191,50 @@ msgstr "" "%s quiere parar la comunicación segura. Confirmar reanudará la conversación " "sin SRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Confirmar" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Confirmar" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s cuenta : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>De</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d mensaje de voz" msgstr[1] "%d mensajes de voz" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Llamando con la cuenta %s <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Cuenta actual" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" -msgstr "Ninguna cuenta configurada" +msgstr "No tiene configurada ninguna cuenta" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "No tiene ninguna cuenta registrada" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -243,369 +243,369 @@ msgstr "" "<i>Con:</i> %s\n" "usando %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." -msgstr "%s no es compatible con ZRTP." +msgstr "%s no soporta ZRTP" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" -msgstr "Negociación ZRTP fracasada con %s" +msgstr "La negociación ZRTP ha fracasado con %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Con:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" -msgstr "Volumen de altavoces" +msgstr "Volumen de los altavoces" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volumen del micrófono" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" -msgstr "Mostrar ventana principal" +msgstr "Mostrar _ventana principal" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "_Colgar" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%i cuenta activa" +msgstr[1] "%i cuentas activas" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Mensaje de voz" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" -msgstr "Libreta de contactos" +msgstr "No se ha seleccionado ninguna libreta de direcciones" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" -msgstr "Libreta de contactos" +msgstr "Libreta de direcciones" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "Mensaje de voz (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." -msgstr "SFLphone es un teléfono VoIP compatible con los protocolos SIP y IAX2" +msgstr "SFLphone es un cliente VoIP compatible con los protocolos SIP e IAX2" -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" -msgstr "Sobre SFLphone" +msgstr "Acerca de SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" -msgstr "_Llamar" +msgstr "Llamar" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Nueva llamada" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "Realizar un nuevo llamado" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Descolgar" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "Responder el llamado" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "Finalizar el llamado" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "En _Espera" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "Poner el llamado en espera" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "Seguir" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "Sacar el llamado de espera" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Archivo de configuración" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Error de configuración Stun" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d mensaje de voz" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "_Cerrar" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "Minimizar al área de notificación" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "_Editar" +msgstr "_Salir" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "Salir del programa" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editar" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "_Copiar" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Eliminar la cuenta seleccionada" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "_Pegar" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "Pegar el contenido del portapapeles" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "_Limpiar historial" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Limpiar historial" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Cuentas" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Cuenta actual" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Preferencias" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "Cambiar sus preferencias" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Ver" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Ayuda" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Seguir" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "Abrir el manual" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Autentificación" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Transferir" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "Transferir a :" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "G_rabar" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "Grabar la conversación actual" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "_Mostrar barra de herramientas" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "Mostrar barra de herramientas" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" -msgstr "Desactivado" +msgstr "_Teclado" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "Mostrar el teclado de marcado" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "_Controles de volumen" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "_Controles de volumen" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Historia de Llamada" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Historia de Llamada" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Libreta de contactos" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "En _Espera" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Llamar" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Editar número de teléfono" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Editar el número de teléfono antes de llamar" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Parámetros de cuenta" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Alias" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protocolo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Desconocido" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Nombre de equipo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Usuario" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Contraseña" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Contraseña" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Número de buzón de voz" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" -msgstr "" +msgstr "Agente de _usuario" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Autentificación" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Secreto" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Informaciónes" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Nombre de autentificación" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Contraseña" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Seguridad" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Usa transporte TLS (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "Intercambió de clave SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Desactivado" @@ -658,40 +658,40 @@ msgstr "Publicar dirección y puerto:" msgid "Published port" msgstr "Puerto publicado" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "Códecs" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" -msgstr "" +msgstr "DTMF" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" -msgstr "" +msgstr "RTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "SIP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Configuración de cuentas" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Básico" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avanzado" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "Red" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " @@ -702,95 +702,95 @@ msgstr "" "usted define aqui serán también utilizados si ninguná cuenta puede ser " "igualada a una llamada entrante o saliente." -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" -msgstr "El servidor contesta \"%s\" (%d)" +msgstr "El servidor ha devuelto «%s» (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocolo" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Estado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Cuentas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Cuentas Configuradas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "Hay %d cuenta activada" msgstr[1] "Hay %d cuentas activadas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "No tienes ninguna cuenta activada" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "General" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Usar libreta de contactos de Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Limite de descarga :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "tarjetas" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "_Mostrar fotos de contactos, si están disponibles" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Usar los siguientes campos de la libreta de direcciones de Evolution:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "P_rofesional" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Personal" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Movil" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Libretas de contactos" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Seleccione la libreta de contactos de Evolution a usar" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nombre" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "El asistente ha finalizado" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -798,345 +798,322 @@ msgstr "" "Puede comprobar en cualquier momento su estado de registro o modificar la " "configuración de sus cuentas en la ventana de Opciones/Cuentas." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Alias" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Servidor" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Usuario" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Seguridad: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Ninguno" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "Asistente de creación de cuentas" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "¡Bienvenido al asistente de creación de cuentas de SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Este asistente de instalación le ayudará a configurar una cuenta." -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocolos VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Escoja un tipo de cuenta" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Cuenta" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Por favor, elija una de las siguientes opciones" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Crear una cuenta SIP/IAX2 gratis en sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Registrar una cuenta SIP o IAX2 existente" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Configuración de cuenta SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Por favor, ingrese la siguiente información" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Comunicación segura con _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Dirección de correo opcional" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "Esta dirección de correo se usará para mandar sus mensajes de voz" -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Correo" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Configuración de cuenta IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Conversión de Dirección de Red (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Probablemente tiene que activar esto si está detrás de un cortafuegos." -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "A_ctivar STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_Servidor STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Registro de cuenta" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "¡Enhorabuena!" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frecuencia" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Tasa de transferencia" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Ancho de banda" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Plugin ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Salida" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Entrada" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" -msgstr "_Detección de actividad de voz" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Tonos de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "_Reducción de ruido" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Gestor de audio" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Configuración de ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Grabaciones" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Carpeta de destino" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Seleccione una carpeta" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Tonos de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "_Habilitar tonos de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Elija un tono de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Archivos de Audio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Configuración de cuentas" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Argumento de URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Comandos personalizados en llamada entrante con URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s se remplazará por la URL." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Disparador en una cabecera _SIP específica" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Disparador con una URL _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "_Comando a ejecutar" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Reescritura de número de teléfono" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Prefijar los números marcados con" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notificación de escritorio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Activar notificaciones" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Icono de bandeja del sistema" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" -msgstr "" +msgstr "Mostrar SFLphone en la barra de tareas" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "_Popup ventana principal al recibir llamadas" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "_Nunca mostrar ventana principal" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Esconder SFLphone al principio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Historia de llamadas" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "_Guardar mi historia por lo menos" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "días" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Preferencias" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Sonido" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Libreta de Direcciones" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Disparadores" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" -msgstr "" +msgstr "Accesos directos" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" +"Tenga cuidado: estos accesos directos podrían reemplazar los accesos " +"directos de todo sistema." -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "Opciones ZRTP" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "Enviar Hello Hash en S_DP" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "Preguntar al usuario de confirmar SAS" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "_Prevenir si ZRTP no es compatible" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "Presentar SAS una vez para eventos en espera" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "Opciones avanzadas para TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Transporte TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1149,85 +1126,119 @@ msgstr "" "diferente transporte TLS para cada cuenta. De cualquier forma, cada uno de " "ellos usará un puerto dedicado, diferente el uno del otro.\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" -msgstr "" +msgstr "Escuchador TLS global (todas cuentas)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Lista de Certificados de Autoridad" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Escoge un archivo de lista de CA (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Archivo del certificado del par público" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Escoge un certificado de par público (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Escoge un archivo de clave privada" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Contraseña de clave privada" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Método de protocolo TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Lista de cifrado TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "Nombre del servidor para la conexión TLS saliente" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Negociación expirada (seg:mseg)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "Checar certificados entrantes, como un servidor" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "Checar certificados de la respuesta, como cliente" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Requiere certificado para conexiones TLS entrantes" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "Opciones ZRTP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "Enviar Hello Hash en S_DP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "Preguntar al usuario de confirmar SAS" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "_Prevenir si ZRTP no es compatible" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "Presentar SAS una vez para eventos en espera" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Opciones SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Buscar todos" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" -msgstr "Pulse aqui para cambiar el tipo de busqueda" +msgstr "Pulse aquí para cambiar el tipo de búsqueda" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Buscar en llamadas pérdidas" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Buscar en llamadas entrantes" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Buscar en llamadas salientes" +#~ msgid "_Voice Activity Detection" +#~ msgstr "_Detección de actividad de voz" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "_Reducción de ruido" + #~ msgctxt "account state" #~ msgid "Registered" #~ msgstr "Registrado" @@ -1843,8 +1854,8 @@ msgstr "Buscar en llamadas salientes" #~ "Chambreuil, ,Launchpad Contributions:,Andres Mujica,Maxime Chambreuil, ," #~ "Launchpad Contributions:,Andres Mujica,Maxime Chambreuil, ,Launchpad " #~ "Contributions:,Andres Mujica,Maxime Chambreuil, ,Launchpad Contributions:," -#~ "Andres Mujica,Jorge E. Gómez,Maxime Chambreuil,Nicolás M. Zahlut,Xuacu " -#~ "Saturio" +#~ "Andres Mujica,Daniel Mustieles,Jorge E. Gómez,Maxime Chambreuil,Nicolás " +#~ "M. Zahlut,Xuacu Saturio" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" @@ -1853,5 +1864,5 @@ msgstr "Buscar en llamadas salientes" #~ "chambreuil@gmail.com,,,andres.mujica@seaq.com.co,maxime.chambreuil@gmail." #~ "com,,,andres.mujica@seaq.com.co,maxime.chambreuil@gmail.com,,,andres." #~ "mujica@seaq.com.co,maxime.chambreuil@gmail.com,,,andres.mujica@seaq.com." -#~ "co,jorge@jorgee.net,maxime.chambreuil@gmail.com,nzahlut@live.com," -#~ "xuacusk8@gmail.com" +#~ "co,daniel.mustieles@gmail.com,jorge@jorgee.net,maxime.chambreuil@gmail." +#~ "com,nzahlut@live.com,xuacusk8@gmail.com" diff --git a/lang/fr/fr.po b/lang/fr/fr.po index a6001b51c95f7cce0d8f1ec39fa867ab7b9dbe1e..f790d7fe8a901cf472cda6a07f34b95d758f348e 100644 --- a/lang/fr/fr.po +++ b/lang/fr/fr.po @@ -7,74 +7,74 @@ # POT-Creation-Date: 2008-01-13 01:39+0100\n msgid "" msgstr "" -"Project-Id-Version: SFLphone 0.9.4\n" +"Project-Id-Version: SFLphone 0.9.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" -"PO-Revision-Date: 2010-04-19 19:52+0000\n" -"Last-Translator: Alexandre Savard <alexandre.savard@savoirfairelinux.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-04-29 08:48+0000\n" +"Last-Translator: Christophe CATARINA <Unknown>\n" "Language-Team: SavoirFaireLinux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Enregistré" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Non Enregistré" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "En cours..." -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Erreur" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Erreur d'authentification" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Réseau non trouvé" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Serveur introuvable" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Erreur de configuration Stun" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Serveur Stun invalide" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" -msgstr "" +msgstr "Prêt" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Non valide" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Utilise le compte" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Pas de compte enregistré" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -82,28 +82,28 @@ msgstr "" "Impossible de se connecter au serveur SFLphone.\n" " Assurez-vous que le démon est lancé." -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Appel direct SIP" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" -msgstr "" +msgstr "Aujourd'hui, à %R" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" -msgstr "" +msgstr "Hier, à %R" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" -msgstr "" +msgstr "%A, à %R" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" -msgstr "" +msgstr "%x, à %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -113,7 +113,7 @@ msgstr "" "\n" "Erreur lors de l'ouverture du périphérique de sortie" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -123,7 +123,7 @@ msgstr "" "\n" "Erreur lors de l'ouverture du périphérique d'entrée" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -133,43 +133,43 @@ msgstr "" "\n" "Pulseaudio n'est pas lancé" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Vous avez un appel en cours." -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Vous avez des appels en cours." -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Voulez-vous quitter?" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Erreur SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP n'est pas supporté par %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Communications sécurisées non disponibles" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Continuer" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Arrêter l'appel" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -178,11 +178,11 @@ msgstr "" "L'appel avec %s est passé en mode non-crypté à cause d'une erreur %s.\n" "Raison exacte: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "Erreur d'authentification" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -191,50 +191,50 @@ msgstr "" "%s ne désire plus utiliser la communication sécurisée. Confirmer que vous " "voulez continuer sans ZRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Confirmer Communication en clair" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Confirmer" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s account : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>De</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d message vocal" msgstr[1] "%d messages vocaux" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Appel avec le compte %s <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Compte courant" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Vous n'avez pas configuré de compte" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Vous n'avez aucun compte enregistré" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -243,370 +243,370 @@ msgstr "" "<i>Avec:</i> %s\n" "using %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s ne supporte pas ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "La négociation ZRTP avec %s a échoué" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>De:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Volume des hauts-parleurs" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volume du micro" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Afficher la fenêtre principale" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "_Raccrocher" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%i compte actif" +msgstr[1] "%i comptes actifs" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Boite vocale" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Aucun carnet d'adresses sélectionné" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Carnet d'adresses" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "Boite vocale (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" "SFLphone est un client VoIP compatible avec les protocoles SIP et IAX2." -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "A propos de SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "Actions" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Nouvel appel" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "Appeler" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Décrocher" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "Répondre à l'appel" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "Terminer l'appel" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "Mettre en attente" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "Mettre l'appel en attente" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "Reprendre" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "Reprendre l'appel" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "_Assistant de configuration" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Lancer l'assistant de configuration" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "Appeler la boite vocale" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "_Fermer" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "Minimiser dans la barre des tâches" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "_Quitter" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "Quitter le programme" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editer" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "_Copier" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Copier la sélection" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "C_oller" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "Coller le contenu du presse-papiers" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Effacer l'_historique" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Effacer l'historique" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "Co_mptes" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Éditer les comptes" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Préférences" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "Modifier les préférences" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "A_ffichage" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "A_ide" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Sommaire" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "Ouvrir le manuel" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "À propos de cette application" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Transférer" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "Transférer à :" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "Enregistrer" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "Enregistrer la conversation courante" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "Afficher la _barre d'outil" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "Afficher la barre d'outil" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "_Clavier" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "Afficher le clavier" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "Contrôle du _volume" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Afficher les controles du volume" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Historique" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Historique d'appels" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Carnet d'adresses" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "_Mettre en attente" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Rappeler" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Éditer le numéro" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Éditer le numéro de téléphone avant d'appeler" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Paramètres du Compte" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "A_lias" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "P_rotocole" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Inconnu" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Serveur" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "Usa_ger" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Mot de passe" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Afficher le mot de passe" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Boite vocale #" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" -msgstr "" +msgstr "_User-agent" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Identification" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Mot de passe" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Informations" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Nom d'authentification" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Mot de passe" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Sécurité" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Utiliser un transport TLS (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "Échange de clé SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Désactivé" @@ -659,40 +659,40 @@ msgstr "Configurer l'adresse et le port à publier" msgid "Published port" msgstr "Port de publication" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "Codecs" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" -msgstr "" +msgstr "DTMF" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" -msgstr "" +msgstr "RTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "SIP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Paramètre des comptes" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Général" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avancé" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "Réseau" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " @@ -703,95 +703,95 @@ msgstr "" "sont aussi utilisé si aucun compte ne peut être attribué à un appel entrant " "ou sortant." -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "Le serveur a répondu \"%s\" (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocole" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Statut" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Comptes" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Comptes Configurés" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "%d compte actif" msgstr[1] "%d comptes actifs" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Vous n'avez aucun compte actif" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Général" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Utiliser les carnets d'adresse d'Évolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Limite de téléchargement :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "entrées" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "_Afficher la photo si disponible" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Utiliser les champs suivants des carnets d'adresse d'Évolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Professionnels" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "P_ersonnels" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Mobiles" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Carnets d'adresses" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Sélectionnez les carnets d'adresses d'Evolution à utiliser" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nom" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Cet assistant est maintenant terminé." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -799,347 +799,322 @@ msgstr "" "Vous pouvez à tout moment vérifier votre état d'enregistrement ou modifier " "les paramètres de vos comptes dans la fenêtre Options/Comptes." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Alias" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Serveur" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Nom d'utilisateur" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Sécurité: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Aucun" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "Assistant de création de compte de SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Bienvenue dans l'assistant de création de compte de SFLphone !" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Cet assistant vous guidera dans la configuration d'un compte." -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocoles VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Sélectionnez un type de compte" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Compte" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Veuillez sélectionner une des options suivantes" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Créer un compte SIP/IAX2 gratuit sur sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Enregistrer un compte SIP ou IAX2 existant" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Paramètres de compte SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Veuillez remplir les champs suivants" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Communications sécurisées avec _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Adresse courriel optionnelle" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "Vos messages vocaux seront envoyés par courriel à cette adresse." -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "A_dresse courriel" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Paramètres de compte IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" "Vous devriez probablement activer cette option si vous vous trouvez derrière " "un pare-feu." -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "A_ctiver STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "S_erveur STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Enregistrement du compte" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Félicitations!" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Fréquence" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Bitrate" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Bande passante" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Greffon ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Sortie" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Entrée" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" -msgstr "Détection de l'activité de la voix" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "Sonneries" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "Réduction du bruit (Compresseur extenseur LBR)" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Interface Audio" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Paramètres ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Enregistrements" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Dossier de destination" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Choisissez un dossier" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Sonneries" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "_Activer les sonneries" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Sélectionner une sonnerie" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Fichier Audio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Paramètre des comptes" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Argument URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Commandes personnalisées lors d'appels entrants avec une URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s sera remplacé par l'URL passé en argument." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Déclencher sur un entête _SIP spécifique" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Déclencher en _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Commande à e_xécuter" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Réécriture des numéros appelés" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Préfixer les numéros composés par" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notifications de Bureau" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Activer les notifications" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Icône dans la barre des tâches" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "Montrer SFLphone dans la barre des tâches" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "Faire apparaître la fenêtre _principale lors d'appel entrant" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "Ne _jamais afficher la fenêtre principale" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "_Cacher la fenêtre de SFLphone au démarrage" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Historique des appels" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "Garder mon historique au moins" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "jours" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Préférences" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Audio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Carnet d'adresse" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Ancrage" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" -msgstr "" +msgstr "Raccourcis claviers" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" +"Soyez prudent; ces raccourcis peuvent entrer en conflit avec ceux du système." -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "Options de ZRTP" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "Envoyer le hash de Hello dans S_DP" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "Demander à l'utilisateur de confirmer le SAS" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "_Avertir si ZRTP n'est pas supporté" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "Afficher le SAS seulement une fois sur les mises en attente" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "Options avancées TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Transport TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1152,85 +1127,119 @@ msgstr "" "TLS différent pour chaque compte. Cependant, chacun écoutera sur un port " "différent.\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" -msgstr "" +msgstr "Port TLS global (pour tous les comptes)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Liste des autorités de certification" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Choisir une liste d'AC (optionnel)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Fichier de certificats de l'extrémité public" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Sélectionner le certificat de l'extrémité public" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Choisir une clé privée (optionnel)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Mot de passe pour la clé privée" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Méthode pour TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Liste de cryptogramme TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "Instance du serveur pour les connections TLS sortantes" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Expiration de la négociation" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "En tant que serveur, vérifier les certificats entrants" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "En tant que client, vérifier les certificats dans les réponses" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Exiger un certificat pour les connexions TLS entrantes" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "Options de ZRTP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "Envoyer le hash de Hello dans S_DP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "Demander à l'utilisateur de confirmer le SAS" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "_Avertir si ZRTP n'est pas supporté" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "Afficher le SAS seulement une fois sur les mises en attente" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Options SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "Recourrir à RTP si SDES échoue" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Rechercher dans tous" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Cliquez ici pour changer le type de recherche" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Rechercher dans les appels manqués" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Rechercher dans les appels entrants" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Rechercher dans les appels sortants" +#~ msgid "_Voice Activity Detection" +#~ msgstr "Détection de l'activité de la voix" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "Réduction du bruit (Compresseur extenseur LBR)" + #~ msgctxt "account state" #~ msgid "Registered" #~ msgstr "Enregistré" @@ -1885,8 +1894,8 @@ msgstr "Rechercher dans les appels sortants" #~ "Jérémy Quentin, ,Launchpad Contributions:,Emmanuel Milou,Maxime " #~ "Chambreuil, ,Launchpad Contributions:,Emmanuel Milou,Maxime Chambreuil, ," #~ "Launchpad Contributions:,Emmanuel Milou,Maxime Chambreuil, ,Launchpad " -#~ "Contributions:,Alexandre Savard,Emmanuel Milou,Maxime Chambreuil,Pierre " -#~ "Slamich" +#~ "Contributions:,Alexandre Savard,Christophe CATARINA,Emmanuel Milou,Maxime " +#~ "Chambreuil,Pierre Slamich" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" @@ -1894,6 +1903,6 @@ msgstr "Rechercher dans les appels sortants" #~ "jeremy.quentin@savoirfairelinux.com,,,emmanuel.milou@savoirfairelinux.com," #~ "maxime.chambreuil@gmail.com,,,emmanuel.milou@savoirfairelinux.com,maxime." #~ "chambreuil@gmail.com,,,emmanuel.milou@savoirfairelinux.com,maxime." -#~ "chambreuil@gmail.com,,,alexandre.savard@savoirfairelinux.com,emmanuel." +#~ "chambreuil@gmail.com,,,alexandre.savard@savoirfairelinux.com,,emmanuel." #~ "milou@savoirfairelinux.com,maxime.chambreuil@gmail.com,pierre." #~ "slamich@gmail.com" diff --git a/lang/it/it.po b/lang/it/it.po index 25652db0e7b3a9aff0b0a6791c0bf78357b490a1..f9e4a8ddbc573b6a4541039a465d08386cc36435 100644 --- a/lang/it/it.po +++ b/lang/it/it.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" "PO-Revision-Date: 2010-03-21 18:30+0000\n" "Last-Translator: Milo Casagrande <milo@casagrande.name>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -15,64 +15,64 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registrato" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Non registrato" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Registrazione in corso..." -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Errore" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Autenticazione fallita" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Rete irraggiungibile" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Host non raggiungibile" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Errore di configurazione STUN" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Server STUN non valido" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Non valido" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Account in uso:" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Nessun account registrato" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -80,28 +80,28 @@ msgstr "" "Impossibile connettersi al server SFLphone.\n" "Accertarsi che il demone sia in esecuzione." -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Chiamata SIP diretta" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -110,7 +110,7 @@ msgstr "" "Notifica ALSA\n" "Errore nell'apertura del dispositivo di riproduzione" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -119,7 +119,7 @@ msgstr "" "Notifica ALSA\n" "Errore nell'apertura del dispositivo di registrazione" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -128,473 +128,473 @@ msgstr "" "Notifica PulseAudio\n" "PulseAudio non è in esecuzione" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "C'è una chiamata in corso." -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Ci sono chiamate in corso." -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Vuoi veramente uscire?" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Errore SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Termina la chiamata" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "Negoziazione ZRTP fallita" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "Account %s: %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>Da</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d messaggio vocale" msgstr[1] "%d messaggi vocali" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Chiamata tramite account %s <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Account attivo" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Nessun account configurato" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Nessun account registrato" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s non supporta ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "Negoziazione ZRTP fallita con %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Con:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Volume altoparlante" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volume microfono" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "Mostra la finestra principale" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "_Chiudi" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Segreteria telefonica" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Rubrica" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Rubrica" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "Segreteria telefonica (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone è un client VoIP compatibile con i protocolli SIP e IAX2." -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Informazioni su SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "_Chiama" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "Chiama" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "Effettua una nuova chiamata" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "Rispondi" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "Rispondi alla chiamata" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "Termina la chiamata" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "Attesa" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "Metti in attesa la chiamata" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Errore di configurazione STUN" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d messaggio vocale" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "_Esci" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "Esce dal programma" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Modifica" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Elimina l'account selezionato" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Cancella la cronologia" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Cancella la cronologia" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Account" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Account attivo" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Preferen_ze" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "Modifica le preferenze" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Visualizza" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Aiuto" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Inoltra" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "Inoltra a:" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "_Registra" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "Regista la conversazione in corso" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "Mostra tastiera" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "Mostra la tastiera" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "Mostra i controlli del volume" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Mostra i controlli del volume" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Cronologia" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Cronologia chiamate" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Rubrica" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "Attesa" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Parametri account" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Pseudonimo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protocollo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Sconosciuto" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "Nome _host" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "Nome _utente" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Password" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Password" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "Numero segreteria telefonica" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Autenticazione" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Password" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" @@ -647,482 +647,457 @@ msgstr "" msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "Codec" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "SIP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Impostazioni dell'account" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Generale" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avanzate" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "Rete" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " "also be used if no account can be matched to an incoming or outgoing call." msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocollo" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Stato" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Account" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Account configurati" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Usa la rubrica di Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "tessere" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "Mostra la foto del contatto se disponibile" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Campi dalla rubrica di Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Lavoro" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Home" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "Cellulare" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Rubriche indirizzi" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Selezionare la rubrica di Evolution da usare" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nome" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "La procedura guidata è terminata." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Pseudonimo" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Server" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Nome utente" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "" "Benvenuti alla procedura guidata per la creazione di un account SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Questa procedura permetterà di configurare un account." -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocolli VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Selezionare un tipo di account" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Account" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Scegliere una delle seguenti opzioni" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Creare un account SIP/IAX2 gratuito su sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Registrare un account SIP o IAX2 esistente" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Impostazioni account SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Indirizzo email opzionale" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" "L'indirizzo email sarà usato per l'invio dei messaggi della segreteria " "telefonica." -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "Indirizzo _email" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Impostazioni account IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Dovrebbe essere abilitato se ci si trova dietro ad un firewall." -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "Abilita STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "Server STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Registrazione account" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Congratulazioni!" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frequenza" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Bitrate" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Banda" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Plugin ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Uscita" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Ingresso" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Suonerie" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Impostazioni ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Registrazioni" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Cartella di destinazione" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Seleziona una cartella" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Suonerie" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "Abilita suonerie" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Selezionare una suoneria" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "File audio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Impostazioni dell'account" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Rileva header SIP specifico" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Rileva URL su IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Comando da eseguire" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Riscrittura numero telefonico" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "Prefisso da aggiungere ai numeri da chiamare" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notifiche" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "Abilita notifiche" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Icona per area di notifica" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "Mostra la finestra principale all'arrivo delle chiamate" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "Non mostrare mai la finestra principale" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Nascondi la finestra di SFLphone all'avvio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Cronologia chiamate" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "Mantieni la cronologia per almeno" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "giorni" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Preferenze" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Audio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Rubrica" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1131,82 +1106,110 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Cerca tra tutte le chiamate" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Fare clic qui per cambiare il tipo di ricerca" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Cerca tra le chiamate perse" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Cerca tra le chiamate ricevute" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Cerca tra le chiamate effettuate" diff --git a/lang/ja/ja.po b/lang/ja/ja.po index 3559bb0c70a4bf87d420d9f55b13c10c2ac1714f..a435c05234b9314a985ba7265af3976bd12d2384 100644 --- a/lang/ja/ja.po +++ b/lang/ja/ja.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" "PO-Revision-Date: 2009-12-23 22:50+0000\n" "Last-Translator: Launchpad Translations Administrators <rosetta@launchpad." "net>\n" @@ -16,64 +16,64 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "登録しました" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "登録できません" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "検索中..." -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "エラー" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "認証に失敗" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "ネットワークに接続できません" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "ホストに接続できません" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "構成エラー" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "サーバー無効" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "無効" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "アカウント使用中" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "アカウント登録されていません" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -81,28 +81,28 @@ msgstr "" "SFLphoneサーバに接続できません\n" "デーモンを確認してください。" -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "ダイレクトSIPコール" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -112,7 +112,7 @@ msgstr "" "\n" "再生デバイスエラー" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -122,7 +122,7 @@ msgstr "" "\n" "再生ディバイスエラー" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -132,43 +132,43 @@ msgstr "" "\n" "Pulseaudioが動いていません。" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "呼び出し中" -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "呼び出し中" -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "キャンセルしますか?" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphoneエラー" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTPが%sにサポートされていません。\n" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "安全なコミュニケーションが利用できません。" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "次へ" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "電話をやめてください" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -177,11 +177,11 @@ msgstr "" "A %s エラーは非暗号化されているため%sの呼び出しを強制終了しました。\n" "正確な理由:%s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "ZRTP交渉失敗" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -190,49 +190,49 @@ msgstr "" "%sはセキュリティーで保護された通信を使うのをやめてください。SRTPなしで会話が" "再開するのを確認してください。\n" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "クリアを確認してください。" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "確認" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s アカウント: %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "</i> %sから <i>" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d ボイスメール" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "%s アカウント<i>%s</i>を呼び出し中" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "現在のアカウント" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "アカウントが設定されていません" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "アカウント登録されていません" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -241,369 +241,369 @@ msgstr "" "<i>で:</i> %s\n" " %sを使ってください。" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s はZRTPをサポートできていません。" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "ZRTP交渉%sで失敗しました" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>With:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "スピーカーの音量" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "マイク音量" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "メインウィンドウを開く" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "通話を切る(_H)" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLフォン" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "ボイスメール" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "アドレス帳が選択されていません" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "アドレス帳" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "ボイスメール(%i)" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLフォンはVoIPクライアントとSIP、IAX2プロトコルと互換性があります" -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "SFLフォンに関して" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "呼び出し" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "通話先" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "発信します" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "選択" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "応答する" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "通話終了" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "保留" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "保留中" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "保留解除" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "保留を解除する" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "構成アシスタント" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "構成アシスタントを起動します" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "ボイスメールに電話をしてください" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "閉じる(_C)" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "システムトレイを最小化する" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "終了(_Q)" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "プログラムの終了" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "編集(_E)" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "コピー(_C)" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "選択範囲をコピー" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "貼り付け(_P)" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "クリップボードに貼り付け" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "履歴消去" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "通話履歴消去" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "アカウント(_A)" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "アカウント編集" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "基本設定" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "基本設定の変更" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "表示(_V)" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "ヘルプ(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "目次" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "手動で開く" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "アプリケーションについて" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "転送" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "通話転送" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "録音(_R)" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "現在の会話を録音中" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "ツールバーの表示" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "ツールバーの表示" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "ダイアルパッド(_D)" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "ダイヤルパッドの表示" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "ボリュームコントロール" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "音量調整の表示" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "履歴(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "通話履歴" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "アドレス帳" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "保留中" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "折り返し電話をする" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "電話番号の編集" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "電話をする前に電話番号の編集をする" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "アカウントパラメーター" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "別名(_A)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "プロトコル" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "不明" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "ホスト名" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "ユーザー名" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "パスワード(_P):" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "パスワードを表示" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "ボイスメールの番号" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "認証" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "シークレット" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "資格情報" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "名前の認証" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "パスワード" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "セキュリティ" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "TLS トランスポートを使用" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "SRTP キー交換" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "無効" @@ -656,40 +656,40 @@ msgstr "公開アドレスとポートの設定" msgid "Published port" msgstr "公開ポート" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "コーデック" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "アカウントの設定" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "基本設定" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "詳細設定" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " @@ -699,94 +699,94 @@ msgstr "" "にこのプロファイルが使用可能\r\n" "着信通話または発信通話を照合できないアカウントであれば設定も可能" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "サーバーが\"%s\" (%d)を返しました" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "プロトコル" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "状態" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "アカウント" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "アカウント設定済み" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "%dアクティブアカウント" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "アクティブアカウントが存在しません" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "全般" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "展開アドレス帳の使用" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "ダウンロードの制限" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "カード" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "可能であれば連絡先の写真を表示" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "展開アドレス帳の項目" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "勤務先" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "自宅" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "携帯" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "アドレス帳" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "展開アドレス帳使用の選択" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "名前" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "アシスタントは現在終了" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -794,345 +794,320 @@ msgstr "" "登録状況の確認またはオプション/アカウントウィンドウでアカウントパラメータを変" "更できます" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "別名" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "サーバー" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "ユーザー名" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "セキュリティー " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP草稿" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "なし" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLフォンアカウント作成ウィザード" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "SFLフォンのアカウント作成ウィザードへようこそ" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "このインストールウィザードはアカウント作成を助けます" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIPプロトコル" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "勘定タイプの選択" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP(セッション開始プロトコル)" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2(アスタリスク変換)" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "アカウント" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "オプションに従い1つ選択してください" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "無料SIP/IAX2アカウントをsflフォン組織に作成" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "SIPまたは IAX2アカウントの存在を登録" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "SIPアカウント設定" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "情報を入力してください" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "ZRTPセキュリティーで保護された通信" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "任意のメールアドレス" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "このメールアドレスはボイスメールメッセージに送られます" -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "Eメールアドレス" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "IAX2アカウント設定" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "ネットワークアドレス変換(NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "ファイアウォールの内側であれば接続できます" -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "STUN有効(E)" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "STUNサーバー" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "アカウント登録" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "設定完了" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "周波数" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "ビットレート" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "帯域幅" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSAプラグイン" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "出力" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "入力" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" -msgstr "ボイスアクティビティ検出" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "着信音" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "ノイズ除去" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "サウンドマネージャー" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "パルスオーディオ" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA設定" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "録音" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "インストール先フォルダ" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "フォルダの選択" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "着信音" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "着信音可能" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "着信音選択" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "音声ファイル" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "アカウントの設定" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "URL 引数" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "URL着信履歴ユーザー設定コマンド" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%sはURLに置き換え" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "特定SIPヘッダーのトリガ" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "IAX2 URLのトリガ" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "実行するコマンド" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "電話番号書き換え" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "プレフィックス番号" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "デスクトップ通知" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "通知可能" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "システムトレイアイコン" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "着信通話のポップアップメインウィンドウ" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "ポップアップメインウィンドウ非表示" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "起動SFLphoneウィンドウ非表示" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "着信履歴" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "最後の着信履歴の保護" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "曜日" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "基本設定" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "音声" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "アドレス帳" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "フック" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "ZRTPオプション" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "SDPでハローハッシュ送信" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "ユーザーへSAS確認" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "ZRTPがサポートされているかどうか警告" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "イベント管理のためSAS表示" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "TLSの詳細設定オプション" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "TLS転送" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1145,85 +1120,119 @@ msgstr "" "それぞれのアカウントでTLS転送を確認してください。そうするとそれぞれ専用ポー" "ト、異なったものに実行できます。\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "j証明機関の一覧" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "CAリストファイルの選択" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "公式エンドポイント証明ファイル" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "公式エンドポイント証明の選択" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "個人キーファイルの選択" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "プライベートキーのパスワード" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "TLSプロトコルメソッド" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "TLS暗号一覧" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "TLS接続発信サーバー名インスタンス" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "ネゴシエーションタイムアウト" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "サーバーの証明受信の確認" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "クライアント応答証明の確認" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "受信tls接続のための証明要求" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "ZRTPオプション" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "SDPでハローハッシュ送信" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "ユーザーへSAS確認" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "ZRTPがサポートされているかどうか警告" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "イベント管理のためSAS表示" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "すべて検索" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "検索の種類を変更するにはここをクリックしてください" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "不在着信の検索" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "受信通話の検索" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "発信通話の検索" +#~ msgid "_Voice Activity Detection" +#~ msgstr "ボイスアクティビティ検出" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "ノイズ除去" + #~ msgid "IP call - %s" #~ msgstr "IP 電話 -%s" diff --git a/lang/ko/ko.po b/lang/ko/ko.po index c4a7dd1f6179cc67e3e81f28c0a59885b0271b3e..295226ea7a3c9cac5cc2b3b94dcc8d62548ba4a0 100644 --- a/lang/ko/ko.po +++ b/lang/ko/ko.po @@ -7,1111 +7,1103 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" -"PO-Revision-Date: 2009-12-03 18:10+0000\n" -"Last-Translator: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-05-18 03:37+0000\n" +"Last-Translator: Bundo <bundo@bundo.biz>\n" "Language-Team: Korean <ko@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "등록했습니다" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" -msgstr "" +msgstr "등록되지 않았습니다" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." -msgstr "" +msgstr "시도중..." -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" -msgstr "" +msgstr "오류" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" -msgstr "" +msgstr "인증이 실패했습니다" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" -msgstr "" +msgstr "네트워크에 접근할 수 없습니다" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" -msgstr "" +msgstr "호스트에 접근할 수 없습니다" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" -msgstr "" +msgstr "Stun 구성 오류" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" -msgstr "" +msgstr "Stun 서버 사용" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" -msgstr "" +msgstr "준비" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" -msgstr "" +msgstr "무효" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" -msgstr "" +msgstr "사용중인 계정" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" -msgstr "" +msgstr "등록되지 않은 계정" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" +"SFLphone 서버에 연결할 수 없습니다.\n" +"데몬이 실행중인지 확인하십시오." -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" -msgstr "" +msgstr "직접 SIP 호출" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" -msgstr "" +msgstr "%R 오늘" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" -msgstr "" +msgstr "%R 어제" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" -msgstr "" +msgstr "%A at %R" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" -msgstr "" +msgstr "%x 에 %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" +"ALSA 알림\n" +"\n" +"재생 장치 오류" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" +"ALSA 알림\n" +"\n" +"캡쳐 장치 열기 중 오류" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" "Pulseaudio is not running" msgstr "" +"Pulseaudio 알림\n" +"\n" +"펄스오디오가 실행중이지 않습니다" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." -msgstr "" +msgstr "호출 진행중" -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." -msgstr "" +msgstr "호출 진행중" -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" -msgstr "" +msgstr "종료 하시겠습니까?" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" -msgstr "" +msgstr "SFLphone 오류" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" -msgstr "" +msgstr "ZRTP %s에서 지원되지 않습니다\n" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" -msgstr "" +msgstr "안전한 커뮤니케이션을 사용할 수 없습니다." -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" -msgstr "" +msgstr "계속" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" -msgstr "" +msgstr "호출 정지" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" +"A %s 오류가 아닌 암호화된있어 %s에 대한 호출을 종료했습니다.\n" +"정확한 이유 : %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" -msgstr "" +msgstr "ZRTP 협상 실패" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" +"%s는 보안으로 보호되는 통신을 사용하는 것을 금합니다. SRTP 없이 대화를 재개" +"할 것인지 확인하십시오.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" -msgstr "" +msgstr "삭제를 확인하십시오." -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" -msgstr "" +msgstr "확인" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" -msgstr "" +msgstr "%s 계정 : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" -msgstr "" +msgstr "<i>From</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d 음성 메일" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" -msgstr "" +msgstr "%s 계정 <i> %s </i>를 호출하는 동안" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" -msgstr "" +msgstr "현재 계정" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" -msgstr "" +msgstr "계정이 설정되지 않았습니다" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" -msgstr "" +msgstr "계정이 등록되어 있지 않습니다" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" +"<i>작성자:</i> %s\n" +"%s을(를) 사용하세요." -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." -msgstr "" +msgstr "%s ZRTP를 지원하지 않습니다." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" -msgstr "" +msgstr "ZRTP 협상 %s에서 실패했습니다." -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" -msgstr "" +msgstr "<i>With:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" -msgstr "" +msgstr "스피커 볼륨" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" -msgstr "" +msgstr "마이크 볼륨" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" -msgstr "" +msgstr "메인 창 보기(_S)" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" -msgstr "" +msgstr "통화 끊기(_H)" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" -msgstr "" +msgstr "SFL폰" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%i 활성된 계정" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" -msgstr "" +msgstr "음성 메일" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" -msgstr "" +msgstr "주소록이 선택되어 있지 않습니다" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" -msgstr "" +msgstr "주소록" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" -msgstr "" +msgstr "음성 메일 (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." -msgstr "" +msgstr "SFL폰은 VoIP클라이언트와 SIP, IAX2 프로토콜과 호환 가능합니다." -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" -msgstr "" +msgstr "SFL폰 정보" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" -msgstr "" +msgstr "호출" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" -msgstr "" +msgstr "새 통화(_N)" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "새로 호출합니다" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" -msgstr "" +msgstr "선택(_P)" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" +msgstr "호출 응답" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "호출 끝내기" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" -msgstr "" +msgstr "보류(_N)" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "" +msgstr "호출을 보류합니다" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" -msgstr "" +msgstr "보류 해제(_F)" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" -msgstr "" +msgstr "보류를 해제합니다." -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" -msgstr "" +msgstr "설정 도우미(_A)" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" -msgstr "" +msgstr "설정 도우미를 실행합니다" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" -msgstr "" +msgstr "음성 전화를 합니다." -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" -msgstr "" +msgstr "닫기(_C)" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" -msgstr "" +msgstr "시스템 트레이에 최소화" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "" +msgstr "끝내기(_Q)" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "프로그램을 끝냅니다" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" -msgstr "" +msgstr "편집(_E)" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" -msgstr "" +msgstr "복사(_C)" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" -msgstr "" +msgstr "선택한 사항을 복사합니다" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" -msgstr "" +msgstr "붙여넣기(_P)" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" -msgstr "" +msgstr "클립보드의 내용을 붙여넣습니다" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" -msgstr "" +msgstr "기록 지우기(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" -msgstr "" +msgstr "호출 기록을 지웁니다" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" -msgstr "" +msgstr "계정(_A)" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" -msgstr "" +msgstr "계정을 편집합니다" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" -msgstr "" +msgstr "기본 설정(_P)" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "기본 설정을 바꿉니다" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" -msgstr "" +msgstr "보기(_V)" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" -msgstr "" +msgstr "도움말(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" -msgstr "" +msgstr "차례" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" -msgstr "" +msgstr "설명서를 엽니다" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" -msgstr "" +msgstr "이 프로그램 정보" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" -msgstr "" +msgstr "전송(_T)" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "" +msgstr "호출 전송" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" -msgstr "" +msgstr "녹음(_R)" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" -msgstr "" +msgstr "현재 대화를 녹음합니다" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "" +msgstr "도구모음 표시(_S)" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" -msgstr "" +msgstr "도구모음 표시합니다" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" -msgstr "" +msgstr "다이얼패드(_D)" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" -msgstr "" +msgstr "숫자키패드 표시" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" -msgstr "" +msgstr "볼륨 조정(_V)" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" -msgstr "" +msgstr "볼륨 조정을 표시 합니다" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" -msgstr "" +msgstr "기록(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" -msgstr "" +msgstr "호출 기록" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" -msgstr "" +msgstr "주소록(_A)" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" -msgstr "" +msgstr "보류(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" -msgstr "" +msgstr "다시 호출(_C)" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" -msgstr "" +msgstr "폰 번호 편집" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" -msgstr "" +msgstr "전화를 하기 전에 전화 번호를 편집합니다" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" -msgstr "" +msgstr "계정 매개 변수" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" -msgstr "" +msgstr "별칭(_A)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" -msgstr "" +msgstr "프로토콜(_P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" -msgstr "" +msgstr "알 수 없음" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" -msgstr "" +msgstr "호스트 이름(_H)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" -msgstr "" +msgstr "사용자 이름(_U)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" -msgstr "" +msgstr "암호(_P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" -msgstr "" +msgstr "암호 보기" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" -msgstr "" +msgstr "음성메일 번호(_V)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" -msgstr "" +msgstr "인증" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" -msgstr "" +msgstr "비밀" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" -msgstr "" +msgstr "자격 증명" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" -msgstr "" +msgstr "이름 인증" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" -msgstr "" +msgstr "암호" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" -msgstr "" +msgstr "보안" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" -msgstr "" +msgstr "TLS 전송을 사용" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" -msgstr "" +msgstr "SRTP 키 교환" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" -msgstr "" +msgstr "사용 안 함" #: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" -msgstr "" +msgstr "등록" #: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" -msgstr "" +msgstr "등록 기간 없음" #: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" -msgstr "" +msgstr "RFC 3263 준수(_C)" #: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" -msgstr "" +msgstr "네트워크 인터페이스" #: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" -msgstr "" +msgstr "로컬 주소" #: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" -msgstr "" +msgstr "로컬 포트" #: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 #: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" -msgstr "" +msgstr "주소 공개" #: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "" +msgstr "STUN 사용" #: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" -msgstr "" +msgstr "STUN 서버 URL" #: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" -msgstr "" +msgstr "몇개의 로컬 매개 변수" #: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" -msgstr "" +msgstr "공개 주소 및 포트 설정:" #: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" -msgstr "" +msgstr "공개된 포트" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" -msgstr "" +msgstr "코덱" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" -msgstr "" +msgstr "DTMF" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" -msgstr "" +msgstr "RTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" -msgstr "" +msgstr "SIP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" -msgstr "" +msgstr "계정 설정" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" -msgstr "" +msgstr "기본 설정" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" -msgstr "" +msgstr "고급 설정" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" -msgstr "" +msgstr "네트워크" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " "also be used if no account can be matched to an incoming or outgoing call." msgstr "" +"<b>sip:remotepeer</b>. 같은 sip URI를 입력하여 간단하게 원격 피어를 달성하고 " +"싶을 때 이 프로필 사용 가능합니다. 걸려오는 전화 또는 발신 통화가 일치되지 않" +"는 계정이라도 설정이 가능합니다." -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" -msgstr "" +msgstr "서버에 \"%s\" (%d)가 발생했습니다" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" -msgstr "" +msgstr "프로토콜" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" -msgstr "" +msgstr "상태" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" -msgstr "" +msgstr "계정" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" -msgstr "" +msgstr "계정을 설정했습니다" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "%d 활성 계정" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" -msgstr "" +msgstr "현재 계정이 존재하지 않습니다" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" -msgstr "" +msgstr "일반" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" -msgstr "" +msgstr "에볼류션 주소록 사용(_U)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" -msgstr "" +msgstr "다운로드 제한 :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" -msgstr "" +msgstr "카드" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" -msgstr "" +msgstr "가능하면 연락처의 사진보기(_D)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" -msgstr "" +msgstr "에볼류션 주소록에서의 항목" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" -msgstr "" +msgstr "업무(_W)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" -msgstr "" +msgstr "홈(_H)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" -msgstr "" +msgstr "핸드폰(_M)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" -msgstr "" +msgstr "주소록" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" -msgstr "" +msgstr "에볼류션 주소록 사용하여 선택" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" -msgstr "" +msgstr "이름" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." -msgstr "" +msgstr "지원자는 현재 종료되었습니다." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." -msgstr "" +msgstr "등록 상황을 확인하거나 옵션/계정 창에서 계정 매개 변수를 변경합니다." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" -msgstr "" +msgstr "별명" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" -msgstr "" +msgstr "서버" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" -msgstr "" +msgstr "사용자 이름" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " -msgstr "" +msgstr "보안: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" -msgstr "" +msgstr "SRTP/ZRTP 초안" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" -msgstr "" +msgstr "없음" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" -msgstr "" +msgstr "SFL폰 계정 만들기 마법사" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" -msgstr "" +msgstr "SFL폰 계정 만들기 마법사에 오신걸 환영합니다!" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." -msgstr "" +msgstr "이 설치 마법사는 계정 생성을 돕습니다" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" -msgstr "" +msgstr "VoIP 프로토콜" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" -msgstr "" +msgstr "계정 유형 선택" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" -msgstr "" +msgstr "SIP (세션 초기화 프로토콜)" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" -msgstr "" +msgstr "IAX2 (별표 변환)" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" -msgstr "" +msgstr "계정" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" -msgstr "" +msgstr "옵션에 따라서 1개를 선택" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" -msgstr "" +msgstr "무료 SIP/IAX2 계정을 sflphone.org에 만들기" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" -msgstr "" +msgstr "SIP 또는 IAX2 계정이 등록되어 있습니다" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" -msgstr "" +msgstr "SIP 계정 설정" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" -msgstr "" +msgstr "정보를 입력하세요." -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" -msgstr "" +msgstr "ZRTP 보안으로 보호된 통신(_Z)" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" -msgstr "" +msgstr "임의의 이메일 주소" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." -msgstr "" +msgstr "이 이메일 주소는 음성메일 메시지로 보내집니다" -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" -msgstr "" +msgstr "이메일 주소(_E)" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" -msgstr "" +msgstr "IAX2 계정 설정" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" -msgstr "" +msgstr "네트워크 주소 변환 (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." -msgstr "" +msgstr "방화벽을 하고 있으면 연결할 수 있습니다" -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" -msgstr "" +msgstr "STUN 가능(_N)" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" -msgstr "" +msgstr "STUN 서버(_S)" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" -msgstr "" +msgstr "계정 등록" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" -msgstr "" +msgstr "축하합니다!" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" -msgstr "" +msgstr "주파수" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" -msgstr "" +msgstr "전송률" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" -msgstr "" +msgstr "대역폭" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" -msgstr "" +msgstr "ALSA 플러그인" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" -msgstr "" +msgstr "출력" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" -msgstr "" +msgstr "입력" + +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "착신음" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" -msgstr "" +msgstr "사운드 관리자" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" -msgstr "" +msgstr "펄스오디오(_P)" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" -msgstr "" +msgstr "알사(_A)" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" -msgstr "" +msgstr "알사 설정" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" -msgstr "" +msgstr "녹화" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" -msgstr "" +msgstr "대상 폴더" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" -msgstr "" +msgstr "폴더 선택" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" -msgstr "" +msgstr "착신음" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" -msgstr "" +msgstr "착신음 가능(_E)" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" -msgstr "" +msgstr "착신음 선택" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" -msgstr "" +msgstr "오디오 파일" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "계정 설정" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" -msgstr "" +msgstr "URL 인수" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" -msgstr "" +msgstr "URL 수신 기록 사용자 지정 명령" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." -msgstr "" +msgstr "%s URL로 바꿉니다." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" -msgstr "" +msgstr "특정 SIP 헤더 트리거(_S)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" -msgstr "" +msgstr "IAX2 URL 트리거(_I)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" -msgstr "" +msgstr "실행 명령(_R)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" -msgstr "" +msgstr "전화 번호 재작성 중" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" -msgstr "" +msgstr "접두사와 전화 번호를 다이얼(_P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" -msgstr "" +msgstr "바탕 화면 알림" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" -msgstr "" +msgstr "알림 사용가능(_E)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" -msgstr "" +msgstr "시스템 트레이 아이콘" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" -msgstr "" +msgstr "SFL폰을 시스탬 트레이에 보여줍니다" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" -msgstr "" +msgstr "착신 통화 메인 창 띄움(_P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" -msgstr "" +msgstr "메인창을 절대 띄우지 않음(_V)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" -msgstr "" +msgstr "시작 시에 SFL폰 창 숨기기(_S)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" -msgstr "" +msgstr "호출 기록" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" -msgstr "" +msgstr "마지막 통화 기록을 보호(_K)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" -msgstr "" +msgstr "일" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" -msgstr "" +msgstr "기본 설정" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" -msgstr "" +msgstr "오디오" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" -msgstr "" +msgstr "주소록" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" -msgstr "" +msgstr "후크" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" -msgstr "" +msgstr "바로 가기" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" +msgstr "주의: 이 단축키는 시스템-전체의 단축키를 무시할 수 있습니다." -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" -msgstr "" +msgstr "TLS의 고급설정" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" -msgstr "" +msgstr "TLS 전송" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1119,97 +1111,135 @@ msgid "" "dedicated\n" "port, different one from each other\n" msgstr "" +"통화는 보안으로 보호되는 SIP 트랜잭션의 요구에 따라\n" +"TLS 전송은 UDP를 사용할 수 있습니다.\n" +"각각의 계정에서 TLS 전송을 확인합니다.\n" +"그러면 각각 전용 포트, 다른 한개에 수행할 수 있습니다.\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" -msgstr "" +msgstr "글로벌 TLS를 수신기 (모든 계정)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" -msgstr "" +msgstr "인증 기관 목록" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" -msgstr "" +msgstr "CA 목록 파일 선택 (임의의)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" -msgstr "" +msgstr "공공의 끝점 인증서 파일" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" -msgstr "" +msgstr "공공의 끝점 인증서 파일을 선택 (임의의)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" -msgstr "" +msgstr "개인 키 파일 선택(임의의)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" -msgstr "" +msgstr "개인키를 위한 암호" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" -msgstr "" +msgstr "TLS 프로토콜 방법" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" -msgstr "" +msgstr "TLS 암호화 목록" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" -msgstr "" +msgstr "TLS 연결 발신 서버 네임 인스턴스" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" -msgstr "" +msgstr "협상 시간 초과(초:밀리초)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" -msgstr "" +msgstr "서버에서 인증서 수신 확인" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" -msgstr "" +msgstr "클라이언트에서 응답 증명서 확인" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" +msgstr "수신 tls 연결에 대한 인증 요청" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "ZRTP 설정" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "사용자에 SAS 확인 질문" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "ZRTP을 지원하는지 여부 경고(_W)" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "이벤트 관리를위한 SAS보기" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "SDES 설정" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "RTP에 SDES 대체 실패" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" -msgstr "" +msgstr "전체 검색" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" -msgstr "" +msgstr "검색 종류를 바꾸려면 여기를 누르십시오" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" -msgstr "" +msgstr "부재중 온 전화 검색" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" -msgstr "" +msgstr "수신 통화 검색" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" -msgstr "" +msgstr "발신 통화 검색" + +#~ msgid "_Voice Activity Detection" +#~ msgstr "음성 활성화 검색(_V)" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "노이즈 제거 (Narrow-Band Companding)(_N)" #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ ",Launchpad Contributions:, ,Launchpad Contributions:,Emmanuel Milou," #~ "Scion, ,Launchpad Contributions:,Emmanuel Milou,Scion, ,Launchpad " -#~ "Contributions:,Emmanuel Milou,Scion, ,Launchpad Contributions:,Emmanuel " -#~ "Milou,Scion" +#~ "Contributions:,Emmanuel Milou,Scion, ,Launchpad Contributions:,Bundo," +#~ "Emmanuel Milou,Scion" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ ",,,,emmanuel.milou@savoirfairelinux.com,,,,emmanuel." #~ "milou@savoirfairelinux.com,,,,emmanuel.milou@savoirfairelinux.com,,,," -#~ "emmanuel.milou@savoirfairelinux.com," +#~ "bundo@bundo.biz,emmanuel.milou@savoirfairelinux.com," diff --git a/lang/oc/oc.po b/lang/oc/oc.po new file mode 100644 index 0000000000000000000000000000000000000000..16dce26f07b511edf40f79afc3ba7c4ed1352dcf --- /dev/null +++ b/lang/oc/oc.po @@ -0,0 +1,1205 @@ +# Occitan (post 1500) translation for sflphone +# Copyright (c) 2010 Rosetta Contributors and Canonical Ltd 2010 +# This file is distributed under the same license as the sflphone package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: sflphone\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-04-21 19:31+0000\n" +"Last-Translator: Cédric VALMARY (Tot en òc) <cvalmary@yahoo.fr>\n" +"Language-Team: Occitan (post 1500) <oc@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" +"X-Generator: Launchpad (build Unknown)\n" + +#: ../sflphone-client-gnome/src/accountlist.c:181 +msgid "Registered" +msgstr "Enregistrat" + +#: ../sflphone-client-gnome/src/accountlist.c:184 +msgid "Not Registered" +msgstr "Pas Enregistrat" + +#: ../sflphone-client-gnome/src/accountlist.c:187 +msgid "Trying..." +msgstr "En cors..." + +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 +msgid "Error" +msgstr "Error" + +#: ../sflphone-client-gnome/src/accountlist.c:193 +msgid "Authentication Failed" +msgstr "Fracàs de l'autentificacion" + +#: ../sflphone-client-gnome/src/accountlist.c:196 +msgid "Network unreachable" +msgstr "Ret inaccessibla" + +#: ../sflphone-client-gnome/src/accountlist.c:199 +msgid "Host unreachable" +msgstr "Òste inaccessible" + +#: ../sflphone-client-gnome/src/accountlist.c:202 +msgid "Stun configuration error" +msgstr "Error de configuracion Stun" + +#: ../sflphone-client-gnome/src/accountlist.c:205 +msgid "Stun server invalid" +msgstr "Servidor Stun invalid" + +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "Prèst" + +#: ../sflphone-client-gnome/src/accountlist.c:211 +msgid "Invalid" +msgstr "Invalid" + +#: ../sflphone-client-gnome/src/actions.c:125 +msgid "Using account" +msgstr "Utiliza lo compte" + +#: ../sflphone-client-gnome/src/actions.c:132 +msgid "No registered accounts" +msgstr "Pas de compte enregistrat" + +#: ../sflphone-client-gnome/src/actions.c:319 +msgid "" +"Unable to connect to the SFLphone server.\n" +"Make sure the daemon is running." +msgstr "" + +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 +msgid "Direct SIP call" +msgstr "Sonada dirècta SIP" + +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:40 +msgid "" +"ALSA notification\n" +"\n" +"Error while opening playback device" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:43 +msgid "" +"ALSA notification\n" +"\n" +"Error while opening capture device" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:46 +msgid "" +"Pulseaudio notification\n" +"\n" +"Pulseaudio is not running" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:105 +msgid "There is one call in progress." +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:109 +msgid "There are calls in progress." +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:114 +msgid "Do you still want to quit?" +msgstr "Volètz quitar ?" + +#: ../sflphone-client-gnome/src/mainwindow.c:337 +msgid "SFLphone Error" +msgstr "Error SFLphone" + +#: ../sflphone-client-gnome/src/mainwindow.c:456 +#, c-format +msgid "ZRTP is not supported by peer %s\n" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:458 +msgid "Secure Communication Unavailable" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 +msgid "Continue" +msgstr "Contunhar" + +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 +msgid "Stop Call" +msgstr "Arrestar la sonada" + +#: ../sflphone-client-gnome/src/mainwindow.c:486 +#, c-format +msgid "" +"A %s error forced the call with %s to fall under unencrypted mode.\n" +"Exact reason: %s\n" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:488 +msgid "ZRTP negotiation failed" +msgstr "Error d'autentificacion" + +#: ../sflphone-client-gnome/src/mainwindow.c:506 +#, c-format +msgid "" +"%s wants to stop using secure communication. Confirm will resume " +"conversation without SRTP.\n" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:508 +msgid "Confirm Go Clear" +msgstr "" + +#: ../sflphone-client-gnome/src/mainwindow.c:510 +msgid "Confirm" +msgstr "Confirmar" + +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 +#, c-format +msgid "%s account : %s" +msgstr "%s account : %s" + +#: ../sflphone-client-gnome/src/sflnotify.c:86 +#, c-format +msgid "<i>From</i> %s" +msgstr "<i>De</i> %s" + +#: ../sflphone-client-gnome/src/sflnotify.c:105 +#, c-format +msgid "%d voice mail" +msgid_plural "%d voice mails" +msgstr[0] "%d messatge vocal" +msgstr[1] "%d messatges vocals" + +#: ../sflphone-client-gnome/src/sflnotify.c:122 +#, c-format +msgid "Calling with %s account <i>%s</i>" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:126 +msgid "Current account" +msgstr "Compte corrent" + +#: ../sflphone-client-gnome/src/sflnotify.c:141 +msgid "You have no accounts set up" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:158 +msgid "You have no registered accounts" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:201 +#, c-format +msgid "" +"<i>With:</i> %s \n" +"using %s" +msgstr "" +"<i>Amb :</i> %s\n" +"using %s" + +#: ../sflphone-client-gnome/src/sflnotify.c:216 +#, c-format +msgid "%s does not support ZRTP." +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:231 +#, c-format +msgid "ZRTP negotiation failed with %s" +msgstr "" + +#: ../sflphone-client-gnome/src/sflnotify.c:246 +#, c-format +msgid "<i>With:</i> %s" +msgstr "<i>De :</i> %s" + +#: ../sflphone-client-gnome/src/sliders.c:173 +msgid "Speakers volume" +msgstr "" + +#: ../sflphone-client-gnome/src/sliders.c:175 +msgid "Mic volume" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:139 +msgid "_Show main window" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "" + +#: ../sflphone-client-gnome/src/statusicon.c:200 +msgid "SFLphone" +msgstr "SFLphone" + +#: ../sflphone-client-gnome/src/statusicon.c:201 +#, c-format +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 +msgid "Voicemail" +msgstr "Messatjariá Vocala" + +#: ../sflphone-client-gnome/src/uimanager.c:133 +msgid "No address book selected" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 +msgid "Address book" +msgstr "Quasernet d'adreças" + +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format +msgid "Voicemail (%i)" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:406 +msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:408 +msgid "About SFLphone" +msgstr "A prepaus de SFLphone" + +#: ../sflphone-client-gnome/src/uimanager.c:817 +msgid "Call" +msgstr "Sonar" + +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 +msgid "_New call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:819 +msgid "Place a new call" +msgstr "Efectuar una sonada novèla" + +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 +msgid "_Pick up" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:821 +msgid "Answer the call" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:823 +msgid "Finish the call" +msgstr "Acabar la sonada" + +#: ../sflphone-client-gnome/src/uimanager.c:824 +msgid "O_n hold" +msgstr "Metre en espèra" + +#: ../sflphone-client-gnome/src/uimanager.c:825 +msgid "Place the call on hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:826 +msgid "O_ff hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:827 +msgid "Place the call off hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:828 +msgid "Configuration _Assistant" +msgstr "_Assistent de configuracion" + +#: ../sflphone-client-gnome/src/uimanager.c:829 +msgid "Run the configuration assistant" +msgstr "Aviar l'assistent de configuracion" + +#: ../sflphone-client-gnome/src/uimanager.c:832 +msgid "Call your voicemail" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:833 +msgid "_Close" +msgstr "_Tampar" + +#: ../sflphone-client-gnome/src/uimanager.c:834 +msgid "Minimize to system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:835 +msgid "_Quit" +msgstr "_Quitar" + +#: ../sflphone-client-gnome/src/uimanager.c:836 +msgid "Quit the program" +msgstr "Quitar lo programa" + +#: ../sflphone-client-gnome/src/uimanager.c:839 +msgid "_Edit" +msgstr "_Editar" + +#: ../sflphone-client-gnome/src/uimanager.c:840 +msgid "_Copy" +msgstr "_Copiar" + +#: ../sflphone-client-gnome/src/uimanager.c:841 +msgid "Copy the selection" +msgstr "Copiar la seleccion" + +#: ../sflphone-client-gnome/src/uimanager.c:842 +msgid "_Paste" +msgstr "Em_pegar" + +#: ../sflphone-client-gnome/src/uimanager.c:843 +msgid "Paste the clipboard" +msgstr "Empegar lo contengut del quichapapièr" + +#: ../sflphone-client-gnome/src/uimanager.c:844 +msgid "Clear _history" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:845 +msgid "Clear the call history" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:846 +msgid "_Accounts" +msgstr "_Comptes" + +#: ../sflphone-client-gnome/src/uimanager.c:846 +msgid "Edit your accounts" +msgstr "Modificar vòstres comptes" + +#: ../sflphone-client-gnome/src/uimanager.c:848 +msgid "_Preferences" +msgstr "_Preferéncias" + +#: ../sflphone-client-gnome/src/uimanager.c:849 +msgid "Change your preferences" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:852 +msgid "_View" +msgstr "_Afichatge" + +#: ../sflphone-client-gnome/src/uimanager.c:855 +msgid "_Help" +msgstr "_Ajuda" + +#: ../sflphone-client-gnome/src/uimanager.c:856 +msgid "Contents" +msgstr "Ensenhador" + +#: ../sflphone-client-gnome/src/uimanager.c:857 +msgid "Open the manual" +msgstr "Dobrir lo manual" + +#: ../sflphone-client-gnome/src/uimanager.c:858 +msgid "About this application" +msgstr "A prepaus d'aquesta aplicacion" + +#: ../sflphone-client-gnome/src/uimanager.c:866 +msgid "_Transfer" +msgstr "_Transferir" + +#: ../sflphone-client-gnome/src/uimanager.c:867 +msgid "Transfer the call" +msgstr "Transferir a :" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "En_registrar" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:870 +msgid "_Show toolbar" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:871 +msgid "Show the toolbar" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:872 +msgid "_Dialpad" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:873 +msgid "Show the dialpad" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:874 +msgid "_Volume controls" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:875 +msgid "Show the volume controls" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:876 +msgid "_History" +msgstr "_Istoric" + +#: ../sflphone-client-gnome/src/uimanager.c:877 +msgid "Calls history" +msgstr "Istoric de las sonadas" + +#: ../sflphone-client-gnome/src/uimanager.c:878 +msgid "_Address book" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 +msgid "On _Hold" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1251 +msgid "_Call back" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:1407 +msgid "Edit phone number" +msgstr "Editar lo numèro" + +#: ../sflphone-client-gnome/src/uimanager.c:1419 +msgid "Edit the phone number before making a call" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 +msgid "Account Parameters" +msgstr "Paramètres del Compte" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 +msgid "_Alias" +msgstr "_Aliàs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 +msgid "_Protocol" +msgstr "P_rotocòl" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 +msgid "Unknown" +msgstr "Desconegut" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 +msgid "_Host name" +msgstr "_Servidor" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 +msgid "_User name" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 +msgid "_Password" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 +msgid "Show password" +msgstr "Afichar lo senhal" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 +msgid "_Voicemail number" +msgstr "_Bóstia vocala #" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 +msgid "Authentication" +msgstr "Autentificacion" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 +msgid "Secret" +msgstr "Secret" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 +msgid "Credential" +msgstr "Informacions" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 +msgid "Authentication name" +msgstr "Nom d'autentificacion" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +msgid "Password" +msgstr "Senhal" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 +msgid "Security" +msgstr "Seguretat" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 +msgid "Use TLS transport (sips)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 +msgid "SRTP key exchange" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 +msgid "Disabled" +msgstr "Desactivat" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 +msgid "Registration" +msgstr "Enregistrament" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 +msgid "Registration expire" +msgstr "Expiracion d'enregistrament" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 +msgid "_Comply with RFC 3263" +msgstr "Respectar RFC 3263" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 +msgid "Network Interface" +msgstr "Interfàcia de ret" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 +msgid "Local address" +msgstr "Adreça locala" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 +msgid "Local port" +msgstr "Pòrt local" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 +msgid "Published address" +msgstr "Adreça de publicacion" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 +msgid "Using STUN" +msgstr "Utilizar STUN" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 +msgid "STUN server URL" +msgstr "URL del servidor STUN" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 +msgid "Same as local parameters" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 +msgid "Set published address and port:" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 +msgid "Published port" +msgstr "Pòrt de publicacion" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 +msgid "Account settings" +msgstr "Configuracion del compte" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +msgid "Basic" +msgstr "Basic" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 +msgid "Advanced" +msgstr "Avançat" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Ret" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format +msgid "Server returned \"%s\" (%d)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 +msgid "Protocol" +msgstr "Protocòl" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 +msgid "Status" +msgstr "Estatut" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 +msgid "Accounts" +msgstr "Comptes" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 +msgid "Configured Accounts" +msgstr "Comptes Configurats" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format +msgid "There is %d active account" +msgid_plural "There are %d active accounts" +msgstr[0] "%d compte actiu" +msgstr[1] "%d comptes actius" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 +msgid "You have no active account" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 +msgid "General" +msgstr "General" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 +msgid "_Use Evolution address books" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 +msgid "Download limit :" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 +msgid "cards" +msgstr "cartas" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 +msgid "_Display contact photo if available" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 +msgid "Fields from Evolution's address books" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 +msgid "_Work" +msgstr "_Trabalh" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 +msgid "_Home" +msgstr "_Dorsièr personal" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +msgid "_Mobile" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 +msgid "Address Books" +msgstr "Quasernets d'adreças" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 +msgid "Select which Evolution address books to use" +msgstr "" + +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 +msgid "Name" +msgstr "Nom" + +#: ../sflphone-client-gnome/src/config/assistant.c:86 +#, c-format +msgid "This assistant is now finished." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:88 +msgid "" +"You can at any time check your registration state or modify your accounts " +"parameters in the Options/Accounts window." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:91 +msgid "Alias" +msgstr "Aliàs" + +#: ../sflphone-client-gnome/src/config/assistant.c:95 +msgid "Server" +msgstr "Servidor" + +#: ../sflphone-client-gnome/src/config/assistant.c:99 +msgid "Username" +msgstr "Nom d'utilizaire" + +#: ../sflphone-client-gnome/src/config/assistant.c:103 +msgid "Security: " +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:105 +msgid "SRTP/ZRTP draft-zimmermann" +msgstr "SRTP/ZRTP draft-zimmermann" + +#: ../sflphone-client-gnome/src/config/assistant.c:107 +msgid "None" +msgstr "Pas cap" + +#: ../sflphone-client-gnome/src/config/assistant.c:241 +msgid "SFLphone account creation wizard" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:267 +msgid "Welcome to the Account creation wizard of SFLphone!" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:268 +msgid "This installation wizard will help you configure an account." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:282 +msgid "VoIP Protocols" +msgstr "Protocòls VoIP" + +#: ../sflphone-client-gnome/src/config/assistant.c:282 +msgid "Select an account type" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:284 +msgid "SIP (Session Initiation Protocol)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:286 +msgid "IAX2 (InterAsterix Exchange)" +msgstr "IAX2 (InterAsterix Exchange)" + +#: ../sflphone-client-gnome/src/config/assistant.c:300 +msgid "Account" +msgstr "Compte" + +#: ../sflphone-client-gnome/src/config/assistant.c:300 +msgid "Please select one of the following options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:302 +msgid "Create a free SIP/IAX2 account on sflphone.org" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:304 +msgid "Register an existing SIP or IAX2 account" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:318 +msgid "SIP account settings" +msgstr "Paramètres de compte SIP" + +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 +msgid "Please fill the following information" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 +msgid "Secure communications with _ZRTP" +msgstr "Comunicacions securizadas amb _ZRTP" + +#: ../sflphone-client-gnome/src/config/assistant.c:401 +msgid "Optional email address" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:401 +msgid "This email address will be used to send your voicemail messages." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:409 +msgid "_Email address" +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:431 +msgid "IAX2 account settings" +msgstr "Paramètres de compte IAX2" + +#: ../sflphone-client-gnome/src/config/assistant.c:508 +msgid "Network Address Translation (NAT)" +msgstr "Network Address Translation (NAT)" + +#: ../sflphone-client-gnome/src/config/assistant.c:508 +msgid "You should probably enable this if you are behind a firewall." +msgstr "" + +#: ../sflphone-client-gnome/src/config/assistant.c:517 +msgid "E_nable STUN" +msgstr "A_ctivar STUN" + +#: ../sflphone-client-gnome/src/config/assistant.c:524 +msgid "_STUN server" +msgstr "S_ervidor STUN" + +#: ../sflphone-client-gnome/src/config/assistant.c:538 +msgid "Account Registration" +msgstr "Enregistrament del compte" + +#: ../sflphone-client-gnome/src/config/assistant.c:538 +msgid "Congratulations!" +msgstr "Òsca !" + +#: ../sflphone-client-gnome/src/config/audioconf.c:709 +msgid "Frequency" +msgstr "Frequéncia" + +#: ../sflphone-client-gnome/src/config/audioconf.c:714 +msgid "Bitrate" +msgstr "Debit" + +#: ../sflphone-client-gnome/src/config/audioconf.c:719 +msgid "Bandwidth" +msgstr "Benda passanta" + +#: ../sflphone-client-gnome/src/config/audioconf.c:838 +msgid "ALSA plugin" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:860 +msgid "Output" +msgstr "Sortida" + +#: ../sflphone-client-gnome/src/config/audioconf.c:882 +msgid "Input" +msgstr "Entrada" + +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Sonariás" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 +msgid "Sound Manager" +msgstr "Interfàcia Àudio" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 +msgid "_Pulseaudio" +msgstr "_Pulseaudio" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 +msgid "_ALSA" +msgstr "_ALSA" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 +msgid "ALSA settings" +msgstr "Paramètres ALSA" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 +msgid "Recordings" +msgstr "Enregistraments" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 +msgid "Destination folder" +msgstr "Dorsièr de destinacion" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 +msgid "Select a folder" +msgstr "Seleccionar un dorsièr" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 +msgid "Ringtones" +msgstr "Sonariás" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 +msgid "_Enable ringtones" +msgstr "_Activar las sonariás" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 +msgid "Choose a ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 +msgid "Audio Files" +msgstr "Fichièrs àudio" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Configuracion del compte" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +msgid "URL Argument" +msgstr "Argument URL" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 +msgid "Custom commands on incoming calls with URL" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 +#, c-format +msgid "%s will be replaced with the passed URL." +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 +msgid "Trigger on specific _SIP header" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 +msgid "Trigger on _IAX2 URL" +msgstr "Desenclavar en _IAX2" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 +msgid "Command to _run" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 +msgid "Phone number rewriting" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 +msgid "_Prefix dialed numbers with" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 +msgid "Desktop Notifications" +msgstr "Notificacions de Burèu" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 +msgid "_Enable notifications" +msgstr "_Activar las notificacions" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 +msgid "System Tray Icon" +msgstr "Icòna de la barra d'estat sistèma" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 +msgid "_Popup main window on incoming call" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 +msgid "Ne_ver popup main window" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 +msgid "Hide SFLphone window on _startup" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 +msgid "Calls History" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 +msgid "_Keep my history for at least" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 +msgid "days" +msgstr "jorns" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 +msgid "Preferences" +msgstr "Preferéncias" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 +msgid "Audio" +msgstr "Àudio" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +msgid "Address Book" +msgstr "Quasernet d'adreças" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +msgid "Hooks" +msgstr "Ancoratge" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 +msgid "Advanced options for TLS" +msgstr "Opcions avançadas TLS" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 +msgid "TLS transport" +msgstr "Transpòrt TLS" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 +msgid "" +"TLS transport can be used along with UDP for those calls that would\n" +"require secure sip transactions (aka SIPS). You can configure a different\n" +"TLS transport for each account. However, each of them will run on a " +"dedicated\n" +"port, different one from each other\n" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 +msgid "Certificate of Authority list" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 +msgid "Choose a CA list file (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 +msgid "Public endpoint certificate file" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 +msgid "Choose a public endpoint certificate (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 +msgid "Choose a private key file (optional)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 +msgid "Password for the private key" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 +msgid "TLS protocol method" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 +msgid "TLS cipher list" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +msgid "Server name instance for outgoing TLS connection" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 +msgid "Negotiation timeout (sec:msec)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 +msgid "Verify incoming certificates, as a server" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 +msgid "Verify certificates from answer, as a client" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 +msgid "Require certificate for incoming tls connections" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "Opcions de ZRTP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Opcions SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 +msgid "Search all" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 +msgid "Click here to change the search type" +msgstr "Clicatz aicí per modificar lo tipe de recèrca" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 +msgid "Search by missed call" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 +msgid "Search by incoming call" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 +msgid "Search by outgoing call" +msgstr "" diff --git a/lang/pl/pl.po b/lang/pl/pl.po index ad0446933f5bd42401c66b001c817ed926799853..dc2d030d0efef859004109ea3fa1a546aa0d5d3f 100644 --- a/lang/pl/pl.po +++ b/lang/pl/pl.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" "PO-Revision-Date: 2009-12-03 18:09+0000\n" "Last-Translator: Mariusz Bednarz <mbednarz@bedmar.pl>\n" "Language-Team: Polish <pl@li.org>\n" @@ -16,64 +16,64 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Zarejestrowany" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Nie zarejestrowany" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Próbuję ..." -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Błąd" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Autoryzacja nie powiodła się" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Sieć niedostępna" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Wybrany host jest niedostępny" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Niepoprawny" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Używane konto" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Brak zarejestrowanych kont" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -81,28 +81,28 @@ msgstr "" "Nie można połączyć się z serwerem SFLphone.\n" "Upewnij się, że został uruchomiony daemon SFLphone" -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -111,7 +111,7 @@ msgstr "" "Informacja ALSA\n" "Błąd otwarcia urządzenia do odtwarzania dźwięku" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -120,7 +120,7 @@ msgstr "" "Informacja ALSA\n" "Błąd otwarcia urządzenia do przechwytywania" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -129,473 +129,473 @@ msgstr "" "Informacja Pulseaudio\n" "Pulseaudio nie zostało uruchomione" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d głosowa wiadomość" msgstr[1] "%d głosowych wiadomości" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d głosowa wiadomość" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Brak zarejestrowanych kont" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" @@ -648,479 +648,452 @@ msgstr "" msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " "also be used if no account can be matched to an incoming or outgoing call." msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +msgid "Voice enhancement settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1129,82 +1102,110 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "" diff --git a/lang/pt/pt.po b/lang/pt/pt.po index 9e6550c474def750acd0fb9960e89dcd86d0265d..949459ff96648a4eea4a602f50f185138d515768 100644 --- a/lang/pt/pt.po +++ b/lang/pt/pt.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" "PO-Revision-Date: 2009-12-03 18:09+0000\n" "Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -15,578 +15,578 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registado" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Não Registado" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Erro" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Autenticação Falhou" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "A rede está inacessível" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "A máquina está inacessível" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Inválido" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" "Pulseaudio is not running" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "conta %s : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "_Desligar" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Correio de voz" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Livro de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Livro de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "Correio de voz (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "_Chamar" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "_Editar" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editar" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Remover a conta seleccionada" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Histórico de chamadas" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Histórico de chamadas" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Contas" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Preferências" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Ver" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Ajuda" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Transferir" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "Transferir" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "_Gravar" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "Marca_dor" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Histórico" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Histórico de chamadas" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Livro de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Nomear" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protocolo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Desconhecido" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" @@ -639,479 +639,453 @@ msgstr "" msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "Codecs" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "SIP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Configurações da conta" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Básico" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avançado" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "Rede" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " "also be used if no account can be matched to an incoming or outgoing call." msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocolo" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Estado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Contas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Geral" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "cartões" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Emprego" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Livros de Endereços" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nome" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Nome Alternativo" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Servidor" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Utilizador" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocolos VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Conta" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Endereço de email opcional" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_Servidor STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Parabéns!" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frequência" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Taxa de Dados" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Largura de Banda" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Saída" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Entrada" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Gravações" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Pasta de destino" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Seleccione uma pasta" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Ficheiros Áudio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Configurações da conta" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Ícone de Notificação" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Histórico de Chamadas" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "dias" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Preferências" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Áudio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Livro de Endereços" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1120,82 +1094,110 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Clique aqui para alterar o tipo de procura" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "" @@ -1289,7 +1291,7 @@ msgstr "" #~ ",Launchpad Contributions:,Maxime Chambreuil, ,Launchpad Contributions:," #~ "Maxime Chambreuil,Tiago Silva, ,Launchpad Contributions:,Maxime " #~ "Chambreuil,Tiago Silva, ,Launchpad Contributions:,Maxime Chambreuil,Tiago " -#~ "Silva, ,Launchpad Contributions:,Maxime Chambreuil,Tiago Silva" +#~ "Silva, ,Launchpad Contributions:,Maxime Chambreuil,Tiago" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" diff --git a/lang/pt_BR/pt_BR.po b/lang/pt_BR/pt_BR.po index 137970db2a820de43ec78283e2802bb154783a0e..42a553a175d85f07feb573e84d017da5d38c1928 100644 --- a/lang/pt_BR/pt_BR.po +++ b/lang/pt_BR/pt_BR.po @@ -7,72 +7,72 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" -"PO-Revision-Date: 2010-03-04 13:55+0000\n" -"Last-Translator: Teylo Laundos Aguiar <teylo.aguiar@gmail.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-06-02 08:31+0000\n" +"Last-Translator: Gustavo Guidorizzi <Unknown>\n" "Language-Team: Brazilian Portuguese <pt_BR@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registrado" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Não Registrado" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Tentando..." -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Erro" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "A autenticação falhou" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "A rede está inacessível" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "A máquina está inacessível" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Erro de configuração no stun" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Servidor stun inválido" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "Pronto" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Inválido" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Utilizando conta" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Sem contas registradas" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -80,28 +80,28 @@ msgstr "" "Incapaz de conectar ao servidor SFLphone.\n" "Tenha certeza de que o daemon está rodando." -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Ligações IP diretas" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "hoje às %R" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "ontem às %R" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "%A às %R" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "%x às %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -111,7 +111,7 @@ msgstr "" "\n" "Erro ao abrir o dispositivo de reprodução" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -121,7 +121,7 @@ msgstr "" "\n" "Erro ao abrir o dispositivo de captura" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -131,43 +131,43 @@ msgstr "" "\n" "Pulseaudio não está rodando" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Existe uma ligação em progresso" -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Existem ligações em progresso" -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Você ainda deseja sair?" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Erro no SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP não é suportado pelo peer %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Comunicação Segura Indisponível" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Continuar" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Finalizar Chamada" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -176,11 +176,11 @@ msgstr "" "Um erro %s forçou a ligação com %s a mudar para um modo não encriptado.\n" "Motivo exato: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "Negociação ZRTP falhou" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -189,50 +189,50 @@ msgstr "" "%s deseja finalizar a utilização de comunicação segura. A confirmação irá " "retomar sem SRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Confirmar Vá Limpar" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Confirmar" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s conta : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>De</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d mensagem de voz" msgstr[1] "%d mensagens de voz" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Ligando com %s conta <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Conta atual" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Você não tem contas configuradas" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Você não tem contas registradas" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -241,369 +241,369 @@ msgstr "" "<i>Com:</i>%s \n" "utilisando %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s não suporta ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "Negociação ZRTP falhou com %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Com:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Volume dos auto-falantes" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volume do microfone" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Apresentar janela principal" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "_Desligar" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" msgstr[0] "%i conta ativa" msgstr[1] "%i contas ativas" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Correio de voz" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Catálogo de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Catálogo de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "Correio de voz (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone é um cliente VoIP compatível com os protocolos SIP e IAX2." -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Sobre o SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "_Chamar" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Nova ligação" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "Faz uma nova chamada" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Atender" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "Responder a chamada" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "Terminar a chamada" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "Em _Espera" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "Colocar a chamada em espera" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "Encerrar a chamada em espera" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Arquivo de Configuração" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Erro de configuração no stun" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d mensagem de voz" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "_Fechar" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "Minimizar para a bandeja do sistema" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "_Sair" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "Sair do programa" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editar" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "_Copiar" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Remover a conta selecionada" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "_Colar" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "Colar o conteúdo da Área de Transferência" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Limpar _histórico" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Limpar histórico" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Contas" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Conta atual" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Preferências" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "Altera as suas preferências" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Exibir" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Ajuda" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Continuar" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "Abrir o manual" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Autenticação" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Transferir" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "Transfirir para:" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "_Gravar" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "Gravar a conversação atual" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "_Exibir barra de ferramentas" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "Mostra a barra de ferramentas" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "Desabilitado" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "_Controle de Volumes" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Exibir controles de volume" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Histórico" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Histórico de chamadas" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Catálogo de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "Em _Espera" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Ligar de volta" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Editar número de telefone" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Edite o número de telefone antes de fazer uma ligação" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Parâmetros de conta" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Apelido" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protocolo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Desconhecido" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Nome do host" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Nome do usuário" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Senha da caixa postal de voz" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Autenticação" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Segredo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Credencial" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Nome de autenticação" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Segurança" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Use transporte TLS (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "Troca de chave SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Desabilitado" @@ -656,40 +656,40 @@ msgstr "Indique endereço e portas publicadas" msgid "Published port" msgstr "Porta publicada" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "Codecs" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "SIP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Configurações da conta" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Básico" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avançado" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "Rede" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " @@ -700,95 +700,95 @@ msgstr "" "configurações que você definir aqui também serão utilizadas se nenhuma conta " "puder ser combinada a uma chamada de entrada ou de saída." -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "O Servidor retornou \"%s\" (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocolo" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Estado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Contas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Contas Configuradas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "conta ativa" msgstr[1] "conta ativa" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Você não possui uma conta ativa" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Geral" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Use o catálogo de endereços do Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Limite de download :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "cartões" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "_Apresentar foto de contato caso disponível" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Campos do catálogo de endereços do Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Trabalho" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Casa" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Celular" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Catálogos de endereços" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Selecione qual catálogo de endereços do Evolution deseja utilizar" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nome" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Este assistente está finalizado." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -796,348 +796,325 @@ msgstr "" "Você pode a qualquer momento checar seu estado de registro ou modificar seus " "parâmetros de conta na janela Opções/Contas." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Apelido" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Servidor" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Nome de usuário" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Segurança: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP rascunho-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Nenhum" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "Assistente de criação de contas do SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Bem vindo ao assistente de criação de contas do SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Este assistente de instalação irá lhe ajudar a configurar uma conta." -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocolos VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Selecione um tipo de conta" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Conta" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Por favor, selecione uma das seguintes opções" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Criar uma conta gratuita SIP/IAX2 em sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Registrar uma conta SIP ou IAX2 existente" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Configurações de conta SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Por favor, preencha as informações a seguir" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Comunicações seguras com _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Endereço de e-mail opcional" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" "Este endereço de email será utilizado para enviar as mensagens de voz em sua " "caixa postal." -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_endereço de email" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Configurações de conta IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" "Você provavelmente precise habilitar isto se estiver por trás de um firewall." -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "Ha_bilitar STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_Servidor STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Registro de conta" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Parabéns!" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frequência" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Taxa de bits" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Largura de banda" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Plugin ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Saída" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Entrada" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" -msgstr "_Detecção de atividade de voz" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Ringtones" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "_Redução de ruído (Utilização de banda-estreita)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Gerenciador de Som" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Configurações do ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Gravações" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Pasta de destino" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Selecione uma pasta" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Ringtones" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "_Habilitar ringtones" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Escolha um ringtone" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Arquivos de Áudio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Configurações da conta" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Argumento da URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Comandos padrões de ligações recebidas com URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s será substituído pela URL fornecida." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Gancho em um cabeçalho _SIP específico" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Gancho em uma URL _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Comando a _executar" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Reescrevendo número do telefone" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Prefixo de números discados com" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notificações de Desktop" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Habilitar notificações" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Ícone da bandeja do sistema" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "_Popup na janela principal ao receber ligação" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "Nu_nca apresentar popup na janela principal" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Esconder o SFLphone na _inicialização" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Histórico de Chamadas" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "_Manter meu histórico por pelo ao menos" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "dias" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Preferências" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Áudio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Catálogo de endereços" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Ganchos" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" -msgstr "" +msgstr "Atalhos" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" +"Tenha cuidado: estes atalhos podem predominar sobre atalhos definidos " +"globalmente." -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "Opções ZRTP" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "Enviar um Hash Olá no S_DP" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "Pergunta ao Usuário para Confirmar SAS" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "_Alerta se o ZRTP não é suportado" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "Apresenta o SAS uma vez para realizar eventos" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "Opções do SDES" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "Opções avançadas para o TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Transporte TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1152,85 +1129,119 @@ msgstr "" "funcionar em uma\n" "porta dedicada, uma diferente da outra\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Certificado da lista de Autoridades" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Escolha um arquivo de lista CA (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Arquivo certificado endpoint público" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Escolha um certificado endpoint público (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Escolha um arquivo de chave privada (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Senha para a chave privada" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Método do protocolo TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Lista de cifras TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "Instância de nome do servidor para saída da conexão TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Tempo de negociação expirado (seg:mseg)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "Verificar os certificados de entrada, como um servidor" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "Verificar certificados de resposta, como um cliente" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Requer certificado para conexões tls entrantes" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "Opções ZRTP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "Enviar um Hash Olá no S_DP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "Pergunta ao Usuário para Confirmar SAS" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "_Alerta se o ZRTP não é suportado" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "Apresenta o SAS uma vez para realizar eventos" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Opções do SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Buscar todos" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Clique aqui para alterar o tipo de pesquisa" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Buscar por ligações perdidas" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Buscar por ligações recebidas" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Buscar por ligações feitas" +#~ msgid "_Voice Activity Detection" +#~ msgstr "_Detecção de atividade de voz" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "_Redução de ruído (Utilização de banda-estreita)" + #~ msgid "Stun Server" #~ msgstr "Servidor STUN" @@ -1557,8 +1568,8 @@ msgstr "Buscar por ligações feitas" #~ ",Launchpad Contributions:,Maxime Chambreuil,kalib, ,Launchpad " #~ "Contributions:,Maxime Chambreuil,kalib, ,Launchpad Contributions:,Maxime " #~ "Chambreuil,kalib, ,Launchpad Contributions:,Maxime Chambreuil,kalib, ," -#~ "Launchpad Contributions:,André Gondim,Maxime Chambreuil,Ricardo Martins," -#~ "Thaynã Moretti,kalib" +#~ "Launchpad Contributions:,André Gondim,Gustavo Guidorizzi,Maxime " +#~ "Chambreuil,Ricardo Martins,Thaynã Moretti,kalib" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" @@ -1566,5 +1577,5 @@ msgstr "Buscar por ligações feitas" #~ ",,maxime.chambreuil@gmail.com,kalibslack@gmail.com,,,maxime." #~ "chambreuil@gmail.com,kalibslack@gmail.com,,,maxime.chambreuil@gmail.com," #~ "kalibslack@gmail.com,,,maxime.chambreuil@gmail.com,kalibslack@gmail.com,,," -#~ "andregondim@ubuntu.com,maxime.chambreuil@gmail.com,ricardo.macedo@yahoo." +#~ "andregondim@ubuntu.com,,maxime.chambreuil@gmail.com,ricardo.macedo@yahoo." #~ "com.br,,kalibslack@gmail.com" diff --git a/lang/ru/ru.po b/lang/ru/ru.po index 9124d9226be028bdee1ec526d6b7f303532e2da3..ddb79013273d8850c7265b9bb4f3169a6fc0c2b4 100644 --- a/lang/ru/ru.po +++ b/lang/ru/ru.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: SFLphone 0.9.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" -"PO-Revision-Date: 2010-03-05 12:41+0000\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-05-11 07:48+0000\n" "Last-Translator: DMG <Unknown>\n" "Language-Team: Savoir-Faire Linux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" @@ -16,64 +16,64 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Зарегистрирован" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Не зарегистрирован" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Пытаюсь..." -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Ошибка" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Аутентификация не удалась" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Сеть недоступна" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Узел недоступен" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Ошибка конфигурации Stun" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Неверный сервер Stun" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "Готово" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Неверный" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Использовать аккаунт" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "У вас нет зарегистрированных аккаунтов" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -81,28 +81,28 @@ msgstr "" "Невозможно подключиться к SFLphone-серверу.\n" "Убедитесь что он работает." -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Прямые IP-звонки" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "сегодня в %R" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "вчера в %R" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "%A в %R" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "%x в %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -112,7 +112,7 @@ msgstr "" "\n" "Ошибка при попытке открытия устройства воспроизведения звука" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -122,7 +122,7 @@ msgstr "" "\n" "Ошибка при попытке открытия устройства захвата звука" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -132,43 +132,43 @@ msgstr "" "\n" "Pulseaudio не запущен" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Звонок ещё не окончен." -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Несколько звонков ещё не окончены." -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Вы уверенны что хотите выйти?" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Ошибка SFLphone." -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP не поддерживается устройством %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Зашифрованная связь недоступна." -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Продолжить" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Завершить вызов" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -178,11 +178,11 @@ msgstr "" "режим.\n" "Точная причина: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "Неудачный обмен информации ZRTP" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -191,26 +191,26 @@ msgstr "" "%s хочет отказаться от использования зашифрованной связи. В случае " "подтверждения разговор продолжится без SRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Подтвердить переход на незашифрованную связь" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Подтвердить" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s аккаунт: %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>От:</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" @@ -218,24 +218,24 @@ msgstr[0] "%d голосовое письмо" msgstr[1] "%d голосовые письма" msgstr[2] "%d голосовые письма" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Вызов %s с помощью аккаунта <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Текущий аккаунт" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "У вас нет настроенных аккаунтов" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "У вас нет зарегистрированных аккаунтов" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -244,45 +244,45 @@ msgstr "" "<i>с:</i> %s\n" "используя %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s не поддерживает ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "Обмен информации ZRTP не удался (%s)" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>с</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Громкость" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Чувствительность микрофона" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Показать главное окно" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "_Положить трубку" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" @@ -290,324 +290,324 @@ msgstr[0] "%i активный аккаунт" msgstr[1] "%i активных аккаунтов" msgstr[2] "%i active accounts" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Голосовая почта" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Адресная книга не выбрана" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Адресная книга" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "Голосовая почта (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone - SIP и IAX2-совместимый VoIP-клиент" -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "О программе SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "_Вызов" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Новый вызов" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "Сделать новый вызов" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Взять трубку" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "Ответить на вызов" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "Завершить вызов" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "_Удерживать вызов" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "Поставить вызов на удержание" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "_Снять вызов с удержания" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "Поставить вызов на удержание" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Мастер настройки" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Запустить мастер настройки" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "Прослушивание голосовой почты" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "_Закрыть" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "Свернуть в трей" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "В_ыход" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "Выйти из программы" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Правка" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "_Копировать" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Копировать выделенное" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "В_ставить" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "Вставить из буфера обмена" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Очистить журнал" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Очистить журнал вызовов" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Аккаунты" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Нстройка аккаунта" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "_Настройки" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "Изменить ваши настройки" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Вид" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Помощь" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Содержание" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "Открыть руководство пользователя" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "О программе" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Переадресация вызова" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "Переадресовать вызов" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "_Запись" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "Записать текущий разговор" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "Показать _панель инструментов" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "Показывать панель инструментов" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "_Номеронабиратель" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "Показывать _номеронабиратель" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "Настройки _громкости" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Показывать настройки _громкости" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Журнал вызовов" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "История вызовов" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Адресная книга" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "_Удерживать звонок" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "Обратный вызов" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Изменить номер телефона" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Изменить номер телефона перед вызовом" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Параметры учетной записи" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Псевдоним" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "Пр_отокол" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Неизвестный" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "Имя или IP-адрес _сервера" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "Имя пользователя" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "Па_роль" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Показать пароль" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "Номер _голосовой почты" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "_Агент-пользователя" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Аутентификация" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Пароль" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Параметры доступа" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Имя для аутентификации" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Пароль" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Безопасность" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Использовать протокол TLS" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "Обмен ключами SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Отключен" @@ -660,40 +660,40 @@ msgstr "Настроить публичный адрес и порт:" msgid "Published port" msgstr "Публичный порт" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "Кодеки" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" -msgstr "" +msgstr "DTMF" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" -msgstr "" +msgstr "RTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "SIP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Настройки аккаунта" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Основные" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Дополнительно" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "Сеть" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " @@ -704,28 +704,28 @@ msgstr "" "будут использованы если не будет подходящего аккаунта для входящего или " "исходящего вызова." -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "Ответ сервера \"%s\" (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Протокол" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Статус" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Аккаунты" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Настройка аккаунтов" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" @@ -733,67 +733,67 @@ msgstr[0] "%d активный аккаунт" msgstr[1] "%d активных аккаунтов" msgstr[2] "действующий аккаунт" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "У вас нет активного аккаунта" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Общие настройки" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Использовать адресную книгу Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Ограничение скорости скачивания:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "карточек" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "_Показать фотографию контакта (если имеется):" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Использовать следующие поля из адресной книги Evolution:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Рабочий" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Домашний" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Мобильный" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Адресная книга" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Выбрать адресную книгу Evolution:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Имя" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Мастер закончил настройку." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -801,348 +801,323 @@ msgstr "" "Вы можете в любое время проверить статус регистрации или изменить параметры " "ваших аккаунтов в меню Правка / Аккаунты." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Псевдоним" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Сервер" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Имя пользователя" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Безопасность " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Нет" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "Мастер создания аккаунта SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Добро пожаловать в мастер создания аккаунта SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Этот мастер установки поможет вам настроить ваш аккаунт." -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP-протоколы" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Выберите тип аккаунта" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Аккаунт" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Выберите одну из следующих возможностей" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Создать бесплатный SIP/IAX2-аккаунт на sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Использовать существующий SIP или IAX2 аккаунт" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Настройка SIP-аккаунта" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Введите пожалуйста следующие данные" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Защищëнная связь с _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "e-mail" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" "Этот электронный адрес будет использоваться для отправки сообщений голосовой " "почты" -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Адрес эл. почты" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Настройка IAX2-аккаунта" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" "Возможно нужно выбрать эту опцию если вы находитесь за сетевым экраном." -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "Включить STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_STUN-сервер" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Регистрация аккаунта" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Поздравляем!" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Частота" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Битрейт" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Полоса пропускания" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA-плагин" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Аудиовыход" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Аудиовход" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" -msgstr "Детектор тишины (VAD)" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Рингтоны" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "Шумоподавление" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Менеджер звука" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Настройка ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Записи" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Сохранять в" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Выберите каталог" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Рингтоны" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "Включить рингтон" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Выберать рингтон" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Аудио файлы" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Настройки аккаунта" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Передача URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Пользовательская команда при входящих вызовах с URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s будет заменена на переданную URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Запустить при определëнном SIP-заголовке" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Запустить при наличии URL _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "_Выполнить команду:" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Префикс" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "Добавить префикс перед номером" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Всплывающие уведомления" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "Показывать всплывающие уведомления" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Значок в системном трее" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "Показывать SFLphone в системном трее" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "_Показать главное окно при входящем вызове" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "_Никогда не показывать главное окно" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Скрывать SFLphone при запуске в трей" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Журнал вызовов" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "_Хранить журнал вызовов в течении" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "дней" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Настройка" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Аудио" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Адресная книга" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Прочее" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" -msgstr "" +msgstr "Горячие клавиши" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "Опции ZRTP" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "Послать hello-хэш в S_DP" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "Попросить пользователя подтвердить пароль SAS" +msgstr "ВНИМАНИЕ: эти комбинации могут заменить системные комбинации клавиш" -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "_Предупредить если ZRTP не пддерживается" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "Показать SAS один раз" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "Настройка SDES" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "Использовать RTP при сбое SDES" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "Дополнительные настройки для TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Транспорт TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1155,85 +1130,119 @@ msgstr "" "каждого аккаунта (но каждый из них будет использовать свой выделенный " "порт).\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "Global TLS listener (для всех аккаунтов)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Список центров сертификации" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Выберите файл Центра сертификации (необязательно)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Файл с публичным сертификатом" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Выберите публичный сертификат (необязательно)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Выберите файл с приватным ключом (необязательно)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Пароль для приватного ключа" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Метод протокола TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Список шифров TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "Имя сервера для исходящих TLS-подключений" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Время ожидания соединения (сек:мсек)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "Проверять входящие сертификаты как сервер" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "Проверять входящие сертификаты как клиент" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Требовать сертификат для входящих TLS-подключений" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "Опции ZRTP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "Послать hello-хэш в S_DP" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "Попросить пользователя подтвердить пароль SAS" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "_Предупредить если ZRTP не пддерживается" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "Показать SAS один раз" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Настройка SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "Использовать RTP при сбое SDES" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Искать все" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Нажмите сюда, чтобы изменить тип поиска" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Поиск в пропущенных вызовах" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Поиск в входящих вызовах" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Поиск в исходящих вызовах" +#~ msgid "_Voice Activity Detection" +#~ msgstr "Детектор тишины (VAD)" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "Шумоподавление" + #~ msgid "Account creation wizard" #~ msgstr "Мастер настройки SFLphone" diff --git a/lang/sflphone.pot b/lang/sflphone.pot index d98c2e8d7f85988d80fbc2c21018eb42d35d870c..6238be246f3ec52d0b6861c43a0ea1c857891bb2 100644 --- a/lang/sflphone.pot +++ b/lang/sflphone.pot @@ -1,591 +1,591 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# SFLphone translation template +# Copyright (C) Savoir-faire Linux 2005 2006 2007 2008 2009 2010 +# This file is distributed under the same license as the sflphone package. +# Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>. # -#, fuzzy + msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: 0.9.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" -"Language-Team: LANGUAGE <LL@li.org>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-06-17 14:00\n" +"Last-Translator: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>\n" +"Language-Team: SFLphone Team <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" "Pulseaudio is not running" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" @@ -638,479 +638,452 @@ msgstr "" msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " "also be used if no account can be matched to an incoming or outgoing call." msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +msgid "Voice enhancement settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1119,81 +1092,109 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "" diff --git a/lang/sv/sv.po b/lang/sv/sv.po index 562ba5c16dd6cd59ae38ec8f44d36bdc4cc58571..92791abe549fa188ec3c7e69b6442d2faf29adee 100644 --- a/lang/sv/sv.po +++ b/lang/sv/sv.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" "PO-Revision-Date: 2010-04-12 13:20+0000\n" "Last-Translator: Gabriel Thörnblad <Unknown>\n" "Language-Team: Swedish <sv@li.org>\n" @@ -15,64 +15,64 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registrerad" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Ej registrerad" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Autentisering misslyckades" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Nätverket kan inte nås" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Fel i STUN -konfigurering" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "STUN-server ej giltig" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "Redo" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Ogiltigt" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Använder konto" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Inga registrerade konton" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -80,515 +80,515 @@ msgstr "" "Kan inte ansluta till SFLphone-servern.\n" "Se till att daemonen är igång." -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "idag klockan %R" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "igår klockan %R" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" "Pulseaudio is not running" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" @@ -641,479 +641,452 @@ msgstr "" msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " "also be used if no account can be matched to an incoming or outgoing call." msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +msgid "Voice enhancement settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1122,81 +1095,109 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "" diff --git a/lang/tr/tr.po b/lang/tr/tr.po index d4cd322e0ba4623065b61e87087bbb9bc3d47ce2..f2f576438b9e8e7773ecfbf661ce6ba817d1dcf1 100644 --- a/lang/tr/tr.po +++ b/lang/tr/tr.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" "PO-Revision-Date: 2009-12-30 08:56+0000\n" "Last-Translator: zeugma <Unknown>\n" "Language-Team: Turkish <tr@li.org>\n" @@ -15,578 +15,578 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Kayıtlı" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Hata" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Kimlik Doğrulama Başarısız" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Ağ erişilemez durumda" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Geçersiz" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" "Pulseaudio is not running" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Devam et" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Onayla" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Sesli mesaj" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Adres Defteri" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "Çağrı" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Yeni çağrı" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "Aramayı sonlandır" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Yapılandırma sihirbazını çalıştır" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "_Kapat" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "Sistem çubuğuna küçült" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "_Çık" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "Programdan çık" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Düzenle" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "_Kopyala" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "_Yapıştır" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Hesaplar" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Hesaplarınızı düzenleyin" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "_Tercihler" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "Tercihlerinizi değiştirin" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Göster" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Yardım" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "İçerikler" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Bu uygulama hakkında" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "_Transfer" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "_Kayıt" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "Araç çubuğunu göster" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "_Geçmiş" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Arama geçmişi" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "_Adres defteri" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Bilinmiyor" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Kullanıcı adı" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Parola" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Parolayı göster" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Kimlik Doğrulama" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Gizli" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Parola" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Güvenlik" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" @@ -639,479 +639,453 @@ msgstr "" msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "Çözücüler" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Hesap ayarları" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Basit" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Gelişmiş" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " "also be used if no account can be matched to an incoming or outgoing call." msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "İletişim Kuralları" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Durum" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Hesaplar" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Genel" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_İş" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Başlangıç" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Hareketli" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Adres Defterleri" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "İsim" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Rumuz" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Sunucu" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Kullanıcı adı" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Hiçbiri" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Hesap" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "isteğe bağlı e-posta adresi" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_E-Posta adresi" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Tebrikler!" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frekans" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Veri akış hızı" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Band Genişliği" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Çıkış" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Giriş" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Kayıtlar" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Bir klasör seç" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Ses Dosyaları" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Hesap ayarları" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Sistem Tepsisi Simgesi" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "gün" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Tercihler" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Ses" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Adres Defteri" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1120,81 +1094,109 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Arama türünü değiştirmek için buraya tıklayın" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "" diff --git a/lang/zh_CN/zh_CN.po b/lang/zh_CN/zh_CN.po index 543b7ea3de5736c9cb47aeff3f1043c629de7d7f..d2df50e47aeea11bd0d72b693039d1efb8078619 100644 --- a/lang/zh_CN/zh_CN.po +++ b/lang/zh_CN/zh_CN.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: SFLphone 0.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" "PO-Revision-Date: 2010-02-28 01:32+0000\n" "Last-Translator: YunQiang Su <wzssyqa@gmail.com>\n" "Language-Team: SavoirFaireLinux Inc <sflphoneteam@savoirfairelinux.com>\n" @@ -16,64 +16,64 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "已注册" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "未注册" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "正在连接..." -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "注册失败" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "认证失败" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "网络连接失败" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "服务器连接失败" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Stun配置有误" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Stun服务器无效" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "无效" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "使用账户" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "没有已注册帐户" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -81,28 +81,28 @@ msgstr "" "连接SFLphone服务器失败.\n" "请检查daemon是否还在运行." -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -112,7 +112,7 @@ msgstr "" "\n" "打开回放设备时出错" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -122,7 +122,7 @@ msgstr "" "\n" "打开采集设备时出错" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -132,472 +132,472 @@ msgstr "" "\n" "Pulseaudio未运行" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "有一个电话正在处理" -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "有电话正在处理中" -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "确认要退出?" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphone出错" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "安全通信不可用" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "继续" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "停止呼叫" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "确认" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s 帐户: %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>拨入方</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d 个语音信息" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "使用%s帐户<i>%s</i>呼叫" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "当前帐户" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "你没有设置任何账户" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "未发现已注册帐户" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s 不支持 ZRTP。" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "扬声器音量" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "话筒音量" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "显示主窗口(S)" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "挂断(_H)" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "语音信箱" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "语音信箱 (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone是一个VoIP客户端,它兼容SIP和IAX2协议." -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "关于SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "电话(_C)" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "新电话(_N)" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "接听(_P)" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "保持(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "恢复通话" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Stun配置有误" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d 个语音信息" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "退出(_Q)" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "编辑(_E)" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "删除所选账户" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "清空历史记录(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "清空历史记录" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "账户(_A)" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "当前帐户" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "首选项(_P)" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "更改您的首选项" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "查看(_V)" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "帮助(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "继续" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "身份验证" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "转接" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "转给:" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "录音(_R)" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "禁用" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "音量控制(V)" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "音量控制(V)" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "历史" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "呼叫记录" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "保持(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "回叫(_C)" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "编辑电话号码" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "拨出电话前编辑电话号码" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "帐户相关参数" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "别名(A)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "协议(P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "未知" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "主机名(H)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "用户名(U)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "密码(P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "密码" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "语音信箱号码(V)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "身份验证" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "密码" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "安全" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "禁用" @@ -650,479 +650,455 @@ msgstr "" msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "Codecs编码" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "SIP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "帐户设置" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "网络" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " "also be used if no account can be matched to an incoming or outgoing call." msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "协议" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "状态" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "帐户" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "已配置帐户" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "常用配置" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "使用Evolution地址薄(U)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "下载上限:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "卡" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "如果可行则显示联系人照片(D)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "使用Evolution地址薄中的如下字段:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "单位电话(W)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "家庭电话(H)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "移动电话(M)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "地址簿" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "选择使用如下Evolution地址薄" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "名称" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "配置完成." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "你可以随时在 选项/帐户 窗口中查看注册状态或者修改帐户参数." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "别名" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "服务器" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "用户名" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLphone账户创建向导" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "欢迎使用SFLphone帐户创建向导!" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "安装向导将帮助您配置帐户" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP协议" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "选择帐户类型" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP(会话初始化协议)" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2(Asterisk内部交换协议)" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "帐户" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "请选择以下选项中的一个" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "在sflphone.org上创建免费的SIP/IAX2帐户" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "注册已存在的SIP或IAX2帐户" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "SIP帐户设置" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "请填写以下信息" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "可选邮件地址" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "这个邮件地址将被用来发送您的语音邮箱消息" -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "邮件地址(E)" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "IAX2帐户设置" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "网络地址解析(NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "如果你使用网络使用防火墙,你很有可能需要设定此项." -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "使用STUN(n)" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "STUN服务器(S)" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "帐户注册" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "恭喜!" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "频率" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "比率" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "带宽" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA插件" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "输出" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "输入" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" -msgstr "声音状态检测(V)" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "铃声" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "降噪处理-窄频压缩(N)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +#, fuzzy +msgid "_Noise Reduction" +msgstr "降噪" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "音频管理器" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA设置" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "记录" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "目标文件夹" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "选择文件夹" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "铃声" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "启用铃声(E)" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "选择铃声" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "音频文件" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "帐户设置" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "URL参数" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "定制对带有URL的来电的处理" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "传输的URL会被替换成%s." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "激活指定的SIP头(S)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "激活IAX2 URL(I)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "运行命令(r)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "重设电话号码" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "号码前缀(P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "桌面提示" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "启用提示(E)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "系统托盘图标" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "来电时弹出主窗口(P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "从不弹出主窗口(v)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "在启动时隐藏SFLphone主窗口" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "拨号历史" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "首选项" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "钩键" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1131,85 +1107,119 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "查询所有" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "请点击此处改变查询方式" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "从未接电话中查询" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "从来电中查询" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "从拨出电话中查询" +#~ msgid "_Voice Activity Detection" +#~ msgstr "声音状态检测(V)" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "降噪处理-窄频压缩(N)" + #~ msgid "Account creation wizard" #~ msgstr "帐户创建向导" @@ -1740,9 +1750,6 @@ msgstr "从拨出电话中查询" #~ msgid "%s account- %s" #~ msgstr "%s 帐户- %s" -#~ msgid "Noise reduction" -#~ msgstr "降噪" - #~ msgid "_Destination folder" #~ msgstr "目标文件夹(D)" diff --git a/lang/zh_HK/zh_HK.po b/lang/zh_HK/zh_HK.po index 67a037909ea35451911e2142def8becd3df8edff..ef06d0715a2e23900d35abddfeb11b9638e6740d 100644 --- a/lang/zh_HK/zh_HK.po +++ b/lang/zh_HK/zh_HK.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: SFLphone 0.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" "PO-Revision-Date: 2009-12-03 18:09+0000\n" "Last-Translator: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>\n" "Language-Team: SavoirFaireLinux Inc <sflphoneteam@savoirfairelinux.com>\n" @@ -16,64 +16,64 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "已註冊" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "未註冊" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "正在連接..." -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "註冊失敗" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "網路連線失敗" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "伺服器連線失敗" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Stun配置有誤" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Stun伺服器無效" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "無效" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "使用賬戶" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "沒有已註冊帳戶" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -81,28 +81,28 @@ msgstr "" "連接SFLphone伺服器失敗.\n" "請核查daemon是否正在運行." -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -112,7 +112,7 @@ msgstr "" "\n" "打開回放設備時出錯" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -122,7 +122,7 @@ msgstr "" "\n" "打開采集設備時出錯" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -132,472 +132,472 @@ msgstr "" "\n" "Pulseaudio未運行" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "有一個電話正在處理中." -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "有電話正在處理中." -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "確認要退出?" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphone 出錯" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s 帳戶 : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>撥入方</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d 個語音郵件" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "使用%s帳戶<i>%s</i>呼叫" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "當前帳戶" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "你沒有設置任何賬戶" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "未發現已註冊帳戶" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "揚聲器音量" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "話筒音量" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "顯示主窗口(S)" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "放下(H)" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "語音郵件" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "語音郵件 (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone是一個VoIP客戶端,它兼容SIP和IAX2协议." -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "有關SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "電話" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "新電話(N)" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "撥出(P)" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "待机" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "恢复通話" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Stun配置有誤" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d 個語音郵件" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "編輯(E)" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "編輯(E)" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "刪除所選賬戶" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "清空曆史記錄(C)" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "清空曆史記錄" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "帳戶(A)" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "當前帳戶" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "屬性" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "查看(V)" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "幫助(H)" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "轉接" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "轉給:" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "記錄(R)" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "顯示撥號鍵盤" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "音量控制(V)" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "音量控制(V)" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "歷史" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "呼叫記錄" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "待机" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "回叫(C)" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "編輯電話號碼" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "撥出電話前編輯電話號碼" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "帳戶相關參數" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "別稱(A)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "協議(P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "未知" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "主机名稱(H)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "使用者名稱(U)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "密碼(P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "密碼" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "語音郵箱(V)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "密碼" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" @@ -650,479 +650,455 @@ msgstr "" msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "編碼" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "SIP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "帳戶設置" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " "also be used if no account can be matched to an incoming or outgoing call." msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "協議" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "狀態" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "帳戶" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "已配置帳戶" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "常用配置" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "使用Evolution地址薄(U)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "下載上限:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "卡" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "如果可以則顯示聯繫人照片(D)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "使用Evolution地址薄中的如下字段:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "單位電話(W)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "家庭電話(H)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "移動電話(M)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "地址簿" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "選擇使用如下Evolution地址薄" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "名稱" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "配置完成." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "你可以隨時在 選項/帳戶 中查看註冊狀態或者修改帳戶信息." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "別稱" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "伺服器" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "使用者名稱" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLphone賬戶創建嚮導" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "歡迎使用SFLphone帳戶創建嚮導!" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "安裝向導將幫助您配置帳戶" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP協議" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "選擇帳戶類型" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP(會話初始化協議)" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2(Asterisk內部交換協議)" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "帳戶" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "請選擇以下選項中的一個" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "在sflphone.org上創建免費的SIP/IAX2帳戶" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "註冊已存在的SIP或IAX2帳戶" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "SIP帳戶配置" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "請填寫如下信息" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "可選郵件地址" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "這個郵件地址將被用來發送您的語音" -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "郵件地址(E)" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "IAX2帳戶配置" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "网络地址解析(NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "如果你使用網路防火牆,你很有可能需要設定該項." -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "啟用STUN(n)" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "STUN伺服器(S)" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "帳戶註冊" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "恭喜!" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "顰律" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "比率" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "顰寬" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA插件" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "輸出" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "輸入" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" -msgstr "聲音狀態檢測(V)" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "鈴聲" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "降噪處理-窄頻壓縮(N)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +#, fuzzy +msgid "_Noise Reduction" +msgstr "降噪" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "聲音管理器" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA 配置" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "記錄" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "目標文件夾" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "選擇文件夾" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "鈴聲" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "啟動鈴聲(E)" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "鈴聲選擇" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "音訊檔案" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "帳戶設置" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "URL參數" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "定制對帶有URL的來電的處理" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "傳輸的URL會被替換成%s." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "激活指定的SIP頭(S)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "激活IAX2 URL(I)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "運行命令(r)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "重設電話號碼" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "號碼前綴(P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "桌面提示" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "啟動提示(E)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "系統托盤圖標" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "來電話時彈出主視窗(P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "從不彈出主視窗(v)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "在啟動時隱藏SFLphone主窗口" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "打電話歷史" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "屬性" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "鉤鍵" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1131,85 +1107,119 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "查詢所有" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "請點擊此處改變查詢方式" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "從未接電話中查詢" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "從來電中查詢" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "從撥出電話中查詢" +#~ msgid "_Voice Activity Detection" +#~ msgstr "聲音狀態檢測(V)" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "降噪處理-窄頻壓縮(N)" + #~ msgid "Account creation wizard" #~ msgstr "帳戶創建向導" @@ -1742,9 +1752,6 @@ msgstr "從撥出電話中查詢" #~ msgid "%s account- %s" #~ msgstr "%s 帳戶- %s" -#~ msgid "Noise reduction" -#~ msgstr "降噪" - #~ msgid "_Destination folder" #~ msgstr "目標文件夾(D)" diff --git a/lang/zh_TW/zh_TW.po b/lang/zh_TW/zh_TW.po index 1e02906fd1ddc4d73497691c3b96f3d809f77b66..f5c1d8098617e1c395946421722134818807dd7d 100644 --- a/lang/zh_TW/zh_TW.po +++ b/lang/zh_TW/zh_TW.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2010-04-19 16:44-0400\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" "PO-Revision-Date: 2009-12-03 18:12+0000\n" "Last-Translator: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>\n" "Language-Team: Traditional Chinese <zh_TW@li.org>\n" @@ -15,578 +15,578 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2010-04-19 20:04+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:170 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:173 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:176 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:179 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:182 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:185 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:188 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:191 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:194 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:197 +#: ../sflphone-client-gnome/src/accountlist.c:208 msgid "Ready" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:200 +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:114 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:121 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:306 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" -#: ../sflphone-client-gnome/src/actions.c:607 -#: ../sflphone-client-gnome/src/actions.c:933 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:379 +#: ../sflphone-client-gnome/src/callable_obj.c:390 msgid "today at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:382 +#: ../sflphone-client-gnome/src/callable_obj.c:393 msgid "yesterday at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:384 +#: ../sflphone-client-gnome/src/callable_obj.c:395 msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/callable_obj.c:388 +#: ../sflphone-client-gnome/src/callable_obj.c:399 msgid "%x at %R" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" "Pulseaudio is not running" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:94 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:98 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:103 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:326 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:445 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:447 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:449 -#: ../sflphone-client-gnome/src/mainwindow.c:479 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:450 -#: ../sflphone-client-gnome/src/mainwindow.c:480 -#: ../sflphone-client-gnome/src/mainwindow.c:501 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:475 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:477 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:495 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:497 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:499 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:128 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:135 -#: ../sflphone-client-gnome/src/uimanager.c:811 -#: ../sflphone-client-gnome/src/uimanager.c:1125 -#: ../sflphone-client-gnome/src/uimanager.c:1167 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 msgid "_Hang up" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:189 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/statusicon.c:190 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format msgid "%i active account" msgid_plural "%i active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:776 -#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:122 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:145 -#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:327 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:395 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:397 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:806 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:807 -#: ../sflphone-client-gnome/src/uimanager.c:1317 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:808 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:809 -#: ../sflphone-client-gnome/src/uimanager.c:1113 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:810 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:812 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:813 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:814 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:815 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:816 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:817 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:821 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:823 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:824 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:825 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:828 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:829 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:830 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:831 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:832 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:833 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:834 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:835 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:837 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:838 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:841 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:844 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:845 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:846 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:847 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:855 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:856 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:857 -#: ../sflphone-client-gnome/src/uimanager.c:1149 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 msgid "_Record" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:858 +#: ../sflphone-client-gnome/src/uimanager.c:869 msgid "Record the current conversation" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:859 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:860 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:861 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:862 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:863 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:864 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:865 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:866 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:867 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1137 -#: ../sflphone-client-gnome/src/uimanager.c:1179 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1240 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1396 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1408 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:271 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:286 -#: ../sflphone-client-gnome/src/config/assistant.c:315 -#: ../sflphone-client-gnome/src/config/assistant.c:428 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:314 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 -#: ../sflphone-client-gnome/src/config/assistant.c:323 -#: ../sflphone-client-gnome/src/config/assistant.c:436 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:334 -#: ../sflphone-client-gnome/src/config/assistant.c:331 -#: ../sflphone-client-gnome/src/config/assistant.c:444 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:367 -#: ../sflphone-client-gnome/src/config/assistant.c:347 -#: ../sflphone-client-gnome/src/config/assistant.c:459 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:388 -#: ../sflphone-client-gnome/src/config/assistant.c:364 -#: ../sflphone-client-gnome/src/config/assistant.c:474 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:393 -#: ../sflphone-client-gnome/src/config/assistant.c:369 -#: ../sflphone-client-gnome/src/config/assistant.c:479 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:402 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:490 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:491 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:747 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:781 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:792 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:851 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:862 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:868 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:874 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" @@ -639,479 +639,452 @@ msgstr "" msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1202 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 msgid "Codecs" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1209 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 msgid "DTMF" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1219 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1223 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 msgid "SIP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1257 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1280 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1296 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1309 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 msgid "Network" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1488 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 msgid "" "This profile is used when you want to reach a remote peer simply by typing a " "sip URI such as <b>sip:remotepeer</b>. The settings you define here will " "also be used if no account can be matched to an incoming or outgoing call." msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:131 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:421 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:429 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:511 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:521 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:538 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:544 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:292 -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:36 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:595 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:230 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:257 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:271 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:273 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:275 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:289 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:291 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:293 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:307 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:307 -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:377 -#: ../sflphone-client-gnome/src/config/assistant.c:406 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:390 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:398 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:420 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:497 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:506 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:513 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:527 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:600 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:605 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:610 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:688 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:710 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:732 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:767 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:777 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:822 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:826 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:832 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:853 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:857 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:861 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:867 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +msgid "Voice enhancement settings" +msgstr "" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:147 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:152 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:159 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:169 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 msgid "Show SFLphone in the system tray" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:176 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:182 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:192 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:206 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:210 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:271 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:298 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:304 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:310 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/shortcuts-config.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:49 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 -msgid "ZRTP Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:69 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 -msgid "Send Hello Hash in S_DP" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:75 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 -msgid "Ask User to Confirm SAS" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:81 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 -msgid "_Warn if ZRTP not supported" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:87 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 -msgid "Display SAS once for hold events" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:132 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:131 -msgid "SDES Options" -msgstr "" - -#: ../sflphone-client-gnome/src/config/srtpadvanceddialog.c:146 -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:156 -msgid "Fallback on RTP on SDES failure" -msgstr "" - -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1120,82 +1093,110 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 msgid "Global TLS listener (all accounts)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:122 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:126 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:147 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:151 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:174 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:195 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:218 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:252 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:261 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:269 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:286 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:292 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:298 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 +msgid "ZRTP Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 +msgid "Send Hello Hash in S_DP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 +msgid "Ask User to Confirm SAS" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 +msgid "_Warn if ZRTP not supported" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 +msgid "Display SAS once for hold events" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "" diff --git a/sflphone-client-gnome/Makefile.am b/sflphone-client-gnome/Makefile.am index 47bb88964f5c83a99f19899f9227d279eb1befb8..7b944d233160c5d75d56f3f75104a4fbe54ca3fc 100644 --- a/sflphone-client-gnome/Makefile.am +++ b/sflphone-client-gnome/Makefile.am @@ -2,6 +2,8 @@ SUBDIRS = src pixmaps tests man po doc ACLOCAL_AMFLAGS = -I m4 +GCONFTOOL=gconftool-2 + GNOME_DOC=gnome-doc-utils.make log4crc_DATA = log4crc @@ -10,10 +12,16 @@ log4crcdir = $(datadir)/sflphone uidir=$(datadir)/sflphone/ui ui_DATA=src/ui.xml -EXTRA_DIST = $(log4crc_DATA) sflphone.desktop.in $(GNOME_DOC) m4 $(UI_DATA) +schemadir = @GCONF_SCHEMA_FILE_DIR@ +schema_DATA = sflphone-client-gnome.schemas + +EXTRA_DIST = $(log4crc_DATA) sflphone.desktop.in $(GNOME_DOC) m4 $(UI_DATA) $(schema_DATA) appsdir = $(datadir)/applications apps_in_files = sflphone.desktop.in apps_DATA = $(apps_in_files:.desktop.in=.desktop) #@INTLTOOL_DESKTOP_RULE@ -DISTCLEANFILES= sflphone.desktop $(GNOME_DOC) +DISTCLEANFILES= sflphone.desktop $(GNOME_DOC) + +install-data-local: + GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $(schema_DATA) diff --git a/sflphone-client-gnome/configure.ac b/sflphone-client-gnome/configure.ac index ff7a520e166c96b3aea26f175869c3fe04d064ae..44f118f5391ac8dff8b6841324c886d691fe6f6d 100644 --- a/sflphone-client-gnome/configure.ac +++ b/sflphone-client-gnome/configure.ac @@ -32,6 +32,9 @@ AC_PROG_INSTALL AC_STDC_HEADERS AC_PROG_LIBTOOL +dnl GCONF utilities +AM_GCONF_SOURCE_2 + dnl Check for log4c AC_CHECK_HEADERS(log4c.h, have_log4c=true, have_log4c=false) if ! $have_log4c; then diff --git a/sflphone-client-gnome/po/da/da.po b/sflphone-client-gnome/po/da/da.po index 1c011969aca5c2afa3b9a4cc76db3e748bcd6bc2..df489d7787b3447b374f85f4b6ea04565bd918cf 100644 --- a/sflphone-client-gnome/po/da/da.po +++ b/sflphone-client-gnome/po/da/da.po @@ -7,68 +7,72 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-11-03 03:52+0000\n" -"Last-Translator: Jonas Fonseca <fonseca@diku.dk>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-05-01 01:15+0000\n" +"Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com>\n" "Language-Team: Danish <da@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registreret" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Ikke registreret" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Forsøger..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Fejl" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Godkendelse mislykkedes" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Netværk kan ikke nås" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Vært kan ikke nås" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Stun konfigureringsfejl" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Stun server ugyldig" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Ugyldig" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Benytter konto" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Ingen registrerede konti" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -76,25 +80,28 @@ msgstr "" "Forbindelse til SFLphone serveren kan ikke oprettes.\n" "Sørg for at server-dæmonen kører." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Direkte IP opkald" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" msgstr "" -"<b>Fejl: Ingen audio-codec fundet\n" -"\n" -"</b>SFL audio-codecs skal installeres i <i>%s</i> eller i mappen <b>." -"sflphone</b> i dit hjemmekatalog (<i>%s</i>)" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -104,7 +111,7 @@ msgstr "" "\n" "Fejl opstod mens afspilningsenhed blev åbnet" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -114,7 +121,7 @@ msgstr "" "\n" "Fejl opstod mens optageenhed blev åbnet" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -124,43 +131,43 @@ msgstr "" "\n" "PulseAudio er tilgængelig" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Et igangværende opkald eksisterer" -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Igangværende opkald eksisterer" -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Ønsker du stadig at afslutte" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphone fejl" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP er ikke understøttet af modtageren %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Sikker kommunikation ikke tilgængelig" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Fortsæt" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Afslut opkald" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -170,11 +177,11 @@ msgstr "" "tilstand.\n" "Den præcise årsag: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "ZRTP-forhandling mislykkedes" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -183,50 +190,50 @@ msgstr "" "%s ønsker at afslutte brugen af sikker kommunikation. Ved at godkende vil " "samtalen fortætte uden SRTP\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Godkend sikkerhedsændring" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Godkend" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s konto : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>Fra</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d indtalt besked" msgstr[1] "%d indtalte beskeder" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Kalder op med %s konto <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Nuværende konto" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Du har ingen oprettede konti" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Du har ingen registrerede konti" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -235,520 +242,554 @@ msgstr "" "<i>Med:</i> %s \n" "benyttende %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s understøtter ikke ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "ZRTP forhandling mislykkedes med %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Med:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Højtaler lydstyrke" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Mikrofon lydstyrke" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Vis hovedvindue" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Læg på" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i konto oprettet" -msgstr[1] "%i konti oprettet" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Talebesked" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" -msgstr "" +msgstr "Ingen adressebog er valgt" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Adressebog" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "Talebesked" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone er en VoIP-klient kompatibel med SIP og IAX2 protokoller" -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Om SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "Afslut opkald" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Nyt opkald" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "Lav et nyt opkald" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Svar" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Læg på" +msgstr "Besvar opkaldet" -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "Afslut opkaldet" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "I _venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "" +msgstr "Sæt opkaldet i venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" -msgstr "" +msgstr "F_jern fra venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "_Optag" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" +msgstr "Fjern opkaldet fra venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Konfigurationsfil" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Stun konfigureringsfejl" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d indtalt besked" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" -msgstr "" +msgstr "_Luk" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" -msgstr "" +msgstr "Minimere til systembakken" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "" +msgstr "_Afslut" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "Afslut programmet" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" -msgstr "" +msgstr "_Rediger" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" -msgstr "" +msgstr "_Kopier" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" -msgstr "" +msgstr "Kopier det valgte" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" -msgstr "" +msgstr "Inds_æt" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" -msgstr "" +msgstr "Indsæt indholdet af udklipsholderen" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "Konti" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Nuværende konto" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Indstillinger" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "Ændr dine indstillinger" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" -msgstr "" +msgstr "_Vis" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" -msgstr "_Hjem" +msgstr "_Hjælp" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Fortsæt" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" -msgstr "" +msgstr "Åbn manualen" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Godkendelse" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" -msgstr "" +msgstr "_Overfør" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "" +msgstr "Overfør opkaldet" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Optag" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Optag den aktuelle samtale" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "" +msgstr "_Vis værktøjslinie" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" -msgstr "" +msgstr "Vis værktøjslinien" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" -msgstr "Deaktiveret" +msgstr "_Nummertastatur" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" -msgstr "" +msgstr "Vis nummertastaturet" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" -msgstr "" +msgstr "Vis _lydstyrke indstillinger" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" -msgstr "" +msgstr "Vis lydstyrke indstillingerne" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Adressebog" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "I _venteposition" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Besvar opkald" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Ændre telefonnummer" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Ændre telefonnummeret før opkald" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Kontoparametre" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Alias" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protokol" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Ukendt" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Værtsnavn" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Brugernavn" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Adgangskode" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Adgangskode" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Nummer for talebesked" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Godkendelse" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Hemmelig" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Legitimationsoplysning" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Godkendelsesnavn" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Adgangskode" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Sikkerhed" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Benyt TLS transport (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "SRTP-nøgleudveksling" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Deaktiveret" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Registrering" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "Forældelse af registrering" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "_Overhold RFC 3263" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "Netværk kan ikke nås" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Lokal adresse" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Lokal port" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "Offentliggjort adresse" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "Ved brug af STUN " +msgstr "Ved brug af STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "STUN serveradresse" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "Samme som lokale parametre" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "Konfigurer offentliggjort adresse og port:" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "Offentliggjort port" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Kontoindstillinger" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Grundlæggende" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" -msgstr "Advanceret" +msgstr "Avanceret" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Netværk" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"Denne profil benyttes når du ønsker at kontakte en ekstern peer ved blot at " +"indtaste en sip-adresse såsom <b>sip:eksternpeer</b>. De indstillinger som " +"du definerer her vil også benyttes hvis ingen konto kan tilknyttes et " +"indgående eller udgående opkald." + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format msgid "Server returned \"%s\" (%d)" msgstr "Server svarede \"" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protokol" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Status" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Konti" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Oprettede konti" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] " aktiv konto" -msgstr[1] " aktiv konto" +msgstr[0] "aktiv konto" +msgstr[1] "aktiv konto" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Der er ingen aktive konti" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Generelt" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Benyt Evolution adressekartotek" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Download begrænsning :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "kort" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "Vis _kontaktbillede hvis tilgængeligt" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Felter fra Evolutions adressekartotek" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Arbejde" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Hjem" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Mobil" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Adressekartoteker" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Vælg hvilke af Evolutions adressekartoteker skal benyttes" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Navn" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Denne vejledning er nu fuldført" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -756,318 +797,321 @@ msgstr "" "Du kan til enhver tid undersøge din registrering eller ændre dine kontis " "parametre i vinduet Indstillinger/Konti" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Alias" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Server" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Brugernavn" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Sikkerhed: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Ingen" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLphone-guiden til oprettelse af konto" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Velkommen til kontooperettelsesvejledning for SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" "Denne installeringsvejledning vil hjælpe dig med at konfigurere en konto" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP protokoller" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Vælg en kontotype" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Konto" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Vælg en af følgende indstillinger" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Opret en gratis SIP/IAX2 konto hos sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Registrer en eksisterende SIP eller IAX2 konto" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "SIP kontoindstillinger" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Udfyld venligst følgende information" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Sikker kommunikation med _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Valgfri emailadresse" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "Denne emailadresse vil blive brugt til at sende dig indtalte beskeder" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Emailadresse" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "IAX2 kontoindstillinger" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Du opfordres til at aktivere dette hvis du er bag en firewall" -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "_Benyt STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_STUN server" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Kontoregistrering" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Tillykke!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frekvens" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Bithastighed" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Båndbredde" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA plugin" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Uddata" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Inddata" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "_Detektering af taleaktivitet" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Ringetoner" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "_Støjreducering (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Lydhåndtering" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_PulseAudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA indstillinger" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codecs" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Optagelser" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Destinationsmappe" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Vælg en mappe" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Ringetoner" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "Aktiver _ringetoner" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Vælg en ringetone" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Lydfiler" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Kontoindstillinger" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Adresseargument" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Brugerdefinerede kommandoer ved indgående opkald med webadresse" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s vil blive erstattet med den givne webadresse." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Udløse ved specifik _SIP protokolhoved" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Udløse ved _IAX2 webadresse" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Kommando som skal _kaldes" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Omskrivning af telefonnummer" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Præfiks for indtastede numre" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" -"Denne profil benyttes når du ønsker at kontakte en ekstern peer ved blot at " -"indtaste en sip-adresse såsom <b>sip:eksternpeer</b>. De indstillinger som " -"du definerer her vil også benyttes hvis ingen konto kan tilknyttes et " -"indgående eller udgående opkald." - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Meddelelser" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Aktiver meddelelser" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Systembakke-ikon" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "_Vis hovedvindue ved indgående opkald" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "Aldrig _pop-op hovedvindue" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Skjul SFLphone vinduet ved _start" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Opkaldshistorik" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "_Gem min historik i mindst" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "dage" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Indstillinger" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Audio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Adressebog" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Hooks" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" -msgstr "Direkte IP opkald" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "Advancerede indstillinger for TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "TLS transport" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1080,136 +1124,170 @@ msgstr "" "TLS transporter for de enkelte konti. Bemærk dog at de hver vil benytte\n" "en dedikeret port forskellig fra hinanden.\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Autoritetscertifikatsliste" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Vælg en fil med en autoritetscertifikatsliste (valgfri)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Offentlig endpoint certifikatsfil" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Vælg et offentligt endpoint-certifikat (valgfri)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Vælg en privat nøglefil (valgfri)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Adgangskode for den private nøgle" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "TLS protokolmetode" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "TLS cifferliste" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "Server navneinstans for udgående TLS forbindelse" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Forhandlingstimeout" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "Udfør kontrol af indgående certifikater, som en server" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "Udfør kontrol af certifikater fra svar, som en klient" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Kræv certifikat for indgående TLS forbindelser" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "ZRTP indstillinger" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "Send \"Hello Hash\" i S_DP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "_Spørg bruger om at godkende SAS" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Advar hvis ZRTP ikke understøttes" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "_Vis SAS en enkelt gang for vente-hændelser" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Søg alle" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Klik her for at ændre søgningstypen" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Søg i ubesvarede opkald" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Søg i indgående opkald" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Søg i udgående opkald" -#~ msgid "IP call - %s" -#~ msgstr "IP opkald - %s" +#~ msgid "_Voice Activity Detection" +#~ msgstr "_Detektering af taleaktivitet" + +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "_Støjreducering (Narrow-Band Companding)" + +#~ msgid "SIP Port" +#~ msgstr "SIP Port" #~ msgid "Codec" #~ msgstr "Kodning" -#~ msgid "Network" -#~ msgstr "Netværk" - -#~ msgid "Manually" -#~ msgstr "Manuelt" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i konto oprettet" +#~ msgstr[1] "%i konti oprettet" #~ msgid "There " #~ msgstr "Der " -#~ msgid "is " -#~ msgstr "er " +#~ msgid "Manually" +#~ msgstr "Manuelt" + +#~ msgid "s" +#~ msgstr "s" #~ msgid "are " #~ msgstr "er " -#~ msgid "s" -#~ msgstr "s" +#~ msgid "is " +#~ msgstr "er " #~ msgid "_Mute other applications during a call" #~ msgstr "_Dæmp andre programmer ved opkald" -#~ msgid "SIP Port" -#~ msgstr "SIP Port" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Aktiver _talebeskedsmeddelelser" #~ msgid "UDP Transport" #~ msgstr "UDP transport" -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Aktiver _talebeskedsmeddelelser" +#~ msgid "Direct IP calls" +#~ msgstr "Direkte IP opkald" + +#~ msgid "IP call - %s" +#~ msgstr "IP opkald - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Fejl: Ingen audio-codec fundet\n" +#~ "\n" +#~ "</b>SFL audio-codecs skal installeres i <i>%s</i> eller i mappen <b>." +#~ "sflphone</b> i dit hjemmekatalog (<i>%s</i>)" #~ msgid "Store SIP credentials as MD5 hash" #~ msgstr "Gem SIP-legitimationsoplysninger som _MD5-hash-værdi" diff --git a/sflphone-client-gnome/po/de/de.po b/sflphone-client-gnome/po/de/de.po index ca1afd15a46c3577ef7821d053d5730e495373e1..1ef5bedaa91c13f31af20adee8d3efdd1c82422d 100644 --- a/sflphone-client-gnome/po/de/de.po +++ b/sflphone-client-gnome/po/de/de.po @@ -7,68 +7,72 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" -"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-04-03 16:49+0000\n" +"Last-Translator: Jakob Kramer <Unknown>\n" "Language-Team: SavoirFaire Linux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registriert" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Nicht registriert" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Am versuchen..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Fehler" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Authentifizierung fehlgeschlagen" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Kein netzwerk" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Host unerreichbar" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Stun: Konfigurationsfehler" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Ungültiger Stun server" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Ungültig" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Mit Konto" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Kein registriertes Konto" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -76,25 +80,28 @@ msgstr "" "SFLphone Server kann nicht verbunden werden. Stellen Sie sicher, dass der " "Dämon läuft." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" +msgstr "Direkter SIP-Anruf" + +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "heute um %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "gestern um %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" msgstr "" -"<b>Fehler: Kein Audio-Codec gefunden.\n" -"\n" -"</b> SFL Audio-Codecs müssen in <i>%s</i> oder <b>.sflphone</b> Ihres HOME-" -"Verzeichniss ( <i>%s</i> ) gespeichert werden." -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -104,7 +111,7 @@ msgstr "" "\n" "Fehler während Öffnen des \"playback device\"" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -114,7 +121,7 @@ msgstr "" "\n" "Fehler während Öffnen des \"capture device\"" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -124,625 +131,660 @@ msgstr "" "\n" "Pulseaudio nicht gestartet" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Laufender Anruf." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Laufende Anrufe." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Bitte bestätigen, dass Sie die Anwendung beenden möchten" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphone Fehler" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" -msgstr "" +msgstr "ZRTP wird vom Nutzer %s nicht unterstützt\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Sichere Verbindung nicht verfügbar" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Weiter" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Anruf beenden" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" +"Ein %s Fehler verhinderte die Verschlüsselung des Telefonats mit %s.\n" +"Genauer Grund: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" -msgstr "" +msgstr "ZRTP Übertragung fehlgeschlagen" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" +"%s will die sichere Kommunikation beenden. Das Gespräch wird dann ohne SRTP " +"fortgesetzt.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Bestätigen" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "Konto %s : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>Von</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d Voice Nachricht" msgstr[1] "%d Voice Nachricht" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Mit %s Konto <i>%s</i> anrufen" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Aktuelles Konto" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Sie haben noch kein Konto eingestellt" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Sie haben noch kein registriertes Konto" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" +"<i>Mit:</i> %s \n" +"unter Verwendung von %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." -msgstr "" +msgstr "%s unterstützt ZRTP nicht." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" -msgstr "" +msgstr "ZRTP-Übertragung mit %s schlug fehl" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Mit:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Lautsprecher Lautstärke" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Mikro Lautstärke" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Hauptfenster anzeigen" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "A_uflegen" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i Konto konfiguriert" -msgstr[1] "%i Konten konfiguriert" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "%i aktiver Account" +msgstr[1] "%i aktive Accounts" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Voicemail" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Adressbuch" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Adressbuch" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "Voicemail (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone ist ein VoIP Client (kompatibel mit SIP und IAX2 Protokolle)" -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Über SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "_Anruf" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Neuer Anruf" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "Einen neuen Anruf tätigen" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Abnehmen" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" +msgstr "Auf den Anruf antworten" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "A_uflegen" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "Den Anruf beenden" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "in _Warteschleife" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "_Gespräch aufzeichnen" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Einrichtungsdatei" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Stun: Konfigurationsfehler" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d Voice Nachricht" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "_Editieren" +msgstr "_Beenden" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "Das Programm beenden" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editieren" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Entfernen Sie das ausgewählte Konto" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Liste der vorherigen Anrufen _leeren" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Vorherigen Anrufen leeren" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Konten" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Aktuelles Konto" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Einstellungen" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "Ihre Einstellungen ändern" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Anzeigen" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Hilfe" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Weiter" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Authentifizierung" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Weiterleiten" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Weiterleiten zu : " +msgstr "Weiterleiten zu :" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Gespräch aufzeichnen" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Das momentane Gespräch aufnehmen" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "" +msgstr "_Zeige Werkzeugleiste" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "_Wählscheibe" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "Lautstärke-Regler anzeigen" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Lautstärke-Regler anzeigen" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Vorherige Anrufe" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Liste der vorherigen Anrufen" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Adressbuch" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "in _Warteschleife" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Zurückrufen" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Nummer editieren" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Nummer vor dem Anruf editieren" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Konto parameter" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Alias" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protokoll" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Unbekannt" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Hostname" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Benutzername" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Passwort" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Passwort" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Voicemail Nummer" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Authentifizierung" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Geheim" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Authentifizierung Name" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Passwort" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Sicherheit" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Deaktiviert" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Anmeldung" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" -msgstr "" +msgstr "Registrierung erwartet" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "Kein netzwerk" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Adresse (lokal)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Port (lokal)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" -msgstr "" +msgstr "Veröffentlichte Adresse" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "" +msgstr "STUN verwenden" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" -msgstr "" +msgstr "STUN Server URL" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" +msgstr "Veröffentlichter Port" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Kontoeinstellungen" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Allgemein" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Erweitert" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Netzwerk" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protokoll" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Status" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Konten" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Konfigurierten Konten" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] " aktive Konten" -msgstr[1] " aktive Konten" +msgstr[0] "aktive Konten" +msgstr[1] "aktive Konten" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Sie haben kein aktives Konto" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Allgemein" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "Addressbuch von Evolution verwenden" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Herunterladen Grenze :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "Karten" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "Wenn verfügbar, _Bild anzeigen" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Felder vom Evolution Adressbuch" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Arbeit" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Heim" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Handy" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Adressbücher" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Adressbücher von Evolution zum verwenden auswählen" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Name" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Assistent beendet." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -750,315 +792,322 @@ msgstr "" "Sie können jederzeit Ihres Registrierungsstatus überprüfen oder " "IhreKontoparameter ändern (Optionen/Konten)." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Alias" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Server" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Benutzername" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Sicherheit: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Nichts" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLphone Konto (Konfigurationsassistent)" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Wilkommen zu SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "" "The Installationsassistent wird Ihnen helfen, ein Konto zu konfigurieren." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP Protokoll" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Kontotyp auswählen" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterisk Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Konto" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Bitte eine Option auswählen" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "SIP/IAX2 Konto bei sflphone.org erstellen lassen" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Existierendes SIP/IAX2 Konto registrieren" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Konfiguration des SIP Konto" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Folgende Informationen bitte ausfühlen" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Sichere Kommunikation mit _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Fakultative E-mail-Adresse" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" "Diese E-mail-Adresse wird benutzt, um Ihnen voicemail Meldungen zu schicken." -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Email" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Konfiguration des IAX2 Konto" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Sie sollten dieses einschalten, falls Sie hinter einer Firewall sind." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "STUN Ei_nschalten" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_STUN Server" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Konto Registrierung" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Gratulation!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frequenz" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Bitrate" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Bandbreite" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA Plugin" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Ausgabe" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Eingabe" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "\"Voice Activity\" Erkennung" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Klingeltöne" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "_Geräuschreduzierung (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Sound Manager" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA Konfiguration" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codecs" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Aufnahmen" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Zielverzeichnis" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Verzeichnis auswählen" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Klingeltöne" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "Klingeltöne _einschalten" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Klingelton auswählen" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Audio Dateien" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Kontoeinstellungen" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "URL Argument" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Spezielle Befehle bei eingehender Anrufen mit URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s wird mit gegebener URL ersetzt." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Bewirkung beim spezifischen _SIP Header" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Bewirkung bei _IAX2 URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Befehl _auszuführen" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Telefonnummer umformen" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Präfix vor Nummern einfügen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Desktopbenachrichtigungen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "Benachrichtigungen _einschalten" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Benachrichtigungsfeld (\"System Tray\") Icon" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "Hauptfenster anzeigen wenn eingehendes Gespräch" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "_Hauptfenster nie anzeigen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "_Unsichtbar beim Start" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Liste der vorherigen Anrufen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "Tage" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Einstellungen" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Audio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Adressbuch" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Hooks" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 -msgid "Advanced options for TLS" +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 +msgid "Advanced options for TLS" +msgstr "Erweiterte Optionen für TLS" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" -msgstr "" +msgstr "TLS Transport" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1067,133 +1116,118 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" -msgstr "" +msgstr "TLS-Protokol-Methode" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" -msgstr "" +msgstr "Bestätige eingehende Zertifikate als einen Server" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" -msgstr "" +msgstr "Bestätige eingehende Zertifikate als einen Client" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" -msgstr "" +msgstr "Benötige Zertifikat für eingehende TLS-Verbindungen" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "ZRTP Optionen" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" -msgstr "" +msgstr "Den Benutzer bitten, SAS zu bestätigen" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Warnung wenn ZRTP nicht unterstüzt" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "SDES Optionen" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Suche alle" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Klicken Sie hier, um Suchtyp zu wechseln" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Suche nach Anruf in Abwesenheit" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Suche nach eingehenden Anruf" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Suche nach ausgehenden Anru" -#~ msgid "IP call - %s" -#~ msgstr "IP Anruf - %s" - -#~ msgid "Codec" -#~ msgstr "Codec" - -#~ msgid "Network" -#~ msgstr "Netzwerk" - -#~ msgid "Manually" -#~ msgstr "Manuell" - -#~ msgid "There " -#~ msgstr "Es " - -#~ msgid "is " -#~ msgstr "gibt " - -#~ msgid "are " -#~ msgstr "gibt " - -#~ msgid "_Mute other applications during a call" -#~ msgstr "_Während eines Anrufs andere Anwendungen stumm schalten" - -#~ msgid "SIP Port" -#~ msgstr "SIP Port" - -#~ msgid "UDP Transport" -#~ msgstr "UDP Transport" +#~ msgid "_Voice Activity Detection" +#~ msgstr "\"Voice Activity\" Erkennung" -#~ msgid "Enable voicemail _notifications" -#~ msgstr "_Benachrichtigung für Voice Nachrichten" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "_Geräuschreduzierung (Narrow-Band Companding)" #~ msgctxt "account state" #~ msgid "Error" @@ -1231,6 +1265,9 @@ msgstr "Suche nach ausgehenden Anru" #~ msgid "Default account" #~ msgstr "Default Konto" +#~ msgid "Codec" +#~ msgstr "Codec" + #~ msgid "SFLphone KDE Client" #~ msgstr "SFLphone KDE Client" @@ -1335,9 +1372,6 @@ msgstr "Suche nach ausgehenden Anru" #~ msgid "Apply" #~ msgstr "übernehmen" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "IAX" #~ msgstr "IAX" @@ -1410,6 +1444,9 @@ msgstr "Suche nach ausgehenden Anru" #~ msgid "Connection" #~ msgstr "Anbindung" +#~ msgid "SIP Port" +#~ msgstr "SIP Port" + #~ msgid "Trigger on specific SIP header" #~ msgstr "Bewirkung beim spezifischen SIP Header" @@ -1435,26 +1472,70 @@ msgstr "Suche nach ausgehenden Anru" #~ msgid "Attention:number of results exceeds max displayed." #~ msgstr "Warnung: Anzahl Resultate überschreit definiertes Maximum" +#~ msgid "IP call - %s" +#~ msgstr "IP Anruf - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Fehler: Kein Audio-Codec gefunden.\n" +#~ "\n" +#~ "</b> SFL Audio-Codecs müssen in <i>%s</i> oder <b>.sflphone</b> Ihres " +#~ "HOME-Verzeichniss ( <i>%s</i> ) gespeichert werden." + #~ msgid "%s - %s" #~ msgstr "%s - %s" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i Konto konfiguriert" +#~ msgstr[1] "%i Konten konfiguriert" + #~ msgid "_Enable this account" #~ msgstr "_Einschalten" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "_Benachrichtigung für Voice Nachrichten" + #~ msgid "PulseAudio sound server" #~ msgstr "PulseAudio Sound Server" +#~ msgid "_Mute other applications during a call" +#~ msgstr "_Während eines Anrufs andere Anwendungen stumm schalten" + #~ msgid "Port" #~ msgstr "Port" +#~ msgid "Manually" +#~ msgstr "Manuell" + +#~ msgid "There " +#~ msgstr "Es " + +#~ msgid "are " +#~ msgstr "gibt " + +#~ msgid "is " +#~ msgstr "gibt " + +#~ msgid "UDP Transport" +#~ msgstr "UDP Transport" + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ "Ihre Namen, ,Launchpad Contributions:,Maxime Chambreuil,Sven Werlen, ," -#~ "Launchpad Contributions:,Maxime Chambreuil,Sven Werlen,Sven Werlen" +#~ "Launchpad Contributions:,Maxime Chambreuil,Sven Werlen,Sven Werlen, ," +#~ "Launchpad Contributions:,Funatiker,Jakob Kramer,Jarosław Ogrodnik,Marcel " +#~ "Schmücker,Maxime Chambreuil,Michael Keppler,Sven Werlen,Sven Werlen" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ "Ihre E-Mail-Adressen,,,maxime.chambreuil@gmail.com,,,,maxime." -#~ "chambreuil@gmail.com,,sven.werlen@gmail.com" +#~ "chambreuil@gmail.com,,sven.werlen@gmail.com,,,,,nobodythere@gmail.com," +#~ "versus666@hotmail.de,maxime.chambreuil@gmail.com,Bananeweizen@gmx.de,," +#~ "sven.werlen@gmail.com" diff --git a/sflphone-client-gnome/po/es/es.po b/sflphone-client-gnome/po/es/es.po index a40c09ce90e8d1106ba4f53f66c7d832e4701a63..75d66eafa6bfb3bb67339cf6dc7d051cc0af6e91 100644 --- a/sflphone-client-gnome/po/es/es.po +++ b/sflphone-client-gnome/po/es/es.po @@ -9,173 +9,180 @@ msgid "" msgstr "" "Project-Id-Version: SFLphone 0.9.4\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" -"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-06-17 16:12+0000\n" +"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n" "Language-Team: SavoirFaireLinux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registrado" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "No registrado" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Intentando..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Error" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Falló la autenticación" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" -msgstr "Red Inaccesible" +msgstr "Red inaccesible" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" -msgstr "_Parte del servidor" +msgstr "Servidor inaccesible" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" -msgstr "Error de configuración Stun" +msgstr "Error de configuración de Stun" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" -msgstr "Servidor stun inválido" +msgstr "Servidor Stun no válido" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "Listo" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" -msgstr "Inválido" +msgstr "No válido" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Usando la cuenta" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" -msgstr "Ninguna cuenta registrada" +msgstr "No hay ninguna cuenta registrada" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" -"Incapaz de conectar con el servidor SFLphone.\n" -" Asegúrese que el demonio esté funcionando." +"No se pudo conectar con el servidor de SFLphone.\n" +"Asegúrese de que el demonio está en ejecución." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" -msgstr "Llamadas IP directas" +msgstr "Llamada SIP directa" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" -msgstr "" -"<b>Error: Codecs de audio no encontrados.\n" -"\n" -"</b> Los codecs de audio de SFLphone deben estar en <i>%s</i> o en el " -"directorio <b>.sflphone</b> de su carpeta personal( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "hoy a las %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "ayer a las %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "%A a las %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "%x a las %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" -"<b>Notificación ALSA</b>\n" +"Notificación ALSA\n" "\n" "Error al abrir el dispositivo de reproducción" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" -"<b>Notificación ALSA</b>\n" +"Notificación ALSA\n" "\n" "Error al abrir el dispositivo de captura" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" "Pulseaudio is not running" msgstr "" -"<b>Notificación de Pulseaudio</b>\n" +"Notificación de Pulseaudio\n" "\n" "Pulseaudio no está funcionando" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." -msgstr "No hay llamada en curso" +msgstr "Hay una llamada en curso." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Hay llamadas en curso." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" -msgstr "Aún quiere salir ?" +msgstr "¿Aún quiere salir?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" -msgstr "Error SFLphone" +msgstr "Error de SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" -msgstr "ZRTP no es compatible con %s\n" +msgstr "El nodo %s no soporta ZRTP\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Comunicación segura no disponible" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" -msgstr "Seguir" +msgstr "Continuar" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Terminar llamada" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -"Un error de %s obliga la llamada con %s a caer bajo un modo decifrado.\n" +"Un error de %s obliga a la llamada con %s a realizarse en modo no cifrado.\n" "Razón exacta: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" -msgstr "Negociación ZRTP fracasada" +msgstr "Falló la negociación ZRTP" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -184,50 +191,50 @@ msgstr "" "%s quiere parar la comunicación segura. Confirmar reanudará la conversación " "sin SRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Confirmar" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Confirmar" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s cuenta : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>De</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d mensaje de voz" msgstr[1] "%d mensajes de voz" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Llamando con la cuenta %s <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Cuenta actual" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" -msgstr "Ninguna cuenta configurada" +msgstr "No tiene configurada ninguna cuenta" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "No tiene ninguna cuenta registrada" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -236,520 +243,554 @@ msgstr "" "<i>Con:</i> %s\n" "usando %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." -msgstr "%s no es compatible con ZRTP." +msgstr "%s no soporta ZRTP" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" -msgstr "Negociación ZRTP fracasada con %s" +msgstr "La negociación ZRTP ha fracasado con %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Con:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" -msgstr "Volumen de altavoces" +msgstr "Volumen de los altavoces" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volumen del micrófono" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" -msgstr "Mostrar ventana principal" +msgstr "Mostrar _ventana principal" + +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Colgar" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i cuenta configurada" -msgstr[1] "%i cuentas configuradas" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "%i cuenta activa" +msgstr[1] "%i cuentas activas" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Mensaje de voz" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" -msgstr "Libreta de contactos" +msgstr "No se ha seleccionado ninguna libreta de direcciones" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" -msgstr "Libreta de contactos" +msgstr "Libreta de direcciones" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "Mensaje de voz (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." -msgstr "SFLphone es un teléfono VoIP compatible con los protocolos SIP y IAX2" +msgstr "SFLphone es un cliente VoIP compatible con los protocolos SIP e IAX2" -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" -msgstr "Sobre SFLphone" +msgstr "Acerca de SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" -msgstr "_Llamar" +msgstr "Llamar" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Nueva llamada" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "Realizar un nuevo llamado" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Descolgar" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Colgar" +msgstr "Responder el llamado" -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "Finalizar el llamado" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "En _Espera" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "" +msgstr "Poner el llamado en espera" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "Seguir" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" -msgstr "" +msgstr "Sacar el llamado de espera" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "G_rabar" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Archivo de configuración" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Error de configuración Stun" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d mensaje de voz" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" -msgstr "" +msgstr "_Cerrar" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" -msgstr "" +msgstr "Minimizar al área de notificación" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "_Editar" +msgstr "_Salir" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "Salir del programa" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editar" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" -msgstr "" +msgstr "_Copiar" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Eliminar la cuenta seleccionada" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" -msgstr "" +msgstr "_Pegar" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" -msgstr "" +msgstr "Pegar el contenido del portapapeles" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "_Limpiar historial" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Limpiar historial" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Cuentas" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Cuenta actual" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Preferencias" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "Cambiar sus preferencias" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Ver" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Ayuda" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Seguir" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" -msgstr "" +msgstr "Abrir el manual" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Autentificación" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Transferir" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Transferir a : " +msgstr "Transferir a :" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "G_rabar" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Grabar la conversación actual" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "" +msgstr "_Mostrar barra de herramientas" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" -msgstr "" +msgstr "Mostrar barra de herramientas" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" -msgstr "Desactivado" +msgstr "_Teclado" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" -msgstr "" +msgstr "Mostrar el teclado de marcado" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "_Controles de volumen" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "_Controles de volumen" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Historia de Llamada" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Historia de Llamada" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Libreta de contactos" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "En _Espera" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Llamar" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Editar número de teléfono" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Editar el número de teléfono antes de llamar" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Parámetros de cuenta" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Alias" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protocolo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Desconocido" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Nombre de equipo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Usuario" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Contraseña" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Contraseña" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Número de buzón de voz" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "Agente de _usuario" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Autentificación" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Secreto" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Informaciónes" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Nombre de autentificación" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Contraseña" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Seguridad" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Usa transporte TLS (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "Intercambió de clave SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Desactivado" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Registración" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "Registracíon expira" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "_Cumplir con RFC 3263" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "Red Inaccesible" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Dirección local" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Puerto local" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "Dirección publicada" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "Usando STUN " +msgstr "Usando STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "URL del servidor STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "Igual que parámetros locales" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "Publicar dirección y puerto:" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "Puerto publicado" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Códecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "DTMF" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "RTP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Configuración de cuentas" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Básico" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avanzado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Red" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"Este perfil es utilizado cuando usted quiere alcanzar al par remoto " +"escribiendo el URI sip así como <b>sip:parremoto</b>. Los parámetros que " +"usted define aqui serán también utilizados si ninguná cuenta puede ser " +"igualada a una llamada entrante o saliente." + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format msgid "Server returned \"%s\" (%d)" -msgstr "Servidor contesta \"" +msgstr "El servidor ha devuelto «%s» (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocolo" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Estado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Cuentas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Cuentas Configuradas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] " cuenta activada" -msgstr[1] " cuenta activada" +msgstr[0] "Hay %d cuenta activada" +msgstr[1] "Hay %d cuentas activadas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "No tienes ninguna cuenta activada" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "General" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Usar libreta de contactos de Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Limite de descarga :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "tarjetas" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "_Mostrar fotos de contactos, si están disponibles" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Usar los siguientes campos de la libreta de direcciones de Evolution:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "P_rofesional" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Personal" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Movil" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Libretas de contactos" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Seleccione la libreta de contactos de Evolution a usar" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nombre" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "El asistente ha finalizado" -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -757,317 +798,322 @@ msgstr "" "Puede comprobar en cualquier momento su estado de registro o modificar la " "configuración de sus cuentas en la ventana de Opciones/Cuentas." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Alias" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Servidor" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Usuario" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Seguridad: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Ninguno" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "Asistente de creación de cuentas" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" -msgstr "¡Bienvenido al asistente de configuración de cuentas de SFLphone" +msgstr "¡Bienvenido al asistente de creación de cuentas de SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Este asistente de instalación le ayudará a configurar una cuenta." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocolos VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Escoja un tipo de cuenta" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Cuenta" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Por favor, elija una de las siguientes opciones" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Crear una cuenta SIP/IAX2 gratis en sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Registrar una cuenta SIP o IAX2 existente" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Configuración de cuenta SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Por favor, ingrese la siguiente información" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" -msgstr "Communicaciòn segura con _ZRTP" +msgstr "Comunicación segura con _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Dirección de correo opcional" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "Esta dirección de correo se usará para mandar sus mensajes de voz" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Correo" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Configuración de cuenta IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Conversión de Dirección de Red (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Probablemente tiene que activar esto si está detrás de un cortafuegos." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "A_ctivar STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_Servidor STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Registro de cuenta" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "¡Enhorabuena!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frecuencia" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Tasa de transferencia" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Ancho de banda" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Plugin ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Salida" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Entrada" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "_Detección de actividad de voz" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Tonos de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "_Reducción de ruido" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Gestor de audio" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Configuración de ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Códecs" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Grabaciones" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Carpeta de destino" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Seleccione una carpeta" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Tonos de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "_Habilitar tonos de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" -msgstr "Elija un tono de llmada" +msgstr "Elija un tono de llamada" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Archivos de Audio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Configuración de cuentas" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Argumento de URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Comandos personalizados en llamada entrante con URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s se remplazará por la URL." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Disparador en una cabecera _SIP específica" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Disparador con una URL _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "_Comando a ejecutar" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Reescritura de número de teléfono" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Prefijar los números marcados con" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" -"Este perfil es utilizado cuando usted quiere alcanzar al par remoto " -"escribiendo el URI sip así como <b>sip:parremoto</b>. Los parámetros que " -"usted define aqui serán también utilizados si ninguná cuenta puede ser " -"igualada a una llamada entrante o saliente." - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notificación de escritorio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Activar notificaciones" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Icono de bandeja del sistema" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "Mostrar SFLphone en la barra de tareas" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "_Popup ventana principal al recibir llamadas" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "_Nunca mostrar ventana principal" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Esconder SFLphone al principio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Historia de llamadas" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "_Guardar mi historia por lo menos" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "días" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Preferencias" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Sonido" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Libreta de Direcciones" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Disparadores" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" -msgstr "Llamadas IP directas" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "Accesos directos" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" +"Tenga cuidado: estos accesos directos podrían reemplazar los accesos " +"directos de todo sistema." + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" -msgstr "Opciones avanzadas por TLS" +msgstr "Opciones avanzadas para TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Transporte TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1080,139 +1126,118 @@ msgstr "" "diferente transporte TLS para cada cuenta. De cualquier forma, cada uno de " "ellos usará un puerto dedicado, diferente el uno del otro.\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "Escuchador TLS global (todas cuentas)" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Lista de Certificados de Autoridad" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Escoge un archivo de lista de CA (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Archivo del certificado del par público" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Escoge un certificado de par público (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Escoge un archivo de clave privada" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Contraseña de clave privada" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Método de protocolo TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Lista de cifrado TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" -msgstr "Nombre del servidor para conección TLS saliente" +msgstr "Nombre del servidor para la conexión TLS saliente" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" -msgstr "Negociación expirada" +msgstr "Negociación expirada (seg:mseg)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "Checar certificados entrantes, como un servidor" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "Checar certificados de la respuesta, como cliente" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" -msgstr "Requiere certificado para conecciones TLS entrantes" +msgstr "Requiere certificado para conexiones TLS entrantes" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "Opciones ZRTP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "Enviar Hello Hash en S_DP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "Preguntar al usuario de confirmar SAS" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Prevenir si ZRTP no es compatible" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "Presentar SAS una vez para eventos en espera" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Opciones SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Buscar todos" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" -msgstr "Haz clic aqui para cambiar el type de busqueda" +msgstr "Pulse aquí para cambiar el tipo de búsqueda" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Buscar en llamadas pérdidas" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Buscar en llamadas entrantes" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Buscar en llamadas salientes" -#~ msgid "IP call - %s" -#~ msgstr "Llamada IP - %s" - -#~ msgid "Codec" -#~ msgstr "Códec" - -#~ msgid "Network" -#~ msgstr "Red" - -#~ msgid "Manually" -#~ msgstr "Manualmente" - -#~ msgid "There " -#~ msgstr "Alla " - -#~ msgid "is " -#~ msgstr "es " +#~ msgid "_Voice Activity Detection" +#~ msgstr "_Detección de actividad de voz" -#~ msgid "are " -#~ msgstr "son " - -#~ msgid "s" -#~ msgstr "s" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "Silenciar otras aplicaciones durante una llamada" - -#~ msgid "SIP Port" -#~ msgstr "Puerto SIP" - -#~ msgid "UDP Transport" -#~ msgstr "Transporte UDP" - -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Activar _notificaciones de mensajes de voz" - -#~ msgid "Store SIP credentials as MD5 hash" -#~ msgstr "Guarda informaciòn SIP como hash MD5" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "_Reducción de ruido" #~ msgctxt "account state" #~ msgid "Registered" @@ -1241,6 +1266,9 @@ msgstr "Buscar en llamadas salientes" #~ msgid "SFLphone KDE Client" #~ msgstr "Cliente KDE de SFLphone" +#~ msgid "Codec" +#~ msgstr "Códec" + #~ msgid "Main screen" #~ msgstr "Pantalla principal" @@ -1281,9 +1309,6 @@ msgstr "Buscar en llamadas salientes" #~ msgid "Enable Stun" #~ msgstr "Activar STUN" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "Apply" #~ msgstr "Aplicar" @@ -1296,6 +1321,9 @@ msgstr "Buscar en llamadas salientes" #~ msgid "PulseAudio" #~ msgstr "PulseAudio" +#~ msgid "SIP Port" +#~ msgstr "Puerto SIP" + #~ msgctxt "End of 'Keep my history for at least n days.'" #~ msgid "days" #~ msgstr "días" @@ -1452,12 +1480,23 @@ msgstr "Buscar en llamadas salientes" #~ msgid "Attention:number of results exceeds max displayed." #~ msgstr "Cuidado:número de resultatos excede el maximo a mostrar." +#~ msgid "IP call - %s" +#~ msgstr "Llamada IP - %s" + #~ msgid "_Account creation wizard" #~ msgstr "Asistente de configuración de cuentas" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i cuenta configurada" +#~ msgstr[1] "%i cuentas configuradas" + #~ msgid "_Enable this account" #~ msgstr "_Habilitar esta cuenta" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Activar _notificaciones de mensajes de voz" + #~ msgctxt "Beginning of 'Keep my history for at least n days.'" #~ msgid "_Keep my history for at least" #~ msgstr "_Guardar mi historia por lo menos" @@ -1465,6 +1504,9 @@ msgstr "Buscar en llamadas salientes" #~ msgid "PulseAudio sound server" #~ msgstr "Servidor de sonido Pulseaudio" +#~ msgid "_Mute other applications during a call" +#~ msgstr "Silenciar otras aplicaciones durante una llamada" + #~ msgid "User" #~ msgstr "Usuario" @@ -1723,6 +1765,17 @@ msgstr "Buscar en llamadas salientes" #~ msgid "Command to run" #~ msgstr "Comando a ejecutar" +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Error: Codecs de audio no encontrados.\n" +#~ "\n" +#~ "</b> Los codecs de audio de SFLphone deben estar en <i>%s</i> o en el " +#~ "directorio <b>.sflphone</b> de su carpeta personal( <i>%s</i> )" + #~ msgid "Keep my history for at least" #~ msgstr "Guardar el historial al menos" @@ -1770,13 +1823,39 @@ msgstr "Buscar en llamadas salientes" #~ "\"Más\" o \"Menos\". Edita la cuenta seleccionada con el formulario a la " #~ "derecha." +#~ msgid "Manually" +#~ msgstr "Manualmente" + +#~ msgid "s" +#~ msgstr "s" + +#~ msgid "There " +#~ msgstr "Alla " + +#~ msgid "Store SIP credentials as MD5 hash" +#~ msgstr "Guarda informaciòn SIP como hash MD5" + +#~ msgid "Direct IP calls" +#~ msgstr "Llamadas IP directas" + +#~ msgid "UDP Transport" +#~ msgstr "Transporte UDP" + +#~ msgid "are " +#~ msgstr "son " + +#~ msgid "is " +#~ msgstr "es " + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ "Maxime Chambreuil, ,Launchpad Contributions:,Andres Mujica,Maxime " #~ "Chambreuil, ,Launchpad Contributions:,Andres Mujica,Maxime Chambreuil, ," #~ "Launchpad Contributions:,Andres Mujica,Maxime Chambreuil, ,Launchpad " -#~ "Contributions:,Andres Mujica,Maxime Chambreuil" +#~ "Contributions:,Andres Mujica,Maxime Chambreuil, ,Launchpad Contributions:," +#~ "Andres Mujica,Daniel Mustieles,Jorge E. Gómez,Maxime Chambreuil,Nicolás " +#~ "M. Zahlut,Xuacu Saturio" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" @@ -1784,4 +1863,6 @@ msgstr "Buscar en llamadas salientes" #~ "maxime.chambreuil@savoirfairelinux.com,,,andres.mujica@seaq.com.co,maxime." #~ "chambreuil@gmail.com,,,andres.mujica@seaq.com.co,maxime.chambreuil@gmail." #~ "com,,,andres.mujica@seaq.com.co,maxime.chambreuil@gmail.com,,,andres." -#~ "mujica@seaq.com.co,maxime.chambreuil@gmail.com" +#~ "mujica@seaq.com.co,maxime.chambreuil@gmail.com,,,andres.mujica@seaq.com." +#~ "co,daniel.mustieles@gmail.com,jorge@jorgee.net,maxime.chambreuil@gmail." +#~ "com,nzahlut@live.com,xuacusk8@gmail.com" diff --git a/sflphone-client-gnome/po/fr/fr.po b/sflphone-client-gnome/po/fr/fr.po index c7ace4f55b20cd568eb48572c1eb71af406ac753..f790d7fe8a901cf472cda6a07f34b95d758f348e 100644 --- a/sflphone-client-gnome/po/fr/fr.po +++ b/sflphone-client-gnome/po/fr/fr.po @@ -7,70 +7,74 @@ # POT-Creation-Date: 2008-01-13 01:39+0100\n msgid "" msgstr "" -"Project-Id-Version: SFLphone 0.9.4\n" +"Project-Id-Version: SFLphone 0.9.8\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" -"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-04-29 08:48+0000\n" +"Last-Translator: Christophe CATARINA <Unknown>\n" "Language-Team: SavoirFaireLinux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2009-11-12 18:12+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Enregistré" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Non Enregistré" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "En cours..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Erreur" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Erreur d'authentification" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Réseau non trouvé" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Serveur introuvable" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Erreur de configuration Stun" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Serveur Stun invalide" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "Prêt" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Non valide" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Utilise le compte" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Pas de compte enregistré" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -78,25 +82,28 @@ msgstr "" "Impossible de se connecter au serveur SFLphone.\n" " Assurez-vous que le démon est lancé." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Appel direct SIP" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" -msgstr "" -"<b>Erreur: Aucun codec audio trouvé.\n" -"\n" -"</b> Les codecs audio SFL doivent être soit dans <i>%s</i> soit dans le " -"répertoire <b>.sflphone</b> de votre répertoire racine( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "Aujourd'hui, à %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "Hier, à %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "%A, à %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "%x, à %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -106,7 +113,7 @@ msgstr "" "\n" "Erreur lors de l'ouverture du périphérique de sortie" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -116,7 +123,7 @@ msgstr "" "\n" "Erreur lors de l'ouverture du périphérique d'entrée" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -126,43 +133,43 @@ msgstr "" "\n" "Pulseaudio n'est pas lancé" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Vous avez un appel en cours." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Vous avez des appels en cours." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Voulez-vous quitter?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Erreur SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP n'est pas supporté par %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Communications sécurisées non disponibles" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Continuer" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Arrêter l'appel" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -171,11 +178,11 @@ msgstr "" "L'appel avec %s est passé en mode non-crypté à cause d'une erreur %s.\n" "Raison exacte: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "Erreur d'authentification" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -184,50 +191,50 @@ msgstr "" "%s ne désire plus utiliser la communication sécurisée. Confirmer que vous " "voulez continuer sans ZRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Confirmer Communication en clair" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Confirmer" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s account : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>De</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d message vocal" msgstr[1] "%d messages vocaux" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Appel avec le compte %s <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Compte courant" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Vous n'avez pas configuré de compte" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Vous n'avez aucun compte enregistré" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -236,525 +243,555 @@ msgstr "" "<i>Avec:</i> %s\n" "using %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s ne supporte pas ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "La négociation ZRTP avec %s a échoué" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>De:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Volume des hauts-parleurs" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volume du micro" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Afficher la fenêtre principale" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Raccrocher" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i compte configuré" -msgstr[1] "%i comptes configurés" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "%i compte actif" +msgstr[1] "%i comptes actifs" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Boite vocale" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Aucun carnet d'adresses sélectionné" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Carnet d'adresses" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 #, c-format msgid "Voicemail (%i)" msgstr "Boite vocale (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "" "SFLphone est un client VoIP compatible avec les protocoles SIP et IAX2." -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "A propos de SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "Actions" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Nouvel appel" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "Appeler" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Décrocher" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "Répondre à l'appel" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Raccrocher" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "Terminer l'appel" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "Mettre en attente" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "Mettre l'appel en attente" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "Reprendre" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "Reprendre l'appel" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "Enregistrer" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "Enregistrer la conversation courante" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "_Assistant de configuration" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Lancer l'assistant de configuration" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "Appeler la boite vocale" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "_Fermer" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "Minimiser dans la barre des tâches" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "_Quitter" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "Quitter le programme" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editer" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "_Copier" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Copier la sélection" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "C_oller" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" -msgstr "" +msgstr "Coller le contenu du presse-papiers" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Effacer l'_historique" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Effacer l'historique" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "Co_mptes" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Éditer les comptes" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Préférences" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "Modifier les préférences" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "A_ffichage" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "A_ide" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Sommaire" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "Ouvrir le manuel" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "À propos de cette application" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Transférer" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Transférer à : " +msgstr "Transférer à :" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "Enregistrer" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Enregistrer la conversation courante" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "Afficher la _barre d'outil" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "Afficher la barre d'outil" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "_Clavier" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "Afficher le clavier" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "Contrôle du _volume" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Afficher les controles du volume" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Historique" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Historique d'appels" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Carnet d'adresses" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "_Mettre en attente" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Rappeler" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Éditer le numéro" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Éditer le numéro de téléphone avant d'appeler" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Paramètres du Compte" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "A_lias" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "P_rotocole" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Inconnu" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Serveur" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "Usa_ger" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Mot de passe" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 -#, fuzzy +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" -msgstr "Mot de passe" +msgstr "Afficher le mot de passe" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Boite vocale #" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "_User-agent" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Identification" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Mot de passe" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Informations" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Nom d'authentification" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Mot de passe" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Sécurité" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Utiliser un transport TLS (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "Échange de clé SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Désactivé" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Expiration d'enregistrement" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "Expiration d'enregistrement" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "Respecter RFC 3263" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "Interface réseau" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Adresse locale" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Port local" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "Adresse de publication" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "Utiliser STUN " +msgstr "Utiliser STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "URL du serveur STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "Identique aux paramètres locaux" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "Configurer l'adresse et le port à publier" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "Port de publication" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "DTMF" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "RTP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Paramètre des comptes" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Général" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avancé" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Réseau" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"Ce profil est utilisé quand vous voulez appeler directement quelqu'un en " +"composant une adresse SIP telle que: <b>sip:remotepeer</b>. Ces paramètres " +"sont aussi utilisé si aucun compte ne peut être attribué à un appel entrant " +"ou sortant." + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "Le serveur a répondu \"%s\" (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocole" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Statut" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Comptes" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Comptes Configurés" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] " %d compte actif" -msgstr[1] " %d comptes actifs" +msgstr[0] "%d compte actif" +msgstr[1] "%d comptes actifs" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Vous n'avez aucun compte actif" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Général" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Utiliser les carnets d'adresse d'Évolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Limite de téléchargement :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "entrées" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "_Afficher la photo si disponible" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Utiliser les champs suivants des carnets d'adresse d'Évolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Professionnels" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "P_ersonnels" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Mobiles" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Carnets d'adresses" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Sélectionnez les carnets d'adresses d'Evolution à utiliser" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nom" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Cet assistant est maintenant terminé." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -762,319 +799,322 @@ msgstr "" "Vous pouvez à tout moment vérifier votre état d'enregistrement ou modifier " "les paramètres de vos comptes dans la fenêtre Options/Comptes." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Alias" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Serveur" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Nom d'utilisateur" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Sécurité: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Aucun" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "Assistant de création de compte de SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Bienvenue dans l'assistant de création de compte de SFLphone !" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Cet assistant vous guidera dans la configuration d'un compte." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocoles VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Sélectionnez un type de compte" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Compte" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Veuillez sélectionner une des options suivantes" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Créer un compte SIP/IAX2 gratuit sur sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Enregistrer un compte SIP ou IAX2 existant" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Paramètres de compte SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Veuillez remplir les champs suivants" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Communications sécurisées avec _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Adresse courriel optionnelle" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "Vos messages vocaux seront envoyés par courriel à cette adresse." -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "A_dresse courriel" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Paramètres de compte IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" "Vous devriez probablement activer cette option si vous vous trouvez derrière " "un pare-feu." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "A_ctiver STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "S_erveur STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Enregistrement du compte" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Félicitations!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Fréquence" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Bitrate" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Bande passante" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Greffon ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Sortie" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Entrée" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "Détection de l'activité de la voix" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +msgid "Ringtone" +msgstr "Sonneries" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "Réduction du bruit (Compresseur extenseur LBR)" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Interface Audio" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Paramètres ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codecs" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Enregistrements" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Dossier de destination" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Choisissez un dossier" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Sonneries" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "_Activer les sonneries" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Sélectionner une sonnerie" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Fichier Audio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Paramètre des comptes" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Argument URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Commandes personnalisées lors d'appels entrants avec une URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s sera remplacé par l'URL passé en argument." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Déclencher sur un entête _SIP spécifique" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Déclencher en _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Commande à e_xécuter" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Réécriture des numéros appelés" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Préfixer les numéros composés par" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" -"Ce profil est utilisé quand vous voulez appeler directement quelqu'un en " -"composant une adresse SIP telle que: <b>sip:remotepeer</b>. Ces paramètres " -"sont aussi utilisé si aucun compte ne peut être attribué à un appel entrant " -"ou sortant." - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notifications de Bureau" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Activer les notifications" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Icône dans la barre des tâches" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "Montrer SFLphone dans la barre des tâches" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "Faire apparaître la fenêtre _principale lors d'appel entrant" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "Ne _jamais afficher la fenêtre principale" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "_Cacher la fenêtre de SFLphone au démarrage" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Historique des appels" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "Garder mon historique au moins" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "jours" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Préférences" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Audio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Carnet d'adresse" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Ancrage" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" -msgstr "Appels IP" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "Raccourcis claviers" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" +"Soyez prudent; ces raccourcis peuvent entrer en conflit avec ceux du système." + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "Options avancées TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Transport TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1087,143 +1127,118 @@ msgstr "" "TLS différent pour chaque compte. Cependant, chacun écoutera sur un port " "différent.\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "Port TLS global (pour tous les comptes)" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Liste des autorités de certification" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Choisir une liste d'AC (optionnel)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Fichier de certificats de l'extrémité public" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Sélectionner le certificat de l'extrémité public" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Choisir une clé privée (optionnel)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Mot de passe pour la clé privée" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Méthode pour TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Liste de cryptogramme TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "Instance du serveur pour les connections TLS sortantes" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Expiration de la négociation" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "En tant que serveur, vérifier les certificats entrants" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "En tant que client, vérifier les certificats dans les réponses" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Exiger un certificat pour les connexions TLS entrantes" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "Options de ZRTP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "Envoyer le hash de Hello dans S_DP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "Demander à l'utilisateur de confirmer le SAS" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Avertir si ZRTP n'est pas supporté" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "Afficher le SAS seulement une fois sur les mises en attente" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Options SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "Recourrir à RTP si SDES échoue" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Rechercher dans tous" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Cliquez ici pour changer le type de recherche" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Rechercher dans les appels manqués" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Rechercher dans les appels entrants" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Rechercher dans les appels sortants" -#~ msgid "Configuration File" -#~ msgstr "Fichier de configuration" +#~ msgid "_Voice Activity Detection" +#~ msgstr "Détection de l'activité de la voix" -#~ msgid "Store SIP credentials as MD5 hash" -#~ msgstr "" -#~ "Stocker les informations d'authentification sour forme encryptée (MD5)" - -#~ msgid "IP call - %s" -#~ msgstr "Appel IP - %s" - -#~ msgid "Codec" -#~ msgstr "Codec" - -#~ msgid "Network" -#~ msgstr "Réseau" - -#~ msgid "Manually" -#~ msgstr "Manuelle" - -#~ msgid "There " -#~ msgstr "Il y " - -#~ msgid "is " -#~ msgstr "a " - -#~ msgid "are " -#~ msgstr "a " - -#~ msgid "s" -#~ msgstr "s" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "Éteindre le _son des autres applications lors d'un appel" - -#~ msgid "SIP Port" -#~ msgstr "Port SIP" - -#~ msgid "UDP Transport" -#~ msgstr "Transport UDP" - -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Activer les notifications de boîte _vocale" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "Réduction du bruit (Compresseur extenseur LBR)" #~ msgctxt "account state" #~ msgid "Registered" @@ -1286,6 +1301,9 @@ msgstr "Rechercher dans les appels sortants" #~ msgid "Default account" #~ msgstr "Compte par défaut" +#~ msgid "Codec" +#~ msgstr "Codec" + #~ msgid "SFLphone KDE Client" #~ msgstr "SFLphone Client KDE" @@ -1475,6 +1493,9 @@ msgstr "Rechercher dans les appels sortants" #~ msgid "Clear history" #~ msgstr "Effacer l'historique" +#~ msgid "SIP Port" +#~ msgstr "Port SIP" + #~ msgid "Trigger on specific SIP header" #~ msgstr "Déclencher sur un entête SIP spécifique" @@ -1496,15 +1517,40 @@ msgstr "Rechercher dans les appels sortants" #~ msgid "Attention:number of results exceeds max displayed." #~ msgstr "Attention:tous les résultats ne sont pas affichés." +#~ msgid "IP call - %s" +#~ msgstr "Appel IP - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Erreur: Aucun codec audio trouvé.\n" +#~ "\n" +#~ "</b> Les codecs audio SFL doivent être soit dans <i>%s</i> soit dans le " +#~ "répertoire <b>.sflphone</b> de votre répertoire racine( <i>%s</i> )" + #~ msgid "_Account creation wizard" #~ msgstr "_Assistant de création de compte" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i compte configuré" +#~ msgstr[1] "%i comptes configurés" + #~ msgid "_Enable this account" #~ msgstr "Activer ce compte" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Activer les notifications de boîte _vocale" + #~ msgid "PulseAudio sound server" #~ msgstr "Serveur de son PulseAudio" +#~ msgid "_Mute other applications during a call" +#~ msgstr "Éteindre le _son des autres applications lors d'un appel" + #~ msgid "Port" #~ msgstr "Port" @@ -1770,9 +1816,6 @@ msgstr "Rechercher dans les appels sortants" #~ msgid "IAX" #~ msgstr "IAX" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "PulseAudio" #~ msgstr "PulseAudio" @@ -1817,12 +1860,42 @@ msgstr "Rechercher dans les appels sortants" #~ msgid "Registration _expire" #~ msgstr "Expiration d'enregistrement" +#~ msgid "Manually" +#~ msgstr "Manuelle" + +#~ msgid "s" +#~ msgstr "s" + +#~ msgid "UDP Transport" +#~ msgstr "Transport UDP" + +#~ msgid "Configuration File" +#~ msgstr "Fichier de configuration" + +#~ msgid "There " +#~ msgstr "Il y " + +#~ msgid "are " +#~ msgstr "a " + +#~ msgid "is " +#~ msgstr "a " + +#~ msgid "Direct IP calls" +#~ msgstr "Appels IP" + +#~ msgid "Store SIP credentials as MD5 hash" +#~ msgstr "" +#~ "Stocker les informations d'authentification sour forme encryptée (MD5)" + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ "Jérémy Quentin, ,Launchpad Contributions:,Emmanuel Milou,Maxime " #~ "Chambreuil, ,Launchpad Contributions:,Emmanuel Milou,Maxime Chambreuil, ," -#~ "Launchpad Contributions:,Emmanuel Milou,Maxime Chambreuil" +#~ "Launchpad Contributions:,Emmanuel Milou,Maxime Chambreuil, ,Launchpad " +#~ "Contributions:,Alexandre Savard,Christophe CATARINA,Emmanuel Milou,Maxime " +#~ "Chambreuil,Pierre Slamich" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" @@ -1830,4 +1903,6 @@ msgstr "Rechercher dans les appels sortants" #~ "jeremy.quentin@savoirfairelinux.com,,,emmanuel.milou@savoirfairelinux.com," #~ "maxime.chambreuil@gmail.com,,,emmanuel.milou@savoirfairelinux.com,maxime." #~ "chambreuil@gmail.com,,,emmanuel.milou@savoirfairelinux.com,maxime." -#~ "chambreuil@gmail.com" +#~ "chambreuil@gmail.com,,,alexandre.savard@savoirfairelinux.com,,emmanuel." +#~ "milou@savoirfairelinux.com,maxime.chambreuil@gmail.com,pierre." +#~ "slamich@gmail.com" diff --git a/sflphone-client-gnome/po/it/it.po b/sflphone-client-gnome/po/it/it.po index cf8644aea926a034434257d7637e4c5c02e5a84c..f9e4a8ddbc573b6a4541039a465d08386cc36435 100644 --- a/sflphone-client-gnome/po/it/it.po +++ b/sflphone-client-gnome/po/it/it.po @@ -7,68 +7,72 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-14 17:47+0000\n" -"Last-Translator: Maxime Chambreuil <maxime.chambreuil@gmail.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-03-21 18:30+0000\n" +"Last-Translator: Milo Casagrande <milo@casagrande.name>\n" "Language-Team: LANGUAGE <LL@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registrato" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Non registrato" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Registrazione in corso..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Errore" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Autenticazione fallita" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Rete irraggiungibile" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "Host non raggiungibile" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Errore di configurazione STUN" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Server STUN non valido" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Non valido" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Account in uso:" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Nessun account registrato" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -76,25 +80,28 @@ msgstr "" "Impossibile connettersi al server SFLphone.\n" "Accertarsi che il demone sia in esecuzione." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" +msgstr "Chiamata SIP diretta" + +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" msgstr "" -"<b>Errore: Non è stato trovato alcun codec audio.</b>\n" -"\n" -"I codec audio SFL devono trovarsi in <i>%s</i> o nella sottocartella <b>." -"sflphone</b> della cartella home dell'utente (</i>%s</i>)" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -103,7 +110,7 @@ msgstr "" "Notifica ALSA\n" "Errore nell'apertura del dispositivo di riproduzione" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -112,7 +119,7 @@ msgstr "" "Notifica ALSA\n" "Errore nell'apertura del dispositivo di registrazione" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -121,941 +128,976 @@ msgstr "" "Notifica PulseAudio\n" "PulseAudio non è in esecuzione" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "C'è una chiamata in corso." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Ci sono chiamate in corso." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Vuoi veramente uscire?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Errore SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" -msgstr "" +msgstr "Termina la chiamata" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" -msgstr "" +msgstr "Negoziazione ZRTP fallita" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "Account %s: %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>Da</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d messaggio vocale" msgstr[1] "%d messaggi vocali" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Chiamata tramite account %s <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Account attivo" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Nessun account configurato" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Nessun account registrato" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." -msgstr "" +msgstr "%s non supporta ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" -msgstr "" +msgstr "Negoziazione ZRTP fallita con %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" -msgstr "" +msgstr "<i>Con:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Volume altoparlante" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volume microfono" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "Mostra la finestra principale" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Chiudi" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i account configurato" -msgstr[1] "%i account configurati" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Segreteria telefonica" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Rubrica" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Rubrica" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "Segreteria telefonica (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone è un client VoIP compatibile con i protocolli SIP e IAX2." -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Informazioni su SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "_Chiama" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "Chiama" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "Effettua una nuova chiamata" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "Rispondi" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Chiudi" +msgstr "Rispondi alla chiamata" -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "Termina la chiamata" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "Attesa" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "" +msgstr "Metti in attesa la chiamata" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "_Registra" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Errore di configurazione STUN" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d messaggio vocale" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "_Modifica" +msgstr "_Esci" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "Esce dal programma" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Modifica" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Elimina l'account selezionato" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Cancella la cronologia" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Cancella la cronologia" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Account" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Account attivo" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" -msgstr "Preferenze" +msgstr "Preferen_ze" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "Modifica le preferenze" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Visualizza" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Aiuto" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Inoltra" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Inoltra a: " +msgstr "Inoltra a:" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Registra" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Regista la conversazione in corso" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "Mostra tastiera" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" -msgstr "" +msgstr "Mostra la tastiera" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "Mostra i controlli del volume" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Mostra i controlli del volume" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Cronologia" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Cronologia chiamate" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Rubrica" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "Attesa" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Parametri account" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Pseudonimo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protocollo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Sconosciuto" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "Nome _host" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "Nome _utente" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Password" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Password" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "Numero segreteria telefonica" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 -msgid "Authentication" +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 +msgid "Authentication" +msgstr "Autenticazione" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Password" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "Scadenza registrazione" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "Rete irraggiungibile" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codec" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Impostazioni dell'account" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Generale" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avanzate" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Rete" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocollo" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Stato" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Account" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Account configurati" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Usa la rubrica di Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "tessere" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "Mostra la foto del contatto se disponibile" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Campi dalla rubrica di Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Lavoro" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Home" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "Cellulare" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Rubriche indirizzi" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Selezionare la rubrica di Evolution da usare" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nome" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "La procedura guidata è terminata." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Pseudonimo" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Server" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Nome utente" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "" "Benvenuti alla procedura guidata per la creazione di un account SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Questa procedura permetterà di configurare un account." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocolli VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Selezionare un tipo di account" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Account" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Scegliere una delle seguenti opzioni" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Creare un account SIP/IAX2 gratuito su sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Registrare un account SIP o IAX2 esistente" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Impostazioni account SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Indirizzo email opzionale" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" "L'indirizzo email sarà usato per l'invio dei messaggi della segreteria " "telefonica." -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "Indirizzo _email" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Impostazioni account IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "Dovrebbe essere abilitato se ci si trova dietro ad un firewall." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "Abilita STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "Server STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Registrazione account" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Congratulazioni!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frequenza" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Bitrate" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Banda" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Plugin ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Uscita" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Ingresso" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Suonerie" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Impostazioni ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codec" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Registrazioni" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Cartella di destinazione" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Seleziona una cartella" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Suonerie" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "Abilita suonerie" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Selezionare una suoneria" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "File audio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Impostazioni dell'account" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Rileva header SIP specifico" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Rileva URL su IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Comando da eseguire" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Riscrittura numero telefonico" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "Prefisso da aggiungere ai numeri da chiamare" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notifiche" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "Abilita notifiche" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Icona per area di notifica" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "Mostra la finestra principale all'arrivo delle chiamate" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "Non mostrare mai la finestra principale" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Nascondi la finestra di SFLphone all'avvio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Cronologia chiamate" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "Mantieni la cronologia per almeno" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "giorni" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Preferenze" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Audio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Rubrica" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1064,119 +1106,116 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Cerca tra tutte le chiamate" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Fare clic qui per cambiare il tipo di ricerca" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Cerca tra le chiamate perse" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Cerca tra le chiamate ricevute" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Cerca tra le chiamate effettuate" -#~ msgid "IP call - %s" -#~ msgstr "Chiamata IP diretta - %s" - #~ msgid "Codec" #~ msgstr "Codec" -#~ msgid "Network" -#~ msgstr "Rete" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "Spegni l'audio delle altre applicazioni durante una chiamata" - -#~ msgid "SIP Port" -#~ msgstr "SIP Port" - -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Abilita notifiche messaggi vocali" - #~ msgid "(C) 2009 Savoir-faire Linux" #~ msgstr "(C) 2009 Savoir-faire Linux" @@ -1201,9 +1240,6 @@ msgstr "Cerca tra le chiamate effettuate" #~ msgid "IAX" #~ msgstr "IAX" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "Apply" #~ msgstr "Applica" @@ -1228,6 +1264,9 @@ msgstr "Cerca tra le chiamate effettuate" #~ msgid "Enable notifications" #~ msgstr "Attiva le notifiche" +#~ msgid "SIP Port" +#~ msgstr "SIP Port" + #~ msgid "Port" #~ msgstr "Port" @@ -1252,9 +1291,17 @@ msgstr "Cerca tra le chiamate effettuate" #~ msgid "Command to run" #~ msgstr "Comando da eseguire" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i account configurato" +#~ msgstr[1] "%i account configurati" + #~ msgid "_Enable this account" #~ msgstr "Abilita questo account" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Abilita notifiche messaggi vocali" + #~ msgid "Voicemail number" #~ msgstr "Numero segreteria telefonica" @@ -1297,9 +1344,15 @@ msgstr "Cerca tra le chiamate effettuate" #~ msgid "Prefix dialed numbers with" #~ msgstr "Prefisso da aggiungere al numero da chiamare" +#~ msgid "_Mute other applications during a call" +#~ msgstr "Spegni l'audio delle altre applicazioni durante una chiamata" + #~ msgid "Keep my history for at least" #~ msgstr "Mantieni la cronologia per almeno" +#~ msgid "IP call - %s" +#~ msgstr "Chiamata IP diretta - %s" + #~ msgid "Registration _expire" #~ msgstr "Scadenza registrazione" @@ -1316,15 +1369,27 @@ msgstr "Cerca tra le chiamate effettuate" #~ msgid "Account creation wizard" #~ msgstr "Procedura guidata creazione account" +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Errore: Non è stato trovato alcun codec audio.</b>\n" +#~ "\n" +#~ "I codec audio SFL devono trovarsi in <i>%s</i> o nella sottocartella <b>." +#~ "sflphone</b> della cartella home dell'utente (</i>%s</i>)" + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ ",Launchpad Contributions:,Maurizio Porrato,Maxime Chambreuil, ,Launchpad " #~ "Contributions:,Maurizio Porrato,Maxime Chambreuil, ,Launchpad " -#~ "Contributions:,Maurizio Porrato,Maxime Chambreuil" +#~ "Contributions:,Maurizio Porrato,Maxime Chambreuil, ,Launchpad " +#~ "Contributions:,Maurizio Porrato,Maxime Chambreuil,Milo Casagrande" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ ",,,maxime.chambreuil@gmail.com,,,,maxime.chambreuil@gmail.com,,,,maxime." -#~ "chambreuil@gmail.com" +#~ "chambreuil@gmail.com,,,,maxime.chambreuil@gmail.com,milo@casagrande.name" diff --git a/sflphone-client-gnome/po/pt_BR/pt_BR.po b/sflphone-client-gnome/po/pt_BR/pt_BR.po index 0a5429e6c0323561c75343ee5b5b977440bb1ae2..42a553a175d85f07feb573e84d017da5d38c1928 100644 --- a/sflphone-client-gnome/po/pt_BR/pt_BR.po +++ b/sflphone-client-gnome/po/pt_BR/pt_BR.po @@ -7,68 +7,72 @@ msgid "" msgstr "" "Project-Id-Version: sflphone\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" -"Last-Translator: kalib <kalibslack@gmail.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-06-02 08:31+0000\n" +"Last-Translator: Gustavo Guidorizzi <Unknown>\n" "Language-Team: Brazilian Portuguese <pt_BR@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Registrado" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Não Registrado" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "Tentando..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Erro" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "A autenticação falhou" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "A rede está inacessível" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "A máquina está inacessível" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Erro de configuração no stun" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Servidor stun inválido" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "Pronto" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "Inválido" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "Utilizando conta" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "Sem contas registradas" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -76,25 +80,28 @@ msgstr "" "Incapaz de conectar ao servidor SFLphone.\n" "Tenha certeza de que o daemon está rodando." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Ligações IP diretas" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" -msgstr "" -"<b>Erro: Não foram encontrados codecs de áudio.\n" -"\n" -"</b> Os codecs de áudio do SFL tem de ser movidos para o diretório <i>%s</i> " -"ou para o diretório <b>.sflphone</b> em seu home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "hoje às %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "ontem às %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "%A às %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "%x às %R" + +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -104,7 +111,7 @@ msgstr "" "\n" "Erro ao abrir o dispositivo de reprodução" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -114,7 +121,7 @@ msgstr "" "\n" "Erro ao abrir o dispositivo de captura" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -124,43 +131,43 @@ msgstr "" "\n" "Pulseaudio não está rodando" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "Existe uma ligação em progresso" -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "Existem ligações em progresso" -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Você ainda deseja sair?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Erro no SFLphone" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP não é suportado pelo peer %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "Comunicação Segura Indisponível" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Continuar" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "Finalizar Chamada" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" @@ -169,11 +176,11 @@ msgstr "" "Um erro %s forçou a ligação com %s a mudar para um modo não encriptado.\n" "Motivo exato: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "Negociação ZRTP falhou" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " @@ -182,50 +189,50 @@ msgstr "" "%s deseja finalizar a utilização de comunicação segura. A confirmação irá " "retomar sem SRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Confirmar Vá Limpar" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Confirmar" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s conta : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>De</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d mensagem de voz" msgstr[1] "%d mensagens de voz" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "Ligando com %s conta <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "Conta atual" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "Você não tem contas configuradas" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "Você não tem contas registradas" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" @@ -234,520 +241,554 @@ msgstr "" "<i>Com:</i>%s \n" "utilisando %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s não suporta ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "Negociação ZRTP falhou com %s" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>Com:</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Volume dos auto-falantes" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "Volume do microfone" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Apresentar janela principal" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Desligar" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "%i conta configurada" -msgstr[1] "%i contas configuradas" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "%i conta ativa" +msgstr[1] "%i contas ativas" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "Correio de voz" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "Catálogo de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Catálogo de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "Correio de voz (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone é um cliente VoIP compatível com os protocolos SIP e IAX2." -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "Sobre o SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "_Chamar" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "_Nova ligação" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "" +msgstr "Faz uma nova chamada" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Atender" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "" +msgstr "Responder a chamada" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Desligar" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "" +msgstr "Terminar a chamada" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "Em _Espera" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "" +msgstr "Colocar a chamada em espera" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "_Gravar" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" +msgstr "Encerrar a chamada em espera" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Arquivo de Configuração" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Erro de configuração no stun" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d mensagem de voz" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" -msgstr "" +msgstr "_Fechar" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" -msgstr "" +msgstr "Minimizar para a bandeja do sistema" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "_Editar" +msgstr "_Sair" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" -msgstr "" +msgstr "Sair do programa" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Editar" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" -msgstr "" +msgstr "_Copiar" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "Remover a conta selecionada" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" -msgstr "" +msgstr "_Colar" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" -msgstr "" +msgstr "Colar o conteúdo da Área de Transferência" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "Limpar _histórico" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "Limpar histórico" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "_Contas" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "Conta atual" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "Preferências" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "Altera as suas preferências" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Exibir" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Ajuda" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "Continuar" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" -msgstr "" +msgstr "Abrir o manual" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "Autenticação" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "Transferir" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Transfirir para: " +msgstr "Transfirir para:" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Gravar" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Gravar a conversação atual" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "" +msgstr "_Exibir barra de ferramentas" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" -msgstr "" +msgstr "Mostra a barra de ferramentas" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "Desabilitado" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "_Controle de Volumes" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "Exibir controles de volume" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "Histórico" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "Histórico de chamadas" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Catálogo de endereços" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "Em _Espera" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "_Ligar de volta" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "Editar número de telefone" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "Edite o número de telefone antes de fazer uma ligação" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Parâmetros de conta" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Apelido" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "_Protocolo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Desconhecido" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "_Nome do host" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "_Nome do usuário" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "_Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "_Senha da caixa postal de voz" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "Autenticação" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "Segredo" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Credencial" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Nome de autenticação" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Senha" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Segurança" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "Use transporte TLS (sips)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "Troca de chave SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Desabilitado" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Registro" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "Registro expira" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "_De acordo com RFC 3263" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "A rede está inacessível" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Endereço local" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Porta local" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "Endereço publicado" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "Utilizando STUN " +msgstr "Utilizando STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "URL do servidor STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "Igual aos parâmetros locais" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "Indique endereço e portas publicadas" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "Porta publicada" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "Configurações da conta" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Básico" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "Avançado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Rede" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"Este perfil é utilizado quando você deseja alcançar um ponto remoto " +"simplesmente digitando um URI sip como <b>sip:remotepeer</b>. As " +"configurações que você definir aqui também serão utilizadas se nenhuma conta " +"puder ser combinada a uma chamada de entrada ou de saída." + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format msgid "Server returned \"%s\" (%d)" -msgstr "Servidor retornou \"" +msgstr "O Servidor retornou \"%s\" (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Protocolo" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Estado" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "Contas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "Contas Configuradas" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] " conta ativa" -msgstr[1] " conta ativa" +msgstr[0] "conta ativa" +msgstr[1] "conta ativa" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "Você não possui uma conta ativa" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Geral" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Use o catálogo de endereços do Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "Limite de download :" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "cartões" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "_Apresentar foto de contato caso disponível" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "Campos do catálogo de endereços do Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Trabalho" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Casa" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Celular" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Catálogos de endereços" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Selecione qual catálogo de endereços do Evolution deseja utilizar" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Nome" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Este assistente está finalizado." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." @@ -755,320 +796,325 @@ msgstr "" "Você pode a qualquer momento checar seu estado de registro ou modificar seus " "parâmetros de conta na janela Opções/Contas." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Apelido" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Servidor" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "Nome de usuário" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "Segurança: " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP rascunho-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Nenhum" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "Assistente de criação de contas do SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "Bem vindo ao assistente de criação de contas do SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "Este assistente de instalação irá lhe ajudar a configurar uma conta." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "Protocolos VoIP" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "Selecione um tipo de conta" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "Conta" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "Por favor, selecione uma das seguintes opções" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "Criar uma conta gratuita SIP/IAX2 em sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "Registrar uma conta SIP ou IAX2 existente" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "Configurações de conta SIP" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Por favor, preencha as informações a seguir" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Comunicações seguras com _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "Endereço de e-mail opcional" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "" "Este endereço de email será utilizado para enviar as mensagens de voz em sua " "caixa postal." -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_endereço de email" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "Configurações de conta IAX2" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "" "Você provavelmente precise habilitar isto se estiver por trás de um firewall." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "Ha_bilitar STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_Servidor STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "Registro de conta" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Parabéns!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Frequência" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Taxa de bits" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "Largura de banda" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "Plugin ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "Saída" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "Entrada" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "_Detecção de atividade de voz" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Ringtones" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "_Redução de ruído (Utilização de banda-estreita)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Gerenciador de Som" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Configurações do ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codecs" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Gravações" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "Pasta de destino" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "Selecione uma pasta" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "Ringtones" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "_Habilitar ringtones" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "Escolha um ringtone" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "Arquivos de Áudio" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Configurações da conta" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Argumento da URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "Comandos padrões de ligações recebidas com URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s será substituído pela URL fornecida." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Gancho em um cabeçalho _SIP específico" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Gancho em uma URL _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "Comando a _executar" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "Reescrevendo número do telefone" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "_Prefixo de números discados com" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" -"Este perfil é utilizado quando você deseja alcançar um ponto remoto " -"simplesmente digitando um URI sip como <b>sip:remotepeer</b>. As " -"configurações que você definir aqui também serão utilizadas se nenhuma conta " -"puder ser combinada a uma chamada de entrada ou de saída." - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "Notificações de Desktop" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "_Habilitar notificações" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "Ícone da bandeja do sistema" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "_Popup na janela principal ao receber ligação" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "Nu_nca apresentar popup na janela principal" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "Esconder o SFLphone na _inicialização" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "Histórico de Chamadas" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "_Manter meu histórico por pelo ao menos" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "dias" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "Preferências" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "Áudio" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Catálogo de endereços" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "Ganchos" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" -msgstr "Ligações IP diretas" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "Atalhos" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" +"Tenha cuidado: estes atalhos podem predominar sobre atalhos definidos " +"globalmente." + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "Opções avançadas para o TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Transporte TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1083,143 +1129,125 @@ msgstr "" "funcionar em uma\n" "porta dedicada, uma diferente da outra\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "Certificado da lista de Autoridades" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "Escolha um arquivo de lista CA (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Arquivo certificado endpoint público" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "Escolha um certificado endpoint público (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "Escolha um arquivo de chave privada (opcional)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "Senha para a chave privada" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Método do protocolo TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Lista de cifras TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "Instância de nome do servidor para saída da conexão TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Tempo de negociação expirado (seg:mseg)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "Verificar os certificados de entrada, como um servidor" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "Verificar certificados de resposta, como um cliente" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Requer certificado para conexões tls entrantes" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "Opções ZRTP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "Enviar um Hash Olá no S_DP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "Pergunta ao Usuário para Confirmar SAS" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Alerta se o ZRTP não é suportado" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "Apresenta o SAS uma vez para realizar eventos" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Opções do SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Buscar todos" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "Clique aqui para alterar o tipo de pesquisa" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "Buscar por ligações perdidas" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "Buscar por ligações recebidas" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "Buscar por ligações feitas" -#~ msgid "IP call - %s" -#~ msgstr "Ligação IP - %s" - -#~ msgid "Codec" -#~ msgstr "Codec" - -#~ msgid "Network" -#~ msgstr "Rede" - -#~ msgid "Manually" -#~ msgstr "Manualmente" - -#~ msgid "There " -#~ msgstr "Ali " - -#~ msgid "is " -#~ msgstr "está " +#~ msgid "_Voice Activity Detection" +#~ msgstr "_Detecção de atividade de voz" -#~ msgid "are " -#~ msgstr "estão " - -#~ msgid "s" -#~ msgstr "s" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "_Silenciar outras aplicações durante uma ligação" - -#~ msgid "SIP Port" -#~ msgstr "Porta SIP" - -#~ msgid "UDP Transport" -#~ msgstr "Transporte UDP" - -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Habilitar _notificações de correio de voz" - -#~ msgid "Store SIP credentials as MD5 hash" -#~ msgstr "Armazenar as credenciais SIP como hash MD5" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "_Redução de ruído (Utilização de banda-estreita)" #~ msgid "Stun Server" #~ msgstr "Servidor STUN" +#~ msgid "Codec" +#~ msgstr "Codec" + #~ msgid "(C) 2009 Savoir-faire Linux" #~ msgstr "(C) 2009 Savoir-faire Linux" @@ -1247,9 +1275,6 @@ msgstr "Buscar por ligações feitas" #~ msgid "Apply" #~ msgstr "Aplicar" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "Add" #~ msgstr "Adicionar" @@ -1274,6 +1299,9 @@ msgstr "Buscar por ligações feitas" #~ msgid "Enable notifications" #~ msgstr "Habilitar notificações" +#~ msgid "SIP Port" +#~ msgstr "Porta SIP" + #~ msgid "NAT Traversal" #~ msgstr "NAT Traversal" @@ -1458,6 +1486,20 @@ msgstr "Buscar por ligações feitas" #~ msgid "Prefix dialed numbers with" #~ msgstr "Números discado com o prefixo" +#~ msgid "IP call - %s" +#~ msgstr "Ligação IP - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Erro: Não foram encontrados codecs de áudio.\n" +#~ "\n" +#~ "</b> Os codecs de áudio do SFL tem de ser movidos para o diretório <i>%s</" +#~ "i> ou para o diretório <b>.sflphone</b> em seu home( <i>%s</i> )" + #~ msgid "_Account creation wizard" #~ msgstr "_Assistante de criação de conta" @@ -1482,19 +1524,58 @@ msgstr "Buscar por ligações feitas" #~ "Pressionando \"aplicar\" a camada de rede será reiniciada. De outra forma " #~ "o SFKPhone teria que ser reiniciado." +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Habilitar _notificações de correio de voz" + #~ msgid "PulseAudio sound server" #~ msgstr "Servidor de som PulseAudio" +#~ msgid "_Mute other applications during a call" +#~ msgstr "_Silenciar outras aplicações durante uma ligação" + +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "%i conta configurada" +#~ msgstr[1] "%i contas configuradas" + +#~ msgid "Manually" +#~ msgstr "Manualmente" + +#~ msgid "There " +#~ msgstr "Ali " + +#~ msgid "are " +#~ msgstr "estão " + +#~ msgid "is " +#~ msgstr "está " + +#~ msgid "s" +#~ msgstr "s" + +#~ msgid "UDP Transport" +#~ msgstr "Transporte UDP" + +#~ msgid "Store SIP credentials as MD5 hash" +#~ msgstr "Armazenar as credenciais SIP como hash MD5" + +#~ msgid "Direct IP calls" +#~ msgstr "Ligações IP diretas" + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" #~ ",Launchpad Contributions:,Maxime Chambreuil,kalib, ,Launchpad " #~ "Contributions:,Maxime Chambreuil,kalib, ,Launchpad Contributions:,Maxime " -#~ "Chambreuil,kalib, ,Launchpad Contributions:,Maxime Chambreuil,kalib" +#~ "Chambreuil,kalib, ,Launchpad Contributions:,Maxime Chambreuil,kalib, ," +#~ "Launchpad Contributions:,André Gondim,Gustavo Guidorizzi,Maxime " +#~ "Chambreuil,Ricardo Martins,Thaynã Moretti,kalib" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ ",,maxime.chambreuil@gmail.com,kalibslack@gmail.com,,,maxime." #~ "chambreuil@gmail.com,kalibslack@gmail.com,,,maxime.chambreuil@gmail.com," -#~ "kalibslack@gmail.com,,,maxime.chambreuil@gmail.com,kalibslack@gmail.com" +#~ "kalibslack@gmail.com,,,maxime.chambreuil@gmail.com,kalibslack@gmail.com,,," +#~ "andregondim@ubuntu.com,,maxime.chambreuil@gmail.com,ricardo.macedo@yahoo." +#~ "com.br,,kalibslack@gmail.com" diff --git a/sflphone-client-gnome/po/ru/ru.po b/sflphone-client-gnome/po/ru/ru.po index 14b3aa5dd8b52a0d5e0d4baafc1ee6278b5fe18f..ddb79013273d8850c7265b9bb4f3169a6fc0c2b4 100644 --- a/sflphone-client-gnome/po/ru/ru.po +++ b/sflphone-client-gnome/po/ru/ru.po @@ -7,114 +7,122 @@ msgid "" msgstr "" "Project-Id-Version: SFLphone 0.9.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-12-08 20:46+0000\n" -"Last-Translator: Hussein Abdallah <hussein.abdallah@savoirfairelinux.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-05-11 07:48+0000\n" +"Last-Translator: DMG <Unknown>\n" "Language-Team: Savoir-Faire Linux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%" "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: \n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" +"X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "Зарегистрирован" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "Не зарегистрирован" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." -msgstr "Подключение..." +msgstr "Пытаюсь..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "Ошибка" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "Аутентификация не удалась" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "Сеть недоступна" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" -msgstr "Узел сети недоступен" +msgstr "Узел недоступен" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Ошибка конфигурации Stun" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Неверный сервер Stun" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "Готово" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" -msgstr "Ошибка" +msgstr "Неверный" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" -msgstr "Используется учетная запись" +msgstr "Использовать аккаунт" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" -msgstr "Нет зарегистрированных учëтных записей" +msgstr "У вас нет зарегистрированных аккаунтов" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." msgstr "" "Невозможно подключиться к SFLphone-серверу.\n" -"Проверьте если демон работает." +"Убедитесь что он работает." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "Прямые IP-звонки" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" -msgstr "" -"<b>Ошибка: звуковые кодеки не найдены.\n" -"\n" -"</b> Звуковые кодеки SFL должны находиться в <i>%s</i> или в <b>.sflphone</" -"b> каталоге в вашем домашнем каталоге( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "сегодня в %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "вчера в %R" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "%A в %R" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" +msgstr "%x в %R" + +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" "Error while opening playback device" msgstr "" -"<b>ALSA-nпредупреждение</b>\n" +"<b>Предупреждение ALSA</b>\n" "\n" -"Ошибка во время активирования устройства проигрывания" +"Ошибка при попытке открытия устройства воспроизведения звука" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" "Error while opening capture device" msgstr "" -"<b>ALSA-nпредупреждение</b>\n" +"<b>Предупреждение ALSA</b>\n" "\n" -"Ошибка во время активирования устройства входа" +"Ошибка при попытке открытия устройства захвата звука" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -122,86 +130,87 @@ msgid "" msgstr "" "<b>Предупреждение Pulseaudio</b>\n" "\n" -"Pulseaudio не работает" +"Pulseaudio не запущен" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." -msgstr "Один текущий разговор." +msgstr "Звонок ещё не окончен." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." -msgstr "Несколько текущих разговоров." +msgstr "Несколько звонков ещё не окончены." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "Вы уверенны что хотите выйти?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "Ошибка SFLphone." -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "ZRTP не поддерживается устройством %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" -msgstr "Зашифрованная связь недоступна" +msgstr "Зашифрованная связь недоступна." -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "Продолжить" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" -msgstr "Закончить звонок" +msgstr "Завершить вызов" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -"Из-за ошибки %s переговор с %s перейдëт в не зашифрованный режим.\n" +"Из-за возникновения ошибки %s разговор с %s перейдëт в не зашифрованный " +"режим.\n" "Точная причина: %s\n" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "Неудачный обмен информации ZRTP" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -"%s хочет остановить зашифрованную связь. В случае подтверждения переговор " -"продолжится без SRTP.\n" +"%s хочет отказаться от использования зашифрованной связи. В случае " +"подтверждения разговор продолжится без SRTP.\n" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "Подтвердить переход на незашифрованную связь" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "Подтвердить" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s аккаунт: %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>От:</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" @@ -209,866 +218,906 @@ msgstr[0] "%d голосовое письмо" msgstr[1] "%d голосовые письма" msgstr[2] "%d голосовые письма" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" -msgstr "Звонок с учëтной записью %s <i>%s</i>" +msgstr "Вызов %s с помощью аккаунта <i>%s</i>" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" -msgstr "Нынешняя учëтная запись" +msgstr "Текущий аккаунт" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" -msgstr "Вы не настроили ни одной учëтной записи" +msgstr "У вас нет настроенных аккаунтов" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" -msgstr "У вас нет зарегистрированных учëтных записей" +msgstr "У вас нет зарегистрированных аккаунтов" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -"<i>с</i> %s\n" +"<i>с:</i> %s\n" "используя %s" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s не поддерживает ZRTP." -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "Обмен информации ZRTP не удался (%s)" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "<i>с</i> %s" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "Громкость" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" -msgstr "Громкость микрофона" +msgstr "Чувствительность микрофона" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "_Показать главное окно" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "_Положить трубку" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "Настроена одна учëтная запись" -msgstr[1] "Настроены %i учëтные записи" -msgstr[2] "Настроены %i учëтные записи" - -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "%i активный аккаунт" +msgstr[1] "%i активных аккаунтов" +msgstr[2] "%i active accounts" + +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" -msgstr "Автоответчик" +msgstr "Голосовая почта" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" -msgstr "Нет выбранных адресных книг" +msgstr "Адресная книга не выбрана" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "Адресная книга" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" -msgstr "Автоответчик (%i)" +msgstr "Голосовая почта (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone - SIP и IAX2-совместимый VoIP-клиент" -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" -msgstr "О SFLphone" +msgstr "О программе SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" -msgstr "_Звонок" +msgstr "_Вызов" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" -msgstr "_Новый звонок" +msgstr "_Новый вызов" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" -msgstr "Позвонить" +msgstr "Сделать новый вызов" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "_Взять трубку" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" -msgstr "Ответить" - -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "_Положить трубку" +msgstr "Ответить на вызов" -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" -msgstr "Закончить звонок" +msgstr "Завершить вызов" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" -msgstr "_Удержать звонок" +msgstr "_Удерживать вызов" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" -msgstr "Удержать звонок" +msgstr "Поставить вызов на удержание" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" -msgstr "_Возобновить разговор" +msgstr "_Снять вызов с удержания" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" -msgstr "Возобновить разговор" +msgstr "Поставить вызов на удержание" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "Записать" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "Записать переговор" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "Мастер настройки" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Запустить мастер настройки" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" -msgstr "%d голосовое письмо" +msgstr "Прослушивание голосовой почты" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "_Закрыть" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" -msgstr "Уменьшить в значок" +msgstr "Свернуть в трей" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "_Правка" +msgstr "В_ыход" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "Выйти из программы" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "_Правка" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "_Копировать" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" -msgstr "Копировать видимое" +msgstr "Копировать выделенное" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" -msgstr "_Вставить" +msgstr "В_ставить" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "Вставить из буфера обмена" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" -msgstr "_Стереть журнал" +msgstr "Очистить журнал" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" -msgstr "Очистить историю" +msgstr "Очистить журнал вызовов" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" -msgstr "_Учëтные записи" +msgstr "_Аккаунты" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" -msgstr "Изменить ваши учëтные записи" +msgstr "Нстройка аккаунта" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" -msgstr "_Предпочтения" +msgstr "_Настройки" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "Изменить ваши предпочтении" +msgstr "Изменить ваши настройки" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "_Вид" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "_Помощь" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" -msgstr "Продолжить" +msgstr "Содержание" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" -msgstr "Открыть справочник " +msgstr "Открыть руководство пользователя" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" -msgstr "Идентификация" +msgstr "О программе" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" -msgstr "Переслать звонок на другой номер" +msgstr "Переадресация вызова" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "Переслать звонок на другой номер" +msgstr "Переадресовать вызов" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "_Запись" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "Записать текущий разговор" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" -msgstr "Показать панель инструментов" +msgstr "Показать _панель инструментов" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" -msgstr "Показать панель инструментов" +msgstr "Показывать панель инструментов" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" -msgstr "Панель набора номера" +msgstr "_Номеронабиратель" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" -msgstr "Показать панель набора номера" +msgstr "Показывать _номеронабиратель" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" -msgstr "_Настройки громкости" +msgstr "Настройки _громкости" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" -msgstr "_Настройки громкости" +msgstr "Показывать настройки _громкости" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" -msgstr "Журнал" +msgstr "Журнал вызовов" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" -msgstr "Журнал звонков" +msgstr "История вызовов" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "Адресная книга" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" -msgstr "_Удержать звонок" +msgstr "_Удерживать звонок" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" -msgstr "_Перезвонить" +msgstr "Обратный вызов" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" -msgstr "Мобильный телефон" +msgstr "Изменить номер телефона" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" -msgstr "Изменить номер телефона перед звонком" +msgstr "Изменить номер телефона перед вызовом" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "Параметры учетной записи" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "_Псевдоним" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "Пр_отокол" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "Неизвестный" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "Имя или IP-адрес _сервера" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" -msgstr "Имя или _номер пользователя" +msgstr "Имя пользователя" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "Па_роль" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "Показать пароль" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" -msgstr "Номер _автоответчика #" +msgstr "Номер _голосовой почты" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "_Агент-пользователя" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" -msgstr "Идентификация" +msgstr "Аутентификация" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" -msgstr "Секретный" +msgstr "Пароль" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "Параметры доступа" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "Имя для аутентификации" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "Пароль" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "Безопасность" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" -msgstr "Использовать TLS-транспорт (sips)" +msgstr "Использовать протокол TLS" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" -msgstr "Обмена ключей SRTP" +msgstr "Обмен ключами SRTP" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "Отключен" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "Регистрация" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" -msgstr "Срок истечения регистрации" +msgstr "Истек срок регистрации" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "_Соотвествует RFC 3263" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" -msgstr "Сетевые настройки" +msgstr "Сетевой интерфейс" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "Локальный адрес" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "Локальный порт" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" -msgstr "Сетевые настройки для Интернета" +msgstr "Публичный адрес" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" -msgstr "Использует STUN " +msgstr "Использовать STUN" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "URL STUN-сервера" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "Использовать локальный адрес и порт" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" -msgstr "Настроить видимый адрес и порт :" +msgstr "Настроить публичный адрес и порт:" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "Публичный порт" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Кодеки" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "DTMF" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "RTP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" -msgstr "Настройки учëтной записи" +msgstr "Настройки аккаунта" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "Основные" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" -msgstr "Дополнительные" +msgstr "Дополнительно" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "Сеть" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" +"Эти настройки используется, когда вы хотите совершить вызов просто набрав " +"SIP URI-адрес вида <b>sip:удалëнное устройство</b>. Эти настройки так-же " +"будут использованы если не будет подходящего аккаунта для входящего или " +"исходящего вызова." + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 +#, c-format msgid "Server returned \"%s\" (%d)" -msgstr "Сервер ответил \"" +msgstr "Ответ сервера \"%s\" (%d)" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "Протокол" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "Статус" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" -msgstr "Учётные записи" +msgstr "Аккаунты" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" -msgstr "Настроенные учëтные записи" +msgstr "Настройка аккаунтов" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 +#, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" -msgstr[0] "Одна действующая учëтная запись" -msgstr[1] "%d действующих учëтных записей" -msgstr[2] "%d действующих учëтных записей" +msgstr[0] "%d активный аккаунт" +msgstr[1] "%d активных аккаунтов" +msgstr[2] "действующий аккаунт" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" -msgstr "У вас нет активной учëтной записи" +msgstr "У вас нет активного аккаунта" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "Общие настройки" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "_Использовать адресную книгу Evolution" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" -msgstr "Показывать не более " +msgstr "Ограничение скорости скачивания:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "карточек" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "_Показать фотографию контакта (если имеется):" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" -msgstr "Исполоьзовать следующие номера из адресной книги Evolution" +msgstr "Использовать следующие поля из адресной книги Evolution:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "_Рабочий" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "_Домашний" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "_Мобильный" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "Адресная книга" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "Выбрать адресную книгу Evolution:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "Имя" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "Мастер закончил настройку." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "" "Вы можете в любое время проверить статус регистрации или изменить параметры " -"ваших учëтных записей в меню Правка / Учëтные записи" +"ваших аккаунтов в меню Правка / Аккаунты." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "Псевдоним" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "Сервер" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" -msgstr "Пользователь" +msgstr "Имя пользователя" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " -msgstr "Безопасность:" +msgstr "Безопасность " -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "SRTP/ZRTP draft-zimmermann" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "Нет" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" -msgstr "Мастер настройки SFLphone" +msgstr "Мастер создания аккаунта SFLphone" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" -msgstr "Добро пожаловать в SFLphone!" +msgstr "Добро пожаловать в мастер создания аккаунта SFLphone!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." -msgstr "Этот мастер установки поможет вам настроить вашу учëтную запись" +msgstr "Этот мастер установки поможет вам настроить ваш аккаунт." -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP-протоколы" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" -msgstr "Выберите тип учëтной записи" +msgstr "Выберите тип аккаунта" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP (Session Initiation Protocol)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2 (InterAsterix Exchange)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" -msgstr "Учëтная запись" +msgstr "Аккаунт" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" -msgstr "Введите пожалуйста следующие данные" +msgstr "Выберите одну из следующих возможностей" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" -msgstr "Создать бесплатную SIP/IAX2-учëтную запись на sflphone.org" +msgstr "Создать бесплатный SIP/IAX2-аккаунт на sflphone.org" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" -msgstr "Зарегистрировать существующею SIP или IAX2 учëтную запись" +msgstr "Использовать существующий SIP или IAX2 аккаунт" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" -msgstr "Настройка учëтной записи SIP" +msgstr "Настройка SIP-аккаунта" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "Введите пожалуйста следующие данные" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "Защищëнная связь с _ZRTP" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" -msgstr "Электронный адрес (необязательный)" +msgstr "e-mail" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." -msgstr "Этот электронный адрес будет использоваться для речевых сообщений" +msgstr "" +"Этот электронный адрес будет использоваться для отправки сообщений голосовой " +"почты" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "_Адрес эл. почты" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" -msgstr "Настройка учëтной записи IAX2" +msgstr "Настройка IAX2-аккаунта" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "Network Address Translation (NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." -msgstr "Вы наверное должны это включить если вы находитесь за сетевым экраном." +msgstr "" +"Возможно нужно выбрать эту опцию если вы находитесь за сетевым экраном." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "Включить STUN" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "_STUN-сервер" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" -msgstr "Регистрация учëтной записи" +msgstr "Регистрация аккаунта" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "Поздравляем!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "Частота" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "Битрейт" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" -msgstr "Пропускная способность" +msgstr "Полоса пропускания" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA-плагин" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" -msgstr "Выход" +msgstr "Аудиовыход" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" -msgstr "Вход" +msgstr "Аудиовход" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "Включить детектор тишины" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "Рингтоны" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "Шумоподавление" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" + +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +msgid "_Noise Reduction" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "Менеджер звука" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "_Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "_ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "Настройка ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Кодеки" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "Записи" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" -msgstr "Папка назначения" +msgstr "Сохранять в" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" -msgstr "Выберите папку" +msgstr "Выберите каталог" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" -msgstr "Звонки" +msgstr "Рингтоны" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" -msgstr "Включить звонок" +msgstr "Включить рингтон" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" -msgstr "Выберите звонок" +msgstr "Выберать рингтон" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" -msgstr "Звуковые файлы" +msgstr "Аудио файлы" + +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "Настройки аккаунта" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "Передача URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" -msgstr "Пользовательские команды при входящих вызовах с URL" +msgstr "Пользовательская команда при входящих вызовах с URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "%s будет заменена на переданную URL" -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "Запустить при определëнном SIP-заголовке" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "Запустить при наличии URL _IAX2" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "_Выполнить команду:" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" -msgstr "Переписка номера телефона" +msgstr "Префикс" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" -msgstr "Добавить перед на набранными номерами" +msgstr "Добавить префикс перед номером" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" -"Этот профиль используется когда вы хотите достичь удалëнное устройство " -"просто набрав SIP URI (адрес) типа <b>sip:удалëнное устройство</b>. Эти " -"настройки так-же будут использованы если не будет подходящего аккаунта для " -"входящего или выходящего звонка." - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" -msgstr "Извещения на рабочем столе" +msgstr "Всплывающие уведомления" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" -msgstr "Включить звонок" +msgstr "Показывать всплывающие уведомления" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" -msgstr "Поведение окна SFLPhone" +msgstr "Значок в системном трее" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "Показывать SFLphone в системном трее" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" -msgstr "_Показать главное окно при входящем звонке" +msgstr "_Показать главное окно при входящем вызове" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" -msgstr "Никогда не показывать главное окно" +msgstr "_Никогда не показывать главное окно" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" -msgstr "Спрятать окно SFLphone при пуске" +msgstr "Скрывать SFLphone при запуске в трей" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" -msgstr "Журнал звонков" +msgstr "Журнал вызовов" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" -msgstr "Со_хранить мой журнал звонков как минимум в течении" +msgstr "_Хранить журнал вызовов в течении" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "дней" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" -msgstr "Предпочтения" +msgstr "Настройка" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" -msgstr "Звук" +msgstr "Аудио" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "Адресная книга" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" -msgstr "Зацепки" +msgstr "Прочее" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" -msgstr "Прямые IP-звонки" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "Горячие клавиши" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "ВНИМАНИЕ: эти комбинации могут заменить системные комбинации клавиш" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" -msgstr "Дополнительные опции для TLS" +msgstr "Дополнительные настройки для TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "Транспорт TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1081,139 +1130,118 @@ msgstr "" "каждого аккаунта (но каждый из них будет использовать свой выделенный " "порт).\n" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "Global TLS listener (для всех аккаунтов)" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" -msgstr "Список центра сертификации" +msgstr "Список центров сертификации" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" -msgstr "Выберите файл Центра сертификации (необязательный)" +msgstr "Выберите файл Центра сертификации (необязательно)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "Файл с публичным сертификатом" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" -msgstr "Выберите публичный сертификат (необязательный)" +msgstr "Выберите публичный сертификат (необязательно)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" -msgstr "Выберите файл с секретным ключом (необязательно)" +msgstr "Выберите файл с приватным ключом (необязательно)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" -msgstr "Пароль для секретного ключа" +msgstr "Пароль для приватного ключа" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "Метод протокола TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "Список шифров TLS" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" -msgstr "Имя сервера для выходящих TLS-подключений." +msgstr "Имя сервера для исходящих TLS-подключений" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "Время ожидания соединения (сек:мсек)" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" -msgstr "Проверять входящие сертификаты (в качестве сервера)" +msgstr "Проверять входящие сертификаты как сервер" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" -msgstr "Проверять входящие сертификаты (в качестве клиента)" +msgstr "Проверять входящие сертификаты как клиент" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "Требовать сертификат для входящих TLS-подключений" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "Опции ZRTP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "Послать hello-хэш в S_DP" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "Попросить пользователя подтвердить пароль SAS" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "_Предупредить если ZRTP не пддерживается" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "Показать SAS один раз" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "Настройка SDES" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "Использовать RTP при сбое SDES" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "Искать все" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" -msgstr "Нажмите, чтобы изменить тип поиска" +msgstr "Нажмите сюда, чтобы изменить тип поиска" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" -msgstr "Поиск по пропущенным вызовам" +msgstr "Поиск в пропущенных вызовах" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" -msgstr "Поиск по входящим вызовам" +msgstr "Поиск в входящих вызовах" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" -msgstr "Поиск по исходящим вызовам" - -#~ msgid "IP call - %s" -#~ msgstr "IP звонок - %s" - -#~ msgid "Codec" -#~ msgstr "Codec" - -#~ msgid "Network" -#~ msgstr "Сеть" - -#~ msgid "Manually" -#~ msgstr "Вручную" +msgstr "Поиск в исходящих вызовах" -#~ msgid "There " -#~ msgstr "Здесь " - -#~ msgid "is " -#~ msgstr "Зарегестрирован " - -#~ msgid "are " -#~ msgstr "Зарегестрированны " - -#~ msgid "s" -#~ msgstr "a" +#~ msgid "_Voice Activity Detection" +#~ msgstr "Детектор тишины (VAD)" -#~ msgid "_Mute other applications during a call" -#~ msgstr "Приглушать звук других програм во время звонка" - -#~ msgid "SIP Port" -#~ msgstr "SIP-порт" - -#~ msgid "UDP Transport" -#~ msgstr "Транспорт UDP" - -#~ msgid "Enable voicemail _notifications" -#~ msgstr "Включить предупреждения о речевых сообщениях" - -#~ msgid "Store SIP credentials as MD5 hash" -#~ msgstr "Записать параметры доступа SIP с шифровкой MD5." +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "Шумоподавление" #~ msgid "Account creation wizard" #~ msgstr "Мастер настройки SFLphone" @@ -1221,6 +1249,9 @@ msgstr "Поиск по исходящим вызовам" #~ msgid "Voicemail number" #~ msgstr "Номер автоответчика #" +#~ msgid "Codec" +#~ msgstr "Codec" + #~ msgid "Display volume controls" #~ msgstr "_Настройки громкости" @@ -1266,21 +1297,44 @@ msgstr "Поиск по исходящим вызовам" #~ msgid "Sound manager" #~ msgstr "Менеджер звука" +#~ msgid "SIP Port" +#~ msgstr "SIP-порт" + #~ msgid "Command to run" #~ msgstr "Выполнить команду:" #~ msgid "Prefix dialed numbers with" #~ msgstr "Добавить перед на набранными номерами" +#~ msgid "IP call - %s" +#~ msgstr "IP звонок - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>Ошибка: звуковые кодеки не найдены.\n" +#~ "\n" +#~ "</b> Звуковые кодеки SFL должны находиться в <i>%s</i> или в <b>." +#~ "sflphone</b> каталоге в вашем домашнем каталоге( <i>%s</i> )" + #~ msgid "_Account creation wizard" #~ msgstr "Мастер настройки SFLphone" #~ msgid "_Enable this account" #~ msgstr "_Включить" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "Включить предупреждения о речевых сообщениях" + #~ msgid "PulseAudio sound server" #~ msgstr "Сервер звука PulseAudio" +#~ msgid "_Mute other applications during a call" +#~ msgstr "Приглушать звук других програм во время звонка" + #~ msgid "Port" #~ msgstr "Порт" @@ -1444,9 +1498,6 @@ msgstr "Поиск по исходящим вызовам" #~ msgid "IAX" #~ msgstr "IAX" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "PulseAudio" #~ msgstr "PulseAudio" @@ -1456,6 +1507,27 @@ msgstr "Поиск по исходящим вызовам" #~ msgid "Enable notifications" #~ msgstr "Включить уведомления" +#~ msgid "Manually" +#~ msgstr "Вручную" + +#~ msgid "UDP Transport" +#~ msgstr "Транспорт UDP" + +#~ msgid "There " +#~ msgstr "Здесь " + +#~ msgid "Store SIP credentials as MD5 hash" +#~ msgstr "Записать параметры доступа SIP с шифровкой MD5." + +#~ msgid "s" +#~ msgstr "a" + +#~ msgid "are " +#~ msgstr "Зарегестрированны " + +#~ msgid "is " +#~ msgstr "Зарегестрирован " + #~ msgctxt "NAME OF TRANSLATORS" #~ msgid "Your names" #~ msgstr "" @@ -1464,11 +1536,14 @@ msgstr "Поиск по исходящим вызовам" #~ "Sergei Sedov, ,Launchpad Contributions:,Emmanuel Milou,Hussein Abdallah," #~ "Hussein Abdallah,Maxime Chambreuil,Pavlo Kucheriavyi,Sergei Sedov, ," #~ "Launchpad Contributions:,Emmanuel Milou,Hussein Abdallah,Hussein Abdallah," -#~ "Maxime Chambreuil,Pavlo Kucheriavyi,Sergey Sedov" +#~ "Maxime Chambreuil,Pavlo Kucheriavyi,Sergey Sedov, ,Launchpad " +#~ "Contributions:,DMG,Emmanuel Milou,Hussein Abdallah,Hussein Abdallah," +#~ "Lortonix,Maxime Chambreuil,Pavlo Kucheriavyi,Sergey Sedov" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ ",,,,,emmanuel.milou@savoirfairelinux.com,,maxime.chambreuil@gmail.com,,,,," #~ "emmanuel.milou@savoirfairelinux.com,,,maxime.chambreuil@gmail.com,,,,," -#~ "emmanuel.milou@savoirfairelinux.com,,,maxime.chambreuil@gmail.com,," +#~ "emmanuel.milou@savoirfairelinux.com,,,maxime.chambreuil@gmail.com,,,,,," +#~ "emmanuel.milou@savoirfairelinux.com,,,,maxime.chambreuil@gmail.com,," diff --git a/sflphone-client-gnome/po/zh_CN/zh_CN.po b/sflphone-client-gnome/po/zh_CN/zh_CN.po index bfc3429d51dec35ea9728985f2d0967e8ad86bd1..d2df50e47aeea11bd0d72b693039d1efb8078619 100644 --- a/sflphone-client-gnome/po/zh_CN/zh_CN.po +++ b/sflphone-client-gnome/po/zh_CN/zh_CN.po @@ -8,68 +8,72 @@ msgid "" msgstr "" "Project-Id-Version: SFLphone 0.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" -"Last-Translator: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2010-02-28 01:32+0000\n" +"Last-Translator: YunQiang Su <wzssyqa@gmail.com>\n" "Language-Team: SavoirFaireLinux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "已注册" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "未注册" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "正在连接..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "注册失败" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "认证失败" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "网络连接失败" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "服务器连接失败" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Stun配置有误" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Stun服务器无效" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "无效" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "使用账户" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "没有已注册帐户" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -77,25 +81,28 @@ msgstr "" "连接SFLphone服务器失败.\n" "请检查daemon是否还在运行." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" msgstr "" -"<b>错误:无法找到codecs编码文件.\n" -"\n" -"</b> SFL声音codecs文件应位于<i>%s</i> 或 位于主目录( <i>%s</i> )的<b>." -"sflphone</b>目录下" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -105,7 +112,7 @@ msgstr "" "\n" "打开回放设备时出错" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -115,7 +122,7 @@ msgstr "" "\n" "打开采集设备时出错" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -125,935 +132,973 @@ msgstr "" "\n" "Pulseaudio未运行" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "有一个电话正在处理" -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "有电话正在处理中" -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "确认要退出?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphone出错" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "安全通信不可用" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "继续" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "停止呼叫" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "确认" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s 帐户: %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>拨入方</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d 个语音信息" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "使用%s帐户<i>%s</i>呼叫" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "当前帐户" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "你没有设置任何账户" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "未发现已注册帐户" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "%s 不支持 ZRTP。" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "扬声器音量" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "话筒音量" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "显示主窗口(S)" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "挂断(_H)" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "已配置了%i个账户" +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "语音信箱" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "语音信箱 (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone是一个VoIP客户端,它兼容SIP和IAX2协议." -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "关于SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "电话(_C)" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "新电话(_N)" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "接听(_P)" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "挂断(_H)" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "保持(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "恢复通话" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "录音(_R)" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Stun配置有误" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d 个语音信息" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" -msgstr "编辑(_E)" +msgstr "退出(_Q)" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "编辑(_E)" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "删除所选账户" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "清空历史记录(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "清空历史记录" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "账户(_A)" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "当前帐户" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" -msgstr "首选项" +msgstr "首选项(_P)" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" -msgstr "" +msgstr "更改您的首选项" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "查看(_V)" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "帮助(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "继续" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "身份验证" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "转接" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "转给: " +msgstr "转给:" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "录音(_R)" + +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "禁用" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "音量控制(V)" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "音量控制(V)" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "历史" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "呼叫记录" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "保持(_H)" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "回叫(_C)" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "编辑电话号码" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "拨出电话前编辑电话号码" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "帐户相关参数" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "别名(A)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "协议(P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "未知" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "主机名(H)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "用户名(U)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "密码(P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "密码" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "语音信箱号码(V)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "身份验证" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "密码" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "安全" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "禁用" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "注册" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "网络连接失败" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "Codecs编码" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "帐户设置" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "网络" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "协议" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "状态" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "帐户" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "已配置帐户" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" +msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "常用配置" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "使用Evolution地址薄(U)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "下载上限:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "卡" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "如果可行则显示联系人照片(D)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "使用Evolution地址薄中的如下字段:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "单位电话(W)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "家庭电话(H)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "移动电话(M)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "地址簿" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "选择使用如下Evolution地址薄" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "名称" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "配置完成." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "你可以随时在 选项/帐户 窗口中查看注册状态或者修改帐户参数." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "别名" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "服务器" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "用户名" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLphone账户创建向导" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "欢迎使用SFLphone帐户创建向导!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "安装向导将帮助您配置帐户" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP协议" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "选择帐户类型" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP(会话初始化协议)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2(Asterisk内部交换协议)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "帐户" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "请选择以下选项中的一个" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "在sflphone.org上创建免费的SIP/IAX2帐户" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "注册已存在的SIP或IAX2帐户" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "SIP帐户设置" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "请填写以下信息" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "可选邮件地址" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "这个邮件地址将被用来发送您的语音邮箱消息" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "邮件地址(E)" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "IAX2帐户设置" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "网络地址解析(NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "如果你使用网络使用防火墙,你很有可能需要设定此项." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "使用STUN(n)" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "STUN服务器(S)" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "帐户注册" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "恭喜!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "频率" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "比率" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "带宽" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA插件" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "输出" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "输入" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "声音状态检测(V)" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "铃声" + +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "降噪处理-窄频压缩(N)" +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +#, fuzzy +msgid "_Noise Reduction" +msgstr "降噪" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "音频管理器" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA设置" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "Codecs编码" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "记录" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "目标文件夹" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "选择文件夹" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "铃声" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "启用铃声(E)" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "选择铃声" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "音频文件" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "帐户设置" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "URL参数" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "定制对带有URL的来电的处理" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "传输的URL会被替换成%s." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "激活指定的SIP头(S)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "激活IAX2 URL(I)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "运行命令(r)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "重设电话号码" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "号码前缀(P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "桌面提示" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "启用提示(E)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "系统托盘图标" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "来电时弹出主窗口(P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "从不弹出主窗口(v)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "在启动时隐藏SFLphone主窗口" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "拨号历史" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "首选项" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "钩键" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" +msgstr "" + +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1062,118 +1107,118 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "查询所有" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "请点击此处改变查询方式" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "从未接电话中查询" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "从来电中查询" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "从拨出电话中查询" -#~ msgid "IP call - %s" -#~ msgstr "IP 电话 - %s" - -#~ msgid "Codec" -#~ msgstr "编码" - -#~ msgid "Network" -#~ msgstr "网络" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "当有来电时静音其它应用程序(c)" - -#~ msgid "SIP Port" -#~ msgstr "SIP端口号" +#~ msgid "_Voice Activity Detection" +#~ msgstr "声音状态检测(V)" -#~ msgid "Enable voicemail _notifications" -#~ msgstr "启用语音邮箱提示(n)" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "降噪处理-窄频压缩(N)" #~ msgid "Account creation wizard" #~ msgstr "帐户创建向导" @@ -1195,6 +1240,9 @@ msgstr "从拨出电话中查询" #~ msgid "Default account" #~ msgstr "默认帐户" +#~ msgid "Codec" +#~ msgstr "编码" + #~ msgid "SFLphone KDE Client" #~ msgstr "SFLphone KDE客户端" @@ -1312,9 +1360,6 @@ msgstr "从拨出电话中查询" #~ msgid "Apply" #~ msgstr "应用" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "IAX" #~ msgstr "IAX" @@ -1381,6 +1426,9 @@ msgstr "从拨出电话中查询" #~ msgid "On start" #~ msgstr "正在启动" +#~ msgid "SIP Port" +#~ msgstr "SIP端口号" + #~ msgid "Trigger on specific SIP header" #~ msgstr "激活指定的SIP头" @@ -1396,12 +1444,36 @@ msgstr "从拨出电话中查询" #~ msgid "Attention:number of results exceeds max displayed." #~ msgstr "注意:结果超过可显示的最大值" +#~ msgid "IP call - %s" +#~ msgstr "IP 电话 - %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>错误:无法找到codecs编码文件.\n" +#~ "\n" +#~ "</b> SFL声音codecs文件应位于<i>%s</i> 或 位于主目录( <i>%s</i> )的<b>." +#~ "sflphone</b>目录下" + +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "已配置了%i个账户" + #~ msgid "_Enable this account" #~ msgstr "启用该账户(E)" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "启用语音邮箱提示(n)" + #~ msgid "PulseAudio sound server" #~ msgstr "PulseAudio服务器" +#~ msgid "_Mute other applications during a call" +#~ msgstr "当有来电时静音其它应用程序(c)" + #~ msgid "Port" #~ msgstr "端口" @@ -1678,9 +1750,6 @@ msgstr "从拨出电话中查询" #~ msgid "%s account- %s" #~ msgstr "%s 帐户- %s" -#~ msgid "Noise reduction" -#~ msgstr "降噪" - #~ msgid "_Destination folder" #~ msgstr "目标文件夹(D)" @@ -1702,7 +1771,8 @@ msgstr "从拨出电话中查询" #~ "Yun Liu, ,Launchpad Contributions:,Aron Xu,Yun Liu, ,Launchpad " #~ "Contributions:,Aron Xu,Yinghua Wang,Yun Liu,rainofchaos, ,Launchpad " #~ "Contributions:,Aron Xu,Yinghua Wang,Yun Liu,冯超, ,Launchpad " -#~ "Contributions:,Aron Xu,Emmanuel Milou,Yun Liu,冯超,王英华" +#~ "Contributions:,Aron Xu,Emmanuel Milou,Yun Liu,冯超,王英华, ,Launchpad " +#~ "Contributions:,Aron Xu,Emmanuel Milou,Yun Liu,YunQiang Su,冯超,英华" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" @@ -1710,4 +1780,5 @@ msgstr "从拨出电话中查询" #~ "yunliu2000@gmail.com,,,happyaron.xu@gmail.com,,,,happyaron.xu@gmail.com,,," #~ "rainofchaos@gmail.com,,,happyaron.xu@gmail.com,,,rainofchaos@gmail.com,,,," #~ "emmanuel.milou@savoirfairelinux.com,,rainofchaos@gmail.com," -#~ "wantinghard@gmail.com" +#~ "wantinghard@gmail.com,,,,emmanuel.milou@savoirfairelinux.com,," +#~ "wzssyqa@gmail.com,rainofchaos@gmail.com,wantinghard@gmail.com" diff --git a/sflphone-client-gnome/po/zh_HK/zh_HK.po b/sflphone-client-gnome/po/zh_HK/zh_HK.po index 0e4afca0c52ab6cb04c97d2e67f3c4fd39c9c273..ef06d0715a2e23900d35abddfeb11b9638e6740d 100644 --- a/sflphone-client-gnome/po/zh_HK/zh_HK.po +++ b/sflphone-client-gnome/po/zh_HK/zh_HK.po @@ -8,68 +8,72 @@ msgid "" msgstr "" "Project-Id-Version: SFLphone 0.9.2\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-12-03 10:22-0500\n" -"PO-Revision-Date: 2009-10-26 20:46+0000\n" +"POT-Creation-Date: 2010-06-17 14:22-0400\n" +"PO-Revision-Date: 2009-12-03 18:09+0000\n" "Last-Translator: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com>\n" "Language-Team: SavoirFaireLinux Inc <sflphoneteam@savoirfairelinux.com>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Launchpad-Export-Date: 2009-12-03 15:32+0000\n" +"X-Launchpad-Export-Date: 2010-06-17 18:12+0000\n" "X-Generator: Launchpad (build Unknown)\n" -#: ../sflphone-client-gnome/src/accountlist.c:175 +#: ../sflphone-client-gnome/src/accountlist.c:181 msgid "Registered" msgstr "已註冊" -#: ../sflphone-client-gnome/src/accountlist.c:178 +#: ../sflphone-client-gnome/src/accountlist.c:184 msgid "Not Registered" msgstr "未註冊" -#: ../sflphone-client-gnome/src/accountlist.c:181 +#: ../sflphone-client-gnome/src/accountlist.c:187 msgid "Trying..." msgstr "正在連接..." -#: ../sflphone-client-gnome/src/accountlist.c:184 -#: ../sflphone-client-gnome/src/sflnotify.c:131 -#: ../sflphone-client-gnome/src/sflnotify.c:148 +#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:142 +#: ../sflphone-client-gnome/src/sflnotify.c:159 msgid "Error" msgstr "註冊失敗" -#: ../sflphone-client-gnome/src/accountlist.c:187 +#: ../sflphone-client-gnome/src/accountlist.c:193 msgid "Authentication Failed" msgstr "" -#: ../sflphone-client-gnome/src/accountlist.c:190 +#: ../sflphone-client-gnome/src/accountlist.c:196 msgid "Network unreachable" msgstr "網路連線失敗" -#: ../sflphone-client-gnome/src/accountlist.c:193 +#: ../sflphone-client-gnome/src/accountlist.c:199 msgid "Host unreachable" msgstr "伺服器連線失敗" -#: ../sflphone-client-gnome/src/accountlist.c:196 +#: ../sflphone-client-gnome/src/accountlist.c:202 msgid "Stun configuration error" msgstr "Stun配置有誤" -#: ../sflphone-client-gnome/src/accountlist.c:199 +#: ../sflphone-client-gnome/src/accountlist.c:205 msgid "Stun server invalid" msgstr "Stun伺服器無效" -#: ../sflphone-client-gnome/src/accountlist.c:202 +#: ../sflphone-client-gnome/src/accountlist.c:208 +msgid "Ready" +msgstr "" + +#: ../sflphone-client-gnome/src/accountlist.c:211 msgid "Invalid" msgstr "無效" -#: ../sflphone-client-gnome/src/actions.c:98 +#: ../sflphone-client-gnome/src/actions.c:125 msgid "Using account" msgstr "使用賬戶" -#: ../sflphone-client-gnome/src/actions.c:104 +#: ../sflphone-client-gnome/src/actions.c:132 msgid "No registered accounts" msgstr "沒有已註冊帳戶" -#: ../sflphone-client-gnome/src/actions.c:285 +#: ../sflphone-client-gnome/src/actions.c:319 msgid "" "Unable to connect to the SFLphone server.\n" "Make sure the daemon is running." @@ -77,25 +81,28 @@ msgstr "" "連接SFLphone伺服器失敗.\n" "請核查daemon是否正在運行." -#: ../sflphone-client-gnome/src/actions.c:589 -#: ../sflphone-client-gnome/src/actions.c:911 +#: ../sflphone-client-gnome/src/actions.c:620 +#: ../sflphone-client-gnome/src/actions.c:946 msgid "Direct SIP call" msgstr "" -#: ../sflphone-client-gnome/src/actions.c:1103 -#, c-format -msgid "" -"<b>Error: No audio codecs found.\n" -"\n" -"</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>.sflphone</" -"b> directory in your home( <i>%s</i> )" +#: ../sflphone-client-gnome/src/callable_obj.c:390 +msgid "today at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:393 +msgid "yesterday at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:395 +msgid "%A at %R" +msgstr "" + +#: ../sflphone-client-gnome/src/callable_obj.c:399 +msgid "%x at %R" msgstr "" -"<b>錯誤:無法找到音訊編碼檔案.\n" -"\n" -"</b> SFL聲音編碼檔案應該位于<i>%s</i> 或者位于主目錄( <i>%s</i> )的<b>." -"sflphone</b>目錄下" -#: ../sflphone-client-gnome/src/errors.c:29 +#: ../sflphone-client-gnome/src/errors.c:40 msgid "" "ALSA notification\n" "\n" @@ -105,7 +112,7 @@ msgstr "" "\n" "打開回放設備時出錯" -#: ../sflphone-client-gnome/src/errors.c:32 +#: ../sflphone-client-gnome/src/errors.c:43 msgid "" "ALSA notification\n" "\n" @@ -115,7 +122,7 @@ msgstr "" "\n" "打開采集設備時出錯" -#: ../sflphone-client-gnome/src/errors.c:35 +#: ../sflphone-client-gnome/src/errors.c:46 msgid "" "Pulseaudio notification\n" "\n" @@ -125,935 +132,973 @@ msgstr "" "\n" "Pulseaudio未運行" -#: ../sflphone-client-gnome/src/mainwindow.c:73 +#: ../sflphone-client-gnome/src/mainwindow.c:105 msgid "There is one call in progress." msgstr "有一個電話正在處理中." -#: ../sflphone-client-gnome/src/mainwindow.c:77 +#: ../sflphone-client-gnome/src/mainwindow.c:109 msgid "There are calls in progress." msgstr "有電話正在處理中." -#: ../sflphone-client-gnome/src/mainwindow.c:86 +#: ../sflphone-client-gnome/src/mainwindow.c:114 msgid "Do you still want to quit?" msgstr "確認要退出?" -#: ../sflphone-client-gnome/src/mainwindow.c:298 +#: ../sflphone-client-gnome/src/mainwindow.c:337 msgid "SFLphone Error" msgstr "SFLphone 出錯" -#: ../sflphone-client-gnome/src/mainwindow.c:392 +#: ../sflphone-client-gnome/src/mainwindow.c:456 #, c-format msgid "ZRTP is not supported by peer %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:393 +#: ../sflphone-client-gnome/src/mainwindow.c:458 msgid "Secure Communication Unavailable" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:394 -#: ../sflphone-client-gnome/src/mainwindow.c:416 +#: ../sflphone-client-gnome/src/mainwindow.c:460 +#: ../sflphone-client-gnome/src/mainwindow.c:490 msgid "Continue" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:395 -#: ../sflphone-client-gnome/src/mainwindow.c:417 -#: ../sflphone-client-gnome/src/mainwindow.c:431 +#: ../sflphone-client-gnome/src/mainwindow.c:461 +#: ../sflphone-client-gnome/src/mainwindow.c:491 +#: ../sflphone-client-gnome/src/mainwindow.c:512 msgid "Stop Call" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:414 +#: ../sflphone-client-gnome/src/mainwindow.c:486 #, c-format msgid "" "A %s error forced the call with %s to fall under unencrypted mode.\n" "Exact reason: %s\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:415 +#: ../sflphone-client-gnome/src/mainwindow.c:488 msgid "ZRTP negotiation failed" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:428 +#: ../sflphone-client-gnome/src/mainwindow.c:506 #, c-format msgid "" "%s wants to stop using secure communication. Confirm will resume " "conversation without SRTP.\n" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:429 +#: ../sflphone-client-gnome/src/mainwindow.c:508 msgid "Confirm Go Clear" msgstr "" -#: ../sflphone-client-gnome/src/mainwindow.c:430 +#: ../sflphone-client-gnome/src/mainwindow.c:510 msgid "Confirm" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:71 -#: ../sflphone-client-gnome/src/sflnotify.c:91 +#: ../sflphone-client-gnome/src/sflnotify.c:82 +#: ../sflphone-client-gnome/src/sflnotify.c:102 #, c-format msgid "%s account : %s" msgstr "%s 帳戶 : %s" -#: ../sflphone-client-gnome/src/sflnotify.c:75 +#: ../sflphone-client-gnome/src/sflnotify.c:86 #, c-format msgid "<i>From</i> %s" msgstr "<i>撥入方</i> %s" -#: ../sflphone-client-gnome/src/sflnotify.c:94 +#: ../sflphone-client-gnome/src/sflnotify.c:105 #, c-format msgid "%d voice mail" msgid_plural "%d voice mails" msgstr[0] "%d 個語音郵件" -#: ../sflphone-client-gnome/src/sflnotify.c:111 +#: ../sflphone-client-gnome/src/sflnotify.c:122 #, c-format msgid "Calling with %s account <i>%s</i>" msgstr "使用%s帳戶<i>%s</i>呼叫" -#: ../sflphone-client-gnome/src/sflnotify.c:115 +#: ../sflphone-client-gnome/src/sflnotify.c:126 msgid "Current account" msgstr "當前帳戶" -#: ../sflphone-client-gnome/src/sflnotify.c:130 +#: ../sflphone-client-gnome/src/sflnotify.c:141 msgid "You have no accounts set up" msgstr "你沒有設置任何賬戶" -#: ../sflphone-client-gnome/src/sflnotify.c:147 +#: ../sflphone-client-gnome/src/sflnotify.c:158 msgid "You have no registered accounts" msgstr "未發現已註冊帳戶" -#: ../sflphone-client-gnome/src/sflnotify.c:190 +#: ../sflphone-client-gnome/src/sflnotify.c:201 #, c-format msgid "" "<i>With:</i> %s \n" "using %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:205 +#: ../sflphone-client-gnome/src/sflnotify.c:216 #, c-format msgid "%s does not support ZRTP." msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:220 +#: ../sflphone-client-gnome/src/sflnotify.c:231 #, c-format msgid "ZRTP negotiation failed with %s" msgstr "" -#: ../sflphone-client-gnome/src/sflnotify.c:235 +#: ../sflphone-client-gnome/src/sflnotify.c:246 #, c-format msgid "<i>With:</i> %s" msgstr "" -#: ../sflphone-client-gnome/src/sliders.c:162 +#: ../sflphone-client-gnome/src/sliders.c:173 msgid "Speakers volume" msgstr "揚聲器音量" -#: ../sflphone-client-gnome/src/sliders.c:164 +#: ../sflphone-client-gnome/src/sliders.c:175 msgid "Mic volume" msgstr "話筒音量" -#: ../sflphone-client-gnome/src/statusicon.c:96 +#: ../sflphone-client-gnome/src/statusicon.c:139 msgid "_Show main window" msgstr "顯示主窗口(S)" -#: ../sflphone-client-gnome/src/statusicon.c:131 +#: ../sflphone-client-gnome/src/statusicon.c:146 +#: ../sflphone-client-gnome/src/uimanager.c:822 +#: ../sflphone-client-gnome/src/uimanager.c:1136 +#: ../sflphone-client-gnome/src/uimanager.c:1178 +msgid "_Hang up" +msgstr "放下(H)" + +#: ../sflphone-client-gnome/src/statusicon.c:200 msgid "SFLphone" msgstr "SFLphone" -#: ../sflphone-client-gnome/src/statusicon.c:132 +#: ../sflphone-client-gnome/src/statusicon.c:201 #, c-format -msgid "%i account configured" -msgid_plural "%i accounts configured" -msgstr[0] "已配置了%i個賬戶" +msgid "%i active account" +msgid_plural "%i active accounts" +msgstr[0] "" +msgstr[1] "" -#: ../sflphone-client-gnome/src/toolbar.c:38 -#: ../sflphone-client-gnome/src/uimanager.c:693 -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/toolbar.c:49 +#: ../sflphone-client-gnome/src/uimanager.c:787 +#: ../sflphone-client-gnome/src/uimanager.c:831 msgid "Voicemail" msgstr "語音郵件" -#: ../sflphone-client-gnome/src/uimanager.c:117 +#: ../sflphone-client-gnome/src/uimanager.c:133 msgid "No address book selected" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:137 -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:156 +#: ../sflphone-client-gnome/src/uimanager.c:879 msgid "Address book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:279 +#: ../sflphone-client-gnome/src/uimanager.c:338 +#, c-format msgid "Voicemail (%i)" msgstr "語音郵件 (%i)" -#: ../sflphone-client-gnome/src/uimanager.c:342 +#: ../sflphone-client-gnome/src/uimanager.c:406 msgid "SFLphone is a VoIP client compatible with SIP and IAX2 protocols." msgstr "SFLphone是一個VoIP客戶端,它兼容SIP和IAX2协议." -#: ../sflphone-client-gnome/src/uimanager.c:345 +#: ../sflphone-client-gnome/src/uimanager.c:408 msgid "About SFLphone" msgstr "有關SFLphone" -#: ../sflphone-client-gnome/src/uimanager.c:719 +#: ../sflphone-client-gnome/src/uimanager.c:817 msgid "Call" msgstr "電話" -#: ../sflphone-client-gnome/src/uimanager.c:720 -#: ../sflphone-client-gnome/src/uimanager.c:1184 +#: ../sflphone-client-gnome/src/uimanager.c:818 +#: ../sflphone-client-gnome/src/uimanager.c:1328 msgid "_New call" msgstr "新電話(N)" -#: ../sflphone-client-gnome/src/uimanager.c:720 +#: ../sflphone-client-gnome/src/uimanager.c:819 msgid "Place a new call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:721 -#: ../sflphone-client-gnome/src/uimanager.c:979 +#: ../sflphone-client-gnome/src/uimanager.c:820 +#: ../sflphone-client-gnome/src/uimanager.c:1124 msgid "_Pick up" msgstr "撥出(P)" -#: ../sflphone-client-gnome/src/uimanager.c:721 +#: ../sflphone-client-gnome/src/uimanager.c:821 msgid "Answer the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:722 -#: ../sflphone-client-gnome/src/uimanager.c:991 -#: ../sflphone-client-gnome/src/uimanager.c:1032 -msgid "_Hang up" -msgstr "放下(H)" - -#: ../sflphone-client-gnome/src/uimanager.c:722 +#: ../sflphone-client-gnome/src/uimanager.c:823 msgid "Finish the call" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:824 msgid "O_n hold" msgstr "待机" -#: ../sflphone-client-gnome/src/uimanager.c:723 +#: ../sflphone-client-gnome/src/uimanager.c:825 msgid "Place the call on hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:826 msgid "O_ff hold" msgstr "恢复通話" -#: ../sflphone-client-gnome/src/uimanager.c:724 +#: ../sflphone-client-gnome/src/uimanager.c:827 msgid "Place the call off hold" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:725 -#: ../sflphone-client-gnome/src/uimanager.c:1015 -msgid "_Record" -msgstr "記錄(R)" - -#: ../sflphone-client-gnome/src/uimanager.c:725 -msgid "Record the current conversation" -msgstr "" - -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:828 msgid "Configuration _Assistant" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:726 +#: ../sflphone-client-gnome/src/uimanager.c:829 msgid "Run the configuration assistant" msgstr "Stun配置有誤" -#: ../sflphone-client-gnome/src/uimanager.c:727 +#: ../sflphone-client-gnome/src/uimanager.c:832 msgid "Call your voicemail" msgstr "%d 個語音郵件" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:833 msgid "_Close" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:728 +#: ../sflphone-client-gnome/src/uimanager.c:834 msgid "Minimize to system tray" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:835 msgid "_Quit" msgstr "編輯(E)" -#: ../sflphone-client-gnome/src/uimanager.c:729 +#: ../sflphone-client-gnome/src/uimanager.c:836 msgid "Quit the program" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:732 +#: ../sflphone-client-gnome/src/uimanager.c:839 msgid "_Edit" msgstr "編輯(E)" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:840 msgid "_Copy" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:733 +#: ../sflphone-client-gnome/src/uimanager.c:841 msgid "Copy the selection" msgstr "刪除所選賬戶" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:842 msgid "_Paste" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:734 +#: ../sflphone-client-gnome/src/uimanager.c:843 msgid "Paste the clipboard" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:844 msgid "Clear _history" msgstr "清空曆史記錄(C)" -#: ../sflphone-client-gnome/src/uimanager.c:735 +#: ../sflphone-client-gnome/src/uimanager.c:845 msgid "Clear the call history" msgstr "清空曆史記錄" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "_Accounts" msgstr "帳戶(A)" -#: ../sflphone-client-gnome/src/uimanager.c:736 +#: ../sflphone-client-gnome/src/uimanager.c:846 msgid "Edit your accounts" msgstr "當前帳戶" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:848 msgid "_Preferences" msgstr "屬性" -#: ../sflphone-client-gnome/src/uimanager.c:737 +#: ../sflphone-client-gnome/src/uimanager.c:849 msgid "Change your preferences" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:740 +#: ../sflphone-client-gnome/src/uimanager.c:852 msgid "_View" msgstr "查看(V)" -#: ../sflphone-client-gnome/src/uimanager.c:743 +#: ../sflphone-client-gnome/src/uimanager.c:855 msgid "_Help" msgstr "幫助(H)" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:856 msgid "Contents" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:744 +#: ../sflphone-client-gnome/src/uimanager.c:857 msgid "Open the manual" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:745 +#: ../sflphone-client-gnome/src/uimanager.c:858 msgid "About this application" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:866 msgid "_Transfer" msgstr "轉接" -#: ../sflphone-client-gnome/src/uimanager.c:751 +#: ../sflphone-client-gnome/src/uimanager.c:867 msgid "Transfer the call" -msgstr "轉給: " +msgstr "轉給:" + +#: ../sflphone-client-gnome/src/uimanager.c:868 +#: ../sflphone-client-gnome/src/uimanager.c:1160 +msgid "_Record" +msgstr "記錄(R)" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:869 +msgid "Record the current conversation" +msgstr "" + +#: ../sflphone-client-gnome/src/uimanager.c:870 msgid "_Show toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:752 +#: ../sflphone-client-gnome/src/uimanager.c:871 msgid "Show the toolbar" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:872 msgid "_Dialpad" msgstr "顯示撥號鍵盤" -#: ../sflphone-client-gnome/src/uimanager.c:753 +#: ../sflphone-client-gnome/src/uimanager.c:873 msgid "Show the dialpad" msgstr "" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:874 msgid "_Volume controls" msgstr "音量控制(V)" -#: ../sflphone-client-gnome/src/uimanager.c:754 +#: ../sflphone-client-gnome/src/uimanager.c:875 msgid "Show the volume controls" msgstr "音量控制(V)" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:876 msgid "_History" msgstr "歷史" -#: ../sflphone-client-gnome/src/uimanager.c:755 +#: ../sflphone-client-gnome/src/uimanager.c:877 msgid "Calls history" msgstr "呼叫記錄" -#: ../sflphone-client-gnome/src/uimanager.c:756 +#: ../sflphone-client-gnome/src/uimanager.c:878 msgid "_Address book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/uimanager.c:1003 -#: ../sflphone-client-gnome/src/uimanager.c:1044 +#: ../sflphone-client-gnome/src/uimanager.c:1148 +#: ../sflphone-client-gnome/src/uimanager.c:1190 msgid "On _Hold" msgstr "待机" -#: ../sflphone-client-gnome/src/uimanager.c:1107 +#: ../sflphone-client-gnome/src/uimanager.c:1251 msgid "_Call back" msgstr "回叫(C)" -#: ../sflphone-client-gnome/src/uimanager.c:1258 +#: ../sflphone-client-gnome/src/uimanager.c:1407 msgid "Edit phone number" msgstr "編輯電話號碼" -#: ../sflphone-client-gnome/src/uimanager.c:1269 +#: ../sflphone-client-gnome/src/uimanager.c:1419 msgid "Edit the phone number before making a call" msgstr "撥出電話前編輯電話號碼" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:180 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:281 msgid "Account Parameters" msgstr "帳戶相關參數" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:189 -#: ../sflphone-client-gnome/src/config/assistant.c:314 -#: ../sflphone-client-gnome/src/config/assistant.c:427 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:296 +#: ../sflphone-client-gnome/src/config/assistant.c:326 +#: ../sflphone-client-gnome/src/config/assistant.c:439 msgid "_Alias" msgstr "別稱(A)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:197 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:306 msgid "_Protocol" msgstr "協議(P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:215 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:325 msgid "Unknown" msgstr "未知" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:225 -#: ../sflphone-client-gnome/src/config/assistant.c:322 -#: ../sflphone-client-gnome/src/config/assistant.c:435 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:336 +#: ../sflphone-client-gnome/src/config/assistant.c:334 +#: ../sflphone-client-gnome/src/config/assistant.c:447 msgid "_Host name" msgstr "主机名稱(H)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:233 -#: ../sflphone-client-gnome/src/config/assistant.c:330 -#: ../sflphone-client-gnome/src/config/assistant.c:443 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:345 +#: ../sflphone-client-gnome/src/config/assistant.c:342 +#: ../sflphone-client-gnome/src/config/assistant.c:455 msgid "_User name" msgstr "使用者名稱(U)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:250 -#: ../sflphone-client-gnome/src/config/assistant.c:346 -#: ../sflphone-client-gnome/src/config/assistant.c:458 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:358 +#: ../sflphone-client-gnome/src/config/assistant.c:470 msgid "_Password" msgstr "密碼(P)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:270 -#: ../sflphone-client-gnome/src/config/assistant.c:363 -#: ../sflphone-client-gnome/src/config/assistant.c:473 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:403 +#: ../sflphone-client-gnome/src/config/assistant.c:375 +#: ../sflphone-client-gnome/src/config/assistant.c:485 msgid "Show password" msgstr "密碼" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:274 -#: ../sflphone-client-gnome/src/config/assistant.c:368 -#: ../sflphone-client-gnome/src/config/assistant.c:478 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:408 +#: ../sflphone-client-gnome/src/config/assistant.c:380 +#: ../sflphone-client-gnome/src/config/assistant.c:490 msgid "_Voicemail number" msgstr "語音郵箱(V)" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:361 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:417 +msgid "_User-agent" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:504 msgid "Authentication" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:362 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:505 msgid "Secret" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:605 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:755 msgid "Credential" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:640 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:789 msgid "Authentication name" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:651 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 msgid "Password" msgstr "密碼" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:674 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1056 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:858 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1313 msgid "Security" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:687 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:333 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:869 msgid "Use TLS transport (sips)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:693 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:338 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:875 msgid "SRTP key exchange" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:699 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:344 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:881 msgid "Disabled" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:795 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:949 msgid "Registration" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:800 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:953 msgid "Registration expire" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:809 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:962 msgid "_Comply with RFC 3263" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:816 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:234 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:981 msgid "Network Interface" msgstr "網路連線失敗" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:830 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:249 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:994 msgid "Local address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:880 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:301 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1061 msgid "Local port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:893 -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:928 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1098 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1131 msgid "Published address" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:899 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1102 msgid "Using STUN" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:906 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1109 msgid "STUN server URL" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:914 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1117 msgid "Same as local parameters" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:917 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1120 msgid "Set published address and port:" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:936 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1140 msgid "Published port" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1027 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1206 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1295 +msgid "Codecs" +msgstr "編碼" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1217 +msgid "DTMF" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1227 +msgid "RTP" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1231 +msgid "SIP" +msgstr "SIP" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1265 msgid "Account settings" msgstr "帳戶設置" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1046 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1288 msgid "Basic" msgstr "" -#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1051 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1308 msgid "Advanced" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:164 +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1321 +msgid "Network" +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountconfigdialog.c:1512 +msgid "" +"This profile is used when you want to reach a remote peer simply by typing a " +"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " +"also be used if no account can be matched to an incoming or outgoing call." +msgstr "" + +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:142 #, c-format msgid "Server returned \"%s\" (%d)" msgstr "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:389 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:432 msgid "Protocol" msgstr "協議" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:396 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:440 msgid "Status" msgstr "狀態" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:474 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:522 msgid "Accounts" msgstr "帳戶" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:484 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:532 msgid "Configured Accounts" msgstr "已配置帳戶" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:501 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:549 #, c-format msgid "There is %d active account" msgid_plural "There are %d active accounts" msgstr[0] "" +msgstr[1] "" -#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:507 +#: ../sflphone-client-gnome/src/config/accountlistconfigdialog.c:555 msgid "You have no active account" msgstr "" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:306 -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:556 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:317 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:303 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:47 msgid "General" msgstr "常用配置" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:312 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:323 msgid "_Use Evolution address books" msgstr "使用Evolution地址薄(U)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:319 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:330 msgid "Download limit :" msgstr "下載上限:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:327 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:338 msgid "cards" msgstr "卡" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:333 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:344 msgid "_Display contact photo if available" msgstr "如果可以則顯示聯繫人照片(D)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:341 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:352 msgid "Fields from Evolution's address books" msgstr "使用Evolution地址薄中的如下字段:" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:345 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:356 msgid "_Work" msgstr "單位電話(W)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:351 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:362 msgid "_Home" msgstr "家庭電話(H)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:357 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 msgid "_Mobile" msgstr "移動電話(M)" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:364 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:375 msgid "Address Books" msgstr "地址簿" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:368 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:379 msgid "Select which Evolution address books to use" msgstr "選擇使用如下Evolution地址薄" -#: ../sflphone-client-gnome/src/config/addressbook-config.c:404 -#: ../sflphone-client-gnome/src/config/audioconf.c:577 +#: ../sflphone-client-gnome/src/config/addressbook-config.c:415 +#: ../sflphone-client-gnome/src/config/audioconf.c:704 msgid "Name" msgstr "名稱" -#: ../sflphone-client-gnome/src/config/assistant.c:75 +#: ../sflphone-client-gnome/src/config/assistant.c:86 #, c-format msgid "This assistant is now finished." msgstr "配置完成." -#: ../sflphone-client-gnome/src/config/assistant.c:77 +#: ../sflphone-client-gnome/src/config/assistant.c:88 msgid "" "You can at any time check your registration state or modify your accounts " "parameters in the Options/Accounts window." msgstr "你可以隨時在 選項/帳戶 中查看註冊狀態或者修改帳戶信息." -#: ../sflphone-client-gnome/src/config/assistant.c:80 +#: ../sflphone-client-gnome/src/config/assistant.c:91 msgid "Alias" msgstr "別稱" -#: ../sflphone-client-gnome/src/config/assistant.c:84 +#: ../sflphone-client-gnome/src/config/assistant.c:95 msgid "Server" msgstr "伺服器" -#: ../sflphone-client-gnome/src/config/assistant.c:88 +#: ../sflphone-client-gnome/src/config/assistant.c:99 msgid "Username" msgstr "使用者名稱" -#: ../sflphone-client-gnome/src/config/assistant.c:92 +#: ../sflphone-client-gnome/src/config/assistant.c:103 msgid "Security: " msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:94 +#: ../sflphone-client-gnome/src/config/assistant.c:105 msgid "SRTP/ZRTP draft-zimmermann" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:96 +#: ../sflphone-client-gnome/src/config/assistant.c:107 msgid "None" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:229 +#: ../sflphone-client-gnome/src/config/assistant.c:241 msgid "SFLphone account creation wizard" msgstr "SFLphone賬戶創建嚮導" -#: ../sflphone-client-gnome/src/config/assistant.c:255 +#: ../sflphone-client-gnome/src/config/assistant.c:267 msgid "Welcome to the Account creation wizard of SFLphone!" msgstr "歡迎使用SFLphone帳戶創建嚮導!" -#: ../sflphone-client-gnome/src/config/assistant.c:256 +#: ../sflphone-client-gnome/src/config/assistant.c:268 msgid "This installation wizard will help you configure an account." msgstr "安裝向導將幫助您配置帳戶" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "VoIP Protocols" msgstr "VoIP協議" -#: ../sflphone-client-gnome/src/config/assistant.c:270 +#: ../sflphone-client-gnome/src/config/assistant.c:282 msgid "Select an account type" msgstr "選擇帳戶類型" -#: ../sflphone-client-gnome/src/config/assistant.c:272 +#: ../sflphone-client-gnome/src/config/assistant.c:284 msgid "SIP (Session Initiation Protocol)" msgstr "SIP(會話初始化協議)" -#: ../sflphone-client-gnome/src/config/assistant.c:274 +#: ../sflphone-client-gnome/src/config/assistant.c:286 msgid "IAX2 (InterAsterix Exchange)" msgstr "IAX2(Asterisk內部交換協議)" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Account" msgstr "帳戶" -#: ../sflphone-client-gnome/src/config/assistant.c:288 +#: ../sflphone-client-gnome/src/config/assistant.c:300 msgid "Please select one of the following options" msgstr "請選擇以下選項中的一個" -#: ../sflphone-client-gnome/src/config/assistant.c:290 +#: ../sflphone-client-gnome/src/config/assistant.c:302 msgid "Create a free SIP/IAX2 account on sflphone.org" msgstr "在sflphone.org上創建免費的SIP/IAX2帳戶" -#: ../sflphone-client-gnome/src/config/assistant.c:292 +#: ../sflphone-client-gnome/src/config/assistant.c:304 msgid "Register an existing SIP or IAX2 account" msgstr "註冊已存在的SIP或IAX2帳戶" -#: ../sflphone-client-gnome/src/config/assistant.c:306 +#: ../sflphone-client-gnome/src/config/assistant.c:318 msgid "SIP account settings" msgstr "SIP帳戶配置" -#: ../sflphone-client-gnome/src/config/assistant.c:306 -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:318 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "Please fill the following information" msgstr "請填寫如下信息" -#: ../sflphone-client-gnome/src/config/assistant.c:376 -#: ../sflphone-client-gnome/src/config/assistant.c:405 +#: ../sflphone-client-gnome/src/config/assistant.c:388 +#: ../sflphone-client-gnome/src/config/assistant.c:417 msgid "Secure communications with _ZRTP" msgstr "" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "Optional email address" msgstr "可選郵件地址" -#: ../sflphone-client-gnome/src/config/assistant.c:389 +#: ../sflphone-client-gnome/src/config/assistant.c:401 msgid "This email address will be used to send your voicemail messages." msgstr "這個郵件地址將被用來發送您的語音" -#: ../sflphone-client-gnome/src/config/assistant.c:397 +#: ../sflphone-client-gnome/src/config/assistant.c:409 msgid "_Email address" msgstr "郵件地址(E)" -#: ../sflphone-client-gnome/src/config/assistant.c:419 +#: ../sflphone-client-gnome/src/config/assistant.c:431 msgid "IAX2 account settings" msgstr "IAX2帳戶配置" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "Network Address Translation (NAT)" msgstr "网络地址解析(NAT)" -#: ../sflphone-client-gnome/src/config/assistant.c:496 +#: ../sflphone-client-gnome/src/config/assistant.c:508 msgid "You should probably enable this if you are behind a firewall." msgstr "如果你使用網路防火牆,你很有可能需要設定該項." -#: ../sflphone-client-gnome/src/config/assistant.c:505 +#: ../sflphone-client-gnome/src/config/assistant.c:517 msgid "E_nable STUN" msgstr "啟用STUN(n)" -#: ../sflphone-client-gnome/src/config/assistant.c:512 +#: ../sflphone-client-gnome/src/config/assistant.c:524 msgid "_STUN server" msgstr "STUN伺服器(S)" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Account Registration" msgstr "帳戶註冊" -#: ../sflphone-client-gnome/src/config/assistant.c:526 +#: ../sflphone-client-gnome/src/config/assistant.c:538 msgid "Congratulations!" msgstr "恭喜!" -#: ../sflphone-client-gnome/src/config/audioconf.c:582 +#: ../sflphone-client-gnome/src/config/audioconf.c:709 msgid "Frequency" msgstr "顰律" -#: ../sflphone-client-gnome/src/config/audioconf.c:587 +#: ../sflphone-client-gnome/src/config/audioconf.c:714 msgid "Bitrate" msgstr "比率" -#: ../sflphone-client-gnome/src/config/audioconf.c:592 +#: ../sflphone-client-gnome/src/config/audioconf.c:719 msgid "Bandwidth" msgstr "顰寬" -#: ../sflphone-client-gnome/src/config/audioconf.c:670 +#: ../sflphone-client-gnome/src/config/audioconf.c:838 msgid "ALSA plugin" msgstr "ALSA插件" -#: ../sflphone-client-gnome/src/config/audioconf.c:692 +#: ../sflphone-client-gnome/src/config/audioconf.c:860 msgid "Output" msgstr "輸出" -#: ../sflphone-client-gnome/src/config/audioconf.c:714 +#: ../sflphone-client-gnome/src/config/audioconf.c:882 msgid "Input" msgstr "輸入" -#: ../sflphone-client-gnome/src/config/audioconf.c:749 -msgid "_Voice Activity Detection" -msgstr "聲音狀態檢測(V)" +#: ../sflphone-client-gnome/src/config/audioconf.c:904 +#, fuzzy +msgid "Ringtone" +msgstr "鈴聲" -#: ../sflphone-client-gnome/src/config/audioconf.c:759 -msgid "_Noise Reduction (Narrow-Band Companding)" -msgstr "降噪處理-窄頻壓縮(N)" +#: ../sflphone-client-gnome/src/config/audioconf.c:939 +msgid "_Echo Suppression" +msgstr "" -#: ../sflphone-client-gnome/src/config/audioconf.c:800 +#: ../sflphone-client-gnome/src/config/audioconf.c:952 +#, fuzzy +msgid "_Noise Reduction" +msgstr "降噪" + +#: ../sflphone-client-gnome/src/config/audioconf.c:991 msgid "Sound Manager" msgstr "聲音管理器" -#: ../sflphone-client-gnome/src/config/audioconf.c:809 +#: ../sflphone-client-gnome/src/config/audioconf.c:1000 msgid "_Pulseaudio" msgstr "Pulseaudio" -#: ../sflphone-client-gnome/src/config/audioconf.c:813 +#: ../sflphone-client-gnome/src/config/audioconf.c:1004 msgid "_ALSA" msgstr "ALSA" -#: ../sflphone-client-gnome/src/config/audioconf.c:819 +#: ../sflphone-client-gnome/src/config/audioconf.c:1010 msgid "ALSA settings" msgstr "ALSA 配置" -#: ../sflphone-client-gnome/src/config/audioconf.c:836 -msgid "Codecs" -msgstr "編碼" - -#: ../sflphone-client-gnome/src/config/audioconf.c:865 +#: ../sflphone-client-gnome/src/config/audioconf.c:1031 msgid "Recordings" msgstr "記錄" -#: ../sflphone-client-gnome/src/config/audioconf.c:869 +#: ../sflphone-client-gnome/src/config/audioconf.c:1035 msgid "Destination folder" msgstr "目標文件夾" -#: ../sflphone-client-gnome/src/config/audioconf.c:873 +#: ../sflphone-client-gnome/src/config/audioconf.c:1039 msgid "Select a folder" msgstr "選擇文件夾" -#: ../sflphone-client-gnome/src/config/audioconf.c:879 +#: ../sflphone-client-gnome/src/config/audioconf.c:1045 msgid "Ringtones" msgstr "鈴聲" -#: ../sflphone-client-gnome/src/config/audioconf.c:885 +#: ../sflphone-client-gnome/src/config/audioconf.c:1051 msgid "_Enable ringtones" msgstr "啟動鈴聲(E)" -#: ../sflphone-client-gnome/src/config/audioconf.c:891 +#: ../sflphone-client-gnome/src/config/audioconf.c:1057 msgid "Choose a ringtone" msgstr "鈴聲選擇" -#: ../sflphone-client-gnome/src/config/audioconf.c:897 +#: ../sflphone-client-gnome/src/config/audioconf.c:1063 msgid "Audio Files" msgstr "音訊檔案" -#: ../sflphone-client-gnome/src/config/hooks-config.c:130 +#: ../sflphone-client-gnome/src/config/audioconf.c:1070 +#, fuzzy +msgid "Voice enhancement settings" +msgstr "帳戶設置" + +#: ../sflphone-client-gnome/src/config/hooks-config.c:141 msgid "URL Argument" msgstr "URL參數" -#: ../sflphone-client-gnome/src/config/hooks-config.c:135 +#: ../sflphone-client-gnome/src/config/hooks-config.c:146 msgid "Custom commands on incoming calls with URL" msgstr "定制對帶有URL的來電的處理" -#: ../sflphone-client-gnome/src/config/hooks-config.c:138 +#: ../sflphone-client-gnome/src/config/hooks-config.c:149 #, c-format msgid "%s will be replaced with the passed URL." msgstr "傳輸的URL會被替換成%s." -#: ../sflphone-client-gnome/src/config/hooks-config.c:141 +#: ../sflphone-client-gnome/src/config/hooks-config.c:152 msgid "Trigger on specific _SIP header" msgstr "激活指定的SIP頭(S)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:150 +#: ../sflphone-client-gnome/src/config/hooks-config.c:161 msgid "Trigger on _IAX2 URL" msgstr "激活IAX2 URL(I)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:155 +#: ../sflphone-client-gnome/src/config/hooks-config.c:166 msgid "Command to _run" msgstr "運行命令(r)" -#: ../sflphone-client-gnome/src/config/hooks-config.c:165 +#: ../sflphone-client-gnome/src/config/hooks-config.c:176 msgid "Phone number rewriting" msgstr "重設電話號碼" -#: ../sflphone-client-gnome/src/config/hooks-config.c:169 +#: ../sflphone-client-gnome/src/config/hooks-config.c:180 msgid "_Prefix dialed numbers with" msgstr "號碼前綴(P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:225 -msgid "" -"This profile is used when you want to reach a remote peer simply by typing a " -"sip URI such as <b>sip:remotepeer</b>. The settings you define here will " -"also be used if no account can be matched to an incoming or outgoing call." -msgstr "" - -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:440 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:158 msgid "Desktop Notifications" msgstr "桌面提示" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:444 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:163 msgid "_Enable notifications" msgstr "啟動提示(E)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:450 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:170 msgid "System Tray Icon" msgstr "系統托盤圖標" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:453 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:180 +msgid "Show SFLphone in the system tray" +msgstr "" + +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:187 msgid "_Popup main window on incoming call" msgstr "來電話時彈出主視窗(P)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:457 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:193 msgid "Ne_ver popup main window" msgstr "從不彈出主視窗(v)" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:463 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:203 msgid "Hide SFLphone window on _startup" msgstr "在啟動時隱藏SFLphone主窗口" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:469 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:217 msgid "Calls History" msgstr "打電話歷史" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:472 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:221 msgid "_Keep my history for at least" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:483 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:236 msgid "days" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:536 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:282 msgid "Preferences" msgstr "屬性" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:561 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:309 msgid "Audio" msgstr "" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:566 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:315 msgid "Address Book" msgstr "地址簿" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:571 +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:321 msgid "Hooks" msgstr "鉤鍵" -#: ../sflphone-client-gnome/src/config/preferencesdialog.c:581 -msgid "Direct IP calls" +#: ../sflphone-client-gnome/src/config/preferencesdialog.c:326 +msgid "Shortcuts" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:38 +#: ../sflphone-client-gnome/src/config/shortcuts-config.c:49 +msgid "Be careful: these shortcuts might override system-wide shortcuts." +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:49 msgid "Advanced options for TLS" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:56 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:67 msgid "TLS transport" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:60 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:71 msgid "" "TLS transport can be used along with UDP for those calls that would\n" "require secure sip transactions (aka SIPS). You can configure a different\n" @@ -1062,115 +1107,118 @@ msgid "" "port, different one from each other\n" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:103 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:118 +msgid "Global TLS listener (all accounts)" +msgstr "" + +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:133 msgid "Certificate of Authority list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:107 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:137 msgid "Choose a CA list file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:131 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:158 msgid "Public endpoint certificate file" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:135 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:162 msgid "Choose a public endpoint certificate (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:159 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:185 msgid "Choose a private key file (optional)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:181 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:206 msgid "Password for the private key" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:204 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:229 msgid "TLS protocol method" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:238 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:263 msgid "TLS cipher list" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:247 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 msgid "Server name instance for outgoing TLS connection" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:255 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:280 msgid "Negotiation timeout (sec:msec)" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:272 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:297 msgid "Verify incoming certificates, as a server" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:278 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:303 msgid "Verify certificates from answer, as a client" msgstr "" -#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:284 +#: ../sflphone-client-gnome/src/config/tlsadvanceddialog.c:309 msgid "Require certificate for incoming tls connections" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:49 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:60 msgid "ZRTP Options" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:69 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:80 msgid "Send Hello Hash in S_DP" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:75 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:86 msgid "Ask User to Confirm SAS" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:81 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:92 msgid "_Warn if ZRTP not supported" msgstr "" -#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:87 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:98 msgid "Display SAS once for hold events" msgstr "" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:58 +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:142 +msgid "SDES Options" +msgstr "" + +#: ../sflphone-client-gnome/src/config/zrtpadvanceddialog.c:167 +msgid "Fallback on RTP on SDES failure" +msgstr "" + +#: ../sflphone-client-gnome/src/contacts/searchbar.c:69 msgid "Search all" msgstr "查詢所有" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:59 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:72 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:84 -#: ../sflphone-client-gnome/src/contacts/searchbar.c:96 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:70 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:107 msgid "Click here to change the search type" msgstr "請點擊此處改變查詢方式" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:71 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:82 msgid "Search by missed call" msgstr "從未接電話中查詢" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:83 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:94 msgid "Search by incoming call" msgstr "從來電中查詢" -#: ../sflphone-client-gnome/src/contacts/searchbar.c:95 +#: ../sflphone-client-gnome/src/contacts/searchbar.c:106 msgid "Search by outgoing call" msgstr "從撥出電話中查詢" -#~ msgid "IP call - %s" -#~ msgstr "IP電話- %s" - -#~ msgid "Codec" -#~ msgstr "編碼" - -#~ msgid "_Mute other applications during a call" -#~ msgstr "當有來電時靜音其它應用程序(c)" - -#~ msgid "SIP Port" -#~ msgstr "SIP端口" +#~ msgid "_Voice Activity Detection" +#~ msgstr "聲音狀態檢測(V)" -#~ msgid "Enable voicemail _notifications" -#~ msgstr "啟用語音郵箱提示(n)" +#~ msgid "_Noise Reduction (Narrow-Band Companding)" +#~ msgstr "降噪處理-窄頻壓縮(N)" #~ msgid "Account creation wizard" #~ msgstr "帳戶創建向導" @@ -1192,6 +1240,9 @@ msgstr "從撥出電話中查詢" #~ msgid "Default account" #~ msgstr "默認帳戶" +#~ msgid "Codec" +#~ msgstr "編碼" + #~ msgid "SFLphone KDE Client" #~ msgstr "SFLphone KDE客戶端" @@ -1306,9 +1357,6 @@ msgstr "從撥出電話中查詢" #~ msgid "Apply" #~ msgstr "套用" -#~ msgid "SIP" -#~ msgstr "SIP" - #~ msgid "IAX" #~ msgstr "IAX" @@ -1375,6 +1423,9 @@ msgstr "從撥出電話中查詢" #~ msgid "On start" #~ msgstr "正在啟動" +#~ msgid "SIP Port" +#~ msgstr "SIP端口" + #~ msgid "Trigger on specific SIP header" #~ msgstr "激活指定的SIP頭" @@ -1390,15 +1441,39 @@ msgstr "從撥出電話中查詢" #~ msgid "Attention:number of results exceeds max displayed." #~ msgstr "注意:結果超過可顯示的最大值" +#~ msgid "IP call - %s" +#~ msgstr "IP電話- %s" + +#~ msgid "" +#~ "<b>Error: No audio codecs found.\n" +#~ "\n" +#~ "</b> SFL audio codecs have to be placed in <i>%s</i> or in the <b>." +#~ "sflphone</b> directory in your home( <i>%s</i> )" +#~ msgstr "" +#~ "<b>錯誤:無法找到音訊編碼檔案.\n" +#~ "\n" +#~ "</b> SFL聲音編碼檔案應該位于<i>%s</i> 或者位于主目錄( <i>%s</i> )的<b>." +#~ "sflphone</b>目錄下" + #~ msgid "_Account creation wizard" #~ msgstr "帳戶創建向導(A)" +#~ msgid "%i account configured" +#~ msgid_plural "%i accounts configured" +#~ msgstr[0] "已配置了%i個賬戶" + #~ msgid "_Enable this account" #~ msgstr "啟用該賬戶(E)" +#~ msgid "Enable voicemail _notifications" +#~ msgstr "啟用語音郵箱提示(n)" + #~ msgid "PulseAudio sound server" #~ msgstr "PulseAudio聲音伺服器" +#~ msgid "_Mute other applications during a call" +#~ msgstr "當有來電時靜音其它應用程序(c)" + #~ msgid "Port" #~ msgstr "端口" @@ -1677,9 +1752,6 @@ msgstr "從撥出電話中查詢" #~ msgid "%s account- %s" #~ msgstr "%s 帳戶- %s" -#~ msgid "Noise reduction" -#~ msgstr "降噪" - #~ msgid "_Destination folder" #~ msgstr "目標文件夾(D)" @@ -1697,10 +1769,12 @@ msgstr "從撥出電話中查詢" #~ msgstr "" #~ "Yun Liu, ,Launchpad Contributions:,Yun Liu, ,Launchpad Contributions:," #~ "Emmanuel Milou,Yun Liu, ,Launchpad Contributions:,Emmanuel Milou,Yun " -#~ "Liu, ,Launchpad Contributions:,Emmanuel Milou,Yun Liu" +#~ "Liu, ,Launchpad Contributions:,Emmanuel Milou,Yun Liu, ,Launchpad " +#~ "Contributions:,Emmanuel Milou,Yun Liu" #~ msgctxt "EMAIL OF TRANSLATORS" #~ msgid "Your emails" #~ msgstr "" #~ "yunliu2000@gmail.com,,,,,,emmanuel.milou@savoirfairelinux.com,,,,emmanuel." -#~ "milou@savoirfairelinux.com,,,,emmanuel.milou@savoirfairelinux.com," +#~ "milou@savoirfairelinux.com,,,,emmanuel.milou@savoirfairelinux.com,,,," +#~ "emmanuel.milou@savoirfairelinux.com," diff --git a/sflphone-client-gnome/sflphone-client-gnome.schemas b/sflphone-client-gnome/sflphone-client-gnome.schemas new file mode 100644 index 0000000000000000000000000000000000000000..cda7c5e3a686e440b7e751b44252430400d704c8 --- /dev/null +++ b/sflphone-client-gnome/sflphone-client-gnome.schemas @@ -0,0 +1,69 @@ +<gconfschemafile> + <schemalist> + + <schema> + <key>/schemas/apps/sflphone-client-gnome/state/window_width</key> + <applyto>/apps/sflphone-client-gnome/state/window_width</applyto> + <owner>sflphone-client-gnome</owner> + <type>int</type> + <default>240</default> + <locale name="C"> + <short>Main window width</short> + <long>Main window width.</long> + </locale> + </schema> + + + <schema> + <key>/schemas/apps/sflphone-client-gnome/state/window_position_x</key> + <applyto>/apps/sflphone-client-gnome/state/window_position_x</applyto> + <owner>sflphone-client-gnome</owner> + <type>int</type> + <default>0</default> + <locale name="C"> + <short>Main window X position</short> + <long>Main window X position.</long> + </locale> + </schema> + + + <schema> + <key>/schemas/apps/sflphone-client-gnome/state/window_position_y</key> + <applyto>/apps/sflphone-client-gnome/state/window_position_y</applyto> + <owner>sflphone-client-gnome</owner> + <type>int</type> + <default>0</default> + <locale name="C"> + <short>Main window Y position</short> + <long>Main window Y position.</long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/sflphone-client-gnome/state/window_height</key> + <applyto>/apps/sflphone-client-gnome/state/window_height</applyto> + <owner>sflphone-client-gnome</owner> + <type>int</type> + <default>320</default> + <locale name="C"> + <short>Main window height</short> + <long>Main window height.</long> + </locale> + </schema> + + <schema> + <key>/schemas/apps/sflphone-client-gnome/state/dialpad</key> + <applyto>/apps/sflphone-client-gnome/state/dialpad</applyto> + <owner>sflphone-client-gnome</owner> + <type>bool</type> + <default>true</default> + <locale name="C"> + <short>Display dialpad</short> + <long>Display dialpad.</long> + </locale> + </schema> + + + + </schemalist> +</gconfschemafile> diff --git a/sflphone-client-gnome/src/Makefile.am b/sflphone-client-gnome/src/Makefile.am index 006f90714509c286ff3a51c7c40fdb4e71ece8ae..bbb6b0a31cb7e779d4394e2a4f1c9ec53bd9faf4 100644 --- a/sflphone-client-gnome/src/Makefile.am +++ b/sflphone-client-gnome/src/Makefile.am @@ -25,12 +25,13 @@ sflphone_client_gnome_SOURCES = \ statusicon.c \ codeclist.c \ reqaccount.c \ - shortcuts.c + shortcuts.c \ + eel-gconf-extensions.c noinst_HEADERS = actions.h sflnotify.h mainwindow.h dialpad.h codeclist.h \ reqaccount.h errors.h sflphone_const.h uimanager.h \ accountlist.h sliders.h statusicon.h callable_obj.h conference_obj.h \ - shortcuts.h + shortcuts.h eel-gconf-extensions.h sflphone_client_gnome_LDADD = $(DEPS_LIBS) $(NOTIFY_LIBS) $(SFLPHONEGTK_LIBS) $(LIBSEXY_LIBS) $(LOG4C) $(X11_LIBS) diff --git a/sflphone-client-gnome/src/actions.c b/sflphone-client-gnome/src/actions.c index 2f57ee5679ffc532d29cbae67a2c48bdce079e8d..846eaf0c62d1a333199f48c9fc03b6f4b0123f9b 100644 --- a/sflphone-client-gnome/src/actions.c +++ b/sflphone-client-gnome/src/actions.c @@ -203,22 +203,28 @@ void sflphone_fill_account_list (void) { gchar** array; gchar** accountID; unsigned int i; - int count; - GQueue *codeclist; - - DEBUG("SFLphone: Fill account list"); + int count; + GQueue *codeclist; - count = current_account_get_message_number (); + DEBUG("SFLphone: Fill account list"); + + count = current_account_get_message_number (); account_list_clear (); array = (gchar **)dbus_account_list(); if(array) { + /* + if(!(*accountID)) + DEBUG("hhhhhhhhhmmmmmmmmmmmm"); + */ + for (accountID = array; *accountID; accountID++) { account_t * a = g_new0(account_t,1); a->accountID = g_strdup(*accountID); + DEBUG("------------------- Account ID %s", a->accountID); a->credential_information = NULL; // TODO Clean codec list QUEUE account_list_add(a); @@ -521,16 +527,6 @@ sflphone_off_hold () dbus_unhold_conference(selectedConf); } - /* - if(dbus_get_is_recording(selectedCall)) - { - DEBUG("Currently recording!"); - } - else - { - DEBUG("Not recording currently"); - } - */ } @@ -565,7 +561,7 @@ sflphone_current( callable_obj_t * c ) sflphone_record( callable_obj_t * c ) { if( c->_state != CALL_STATE_HOLD ) - set_timestamp (&c->_time_start); + set_timestamp (&c->_time_start); c->_state = CALL_STATE_RECORD; calltree_update_call(current_calls, c, NULL); update_actions(); @@ -1076,10 +1072,10 @@ sflphone_rec_call() switch(selectedConf->_state) { case CONFERENCE_STATE_ACTIVE_ATACHED: - selectedCall->_state = CONFERENCE_STATE_RECORD; + selectedConf->_state = CONFERENCE_STATE_RECORD; break; case CONFERENCE_STATE_RECORD: - selectedCall->_state = CONFERENCE_STATE_ACTIVE_ATACHED; + selectedConf->_state = CONFERENCE_STATE_ACTIVE_ATACHED; break; default: WARN("Should not happen in sflphone_off_hold ()!"); @@ -1088,9 +1084,6 @@ sflphone_rec_call() } calltree_update_call(current_calls, selectedCall, NULL); update_actions(); - - // gchar* codname = sflphone_get_current_codec_name(); - // DEBUG("sflphone_get_current_codec_name: %s",codname); } void sflphone_fill_codec_list () { @@ -1112,14 +1105,6 @@ void sflphone_fill_codec_list () { } } - /* - if (codec_list_get_size() == 0) { - - // Error message - ERROR ("No audio codecs found"); - dbus_unregister(getpid()); - exit(0); - }*/ } void sflphone_fill_codec_list_per_account (account_t **account) { diff --git a/sflphone-client-gnome/src/config/accountconfigdialog.c b/sflphone-client-gnome/src/config/accountconfigdialog.c index a3757c13dbfed920181cf8a543868ea5ad6603fe..922b4a9aed40e18862038d0dd5a4e8ee84111746 100644 --- a/sflphone-client-gnome/src/config/accountconfigdialog.c +++ b/sflphone-client-gnome/src/config/accountconfigdialog.c @@ -3,6 +3,7 @@ * Author: Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> * Author: Pierre-Luc Beaudoin <pierre-luc.beaudoin@savoirfairelinux.com> * Author: Pierre-Luc Bacon <pierre-luc.bacon@savoirfairelinux.com> + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -106,6 +107,9 @@ GtkWidget * overrtp; GHashTable * directIpCallsProperties = NULL; +gchar *current_username; + + // Credentials enum { COLUMN_CREDENTIAL_REALM, @@ -186,40 +190,51 @@ static GPtrArray* getNewCredential (GHashTable * properties) { gchar *password; GHashTable * new_table; + DEBUG("shit"); + + if(valid == FALSE) { + DEBUG("Gtk tree model iter is not valid") + return NULL; + } + gtk_tree_model_get (GTK_TREE_MODEL(credentialStore), &iter, - COLUMN_CREDENTIAL_REALM, &realm, - COLUMN_CREDENTIAL_USERNAME, &username, - COLUMN_CREDENTIAL_PASSWORD, &password, - -1); + COLUMN_CREDENTIAL_REALM, &realm, + COLUMN_CREDENTIAL_USERNAME, &username, + COLUMN_CREDENTIAL_PASSWORD, &password, + -1); + DEBUG("shit"); g_hash_table_insert(properties, g_strdup(ACCOUNT_REALM), realm); - g_hash_table_insert(properties, g_strdup(ACCOUNT_AUTHENTICATION_USERNAME), username); + // better use the current_username as it is the account username in the + // g_hash_table_insert(properties, g_strdup(ACCOUNT_AUTHENTICATION_USERNAME), username); + g_hash_table_insert(properties, g_strdup(ACCOUNT_AUTHENTICATION_USERNAME), current_username); + // Do not change the password if nothing has been changed by the user if (g_strcasecmp (password, PW_HIDDEN) != 0) - g_hash_table_insert(properties, g_strdup(ACCOUNT_PASSWORD), password); + g_hash_table_insert(properties, g_strdup(ACCOUNT_PASSWORD), password); valid = gtk_tree_model_iter_next (GTK_TREE_MODEL(credentialStore), &iter); - + while (valid) { - gtk_tree_model_get (GTK_TREE_MODEL(credentialStore), &iter, - COLUMN_CREDENTIAL_REALM, &realm, - COLUMN_CREDENTIAL_USERNAME, &username, - COLUMN_CREDENTIAL_PASSWORD, &password, - -1); - - DEBUG ("Row %d: %s %s %s", row_count, username, password, realm); + gtk_tree_model_get (GTK_TREE_MODEL(credentialStore), &iter, + COLUMN_CREDENTIAL_REALM, &realm, + COLUMN_CREDENTIAL_USERNAME, &username, + COLUMN_CREDENTIAL_PASSWORD, &password, + -1); - new_table = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); - g_hash_table_insert(new_table, g_strdup(ACCOUNT_REALM), realm); - g_hash_table_insert(new_table, g_strdup(ACCOUNT_USERNAME), username); - g_hash_table_insert(new_table, g_strdup(ACCOUNT_PASSWORD), password); + DEBUG ("Row %d: %s %s %s", row_count, username, password, realm); - g_ptr_array_add (credential_array, new_table); + new_table = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_free); + g_hash_table_insert(new_table, g_strdup(ACCOUNT_REALM), realm); + g_hash_table_insert(new_table, g_strdup(ACCOUNT_USERNAME), username); + g_hash_table_insert(new_table, g_strdup(ACCOUNT_PASSWORD), password); - row_count ++; + g_ptr_array_add (credential_array, new_table); + + row_count ++; - valid = gtk_tree_model_iter_next (GTK_TREE_MODEL(credentialStore), &iter); + valid = gtk_tree_model_iter_next (GTK_TREE_MODEL(credentialStore), &iter); } return credential_array; @@ -262,12 +277,13 @@ static GtkWidget* create_basic_tab (account_t **a) { int row = 0; + DEBUG("Config: Create basic account tab"); + // Load from SIP/IAX/Unknown ? if(currentAccount) { curAccountID = currentAccount->accountID; curAccountType = g_hash_table_lookup(currentAccount->properties, ACCOUNT_TYPE); - DEBUG("Config: Current accountType %s", curAccountType); curAccountEnabled = g_hash_table_lookup(currentAccount->properties, ACCOUNT_ENABLED); curAlias = g_hash_table_lookup(currentAccount->properties, ACCOUNT_ALIAS); curHostname = g_hash_table_lookup(currentAccount->properties, ACCOUNT_HOSTNAME); @@ -433,9 +449,10 @@ static void fill_treeview_with_credential (GtkListStore * credentialStore, accou { GtkTreeIter iter; gtk_list_store_clear(credentialStore); - gtk_list_store_append (credentialStore, &iter); /* This is the default, undeletable credential */ + /* + // gtk_list_store_append (credentialStore, &iter); gchar * authentication_name = g_hash_table_lookup(account->properties, ACCOUNT_AUTHENTICATION_USERNAME); gchar * realm = g_hash_table_lookup(account->properties, ACCOUNT_REALM); if (realm == NULL || (g_strcmp0(realm, "") == 0)) { @@ -460,7 +477,8 @@ static void fill_treeview_with_credential (GtkListStore * credentialStore, accou g_signal_handlers_disconnect_by_func (G_OBJECT(entryUsername), G_CALLBACK(update_credential_cb), NULL); } - if(account->credential_information == NULL) { + */ + if(account->credential_information == NULL) { DEBUG("No credential defined"); return; } @@ -474,8 +492,7 @@ static void fill_treeview_with_credential (GtkListStore * credentialStore, accou COLUMN_CREDENTIAL_REALM, g_hash_table_lookup(element, ACCOUNT_REALM), COLUMN_CREDENTIAL_USERNAME, g_hash_table_lookup(element, ACCOUNT_USERNAME), COLUMN_CREDENTIAL_PASSWORD, g_hash_table_lookup(element, ACCOUNT_PASSWORD), - COLUMN_CREDENTIAL_DATA, element, // Pointer - -1); + COLUMN_CREDENTIAL_DATA, element, -1); } } @@ -805,7 +822,9 @@ GtkWidget* create_credential_widget (account_t **a) { gtk_container_add(GTK_CONTAINER(scrolledWindowCredential), treeViewCredential); + DEBUG("Credential pas ok"); fill_treeview_with_credential(credentialStore, *a); + DEBUG("Credential ok"); /* Credential Buttons */ hbox = gtk_hbox_new(FALSE, 10); @@ -1297,7 +1316,8 @@ void show_account_window (account_t * a) { // Get current protocol for this account protocol gchar *currentProtocol = "SIP"; - currentProtocol = (gchar *)gtk_combo_box_get_active_text(GTK_COMBO_BOX(protocolComboBox)); + if(protocolComboBox) + currentProtocol = (gchar *)gtk_combo_box_get_active_text(GTK_COMBO_BOX(protocolComboBox)); // Do not need advanced or security one for the IP2IP account if (g_strcasecmp (currentAccount->accountID, IP2IP) != 0) { @@ -1322,7 +1342,8 @@ void show_account_window (account_t * a) { } // Emit signal to hide advanced and security tabs in case of IAX - g_signal_emit_by_name (GTK_WIDGET(protocolComboBox), "changed", NULL); + if(protocolComboBox) + g_signal_emit_by_name (GTK_WIDGET(protocolComboBox), "changed", NULL); gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook) , 0); @@ -1332,17 +1353,22 @@ void show_account_window (account_t * a) { response = gtk_dialog_run (GTK_DIALOG (dialog)); // Update protocol in case it changed - gchar *proto = (gchar *)gtk_combo_box_get_active_text(GTK_COMBO_BOX(protocolComboBox)); + gchar *proto = NULL; + if(protocolComboBox) + proto = (gchar *) gtk_combo_box_get_active_text(GTK_COMBO_BOX(protocolComboBox)); + else + proto = "SIP"; // If cancel button is pressed if(response == GTK_RESPONSE_CANCEL) { gtk_widget_destroy (GTK_WIDGET(dialog)); return; } - + + gchar *key = g_strdup(ACCOUNT_USERNAME); + // If accept button is if (g_strcasecmp (currentAccount->accountID, IP2IP) != 0) { - g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_ALIAS), @@ -1362,10 +1388,13 @@ void show_account_window (account_t * a) { g_hash_table_replace(currentAccount->properties, g_strdup(ACCOUNT_MAILBOX), g_strdup((gchar *)gtk_entry_get_text(GTK_ENTRY(entryMailbox)))); - } + // Variable used to update credentials + current_username = (gchar *)g_hash_table_lookup(currentAccount->properties, g_strdup(ACCOUNT_USERNAME)); + + } - if (strcmp (proto, "SIP") == 0) { + if (proto && strcmp (proto, "SIP") == 0) { if (g_strcasecmp (currentAccount->accountID, IP2IP) != 0) { @@ -1457,7 +1486,7 @@ void show_account_window (account_t * a) { } - if (strcmp(currentProtocol, "SIP") == 0) { + if (currentProtocol && strcmp(currentProtocol, "SIP") == 0) { /* Set new credentials if any */ DEBUG("Config: Setting credentials"); @@ -1470,14 +1499,16 @@ void show_account_window (account_t * a) { */ dbus_delete_all_credential(currentAccount); + DEBUG("Config: Get new credentials"); GPtrArray * credential = getNewCredential(currentAccount->properties); currentAccount->credential_information = credential; if(currentAccount->credential_information != NULL) { int i; for(i = 0; i < currentAccount->credential_information->len; i++) { + DEBUG("Create new credential"); dbus_set_credential(currentAccount, i); } - dbus_set_number_of_credential(currentAccount, currentAccount->credential_information->len); + // dbus_set_number_of_credential(currentAccount, currentAccount->credential_information->len); } } } diff --git a/sflphone-client-gnome/src/config/audioconf.c b/sflphone-client-gnome/src/config/audioconf.c index 29ec95f57ba570700c07a4e68e393b5ac0973426..b96532e4426fc3e658ac69c4befa754b0c9f4050 100644 --- a/sflphone-client-gnome/src/config/audioconf.c +++ b/sflphone-client-gnome/src/config/audioconf.c @@ -47,6 +47,7 @@ GtkWidget *codecTreeView; // View used instead of store to get access to select GtkWidget *pulse; GtkWidget *alsabox; GtkWidget *alsa_conf; +GtkWidget *noisebox; GtkWidget *noise_conf; // Codec properties ID @@ -635,9 +636,10 @@ is_ringtone_enabled( void ) } void -ringtone_enabled( void ) +ringtone_enabled(GtkWidget *widget UNUSED, gpointer fileChooser) { dbus_ringtone_enabled(); + gtk_widget_set_sensitive(GTK_WIDGET(fileChooser), dbus_is_ringtone_enabled()); } void @@ -766,7 +768,7 @@ select_audio_manager( void ) if (gtk_toggle_action_get_active ( GTK_TOGGLE_ACTION (volumeToggle))) { main_window_volume_controls(FALSE); - dbus_set_volume_controls (FALSE); + eel_gconf_set_integer (SHOW_VOLUME_CONTROLS, FALSE); gtk_toggle_action_set_active ( GTK_TOGGLE_ACTION (volumeToggle), FALSE); } gtk_action_set_sensitive (GTK_ACTION (volumeToggle), FALSE); @@ -776,6 +778,48 @@ select_audio_manager( void ) } +void +active_echo_cancel(void) { + + gchar* state; + gchar* newstate; + + DEBUG("Audio: Active echo cancel clicked"); + state = dbus_get_echo_cancel_state(); + + DEBUG("Audio: Get echo cancel state %s", state); + + if(strcmp(state, "enabled") == 0) + newstate = "disabled"; + else + newstate = "enabled"; + + dbus_set_echo_cancel_state(newstate); + +} + + +void +active_noise_suppress(void) { + + gchar *state; + gchar *newstate; + + DEBUG("Audio: Active noise suppress clicked"); + state = dbus_get_noise_suppress_state(); + + DEBUG("Audio: Get echo cancel state %s", state); + + if(strcmp(state, "enabled") == 0) + newstate = "disabled"; + else + newstate = "enabled"; + + dbus_set_noise_suppress_state(newstate); + + +} + GtkWidget* alsa_box() { GtkWidget *ret; @@ -883,37 +927,6 @@ GtkWidget* alsa_box() return ret; } -GtkWidget* noise_box() -{ - GtkWidget *ret; - GtkWidget *enableVoiceActivity; - GtkWidget *enableNoiseReduction; - - // check button to enable ringtones - ret = gtk_hbox_new( TRUE , 1); - - enableVoiceActivity = gtk_check_button_new_with_mnemonic( _("_Voice Activity Detection")); - //TODO Use the value from D-BUS - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(enableVoiceActivity), FALSE ); - gtk_box_pack_start( GTK_BOX(ret) , enableVoiceActivity , TRUE , TRUE , 1); - //TODO Enable it - //gtk_widget_set_sensitive(GTK_WIDGET(noise_conf), FALSE); - //TODO Add a callback function - //g_signal_connect(G_OBJECT( enableNoiseReduction) , "clicked" , NULL , NULL); - - - enableNoiseReduction = gtk_check_button_new_with_mnemonic( _("_Noise Reduction (Narrow-Band Companding)")); - //TODO Use the value from D-BUS - gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(enableNoiseReduction), FALSE ); - gtk_box_pack_start( GTK_BOX(ret) , enableNoiseReduction , TRUE , TRUE , 1); - //TODO Enable it - // gtk_widget_set_sensitive(GTK_WIDGET(noise_conf), FALSE); - //TODO Add a callback function - //g_signal_connect(G_OBJECT( enableNoiseReduction) , "clicked" , NULL , NULL); - - return ret; -} - static void record_path_changed( GtkFileChooser *chooser , GtkLabel *label UNUSED) { DEBUG("record_path_changed"); @@ -931,6 +944,10 @@ GtkWidget* create_audio_configuration() // Sub boxes GtkWidget *box; GtkWidget *frame; + GtkWidget *enableEchoCancel; + GtkWidget *enableNoiseReduction; + gboolean echocancelActive, noisesuppressActive; + gchar *state; ret = gtk_vbox_new(FALSE, 10); gtk_container_set_border_width(GTK_CONTAINER(ret), 10); @@ -996,17 +1013,17 @@ GtkWidget* create_audio_configuration() gtk_box_pack_start(GTK_BOX(ret), frame, FALSE, FALSE, 0); GtkWidget *enableTone; - GtkWidget *fileChooser; + GtkWidget *fileChooser = gtk_file_chooser_button_new(_("Choose a ringtone"), GTK_FILE_CHOOSER_ACTION_OPEN); enableTone = gtk_check_button_new_with_mnemonic( _("_Enable ringtones")); gtk_toggle_button_set_active( GTK_TOGGLE_BUTTON(enableTone), dbus_is_ringtone_enabled() ); - g_signal_connect(G_OBJECT( enableTone) , "clicked" , G_CALLBACK( ringtone_enabled ) , NULL); + g_signal_connect(G_OBJECT( enableTone) , "clicked" , G_CALLBACK( ringtone_enabled ) , fileChooser); gtk_table_attach ( GTK_TABLE( table ), enableTone, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); // file chooser button - fileChooser = gtk_file_chooser_button_new(_("Choose a ringtone"), GTK_FILE_CHOOSER_ACTION_OPEN); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER( fileChooser) , g_get_home_dir()); gtk_file_chooser_set_filename(GTK_FILE_CHOOSER( fileChooser) , get_ringtone_choice()); + gtk_widget_set_sensitive(GTK_WIDGET(fileChooser), dbus_is_ringtone_enabled()); g_signal_connect( G_OBJECT( fileChooser ) , "selection_changed" , G_CALLBACK( ringtone_changed ) , NULL ); GtkFileFilter *filter = gtk_file_filter_new(); @@ -1017,6 +1034,32 @@ GtkWidget* create_audio_configuration() gtk_file_chooser_add_filter( GTK_FILE_CHOOSER( fileChooser ) , filter); gtk_table_attach ( GTK_TABLE( table ), fileChooser, 1, 2, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + // Box for the voice enhancement configuration + gnome_main_section_new_with_table (_("Voice enhancement settings"), &frame, &table, 2, 1); + gtk_box_pack_start(GTK_BOX(ret), frame, FALSE, FALSE, 0); + + enableEchoCancel = gtk_check_button_new_with_mnemonic( _("_Echo Suppression")); + state = dbus_get_echo_cancel_state(); + echocancelActive = FALSE; + if(strcmp(state, "enabled") == 0) + echocancelActive = TRUE; + else + echocancelActive = FALSE; + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enableEchoCancel), echocancelActive); + g_signal_connect(G_OBJECT(enableEchoCancel), "clicked", active_echo_cancel, NULL); + gtk_table_attach ( GTK_TABLE(table), enableEchoCancel, 0, 1, 0, 1, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + + enableNoiseReduction = gtk_check_button_new_with_mnemonic( _("_Noise Reduction")); + state = dbus_get_noise_suppress_state(); + noisesuppressActive = FALSE; + if(strcmp(state, "enabled") == 0) + noisesuppressActive = TRUE; + else + noisesuppressActive = FALSE; + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(enableNoiseReduction), noisesuppressActive); + g_signal_connect(G_OBJECT(enableNoiseReduction), "clicked", active_noise_suppress, NULL); + gtk_table_attach ( GTK_TABLE(table), enableNoiseReduction, 0, 1, 1, 2, GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0); + gtk_widget_show_all(ret); if(!pulse_audio) { diff --git a/sflphone-client-gnome/src/config/preferencesdialog.c b/sflphone-client-gnome/src/config/preferencesdialog.c index 01be2abd630bcbc1aaac1139cb545c601e2cffea..9dd08ccd8110c3ce9cab14db8f692dadcd59036d 100644 --- a/sflphone-client-gnome/src/config/preferencesdialog.c +++ b/sflphone-client-gnome/src/config/preferencesdialog.c @@ -32,22 +32,14 @@ */ #include <gtk/gtk.h> +#include <stdlib.h> +#include <stdio.h> +#include <string.h> -#include <accountlist.h> #include <accountconfigdialog.h> -#include <actions.h> -#include <config.h> -#include <dbus/dbus.h> -#include <mainwindow.h> -#include <audioconf.h> #include <addressbook-config.h> #include <shortcuts-config.h> #include <hooks-config.h> -#include <utils.h> - -#include <stdlib.h> -#include <stdio.h> -#include <string.h> /** * Local variables @@ -56,285 +48,396 @@ gboolean accDialogOpen = FALSE; gboolean dialogOpen = FALSE; gboolean ringtoneEnabled = TRUE; -GtkWidget * localPortSpinBox; -GtkWidget * localAddressCombo; - -GtkWidget * history_value; GtkWidget * status; +GtkWidget * history_value; -GtkWidget *showstatusicon; GtkWidget *starthidden; GtkWidget *popupwindow; GtkWidget *neverpopupwindow; +GtkWidget *treeView; +GtkWidget *iconview; +GtkCellRenderer *renderer; +GtkTreeViewColumn *column; +GtkTreeSelection *selection; +GtkWidget * notebook; + + +enum { + PIXBUF_COL, + TEXT_COL, + PAGE_NUMBER +}; + +typedef struct { + gchar* icon_descr; + gchar* icon_name; + gint page_number; +} browser_t; + + static int history_limit; static gboolean history_enabled = TRUE; -static void + static void set_md5_hash_cb (GtkWidget *widget UNUSED, gpointer data UNUSED) { - gboolean enabled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widget)); - dbus_set_md5_credential_hashing (enabled); + gboolean enabled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widget)); + dbus_set_md5_credential_hashing (enabled); } -static void + static void start_hidden (void) { - dbus_start_hidden (); + gboolean currentstate = eel_gconf_get_integer (START_HIDDEN); + eel_gconf_set_integer (START_HIDDEN, !currentstate); } -static void + static void set_popup_mode (GtkWidget *widget, gpointer *userdata) { - if (dbus_popup_mode () || gtk_toggle_button_get_active ( - GTK_TOGGLE_BUTTON (widget))) - dbus_switch_popup_mode (); + gboolean currentstate = eel_gconf_get_integer (POPUP_ON_CALL); + if (currentstate || gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) { + eel_gconf_set_integer (POPUP_ON_CALL, !currentstate); + } } -void + void set_notif_level () { - dbus_set_notify (); + gboolean current_state = eel_gconf_get_integer (NOTIFY_ALL); + eel_gconf_set_integer (NOTIFY_ALL, !current_state); } -static void + static void history_limit_cb (GtkSpinButton *button, void *ptr) { - history_limit = gtk_spin_button_get_value_as_int ((GtkSpinButton *) (ptr)); + history_limit = gtk_spin_button_get_value_as_int ((GtkSpinButton *) (ptr)); } -static void + static void history_enabled_cb (GtkWidget *widget) { - history_enabled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); - gtk_widget_set_sensitive (GTK_WIDGET (history_value), history_enabled); + history_enabled = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); + gtk_widget_set_sensitive (GTK_WIDGET (history_value), history_enabled); - // Toggle it through D-Bus - dbus_set_history_enabled (); + // Toggle it through D-Bus + eel_gconf_set_integer (HISTORY_ENABLED, !eel_gconf_get_integer (HISTORY_ENABLED)); } -void + void clean_history (void) { - calllist_clean_history (); + calllist_clean_history (); } void showstatusicon_cb (GtkWidget *widget, gpointer data) { - gboolean currentstatus = FALSE; + gboolean currentstatus = FALSE; - // data contains the previous value of dbus_is_status_icon_enabled () - ie before the click. - currentstatus = (gboolean) gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); + // data contains the previous value of dbus_is_status_icon_enabled () - ie before the click. + currentstatus = (gboolean) gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget)); - // Update the widget states - gtk_widget_set_sensitive (GTK_WIDGET (popupwindow), currentstatus); - gtk_widget_set_sensitive (GTK_WIDGET (neverpopupwindow), currentstatus); - gtk_widget_set_sensitive (GTK_WIDGET (starthidden), currentstatus); + // Update the widget states + gtk_widget_set_sensitive (GTK_WIDGET (popupwindow), currentstatus); + gtk_widget_set_sensitive (GTK_WIDGET (neverpopupwindow), currentstatus); + gtk_widget_set_sensitive (GTK_WIDGET (starthidden), currentstatus); - currentstatus ? show_status_icon () : hide_status_icon (); + currentstatus ? show_status_icon () : hide_status_icon (); - // Update through D-Bus - dbus_enable_status_icon (currentstatus ? "true" : "false"); + // Update through D-Bus + eel_gconf_set_integer (SHOW_STATUSICON, currentstatus); } -GtkWidget* + GtkWidget* create_general_settings () { - GtkWidget *ret, *notifAll, *trayItem, *frame, *checkBoxWidget, *label, *table; - gboolean statusicon = FALSE; - - // Load history configuration - history_load_configuration (); - - // Main widget - ret = gtk_vbox_new (FALSE, 10); - gtk_container_set_border_width (GTK_CONTAINER(ret), 10); - - // Notifications Frame - gnome_main_section_new_with_table (_("Desktop Notifications"), &frame, - &table, 2, 1); - gtk_box_pack_start (GTK_BOX(ret), frame, FALSE, FALSE, 0); - - // Notification All - notifAll = gtk_check_button_new_with_mnemonic (_("_Enable notifications")); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(notifAll), dbus_get_notify ()); - g_signal_connect(G_OBJECT( notifAll ) , "clicked" , G_CALLBACK( set_notif_level ) , NULL ); - gtk_table_attach (GTK_TABLE(table), notifAll, 0, 1, 0, 1, GTK_EXPAND - | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); - - // System Tray option frame - gnome_main_section_new_with_table (_("System Tray Icon"), &frame, &table, 4, - 1); - gtk_box_pack_start (GTK_BOX(ret), frame, FALSE, FALSE, 0); - - if (g_strcasecmp (dbus_is_status_icon_enabled (), "true") == 0) - statusicon = TRUE; - else - statusicon = FALSE; - - showstatusicon = gtk_check_button_new_with_mnemonic ( - _("Show SFLphone in the system tray")); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(showstatusicon), statusicon); - g_signal_connect (G_OBJECT (showstatusicon) , "clicked" , G_CALLBACK (showstatusicon_cb), NULL); - gtk_table_attach (GTK_TABLE (table), showstatusicon, 0, 1, 0, 1, GTK_EXPAND - | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); - - popupwindow = gtk_radio_button_new_with_mnemonic (NULL, - _("_Popup main window on incoming call")); - g_signal_connect(G_OBJECT (popupwindow), "toggled", G_CALLBACK (set_popup_mode), NULL); - gtk_table_attach (GTK_TABLE(table), popupwindow, 0, 1, 1, 2, GTK_EXPAND - | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); - - neverpopupwindow = gtk_radio_button_new_with_mnemonic_from_widget ( - GTK_RADIO_BUTTON (popupwindow), _("Ne_ver popup main window")); - gtk_table_attach (GTK_TABLE(table), neverpopupwindow, 0, 1, 2, 3, GTK_EXPAND - | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); - - // Toggle according to the user configuration - dbus_popup_mode () ? gtk_toggle_button_set_active ( - GTK_TOGGLE_BUTTON (popupwindow), TRUE) : gtk_toggle_button_set_active ( - GTK_TOGGLE_BUTTON (neverpopupwindow), TRUE); - - starthidden = gtk_check_button_new_with_mnemonic ( - _("Hide SFLphone window on _startup")); - - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(starthidden), - dbus_is_start_hidden ()); - g_signal_connect(G_OBJECT (starthidden) , "clicked" , G_CALLBACK( start_hidden ) , NULL); - gtk_table_attach (GTK_TABLE(table), starthidden, 0, 1, 3, 4, GTK_EXPAND - | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); - - // Update the widget states - gtk_widget_set_sensitive (GTK_WIDGET (popupwindow),statusicon); - gtk_widget_set_sensitive (GTK_WIDGET (neverpopupwindow),statusicon); - gtk_widget_set_sensitive (GTK_WIDGET (starthidden),statusicon); - - // HISTORY CONFIGURATION - gnome_main_section_new_with_table (_("Calls History"), &frame, &table, 3, 1); - gtk_box_pack_start (GTK_BOX(ret), frame, FALSE, FALSE, 0); - - checkBoxWidget = gtk_check_button_new_with_mnemonic ( - _("_Keep my history for at least")); - gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkBoxWidget), - history_enabled); - g_signal_connect (G_OBJECT (checkBoxWidget) , "clicked" , G_CALLBACK (history_enabled_cb) , NULL); - gtk_table_attach (GTK_TABLE(table), checkBoxWidget, 0, 1, 0, 1, GTK_EXPAND - | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); - - history_value = gtk_spin_button_new_with_range (1, 99, 1); - gtk_spin_button_set_value (GTK_SPIN_BUTTON(history_value), history_limit); - g_signal_connect( G_OBJECT (history_value) , "value-changed" , G_CALLBACK (history_limit_cb) , history_value); - gtk_widget_set_sensitive (GTK_WIDGET (history_value), - gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkBoxWidget))); - gtk_table_attach (GTK_TABLE(table), history_value, 1, 2, 0, 1, GTK_EXPAND - | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); - - label = gtk_label_new (_("days")); - gtk_table_attach (GTK_TABLE(table), label, 2, 3, 0, 1, GTK_EXPAND | GTK_FILL, - GTK_EXPAND | GTK_FILL, 0, 5); - - gtk_widget_show_all (ret); - - return ret; + GtkWidget *ret, *notifAll, *trayItem, *frame, *checkBoxWidget, *label, *table, *showstatusicon; + gboolean statusicon; + + // Load history configuration + history_load_configuration (); + + // Main widget + ret = gtk_vbox_new (FALSE, 10); + gtk_container_set_border_width (GTK_CONTAINER(ret), 10); + + // Notifications Frame + gnome_main_section_new_with_table (_("Desktop Notifications"), &frame, + &table, 2, 1); + gtk_box_pack_start (GTK_BOX(ret), frame, FALSE, FALSE, 0); + + // Notification All + notifAll = gtk_check_button_new_with_mnemonic (_("_Enable notifications")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(notifAll), eel_gconf_get_integer (NOTIFY_ALL)); + g_signal_connect(G_OBJECT( notifAll ) , "clicked" , G_CALLBACK( set_notif_level ) , NULL ); + gtk_table_attach (GTK_TABLE(table), notifAll, 0, 1, 0, 1, GTK_EXPAND + | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); + + // System Tray option frame + gnome_main_section_new_with_table (_("System Tray Icon"), &frame, &table, 4, + 1); + gtk_box_pack_start (GTK_BOX(ret), frame, FALSE, FALSE, 0); + + // Whether or not displaying an icon in the system tray + statusicon = eel_gconf_get_integer (SHOW_STATUSICON); + + showstatusicon = gtk_check_button_new_with_mnemonic ( + _("Show SFLphone in the system tray")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(showstatusicon), statusicon); + g_signal_connect (G_OBJECT (showstatusicon) , "clicked" , G_CALLBACK (showstatusicon_cb), NULL); + gtk_table_attach (GTK_TABLE (table), showstatusicon, 0, 1, 0, 1, GTK_EXPAND + | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); + + popupwindow = gtk_radio_button_new_with_mnemonic (NULL, + _("_Popup main window on incoming call")); + g_signal_connect(G_OBJECT (popupwindow), "toggled", G_CALLBACK (set_popup_mode), NULL); + gtk_table_attach (GTK_TABLE(table), popupwindow, 0, 1, 1, 2, GTK_EXPAND + | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); + + neverpopupwindow = gtk_radio_button_new_with_mnemonic_from_widget ( + GTK_RADIO_BUTTON (popupwindow), _("Ne_ver popup main window")); + gtk_table_attach (GTK_TABLE(table), neverpopupwindow, 0, 1, 2, 3, GTK_EXPAND + | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); + + // Toggle according to the user configuration + eel_gconf_get_integer (POPUP_ON_CALL) ? gtk_toggle_button_set_active ( + GTK_TOGGLE_BUTTON (popupwindow), + TRUE) : + gtk_toggle_button_set_active ( + GTK_TOGGLE_BUTTON (neverpopupwindow), + TRUE); + + starthidden = gtk_check_button_new_with_mnemonic ( + _("Hide SFLphone window on _startup")); + + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(starthidden), + eel_gconf_get_integer (START_HIDDEN)); + g_signal_connect(G_OBJECT (starthidden) , "clicked" , G_CALLBACK( start_hidden ) , NULL); + gtk_table_attach (GTK_TABLE(table), starthidden, 0, 1, 3, 4, GTK_EXPAND + | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); + + // Update the widget states + gtk_widget_set_sensitive (GTK_WIDGET (popupwindow),statusicon); + gtk_widget_set_sensitive (GTK_WIDGET (neverpopupwindow),statusicon); + gtk_widget_set_sensitive (GTK_WIDGET (starthidden),statusicon); + + // HISTORY CONFIGURATION + gnome_main_section_new_with_table (_("Calls History"), &frame, &table, 3, 1); + gtk_box_pack_start (GTK_BOX(ret), frame, FALSE, FALSE, 0); + + checkBoxWidget = gtk_check_button_new_with_mnemonic ( + _("_Keep my history for at least")); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkBoxWidget), + history_enabled); + g_signal_connect (G_OBJECT (checkBoxWidget) , "clicked" , G_CALLBACK (history_enabled_cb) , NULL); + gtk_table_attach (GTK_TABLE(table), checkBoxWidget, 0, 1, 0, 1, GTK_EXPAND + | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); + + history_value = gtk_spin_button_new_with_range (1, 99, 1); + gtk_spin_button_set_value (GTK_SPIN_BUTTON(history_value), history_limit); + g_signal_connect( G_OBJECT (history_value) , "value-changed" , G_CALLBACK (history_limit_cb) , history_value); + gtk_widget_set_sensitive (GTK_WIDGET (history_value), + gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (checkBoxWidget))); + gtk_table_attach (GTK_TABLE(table), history_value, 1, 2, 0, 1, GTK_EXPAND + | GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 5); + + label = gtk_label_new (_("days")); + gtk_table_attach (GTK_TABLE(table), label, 2, 3, 0, 1, GTK_EXPAND | GTK_FILL, + GTK_EXPAND | GTK_FILL, 0, 5); + + gtk_widget_show_all (ret); + + return ret; } -void + void save_configuration_parameters (void) { - // Address book config - addressbook_config_save_parameters (); - hooks_save_parameters (); + // Address book config + addressbook_config_save_parameters (); + hooks_save_parameters (); - // History config - dbus_set_history_limit (history_limit); + // History config + dbus_set_history_limit (history_limit); - // Direct IP calls config - // dbus_set_ip2ip_details (directIpCallsProperties); + // Direct IP calls config + // dbus_set_ip2ip_details (directIpCallsProperties); } -void + void history_load_configuration () { - history_limit = dbus_get_history_limit (); - history_enabled = TRUE; - if (g_strcasecmp (dbus_get_history_enabled (), "false") == 0) - history_enabled = FALSE; + history_limit = dbus_get_history_limit (); + history_enabled = eel_gconf_get_integer (HISTORY_ENABLED); +} + + +gboolean selection_changed_cb (GtkIconView *view, gpointer user_data) { + + GtkTreeModel *model; + GtkTreeIter iter; + GList *list; + gint page; + + model = gtk_icon_view_get_model (view); + list = gtk_icon_view_get_selected_items (view); + + if (list == NULL) + return; + + if (g_list_length (list) > 1) + return; + + gtk_tree_model_get_iter (model, &iter, list->data); + gtk_tree_model_get (model, &iter, PAGE_NUMBER, &page, -1); + + gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), page); + g_list_foreach (list, (GFunc)gtk_tree_path_free, NULL); + g_list_free (list); } + + /** * Show configuration window with tabs */ -void + void show_preferences_dialog () { - GtkDialog * dialog; - GtkWidget * notebook; - GtkWidget * tab; - guint result; - - dialogOpen = TRUE; - - dialog = GTK_DIALOG(gtk_dialog_new_with_buttons (_("Preferences"), - GTK_WINDOW(get_main_window()), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_CLOSE, - GTK_RESPONSE_ACCEPT, - NULL)); - - // Set window properties - gtk_dialog_set_has_separator (dialog, FALSE); - gtk_window_set_default_size (GTK_WINDOW(dialog), 600, 400); - gtk_container_set_border_width (GTK_CONTAINER(dialog), 0); - - // Create tabs container - notebook = gtk_notebook_new (); - gtk_box_pack_start (GTK_BOX (dialog->vbox), notebook, TRUE, TRUE, 0); - gtk_container_set_border_width (GTK_CONTAINER(notebook), 10); - gtk_widget_show (notebook); - - // General settings tab - tab = create_general_settings (); - gtk_notebook_append_page (GTK_NOTEBOOK(notebook), tab, gtk_label_new ( - _("General"))); - gtk_notebook_page_num (GTK_NOTEBOOK(notebook), tab); - - // Audio tab - tab = create_audio_configuration (); - gtk_notebook_append_page (GTK_NOTEBOOK(notebook), tab, gtk_label_new ( - _("Audio"))); - gtk_notebook_page_num (GTK_NOTEBOOK(notebook), tab); - - // Addressbook tab - tab = create_addressbook_settings (); - gtk_notebook_append_page (GTK_NOTEBOOK(notebook), tab, gtk_label_new ( - _("Address Book"))); - gtk_notebook_page_num (GTK_NOTEBOOK(notebook), tab); - - // Hooks tab - tab = create_hooks_settings (); - gtk_notebook_append_page (GTK_NOTEBOOK(notebook), tab, gtk_label_new ( - _("Hooks"))); - gtk_notebook_page_num (GTK_NOTEBOOK(notebook), tab); - - // Shortcuts tab - tab = create_shortcuts_settings(); - gtk_notebook_append_page(GTK_NOTEBOOK(notebook), tab, gtk_label_new(_("Shortcuts"))); - gtk_notebook_page_num(GTK_NOTEBOOK(notebook), tab); - - gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), 0); - - result = gtk_dialog_run (dialog); - - save_configuration_parameters (); - update_actions (); - - dialogOpen = FALSE; - - gtk_widget_destroy (GTK_WIDGET(dialog)); + GtkDialog * dialog; + GtkWidget * hbox; + GtkWidget * tab; + guint result; + + dialogOpen = TRUE; + + dialog = GTK_DIALOG(gtk_dialog_new_with_buttons (_("Preferences"), + GTK_WINDOW(get_main_window()), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_STOCK_CLOSE, + GTK_RESPONSE_ACCEPT, + NULL)); + + // Set window properties + gtk_dialog_set_has_separator (dialog, FALSE); + gtk_window_set_default_size (GTK_WINDOW(dialog), 600, 400); + gtk_container_set_border_width (GTK_CONTAINER(dialog), 0); + + + hbox = gtk_hbox_new(FALSE, 10); + + // Create tree view + iconview = gtk_icon_view_new_with_model (createModel ()); + g_object_set (iconview, + "selection-mode", GTK_SELECTION_BROWSE, + "text-column", TEXT_COL, + "pixbuf-column", PIXBUF_COL, + "columns", 1, + "margin", 10, + NULL); + // Connect the callback when clicking on an item + g_signal_connect(G_OBJECT (iconview), "selection-changed", G_CALLBACK (selection_changed_cb), NULL); + gtk_box_pack_start (GTK_BOX (hbox), iconview, TRUE, TRUE, 0); + + // Create tabs container + notebook = gtk_notebook_new (); + gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE); + gtk_box_pack_end (GTK_BOX (hbox), notebook, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (dialog->vbox), hbox, TRUE, TRUE, 0); + gtk_widget_show_all(dialog->vbox); + gtk_container_set_border_width (GTK_CONTAINER(notebook), 10); + gtk_widget_show (notebook); + + // General settings tab + tab = create_general_settings (); + gtk_notebook_append_page (GTK_NOTEBOOK(notebook), tab, gtk_label_new ( + _("General"))); + gtk_notebook_page_num (GTK_NOTEBOOK(notebook), tab); + + // Audio tab + tab = create_audio_configuration (); + gtk_notebook_append_page (GTK_NOTEBOOK(notebook), tab, gtk_label_new ( + _("Audio"))); + gtk_notebook_page_num (GTK_NOTEBOOK(notebook), tab); + + // Addressbook tab + tab = create_addressbook_settings (); + gtk_notebook_append_page (GTK_NOTEBOOK(notebook), tab, gtk_label_new ( + _("Address Book"))); + gtk_notebook_page_num (GTK_NOTEBOOK(notebook), tab); + + // Hooks tab + tab = create_hooks_settings (); + gtk_notebook_append_page (GTK_NOTEBOOK(notebook), tab, gtk_label_new ( + _("Hooks"))); + gtk_notebook_page_num (GTK_NOTEBOOK(notebook), tab); + + // Shortcuts tab + tab = create_shortcuts_settings(); + gtk_notebook_append_page(GTK_NOTEBOOK(notebook), tab, gtk_label_new(_("Shortcuts"))); + gtk_notebook_page_num(GTK_NOTEBOOK(notebook), tab); + + // By default, general settings + gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), 0); + // Highlight the corresponding icon + gtk_icon_view_select_path (iconview, gtk_tree_path_new_first ()); + + result = gtk_dialog_run (dialog); + + save_configuration_parameters (); + update_actions (); + + dialogOpen = FALSE; + + gtk_widget_destroy (GTK_WIDGET(dialog)); } + +GtkTreeModel* createModel() { + + browser_t browser_entries[5] = { + {_("General"), "start-here", 0}, + {_("Audio"), "multimedia-volume-control", 1}, + {_("Address Book"), "address-book-new", 2}, + {_("Hooks"), "gnome-globe", 3}, + {_("Shortcuts"), "preferences-desktop-keyboard", 4} + }; + + GdkPixbuf *pixbuf; + GtkTreeIter iter; + GtkListStore *store; + GError *error = NULL; + GtkIconSet *icon = NULL; + gint i; + + store = gtk_list_store_new (3, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_INT); + GtkIconTheme* theme = gtk_icon_theme_get_default(); + + for(i = 0; i < 5; i++) { + + gtk_list_store_append(store, &iter); + + pixbuf = gtk_icon_theme_load_icon (theme, browser_entries[i].icon_name, 48, 0, &error); + + gtk_list_store_set(store, &iter, + PIXBUF_COL, pixbuf, + TEXT_COL, browser_entries[i].icon_descr, + PAGE_NUMBER, browser_entries[i].page_number, + -1); + + if (pixbuf != NULL) { + gdk_pixbuf_unref (pixbuf); + } else { + DEBUG("Couldn't load icon: %s", error->message); + g_error_free (error); + } + } + + return GTK_TREE_MODEL(store); +} diff --git a/sflphone-client-gnome/src/config/preferencesdialog.h b/sflphone-client-gnome/src/config/preferencesdialog.h index e14a240111419084212a5e59f9bcde86b944adb8..7f7db4d26e489968704e766184b9e121624090fc 100644 --- a/sflphone-client-gnome/src/config/preferencesdialog.h +++ b/sflphone-client-gnome/src/config/preferencesdialog.h @@ -121,4 +121,6 @@ void save_configuration_parameters (void); void history_load_configuration (void); +GtkTreeModel* createModel(); + #endif diff --git a/sflphone-client-gnome/src/contacts/calllist.c b/sflphone-client-gnome/src/contacts/calllist.c index c5566261be350aa45e96e6d2e2eab331874e8ab1..10744e58ff0fb1c1548661fedceb5f4c9faef927 100644 --- a/sflphone-client-gnome/src/contacts/calllist.c +++ b/sflphone-client-gnome/src/contacts/calllist.c @@ -91,7 +91,7 @@ calllist_reset (calltab_t* tab) void calllist_add_history_entry (callable_obj_t *obj) { - if ( g_strcasecmp (dbus_get_history_enabled (), "true") == 0) + if (eel_gconf_get_integer (HISTORY_ENABLED)) { g_queue_push_tail (history->callQueue, (gpointer *) obj); calltree_add_call (history, obj, NULL); diff --git a/sflphone-client-gnome/src/contacts/calltree.c b/sflphone-client-gnome/src/contacts/calltree.c index dde1cae4c5e7345cf3c63ea8fadc546b0bc83c9b..6417d628fb4775731f2354fde2ac82ba910c61e6 100644 --- a/sflphone-client-gnome/src/contacts/calltree.c +++ b/sflphone-client-gnome/src/contacts/calltree.c @@ -989,7 +989,7 @@ void calltree_add_history_entry (callable_obj_t * c) DEBUG("calltree_add_history_entry %s", c->_callID); - if ( g_strcasecmp (dbus_get_history_enabled (), "false") == 0) + if (!eel_gconf_get_integer (HISTORY_ENABLED)) return; GdkPixbuf *pixbuf=NULL; diff --git a/sflphone-client-gnome/src/dbus/configurationmanager-introspec.xml b/sflphone-client-gnome/src/dbus/configurationmanager-introspec.xml index 1f7eddda87134e762923c4d13d94bc2e3c5e78d9..9088954a21196964b799cbccdec78393c6efbfb4 100644 --- a/sflphone-client-gnome/src/dbus/configurationmanager-introspec.xml +++ b/sflphone-client-gnome/src/dbus/configurationmanager-introspec.xml @@ -574,6 +574,36 @@ </arg> </method> + <method name="getEchoCancelState" tp:name-for-bindings="getEchoCancelState"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setEchoCancelState" tp:name-for-bindings="setEchoCancelState"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="in"> + </arg> + </method> + + <method name="getNoiseSuppressState" tp:name-for-bindings="getNoiseSuppressState"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> + </tp:docstring> + </arg> + </method> + + <method name="setNoiseSuppressState" tp:name-for-binding="setNoiseSuppressState"> + <arg type="s" name="state" direction="in"> + </arg> + </method> + <!-- General Settings Panel --> <method name="isMd5CredentialHashing" tp:name-for-bindings="isMd5CredentialHashing"> diff --git a/sflphone-client-gnome/src/dbus/dbus.c b/sflphone-client-gnome/src/dbus/dbus.c index 8e5cd1d18b0116dc581cc3d9ac90b1697cefaa38..b3d4dc16f1fdc13eb78c645018bd154f39223673 100644 --- a/sflphone-client-gnome/src/dbus/dbus.c +++ b/sflphone-client-gnome/src/dbus/dbus.c @@ -893,6 +893,8 @@ dbus_account_details(gchar * accountID) GError *error = NULL; GHashTable * details; + DEBUG("Dbus: Get account detail accountid %s", accountID); + if (!org_sflphone_SFLphone_ConfigurationManager_get_account_details( configurationManagerProxy, accountID, &details, &error)) { @@ -1503,6 +1505,72 @@ dbus_get_current_audio_output_plugin() return plugin; } +/** + * Get echo canceller state + */ +gchar* +dbus_get_echo_cancel_state() +{ + gchar* state = ""; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_echo_cancel_state(configurationManagerProxy, &state, &error); + if(error) { + ERROR("DBus: Failed to call get_echo_cancel_state() on ConfigurationManager: %s", error->message); + g_error_free(error); + } + return state; +} + +/** + * Set echo canceller state + */ +void +dbus_set_echo_cancel_state(gchar* state) +{ + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_echo_cancel_state( + configurationManagerProxy, state, &error); + if (error) + { + ERROR("Failed to call set_echo_cancel_state() on ConfigurationManager: %s", error->message); + g_error_free(error); + } +} + + +/** + * Get noise reduction state + */ +gchar* +dbus_get_noise_suppress_state() +{ + gchar* state = ""; + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_get_noise_suppress_state(configurationManagerProxy, &state, &error); + if(error) { + ERROR("DBus: Failed to call get_noise_suppress_state() on ConfigurationManager: %s", error->message); + g_error_free(error); + } + return state; +} + +/** + * Set echo canceller state + */ +void +dbus_set_noise_suppress_state(gchar* state) +{ + GError* error = NULL; + org_sflphone_SFLphone_ConfigurationManager_set_noise_suppress_state( + configurationManagerProxy, state, &error); + if (error) + { + ERROR("Failed to call set_noise_suppress_state() on ConfigurationManager: %s", error->message); + g_error_free(error); + } +} + + gchar* dbus_get_ringtone_choice() { @@ -1660,32 +1728,6 @@ dbus_set_searchbar() } } -int -dbus_get_volume_controls() -{ - int state; - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_volume_controls( - configurationManagerProxy, &state, &error); - if (error) - { - g_error_free(error); - } - return state; -} - -void -dbus_set_volume_controls(gboolean display) -{ - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_volume_controls( - configurationManagerProxy, display, &error); - if (error) - { - g_error_free(error); - } -} - void dbus_join_participant(const gchar* sel_callID, const gchar* drag_callID) { @@ -1770,7 +1812,7 @@ dbus_join_conference(const gchar* sel_confID, const gchar* drag_confID) void dbus_set_record(const gchar* id) { - DEBUG("dbus_set_record %s\n", id); + DEBUG("dbus_set_record %s", id); GError* error = NULL; org_sflphone_SFLphone_CallManager_set_recording(callManagerProxy, id, &error); @@ -1783,7 +1825,7 @@ dbus_set_record(const gchar* id) gboolean dbus_get_is_recording(const callable_obj_t * c) { - DEBUG("dbus_get_is_recording %s\n", c->_callID); + DEBUG("dbus_get_is_recording %s", c->_callID); GError* error = NULL; gboolean isRecording; org_sflphone_SFLphone_CallManager_get_is_recording(callManagerProxy, @@ -1834,32 +1876,6 @@ dbus_set_history_limit(const guint days) } } -void -dbus_set_history_enabled() -{ - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_history_enabled( - configurationManagerProxy, &error); - if (error) - { - g_error_free(error); - } -} - -gchar* -dbus_get_history_enabled() -{ - gchar* state; - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_get_history_enabled( - configurationManagerProxy, &state, &error); - if (error) - { - g_error_free(error); - } - return state; -} - guint dbus_get_history_limit(void) { @@ -1874,96 +1890,6 @@ dbus_get_history_limit(void) return (guint) days; } -void -dbus_start_hidden(void) -{ - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_start_hidden( - configurationManagerProxy, &error); - if (error) - { - g_error_free(error); - } -} - -int -dbus_is_start_hidden(void) -{ - GError* error = NULL; - int state; - org_sflphone_SFLphone_ConfigurationManager_is_start_hidden( - configurationManagerProxy, &state, &error); - if (error) - { - g_error_free(error); - } - return state; -} - -int -dbus_popup_mode(void) -{ - GError* error = NULL; - int state; - org_sflphone_SFLphone_ConfigurationManager_popup_mode( - configurationManagerProxy, &state, &error); - if (error) - { - g_error_free(error); - } - return state; -} - -void -dbus_switch_popup_mode(void) -{ - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_switch_popup_mode( - configurationManagerProxy, &error); - if (error) - { - g_error_free(error); - } -} - -void -dbus_set_notify(void) -{ - GError* error = NULL; - org_sflphone_SFLphone_ConfigurationManager_set_notify( - configurationManagerProxy, &error); - if (error) - { - g_error_free(error); - } -} - -guint -dbus_get_notify(void) -{ - gint level; - GError* error = NULL; - if (!org_sflphone_SFLphone_ConfigurationManager_get_notify( - configurationManagerProxy, &level, &error)) - { - if (error->domain == DBUS_GERROR && error->code - == DBUS_GERROR_REMOTE_EXCEPTION) - { - ERROR ("Caught remote method (get_notify) exception %s: %s", dbus_g_error_get_name(error), error->message); - } - else - { - ERROR ("Error while calling get_notify: %s", error->message); - } - g_error_free(error); - return 0; - } - else - { - return (guint) level; - } -} - void dbus_set_audio_manager(int api) { @@ -2613,32 +2539,3 @@ dbus_set_shortcuts(GHashTable * shortcuts) } } - -void dbus_enable_status_icon (const gchar *value) { - - GError *error = NULL; - - org_sflphone_SFLphone_ConfigurationManager_enable_status_icon (configurationManagerProxy, value, &error); - - if (error != NULL) { - ERROR ("Failed to call enable_status_icon on ConfigurationManager: %s", - error->message); - g_error_free (error); - } -} - -gchar* dbus_is_status_icon_enabled (void) { - - GError *error = NULL; - gchar *value = NULL; - - org_sflphone_SFLphone_ConfigurationManager_is_status_icon_enabled (configurationManagerProxy, &value, &error); - - if (error != NULL) { - ERROR ("Failed to call is_status_icon_enabled on ConfigurationManager: %s", - error->message); - g_error_free (error); - } - return value; -} - diff --git a/sflphone-client-gnome/src/dbus/dbus.h b/sflphone-client-gnome/src/dbus/dbus.h index cf75d9ce98095092c525900676d5e20a1a05f606..d028b66ae474c33274fd7c9232d79bc63966a5da 100644 --- a/sflphone-client-gnome/src/dbus/dbus.h +++ b/sflphone-client-gnome/src/dbus/dbus.h @@ -315,6 +315,32 @@ int dbus_get_audio_device_index(const gchar* name); */ gchar* dbus_get_current_audio_output_plugin(); + +/** + * ConfigurationManager - Get the current state of echo canceller + * @return gchar* The state (enabled/disabled) + */ +gchar *dbus_get_echo_cancel_state(void); + +/** + * ConfigurationManager - Set the crrent state of echo canceller + * @param gchar* The state (enabled/disabled) + */ +void dbus_set_echo_cancel_state(gchar *state); + +/** + * ConfigurationManager - Get the current noise suppressor state + * @return gchar* The state (enabled/disabled) + */ +gchar *dbus_get_noise_suppress_state(void); + +/** + * ConfigurationManager - Set the current noise suppressor state + * @param gchar* The state (enabled/disabled) + */ +void dbus_set_noise_suppress_state(gchar *state); + + /** * ConfigurationManager - Query to server to * know if MD5 credential hashing is enabled. @@ -388,24 +414,6 @@ void dbus_set_searchbar( ); */ int dbus_get_searchbar( void ); -/** - * ConfigurationManager - Set the volume controls visible or not - */ -void dbus_set_volume_controls (gboolean display); - -/** - * ConfigurationManager - Tells if the user wants to display the volume controls or not - * @return int 1 if the controls have to be displayed - * 0 otherwise - */ -int dbus_get_volume_controls( void ); - -/** - * ConfigurationManager - Configure the start-up option - * At startup, SFLphone can be displayed or start hidden in the system tray - */ -void dbus_start_hidden( void ); - /** * ConfigurationManager - Gives the maximum number of days the user wants to have in the history * @return double The maximum number of days @@ -417,31 +425,6 @@ guint dbus_get_history_limit( void ); */ void dbus_set_history_limit (const guint days); -void dbus_set_history_enabled (void); - -gchar* dbus_get_history_enabled (void); - -/** - * ConfigurationManager - Configure the start-up option - * @return int 1 if SFLphone should start in the system tray - * 0 otherwise - */ -int dbus_is_start_hidden( void ); - -/** - * ConfigurationManager - Configure the popup behaviour - * When SFLphone is in the system tray, you can configure when it popups - * Never or only on incoming calls - */ -void dbus_switch_popup_mode( void ); - -/** - * ConfigurationManager - Configure the popup behaviour - * @return int 1 if it should popup on incoming calls - * 0 if it should never popups - */ -int dbus_popup_mode( void ); - /** * ConfigurationManager - Returns the selected audio manager * @return int 0 ALSA @@ -456,18 +439,6 @@ int dbus_get_audio_manager( void ); */ void dbus_set_audio_manager( int api ); -/** - * ConfigurationManager - Configure the notification level - * @return int 0 disable - * 1 enable - */ -guint dbus_get_notify( void ); - -/** - * ConfigurationManager - Configure the notification level - */ -void dbus_set_notify( void ); - /** * ConfigurationManager - Start a tone when a new call is open and no numbers have been dialed * @param start 1 to start @@ -613,7 +584,4 @@ void dbus_set_window_position_y (const guint posy); GHashTable* dbus_get_shortcuts(void); void dbus_set_shortcuts(GHashTable * shortcuts); -void dbus_enable_status_icon (const gchar*); -gchar* dbus_is_status_icon_enabled (void); - #endif diff --git a/sflphone-client-gnome/src/eel-gconf-extensions.c b/sflphone-client-gnome/src/eel-gconf-extensions.c new file mode 100644 index 0000000000000000000000000000000000000000..2bc4ab804f5d6d16e3bf586a9de8b189cba02fb0 --- /dev/null +++ b/sflphone-client-gnome/src/eel-gconf-extensions.c @@ -0,0 +1,606 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ + +/* eel-gconf-extensions.c - Stuff to make GConf easier to use. + + Copyright (C) 2000, 2001 Eazel, Inc. + + The Gnome Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The Gnome Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the Gnome Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + + Authors: Ramiro Estrugo <ramiro@eazel.com> +*/ + +#include <stdlib.h> +#include <config.h> +#include "eel-gconf-extensions.h" + +#include <gconf/gconf-client.h> +#include <gconf/gconf.h> +#include <gtk/gtkwidget.h> +#include <libgnome/gnome-i18n.h> +#include <gtk/gtkmessagedialog.h> + +static GConfClient *global_gconf_client = NULL; + +static void +global_client_free (void) +{ + if (global_gconf_client == NULL) { + return; + } + + g_object_unref (G_OBJECT (global_gconf_client)); + global_gconf_client = NULL; +} + +/* Public */ +GConfClient * +eel_gconf_client_get_global (void) +{ + /* Initialize gconf if needed */ + if (!gconf_is_initialized ()) { + char *argv[] = { "eel-preferences", NULL }; + GError *error = NULL; + char *teststr; + + if (!gconf_init (1, argv, &error)) { + if (eel_gconf_handle_error (&error)) { + return NULL; + } + } + + /* check if gconf schemas are working */ + teststr = gconf_client_get_string (eel_gconf_client_get_global(), + "/apps/gpdf/gconf_test", NULL); + if (!teststr) + { + GtkWidget *dialog; + dialog = gtk_message_dialog_new (NULL, + GTK_DIALOG_MODAL, + GTK_MESSAGE_ERROR, + GTK_BUTTONS_OK, + _("Cannot find a schema for gpdf preferences. \n" + "Check your gconf setup, look at gpdf FAQ for \n" + "more info")); + gtk_dialog_run (GTK_DIALOG (dialog)); + exit (0); + } + else + { + g_free (teststr); + } + + } + + if (global_gconf_client == NULL) { + global_gconf_client = gconf_client_get_default (); + g_atexit (global_client_free); + } + + return global_gconf_client; +} + +gboolean +eel_gconf_handle_error (GError **error) +{ + g_return_val_if_fail (error != NULL, FALSE); + + if (*error != NULL) { + g_warning (_("GConf error:\n %s"), (*error)->message); + g_error_free (*error); + *error = NULL; + + return TRUE; + } + + return FALSE; +} + +void +eel_gconf_set_boolean (const char *key, + gboolean boolean_value) +{ + GConfClient *client; + GError *error = NULL; + + g_return_if_fail (key != NULL); + + client = eel_gconf_client_get_global (); + g_return_if_fail (client != NULL); + + gconf_client_set_bool (client, key, boolean_value, &error); + eel_gconf_handle_error (&error); +} + +gboolean +eel_gconf_get_boolean (const char *key) +{ + gboolean result; + GConfClient *client; + GError *error = NULL; + + g_return_val_if_fail (key != NULL, FALSE); + + client = eel_gconf_client_get_global (); + g_return_val_if_fail (client != NULL, FALSE); + + result = gconf_client_get_bool (client, key, &error); + + if (eel_gconf_handle_error (&error)) { + result = FALSE; + } + + return result; +} + +void +eel_gconf_set_integer (const char *key, + int int_value) +{ + GConfClient *client; + GError *error = NULL; + + g_return_if_fail (key != NULL); + + client = eel_gconf_client_get_global (); + g_return_if_fail (client != NULL); + + gconf_client_set_int (client, key, int_value, &error); + eel_gconf_handle_error (&error); +} + +int +eel_gconf_get_integer (const char *key) +{ + int result; + GConfClient *client; + GError *error = NULL; + + g_return_val_if_fail (key != NULL, 0); + + client = eel_gconf_client_get_global (); + g_return_val_if_fail (client != NULL, 0); + + result = gconf_client_get_int (client, key, &error); + + if (eel_gconf_handle_error (&error)) { + result = 0; + } + + return result; +} + +void +eel_gconf_set_float (const char *key, + gfloat float_value) +{ + GConfClient *client; + GError *error = NULL; + + g_return_if_fail (key != NULL); + + client = eel_gconf_client_get_global (); + g_return_if_fail (client != NULL); + + gconf_client_set_float (client, key, float_value, &error); + eel_gconf_handle_error (&error); +} + +gfloat +eel_gconf_get_float (const char *key) +{ + gfloat result; + GConfClient *client; + GError *error = NULL; + + g_return_val_if_fail (key != NULL, 0); + + client = eel_gconf_client_get_global (); + g_return_val_if_fail (client != NULL, 0); + + result = gconf_client_get_float (client, key, &error); + + if (eel_gconf_handle_error (&error)) { + result = 0; + } + + return result; +} + +void +eel_gconf_set_string (const char *key, + const char *string_value) +{ + GConfClient *client; + GError *error = NULL; + + g_return_if_fail (key != NULL); + g_return_if_fail (string_value != NULL); + + client = eel_gconf_client_get_global (); + g_return_if_fail (client != NULL); + + gconf_client_set_string (client, key, string_value, &error); + eel_gconf_handle_error (&error); +} + +void +eel_gconf_unset (const char *key) +{ + GConfClient *client; + GError *error = NULL; + + g_return_if_fail (key != NULL); + + client = eel_gconf_client_get_global (); + g_return_if_fail (client != NULL); + + gconf_client_unset (client, key, &error); + eel_gconf_handle_error (&error); +} + +char * +eel_gconf_get_string (const char *key) +{ + char *result; + GConfClient *client; + GError *error = NULL; + + g_return_val_if_fail (key != NULL, NULL); + + client = eel_gconf_client_get_global (); + g_return_val_if_fail (client != NULL, NULL); + + result = gconf_client_get_string (client, key, &error); + + if (eel_gconf_handle_error (&error)) { + result = g_strdup (""); + } + + return result; +} + +void +eel_gconf_set_string_list (const char *key, + const GSList *slist) +{ + GConfClient *client; + GError *error; + + g_return_if_fail (key != NULL); + + client = eel_gconf_client_get_global (); + g_return_if_fail (client != NULL); + + error = NULL; + gconf_client_set_list (client, key, GCONF_VALUE_STRING, + /* Need cast cause of GConf api bug */ + (GSList *) slist, + &error); + eel_gconf_handle_error (&error); +} + +GSList * +eel_gconf_get_string_list (const char *key) +{ + GSList *slist; + GConfClient *client; + GError *error; + + g_return_val_if_fail (key != NULL, NULL); + + client = eel_gconf_client_get_global (); + g_return_val_if_fail (client != NULL, NULL); + + error = NULL; + slist = gconf_client_get_list (client, key, GCONF_VALUE_STRING, &error); + if (eel_gconf_handle_error (&error)) { + slist = NULL; + } + + return slist; +} + +/* This code wasn't part of the original eel-gconf-extensions.c */ +void +eel_gconf_set_integer_list (const char *key, + const GSList *slist) +{ + GConfClient *client; + GError *error; + + g_return_if_fail (key != NULL); + + client = eel_gconf_client_get_global (); + g_return_if_fail (client != NULL); + + error = NULL; + gconf_client_set_list (client, key, GCONF_VALUE_INT, + /* Need cast cause of GConf api bug */ + (GSList *) slist, + &error); + eel_gconf_handle_error (&error); +} + +GSList * +eel_gconf_get_integer_list (const char *key) +{ + GSList *slist; + GConfClient *client; + GError *error; + + g_return_val_if_fail (key != NULL, NULL); + + client = eel_gconf_client_get_global (); + g_return_val_if_fail (client != NULL, NULL); + + error = NULL; + slist = gconf_client_get_list (client, key, GCONF_VALUE_INT, &error); + if (eel_gconf_handle_error (&error)) { + slist = NULL; + } + + return slist; +} +/* End of added code */ + +gboolean +eel_gconf_is_default (const char *key) +{ + gboolean result; + GConfValue *value; + GError *error = NULL; + + g_return_val_if_fail (key != NULL, FALSE); + + value = gconf_client_get_without_default (eel_gconf_client_get_global (), key, &error); + + if (eel_gconf_handle_error (&error)) { + if (value != NULL) { + gconf_value_free (value); + } + return FALSE; + } + + result = (value == NULL); + + if (value != NULL) { + gconf_value_free (value); + } + + + return result; +} + +gboolean +eel_gconf_monitor_add (const char *directory) +{ + GError *error = NULL; + GConfClient *client; + + g_return_val_if_fail (directory != NULL, FALSE); + + client = eel_gconf_client_get_global (); + g_return_val_if_fail (client != NULL, FALSE); + + gconf_client_add_dir (client, + directory, + GCONF_CLIENT_PRELOAD_NONE, + &error); + + if (eel_gconf_handle_error (&error)) { + return FALSE; + } + + return TRUE; +} + +gboolean +eel_gconf_monitor_remove (const char *directory) +{ + GError *error = NULL; + GConfClient *client; + + if (directory == NULL) { + return FALSE; + } + + client = eel_gconf_client_get_global (); + g_return_val_if_fail (client != NULL, FALSE); + + gconf_client_remove_dir (client, + directory, + &error); + + if (eel_gconf_handle_error (&error)) { + return FALSE; + } + + return TRUE; +} + +void +eel_gconf_suggest_sync (void) +{ + GConfClient *client; + GError *error = NULL; + + client = eel_gconf_client_get_global (); + g_return_if_fail (client != NULL); + + gconf_client_suggest_sync (client, &error); + eel_gconf_handle_error (&error); +} + +GConfValue* +eel_gconf_get_value (const char *key) +{ + GConfValue *value = NULL; + GConfClient *client; + GError *error = NULL; + + g_return_val_if_fail (key != NULL, NULL); + + client = eel_gconf_client_get_global (); + g_return_val_if_fail (client != NULL, NULL); + + value = gconf_client_get (client, key, &error); + + if (eel_gconf_handle_error (&error)) { + if (value != NULL) { + gconf_value_free (value); + value = NULL; + } + } + + return value; +} + +void +eel_gconf_set_value (const char *key, const GConfValue *value) +{ + GConfClient *client; + GError *error = NULL; + + g_return_if_fail (key != NULL); + + client = eel_gconf_client_get_global (); + g_return_if_fail (client != NULL); + + gconf_client_set (client, key, value, &error); + + if (eel_gconf_handle_error (&error)) { + return; + } +} + +gboolean +eel_gconf_key_exists (const char *key) +{ + GConfValue *value = NULL; + GConfClient *client; + GError *error = NULL; + gboolean error_occurred; + gboolean value_found; + + g_return_val_if_fail (key != NULL, FALSE); + + client = eel_gconf_client_get_global (); + g_return_val_if_fail (client != NULL, FALSE); + + value = gconf_client_get (client, key, &error); + + value_found = (value != NULL); + error_occurred = (error != NULL); + + eel_gconf_value_free (value); + if (error != NULL) { + g_error_free (error); + } + + return (!error_occurred && value_found); +} + +void +eel_gconf_value_free (GConfValue *value) +{ + if (value == NULL) { + return; + } + + gconf_value_free (value); +} + +guint +eel_gconf_notification_add (const char *key, + GConfClientNotifyFunc notification_callback, + gpointer callback_data) +{ + guint notification_id; + GConfClient *client; + GError *error = NULL; + + g_return_val_if_fail (key != NULL, EEL_GCONF_UNDEFINED_CONNECTION); + g_return_val_if_fail (notification_callback != NULL, EEL_GCONF_UNDEFINED_CONNECTION); + + client = eel_gconf_client_get_global (); + g_return_val_if_fail (client != NULL, EEL_GCONF_UNDEFINED_CONNECTION); + + notification_id = gconf_client_notify_add (client, + key, + notification_callback, + callback_data, + NULL, + &error); + + if (eel_gconf_handle_error (&error)) { + if (notification_id != EEL_GCONF_UNDEFINED_CONNECTION) { + gconf_client_notify_remove (client, notification_id); + notification_id = EEL_GCONF_UNDEFINED_CONNECTION; + } + } + + return notification_id; +} + +void +eel_gconf_notification_remove (guint notification_id) +{ + GConfClient *client; + + if (notification_id == EEL_GCONF_UNDEFINED_CONNECTION) { + return; + } + + client = eel_gconf_client_get_global (); + g_return_if_fail (client != NULL); + + gconf_client_notify_remove (client, notification_id); +} + +/* Simple wrapper for eel_gconf_notifier_add which + * adds the notifier id to the GList given as argument + * so that a call to gpdf_notification_free can remove the notifiers + */ +void +gpdf_notification_add (const char *key, + GConfClientNotifyFunc notification_callback, + gpointer callback_data, + GList **notifiers) +{ + guint id = 0; + + id = eel_gconf_notification_add(key, + notification_callback, + callback_data); + if (notifiers != NULL) { + *notifiers = g_list_append(*notifiers, + (gpointer)id); + } +} + +/* Removes all the notifiers listed in notifiers */ +/* Frees the notifiers list */ +void +gpdf_notification_remove (GList **notifiers) +{ + g_list_foreach(*notifiers, + (GFunc)eel_gconf_notification_remove, + NULL); + g_list_free(*notifiers); + *notifiers = NULL; +} + + diff --git a/sflphone-client-gnome/src/eel-gconf-extensions.h b/sflphone-client-gnome/src/eel-gconf-extensions.h new file mode 100644 index 0000000000000000000000000000000000000000..f4afab26067c4f0c2116dc2964f0cf6d3844ea19 --- /dev/null +++ b/sflphone-client-gnome/src/eel-gconf-extensions.h @@ -0,0 +1,88 @@ +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ + +/* eel-gconf-extensions.h - Stuff to make GConf easier to use. + + Copyright (C) 2000, 2001 Eazel, Inc. + + The Gnome Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The Gnome Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the Gnome Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. + + Authors: Ramiro Estrugo <ramiro@eazel.com> +*/ + +#ifndef EEL_GCONF_EXTENSIONS_H +#define EEL_GCONF_EXTENSIONS_H + +#include <glib/gerror.h> +#include <gconf/gconf.h> +#include <gconf/gconf-client.h> + +#ifdef __cplusplus +BEGIN_EXTERN_C +#endif + +#define EEL_GCONF_UNDEFINED_CONNECTION 0 + +GConfClient *eel_gconf_client_get_global (void); +gboolean eel_gconf_handle_error (GError **error); +void eel_gconf_set_boolean (const char *key, + gboolean boolean_value); +gboolean eel_gconf_get_boolean (const char *key); +int eel_gconf_get_integer (const char *key); +void eel_gconf_set_integer (const char *key, + int int_value); +gfloat eel_gconf_get_float (const char *key); +void eel_gconf_set_float (const char *key, + gfloat float_value); +char * eel_gconf_get_string (const char *key); +void eel_gconf_set_string (const char *key, + const char *string_value); +GSList * eel_gconf_get_string_list (const char *key); +void eel_gconf_set_string_list (const char *key, + const GSList *string_list_value); +gboolean eel_gconf_is_default (const char *key); +gboolean eel_gconf_monitor_add (const char *directory); +gboolean eel_gconf_monitor_remove (const char *directory); +void eel_gconf_suggest_sync (void); +GConfValue* eel_gconf_get_value (const char *key); +gboolean eel_gconf_value_is_equal (const GConfValue *a, + const GConfValue *b); +void eel_gconf_set_value (const char *key, + const GConfValue *value); +gboolean eel_gconf_key_exists (const char *key); + +void eel_gconf_value_free (GConfValue *value); +void eel_gconf_unset (const char *key); + +/* Functions which weren't part of the eel-gconf-extensions.h file from eel */ +GSList *eel_gconf_get_integer_list (const char *key); +void eel_gconf_set_integer_list (const char *key, + const GSList *slist); +void gpdf_notification_add (const char *key, + GConfClientNotifyFunc notification_callback, + gpointer callback_data, + GList **notifiers); +void gpdf_notification_remove (GList **notifiers); +guint eel_gconf_notification_add (const char *key, + GConfClientNotifyFunc notification_callback, + gpointer callback_data); +void eel_gconf_notification_remove (guint notification_id); + +#ifdef __cplusplus +END_EXTERN_C +#endif + +#endif /* EEL_GCONF_EXTENSIONS_H */ + diff --git a/sflphone-client-gnome/src/icons/icon_factory.c b/sflphone-client-gnome/src/icons/icon_factory.c index c18e038b0ae7346607cd8885c692e2001ab39215..2d2d944fdb8b34676d2a26d375d27e9e49f522b1 100644 --- a/sflphone-client-gnome/src/icons/icon_factory.c +++ b/sflphone-client-gnome/src/icons/icon_factory.c @@ -29,6 +29,8 @@ */ #include "icon_factory.h" +#include "icons/pixmap_data.h" + static GtkIconFactory *icon_factory = NULL; @@ -59,6 +61,11 @@ void add_icon (GtkIconFactory *factory, const gchar *stock_id, const guint8 *ico DEBUG ("Icon %s already exists in factory\n", stock_id); } +GtkIconSet* lookup_sflphone_factory (const gchar *stock_id) { + + return gtk_icon_factory_lookup (icon_factory, stock_id); +} + void register_sflphone_stock_icons (GtkIconFactory *factory) { add_icon (factory, GTK_STOCK_PICKUP, gnome_stock_pickup, GTK_ICON_SIZE_SMALL_TOOLBAR); diff --git a/sflphone-client-gnome/src/icons/icon_factory.h b/sflphone-client-gnome/src/icons/icon_factory.h index 6392832ac6515ae1ee9c640c92f03040ec1a6683..b31c1b89a2304ab04bfec251b2cae353292e3382 100644 --- a/sflphone-client-gnome/src/icons/icon_factory.h +++ b/sflphone-client-gnome/src/icons/icon_factory.h @@ -49,6 +49,8 @@ G_BEGIN_DECLS void init_icon_factory (void); +GtkIconSet* lookup_sflphone_factory (const gchar *stock_id); + G_END_DECLS #endif diff --git a/sflphone-client-gnome/src/main.c b/sflphone-client-gnome/src/main.c index 6ab9d8c8329698041ee2e5b4144393ec7ae11d87..38cb5cd3f7a05b423116e4727294c168277a414d 100644 --- a/sflphone-client-gnome/src/main.c +++ b/sflphone-client-gnome/src/main.c @@ -72,7 +72,6 @@ main (int argc, char *argv[]) { // Handle logging int i; - gboolean statusicon = FALSE; // Startup logging startup_logging (); @@ -117,13 +116,12 @@ main (int argc, char *argv[]) if (sflphone_init ()) { - if (g_strcasecmp (dbus_is_status_icon_enabled (), "true") == 0) - statusicon = TRUE; + if (eel_gconf_get_integer (SHOW_STATUSICON)) + show_status_icon (); - if (statusicon) show_status_icon (); create_main_window (); - if (statusicon && dbus_is_start_hidden ()) + if (eel_gconf_get_integer (SHOW_STATUSICON) && eel_gconf_get_integer (START_HIDDEN)) { gtk_widget_hide (GTK_WIDGET( get_main_window() )); set_minimized (TRUE); diff --git a/sflphone-client-gnome/src/mainwindow.c b/sflphone-client-gnome/src/mainwindow.c index 81fbe51c51167aeb705227f8fba2af19a6e6e3da..cf3ca817572c8c3fb16dfeaa2846c31a24459755 100644 --- a/sflphone-client-gnome/src/mainwindow.c +++ b/sflphone-client-gnome/src/mainwindow.c @@ -44,6 +44,7 @@ #include <widget/minidialog.h> #include <gtk/gtk.h> +#include <eel-gconf-extensions.h> /** Local variables */ GtkUIManager *ui_manager = NULL; @@ -58,460 +59,464 @@ GtkWidget * statusBar = NULL; GtkWidget * filterEntry = NULL; PidginScrollBook *embedded_error_notebook; -static gboolean -window_configure_cb (GtkWidget *win, GdkEventConfigure *event) -{ +/** + * Handle main window resizing + */ +static gboolean window_configure_cb (GtkWidget *win, GdkEventConfigure *event) { - int pos_x, pos_y; + int pos_x, pos_y; - dbus_set_window_width ((guint) event->width); - dbus_set_window_height ((guint) event->height); + eel_gconf_set_integer (CONF_MAIN_WINDOW_WIDTH, event->width); + eel_gconf_set_integer (CONF_MAIN_WINDOW_HEIGHT, event->height); - gtk_window_get_position (GTK_WINDOW (window), &pos_x, &pos_y); - dbus_set_window_position_x ((guint) pos_x); - dbus_set_window_position_y ((guint) pos_y); + gtk_window_get_position (GTK_WINDOW (window), &pos_x, &pos_y); + eel_gconf_set_integer (CONF_MAIN_WINDOW_POSITION_X, pos_x); + eel_gconf_set_integer (CONF_MAIN_WINDOW_POSITION_Y, pos_y); - return FALSE; + return FALSE; } + /** * Minimize the main window. */ -static gboolean + static gboolean on_delete (GtkWidget * widget UNUSED, gpointer data UNUSED) { - if (g_strcasecmp (dbus_is_status_icon_enabled (), "true") == 0) { - gtk_widget_hide (GTK_WIDGET( get_main_window() )); - set_minimized (TRUE); - } - else { - sflphone_quit (); - } - return TRUE; + if (eel_gconf_get_integer (SHOW_STATUSICON)) { + gtk_widget_hide (GTK_WIDGET( get_main_window() )); + set_minimized (TRUE); + } + else { + sflphone_quit (); + } + return TRUE; } /** Ask the user if he wants to hangup current calls */ -gboolean + gboolean main_window_ask_quit () { - guint count = calllist_get_size (current_calls); - GtkWidget * dialog; - gint response; - gchar * question; + guint count = calllist_get_size (current_calls); + GtkWidget * dialog; + gint response; + gchar * question; - if (count == 1) - { - question = _("There is one call in progress."); - } - else - { - question = _("There are calls in progress."); - } + if (count == 1) + { + question = _("There is one call in progress."); + } + else + { + question = _("There are calls in progress."); + } - dialog = gtk_message_dialog_new_with_markup (GTK_WINDOW(window), - GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "%s\n%s", - question, _("Do you still want to quit?") ); + dialog = gtk_message_dialog_new_with_markup (GTK_WINDOW(window), + GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_BUTTONS_YES_NO, "%s\n%s", + question, _("Do you still want to quit?") ); - response = gtk_dialog_run (GTK_DIALOG (dialog)); + response = gtk_dialog_run (GTK_DIALOG (dialog)); - gtk_widget_destroy (dialog); + gtk_widget_destroy (dialog); - return (response == GTK_RESPONSE_NO)? FALSE : TRUE ; + return (response == GTK_RESPONSE_NO)? FALSE : TRUE ; } -static gboolean + static gboolean on_key_released (GtkWidget *widget, GdkEventKey *event, gpointer user_data UNUSED) { - DEBUG("On key released from Main Window : %s", gtk_widget_get_name(widget)); - - if (focus_is_on_searchbar == FALSE) - { - // If a modifier key is pressed, it's a shortcut, pass along - if (event->state & GDK_CONTROL_MASK || event->state & GDK_MOD1_MASK - || event->keyval == 60 || // < - event->keyval == 62 || // > - event->keyval == 34 || // " - event->keyval == 65289 || // tab - event->keyval == 65361 || // left arrow - event->keyval == 65363 || // right arrow - event->keyval >= 65470 || // F-keys - event->keyval == 32 // space - ) - return FALSE; - else - sflphone_keypad (event->keyval, event->string); - } - - return TRUE; + DEBUG("On key released from Main Window : %s", gtk_widget_get_name(widget)); + + if (focus_is_on_searchbar == FALSE) + { + // If a modifier key is pressed, it's a shortcut, pass along + if (event->state & GDK_CONTROL_MASK || event->state & GDK_MOD1_MASK + || event->keyval == 60 || // < + event->keyval == 62 || // > + event->keyval == 34 || // " + event->keyval == 65289 || // tab + event->keyval == 65361 || // left arrow + event->keyval == 65363 || // right arrow + event->keyval >= 65470 || // F-keys + event->keyval == 32 // space + ) + return FALSE; + else + sflphone_keypad (event->keyval, event->string); + } + + return TRUE; } -void + void focus_on_mainwindow_out () { - // gtk_widget_grab_focus(GTK_WIDGET(window)); + // gtk_widget_grab_focus(GTK_WIDGET(window)); } -void + void focus_on_mainwindow_in () { - // gtk_widget_grab_focus(GTK_WIDGET(window)); + // gtk_widget_grab_focus(GTK_WIDGET(window)); } -void + void create_main_window () { - GtkWidget *widget; - gchar *path; - GError *error = NULL; - gboolean ret; - const char *window_title = "SFLphone VoIP Client"; - int width, height, position_x, position_y; - - focus_is_on_calltree = FALSE; - focus_is_on_searchbar = FALSE; - - // Get configuration stored - width = dbus_get_window_width (); - height = dbus_get_window_height (); - position_x = dbus_get_window_position_x (); - position_y = dbus_get_window_position_y (); - - window = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_container_set_border_width (GTK_CONTAINER (window), 0); - gtk_window_set_title (GTK_WINDOW (window), window_title); - gtk_window_set_default_size (GTK_WINDOW (window), width, height); - gtk_window_set_default_icon_from_file (LOGO, NULL); - gtk_window_set_position (GTK_WINDOW( window ), GTK_WIN_POS_MOUSE); - - /* Connect the destroy event of the window with our on_destroy function - * When the window is about to be destroyed we get a notificaiton and - * stop the main GTK loop - */ - g_signal_connect (G_OBJECT (window), "delete-event", - G_CALLBACK (on_delete), NULL); - - g_signal_connect (G_OBJECT (window), "key-release-event", - G_CALLBACK (on_key_released), NULL); - - g_signal_connect_after (G_OBJECT (window), "focus-in-event", - G_CALLBACK (focus_on_mainwindow_in), NULL); - - g_signal_connect_after (G_OBJECT (window), "focus-out-event", - G_CALLBACK (focus_on_mainwindow_out), NULL); - - g_signal_connect_object (G_OBJECT (window), "configure-event", - G_CALLBACK (window_configure_cb), NULL, 0); - - gtk_widget_set_name (window, "mainwindow"); - - ret = uimanager_new (&ui_manager); - if (!ret) - { - ERROR ("Could not load xml GUI\n"); - g_error_free (error); - exit (1); - } - - /* Create an accel group for window's shortcuts */ - gtk_window_add_accel_group (GTK_WINDOW(window), - gtk_ui_manager_get_accel_group (ui_manager)); - - vbox = gtk_vbox_new (FALSE /*homogeneous*/, 0 /*spacing*/); - subvbox = gtk_vbox_new (FALSE /*homogeneous*/, 5 /*spacing*/); - - create_menus (ui_manager, &widget); - gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE /*expand*/, TRUE /*fill*/, - 0 /*padding*/); - - create_toolbar_actions (ui_manager, &widget); - // Do not override GNOME user settings - gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE /*expand*/, TRUE /*fill*/, - 0 /*padding*/); - - gtk_box_pack_start (GTK_BOX (vbox), current_calls->tree, TRUE /*expand*/, - TRUE /*fill*/, 0 /*padding*/); - gtk_box_pack_start (GTK_BOX (vbox), history->tree, TRUE /*expand*/, - TRUE /*fill*/, 0 /*padding*/); - gtk_box_pack_start (GTK_BOX (vbox), contacts->tree, TRUE /*expand*/, - TRUE /*fill*/, 0 /*padding*/); - - gtk_box_pack_start (GTK_BOX (vbox), subvbox, FALSE /*expand*/, - FALSE /*fill*/, 0 /*padding*/); - - embedded_error_notebook = PIDGIN_SCROLL_BOOK(pidgin_scroll_book_new()); - gtk_box_pack_start (GTK_BOX(subvbox), GTK_WIDGET(embedded_error_notebook), - FALSE, FALSE, 0); - - if (SHOW_VOLUME) - { - speaker_control = create_slider ("speaker"); - gtk_box_pack_end (GTK_BOX (subvbox), speaker_control, FALSE /*expand*/, - TRUE /*fill*/, 0 /*padding*/); - gtk_widget_show_all (speaker_control); - mic_control = create_slider ("mic"); - gtk_box_pack_end (GTK_BOX (subvbox), mic_control, FALSE /*expand*/, - TRUE /*fill*/, 0 /*padding*/); - gtk_widget_show_all (mic_control); - } - - if (SHOW_DIALPAD) - { - dialpad = create_dialpad (); - gtk_box_pack_end (GTK_BOX (subvbox), dialpad, FALSE /*expand*/, - TRUE /*fill*/, 0 /*padding*/); - gtk_widget_show_all (dialpad); - } - - /* Status bar */ - statusBar = gtk_statusbar_new (); - gtk_box_pack_start (GTK_BOX (vbox), statusBar, FALSE /*expand*/, - TRUE /*fill*/, 0 /*padding*/); - gtk_container_add (GTK_CONTAINER (window), vbox); - - /* make sure that everything, window and label, are visible */ - gtk_widget_show_all (window); - - /* dont't show the history */ - gtk_widget_hide (history->tree); - - /* dont't show the contact list */ - gtk_widget_hide (contacts->tree); - - searchbar_init (history); - searchbar_init (contacts); - - /* don't show waiting layer */ - gtk_widget_hide (waitingLayer); - - // Configuration wizard - if (account_list_get_size () == 1) - { + GtkWidget *widget; + gchar *path; + GError *error = NULL; + gboolean ret; + const char *window_title = "SFLphone VoIP Client"; + int width, height, position_x, position_y; + + focus_is_on_calltree = FALSE; + focus_is_on_searchbar = FALSE; + + // Get configuration stored in gconf + width = eel_gconf_get_integer (CONF_MAIN_WINDOW_WIDTH); + height = eel_gconf_get_integer (CONF_MAIN_WINDOW_HEIGHT); + position_x = eel_gconf_get_integer (CONF_MAIN_WINDOW_POSITION_X); + position_y = eel_gconf_get_integer (CONF_MAIN_WINDOW_POSITION_Y); + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_container_set_border_width (GTK_CONTAINER (window), 0); + gtk_window_set_title (GTK_WINDOW (window), window_title); + gtk_window_set_default_size (GTK_WINDOW (window), width, height); + gtk_window_set_default_icon_from_file (LOGO, + NULL); + gtk_window_set_position (GTK_WINDOW(window) , GTK_WIN_POS_MOUSE); + + /* Connect the destroy event of the window with our on_destroy function + * When the window is about to be destroyed we get a notificaiton and + * stop the main GTK loop + */ + g_signal_connect (G_OBJECT (window), "delete-event", + G_CALLBACK (on_delete), NULL); + + g_signal_connect (G_OBJECT (window), "key-release-event", + G_CALLBACK (on_key_released), NULL); + + g_signal_connect_after (G_OBJECT (window), "focus-in-event", + G_CALLBACK (focus_on_mainwindow_in), NULL); + + g_signal_connect_after (G_OBJECT (window), "focus-out-event", + G_CALLBACK (focus_on_mainwindow_out), NULL); + + g_signal_connect_object (G_OBJECT (window), "configure-event", + G_CALLBACK (window_configure_cb), NULL, 0); + + gtk_widget_set_name (window, "mainwindow"); + + ret = uimanager_new (&ui_manager); + if (!ret) + { + ERROR ("Could not load xml GUI\n"); + g_error_free (error); + exit (1); + } + + /* Create an accel group for window's shortcuts */ + gtk_window_add_accel_group (GTK_WINDOW(window), + gtk_ui_manager_get_accel_group (ui_manager)); + + vbox = gtk_vbox_new (FALSE /*homogeneous*/, 0 /*spacing*/); + subvbox = gtk_vbox_new (FALSE /*homogeneous*/, 5 /*spacing*/); + + create_menus (ui_manager, &widget); + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE /*expand*/, TRUE /*fill*/, + 0 /*padding*/); + + create_toolbar_actions (ui_manager, &widget); + // Do not override GNOME user settings + gtk_box_pack_start (GTK_BOX (vbox), widget, FALSE /*expand*/, TRUE /*fill*/, + 0 /*padding*/); + + gtk_box_pack_start (GTK_BOX (vbox), current_calls->tree, TRUE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); + gtk_box_pack_start (GTK_BOX (vbox), history->tree, TRUE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); + gtk_box_pack_start (GTK_BOX (vbox), contacts->tree, TRUE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); + + g_signal_connect_object (G_OBJECT (window), "configure-event", + G_CALLBACK (window_configure_cb), NULL, 0); + gtk_box_pack_start (GTK_BOX (vbox), subvbox, FALSE /*expand*/, + FALSE /*fill*/, 0 /*padding*/); + + embedded_error_notebook = PIDGIN_SCROLL_BOOK(pidgin_scroll_book_new()); + gtk_box_pack_start (GTK_BOX(subvbox), GTK_WIDGET(embedded_error_notebook), + FALSE, FALSE, 0); + + if (SHOW_VOLUME) + { + speaker_control = create_slider ("speaker"); + gtk_box_pack_end (GTK_BOX (subvbox), speaker_control, FALSE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); + gtk_widget_show_all (speaker_control); + mic_control = create_slider ("mic"); + gtk_box_pack_end (GTK_BOX (subvbox), mic_control, FALSE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); + gtk_widget_show_all (mic_control); + } + + + if (eel_gconf_get_boolean (CONF_SHOW_DIALPAD)){ + dialpad = create_dialpad(); + gtk_box_pack_end (GTK_BOX (subvbox), dialpad, FALSE /*expand*/, TRUE /*fill*/, 0 /*padding*/); + gtk_widget_show_all (dialpad); + } + + /* Status bar */ + statusBar = gtk_statusbar_new (); + gtk_box_pack_start (GTK_BOX (vbox), statusBar, FALSE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); + gtk_container_add (GTK_CONTAINER (window), vbox); + + /* make sure that everything, window and label, are visible */ + gtk_widget_show_all (window); + + /* dont't show the history */ + gtk_widget_hide (history->tree); + + /* dont't show the contact list */ + gtk_widget_hide (contacts->tree); + + searchbar_init (history); + searchbar_init (contacts); + + /* don't show waiting layer */ + gtk_widget_hide (waitingLayer); + + // Configuration wizard + if (account_list_get_size () == 1) + { #if GTK_CHECK_VERSION(2,10,0) - build_wizard (); + build_wizard (); #else - GtkWidget * dialog = gtk_message_dialog_new_with_markup (GTK_WINDOW(window), - GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_MESSAGE_INFO, - GTK_BUTTONS_YES_NO, - "<b><big>Welcome to SFLphone!</big></b>\n\nThere are no VoIP accounts configured, would you like to edit the preferences now?"); + GtkWidget * dialog = gtk_message_dialog_new_with_markup (GTK_WINDOW(window), + GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_INFO, + GTK_BUTTONS_YES_NO, + "<b><big>Welcome to SFLphone!</big></b>\n\nThere are no VoIP accounts configured, would you like to edit the preferences now?"); - int response = gtk_dialog_run (GTK_DIALOG(dialog)); + int response = gtk_dialog_run (GTK_DIALOG(dialog)); - gtk_widget_destroy (GTK_WIDGET(dialog)); + gtk_widget_destroy (GTK_WIDGET(dialog)); - if (response == GTK_RESPONSE_YES) - { - show_preferences_dialog(); - } + if (response == GTK_RESPONSE_YES) + { + show_preferences_dialog(); + } #endif - } + } - // Move the main window - gtk_window_move (GTK_WINDOW (window), position_x, position_y); + // Restore position according to the configuration stored in gconf + gtk_window_move (GTK_WINDOW (window), position_x, position_y); } -GtkAccelGroup * + GtkAccelGroup * get_accel_group () { - return accelGroup; + return accelGroup; } -GtkWidget * + GtkWidget * get_main_window () { - return window; + return window; } -void + void main_window_message (GtkMessageType type, gchar * markup) { - GtkWidget * dialog = gtk_message_dialog_new_with_markup ( - GTK_WINDOW(get_main_window()), GTK_DIALOG_MODAL - | GTK_DIALOG_DESTROY_WITH_PARENT, type, GTK_BUTTONS_CLOSE, NULL); + GtkWidget * dialog = gtk_message_dialog_new_with_markup ( + GTK_WINDOW(get_main_window()), GTK_DIALOG_MODAL + | GTK_DIALOG_DESTROY_WITH_PARENT, type, GTK_BUTTONS_CLOSE, NULL); - gtk_window_set_title (GTK_WINDOW(dialog), _("SFLphone Error")); - gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG(dialog), markup); + gtk_window_set_title (GTK_WINDOW(dialog), _("SFLphone Error")); + gtk_message_dialog_set_markup (GTK_MESSAGE_DIALOG(dialog), markup); - gtk_dialog_run (GTK_DIALOG(dialog)); - gtk_widget_destroy (GTK_WIDGET(dialog)); + gtk_dialog_run (GTK_DIALOG(dialog)); + gtk_widget_destroy (GTK_WIDGET(dialog)); } -void + void main_window_error_message (gchar * markup) { - main_window_message (GTK_MESSAGE_ERROR, markup); + main_window_message (GTK_MESSAGE_ERROR, markup); } -void + void main_window_warning_message (gchar * markup) { - main_window_message (GTK_MESSAGE_WARNING, markup); + main_window_message (GTK_MESSAGE_WARNING, markup); } -void + void main_window_info_message (gchar * markup) { - main_window_message (GTK_MESSAGE_INFO, markup); + main_window_message (GTK_MESSAGE_INFO, markup); } -void + void main_window_dialpad (gboolean state) { - g_print ("main_window_dialpad\n"); - - if (state) - { - dialpad = create_dialpad (); - gtk_box_pack_end (GTK_BOX (subvbox), dialpad, FALSE /*expand*/, - TRUE /*fill*/, 0 /*padding*/); - gtk_widget_show_all (dialpad); - } - else - { - gtk_container_remove (GTK_CONTAINER (subvbox), dialpad); - } + g_print ("main_window_dialpad\n"); + + if (state) + { + dialpad = create_dialpad (); + gtk_box_pack_end (GTK_BOX (subvbox), dialpad, FALSE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); + gtk_widget_show_all (dialpad); + } + else + { + gtk_container_remove (GTK_CONTAINER (subvbox), dialpad); + } } -void + void main_window_volume_controls (gboolean state) { - if (state) - { - speaker_control = create_slider ("speaker"); - gtk_box_pack_end (GTK_BOX (subvbox), speaker_control, FALSE /*expand*/, - TRUE /*fill*/, 0 /*padding*/); - gtk_widget_show_all (speaker_control); - mic_control = create_slider ("mic"); - gtk_box_pack_end (GTK_BOX (subvbox), mic_control, FALSE /*expand*/, - TRUE /*fill*/, 0 /*padding*/); - gtk_widget_show_all (mic_control); - } - else - { - gtk_container_remove (GTK_CONTAINER(subvbox), speaker_control); - gtk_container_remove (GTK_CONTAINER(subvbox), mic_control); - } + if (state) + { + speaker_control = create_slider ("speaker"); + gtk_box_pack_end (GTK_BOX (subvbox), speaker_control, FALSE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); + gtk_widget_show_all (speaker_control); + mic_control = create_slider ("mic"); + gtk_box_pack_end (GTK_BOX (subvbox), mic_control, FALSE /*expand*/, + TRUE /*fill*/, 0 /*padding*/); + gtk_widget_show_all (mic_control); + } + else + { + gtk_container_remove (GTK_CONTAINER(subvbox), speaker_control); + gtk_container_remove (GTK_CONTAINER(subvbox), mic_control); + } } -void + void statusbar_push_message (const gchar * message, guint id) { - gtk_statusbar_push (GTK_STATUSBAR(statusBar), id, message); + gtk_statusbar_push (GTK_STATUSBAR(statusBar), id, message); } -void + void statusbar_pop_message (guint id) { - gtk_statusbar_pop (GTK_STATUSBAR(statusBar), id); + gtk_statusbar_pop (GTK_STATUSBAR(statusBar), id); } -static void + static void add_error_dialog (GtkWidget *dialog, callable_obj_t * call) { - gtk_container_add (GTK_CONTAINER(embedded_error_notebook), dialog); - call_add_error (call, dialog); + gtk_container_add (GTK_CONTAINER(embedded_error_notebook), dialog); + call_add_error (call, dialog); } -static void + static void destroy_error_dialog_cb (GtkObject *dialog, callable_obj_t * call) { - call_remove_error (call, dialog); + call_remove_error (call, dialog); } -void + void main_window_zrtp_not_supported (callable_obj_t * c) { - account_t* account_details = NULL; - gchar* warning_enabled = ""; - - account_details = account_list_get_by_id (c->_accountID); - if (account_details != NULL) - { - warning_enabled = g_hash_table_lookup (account_details->properties, - ACCOUNT_ZRTP_NOT_SUPP_WARNING); - DEBUG("Warning Enabled %s", warning_enabled); - } - else - { - DEBUG("Account is null callID %s", c->_callID); - GHashTable * properties = NULL; - sflphone_get_ip2ip_properties (&properties); - if (properties != NULL) - { - warning_enabled = g_hash_table_lookup (properties, - ACCOUNT_ZRTP_NOT_SUPP_WARNING); - } - } - - if (g_strcasecmp (warning_enabled, "true") == 0) - { - PidginMiniDialog *mini_dialog; - gchar *desc = g_markup_printf_escaped ( - _("ZRTP is not supported by peer %s\n"), c->_peer_number); - mini_dialog = pidgin_mini_dialog_new ( - _("Secure Communication Unavailable"), desc, - GTK_STOCK_DIALOG_WARNING); - pidgin_mini_dialog_add_button (mini_dialog, _("Continue"), NULL, NULL); - pidgin_mini_dialog_add_button (mini_dialog, _("Stop Call"), - sflphone_hang_up, NULL); - - g_signal_connect_after(mini_dialog, "destroy", (GCallback) destroy_error_dialog_cb, c); - - add_error_dialog (GTK_WIDGET(mini_dialog), c); - } + account_t* account_details = NULL; + gchar* warning_enabled = ""; + + account_details = account_list_get_by_id (c->_accountID); + if (account_details != NULL) + { + warning_enabled = g_hash_table_lookup (account_details->properties, + ACCOUNT_ZRTP_NOT_SUPP_WARNING); + DEBUG("Warning Enabled %s", warning_enabled); + } + else + { + DEBUG("Account is null callID %s", c->_callID); + GHashTable * properties = NULL; + sflphone_get_ip2ip_properties (&properties); + if (properties != NULL) + { + warning_enabled = g_hash_table_lookup (properties, + ACCOUNT_ZRTP_NOT_SUPP_WARNING); + } + } + + if (g_strcasecmp (warning_enabled, "true") == 0) + { + PidginMiniDialog *mini_dialog; + gchar *desc = g_markup_printf_escaped ( + _("ZRTP is not supported by peer %s\n"), c->_peer_number); + mini_dialog = pidgin_mini_dialog_new ( + _("Secure Communication Unavailable"), desc, + GTK_STOCK_DIALOG_WARNING); + pidgin_mini_dialog_add_button (mini_dialog, _("Continue"), NULL, NULL); + pidgin_mini_dialog_add_button (mini_dialog, _("Stop Call"), + sflphone_hang_up, NULL); + + g_signal_connect_after(mini_dialog, "destroy", (GCallback) destroy_error_dialog_cb, c); + + add_error_dialog (GTK_WIDGET(mini_dialog), c); + } } -void + void main_window_zrtp_negotiation_failed (const gchar* callID, const gchar* reason, - const gchar* severity) + const gchar* severity) { - gchar* peer_number = "(number unknown)"; - callable_obj_t * c = NULL; - c = calllist_get (current_calls, callID); - if (c != NULL) - { - peer_number = c->_peer_number; - } - - PidginMiniDialog *mini_dialog; - gchar - *desc = - g_markup_printf_escaped ( - _("A %s error forced the call with %s to fall under unencrypted mode.\nExact reason: %s\n"), - severity, peer_number, reason); - mini_dialog = pidgin_mini_dialog_new (_("ZRTP negotiation failed"), desc, - GTK_STOCK_DIALOG_WARNING); - pidgin_mini_dialog_add_button (mini_dialog, _("Continue"), NULL, NULL); - pidgin_mini_dialog_add_button (mini_dialog, _("Stop Call"), sflphone_hang_up, - NULL); - - g_signal_connect_after(mini_dialog, "destroy", (GCallback) destroy_error_dialog_cb, c); - - add_error_dialog (GTK_WIDGET(mini_dialog), c); + gchar* peer_number = "(number unknown)"; + callable_obj_t * c = NULL; + c = calllist_get (current_calls, callID); + if (c != NULL) + { + peer_number = c->_peer_number; + } + + PidginMiniDialog *mini_dialog; + gchar + *desc = + g_markup_printf_escaped ( + _("A %s error forced the call with %s to fall under unencrypted mode.\nExact reason: %s\n"), + severity, peer_number, reason); + mini_dialog = pidgin_mini_dialog_new (_("ZRTP negotiation failed"), desc, + GTK_STOCK_DIALOG_WARNING); + pidgin_mini_dialog_add_button (mini_dialog, _("Continue"), NULL, NULL); + pidgin_mini_dialog_add_button (mini_dialog, _("Stop Call"), sflphone_hang_up, + NULL); + + g_signal_connect_after(mini_dialog, "destroy", (GCallback) destroy_error_dialog_cb, c); + + add_error_dialog (GTK_WIDGET(mini_dialog), c); } -void + void main_window_confirm_go_clear (callable_obj_t * c) { - PidginMiniDialog *mini_dialog; - gchar - *desc = - g_markup_printf_escaped ( - _("%s wants to stop using secure communication. Confirm will resume conversation without SRTP.\n"), - c->_peer_number); - mini_dialog = pidgin_mini_dialog_new (_("Confirm Go Clear"), desc, - GTK_STOCK_STOP); - pidgin_mini_dialog_add_button (mini_dialog, _("Confirm"), - (PidginMiniDialogCallback) sflphone_set_confirm_go_clear, NULL); - pidgin_mini_dialog_add_button (mini_dialog, _("Stop Call"), sflphone_hang_up, - NULL); - - add_error_dialog (GTK_WIDGET(mini_dialog), c); + PidginMiniDialog *mini_dialog; + gchar + *desc = + g_markup_printf_escaped ( + _("%s wants to stop using secure communication. Confirm will resume conversation without SRTP.\n"), + c->_peer_number); + mini_dialog = pidgin_mini_dialog_new (_("Confirm Go Clear"), desc, + GTK_STOCK_STOP); + pidgin_mini_dialog_add_button (mini_dialog, _("Confirm"), + (PidginMiniDialogCallback) sflphone_set_confirm_go_clear, NULL); + pidgin_mini_dialog_add_button (mini_dialog, _("Stop Call"), sflphone_hang_up, + NULL); + + add_error_dialog (GTK_WIDGET(mini_dialog), c); } diff --git a/sflphone-client-gnome/src/sflnotify.c b/sflphone-client-gnome/src/sflnotify.c index 5ac960e0035e7a08de0eddfed880998281e3b8b7..4a2f000cfa3704fc045981d386ce5cd7f2a29c36 100644 --- a/sflphone-client-gnome/src/sflnotify.c +++ b/sflphone-client-gnome/src/sflnotify.c @@ -36,7 +36,7 @@ void create_new_gnome_notification (gchar *title, gchar *body, NotifyUrgency urg { GnomeNotification *_notif; - if( dbus_get_notify()){ + if (eel_gconf_get_integer (NOTIFY_ALL)){ _notif = g_new0 (GnomeNotification, 1); diff --git a/sflphone-client-gnome/src/sflphone_const.h b/sflphone-client-gnome/src/sflphone_const.h index 5a63a80bac069cfe6404b37824e3e8f21d96f91b..250a8c56738456d0a351d93bdb52b27667848fe9 100644 --- a/sflphone-client-gnome/src/sflphone_const.h +++ b/sflphone-client-gnome/src/sflphone_const.h @@ -136,13 +136,11 @@ log4c_category_t* log4c_sfl_gtk_category; /** Tells if the main window is reduced to the system tray or not */ #define MINIMIZED TRUE /** Behaviour of the main window on incoming calls */ -#define __POPUP_WINDOW ( dbus_popup_mode() ) -/** Show/Hide the dialpad */ -#define SHOW_DIALPAD ( dbus_get_dialpad() ) +#define __POPUP_WINDOW (eel_gconf_get_integer (POPUP_ON_CALL)) /** Show/Hide the alsa configuration panel */ #define SHOW_ALSA_CONF ( dbus_get_audio_manager() == ALSA ) /** Show/Hide the volume controls */ -#define SHOW_VOLUME (dbus_get_volume_controls() && SHOW_ALSA_CONF) +#define SHOW_VOLUME (eel_gconf_get_integer (SHOW_VOLUME_CONTROLS) && SHOW_ALSA_CONF) /** Audio Managers */ #define ALSA 0 @@ -179,4 +177,21 @@ log4c_category_t* log4c_sfl_gtk_category; #define ERROR(...) log4c_category_log(log4c_sfl_gtk_category, LOG4C_PRIORITY_ERROR, __VA_ARGS__); #define FATAL(...) log4c_category_log(log4c_sfl_gtk_category, LOG4C_PRIORITY_FATAL, __VA_ARGS__); +/** + * Gconf + */ +#define CONF_PREFIX "/apps/sflphone-client-gnome" +#define CONF_MAIN_WINDOW_WIDTH CONF_PREFIX "/state/window_width" +#define CONF_MAIN_WINDOW_HEIGHT CONF_PREFIX "/state/window_height" +#define CONF_MAIN_WINDOW_POSITION_X CONF_PREFIX "/state/window_position_x" +#define CONF_MAIN_WINDOW_POSITION_Y CONF_PREFIX "/state/window_position_y" +/** Show/Hide the dialpad */ +#define CONF_SHOW_DIALPAD CONF_PREFIX "/state/dialpad" +#define SHOW_VOLUME_CONTROLS CONF_PREFIX "/state/volume_controls" +#define SHOW_STATUSICON CONF_PREFIX "/state/statusicon" +#define NOTIFY_ALL CONF_PREFIX "/state/notify_all" +#define START_HIDDEN CONF_PREFIX "/state/start_hidden" +#define POPUP_ON_CALL CONF_PREFIX "/state/popup" +#define HISTORY_ENABLED CONF_PREFIX "/state/history" + #endif diff --git a/sflphone-client-gnome/src/statusicon.c b/sflphone-client-gnome/src/statusicon.c index 6ad61747705578cb9e360a4496bafe27b7a8e0b7..72511091f05e8591ce022a2b64984329715c2dd3 100644 --- a/sflphone-client-gnome/src/statusicon.c +++ b/sflphone-client-gnome/src/statusicon.c @@ -55,10 +55,12 @@ popup_main_window(void) void show_status_hangup_icon() { - if (status) { - DEBUG("Show Hangup in Systray"); - gtk_widget_show(GTK_WIDGET(hangup_menu_item)); - } + if (__POPUP_WINDOW) + { + gtk_widget_show (get_main_window ()); + gtk_window_move (GTK_WINDOW (get_main_window ()), eel_gconf_get_integer (CONF_MAIN_WINDOW_POSITION_X), eel_gconf_get_integer (CONF_MAIN_WINDOW_POSITION_Y)); + set_minimized (FALSE); + } } void @@ -97,18 +99,17 @@ main_widget_minimized() void show_hide(void) { - if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(show_menu_item))) - { - gtk_widget_show(GTK_WIDGET(get_main_window())); - gtk_window_move(GTK_WINDOW (get_main_window ()), - dbus_get_window_position_x(), dbus_get_window_position_y()); - set_minimized(!MINIMIZED); - } - else - { - gtk_widget_hide(GTK_WIDGET(get_main_window())); - set_minimized(MINIMIZED); - } + if(gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(show_menu_item))) + { + gtk_widget_show(GTK_WIDGET(get_main_window())); + gtk_window_move (GTK_WINDOW (get_main_window ()), eel_gconf_get_integer (CONF_MAIN_WINDOW_POSITION_X), eel_gconf_get_integer (CONF_MAIN_WINDOW_POSITION_Y)); + set_minimized( !MINIMIZED ); + } + else + { + gtk_widget_hide(GTK_WIDGET(get_main_window())); + set_minimized( MINIMIZED ); + } } void @@ -203,7 +204,6 @@ statusicon_set_tooltip() g_free(tip); } - } void diff --git a/sflphone-client-gnome/src/uimanager.c b/sflphone-client-gnome/src/uimanager.c index 46def19d3dfd989a233936dede77091f7a298a79..44099f19435d968dd5a4f1aa736901d95815df2a 100644 --- a/sflphone-client-gnome/src/uimanager.c +++ b/sflphone-client-gnome/src/uimanager.c @@ -92,6 +92,7 @@ update_actions() g_object_ref(holdToolbar); g_object_ref(offHoldToolbar); g_object_ref(contactButton); + g_object_ref(historyButton); g_object_ref(transferToolbar); g_object_ref(voicemailToolbar); @@ -111,6 +112,11 @@ update_actions() GTK_WIDGET (transferToolbar)); } + if (is_inserted(GTK_WIDGET(historyButton), GTK_WIDGET (toolbar))) + { + gtk_container_remove(GTK_CONTAINER (toolbar), GTK_WIDGET (historyButton)); + } + if (is_inserted(GTK_WIDGET(contactButton), GTK_WIDGET (toolbar))) { gtk_container_remove(GTK_CONTAINER (toolbar), GTK_WIDGET (contactButton)); @@ -129,6 +135,7 @@ update_actions() gtk_widget_set_sensitive(GTK_WIDGET (recordWidget), FALSE); gtk_action_set_sensitive(GTK_ACTION (copyAction), FALSE); gtk_widget_set_sensitive(GTK_WIDGET(contactButton), FALSE); + gtk_widget_set_sensitive(GTK_WIDGET(historyButton), FALSE); gtk_widget_set_tooltip_text(GTK_WIDGET (contactButton), _("No address book selected")); @@ -143,6 +150,11 @@ update_actions() gtk_container_remove(GTK_CONTAINER (toolbar), GTK_WIDGET (pickUpWidget)); gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (newCallWidget), 0); + + if (eel_gconf_get_integer (HISTORY_ENABLED)) { + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (historyButton), -1); + gtk_widget_set_sensitive(GTK_WIDGET(historyButton), TRUE); + } // If addressbook support has been enabled and all addressbooks are loaded, display the icon if (addressbook_is_enabled() && addressbook_is_ready()) { @@ -205,52 +217,39 @@ update_actions() case CALL_STATE_DIALING: gtk_action_set_sensitive(GTK_ACTION(pickUpAction), TRUE); if (active_calltree == current_calls) - gtk_action_set_sensitive(GTK_ACTION(hangUpAction), TRUE); + gtk_action_set_sensitive(GTK_ACTION(hangUpAction), TRUE); //gtk_action_set_sensitive( GTK_ACTION(newCallMenu),TRUE); g_object_ref(newCallWidget); - gtk_container_remove(GTK_CONTAINER (toolbar), - GTK_WIDGET (newCallWidget)); - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (pickUpWidget), - 0); + gtk_container_remove(GTK_CONTAINER (toolbar), GTK_WIDGET (newCallWidget)); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (pickUpWidget), 0); if (active_calltree == current_calls) - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), - GTK_TOOL_ITEM (hangUpWidget), 1); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); break; case CALL_STATE_CURRENT: case CALL_STATE_RECORD: gtk_action_set_sensitive(GTK_ACTION (hangUpAction), TRUE); - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), - 1); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); gtk_widget_set_sensitive(GTK_WIDGET (holdMenu), TRUE); gtk_widget_set_sensitive(GTK_WIDGET (holdToolbar), TRUE); gtk_widget_set_sensitive(GTK_WIDGET (transferToolbar), TRUE); gtk_action_set_sensitive(GTK_ACTION (recordAction), TRUE); - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), - 2); - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), - GTK_TOOL_ITEM (transferToolbar), 3); - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (recordWidget), - 4); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), 2); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (transferToolbar), 3); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (recordWidget), 4); gtk_signal_handler_block (GTK_OBJECT (transferToolbar), transfertButtonConnId); - gtk_toggle_tool_button_set_active( - GTK_TOGGLE_TOOL_BUTTON (transferToolbar), FALSE); + gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON (transferToolbar), FALSE); gtk_signal_handler_unblock (transferToolbar, transfertButtonConnId); - break; case CALL_STATE_BUSY: case CALL_STATE_FAILURE: gtk_action_set_sensitive(GTK_ACTION(hangUpAction), TRUE); - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), - 1); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); break; case CALL_STATE_TRANSFERT: - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), - 1); - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), - GTK_TOOL_ITEM (transferToolbar), 2); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (transferToolbar), 2); gtk_signal_handler_block (GTK_OBJECT (transferToolbar), transfertButtonConnId); - gtk_toggle_tool_button_set_active( - GTK_TOGGLE_TOOL_BUTTON (transferToolbar), TRUE); + gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON (transferToolbar), TRUE); gtk_signal_handler_unblock (transferToolbar, transfertButtonConnId); gtk_action_set_sensitive(GTK_ACTION (hangUpAction), TRUE); gtk_widget_set_sensitive(GTK_WIDGET (holdMenu), TRUE); @@ -258,8 +257,7 @@ update_actions() gtk_widget_set_sensitive(GTK_WIDGET (transferToolbar), TRUE); break; default: - WARN("Should not happen in update_actions()!") - ; + WARN("Should not happen in update_actions()!"); break; } } @@ -269,48 +267,46 @@ update_actions() // update icon in systray show_status_hangup_icon(); - switch (selectedConf->_state) - { + switch (selectedConf->_state) { case CONFERENCE_STATE_ACTIVE_ATACHED: gtk_action_set_sensitive(GTK_ACTION (hangUpAction), TRUE); gtk_widget_set_sensitive(GTK_WIDGET (holdToolbar), TRUE); - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), - 1); - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), - 2); + gtk_action_set_sensitive(GTK_ACTION (recordAction), TRUE); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), 2); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (recordWidget), 3); break; case CONFERENCE_STATE_ACTIVE_DETACHED: gtk_action_set_sensitive(GTK_ACTION (hangUpAction), TRUE); gtk_widget_set_sensitive(GTK_WIDGET (holdToolbar), TRUE); - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), - 1); - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), - 2); + gtk_action_set_sensitive(GTK_ACTION (recordAction), TRUE); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), 2); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (recordWidget), 3); break; case CONFERENCE_STATE_RECORD: gtk_action_set_sensitive(GTK_ACTION (hangUpAction), TRUE); gtk_widget_set_sensitive(GTK_WIDGET (holdToolbar), TRUE); - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), - 1); - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), - 2); + gtk_action_set_sensitive(GTK_ACTION (recordAction), TRUE); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (holdToolbar), 2); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (recordWidget), 3); break; case CONFERENCE_STATE_HOLD: gtk_action_set_sensitive(GTK_ACTION (hangUpAction), TRUE); gtk_widget_set_sensitive(GTK_WIDGET (offHoldToolbar), TRUE); - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), - 1); - gtk_toolbar_insert(GTK_TOOLBAR (toolbar), - GTK_TOOL_ITEM (offHoldToolbar), 2); + gtk_widget_set_sensitive(GTK_ACTION (recordAction), TRUE); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (hangUpWidget), 1); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (offHoldToolbar), 2); + gtk_toolbar_insert(GTK_TOOLBAR (toolbar), GTK_TOOL_ITEM (recordWidget), 3); break; default: - WARN("Should not happen in update_action()!") - ; + WARN("Should not happen in update_action()!"); break; } @@ -353,18 +349,20 @@ volume_bar_cb(GtkToggleAction *togglemenuitem, gpointer user_data) return; main_window_volume_controls(toggled); if (toggled || SHOW_VOLUME) - dbus_set_volume_controls(toggled); + eel_gconf_set_integer (SHOW_VOLUME_CONTROLS, toggled); } static void dialpad_bar_cb(GtkToggleAction *togglemenuitem, gpointer user_data) { - gboolean toggled = gtk_toggle_action_get_active(togglemenuitem); - if (toggled == SHOW_DIALPAD) - return; - main_window_dialpad(toggled); - if (toggled || SHOW_DIALPAD) - dbus_set_dialpad(toggled); + gboolean toggled = gtk_toggle_action_get_active (togglemenuitem); + gboolean conf_dialpad = eel_gconf_get_boolean (CONF_SHOW_DIALPAD); + if (toggled == conf_dialpad) + return; + main_window_dialpad (toggled); + if (toggled || conf_dialpad) + eel_gconf_set_boolean (CONF_SHOW_DIALPAD, toggled); //dbus_set_dialpad (toggled); + } static void @@ -428,7 +426,7 @@ static void call_minimize(void * foo UNUSED) { - if (g_strcasecmp (dbus_is_status_icon_enabled (), "true") == 0) { + if (eel_gconf_get_integer (SHOW_STATUSICON)) { gtk_widget_hide(GTK_WIDGET( get_main_window() )); set_minimized(TRUE); } @@ -1457,43 +1455,31 @@ void create_menus(GtkUIManager *ui_manager, GtkWidget **widget) { - GtkWidget * menu_bar; - - menu_bar = gtk_ui_manager_get_widget(ui_manager, "/MenuBar"); - pickUpAction = gtk_ui_manager_get_action(ui_manager, - "/MenuBar/CallMenu/PickUp"); - newCallAction = gtk_ui_manager_get_action(ui_manager, - "/MenuBar/CallMenu/NewCall"); - hangUpAction = gtk_ui_manager_get_action(ui_manager, - "/MenuBar/CallMenu/HangUp"); - holdMenu = gtk_ui_manager_get_widget(ui_manager, - "/MenuBar/CallMenu/OnHoldMenu"); - recordAction = gtk_ui_manager_get_action(ui_manager, - "/MenuBar/CallMenu/Record"); - copyAction = gtk_ui_manager_get_action(ui_manager, "/MenuBar/EditMenu/Copy"); - pasteAction - = gtk_ui_manager_get_action(ui_manager, "/MenuBar/EditMenu/Paste"); - volumeToggle = gtk_ui_manager_get_action(ui_manager, - "/MenuBar/ViewMenu/VolumeControls"); - - // Set the toggle buttons - gtk_toggle_action_set_active( - GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (ui_manager, "/MenuBar/ViewMenu/Dialpad")), - (gboolean) SHOW_DIALPAD); - gtk_toggle_action_set_active(GTK_TOGGLE_ACTION (volumeToggle), - (gboolean) SHOW_VOLUME); - - gtk_action_set_sensitive(GTK_ACTION (volumeToggle), SHOW_ALSA_CONF); - - // Disable it right now - gtk_action_set_sensitive( - GTK_ACTION (gtk_ui_manager_get_action (ui_manager, "/MenuBar/ViewMenu/Toolbar")), - FALSE); - - waitingLayer = create_waiting_icon(); - gtk_menu_shell_append(GTK_MENU_SHELL (menu_bar), waitingLayer); - - *widget = menu_bar; + GtkWidget * menu_bar; + + menu_bar = gtk_ui_manager_get_widget (ui_manager, "/MenuBar"); + pickUpAction = gtk_ui_manager_get_action (ui_manager, "/MenuBar/CallMenu/PickUp"); + newCallAction = gtk_ui_manager_get_action (ui_manager, "/MenuBar/CallMenu/NewCall"); + hangUpAction = gtk_ui_manager_get_action (ui_manager, "/MenuBar/CallMenu/HangUp"); + holdMenu = gtk_ui_manager_get_widget (ui_manager, "/MenuBar/CallMenu/OnHoldMenu"); + recordAction = gtk_ui_manager_get_action (ui_manager, "/MenuBar/CallMenu/Record"); + copyAction = gtk_ui_manager_get_action (ui_manager, "/MenuBar/EditMenu/Copy"); + pasteAction = gtk_ui_manager_get_action (ui_manager, "/MenuBar/EditMenu/Paste"); + volumeToggle = gtk_ui_manager_get_action (ui_manager, "/MenuBar/ViewMenu/VolumeControls"); + + // Set the toggle buttons + gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (gtk_ui_manager_get_action (ui_manager, "/MenuBar/ViewMenu/Dialpad")), eel_gconf_get_boolean (CONF_SHOW_DIALPAD)); + gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (volumeToggle), (gboolean) SHOW_VOLUME); + + gtk_action_set_sensitive (GTK_ACTION (volumeToggle), SHOW_ALSA_CONF); + + // Disable it right now + gtk_action_set_sensitive (GTK_ACTION (gtk_ui_manager_get_action (ui_manager, "/MenuBar/ViewMenu/Toolbar")), FALSE); + + waitingLayer = create_waiting_icon (); + gtk_menu_shell_append (GTK_MENU_SHELL (menu_bar), waitingLayer); + + *widget = menu_bar; } void diff --git a/sflphone-common/configure.ac b/sflphone-common/configure.ac index 36aaffefb855b07ec44c3853b3f5c137b418d34d..e7abe149da9c3a96db475cb5fbefd22c70c5f62d 100644 --- a/sflphone-common/configure.ac +++ b/sflphone-common/configure.ac @@ -61,7 +61,6 @@ AC_CONFIG_FILES([Makefile]) src/audio/codecs/Makefile \ src/config/Makefile \ src/dbus/Makefile \ - src/plug-in/audiorecorder/Makefile \ src/plug-in/Makefile \ src/plug-in/test/Makefile \ src/hooks/Makefile \ @@ -266,9 +265,24 @@ fi xml_CFLAGS= xml_LIBS=-lexpat - AC_SUBST(xml_CFLAGS) +AC_SUBST(xml_CFLAGS) AC_SUBST(xml_LIBS) +AC_CHECK_LIB([yaml], yaml_parser_initialize, + [AC_CHECK_HEADERS(yaml.h, have_yaml=true, have_yaml=false)], + have_yaml = false) + +if ! $have_yaml; then +AC_MSG_ERROR([You need the libyaml yaml parser] + [http://expat.sourceforge.net/]) +fi + +yaml_CFLAGS= +yaml_LIBS=-lyaml + +AC_SUBST(yaml_CFLAGS) +AC_SUBST(yaml_LIBS) + AC_CHECK_LIB([pthread], pthread_create, [AC_CHECK_HEADERS(pthread.h, have_pthread=true, have_pthread=false)], have_pthread=false) @@ -293,6 +307,7 @@ AC_SUBST(PCRE_CFLAGS) + # For the tools/, we need libdbus-c++ for the "build" architecture as well AM_CONDITIONAL(CROSS_COMPILING, test "$cross_compiling" = "yes") @@ -341,17 +356,19 @@ AC_ARG_WITH([speex], AS_IF([test "x$with_speex" != xno], [AC_CHECK_HEADER([speex/speex.h], , AC_MSG_FAILURE([Unable to find the libspeex headers (you may need to install the dev package). You may use --without-speex to compile without speex codec support.]))] - [AC_CHECK_HEADER([speex/speex_preprocess.h], , AC_MSG_FAILURE([Unable to find the libspeexdsp headers (you may need to install the libspeexdsp-dev package). You may use --without-speex to compile without speex codec support.]))] [AC_CHECK_LIB([speex], [speex_decode_int], [], [AC_MSG_FAILURE( [libspeex link test failed. You may use --without-speex to compile without speex codec support.])] ) ] - dnl More advanced check in case the libspeexdsp is not installed - AC_SEARCH_LIBS(speex_preprocess_run, speexdsp, HAVE_SPEEXDSP="yes", HAVE_SPEEXDSP="no", []) + # dnl More advanced check in case the libspeexdsp is not installed + # AC_SEARCH_LIBS(speex_preprocess_run, speexdsp, HAVE_SPEEXDSP="yes", HAVE_SPEEXDSP="no", []) ) +dnl check in case the libspeexdsp is not installed +AC_CHECK_HEADER([speex/speex_preprocess.h], , AC_MSG_FAILURE([Unable to find the libspeexdsp headers (you may need to install the libspeexdsp-dev package) used for Noise Suppression and Automatic Gain Control.])) +AC_CHECK_LIB(speexdsp, speex_preprocess_run, [], [], []) AC_DEFINE([HAVE_SPEEX], test "x$with_speex" = "xyes", [Define if you have libspeex]) AM_CONDITIONAL(BUILD_SPEEX, test "x$with_speex" = "xyes" ) AM_CONDITIONAL(ENABLE_SPEEXDSP, test $HAVE_SPEEXDSP = yes) @@ -405,7 +422,7 @@ AC_DEFUN([BB_ENABLE_DOXYGEN], if test x$DOT = x; then if test "x$enable_dot" = xyes; then -AC_MSG_ERROR([could not find dot]) + AC_MSG_ERROR([could not find dot]) fi enable_dot=no else @@ -414,24 +431,22 @@ AC_MSG_ERROR([could not find dot]) AM_CONDITIONAL(ENABLE_DOXYGEN, test x$enable_doc = xtrue) AC_SUBST(enable_dot) AC_SUBST(enable_html_docs) -AC_SUBST(enable_latex_docs) + AC_SUBST(enable_latex_docs) ]) -# Acutally perform the doxygen check + # Acutally perform the doxygen check BB_ENABLE_DOXYGEN dnl Datadir directory sflphone_datadir=$datadir/sflphone -AC_SUBST(sflphone_datadir) + AC_SUBST(sflphone_datadir) dnl Dbus Service activation part DBUS_SERVICES_DIR="$datadir/dbus-1/services" -AC_SUBST(DBUS_SERVICES_DIR) + AC_SUBST(DBUS_SERVICES_DIR) AC_DEFINE_UNQUOTED(DBUS_SERVICES_DIR, "$DBUS_SERVICES_DIR", [Where services dir for DBUS is]) # Go! AC_SUBST(SFLPHONE_CFLAGS) -AC_SUBST(SFLPHONE_LIBS) + AC_SUBST(SFLPHONE_LIBS) AC_OUTPUT AC_MSG_NOTICE([[Configuration done! Please make sure that pjsip library (libs/pjproject) has already been compiled. Run `make' to build the software.]]) - - diff --git a/sflphone-common/globals.mak b/sflphone-common/globals.mak index 23f700e61f5cad26b71d0550c4a5ce63c3955780..0c408d19286bdf59a1202bd2ccf87bb04ce3c928 100644 --- a/sflphone-common/globals.mak +++ b/sflphone-common/globals.mak @@ -56,6 +56,9 @@ AM_CPPFLAGS = \ -DPREFIX=\"$(prefix)\" \ -DPROGSHAREDIR=\"${datadir}/sflphone\" \ $(ZEROCONFFLAGS) \ + $(GSTREAMER_CFLAGS) \ + $(LIBAVCODEC_CFLAGS) \ + $(LIBSWSCALE_CFLAGS) \ $(IAX_FLAGS) \ $(SIP_CFLAGS) \ -DCODECS_DIR=\""$(sflcodecdir)"\" \ diff --git a/sflphone-common/libs/iax2/iax.c b/sflphone-common/libs/iax2/iax.c index 5c184a1de6727ce75b0ed00ffa588b593cbeb4d1..67f9db7b0de8292232075eed9c72456cdde5aacf 100644 --- a/sflphone-common/libs/iax2/iax.c +++ b/sflphone-common/libs/iax2/iax.c @@ -1889,17 +1889,17 @@ static int iax_send_txready(struct iax_session *session) int iax_auth_reply(struct iax_session *session, char *password, char *challenge, int methods) { char reply[16]; - struct MD5Context md5; + struct IAX_MD5Context md5; char realreply[256]; struct iax_ie_data ied; memset(&ied, 0, sizeof(ied)); if ((methods & IAX_AUTH_MD5) && challenge) { - MD5Init(&md5); - MD5Update(&md5, (const unsigned char *) challenge, + IAX_MD5Init(&md5); + IAX_MD5Update(&md5, (const unsigned char *) challenge, (unsigned int)strlen(challenge)); - MD5Update(&md5, (const unsigned char *) password, + IAX_MD5Update(&md5, (const unsigned char *) password, (unsigned int)strlen(password)); - MD5Final((unsigned char *) reply, &md5); + IAX_MD5Final((unsigned char *) reply, &md5); memset(realreply, 0, sizeof(realreply)); convert_reply(realreply, (unsigned char *) reply); iax_ie_append_str(&ied, IAX_IE_MD5_RESULT, realreply); @@ -1912,19 +1912,19 @@ int iax_auth_reply(struct iax_session *session, char *password, char *challenge, static int iax_regauth_reply(struct iax_session *session, char *password, char *challenge, int methods) { char reply[16]; - struct MD5Context md5; + struct IAX_MD5Context md5; char realreply[256]; struct iax_ie_data ied; memset(&ied, 0, sizeof(ied)); iax_ie_append_str(&ied, IAX_IE_USERNAME, session->username); iax_ie_append_short(&ied, IAX_IE_REFRESH, session->refresh); if ((methods & IAX_AUTHMETHOD_MD5) && challenge) { - MD5Init(&md5); - MD5Update(&md5, (const unsigned char *) challenge, + IAX_MD5Init(&md5); + IAX_MD5Update(&md5, (const unsigned char *) challenge, (unsigned int)strlen(challenge)); - MD5Update(&md5, (const unsigned char *) password, + IAX_MD5Update(&md5, (const unsigned char *) password, (unsigned int)strlen(password)); - MD5Final((unsigned char *) reply, &md5); + IAX_MD5Final((unsigned char *) reply, &md5); memset(realreply, 0, sizeof(realreply)); convert_reply(realreply, (unsigned char *) reply); iax_ie_append_str(&ied, IAX_IE_MD5_RESULT, realreply); diff --git a/sflphone-common/libs/iax2/md5.c b/sflphone-common/libs/iax2/md5.c index 401216ee27167b9e048cdcaa7831e65aed7bb303..56382221c44102643e3c38482b8b826cd716b52d 100644 --- a/sflphone-common/libs/iax2/md5.c +++ b/sflphone-common/libs/iax2/md5.c @@ -51,15 +51,15 @@ #include "md5.h" #ifndef HIGHFIRST -#define byteReverse(buf, len) /* Nothing */ +#define IAX_byteReverse(buf, len) /* Nothing */ #else -void byteReverse(uint8_t *buf, unsigned int longs); +void IAX_byteReverse(uint8_t *buf, unsigned int longs); #ifndef ASM_MD5 /* * Note: this code is harmless on little-endian machines. */ -void byteReverse(uint8_t *buf, unsigned int longs) +void IAX_byteReverse(uint8_t *buf, unsigned int longs) { uint32_t t; do { @@ -76,7 +76,7 @@ void byteReverse(uint8_t *buf, unsigned int longs) * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious * initialization constants. */ -void MD5Init(struct MD5Context *ctx) +void IAX_MD5Init(struct IAX_MD5Context *ctx) { ctx->buf[0] = 0x67452301; ctx->buf[1] = 0xefcdab89; @@ -91,7 +91,7 @@ void MD5Init(struct MD5Context *ctx) * Update context to reflect the concatenation of another buffer full * of bytes. */ -void MD5Update(struct MD5Context *ctx, uint8_t const *buf, unsigned int len) +void IAX_MD5Update(struct IAX_MD5Context *ctx, uint8_t const *buf, unsigned int len) { uint32_t t; @@ -115,8 +115,8 @@ void MD5Update(struct MD5Context *ctx, uint8_t const *buf, unsigned int len) return; } memcpy(p, buf, t); - byteReverse(ctx->in, 16); - MD5Transform(ctx->buf, (uint32_t *) ctx->in); + IAX_byteReverse(ctx->in, 16); + IAX_MD5Transform(ctx->buf, (uint32_t *) ctx->in); buf += t; len -= t; } @@ -124,8 +124,8 @@ void MD5Update(struct MD5Context *ctx, uint8_t const *buf, unsigned int len) while (len >= 64) { memcpy(ctx->in, buf, 64); - byteReverse(ctx->in, 16); - MD5Transform(ctx->buf, (uint32_t *) ctx->in); + IAX_byteReverse(ctx->in, 16); + IAX_MD5Transform(ctx->buf, (uint32_t *) ctx->in); buf += 64; len -= 64; } @@ -139,7 +139,7 @@ void MD5Update(struct MD5Context *ctx, uint8_t const *buf, unsigned int len) * Final wrapup - pad to 64-byte boundary with the bit pattern * 1 0* (64-bit count of bits processed, MSB-first) */ -void MD5Final(uint8_t digest[16], struct MD5Context *ctx) +void IAX_MD5Final(uint8_t digest[16], struct IAX_MD5Context *ctx) { unsigned int count; uint8_t *p; @@ -159,8 +159,8 @@ void MD5Final(uint8_t digest[16], struct MD5Context *ctx) if (count < 8) { /* Two lots of padding: Pad the first block to 64 bytes */ memset(p, 0, count); - byteReverse(ctx->in, 16); - MD5Transform(ctx->buf, (uint32_t *) ctx->in); + IAX_byteReverse(ctx->in, 16); + IAX_MD5Transform(ctx->buf, (uint32_t *) ctx->in); /* Now fill the next block with 56 bytes */ memset(ctx->in, 0, 56); @@ -168,30 +168,30 @@ void MD5Final(uint8_t digest[16], struct MD5Context *ctx) /* Pad block to 56 bytes */ memset(p, 0, count - 8); } - byteReverse(ctx->in, 14); + IAX_byteReverse(ctx->in, 14); /* Append length in bits and transform */ ((uint32_t *) ctx->in)[14] = ctx->bits[0]; ((uint32_t *) ctx->in)[15] = ctx->bits[1]; - MD5Transform(ctx->buf, (uint32_t *) ctx->in); - byteReverse((uint8_t *) ctx->buf, 4); + IAX_MD5Transform(ctx->buf, (uint32_t *) ctx->in); + IAX_byteReverse((uint8_t *) ctx->buf, 4); memcpy(digest, ctx->buf, 16); memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */ } #ifndef ASM_MD5 -/* The four core functions - F1 is optimized somewhat */ +/* The four core functions - IAX_F1 is optimized somewhat */ -/* #define F1(x, y, z) (x & y | ~x & z) */ -#define F1(x, y, z) (z ^ (x & (y ^ z))) -#define F2(x, y, z) F1(z, x, y) -#define F3(x, y, z) (x ^ y ^ z) -#define F4(x, y, z) (y ^ (x | ~z)) +/* #define IAX_F1(x, y, z) (x & y | ~x & z) */ +#define IAX_F1(x, y, z) (z ^ (x & (y ^ z))) +#define IAX_F2(x, y, z) IAX_F1(z, x, y) +#define IAX_F3(x, y, z) (x ^ y ^ z) +#define IAX_F4(x, y, z) (y ^ (x | ~z)) /* This is the central step in the MD5 algorithm. */ -#define MD5STEP(f, w, x, y, z, data, s) \ +#define IAX_MD5STEP(f, w, x, y, z, data, s) \ ( w += f(x, y, z) + data, w = w<<s | w>>(32-s), w += x ) /* @@ -199,7 +199,7 @@ void MD5Final(uint8_t digest[16], struct MD5Context *ctx) * reflect the addition of 16 longwords of new data. MD5Update blocks * the data and converts bytes into longwords for this routine. */ -void MD5Transform(uint32_t buf[4], uint32_t const in[16]) +void IAX_MD5Transform(uint32_t buf[4], uint32_t const in[16]) { uint32_t a, b, c, d; @@ -208,73 +208,73 @@ void MD5Transform(uint32_t buf[4], uint32_t const in[16]) c = buf[2]; d = buf[3]; - MD5STEP(F1, a, b, c, d, in[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, in[1] + 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, in[2] + 0x242070db, 17); - MD5STEP(F1, b, c, d, a, in[3] + 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, in[4] + 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, in[5] + 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, in[6] + 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, in[7] + 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, in[8] + 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, in[9] + 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, in[10] + 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, in[11] + 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, in[12] + 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, in[13] + 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, in[14] + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, in[15] + 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, in[1] + 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, in[6] + 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, in[11] + 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, in[5] + 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, in[10] + 0x02441453, 9); - MD5STEP(F2, c, d, a, b, in[15] + 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, in[9] + 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, in[14] + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, in[3] + 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, in[8] + 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, in[13] + 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, in[2] + 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, in[7] + 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, in[5] + 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, in[8] + 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, in[11] + 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, in[14] + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, in[1] + 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, in[4] + 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, in[7] + 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, in[10] + 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, in[13] + 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, in[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, in[3] + 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, in[6] + 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, in[9] + 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, in[12] + 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, in[15] + 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, in[2] + 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, in[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, in[7] + 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, in[14] + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, in[5] + 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, in[12] + 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, in[3] + 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, in[10] + 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, in[1] + 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, in[8] + 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, in[6] + 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, in[13] + 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, in[4] + 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, in[11] + 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, in[9] + 0xeb86d391, 21); + IAX_MD5STEP(IAX_F1, a, b, c, d, in[0] + 0xd76aa478, 7); + IAX_MD5STEP(IAX_F1, d, a, b, c, in[1] + 0xe8c7b756, 12); + IAX_MD5STEP(IAX_F1, c, d, a, b, in[2] + 0x242070db, 17); + IAX_MD5STEP(IAX_F1, b, c, d, a, in[3] + 0xc1bdceee, 22); + IAX_MD5STEP(IAX_F1, a, b, c, d, in[4] + 0xf57c0faf, 7); + IAX_MD5STEP(IAX_F1, d, a, b, c, in[5] + 0x4787c62a, 12); + IAX_MD5STEP(IAX_F1, c, d, a, b, in[6] + 0xa8304613, 17); + IAX_MD5STEP(IAX_F1, b, c, d, a, in[7] + 0xfd469501, 22); + IAX_MD5STEP(IAX_F1, a, b, c, d, in[8] + 0x698098d8, 7); + IAX_MD5STEP(IAX_F1, d, a, b, c, in[9] + 0x8b44f7af, 12); + IAX_MD5STEP(IAX_F1, c, d, a, b, in[10] + 0xffff5bb1, 17); + IAX_MD5STEP(IAX_F1, b, c, d, a, in[11] + 0x895cd7be, 22); + IAX_MD5STEP(IAX_F1, a, b, c, d, in[12] + 0x6b901122, 7); + IAX_MD5STEP(IAX_F1, d, a, b, c, in[13] + 0xfd987193, 12); + IAX_MD5STEP(IAX_F1, c, d, a, b, in[14] + 0xa679438e, 17); + IAX_MD5STEP(IAX_F1, b, c, d, a, in[15] + 0x49b40821, 22); + + IAX_MD5STEP(IAX_F2, a, b, c, d, in[1] + 0xf61e2562, 5); + IAX_MD5STEP(IAX_F2, d, a, b, c, in[6] + 0xc040b340, 9); + IAX_MD5STEP(IAX_F2, c, d, a, b, in[11] + 0x265e5a51, 14); + IAX_MD5STEP(IAX_F2, b, c, d, a, in[0] + 0xe9b6c7aa, 20); + IAX_MD5STEP(IAX_F2, a, b, c, d, in[5] + 0xd62f105d, 5); + IAX_MD5STEP(IAX_F2, d, a, b, c, in[10] + 0x02441453, 9); + IAX_MD5STEP(IAX_F2, c, d, a, b, in[15] + 0xd8a1e681, 14); + IAX_MD5STEP(IAX_F2, b, c, d, a, in[4] + 0xe7d3fbc8, 20); + IAX_MD5STEP(IAX_F2, a, b, c, d, in[9] + 0x21e1cde6, 5); + IAX_MD5STEP(IAX_F2, d, a, b, c, in[14] + 0xc33707d6, 9); + IAX_MD5STEP(IAX_F2, c, d, a, b, in[3] + 0xf4d50d87, 14); + IAX_MD5STEP(IAX_F2, b, c, d, a, in[8] + 0x455a14ed, 20); + IAX_MD5STEP(IAX_F2, a, b, c, d, in[13] + 0xa9e3e905, 5); + IAX_MD5STEP(IAX_F2, d, a, b, c, in[2] + 0xfcefa3f8, 9); + IAX_MD5STEP(IAX_F2, c, d, a, b, in[7] + 0x676f02d9, 14); + IAX_MD5STEP(IAX_F2, b, c, d, a, in[12] + 0x8d2a4c8a, 20); + + IAX_MD5STEP(IAX_F3, a, b, c, d, in[5] + 0xfffa3942, 4); + IAX_MD5STEP(IAX_F3, d, a, b, c, in[8] + 0x8771f681, 11); + IAX_MD5STEP(IAX_F3, c, d, a, b, in[11] + 0x6d9d6122, 16); + IAX_MD5STEP(IAX_F3, b, c, d, a, in[14] + 0xfde5380c, 23); + IAX_MD5STEP(IAX_F3, a, b, c, d, in[1] + 0xa4beea44, 4); + IAX_MD5STEP(IAX_F3, d, a, b, c, in[4] + 0x4bdecfa9, 11); + IAX_MD5STEP(IAX_F3, c, d, a, b, in[7] + 0xf6bb4b60, 16); + IAX_MD5STEP(IAX_F3, b, c, d, a, in[10] + 0xbebfbc70, 23); + IAX_MD5STEP(IAX_F3, a, b, c, d, in[13] + 0x289b7ec6, 4); + IAX_MD5STEP(IAX_F3, d, a, b, c, in[0] + 0xeaa127fa, 11); + IAX_MD5STEP(IAX_F3, c, d, a, b, in[3] + 0xd4ef3085, 16); + IAX_MD5STEP(IAX_F3, b, c, d, a, in[6] + 0x04881d05, 23); + IAX_MD5STEP(IAX_F3, a, b, c, d, in[9] + 0xd9d4d039, 4); + IAX_MD5STEP(IAX_F3, d, a, b, c, in[12] + 0xe6db99e5, 11); + IAX_MD5STEP(IAX_F3, c, d, a, b, in[15] + 0x1fa27cf8, 16); + IAX_MD5STEP(IAX_F3, b, c, d, a, in[2] + 0xc4ac5665, 23); + + IAX_MD5STEP(IAX_F4, a, b, c, d, in[0] + 0xf4292244, 6); + IAX_MD5STEP(IAX_F4, d, a, b, c, in[7] + 0x432aff97, 10); + IAX_MD5STEP(IAX_F4, c, d, a, b, in[14] + 0xab9423a7, 15); + IAX_MD5STEP(IAX_F4, b, c, d, a, in[5] + 0xfc93a039, 21); + IAX_MD5STEP(IAX_F4, a, b, c, d, in[12] + 0x655b59c3, 6); + IAX_MD5STEP(IAX_F4, d, a, b, c, in[3] + 0x8f0ccc92, 10); + IAX_MD5STEP(IAX_F4, c, d, a, b, in[10] + 0xffeff47d, 15); + IAX_MD5STEP(IAX_F4, b, c, d, a, in[1] + 0x85845dd1, 21); + IAX_MD5STEP(IAX_F4, a, b, c, d, in[8] + 0x6fa87e4f, 6); + IAX_MD5STEP(IAX_F4, d, a, b, c, in[15] + 0xfe2ce6e0, 10); + IAX_MD5STEP(IAX_F4, c, d, a, b, in[6] + 0xa3014314, 15); + IAX_MD5STEP(IAX_F4, b, c, d, a, in[13] + 0x4e0811a1, 21); + IAX_MD5STEP(IAX_F4, a, b, c, d, in[4] + 0xf7537e82, 6); + IAX_MD5STEP(IAX_F4, d, a, b, c, in[11] + 0xbd3af235, 10); + IAX_MD5STEP(IAX_F4, c, d, a, b, in[2] + 0x2ad7d2bb, 15); + IAX_MD5STEP(IAX_F4, b, c, d, a, in[9] + 0xeb86d391, 21); buf[0] += a; buf[1] += b; diff --git a/sflphone-common/libs/iax2/md5.h b/sflphone-common/libs/iax2/md5.h index 81c9e30613b890f34e38663f9cc536dfa7cb4b0a..b3ad37a9b36532268cc9f3e62d909963c70e8e01 100644 --- a/sflphone-common/libs/iax2/md5.h +++ b/sflphone-common/libs/iax2/md5.h @@ -8,20 +8,20 @@ typedef unsigned int uint32_t; typedef unsigned char uint8_t; #endif -struct MD5Context { +struct IAX_MD5Context { uint32_t buf[4]; uint32_t bits[2]; uint8_t in[64]; }; -void MD5Init(struct MD5Context *context); -void MD5Update(struct MD5Context *context, uint8_t const *buf, unsigned int len); -void MD5Final(uint8_t digest[16], struct MD5Context *context); -void MD5Transform(uint32_t buf[4], uint32_t const in[16]); +void IAX_MD5Init(struct IAX_MD5Context *context); +void IAX_MD5Update(struct IAX_MD5Context *context, uint8_t const *buf, unsigned int len); +void IAX_MD5Final(uint8_t digest[16], struct IAX_MD5Context *context); +void IAX_MD5Transform(uint32_t buf[4], uint32_t const in[16]); /* * This is needed to make RSAREF happy on some MS-DOS compilers. */ -typedef struct MD5Context MD5_CTX; +typedef struct IAX_MD5Context MD5_CTX; #endif /* !MD5_H */ diff --git a/sflphone-common/libs/pjproject/pjlib/include/pj/config.h b/sflphone-common/libs/pjproject/pjlib/include/pj/config.h index 3b211abd85e23247b084898137a17b2d78f1fba0..ce7a97cc1a6bb99fbc9589a85a8776468967d2f9 100644 --- a/sflphone-common/libs/pjproject/pjlib/include/pj/config.h +++ b/sflphone-common/libs/pjproject/pjlib/include/pj/config.h @@ -275,6 +275,48 @@ # define PJ_HAS_PENTIUM 0 # define PJ_IS_LITTLE_ENDIAN 1 # define PJ_IS_BIG_ENDIAN 0 + +#elif defined (PJ_M_SH) || defined(__sh) || defined(__sh__) || \ + defined(__SH__) || defined(__M_SH) || defined(_ARCH_SH) + /* + * Renesas SH, little endian and big endian + */ +# undef PJ_M_SH +# define PJ_M_SH 1 +# define PJ_M_NAME "sh" +# define PJ_HAS_PENTIUM 0 +# if defined(__LITTLE_ENDIAN__) +# define PJ_IS_LITTLE_ENDIAN 1 +# define PJ_IS_BIG_ENDIAN 0 +# elif defined(__BIG_ENDIAN__) +# define PJ_IS_LITTLE_ENDIAN 0 +# define PJ_IS_BIG_ENDIAN 1 +# endif + +#elif defined (PJ_M_HPPA) || defined(__hppa) || defined(__hppa__) || \ + defined(__HPPA__) || defined(__M_HPPA) || defined(_ARCH_HPPA) + /* + * HP/PA, big endian + */ +# undef PJ_M_HPPA +# define PJ_M_HPPA 1 +# define PJ_M_NAME "hppa" +# define PJ_HAS_PENTIUM 0 +# define PJ_IS_LITTLE_ENDIAN 0 +# define PJ_IS_BIG_ENDIAN 1 + +#elif defined (PJ_M_S390) || defined(__s390) || defined(__s390__) || defined(__s390x) || \ + defined(__s390x__) || defined(__M_s390) || defined(_ARCH_s390) + /* + * System 390, big endian + */ +# undef PJ_M_S390 +# define PJ_M_S390 1 +# define PJ_M_NAME "s390" +# define PJ_HAS_PENTIUM 0 +# define PJ_IS_LITTLE_ENDIAN 0 +# define PJ_IS_BIG_ENDIAN 1 + #else # error "Please specify target machine." diff --git a/sflphone-common/src/Makefile.am b/sflphone-common/src/Makefile.am index 09ce81355ddddb126ca478e8cd91f42fd59ce1e9..d97477c85f4debd7a397253f4053b4ebeb966c89 100644 --- a/sflphone-common/src/Makefile.am +++ b/sflphone-common/src/Makefile.am @@ -10,6 +10,7 @@ sflphoned_SOURCES = \ conference.cpp \ voiplink.cpp \ main.cpp \ + preferences.cpp \ managerimpl.cpp \ managerimpl_registration.cpp \ observer.cpp \ @@ -37,32 +38,17 @@ endif sflphoned_CXXFLAGS = \ -DPREFIX=\"$(prefix)\" -DPROGSHAREDIR=\"${datadir}/sflphone\" $(IAX_CXXFLAG) $(NETWORKMANAGER) \ - -DVERSION=\"$(VERSION)\" \ - @ZRTPCPP_CFLAGS@ \ - @libssl_CFLAGS@ - - -# Add here the dynamic libraries sflphoned should be linked against -sflphoned_LDADD = \ - ./libsflphone.la \ - @CCGNU2_LIBS@ \ - @CCEXT2_LIBS@ \ - @ZRTPCPP_LIBS@ \ - $(PJSIP_LIBS) \ - @CCRTP_LIBS@ \ - @ALSA_LIBS@ \ - @PULSEAUDIO_LIBS@ \ - @SAMPLERATE_LIBS@ \ - @libssl_LIBS@ + -DVERSION=\"$(VERSION)\" -# sflphoned_LDFLAGS= -pg -luuid -sflphoned_LDFLAGS= $(UUID_LIBS) +# libsflphone +sflphoned_LDADD = ./libsflphone.la noinst_LTLIBRARIES = libsflphone.la noinst_HEADERS = \ conference.h \ voiplink.h \ + preferences.h \ managerimpl.h \ manager.h \ global.h \ @@ -82,18 +68,38 @@ libsflphone_la_LIBADD = \ $(IAX_LIB) \ ./sip/libsiplink.la \ ./audio/libaudio.la \ - ./audio/audiortp/libaudiortp.la \ - ./audio/sound/libsound.la \ - ./audio/codecs/libcodecdescriptor.la \ - ./audio/alsa/libalsalayer.la \ - ./audio/pulseaudio/libpulselayer.la \ ./dbus/libdbus.la \ ./config/libconfig.la \ ./plug-in/libplugin.la \ - ./plug-in/audiorecorder/libaudiorecorder.la \ ./hooks/libhooks.la \ ./history/libhistory.la +libsflphone_la_LDFLAGS = \ + @CCGNU2_LIBS@ \ + @CCEXT2_LIBS@ \ + @ZRTPCPP_LIBS@ \ + $(PJSIP_LIBS) \ + @CCRTP_LIBS@ \ + @ALSA_LIBS@ \ + @PULSEAUDIO_LIBS@ \ + @SAMPLERATE_LIBS@ \ + @libssl_LIBS@ \ + @UUID_LIBS@ \ + @yaml_LIBS@ + +libsflphone_la_CFLAGS = \ + @CCGNU2_CFLAGS@ \ + @CCEXT2_CFLAGS@ \ + @ZRTPCPP_CFLAGS@ \ + $(PJSIP_CFLAGS) \ + @CCRTP_CFLAGS@ \ + @ALSA_CFLAGS@ \ + @PULSEAUDIO_CFLAGS@ \ + @SAMPLERATE_CFLAGS@ \ + @libssl_CFLAGS@ \ + @UUID_CFLAGS@ \ + @yaml_CFLAGS@ + libsflphone_la_SOURCES = indent: diff --git a/sflphone-common/src/account.cpp b/sflphone-common/src/account.cpp index 40da977a2050c990bd347218a8820daf6bdc36ad..df26904f5b079d19fd6e95b59af9bea66883e9e2 100644 --- a/sflphone-common/src/account.cpp +++ b/sflphone-common/src/account.cpp @@ -36,9 +36,12 @@ Account::Account (const AccountID& accountID, std::string type) : _accountID (accountID) , _link (NULL) - , _enabled (false) + , _enabled (true) , _type (type) , _codecOrder () + , _codecStr("") + , _displayName("") + , _useragent("SFLphone") { setRegistrationState (Unregistered); } @@ -49,21 +52,13 @@ Account::~Account() void Account::loadConfig() { - std::string p; - - p = Manager::instance().getConfigString (_accountID , CONFIG_ACCOUNT_TYPE); -#ifdef USE_IAX - _enabled = (Manager::instance().getConfigString (_accountID, CONFIG_ACCOUNT_ENABLE) == "true") ? true : false; -#else - - if (p == "IAX") - _enabled = false; - else - _enabled = (Manager::instance().getConfigString (_accountID, CONFIG_ACCOUNT_ENABLE) == "true") ? true : false; - + // If IAX is not supported, do not register this account +#ifndef USE_IAX + if (_type == "IAX") + _enabled = false; #endif - loadAudioCodecs (); + loadAudioCodecs (); } void Account::setRegistrationState (RegistrationState state) { @@ -80,17 +75,16 @@ void Account::setRegistrationState (RegistrationState state) { void Account::loadAudioCodecs (void) { // if the user never set the codec list, use the default configuration for this account - if (Manager::instance ().getConfigString (_accountID, "ActiveCodecs") == "") { + if(_codecStr == "") { _info ("Account: use the default order"); Manager::instance ().getCodecDescriptorMap ().setDefaultOrder(); } - // else retrieve the one set in the user config file else { std::vector<std::string> active_list = Manager::instance ().retrieveActiveCodecs(); // This property is now set per account basis - std::string s = Manager::instance ().getConfigString (_accountID, "ActiveCodecs"); - setActiveCodecs (Manager::instance ().unserialize (s)); + // std::string s = Manager::instance ().getConfigString (_accountID, "ActiveCodecs"); + setActiveCodecs (Manager::instance ().unserialize (_codecStr)); } } @@ -113,10 +107,6 @@ void Account::setActiveCodecs (const std::vector <std::string> &list) { } // setConfig - std::string s = Manager::instance ().serialize (list); - - // Set the config per account - Manager::instance().setConfig (_accountID, "ActiveCodecs", s); - + _codecStr = Manager::instance ().serialize (list); } diff --git a/sflphone-common/src/account.h b/sflphone-common/src/account.h index 80bfbd36ba1838b9e0c2d6dc482b3185f3e44219..183b6789b1214b7d9c81ae31271361d55fa7a91d 100644 --- a/sflphone-common/src/account.h +++ b/sflphone-common/src/account.h @@ -37,6 +37,7 @@ #include "config/config.h" #include "voiplink.h" +#include "config/serializable.h" class VoIPLink; @@ -131,7 +132,22 @@ typedef enum RegistrationState { #define REGISTRATION_STATE_DESCRIPTION "Registration.description" -class Account{ +// General configuration keys for accounts +const Conf::Key aliasKey("alias"); +const Conf::Key typeKey("type"); +const Conf::Key idKey("id"); +const Conf::Key usernameKey("username"); +const Conf::Key passwordKey("password"); +const Conf::Key hostnameKey("hostname"); +const Conf::Key accountEnableKey("enable"); +const Conf::Key mailboxKey("mailbox"); + +const Conf::Key codecsKey("codecs"); // 0/9/110/111/112/ +const Conf::Key displayNameKey("displayName"); + +#define find_in_map(X, Y) if((iter = map_cpy.find(X)) != map_cpy.end()) { Y = iter->second; } + +class Account : public Serializable{ public: @@ -142,6 +158,15 @@ class Account{ */ virtual ~Account(); + virtual void serialize(Conf::YamlEmitter *emitter) = 0; + + virtual void unserialize(Conf::MappingNode *map) = 0; + + virtual void setAccountDetails(const std::map<std::string, std::string>& details) = 0; + + virtual std::map<std::string, std::string> getAccountDetails() = 0; + + /** * Load the settings for this account. */ @@ -180,6 +205,8 @@ class Account{ */ bool isEnabled() { return _enabled; } + void setEnabled(bool enabl) { _enabled = enabl; } + /** * Get the registration state of the specified link * @return RegistrationState The registration state of underlying VoIPLink @@ -228,13 +255,18 @@ class Account{ inline std::string getType( void ) { return _type; } inline void setType( std::string type ) { _type = type; } - /** - * Accessor to data structures - * @return CodecOrder& The list that reflects the user's choice - */ - inline CodecOrder& getActiveCodecs() { return _codecOrder; } + /** + * Accessor to data structures + * @return CodecOrder& The list that reflects the user's choice + */ + inline CodecOrder& getActiveCodecs() { return _codecOrder; } + void setActiveCodecs (const std::vector <std::string>& list); + + inline std::string getDisplayName(void) { return _displayName; } + inline void setDisplayName(std::string name) { _displayName = name; } - void setActiveCodecs (const std::vector <std::string>& list); + std::string getUseragent(void) { return _useragent; } + void setUseragent(std::string ua) { _useragent = ua; } private: // copy constructor @@ -243,7 +275,7 @@ class Account{ // assignment operator Account& operator=(const Account& rh); - void loadAudioCodecs (void); + void loadAudioCodecs (void); protected: /** @@ -301,10 +333,21 @@ class Account{ */ std::pair<int, std::string> _registrationStateDetailed; - /** - * Vector containing the order of the codecs - */ - CodecOrder _codecOrder; + /** + * Vector containing the order of the codecs + */ + CodecOrder _codecOrder; + + /** + * List of codec obtained when parsing configuration and used + * to generate codec order list + */ + std::string _codecStr; + + // Display Name that can be used in SIP URI. + std::string _displayName; + + std::string _useragent; }; diff --git a/sflphone-common/src/accountcreator.cpp b/sflphone-common/src/accountcreator.cpp index c0b2abc383a972223cff6d44928d7c916f00b1be..8bf74f3cb3e51bf70624834bd95fe7a43af36b14 100644 --- a/sflphone-common/src/accountcreator.cpp +++ b/sflphone-common/src/accountcreator.cpp @@ -50,19 +50,26 @@ AccountCreator::createAccount (AccountType type, AccountID accountID) { switch (type) { - case SIP_ACCOUNT: - return new SIPAccount (accountID); - break; - - case SIP_DIRECT_IP_ACCOUNT: - return new SIPAccount (IP2IP_PROFILE); - break; + case SIP_ACCOUNT: { + _debug("AccountCreator: create account %s", accountID.c_str()); + return new SIPAccount (accountID); + break; + } + case SIP_DIRECT_IP_ACCOUNT: { + _debug("AccountCreator: create account IP2IP_PROFILE"); + return new SIPAccount (IP2IP_PROFILE); + break; + } #ifdef USE_IAX - case IAX_ACCOUNT: - return new IAXAccount (accountID); - break; + case IAX_ACCOUNT: { + _debug("AccountCreator: create account %s", accountID.c_str()); + return new IAXAccount (accountID); + break; + } #endif + default: + _error("AccountCreator: Error: unknown account type"); } return 0; diff --git a/sflphone-common/src/audio/Makefile.am b/sflphone-common/src/audio/Makefile.am index d6ad9388a83014b2bae79ce21cb6b44cc0897864..8f49c29cc547b096cd2a47d42a951fe4bbbc1c68 100644 --- a/sflphone-common/src/audio/Makefile.am +++ b/sflphone-common/src/audio/Makefile.am @@ -4,31 +4,53 @@ noinst_LTLIBRARIES = libaudio.la SUBDIRS = codecs audiortp sound alsa pulseaudio +# if ENABLE_SPEEXDSP +# SPEEXDSP=-DHAVE_SPEEXDSP_LIB +# endif + libaudio_la_SOURCES = \ audioloop.cpp \ ringbuffer.cpp \ mainbuffer.cpp \ + audiorecord.cpp \ + audiorecorder.cpp \ recordable.cpp \ audiolayer.cpp \ audiodevice.cpp \ samplerateconverter.cpp \ + delaydetection.cpp \ echocancel.cpp \ + speexechocancel.cpp \ audioprocessing.cpp \ dcblocker.cpp \ + jitterbuf.cpp \ $(SPEEX_SOURCES_CPP) noinst_HEADERS = \ audioloop.h \ common.h \ ringbuffer.h \ + mainbuffer.h \ + audiorecord.h \ + audiorecorder.h \ audiolayer.h \ audiodevice.h \ - mainbuffer.h \ recordable.h \ algorithm.h \ + delaydetection.h \ echocancel.h \ + speexechocancel.h \ audioprocessing.h \ dcblocker.h \ + jitterbuf.h \ samplerateconverter.h +libaudio_la_LIBADD = \ + ./audiortp/libaudiortp.la \ + ./codecs/libcodecdescriptor.la \ + ./alsa/libalsalayer.la \ + ./pulseaudio/libpulselayer.la \ + ./sound/libsound.la + + diff --git a/sflphone-common/src/audio/algorithm.h b/sflphone-common/src/audio/algorithm.h index b0bec2023f687a505ec841c3ecbc231bfff3169e..6f147471860f97504107db69ae1ba9294c518632 100644 --- a/sflphone-common/src/audio/algorithm.h +++ b/sflphone-common/src/audio/algorithm.h @@ -42,16 +42,29 @@ class Algorithm { public: + virtual void reset(void) = 0; + /** * Put data to be processed */ - virtual void putData(SFLDataFormat *inputData) = 0; + virtual void putData(SFLDataFormat *inputData, int nbBytes) = 0; + + /** + * + */ + virtual int getData(SFLDataFormat *outputData) = 0; + + /** + * Class implementing this interface must define this function + * for audio processing that require synchronization between spkrdata and + */ + virtual void process(SFLDataFormat *inputData, int nbBytes) = 0; /** * Class implementing this interface must define this function * for audio processing that require synchronization between spkrdata and */ - virtual void process(SFLDataFormat *inputData, SFLDataFormat *outputData) = 0; + virtual int process(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes) = 0; /** * Class implementing this interface must define this function @@ -60,7 +73,7 @@ class Algorithm { * \param spkrData * \param outputData */ - virtual void process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData) = 0; + virtual void process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes) = 0; }; diff --git a/sflphone-common/src/audio/alsa/Makefile.am b/sflphone-common/src/audio/alsa/Makefile.am index bcc584432ff498be653d216053a3b925f067b3c7..8f67710b33ea530dc6a44016121f6802d51276c7 100644 --- a/sflphone-common/src/audio/alsa/Makefile.am +++ b/sflphone-common/src/audio/alsa/Makefile.am @@ -4,5 +4,5 @@ noinst_LTLIBRARIES = libalsalayer.la libalsalayer_la_SOURCES = alsalayer.cpp -noinst_HEADERS = alsalayer.h +noinst_HEADERS = alsalayer.h diff --git a/sflphone-common/src/audio/alsa/alsalayer.cpp b/sflphone-common/src/audio/alsa/alsalayer.cpp index d5eea5aef0846869e9e64bef3325277e65d039f8..5c19f3da8cce792c8b86742700bcfe1aceffd651 100644 --- a/sflphone-common/src/audio/alsa/alsalayer.cpp +++ b/sflphone-common/src/audio/alsa/alsalayer.cpp @@ -54,46 +54,42 @@ AlsaLayer::AlsaLayer (ManagerImpl* manager) , _audioThread (NULL) { - _debug (" Constructor of AlsaLayer called"); + _debug ("Audio: Build ALSA layer"); /* Instanciate the audio thread */ // _audioThread = new AudioThread (this); // _audioThread = NULL; _urgentRingBuffer.createReadPointer(); - - dcblocker = new DcBlocker(); + + AudioLayer::_echocancelstate = true; + AudioLayer::_noisesuppressstate = true; } // Destructor AlsaLayer::~AlsaLayer (void) { - _debug ("Destructor of AlsaLayer called"); + _debug ("Audio: Destroy of ALSA layer"); closeLayer(); if (_converter) { delete _converter; _converter = NULL; } - - if (dcblocker) { - delete dcblocker; - dcblocker = NULL; - } } bool AlsaLayer::closeLayer() { - _debugAlsa ("Close ALSA streams"); + _debugAlsa ("Audio: Close ALSA streams"); try { /* Stop the audio thread first */ if (_audioThread) { - _debug ("Stop Audio Thread"); + _debug ("Audio: Stop Audio Thread"); delete _audioThread; _audioThread=NULL; } } catch (...) { - _debugException ("! ARTP Exception: when stopping audiortp"); + _debugException ("Audio: Exception: when stopping audiortp"); throw; } @@ -139,13 +135,29 @@ AlsaLayer::openDevice (int indexIn, int indexOut, int indexRing, int sampleRate, // use 1 sec buffer for resampling _converter = new SamplerateConverter (_audioSampleRate, 1000); - return true; + AudioLayer::_echoCancel = new EchoCancel(); + AudioLayer::_echoCanceller = new AudioProcessing(static_cast<Algorithm *>(_echoCancel)); + + AudioLayer::_echoCancel->setEchoCancelState(AudioLayer::_echocancelstate); + AudioLayer::_echoCancel->setNoiseSuppressState(AudioLayer::_noisesuppressstate); + + AudioLayer::_dcblocker = new DcBlocker(); + AudioLayer::_audiofilter = new AudioProcessing(static_cast<Algorithm *>(_dcblocker)); + + + return true; } void AlsaLayer::startStream (void) { - _debug ("AlsaLayer:: startStream"); + _debug ("Audio: Start stream"); + + if(_audiofilter) + _audiofilter->resetAlgorithm(); + + if(_echoCanceller) + _echoCanceller->resetAlgorithm(); if(is_playback_running() && is_capture_running() ) return; @@ -191,7 +203,7 @@ AlsaLayer::startStream (void) if (_audioThread == NULL) { try { - _debug ("Start Audio Thread"); + _debug ("Audio: Start Audio Thread"); _audioThread = new AudioThread (this); _audioThread->start(); } catch (...) { @@ -204,17 +216,17 @@ AlsaLayer::startStream (void) void AlsaLayer::stopStream (void) { - _debug ("AlsaLayer:: stopStream"); + _debug ("Audio: Stop stream"); try { /* Stop the audio thread first */ if (_audioThread) { - _debug ("Stop Audio Thread"); + _debug ("Audio: Stop audio thread"); delete _audioThread; _audioThread=NULL; } } catch (...) { - _debugException ("! ARTP Exception: when stopping audiortp"); + _debugException ("Audio: Exception: when stopping audiortp"); throw; } @@ -242,6 +254,27 @@ bool AlsaLayer::isCaptureActive (void) return false; } + +void AlsaLayer::setEchoCancelState(bool state) +{ + // if a stream already running + if(AudioLayer::_echoCancel) + _echoCancel->setEchoCancelState(state); + + AudioLayer::_echocancelstate = state; +} + +void AlsaLayer::setNoiseSuppressState(bool state) +{ + // if a stream already opened + if(AudioLayer::_echoCancel) + _echoCancel->setNoiseSuppressState(state); + + AudioLayer::_noisesuppressstate = state; + +} + + ////////////////////////////////////////////////////////////////////////////////////////////// ///////////////// ALSA PRIVATE FUNCTIONS //////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////// @@ -251,10 +284,10 @@ void AlsaLayer::stopCaptureStream (void) int err; if (_CaptureHandle) { - _debug ("AlsaLayer:: stop Alsa capture"); + _debug ("Audio: Stop ALSA capture"); if ( (err = snd_pcm_drop (_CaptureHandle)) < 0) - _debug ("AlsaLayer:: Error stopping ALSA capture: %s", snd_strerror (err)); + _debug ("Audio: Error: stopping ALSA capture: %s", snd_strerror (err)); else stop_capture (); @@ -269,10 +302,10 @@ void AlsaLayer::closeCaptureStream (void) stopCaptureStream (); if (is_capture_open()) { - _debug ("AlsaLayer:: close ALSA capture"); + _debug ("Audio: Close ALSA capture"); if ( (err = snd_pcm_close (_CaptureHandle)) < 0) - _debug ("Error closing ALSA capture: %s", snd_strerror (err)); + _debug ("Audio: Error: Closing ALSA capture: %s", snd_strerror (err)); else close_capture (); } @@ -283,7 +316,7 @@ void AlsaLayer::startCaptureStream (void) int err; if (_CaptureHandle && !is_capture_running()) { - _debug ("AlsaLayer:: start ALSA capture"); + _debug ("Audio: Start ALSA capture"); if ( (err = snd_pcm_start (_CaptureHandle)) < 0) _debug ("Error starting ALSA capture: %s", snd_strerror (err)); @@ -297,10 +330,10 @@ void AlsaLayer::prepareCaptureStream (void) int err; if (is_capture_open() && !is_capture_prepared()) { - _debug ("AlsaLayer:: prepare ALSA capture"); + _debug ("Audio: Prepare ALSA capture"); if ( (err = snd_pcm_prepare (_CaptureHandle)) < 0) - _debug ("Error preparing ALSA capture: %s", snd_strerror (err)); + _debug ("Audio: Error: preparing ALSA capture: %s", snd_strerror (err)); else prepare_capture (); } @@ -338,6 +371,7 @@ void AlsaLayer::closePlaybackStream (void) if (is_playback_open()) { + _debug("Audio: Close ALSA playback"); if(_RingtoneHandle) { @@ -359,10 +393,10 @@ void AlsaLayer::startPlaybackStream (void) int err; if (_PlaybackHandle && !is_playback_running()) { - _debug ("AlsaLayer:: start ALSA playback"); + _debug ("Audio: Start ALSA playback"); if ( (err = snd_pcm_start (_PlaybackHandle)) < 0) - _debug ("Error starting ALSA playback: %s", snd_strerror (err)); + _debug ("Audio: Error: Starting ALSA playback: %s", snd_strerror (err)); else start_playback(); } @@ -373,10 +407,10 @@ void AlsaLayer::preparePlaybackStream (void) int err; if (is_playback_open() && !is_playback_prepared()) { - _debug ("AlsaLayer:: prepare playback stream"); + _debug ("Audio: Prepare playback stream"); if ( (err = snd_pcm_prepare (_PlaybackHandle)) < 0) - _debug ("Error preparing the device: %s", snd_strerror (err)); + _debug ("Audio: Preparing the device: %s", snd_strerror (err)); else prepare_playback (); } @@ -422,21 +456,22 @@ bool AlsaLayer::alsa_set_params (snd_pcm_t *pcm_handle, int type, int rate) int err; int format; int periods = 4; - int periodsize = 2048; + int periodsize = 160; /* Allocate the snd_pcm_hw_params_t struct */ snd_pcm_hw_params_malloc (&hwparams); - _periodSize = 2048; + // _periodSize = periodsize; + _periodSize = periodsize; /* Full configuration space */ if ( (err = snd_pcm_hw_params_any (pcm_handle, hwparams)) < 0) { - _debugAlsa (" Cannot initialize hardware parameter structure (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot initialize hardware parameter structure (%s)", snd_strerror (err)); return false; } if ( (err = snd_pcm_hw_params_set_access (pcm_handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED)) < 0) { - _debugAlsa (" Cannot set access type (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot set access type (%s)", snd_strerror (err)); return false; } @@ -444,7 +479,7 @@ bool AlsaLayer::alsa_set_params (snd_pcm_t *pcm_handle, int type, int rate) format = SND_PCM_FORMAT_S16_LE; if ( (err = snd_pcm_hw_params_set_format (pcm_handle, hwparams, (snd_pcm_format_t) format)) < 0) { - _debugAlsa (" Cannot set sample format (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot set sample format (%s)", snd_strerror (err)); return false; } @@ -456,17 +491,19 @@ bool AlsaLayer::alsa_set_params (snd_pcm_t *pcm_handle, int type, int rate) exact_ivalue = rate; if ( (err = snd_pcm_hw_params_set_rate_near (pcm_handle, hwparams, &exact_ivalue, &dir) < 0)) { - _debugAlsa (" Cannot set sample rate (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot set sample rate (%s)", snd_strerror (err)); return false; } + else + _debug("Audio: Set audio rate to %d", rate); if (dir!= 0) { - _debugAlsa (" (%i) The chosen rate %d Hz is not supported by your hardware.Using %d Hz instead. ",type ,rate, exact_ivalue); + _debugAlsa ("Audio: Error: (%i) The choosen rate %d Hz is not supported by your hardware.Using %d Hz instead. ",type ,rate, exact_ivalue); } /* Set the number of channels */ if ( (err = snd_pcm_hw_params_set_channels (pcm_handle, hwparams, 1)) < 0) { - _debugAlsa (" Cannot set channel count (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot set channel count (%s)", snd_strerror (err)); return false; } @@ -476,12 +513,12 @@ bool AlsaLayer::alsa_set_params (snd_pcm_t *pcm_handle, int type, int rate) dir=0; if ( (err = snd_pcm_hw_params_set_period_size_near (pcm_handle, hwparams, &exact_lvalue , &dir)) < 0) { - _debugAlsa (" Cannot set period time (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot set period time (%s)", snd_strerror (err)); return false; } if (dir!=0) { - _debugAlsa ("(%i) The chosen period size %d bytes is not supported by your hardware.Using %d instead. ", type, (int) periodsize, (int) exact_lvalue); + _debugAlsa ("Audio: Warning: (%i) The choosen period size %d bytes is not supported by your hardware.Using %d instead. ", type, (int) periodsize, (int) exact_lvalue); } periodsize = exact_lvalue; @@ -492,12 +529,12 @@ bool AlsaLayer::alsa_set_params (snd_pcm_t *pcm_handle, int type, int rate) dir=0; if ( (err = snd_pcm_hw_params_set_periods_near (pcm_handle, hwparams, &exact_ivalue, &dir)) < 0) { - _debugAlsa (" Cannot set periods number (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot set periods number (%s)", snd_strerror (err)); return false; } if (dir!=0) { - _debugAlsa (" The chosen period number %i bytes is not supported by your hardware.Using %i instead. ", periods, exact_ivalue); + _debugAlsa ("Audio: Warning: The choosen period number %i bytes is not supported by your hardware.Using %i instead. ", periods, exact_ivalue); } periods=exact_ivalue; @@ -505,7 +542,7 @@ bool AlsaLayer::alsa_set_params (snd_pcm_t *pcm_handle, int type, int rate) /* Set the hw parameters */ if ( (err = snd_pcm_hw_params (pcm_handle, hwparams)) < 0) { - _debugAlsa (" Cannot set hw parameters (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot set hw parameters (%s)", snd_strerror (err)); return false; } @@ -517,13 +554,13 @@ bool AlsaLayer::alsa_set_params (snd_pcm_t *pcm_handle, int type, int rate) /* Set the start threshold */ - if ( (err = snd_pcm_sw_params_set_start_threshold (pcm_handle, swparams, 2700 /*periodsize*2*/)) < 0) { - _debugAlsa (" Cannot set start threshold (%s)", snd_strerror (err)); + if ( (err = snd_pcm_sw_params_set_start_threshold (pcm_handle, swparams, _periodSize*2)) < 0) { + _debugAlsa ("Audio: Error: Cannot set start threshold (%s)", snd_strerror (err)); return false; } if ( (err = snd_pcm_sw_params (pcm_handle, swparams)) < 0) { - _debugAlsa (" Cannot set sw parameters (%s)", snd_strerror (err)); + _debugAlsa ("Audio: Error: Cannot set sw parameters (%s)", snd_strerror (err)); return false; } @@ -579,8 +616,9 @@ AlsaLayer::open_device (std::string pcm_p, std::string pcm_c, std::string pcm_r, _debug ("Audio: Open capture device"); - if ( (err = snd_pcm_open (&_CaptureHandle, pcm_c.c_str(), SND_PCM_STREAM_CAPTURE, 0)) < 0) { + if ((err = snd_pcm_open(&_CaptureHandle, pcm_c.c_str(), SND_PCM_STREAM_CAPTURE, 0)) < 0){ _warn("Audio: Error: Opening capture device %s", pcm_c.c_str()); + setErrorMessage (ALSA_CAPTURE_DEVICE); close_capture (); return false; @@ -861,7 +899,7 @@ AlsaLayer::soundCardGetIndex (std::string description) return 0; } -void AlsaLayer::audioCallback (void) +void AlsaLayer::audioCallback(void) { int toGet, urgentAvailBytes, normalAvailBytes, maxBytes; @@ -882,12 +920,11 @@ void AlsaLayer::audioCallback (void) // framePerBuffer are the number of data for one channel (left) urgentAvailBytes = _urgentRingBuffer.AvailForGet(); - // toGet = framesPerBufferAlsa; - // maxBytes = toGet * sizeof (SFLDataFormat); - - if(!_PlaybackHandle) + if(!_PlaybackHandle || !_CaptureHandle) return; + snd_pcm_wait(_PlaybackHandle, 20); + int playbackAvailSmpl = snd_pcm_avail_update(_PlaybackHandle); int playbackAvailBytes = playbackAvailSmpl*sizeof(SFLDataFormat); // _debug("PLAYBACK: %d", playbackAvailSmpl); @@ -910,7 +947,9 @@ void AlsaLayer::audioCallback (void) } else { - if (tone) { + normalAvailBytes = getMainBuffer()->availForGet(); + + if (tone && (normalAvailBytes <= 0)) { out = (SFLDataFormat *) malloc (playbackAvailBytes); tone->getNext (out, playbackAvailSmpl, spkrVolume); @@ -920,7 +959,7 @@ void AlsaLayer::audioCallback (void) out = 0; } - else if (file_tone && !_RingtoneHandle) { + else if (file_tone && !_RingtoneHandle && (normalAvailBytes <= 0)) { out = (SFLDataFormat *) malloc (playbackAvailBytes); file_tone->getNext (out, playbackAvailSmpl, spkrVolume); @@ -948,8 +987,6 @@ void AlsaLayer::audioCallback (void) } - - normalAvailBytes = getMainBuffer()->availForGet(); toGet = (normalAvailBytes < (int) maxNbBytesToGet) ? normalAvailBytes : maxNbBytesToGet; out = (SFLDataFormat*) malloc (maxNbBytesToGet); @@ -958,6 +995,10 @@ void AlsaLayer::audioCallback (void) getMainBuffer()->getData (out, toGet, spkrVolume); + // TODO: Audio processing should be performed inside mainbuffer + // to avoid such problem + AudioLayer::_echoCancel->setSamplingRate(_mainBufferSampleRate); + if (_mainBufferSampleRate && ( (int) _audioSampleRate != _mainBufferSampleRate)) { @@ -981,6 +1022,9 @@ void AlsaLayer::audioCallback (void) } + // Copy far-end signal in echo canceller to adapt filter coefficient + AudioLayer::_echoCanceller->putData(out, toGet); + } else { if (!tone && !file_tone) { @@ -1036,6 +1080,8 @@ void AlsaLayer::audioCallback (void) int toPut; SFLDataFormat* in; + SFLDataFormat echoCancelledMic[5000]; + memset(echoCancelledMic, 0, 5000); // snd_pcm_sframes_t micAvailAlsa; in = 0; @@ -1043,7 +1089,7 @@ void AlsaLayer::audioCallback (void) if (is_capture_running()) { micAvailBytes = snd_pcm_avail_update (_CaptureHandle); - // _debug("micAvailBytes %i", micAvailBytes); + // _debug("CAPTURE: %i", micAvailBytes); if (micAvailBytes > 0) { micAvailPut = getMainBuffer()->availForPut(); @@ -1066,16 +1112,28 @@ void AlsaLayer::audioCallback (void) // _debug("nb_sample_up %i", nb_sample_up); nbSample = _converter->downsampleData ( (SFLDataFormat*) in, rsmpl_out, _mainBufferSampleRate, _audioSampleRate, nb_sample_up); - dcblocker->filter_signal (rsmpl_out, nbSample); + _audiofilter->processAudio (rsmpl_out, nbSample*sizeof(SFLDataFormat)); + + // echo cancellation processing + int sampleready = AudioLayer::_echoCanceller->processAudio(rsmpl_out, echoCancelledMic, nbSample*sizeof(SFLDataFormat)); - getMainBuffer()->putData (rsmpl_out, nbSample * sizeof (SFLDataFormat), 100); + // getMainBuffer()->putData (rsmpl_out, nbSample * sizeof (SFLDataFormat), 100); + getMainBuffer()->putData ( echoCancelledMic, sampleready*sizeof (SFLDataFormat), 100); free (rsmpl_out); rsmpl_out = 0; } else { - getMainBuffer()->putData (in, toPut, 100); + + SFLDataFormat* filter_out = (SFLDataFormat*) malloc (framesPerBufferAlsa * sizeof (SFLDataFormat)); + + _audiofilter->processAudio (in, filter_out, toPut); + + int sampleready = AudioLayer::_echoCanceller->processAudio(filter_out, echoCancelledMic, toPut); + + getMainBuffer()->putData (echoCancelledMic, sampleready*sizeof(SFLDataFormat), 100); + free(rsmpl_out); } } @@ -1083,7 +1141,7 @@ void AlsaLayer::audioCallback (void) in=0; } else if (micAvailBytes < 0) { - _debug ("AlsaLayer::audioCallback (mic): error: %s", snd_strerror (micAvailBytes)); + _debug ("Audio: Mic error: %s", snd_strerror (micAvailBytes)); } } diff --git a/sflphone-common/src/audio/alsa/alsalayer.h b/sflphone-common/src/audio/alsa/alsalayer.h index 0346e6b98adb46813ca3e98794e9816b784a1086..8bcacb28987353f95c7a422e80aa9a69b2ee55f5 100644 --- a/sflphone-common/src/audio/alsa/alsalayer.h +++ b/sflphone-common/src/audio/alsa/alsalayer.h @@ -34,7 +34,6 @@ #include "audio/audiolayer.h" #include "audio/samplerateconverter.h" -#include "audio/dcblocker.h" #include "eventthread.h" #include <alsa/asoundlib.h> @@ -155,6 +154,30 @@ class AlsaLayer : public AudioLayer { bool isCaptureActive (void); + /** + * Get the echo canceller state + * @return true if echo cancel activated + */ + virtual bool getEchoCancelState(void) { return AudioLayer::_echocancelstate; } + + /** + * Set the echo canceller state + * @param state true if echocancel active, false elsewhere + */ + virtual void setEchoCancelState(bool state); + + /** + * Get the noise suppressor state + * @return true if noise suppressor activated + */ + virtual bool getNoiseSuppressState(void) { return AudioLayer::_noisesuppressstate; } + + /** + * Set the noise suppressor state + * @param state true if noise suppressor active, false elsewhere + */ + virtual void setNoiseSuppressState(bool state); + private: // Copy Constructor @@ -286,9 +309,6 @@ class AlsaLayer : public AudioLayer { /** Sample rate converter object */ SamplerateConverter* _converter; - // Allpass filter to remove DC offset - DcBlocker* dcblocker; - }; #endif // _ALSA_LAYER_H_ diff --git a/sflphone-common/src/audio/audiolayer.h b/sflphone-common/src/audio/audiolayer.h index 821e1ccde36d2d5e271bfe8df505b7c7975d783a..ab2a4559fa144d10278c53ba69c624ba6457eced 100644 --- a/sflphone-common/src/audio/audiolayer.h +++ b/sflphone-common/src/audio/audiolayer.h @@ -37,19 +37,17 @@ #include "audiodevice.h" #include "ringbuffer.h" #include "mainbuffer.h" - -#include <cc++/thread.h> // for ost::Mutex - +#include "dcblocker.h" +#include "speexechocancel.h" #include "echocancel.h" -#include "algorithm.h" +#include <cc++/thread.h> // for ost::Mutex /** * @file audiolayer.h * @brief Main sound class. Manages the data transfers between the application and the hardware. */ -class Recordable; class ManagerImpl; class AudioLayer { @@ -231,6 +229,30 @@ class AudioLayer { */ inline Recordable* getRecorderInstance (void) {return _recorder;} + /** + * Get the echo canceller state + * @return true if echo cancel activated + */ + virtual bool getEchoCancelState(void) = 0; + + /** + * Set the echo canceller state + * @param state true if echocancel active, false elsewhere + */ + virtual void setEchoCancelState(bool state) = 0; + + /** + * Get the noise suppressor state + * @return true if noise suppressor activated + */ + virtual bool getNoiseSuppressState(void) = 0; + + /** + * Set the noise suppressor state + * @param state true if noise suppressor active, false elsewhere + */ + virtual void setNoiseSuppressState(bool state) = 0; + /** * Get the mutex lock for the entire audio layer */ @@ -319,8 +341,14 @@ class AudioLayer { ost::Mutex _mutex; EchoCancel *_echoCancel; + AudioProcessing *_echoCanceller; + + DcBlocker *_dcblocker; + AudioProcessing *_audiofilter; + + bool _echocancelstate; - AudioProcessing *_audioProcessing; + bool _noisesuppressstate; }; diff --git a/sflphone-common/src/audio/audioprocessing.cpp b/sflphone-common/src/audio/audioprocessing.cpp index e1ede382595030e575a6c6ee789aa53cdd1f98c7..264bbef498d8ab4b054bf1fa5e134507d30d8f6f 100644 --- a/sflphone-common/src/audio/audioprocessing.cpp +++ b/sflphone-common/src/audio/audioprocessing.cpp @@ -33,25 +33,47 @@ -AudioProcessing::AudioProcessing(Algorithm *_algo) : _algorithm(_algo){} +AudioProcessing::AudioProcessing(Algorithm *_algo) : _algorithm(_algo) {} AudioProcessing::~AudioProcessing(void){} -void AudioProcessing::putData(SFLDataFormat *inputData) +void AudioProcessing::resetAlgorithm(void) { if(_algorithm) - _algorithm->putData(inputData); + _algorithm->reset(); } -void AudioProcessing::processAudio(SFLDataFormat *inputData, SFLDataFormat *outputData) +int AudioProcessing::getData(SFLDataFormat *outputData) { if(_algorithm) - _algorithm->process(inputData, outputData); + return _algorithm->getData(outputData); + else + return 0; +} + +void AudioProcessing::putData(SFLDataFormat *inputData, int nbBytes) +{ + if(_algorithm) + _algorithm->putData(inputData, nbBytes); +} + +void AudioProcessing::processAudio(SFLDataFormat *inputData, int nbBytes) +{ + if(_algorithm) + _algorithm->process(inputData, nbBytes); +} + +int AudioProcessing::processAudio(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes) +{ + if(_algorithm) + return _algorithm->process(inputData, outputData, nbBytes); + else + return 0; } -void AudioProcessing::processAudio(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData) { +void AudioProcessing::processAudio(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes) { if(_algorithm) - _algorithm->process(micData, spkrData, outputData); + _algorithm->process(micData, spkrData, outputData, nbBytes); } diff --git a/sflphone-common/src/audio/audioprocessing.h b/sflphone-common/src/audio/audioprocessing.h index d9a3aee33aa0c3dce999700f21ff76eb572f17c8..b69d6fc5058eef3611c602e3173703e196d1542c 100644 --- a/sflphone-common/src/audio/audioprocessing.h +++ b/sflphone-common/src/audio/audioprocessing.h @@ -54,20 +54,36 @@ public: */ void setAlgorithm(Algorithm *_algo) { _algorithm = _algo; } + + /** + * Reset parameters for the algorithm + */ + void resetAlgorithm(); + /** * Put data in internal buffer */ - void putData(SFLDataFormat *inputData); + void putData(SFLDataFormat *inputData, int nbBytes); + + /** + * Get data from internal buffer + */ + int getData(SFLDataFormat *outputData); + + /** + * Process some audio data + */ + void processAudio(SFLDataFormat *inputData, int nbBytes); /** - * Process dome audio data + * Process some audio data */ - void processAudio(SFLDataFormat *inputData, SFLDataFormat *outputData); + int processAudio(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes); /** * Process some audio data. */ - void processAudio(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData); + void processAudio(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes); private: diff --git a/sflphone-common/src/plug-in/audiorecorder/audiorecord.cpp b/sflphone-common/src/audio/audiorecord.cpp similarity index 99% rename from sflphone-common/src/plug-in/audiorecorder/audiorecord.cpp rename to sflphone-common/src/audio/audiorecord.cpp index 4cc6d1779432412c61772a0a785dc5bfda8c8fcb..06d97d0b30d0ee58919e957e3f243245a880ae1e 100644 --- a/sflphone-common/src/plug-in/audiorecorder/audiorecord.cpp +++ b/sflphone-common/src/audio/audiorecord.cpp @@ -120,8 +120,6 @@ void AudioRecord::initFileName (std::string peerNumber) void AudioRecord::openFile() { - _info ("AudioRecord: Open file()"); - bool result = false; _debug ("AudioRecord: Open file()"); @@ -408,6 +406,8 @@ void AudioRecord::closeWavFile() return; } + _debug("AudioRecord: Close wave file"); + SINT32 bytes = byteCounter_ * channels_; @@ -471,7 +471,7 @@ void AudioRecord::recMicData (SFLDataFormat* buffer, int nSamples) void AudioRecord::recData (SFLDataFormat* buffer, int nSamples) { - if (recordingEnabled_) { + if (recordingEnabled_) { if (fp == 0) { _debug ("AudioRecord: Can't record data, a file has not yet been opened!"); @@ -499,6 +499,8 @@ void AudioRecord::recData (SFLDataFormat* buffer_1, SFLDataFormat* buffer_2, int if (recordingEnabled_) { + _debug("Recording enabled"); + if (fp == 0) { _debug ("AudioRecord: Can't record data, a file has not yet been opened!"); return; diff --git a/sflphone-common/src/plug-in/audiorecorder/audiorecord.h b/sflphone-common/src/audio/audiorecord.h similarity index 98% rename from sflphone-common/src/plug-in/audiorecorder/audiorecord.h rename to sflphone-common/src/audio/audiorecord.h index de58f9535e86aa7efe31ad1ac98bcd876d01d781..8e42bd2a245f50c2874b8f313df28f98509510ce 100644 --- a/sflphone-common/src/plug-in/audiorecorder/audiorecord.h +++ b/sflphone-common/src/audio/audiorecord.h @@ -36,10 +36,7 @@ #include <stdlib.h> #include <sstream> -#include "plug-in/plugin.h" -// #include "audiodsp.h" - -// class AudioDSP; +#include "global.h" using namespace std; diff --git a/sflphone-common/src/audio/audiorecorder.cpp b/sflphone-common/src/audio/audiorecorder.cpp new file mode 100644 index 0000000000000000000000000000000000000000..bb846e022b3a728c3bca022514583d0e84e30663 --- /dev/null +++ b/sflphone-common/src/audio/audiorecorder.cpp @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#include "audiorecorder.h" +#include "mainbuffer.h" + +int AudioRecorder::count = 0; + +AudioRecorder::AudioRecorder (AudioRecord *arec, MainBuffer *mb) : Thread() +{ + setCancel (cancelDeferred); + + ++count; + + std::string id("processid_"); + + // convert count into string + std::string s; + std::stringstream out; + out << count; + s = out.str(); + + recorderId = id.append(s); + + arecord = arec; + mbuffer = mb; +} + + +/** + * Reimplementation of run() + */ +void AudioRecorder::run (void) +{ + SFLDataFormat buffer[10000]; + + while(true) { + + if(!mbuffer) + _warn("AudioRecorder: Error: No instance of ringbuffer"); + + int availBytes = mbuffer->availForGet(recorderId); + + if(availBytes > 0) { + + int got = mbuffer->getData(buffer, availBytes, 100, recorderId); + + int availBytesAfter = mbuffer->availForGet(recorderId); + + arecord->recData(buffer, availBytes/sizeof(SFLDataFormat)); + } + + sleep(20); + + } + +} diff --git a/sflphone-common/src/audio/audiorecorder.h b/sflphone-common/src/audio/audiorecorder.h new file mode 100644 index 0000000000000000000000000000000000000000..b1c15f3a489a49fa058b320cb81caa8153e93208 --- /dev/null +++ b/sflphone-common/src/audio/audiorecorder.h @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#ifndef __AUDIORECORDER_H_ +#define __AUDIORECORDER_H_ + +#include <cc++/thread.h> +#include "audiorecord.h" +#include <string> + +class MainBuffer; + +class AudioRecorder : public ost::Thread { + + public: + AudioRecorder(AudioRecord *arec, MainBuffer *mb); + + ~AudioRecorder(void){ terminate(); } + + static int count; + + std::string getRecorderID() { return recorderId; } + + virtual void run(); + + private: + AudioRecorder (const AudioRecorder& ar); + AudioRecorder& operator=(const AudioRecorder& ar); + + std::string recorderId; + + MainBuffer *mbuffer; + + AudioRecord *arecord; +}; + +#endif diff --git a/sflphone-common/src/audio/audiortp/AudioRtpSession.h b/sflphone-common/src/audio/audiortp/AudioRtpSession.h index cab3a977c668b9f4b853ed8bea7481b33331403a..cd4f7edc3cea7a36f2a38aa498970c714e1f130f 100644 --- a/sflphone-common/src/audio/audiortp/AudioRtpSession.h +++ b/sflphone-common/src/audio/audiortp/AudioRtpSession.h @@ -50,6 +50,13 @@ #include <ccrtp/rtp.h> #include <cc++/numbers.h> // ost::Time +#include <speex/speex_jitter.h> + +#include "audio/jitterbuf.h" + +// Frequency (in packet number) +#define RTP_TIMESTAMP_RESET_FREQ 100 + namespace sfl { static const int schedulingTimeout = 100000; @@ -96,11 +103,11 @@ namespace sfl { void putDtmfEvent(int digit); /** - * Send DTMF over RTP (RFC2833). The timestamp and sequence number must be - * incremented as if it was microphone audio. This function change the payload type of the rtp session, - * send the appropriate DTMF digit using this payload, discard coresponding data from mainbuffer and get - * back the codec payload for further audio processing. - */ + * Send DTMF over RTP (RFC2833). The timestamp and sequence number must be + * incremented as if it was microphone audio. This function change the payload type of the rtp session, + * send the appropriate DTMF digit using this payload, discard coresponding data from mainbuffer and get + * back the codec payload for further audio processing. + */ void sendDtmfEvent(sfl::DtmfEvent *dtmf); inline float computeCodecFrameSize (int codecSamplePerFrame, int codecClockRate) { @@ -206,6 +213,17 @@ namespace sfl { */ int _timestamp; + /** + * Timestamp incrementation value based on codec period length (framesize) + * except for G722 which require a 8 kHz incrementation. + */ + int _timestampIncrement; + + /** + * Timestamp reset freqeuncy specified in number of packet sent + */ + short _timestampCount; + /** * Time counter used to trigger incoming call notification */ @@ -215,9 +233,31 @@ namespace sfl { * EventQueue used to store list of DTMF- */ EventQueue _eventQueue; - + + /** + * Adaptive jitter buffer + */ + jitterbuf * _jbuffer; + + /** + * Packet size in ms + */ + int _packetLength; + + int _ts; + + /** + * Current time in ms + */ + int _currentTime; + + SpeexPreprocessState *_noiseState; + protected: + SIPCall * _ca; + + bool onRTPPacketRecv(ost::IncomingRTPPkt&); }; template <typename D> @@ -238,7 +278,11 @@ namespace sfl { _manager(manager), _converterSamplingRate(0), _timestamp(0), + _timestampIncrement(0), + _timestampCount(0), _countNotificationTime(0), + _jbuffer(NULL), + _noiseState(NULL), _ca (sipcall) { setCancel (cancelDefault); @@ -255,6 +299,15 @@ namespace sfl { _layerFrameSize = _audiolayer->getFrameSize(); // in ms _layerSampleRate = _audiolayer->getSampleRate(); + _jbuffer = jb_new(); + + _jbuffer->info.conf.max_jitterbuf = 1000; + _jbuffer->info.conf.target_extra = 100; + _jbuffer->info.silence_begin_ts = 0; + + _ts= 0; + _packetLength = 20; + _currentTime = 0; } template <typename D> @@ -280,8 +333,17 @@ namespace sfl { delete _converter; if (_audiocodec) { - delete _audiocodec; _audiocodec = NULL; + delete _audiocodec; _audiocodec = NULL; } + + if(_jbuffer) { + jb_destroy(_jbuffer); + } + + if(_noiseState) { + speex_preprocess_state_destroy(_noiseState); + } + } template <typename D> @@ -329,20 +391,51 @@ namespace sfl { _codecSampleRate = _audiocodec->getClockRate(); _codecFrameSize = _audiocodec->getFrameSize(); + // G722 requires timestamp to be incremented at 8 kHz + if (_audiocodec->getPayload() == 9) + _timestampIncrement = 160; + else + _timestampIncrement = _codecFrameSize; + + _debug("RTP: Codec sampling rate: %d", _codecSampleRate); _debug("RTP: Codec frame size: %d", _codecFrameSize); + _debug("RTP: RTP timestamp increment: %d", _timestampIncrement); - //TODO: figure out why this is necessary. + // Even if specified as a 16 kHz codec, G722 requires rtp sending rate to be 8 kHz if (_audiocodec->getPayload() == 9) { - _debug ("RTP: Setting payload format to G722"); + _debug ("RTP: Setting G722 payload format"); static_cast<D*>(this)->setPayloadFormat (ost::DynamicPayloadFormat ( (ost::PayloadType) _audiocodec->getPayload(), _audiocodec->getClockRate())); } else if (_audiocodec->hasDynamicPayload()) { - _debug ("RTP: Setting a dynamic payload format"); + _debug ("RTP: Setting dynamic payload format"); static_cast<D*>(this)->setPayloadFormat (ost::DynamicPayloadFormat ( (ost::PayloadType) _audiocodec->getPayload(), _audiocodec->getClockRate())); } else if (!_audiocodec->hasDynamicPayload() && _audiocodec->getPayload() != 9) { - _debug ("RTP: Setting a static payload format"); + _debug ("RTP: Setting static payload format"); static_cast<D*>(this)->setPayloadFormat (ost::StaticPayloadFormat ( (ost::StaticPayloadType) _audiocodec->getPayload())); } + + if(_noiseState) { + speex_preprocess_state_destroy(_noiseState); + _noiseState = NULL; + } + + _noiseState = speex_preprocess_state_init(_codecSampleRate, _codecFrameSize); + int i=1; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DENOISE, &i); + i=-20; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &i); + i=0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC, &i); + i=8000; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC_TARGET, &i); + i=16000; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC_LEVEL, &i); + i=0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB, &i); + float f=0.0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB_DECAY, &f); + f=0.0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB_LEVEL, &f); } template <typename D> @@ -412,53 +505,61 @@ namespace sfl { template<typename D> void AudioRtpSession<D>::sendDtmfEvent(sfl::DtmfEvent *dtmf) { - _debug("RTP: Send Dtmf %d", _eventQueue.size()); - - _timestamp += 160; - - // discard equivalent size of audio - processDataEncode(); - - // change Payload type for DTMF payload - static_cast<D*>(this)->setPayloadFormat (ost::DynamicPayloadFormat ( (ost::PayloadType) 101, 8000)); + _debug("RTP: Send Dtmf %d", _eventQueue.size()); - // Set marker in case this is a new Event - if(dtmf->newevent) - static_cast<D*>(this)->setMark (true); + _timestamp += 160; - static_cast<D*>(this)->putData (_timestamp, (const unsigned char*)(&(dtmf->payload)), sizeof(ost::RTPPacket::RFC2833Payload)); + // discard equivalent size of audio + processDataEncode(); - // This is no more a new event - if(dtmf->newevent) { - dtmf->newevent = false; - static_cast<D*>(this)->setMark (false); - } + // change Payload type for DTMF payload + static_cast<D*>(this)->setPayloadFormat (ost::DynamicPayloadFormat ( (ost::PayloadType) 101, 8000)); + + // Set marker in case this is a new Event + if(dtmf->newevent) + static_cast<D*>(this)->setMark (true); + + static_cast<D*>(this)->putData (_timestamp, (const unsigned char*)(&(dtmf->payload)), sizeof(ost::RTPPacket::RFC2833Payload)); - // get back the payload to audio - static_cast<D*>(this)->setPayloadFormat (ost::StaticPayloadFormat ( (ost::StaticPayloadType) _audiocodec->getPayload())); + // This is no more a new event + if(dtmf->newevent) { + dtmf->newevent = false; + static_cast<D*>(this)->setMark (false); + } - // decrease length remaining to process for this event - dtmf->length -= 160; + // get back the payload to audio + static_cast<D*>(this)->setPayloadFormat (ost::StaticPayloadFormat ( (ost::StaticPayloadType) _audiocodec->getPayload())); - dtmf->payload.duration += 1; + // decrease length remaining to process for this event + dtmf->length -= 160; + + dtmf->payload.duration += 1; + + // next packet is going to be the last one + if((dtmf->length - 160) < 160) + dtmf->payload.ebit = true; + + if(dtmf->length < 160) { + delete dtmf; + _eventQueue.pop_front(); + } + } - // next packet is going to be the last one - if((dtmf->length - 160) < 160) - dtmf->payload.ebit = true; + template <typename D> + bool onRTPPacketRecv(ost::IncomingRTPPkt&) + { + _debug("AudioRtpSession: onRTPPacketRecv"); - if(dtmf->length < 160) { - delete dtmf; - _eventQueue.pop_front(); - } + return true; } + template <typename D> int AudioRtpSession<D>::processDataEncode(void) { assert(_audiocodec); assert(_audiolayer); - int _mainBufferSampleRate = _manager->getAudioDriver()->getMainBuffer()->getInternalSamplingRate(); // compute codec framesize in ms @@ -473,8 +574,10 @@ namespace sfl { // set available byte to maxByteToGet int bytesAvail = (availBytesFromMic < maxBytesToGet) ? availBytesFromMic : maxBytesToGet; - if (bytesAvail == 0) - return 0; + if (bytesAvail == 0) { + memset(_micDataEncoded, 0, sizeof(SFLDataFormat)); + return _audiocodec->getFrameSize(); + } // Get bytes from micRingBuffer to data_from_mic int nbSample = _manager->getAudioDriver()->getMainBuffer()->getData(_micData , bytesAvail, 100, _ca->getCallId()) / sizeof (SFLDataFormat); @@ -528,6 +631,8 @@ namespace sfl { // Store the number of samples for recording _nSamplesSpkr = nbSample; + speex_preprocess_run(_noiseState, _spkrDataConverted); + // put data in audio layer, size in byte _manager->getAudioDriver()->getMainBuffer()->putData (_spkrDataConverted, nbSample * sizeof (SFLDataFormat), 100, _ca->getCallId()); @@ -536,6 +641,7 @@ namespace sfl { // Store the number of samples for recording _nSamplesSpkr = nbSample; + // speex_preprocess_run(_noiseState, _spkrDataDecoded); // put data in audio layer, size in byte _manager->getAudioDriver()->getMainBuffer()->putData (_spkrDataDecoded, expandedSize, 100, _ca->getCallId()); @@ -567,7 +673,7 @@ namespace sfl { // 4. send it // Increment timestamp for outgoing packet - _timestamp += _codecFrameSize; + _timestamp += _timestampIncrement; if (!_audiolayer) { _debug ("No audiolayer available for MIC"); @@ -589,6 +695,7 @@ namespace sfl { template <typename D> void AudioRtpSession<D>::receiveSpeakerData () { + if (!_audiolayer) { _debug ("No audiolayer available for speaker"); return; @@ -600,28 +707,44 @@ namespace sfl { } const ost::AppDataUnit* adu = NULL; + int packetTimestamp = static_cast<D*>(this)->getFirstTimestamp(); + adu = static_cast<D*>(this)->getData(packetTimestamp); - adu = static_cast<D*>(this)->getData(static_cast<D*>(this)->getFirstTimestamp()); + if(!adu) { + return; + } - if (adu == NULL) { - // _debug("No RTP audio stream\n"); - return; - } + unsigned char* spkrDataIn = NULL; + unsigned int size = 0; + int result; + + jb_frame frame; + + _jbuffer->info.conf.resync_threshold = 0; + + if (adu) { + + spkrDataIn = (unsigned char*) adu->getData(); // data in char + size = adu->getSize(); // size in char + + result = jb_put(_jbuffer, spkrDataIn, JB_TYPE_VOICE, _packetLength, _ts+=20, _currentTime); - unsigned char* spkrData = (unsigned char*) adu->getData(); // data in char + } + else { + _debug("No RTP packet available !!!!!!!!!!!!!!!!!!!!!!!\n"); + } - unsigned int size = adu->getSize(); // size in char + result = jb_get(_jbuffer, &frame, _currentTime+=20, _packetLength); // DTMF over RTP, size must be over 4 in order to process it as voice data if(size > 4) { - processDataDecode (spkrData, size); + processDataDecode(spkrDataIn, size); + //if(result == JB_OK) { + // processDataDecode((unsigned char *)(frame.data), 160); + //} } - else { - // _debug("RTP: Received an RTP event with payload: %d", adu->getType()); - // ost::RTPPacket::RFC2833Payload *dtmf = (ost::RTPPacket::RFC2833Payload *)adu->getData(); - // _debug("RTP: Data received %d", dtmf->event); - } + delete adu; } template <typename D> @@ -637,17 +760,18 @@ namespace sfl { template <typename D> void AudioRtpSession<D>::run () { + // Timestamp must be initialized randomly _timestamp = static_cast<D*>(this)->getCurrentTimestamp(); int sessionWaiting; int threadSleep = 0; - if (_codecSampleRate != 0){ - threadSleep = (_codecFrameSize * 1000) / _codecSampleRate; - } + if (_codecSampleRate != 0){ + threadSleep = (_codecFrameSize * 1000) / _codecSampleRate; + } else { - threadSleep = _layerFrameSize; + threadSleep = _layerFrameSize; } TimerPort::setTimer (threadSleep); @@ -658,9 +782,9 @@ namespace sfl { } _ca->setRecordingSmplRate(_audiocodec->getClockRate()); - + // Start audio stream (if not started) AND flush all buffers (main and urgent) - _manager->getAudioDriver()->startStream(); + _manager->getAudioDriver()->startStream(); static_cast<D*>(this)->startRunning(); @@ -668,15 +792,20 @@ namespace sfl { while (!testCancel()) { - // ost::MutexLock lock(*(_manager->getAudioLayerMutex())); - - _manager->getAudioLayerMutex()->enter(); + // Reset timestamp to make sure the timing information are up to date + if(_timestampCount > RTP_TIMESTAMP_RESET_FREQ) { + _timestamp = static_cast<D*>(this)->getCurrentTimestamp(); + _timestampCount = 0; + } + _timestampCount++; - // converterSamplingRate = _audiolayer->getMainBuffer()->getInternalSamplingRate(); - _converterSamplingRate = _manager->getAudioDriver()->getMainBuffer()->getInternalSamplingRate(); + + _manager->getAudioLayerMutex()->enter(); + // converterSamplingRate = _audiolayer->getMainBuffer()->getInternalSamplingRate(); + _converterSamplingRate = _manager->getAudioDriver()->getMainBuffer()->getInternalSamplingRate(); - sessionWaiting = static_cast<D*>(this)->isWaiting(); + sessionWaiting = static_cast<D*>(this)->isWaiting(); // Send session if(_eventQueue.size() > 0) { @@ -689,6 +818,8 @@ namespace sfl { // Recv session receiveSpeakerData (); + /* + // Let's wait for the next transmit cycle if (sessionWaiting == 1) { // Record mic and speaker during conversation @@ -697,6 +828,7 @@ namespace sfl { // Record mic only while leaving a message _ca->recAudio.recData (_micData,_nSamplesMic); } + */ _manager->getAudioLayerMutex()->leave(); diff --git a/sflphone-common/src/audio/audiortp/AudioSymmetricRtpSession.h b/sflphone-common/src/audio/audiortp/AudioSymmetricRtpSession.h index 0713f3db0c2cc82eb3d541a03f49d678f5d32776..c1260a6fc327529763dead3ef12f9cf4b001db59 100644 --- a/sflphone-common/src/audio/audiortp/AudioSymmetricRtpSession.h +++ b/sflphone-common/src/audio/audiortp/AudioSymmetricRtpSession.h @@ -40,7 +40,7 @@ namespace sfl { { public: AudioSymmetricRtpSession(ManagerImpl * manager, SIPCall * sipcall) : - ost::SymmetricRTPSession(ost::InetHostAddress(sipcall->getLocalIp().c_str()), sipcall->getLocalAudioPort()), + ost::SymmetricRTPSession(ost::InetHostAddress(sipcall->getLocalIp().c_str()), sipcall->getLocalAudioPort()), AudioRtpSession<AudioSymmetricRtpSession>(manager, sipcall) { _debug("AudioSymmetricRtpSession initialized\n"); diff --git a/sflphone-common/src/audio/codecs/Makefile.am b/sflphone-common/src/audio/codecs/Makefile.am index e338dc3fb5f898a86039e174c6705370fc20b91a..4c17a54c7ec49912aa96bd3a8ee4ddbec543c33c 100644 --- a/sflphone-common/src/audio/codecs/Makefile.am +++ b/sflphone-common/src/audio/codecs/Makefile.am @@ -13,10 +13,6 @@ libcodec_gsm_so_LDFLAGS = --shared -lc -lgsm INSTALL_GSM_RULE = install-libcodec_gsm_so endif -if ENABLE_SPEEXDSP -SPEEXDSP=-DHAVE_SPEEXDSP_LIB -endif - if BUILD_SPEEX SPEEX_NB_LIB = libcodec_speex_nb.so libcodec_speex_nb_so_SOURCES = speexcodec_nb.cpp diff --git a/sflphone-common/src/audio/codecs/speexcodec_nb.cpp b/sflphone-common/src/audio/codecs/speexcodec_nb.cpp index 92cd12ed83f2d01c93d5d6eef11e6c4e641b6fd0..fdad5f29dc9facfc789d0c67b97967b220a90d4d 100644 --- a/sflphone-common/src/audio/codecs/speexcodec_nb.cpp +++ b/sflphone-common/src/audio/codecs/speexcodec_nb.cpp @@ -45,8 +45,7 @@ class Speex : public AudioCodec _speex_enc_bits(), _speex_dec_state(), _speex_enc_state(), - _speex_frame_size(), - _preprocess_state() { + _speex_frame_size() { _clockRate = 8000; _frameSize = 160; // samples, 20 ms at 8kHz _channel = 1; @@ -77,31 +76,6 @@ class Speex : public AudioCodec speex_decoder_ctl (_speex_dec_state, SPEEX_GET_FRAME_SIZE, &_speex_frame_size); - - -#ifdef HAVE_SPEEXDSP_LIB - - int enable = 1; - int quality = 10; - int complex = 10; - int attenuation = -10; - - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_VAD, &enable); - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_DTX, &enable); - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_VBR_QUALITY, &quality); - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_COMPLEXITY, &complex); - - // Init the decoder struct - speex_decoder_ctl (_speex_dec_state, SPEEX_GET_FRAME_SIZE, &_speex_frame_size); - - // Init the preprocess struct - _preprocess_state = speex_preprocess_state_init (_speex_frame_size,_clockRate); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_DENOISE, &enable); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &attenuation); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_VAD, &enable); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_AGC, &enable); -#endif - } ~Speex() { @@ -118,9 +92,6 @@ class Speex : public AudioCodec speex_bits_destroy (&_speex_enc_bits); speex_encoder_destroy (_speex_enc_state); _speex_enc_state = 0; - - speex_preprocess_state_destroy( _preprocess_state); - _preprocess_state = NULL; } virtual int codecDecode (short *dst, unsigned char *src, unsigned int size) { @@ -136,12 +107,6 @@ class Speex : public AudioCodec virtual int codecEncode (unsigned char *dst, short *src, unsigned int size) { speex_bits_reset (&_speex_enc_bits); -#ifdef HAVE_SPEEXDSP_LIB - - speex_preprocess_run (_preprocess_state, src); -#endif - - speex_encode_int (_speex_enc_state, src, &_speex_enc_bits); int nbBytes = speex_bits_write (&_speex_enc_bits, (char*) dst, size); @@ -155,7 +120,6 @@ class Speex : public AudioCodec void *_speex_dec_state; void *_speex_enc_state; int _speex_frame_size; - SpeexPreprocessState *_preprocess_state; }; // the class factories diff --git a/sflphone-common/src/audio/codecs/speexcodec_ub.cpp b/sflphone-common/src/audio/codecs/speexcodec_ub.cpp index 84be794ecaa2940080a83943eec6fb0ad5271d13..47494fb99c79c9427052e1f9bd86b6bf06bf18a9 100644 --- a/sflphone-common/src/audio/codecs/speexcodec_ub.cpp +++ b/sflphone-common/src/audio/codecs/speexcodec_ub.cpp @@ -32,7 +32,6 @@ #include "audiocodec.h" #include <cstdio> #include <speex/speex.h> -#include <speex/speex_preprocess.h> class Speex : public AudioCodec { @@ -45,8 +44,7 @@ class Speex : public AudioCodec _speex_enc_bits(), _speex_dec_state(), _speex_enc_state(), - _speex_frame_size(), - _preprocess_state() { + _speex_frame_size() { _clockRate = 32000; _frameSize = 640; // 20 ms at 32 kHz _channel = 1; @@ -78,29 +76,6 @@ class Speex : public AudioCodec speex_encoder_ctl (_speex_enc_state,SPEEX_SET_SAMPLING_RATE,&_clockRate); speex_decoder_ctl (_speex_dec_state, SPEEX_GET_FRAME_SIZE, &_speex_frame_size); - -#ifdef HAVE_SPEEXDSP_LIB - - int enable = 1; - int complex = 10; - int attenuation = -10; - - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_VAD, &enable); - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_DTX, &enable); - // speex_encoder_ctl(_speex_enc_state, SPEEX_SET_VBR_QUALITY, &quality); - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_COMPLEXITY, &complex); - - // Init the decoder struct - speex_decoder_ctl (_speex_dec_state, SPEEX_GET_FRAME_SIZE, &_frameSize); - - // Init the preprocess struct - _preprocess_state = speex_preprocess_state_init (_frameSize,_clockRate); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_DENOISE, &enable); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &attenuation); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_VAD, &enable); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_AGC, &enable); -#endif - } ~Speex() { @@ -118,8 +93,6 @@ class Speex : public AudioCodec speex_encoder_destroy (_speex_enc_state); _speex_enc_state = 0; - speex_preprocess_state_destroy( _preprocess_state); - _preprocess_state = NULL; } virtual int codecDecode (short *dst, unsigned char *src, unsigned int size) { @@ -135,12 +108,6 @@ class Speex : public AudioCodec virtual int codecEncode (unsigned char *dst, short *src, unsigned int size) { speex_bits_reset (&_speex_enc_bits); -#ifdef HAVE_SPEEXDSP_LIB - - speex_preprocess_run (_preprocess_state, src); -#endif - - speex_encode_int (_speex_enc_state, src, &_speex_enc_bits); speex_bits_nbytes (&_speex_enc_bits); int nbBytes = speex_bits_write (&_speex_enc_bits, (char*) dst, size); @@ -155,7 +122,6 @@ class Speex : public AudioCodec void *_speex_dec_state; void *_speex_enc_state; int _speex_frame_size; - SpeexPreprocessState *_preprocess_state; }; // the class factories diff --git a/sflphone-common/src/audio/codecs/speexcodec_wb.cpp b/sflphone-common/src/audio/codecs/speexcodec_wb.cpp index 19f9da9c67398f836d523e72161e43a8e98e539b..d9fda3e3af502b0dfcdc6d24c864b46942b1e64b 100644 --- a/sflphone-common/src/audio/codecs/speexcodec_wb.cpp +++ b/sflphone-common/src/audio/codecs/speexcodec_wb.cpp @@ -32,7 +32,6 @@ #include "audiocodec.h" #include <cstdio> #include <speex/speex.h> -#include <speex/speex_preprocess.h> class Speex : public AudioCodec { @@ -45,8 +44,7 @@ class Speex : public AudioCodec _speex_enc_bits(), _speex_dec_state(), _speex_enc_state(), - _speex_frame_size(), - _preprocess_state() { + _speex_frame_size() { _clockRate = 16000; _frameSize = 320; // 20 ms at 16 kHz _channel = 1; @@ -77,29 +75,6 @@ class Speex : public AudioCodec speex_decoder_ctl (_speex_dec_state, SPEEX_GET_FRAME_SIZE, &_speex_frame_size); -#ifdef HAVE_SPEEXDSP_LIB - - int enable = 1; - int quality = 10; - int complex = 10; - int attenuation = -10; - - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_VAD, &enable); - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_DTX, &enable); - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_VBR_QUALITY, &quality); - speex_encoder_ctl (_speex_enc_state, SPEEX_SET_COMPLEXITY, &complex); - - // Init the decoder struct - speex_decoder_ctl (_speex_dec_state, SPEEX_GET_FRAME_SIZE, &_speex_frame_size); - - // Init the preprocess struct - _preprocess_state = speex_preprocess_state_init (_speex_frame_size,_clockRate); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_DENOISE, &enable); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &attenuation); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_VAD, &enable); - speex_preprocess_ctl (_preprocess_state, SPEEX_PREPROCESS_SET_AGC, &enable); -#endif - } ~Speex() { @@ -117,8 +92,6 @@ class Speex : public AudioCodec speex_encoder_destroy (_speex_enc_state); _speex_enc_state = 0; - speex_preprocess_state_destroy( _preprocess_state); - _preprocess_state = NULL; } virtual int codecDecode (short *dst, unsigned char *src, unsigned int size) { @@ -135,11 +108,6 @@ class Speex : public AudioCodec virtual int codecEncode (unsigned char *dst, short *src, unsigned int size) { speex_bits_reset (&_speex_enc_bits); -#ifdef HAVE_SPEEXDSP_LIB - - speex_preprocess_run (_preprocess_state, src); -#endif - //printf ("Codec::codecEncode() size %i\n", size); speex_encode_int (_speex_enc_state, src, &_speex_enc_bits); int nbBytes = speex_bits_write (&_speex_enc_bits, (char*) dst, size); @@ -154,7 +122,6 @@ class Speex : public AudioCodec void *_speex_dec_state; void *_speex_enc_state; int _speex_frame_size; - SpeexPreprocessState *_preprocess_state; }; // the class factories diff --git a/sflphone-common/src/audio/dcblocker.cpp b/sflphone-common/src/audio/dcblocker.cpp index 7080ab76046b9f310c566bc93ed0e48418e75a0a..b1a18eb1a2e6ddcf97568825cd057df55a8b42fc 100644 --- a/sflphone-common/src/audio/dcblocker.cpp +++ b/sflphone-common/src/audio/dcblocker.cpp @@ -28,40 +28,57 @@ * as that of the covered work. */ +#include "dcblocker.h" +DcBlocker::DcBlocker() : _y(0), _x(0), _xm1(0), _ym1(0) {} -#include "dcblocker.h" +DcBlocker::~DcBlocker() {} -DcBlocker::DcBlocker() +void DcBlocker::reset() { + _y = 0; + _x = 0; + _xm1 = 0; + _ym1 = 0; +} - y = 0; - x = 0; - xm1 = 0; - ym1 = 0; +void DcBlocker::putData(SFLDataFormat *inputData, int nbBytes) {} -} +int DcBlocker::getData(SFLDataFormat *outputData) { return 0; } -DcBlocker::~DcBlocker() +void DcBlocker::process (SFLDataFormat *data, int nbBytes) { + // y(n) = x(n) - x(n-1) + R y(n-1) , R = 0.9999 + int nbSamples = nbBytes / sizeof(SFLDataFormat); + for (int i = 0; i < nbSamples; i++) { + _x = data[i]; -} + _y = (SFLDataFormat) ( (float) _x - (float) _xm1 + 0.995 * (float) _ym1); + _xm1 = _x; + _ym1 = _y; -void DcBlocker::filter_signal (SFLDataFormat* audio_data, int length) -{ - // y(n) = x(n) - x(n-1) + R y(n-1) , R = 0.9999 + data[i] = _y; + + } +} - for (int i = 0; i < length; i++) { +int DcBlocker::process(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes) { - x = audio_data[i]; + int nbSamples = nbBytes / sizeof(SFLDataFormat); + for (int i = 0; i < nbSamples; i++) { - y = (SFLDataFormat) ( (float) x - (float) xm1 + 0.9999 * (float) ym1); - xm1 = x; - ym1 = y; + _x = inputData[i]; - audio_data[i] = y; + _y = (SFLDataFormat) ( (float) _x - (float) _xm1 + 0.9999 * (float) _ym1); + _xm1 = _x; + _ym1 = _y; + outputData[i] = _y; } + return 0; + } + +void DcBlocker::process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes) {} diff --git a/sflphone-common/src/audio/dcblocker.h b/sflphone-common/src/audio/dcblocker.h index 7ce1eb50e30b9468b3452b8af06277ef80f55fa5..8d53688c19ef15a03f49761ff3b3a315914f5bd3 100644 --- a/sflphone-common/src/audio/dcblocker.h +++ b/sflphone-common/src/audio/dcblocker.h @@ -31,9 +31,12 @@ #ifndef DCBLOCKER_H #define DCBLOCKER_H +#include "algorithm.h" #include "global.h" -class DcBlocker { +#include <vector> + +class DcBlocker : public Algorithm { public: @@ -41,11 +44,41 @@ public: ~DcBlocker(); - void filter_signal(SFLDataFormat* audio_data, int length); + virtual void reset(void); + + /** + * Unused + */ + virtual void putData(SFLDataFormat *inputData, int nbBytes); + + /** + * Unused + */ + virtual int getData(SFLDataFormat *outputData); + + /** + * Perform dc blocking given the input data + */ + virtual void process(SFLDataFormat *data, int nbBytes); + + /** + * Perform echo cancellation using internal buffers + * \param inputData containing mixed echo and voice data + * \param outputData containing + */ + virtual int process(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes); + + /** + * Perform echo cancellation, application must provide its own buffer + * \param micData containing mixed echo and voice data + * \param spkrData containing far-end voice data to be sent to speakers + * \param outputData containing the processed data + */ + virtual void process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes); private: - SFLDataFormat y, x, xm1, ym1; + SFLDataFormat _y, _x, _xm1, _ym1; }; #endif diff --git a/sflphone-common/src/audio/delaydetection.cpp b/sflphone-common/src/audio/delaydetection.cpp new file mode 100644 index 0000000000000000000000000000000000000000..5c6ab4d742644ed469eb6ab426030680173ab82b --- /dev/null +++ b/sflphone-common/src/audio/delaydetection.cpp @@ -0,0 +1,386 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + + + +#include "delaydetection.h" +#include "math.h" +// #include <stdio.h> +#include <string.h> +#include <samplerate.h> + +// decimation filter coefficient +float decimationCoefs[] = {-0.09870257, 0.07473655, 0.05616626, 0.04448337, 0.03630817, 0.02944626, + 0.02244098, 0.01463477, 0.00610982, -0.00266367, -0.01120109, -0.01873722, + -0.02373243, -0.02602213, -0.02437806, -0.01869834, -0.00875287, 0.00500204, + 0.02183252, 0.04065763, 0.06015944, 0.0788299, 0.09518543, 0.10799179, + 0.1160644, 0.12889288, 0.1160644, 0.10799179, 0.09518543, 0.0788299, + 0.06015944, 0.04065763, 0.02183252, 0.00500204, -0.00875287, -0.01869834, + -0.02437806, -0.02602213, -0.02373243, -0.01873722, -0.01120109, -0.00266367, + 0.00610982, 0.01463477, 0.02244098, 0.02944626, 0.03630817, 0.04448337, + 0.05616626, 0.07473655, -0.09870257}; +std::vector<double> ird(decimationCoefs, decimationCoefs + sizeof(decimationCoefs)/sizeof(float)); + + +// decimation filter coefficient +float bandpassCoefs[] = {0.06278034, -0.0758545, -0.02274943, -0.0084497, 0.0702427, 0.05986113, + 0.06436469, -0.02412049, -0.03433526, -0.07568665, -0.03214543, -0.07236507, + -0.06979052, -0.12446371, -0.05530828, 0.00947243, 0.15294699, 0.17735563, + 0.15294699, 0.00947243, -0.05530828, -0.12446371, -0.06979052, -0.07236507, + -0.03214543, -0.07568665, -0.03433526, -0.02412049, 0.06436469, 0.05986113, + 0.0702427, -0.0084497, -0.02274943, -0.0758545, 0.06278034}; +std::vector<double> irb(bandpassCoefs, bandpassCoefs + sizeof(bandpassCoefs)/sizeof(float)); + + +FirFilter::FirFilter(std::vector<double> ir) : _length(ir.size()), + _impulseResponse(ir), + _count(0) +{ + memset(_taps, 0, sizeof(double)*MAXFILTERSIZE); +} + +FirFilter::~FirFilter() {} + +float FirFilter::getOutputSample(float inputSample) +{ + _taps[_count] = inputSample; + double result = 0.0; + int index = _count; + for(int i = 0; i < _length; i++) { + result = result + _impulseResponse[i] * _taps[index--]; + if(index < 0) + index = _length-1; + } + _count++; + if(_count >= _length) + _count = 0; + + return result; +} + +void FirFilter::reset(void) +{ + for(int i = 0; i < _length; i++) { + _impulseResponse[i] = 0.0; + } +} + + +DelayDetection::DelayDetection() : _internalState(WaitForSpeaker), _decimationFilter(ird), _bandpassFilter(irb), _segmentSize(DELAY_BUFF_SIZE), _downsamplingFactor(8) +{ + _micDownSize = WINDOW_SIZE / _downsamplingFactor; + _spkrDownSize = DELAY_BUFF_SIZE / _downsamplingFactor; + + memset(_spkrReference, 0, sizeof(float)*WINDOW_SIZE*2); + memset(_capturedData, 0, sizeof(float)*DELAY_BUFF_SIZE*2); + memset(_spkrReferenceDown, 0, sizeof(float)*WINDOW_SIZE*2); + memset(_captureDataDown, 0, sizeof(float)*DELAY_BUFF_SIZE*2); + memset(_spkrReferenceFilter, 0, sizeof(float)*WINDOW_SIZE*2); + memset(_captureDataFilter, 0, sizeof(float)*DELAY_BUFF_SIZE*2); + memset(_correlationResult, 0, sizeof(float)*DELAY_BUFF_SIZE*2); + +} + +DelayDetection::~DelayDetection(){} + +void DelayDetection::reset() +{ + _nbMicSampleStored = 0; + _nbSpkrSampleStored = 0; + + _decimationFilter.reset(); + _bandpassFilter.reset(); + + memset(_spkrReference, 0, sizeof(float)*WINDOW_SIZE*2); + memset(_capturedData, 0, sizeof(float)*DELAY_BUFF_SIZE*2); + memset(_spkrReferenceDown, 0, sizeof(float)*WINDOW_SIZE*2); + memset(_captureDataDown, 0, sizeof(float)*DELAY_BUFF_SIZE*2); + memset(_spkrReferenceFilter, 0, sizeof(float)*WINDOW_SIZE*2); + memset(_captureDataFilter, 0, sizeof(float)*DELAY_BUFF_SIZE*2); + memset(_correlationResult, 0, sizeof(float)*DELAY_BUFF_SIZE*2); + + _internalState = WaitForSpeaker; +} + +void DelayDetection::putData(SFLDataFormat *inputData, int nbBytes) +{ + + // Machine may already got a spkr and is waiting for mic or computing correlation + if(_nbSpkrSampleStored == WINDOW_SIZE) + return; + + int nbSamples = nbBytes/sizeof(SFLDataFormat); + + if((_nbSpkrSampleStored + nbSamples) > WINDOW_SIZE) + nbSamples = WINDOW_SIZE - _nbSpkrSampleStored; + + + if (nbSamples) { + + float tmp[nbSamples]; + float down[nbSamples]; + + convertInt16ToFloat32(inputData, tmp, nbSamples); + memcpy(_spkrReference+_nbSpkrSampleStored, tmp, nbSamples*sizeof(float)); + + downsampleData(tmp, down, nbSamples, _downsamplingFactor); + bandpassFilter(down, nbSamples/_downsamplingFactor); + memcpy(_spkrReferenceDown+(_nbSpkrSampleStored/_downsamplingFactor), down, (nbSamples/_downsamplingFactor)*sizeof(float)); + + _nbSpkrSampleStored += nbSamples; + + } + + // Update the state + _internalState = WaitForMic; + +} + +int DelayDetection::getData(SFLDataFormat *outputData) { return 0; } + +void DelayDetection::process(SFLDataFormat *inputData, int nbBytes) { + + if(_internalState != WaitForMic) + return; + + int nbSamples = nbBytes/sizeof(SFLDataFormat); + + if((_nbMicSampleStored + nbSamples) > DELAY_BUFF_SIZE) + nbSamples = DELAY_BUFF_SIZE - _nbMicSampleStored; + + if(nbSamples) { + float tmp[nbSamples]; + float down[nbSamples]; + + convertInt16ToFloat32(inputData, tmp, nbSamples); + memcpy(_capturedData+_nbMicSampleStored, tmp, nbSamples); + + downsampleData(tmp, down, nbSamples, _downsamplingFactor); + + /* + for(int i = 0; i < 10; i++) + _debug("up: %.10f", tmp[i]); + + for(int i = 0; i < 10; i++) + _debug("down: %.10f", down[i]); + + bandpassFilter(down, nbSamples/_downsamplingFactor); + + for(int i = 0; i < 10; i++) + _debug("band: %.10f", down[i]); + */ + + memcpy(_captureDataDown+(_nbMicSampleStored/_downsamplingFactor), down, (nbSamples/_downsamplingFactor)*sizeof(float)); + + _nbMicSampleStored += nbSamples; + + } + + if(_nbMicSampleStored == DELAY_BUFF_SIZE) + _internalState = ComputeCorrelation; + else + return; + + /* + for(int i = 0; i < 10; i++) + _debug("spkrRef: %.10f", _spkrReferenceDown[i]); + + for(int i = 0; i < 10; i++) + _debug("micSeg: %.10f", _captureDataDown[i]); + */ + + _debug("_spkrDownSize: %d, _micDownSize: %d", _spkrDownSize, _micDownSize); + crossCorrelate(_spkrReferenceDown, _captureDataDown, _correlationResult, _micDownSize, _spkrDownSize); + + int maxIndex = getMaxIndex(_correlationResult, _spkrDownSize); + + _debug("MaxIndex: %d", maxIndex); + + // reset(); +} + +int DelayDetection::process(SFLDataFormat *intputData, SFLDataFormat *outputData, int nbBytes) { return 0; } + +void DelayDetection::process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes) {} + +void DelayDetection::crossCorrelate(float *ref, float *seg, float *res, int refSize, int segSize) { + + _debug("CrossCorrelate"); + + int counter = 0; + + // Output has same size as the + int rsize = refSize; + int ssize = segSize; + int tmpsize = segSize-refSize+1; + + /* + for(int i = 0; i < 32; i++) + _debug("ref: %.10f", ref[i]); + + for(int i = 0; i < 150; i++) + _debug("seg: %.10f", seg[i]); + */ + + // perform autocorrelation on reference signal + float acref = correlate(ref, ref, rsize); + // _debug("acref: %f", acref); + + // perform crossrelation on signal + float acseg = 0.0; + float r; + while(--tmpsize) { + --ssize; + acseg = correlate(seg+tmpsize, seg+tmpsize, rsize); + // _debug("acseg: %f", acseg); + res[ssize] = correlate(ref, seg+tmpsize, rsize); + r = sqrt(acref*acseg); + + if(r < 0.0000001) + res[ssize] = 0.0; + else + res[ssize] = res[ssize] / r; + } + + // perform crosscorrelation on zerro padded region + int i = 0; + while(rsize) { + acseg = correlate(seg, seg, rsize); + // _debug("acseg: %f", acseg); + res[ssize-1] = correlate(ref+i, seg, rsize); + r = sqrt(acref*acseg); + + if(r < 0.0001) + res[ssize-1] = 0.0; + else + res[ssize-1] = res[ssize-1] / r; + + --rsize; + --ssize; + ++i; + } +} + +double DelayDetection::correlate(float *sig1, float *sig2, short size) { + + short s = size; + + double ac = 0.0; + while(s--) + ac += sig1[s]*sig2[s]; + + return ac; +} + + +void DelayDetection::convertInt16ToFloat32(SFLDataFormat *input, float *output, int nbSamples) { + + // factor is 1/(2^15), used to rescale the short int range to the + // [-1.0 - 1.0] float range. +#define S2F_FACTOR .000030517578125f; + int len = nbSamples; + + while(len) { + len--; + output[len] = (float)input[len] * S2F_FACTOR; + } +} + + +void DelayDetection::downsampleData(float *input, float *output, int nbSamples, int factor) { + + /* + float tmp[nbSamples]; + + for(int i = 0; i < nbSamples; i++) { + tmp[i] = _decimationFilter.getOutputSample(input[i]); + } + + int j; + for(j=_remainingIndex; j<nbSamples; j+=factor) { + output[j] = tmp[j]; + } + _remainingIndex = j - nbSamples; + */ + + /* + double downsampleFactor = (double) samplerate1 / samplerate2; + + int nbSamplesMax = (int) (samplerate1 * getFramesize() / 1000); + */ + + int _src_err; + + SRC_STATE *_src_state = src_new (SRC_LINEAR, 1, &_src_err); + + double downfactor = 1.0 / (double)factor; + + if (downfactor != 1.0) { + SRC_DATA src_data; + src_data.data_in = input; + src_data.data_out = output; + src_data.input_frames = nbSamples; + src_data.output_frames = nbSamples / factor; + src_data.src_ratio = downfactor; + src_data.end_of_input = 0; // More data will come + + //src_short_to_float_array (dataIn, _floatBufferUpMic, nbSamples); + //_debug("downsample %d %f %d" , src_data.output_frames, src_data.src_ratio , nbSamples); + src_process (_src_state, &src_data); + //_debug("downsample %d %f %d" , src_data.output_frames, src_data.src_ratio , nbSamples); + // nbSamples = (src_data.output_frames_gen > nbSamplesMax) ? nbSamplesMax : src_data.output_frames_gen; + //_debug("downsample %d %f %d" , src_data.output_frames, src_data.src_ratio , nbSamples); + // src_float_to_short_array (_floatBufferDownMic , dataOut , nbSamples); + } +} + + +void DelayDetection::bandpassFilter(float *input, int nbSamples) { + + for(int i = 0; i < nbSamples; i++) { + input[i] = _bandpassFilter.getOutputSample(input[i]); + } +} + + +int DelayDetection::getMaxIndex(float *data, int size) { + + float max = 0.0; + int k; + + for(int i = 0; i < size; i++) { + if(data[i] >= max) { + max = data[i]; + k = i; + } + } + + return k; +} diff --git a/sflphone-common/src/audio/delaydetection.h b/sflphone-common/src/audio/delaydetection.h new file mode 100644 index 0000000000000000000000000000000000000000..a7567b6c2e8ccdfb82301724c5f151548517a8f2 --- /dev/null +++ b/sflphone-common/src/audio/delaydetection.h @@ -0,0 +1,191 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + + +#ifndef DELAYDETECTION_H +#define DELAYDETECTION_H + +#include "algorithm.h" + +// Template size in samples for correlation +#define WINDOW_SIZE 256 + +// Segment length in ms for correlation +#define MAX_DELAY 150 + +// Size of internal buffers in samples +#define DELAY_BUFF_SIZE MAX_DELAY*8000/1000 + +#define MAXFILTERSIZE 100 + + + +class FirFilter { + + public: + + /** + * Constructor for this class + */ + FirFilter(std::vector<double> ir); + + /** + * SDestructor for this class + */ + ~FirFilter(); + + /** + * Perform filtering on one sample + */ + float getOutputSample(float inputSample); + + void reset(void); + + + private: + + /** + * Length of the filter + */ + int _length; + + /** + * Coefficient of the filter + */ + std::vector<double> _impulseResponse; + + /** + * Circular buffer + */ + double _taps[MAXFILTERSIZE]; + + /** + * Counter + */ + int _count; + +}; + + +class DelayDetection : public Algorithm { + + public: + + DelayDetection(); + + ~DelayDetection(); + + virtual void reset(void); + + virtual void putData(SFLDataFormat *inputData, int nbBytes); + + virtual int getData(SFLDataFormat *getData); + + virtual void process(SFLDataFormat *inputData, int nbBytes); + + virtual int process(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes); + + virtual void process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes); + + private: + + enum State { + WaitForSpeaker, + WaitForMic, + ComputeCorrelation + }; + + + /** + * Perform a normalized crosscorrelation between template and segment + */ + void crossCorrelate(float *ref, float *seg, float *res, int refSize, int segSize); + + /** + * Perform a correlation on specified signals (mac) + */ + double correlate(float *sig1, float *sig2, short size); + + void convertInt16ToFloat32(SFLDataFormat *input, float *ouput, int nbSamples); + + void downsampleData(float *input, float *output, int nbSamples, int factor); + + void bandpassFilter(float *input, int nbSamples); + + int getMaxIndex(float *data, int size); + + State _internalState; + + FirFilter _decimationFilter; + + FirFilter _bandpassFilter; + + /** + * Segment size in samples for correlation + */ + short _segmentSize; + + int _downsamplingFactor; + + /** + * Resulting correlation size (s + w -1) + */ + short _correlationSize; + + float _spkrReference[WINDOW_SIZE*2]; + + float _capturedData[DELAY_BUFF_SIZE*2]; + + float _spkrReferenceDown[WINDOW_SIZE*2]; + + float _captureDataDown[DELAY_BUFF_SIZE*2]; + + float _spkrReferenceFilter[WINDOW_SIZE*2]; + + float _captureDataFilter[DELAY_BUFF_SIZE*2]; + + float _correlationResult[DELAY_BUFF_SIZE*2]; + + int _remainingIndex; + + int _spkrDownSize; + + int _micDownSize; + + int _nbMicSampleStored; + + int _nbSpkrSampleStored; + + public: + + friend class DelayDetectionTest; +}; + +#endif diff --git a/sflphone-common/src/audio/echocancel.cpp b/sflphone-common/src/audio/echocancel.cpp index 27176b37e99ddf669f6e43756ad79bbf855281de..aab1e8f9989fc18c7c79315ef6dd64c76de12018 100644 --- a/sflphone-common/src/audio/echocancel.cpp +++ b/sflphone-common/src/audio/echocancel.cpp @@ -30,33 +30,576 @@ #include "echocancel.h" +// #include <fstream> -#define FRAME_SIZE 160 -#define FILTER_LENGTH 2000 - -EchoCancel::EchoCancel() +EchoCancel::EchoCancel(int smplRate, int frameLength) : _samplingRate(smplRate), + _frameLength(frameLength), + _smplPerFrame(0), + _smplPerSeg(0), + _nbSegmentPerFrame(0), + _micHistoryLength(0), + _spkrHistoryLength(0), + _alpha(0.01), + _spkrLevelMem(0), + _micLevelMem(0), + _spkrLevel(0), + _micLevel(0), + _spkrHistCnt(0), + _micHistCnt(0), + _amplFactor(0.0), + _lastAmplFactor(0.0), + _amplDelayIndexIn(0), + _amplDelayIndexOut(0), + _adaptDone(false), + _adaptStarted(false), + _adaptCnt(0), + _spkrAdaptCnt(0), + _micAdaptCnt(0), + _spkrAdaptSize(SPKR_ADAPT_SIZE), + _micAdaptSize(MIC_ADAPT_SIZE), + _correlationSize(0), + _processedByte(0), + _echoActive(true), + _noiseActive(true) { - _echoState = speex_echo_state_init(FRAME_SIZE, FILTER_LENGTH); + _debug("EchoCancel: Instantiate echo canceller"); + + + // micFile = new ofstream("micData", ofstream::binary); + // echoFile = new ofstream("echoData", ofstream::binary); + // spkrFile = new ofstream("spkrData", ofstream::binary); + + micLevelData = new ofstream("micLevelData", ofstream::binary); + spkrLevelData = new ofstream("spkrLevelData", ofstream::binary); + + + _micData = new RingBuffer(50000); + _spkrData = new RingBuffer(50000); + _spkrDataOut = new RingBuffer(50000); + + _micData->createReadPointer(); + _spkrData->createReadPointer(); + _spkrDataOut->createReadPointer(); + + // variable used to sync mic and spkr + _spkrStoped = true; + + _smplPerFrame = (_samplingRate * _frameLength) / MS_PER_SEC; + _smplPerSeg = (_samplingRate * SEGMENT_LENGTH) / MS_PER_SEC; + _micHistoryLength = MIC_LENGTH / SEGMENT_LENGTH; + _spkrHistoryLength = SPKR_LENGTH / SEGMENT_LENGTH; + _nbSegmentPerFrame = _frameLength / SEGMENT_LENGTH; + + _noiseState = speex_preprocess_state_init(_smplPerFrame, _samplingRate); + int i=1; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DENOISE, &i); + i=-20; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &i); + i=0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC, &i); + i=8000; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC_TARGET, &i); + i=16000; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC_LEVEL, &i); + i=0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB, &i); + float f=0.0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB_DECAY, &f); + f=0.0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB_LEVEL, &f); + i = 0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_VAD, &i); + + + memset(_avgSpkrLevelHist, 0, BUFF_SIZE*sizeof(int)); + memset(_avgMicLevelHist, 0, BUFF_SIZE*sizeof(int)); + + memset(_delayLineAmplify, 0, MAX_DELAY_LINE_AMPL*sizeof(float)); + + _amplDelayIndexIn = 0; + _amplDelayIndexOut = 0; + + _correlationSize = _spkrAdaptSize; + } + EchoCancel::~EchoCancel() { - speex_echo_state_destroy(_echoState); - _echoState = NULL; + _debug("EchoCancel: Delete echo canceller"); + + delete _micData; + _micData = NULL; + + delete _spkrData; + _spkrData = NULL; + + speex_preprocess_state_destroy(_noiseState); + + // micFile->close(); + // spkrFile->close(); + // echoFile->close(); + + // delete micFile; + // delete spkrFile; + // delete echoFile; + + micLevelData->close(); + spkrLevelData->close(); + delete micLevelData; + delete spkrLevelData; } -void EchoCancel::putData(SFLDataFormat *inputData) + +void EchoCancel::reset() { - speex_echo_playback(_echoState, inputData); + _debug("EchoCancel: Reset internal state, Sampling rate %d, Frame size %d", _samplingRate, _smplPerFrame); + + memset(_avgSpkrLevelHist, 0, BUFF_SIZE*sizeof(int)); + memset(_avgMicLevelHist, 0, BUFF_SIZE*sizeof(int)); + + _spkrLevel = 0; + _micLevel = 0; + _spkrHistCnt = 0; + _micHistCnt = 0; + _amplFactor = 0.0; + _lastAmplFactor = 0.0; + + _smplPerFrame = (_samplingRate * _frameLength) / MS_PER_SEC; + _smplPerSeg = (_samplingRate * SEGMENT_LENGTH) / MS_PER_SEC; + _micHistoryLength = MIC_LENGTH / SEGMENT_LENGTH; + _spkrHistoryLength = SPKR_LENGTH / SEGMENT_LENGTH; + _nbSegmentPerFrame = _frameLength / SEGMENT_LENGTH; + + memset(_delayLineAmplify, 0, MAX_DELAY_LINE_AMPL*sizeof(float)); + + _amplDelayIndexIn = 0; + _amplDelayIndexOut = ECHO_LENGTH / SEGMENT_LENGTH; + + _adaptDone = false; + _adaptStarted = false; + _adaptCnt = 0; + _spkrAdaptCnt = 0; + _micAdaptCnt = 0; + + _micData->flushAll(); + _spkrData->flushAll(); + _spkrDataOut->flushAll(); + + speex_preprocess_state_destroy(_noiseState); + + _noiseState = speex_preprocess_state_init(_smplPerFrame, _samplingRate); + int i=1; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DENOISE, &i); + i=-10; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_NOISE_SUPPRESS, &i); + i=0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC, &i); + i=8000; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC_TARGET, &i); + i=16000; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_AGC_LEVEL, &i); + i=0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB, &i); + float f=0.0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB_DECAY, &f); + f=0.0; + speex_preprocess_ctl(_noiseState, SPEEX_PREPROCESS_SET_DEREVERB_LEVEL, &f); + + _spkrStoped = true; + + _processedByte = 0; } -void EchoCancel::process(SFLDataFormat *inputData, SFLDataFormat *outputData) +void EchoCancel::putData(SFLDataFormat *inputData, int nbBytes) { - speex_echo_capture(_echoState, inputData, outputData); + + _delayDetector.putData(inputData, nbBytes); + + if(_spkrStoped) { + _debug("EchoCancel: Flush data"); + _micData->flushAll(); + _spkrData->flushAll(); + _spkrStoped = false; + } + + // Put data in speaker ring buffer + _spkrData->Put(inputData, nbBytes); +} + + +int EchoCancel::getData(SFLDataFormat *outputData) +{ + + int copied = 0; + + if(_processedByte > 0) { + copied = _spkrDataOut->Get(outputData, _processedByte); + _processedByte = 0; + } + + return copied; +} + +void EchoCancel::process(SFLDataFormat *data, int nbBytes) {} + + +int EchoCancel::process(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes) +{ + + _delayDetector.process(inputData, nbBytes); + + if(_spkrStoped) { + bcopy(inputData, outputData, nbBytes); + return nbBytes; + } + + int byteSize = _smplPerFrame*sizeof(SFLDataFormat); + + // init temporary buffers + memset(_tmpSpkr, 0, BUFF_SIZE*sizeof(SFLDataFormat)); + memset(_tmpMic, 0, BUFF_SIZE*sizeof(SFLDataFormat)); + memset(_tmpOut, 0, BUFF_SIZE*sizeof(SFLDataFormat)); + + // Put mic data in ringbuffer + _micData->Put(inputData, nbBytes); + + // Store data for synchronization + int spkrAvail = _spkrData->AvailForGet(); + int micAvail = _micData->AvailForGet(); + + // Init number of frame processed + int nbFrame = 0; + + // Get data from mic and speaker internal buffer + // while((spkrAvail >= byteSize) && (micAvail >= byteSize)) { + while(micAvail >= byteSize) { + + if(spkrAvail >= byteSize) { + + // get synchronized data + _spkrData->Get(_tmpSpkr, byteSize); + _micData->Get(_tmpMic, byteSize); + + // micFile->write((const char *)_tmpMic, byteSize); + // spkrFile->write((const char *)_tmpSpkr, byteSize); + +#ifdef HAVE_LIBSPEEX_DSP + + _debug("OK"); + + // Remove noise + if(_noiseActive) + speex_preprocess_run(_noiseState, _tmpMic); +#endif + + // Processed echo cancellation + performEchoCancel(_tmpMic, _tmpSpkr, _tmpOut); + + // echoFile->write((const char *)_tmpOut, byteSize); + + bcopy(_tmpOut, outputData+(nbFrame*_smplPerFrame), byteSize); + + // used to sync with speaker + _processedByte += byteSize; + + spkrAvail = _spkrData->AvailForGet(); + micAvail = _micData->AvailForGet(); + + // increment nb of frame processed + ++nbFrame; + } + else { + _micData->Get(_tmpMic, byteSize); + + performEchoCancelNoSpkr(_tmpMic, _tmpOut); + + bcopy(_tmpOut, outputData+(nbFrame*_smplPerFrame), byteSize); + ++nbFrame; + } + + spkrAvail = _spkrData->AvailForGet(); + micAvail = _micData->AvailForGet(); + } + + // if spkrAvail is twice the size of a frame discard it, this data is late and won't be used + if(spkrAvail > (2*byteSize)) { + _spkrData->Discard(spkrAvail-(2*byteSize)); + } + + return nbFrame * _smplPerFrame; +} + +void EchoCancel::process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes){ + +} + +void EchoCancel::setSamplingRate(int smplRate) { + + if (smplRate != _samplingRate) { + _samplingRate = smplRate; + + reset(); + } +} + + +void EchoCancel::performEchoCancel(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData) { + + for(int k = 0; k < _nbSegmentPerFrame; k++) { + + updateEchoCancel(micData+(k*_smplPerSeg), spkrData+(k*_smplPerSeg)); + + _spkrLevel = getMaxAmplitude(_avgSpkrLevelHist, _spkrHistoryLength); + _micLevel = getMaxAmplitude(_avgMicLevelHist, _micHistoryLength)/6; + + if(_spkrLevel >= MIN_SIG_LEVEL) { + if(_micLevel > _spkrLevel) { + increaseFactor(0.2); + } + else { + _amplFactor = 0.0; + } + } + else { + increaseFactor(0.01); + } + + // lowpass filtering + float amplify = (_lastAmplFactor + _amplFactor) / 2; + _lastAmplFactor = _amplFactor; + + if(!_echoActive) + amplify = 1.0; + + amplifySignal(micData+(k*_smplPerSeg), outputData+(k*_smplPerSeg), amplify); + + } + +} + +void EchoCancel::performEchoCancelNoSpkr(SFLDataFormat *micData, SFLDataFormat *outputData) { + + for(int k = 0; k < _nbSegmentPerFrame; k++) { + + updateMicLevel(micData); + + _micLevel = getMaxAmplitude(_avgMicLevelHist, _micHistoryLength)/6; + if(_micLevel > MIN_SIG_LEVEL) { + increaseFactor(0.2); + } + + // lowpass filtering + float amplify = (_lastAmplFactor + _amplFactor) / 2; + _lastAmplFactor = _amplFactor; + + if(!_echoActive) + amplify = 1.0; + + amplifySignal(micData+(k*_smplPerSeg), outputData+(k*_smplPerSeg), amplify); + } + } -void EchoCancel::process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData){ +void EchoCancel::updateMicLevel(SFLDataFormat *micData) { + + int micLvl = computeAmplitudeLevel(micData, _smplPerSeg); + + SFLDataFormat tempMicLevel[_smplPerSeg]; + + _micLevelMem = estimatePower(micData, tempMicLevel, _smplPerSeg, _micLevelMem); + + _avgMicLevelHist[_micHistCnt++] = micLvl+1; + + if(_micHistCnt >= _micHistoryLength) + _micHistCnt = 0; + + micLevelData->write((const char*)tempMicLevel, sizeof(SFLDataFormat)*_smplPerSeg); +} + + +void EchoCancel::updateSpkrLevel(SFLDataFormat *spkrData) { + + int spkrLvl = computeAmplitudeLevel(spkrData, _smplPerSeg); + + SFLDataFormat tempSpkrLevel[_smplPerSeg]; + + _spkrLevelMem = estimatePower(spkrData, tempSpkrLevel, _smplPerSeg, _spkrLevelMem); + + _avgSpkrLevelHist[_spkrHistCnt++] = spkrLvl+1; + + if(_spkrHistCnt >= _spkrHistoryLength) + _spkrHistCnt = 0; + + spkrLevelData->write((const char*)tempSpkrLevel, sizeof(SFLDataFormat)*_smplPerSeg); +} + + +void EchoCancel::updateEchoCancel(SFLDataFormat *micData, SFLDataFormat *spkrData) { + + // Add 1 to make sure we are not dividing by 0 + updateMicLevel(micData); + updateSpkrLevel(spkrData); + + /* + // if adaptation done, stop here + // if(_adaptDone) + if(true) + return; + + // start learning only if there is data played through speaker + if(!_adaptStarted) { + if(spkrLvl > MIN_SIG_LEVEL) + _adaptStarted = true; + else + return; + } + + if(_spkrAdaptCnt < _spkrAdaptSize) + _spkrAdaptArray[_spkrAdaptCnt++] = spkrLvl; + + if(_micAdaptCnt < _micAdaptSize) + _micAdaptArray[_micAdaptCnt++] = micLvl; + + // perform correlation if spkr size is reached + if(_adaptCnt > _spkrAdaptSize) { + int k = _adaptCnt - _spkrAdaptSize; + _correlationArray[k] = performCorrelation(_spkrAdaptArray, _micAdaptArray+k, _correlationSize); + } + + _adaptCnt++; + + // if we captured a full echo + if(_adaptCnt == _micAdaptSize) { + _adaptDone = true; + _amplDelayIndexOut = 0;// getMaximumIndex(_correlationArray, _correlationSize); + } + */ +} + + + + +int EchoCancel::computeAmplitudeLevel(SFLDataFormat *data, int size) { + + int level = 0; + + for(int i = 0; i < size; i++) { + if(data[i] >= 0.0) + level += (int)data[i]; + else + level -= (int)data[i]; + } + + level = level / _smplPerSeg; + + return level; + +} + +SFLDataFormat EchoCancel::estimatePower(SFLDataFormat *data, SFLDataFormat *ampl, int size, SFLDataFormat mem) { + + float memFactor = 1.0 - _alpha; + + for (int i = 0; i < size; i++) { + mem = (SFLDataFormat)(memFactor*(float)mem + abs(_alpha*(float)data[i])); + ampl[i] = mem; + } + + return mem; + +} + + +int EchoCancel::getMaxAmplitude(int *data, int size) { + + SFLDataFormat level = 0.0; + + for(int i = 0; i < size; i++) { + if(data[i] >= level) + level = data[i]; + } + + return (int)level; +} + + +void EchoCancel::amplifySignal(SFLDataFormat *micData, SFLDataFormat *outputData, float amplify) { + + // for(int i = 0; i < _smplPerSeg; i++) + // outputData[i] = micData[i]; + + // Use delayed amplification factor due to sound card latency + // do not increment amplitude array if adaptation is not done + // if (_adaptDone) { + if (true) { + for(int i = 0; i < _smplPerSeg; i++) { + outputData[i] = (SFLDataFormat)(((float)micData[i])*_delayLineAmplify[_amplDelayIndexOut]); + } + _amplDelayIndexOut++; + _delayLineAmplify[_amplDelayIndexIn++] = amplify; + } + else { + for(int i = 0; i < _smplPerSeg; i++) { + outputData[i] = micData[i]; + } + return; + } + + if(_amplDelayIndexOut >= MAX_DELAY_LINE_AMPL) + _amplDelayIndexOut = 0; + + if(_amplDelayIndexIn >= MAX_DELAY_LINE_AMPL) + _amplDelayIndexIn = 0; + +} + + + +void EchoCancel::increaseFactor(float factor) { + + // Get 200 ms to get back to full amplitude + _amplFactor += factor; + + if(_amplFactor > 1.0) + _amplFactor = 1.0; + +} + + +void EchoCancel::decreaseFactor() { + + // Takes about 50 ms to react + _amplFactor -= 0.2; + + if(_amplFactor < 0.0) + _amplFactor = 0.0; +} + + +int EchoCancel::performCorrelation(int *data1, int *data2, int size) { + + int correlation = 0; + while(size) { + size--; + correlation += data1[size] * data2[size]; + } + return correlation; +} + + +int EchoCancel::getMaximumIndex(int *data, int size) { - speex_echo_cancellation(_echoState, micData, spkrData, outputData); + int index = size; + int max = data[size-1]; + + while(size) { + size--; + if(data[size] > max) { + index = size; + max = data[size]; + } + } + return index; } diff --git a/sflphone-common/src/audio/echocancel.h b/sflphone-common/src/audio/echocancel.h index 1d37ed2503f6ff8832857c7ae8f6049d04c495ac..e0ceda0445a67dc636a89df8874b21367b6a0c54 100644 --- a/sflphone-common/src/audio/echocancel.h +++ b/sflphone-common/src/audio/echocancel.h @@ -31,29 +31,78 @@ #ifndef ECHOCANCEL_H #define ECHOCANCEL_H +#include <cc++/thread.h> +#include <speex/speex_preprocess.h> + #include "audioprocessing.h" -#include <speex/speex_echo.h> +#include "ringbuffer.h" +#include "delaydetection.h" + +// Number of ms in sec +#define MS_PER_SEC 1000 + +// Length of audio segment in ms +#define SEGMENT_LENGTH 10 + +// Length of the echo tail in ms +#define ECHO_LENGTH 1000 +#define SPKR_LENGTH 80 +#define MIC_LENGTH 80 + +// Voice level threashold +#define MIN_SIG_LEVEL 250 + +// Delay between mic and speaker +// #define DELAY_AMPLIFY 60 + +// maximum in segment size (segment are SEGMENT_LENGTH long) +#define MAX_DELAY_LINE_AMPL 100 // 1 sec + +// Internal buffer size +#define BUFF_SIZE 10000 + +#define DEFAULT_SAMPLRATE 8000 + +#define DEFAULT_FRAME_LENGTH 20 + +#define MIC_ADAPT_SIZE 100 // 1 sec +#define SPKR_ADAPT_SIZE 20 // 200 ms class EchoCancel : public Algorithm { public: - EchoCancel(); + EchoCancel(int smplRate = DEFAULT_SAMPLRATE, int frameLength = DEFAULT_FRAME_LENGTH); ~EchoCancel(); + /** + * Reset echocanceller internal state at runtime. Usefull when making a new call + */ + virtual void reset(void); + /** * Add speaker data into internal buffer * \param inputData containing far-end voice data to be sent to speakers */ - virtual void putData(SFLDataFormat *inputData); + virtual void putData(SFLDataFormat *inputData, int nbBytes); + + /** + * Get data ready to be played by speakers + */ + virtual int getData(SFLDataFormat *outputData); + + /** + * Unused + */ + virtual void process(SFLDataFormat *data, int nbBytes); /** * Perform echo cancellation using internal buffers * \param inputData containing mixed echo and voice data * \param outputData containing */ - virtual void process(SFLDataFormat *inputData, SFLDataFormat *outputData); + virtual int process(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes); /** * Perform echo cancellation, application must provide its own buffer @@ -61,10 +110,279 @@ class EchoCancel : public Algorithm { * \param spkrData containing far-end voice data to be sent to speakers * \param outputData containing the processed data */ - virtual void process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData); + virtual void process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes); + + /** + * Set echo canceller internal sampling rate, reset if sampling rate changed + */ + void setSamplingRate(int smplRate); + + /** + * Set echo canceller state to active/deactive + */ + void setEchoCancelState(bool state) { _echoActive = state; } + + /** + * Return the echo canceller state + */ + bool getEchoCancelState(void) { return _echoActive; } + + /** + * Set the noise suppression state to active/deactive + */ + void setNoiseSuppressState(bool state) { _noiseActive = state; } + + /** + * Return the noise suppression state + */ + bool getNoiseSuppressState(void) { return _noiseActive; } + private: - SpeexEchoState *_echoState; + /** + * Actual method calld to supress echo from mic, micData and spkrData must be synchronized + */ + void performEchoCancel(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData); + + /** + * This is the fall back method in case there is no spkr data available + */ + void performEchoCancelNoSpkr(SFLDataFormat *micData, SFLDataFormat *outputData); + + /** + * Compute current instantaneous microphone signal power and store it in internal array + */ + void updateMicLevel(SFLDataFormat *micData); + + /** + * Compute current instantaneous spkeaker signal power and store uit in internal array + */ + void updateSpkrLevel(SFLDataFormat *spkrData); + + /** + * Update speaker level array for both micData and spkrData + */ + void updateEchoCancel(SFLDataFormat *micData, SFLDataFormat *spkrData); + + /** + * Compute the average amplitude of the signal. + * \param data must be of SEGMENT_LENGTH long. + */ + int computeAmplitudeLevel(SFLDataFormat *data, int size); + + /** + * Compute amplitude signal + */ + SFLDataFormat estimatePower(SFLDataFormat *data, SFLDataFormat *ampl, int size, SFLDataFormat mem); + + /** + * Return the max amplitude provided any of _avgSpkrLevelHist or _avgMicLevelHist + */ + int getMaxAmplitude(int *data, int size); + + /** + * Apply gain factor on input buffer and copy result in output buffer. + * Buffers must be of SEGMENT_LENGTH long. + * \param input buffer + * \param output buffer + */ + void amplifySignal(SFLDataFormat *micData, SFLDataFormat *outputData, float amplify); + + /** + * Increase microphone gain by the provided factor. Sanity check are done internally. + */ + void increaseFactor(float factor); + + /** + * Decrease microphone gain. + */ + void decreaseFactor(); + + /** + * Perform simple correlation between data1 and data2 + */ + int performCorrelation(int *data1, int *data2, int size); + + /** + * Return maximum in data index + */ + int getMaximumIndex(int *data, int size); + + /** + * Internal buffer for mic data synchronization + */ + RingBuffer *_micData; + + /** + * Internal buffer for speaker data synchronization + */ + RingBuffer *_spkrData; + + RingBuffer *_spkrDataOut; + + /** + * Boolean value + */ + bool _spkrStoped; + + /** + * Internal buffer for audio processing + */ + SFLDataFormat _tmpSpkr[BUFF_SIZE]; + SFLDataFormat _tmpMic[BUFF_SIZE]; + SFLDataFormat _tmpOut[BUFF_SIZE]; + + /** + * Audio stream sampling rate + */ + int _samplingRate; + + /** + * Audio frame size in ms + */ + int _frameLength; + + /** + * Number of sample per frame + */ + int _smplPerFrame; + + /** + * Number of samples per segment + */ + int _smplPerSeg; + + /** + * Number of segment per frame + */ + int _nbSegmentPerFrame; + + /** + * Number of segment considered in history + * Mainly used to compute signal level + */ + int _micHistoryLength; + + int _spkrHistoryLength; + + /** + * Current playback level + */ + int _spkrLevel; + + /** + * Current capture level + */ + int _micLevel; + + /** + * Current index to store level in speaker history + */ + int _spkrHistCnt; + + /** + * Current index to store level in microphone history + */ + int _micHistCnt; + + /** + * Average speaker/microphone level history. Each value corespond to + * the averaged amplitude value over a segment (SEGMENT_LENGTH long) + */ + int _avgSpkrLevelHist[BUFF_SIZE]; + int _avgMicLevelHist[BUFF_SIZE]; + + /** + * Current linear gain factor to be applied on microphone + */ + float _amplFactor; + + /** + * Stored linea gain factor for lowpass filtering + */ + float _lastAmplFactor; + + /** + * Linear gain factor buffer to adjust to system's latency + */ + float _delayLineAmplify[MAX_DELAY_LINE_AMPL]; + + /** + * read/write for mic gain delay + */ + int _amplDelayIndexIn; + int _amplDelayIndexOut; + + /** + * State variable to determine if adaptation must be performed + */ + bool _adaptDone; + + /** + * State variable to specify if adaptation is started + */ + bool _adaptStarted; + + /** + * Adaptation index + */ + int _adaptCnt; + + /** + * Factor for power estimation + */ + float _alpha; + + /** + * Termporary spkr level memories + */ + SFLDataFormat _spkrLevelMem; + SFLDataFormat _micLevelMem; + + int _spkrAdaptCnt; + + int _micAdaptCnt; + + int _spkrAdaptSize; + + int _micAdaptSize; + + int _spkrAdaptArray[BUFF_SIZE]; + + int _micAdaptArray[BUFF_SIZE]; + + int _correlationSize; + + int _correlationArray[BUFF_SIZE]; + + int _processedByte; + + ofstream *micFile; + ofstream *spkrFile; + ofstream *echoFile; + + ofstream *micLevelData; + ofstream *spkrLevelData; + + // #ifdef HAVE_SPEEXDSP_LIB + /** + * Noise reduction processing state + */ + SpeexPreprocessState *_noiseState; + // #endif + + /** + * true if noise suppressor is active, false elsewhere + */ + bool _echoActive; + + /** + * true if noise suppressor is active, false elsewhere + */ + bool _noiseActive; + + DelayDetection _delayDetector; + }; #endif diff --git a/sflphone-common/src/audio/jitterbuf.cpp b/sflphone-common/src/audio/jitterbuf.cpp new file mode 100755 index 0000000000000000000000000000000000000000..c72a6387f9769ae91feefd23e332030a74a0d328 --- /dev/null +++ b/sflphone-common/src/audio/jitterbuf.cpp @@ -0,0 +1,881 @@ +/* + * Asterisk -- An open source telephony toolkit. + * + * Copyright (C) 2004-2005, Horizon Wimba, Inc. + * + * Contributors: + * Steve Kann <stevek@stevek.com> + * + * A license has been granted to Digium (via disclaimer) for the use of + * this code. + * + * See http://www.asterisk.org for more information about + * the Asterisk project. Please do not directly contact + * any of the maintainers of this project for assistance; + * the project provides a web site, mailing lists and IRC + * channels for your use. + * + * This program is free software, distributed under the terms of + * the GNU General Public License Version 2. See the LICENSE file + * at the top of the source tree. + */ + +/*! \file + * + * \brief jitterbuf: an application-independent jitterbuffer + * \author Steve Kann <stevek@stevek.com> + * + */ + +#include "jitterbuf.h" + +#include <string.h> +#include <stdio.h> +#include <stdlib.h> + +#include "global.h" + +/*! define these here, just for ancient compiler systems */ +#define JB_LONGMAX 2147483647L +#define JB_LONGMIN (-JB_LONGMAX - 1L) + +#define jb_warn(...) (warnf ? warnf(__VA_ARGS__) : (void)0) +#define jb_err(...) (errf ? errf(__VA_ARGS__) : (void)0) +#define jb_dbg(...) (dbgf ? dbgf(__VA_ARGS__) : (void)0) + +#ifdef DEEP_DEBUG +#define jb_dbg2(...) (dbgf ? dbgf(__VA_ARGS__) : (void)0) +#else +#define jb_dbg2(...) ((void)0) +#endif + +static jb_output_function_t warnf, errf, dbgf; + +void jb_setoutput(jb_output_function_t err, jb_output_function_t warn, jb_output_function_t dbg) +{ + errf = err; + warnf = warn; + dbgf = dbg; +} + +static void increment_losspct(jitterbuf *jb) +{ + jb->info.losspct = (100000 + 499 * jb->info.losspct)/500; +} + +static void decrement_losspct(jitterbuf *jb) +{ + jb->info.losspct = (499 * jb->info.losspct)/500; +} + +void jb_reset(jitterbuf *jb) +{ + /* only save settings */ + jb_conf s = jb->info.conf; + memset(jb, 0, sizeof(*jb)); + jb->info.conf = s; + + /* initialize length, using the default value */ + jb->info.current = jb->info.target = jb->info.conf.target_extra = JB_TARGET_EXTRA; + jb->info.silence_begin_ts = -1; +} + +jitterbuf * jb_new() +{ + jitterbuf *jb; + + if (!(jb = (jitterbuf *)malloc(sizeof(*jb)))) + return NULL; + + jb_reset(jb); + + jb_dbg2("jb_new() = %x\n", jb); + return jb; +} + +void jb_destroy(jitterbuf *jb) +{ + jb_frame *frame; + jb_dbg2("jb_destroy(%x)\n", jb); + + /* free all the frames on the "free list" */ + frame = jb->free; + while (frame != NULL) { + jb_frame *next = frame->next; + free(frame); + frame = next; + } + + /* free ourselves! */ + free(jb); +} + + + +#if 0 +static int longcmp(const void *a, const void *b) +{ + return *(long *)a - *(long *)b; +} +#endif + +/*! \brief simple history manipulation + \note maybe later we can make the history buckets variable size, or something? */ +/* drop parameter determines whether we will drop outliers to minimize + * delay */ +static int history_put(jitterbuf *jb, long ts, long now, long ms) +{ + long delay = now - (ts - jb->info.resync_offset); + long threshold = 2 * jb->info.jitter + jb->info.conf.resync_threshold; + long kicked; + + /* don't add special/negative times to history */ + if (ts <= 0) + return 0; + + /* check for drastic change in delay */ + if (jb->info.conf.resync_threshold != -1) { + if (abs(delay - jb->info.last_delay) > threshold) { + jb->info.cnt_delay_discont++; + if (jb->info.cnt_delay_discont > 3) { + /* resync the jitterbuffer */ + jb->info.cnt_delay_discont = 0; + jb->hist_ptr = 0; + jb->hist_maxbuf_valid = 0; + + jb_warn("Resyncing the jb. last_delay %ld, this delay %ld, threshold %ld, new offset %ld\n", jb->info.last_delay, delay, threshold, ts - now); + jb->info.resync_offset = ts - now; + jb->info.last_delay = delay = 0; /* after resync, frame is right on time */ + } else { + return -1; + } + } else { + jb->info.last_delay = delay; + jb->info.cnt_delay_discont = 0; + } + } + + kicked = jb->history[jb->hist_ptr % JB_HISTORY_SZ]; + + jb->history[(jb->hist_ptr++) % JB_HISTORY_SZ] = delay; + + /* optimization; the max/min buffers don't need to be recalculated, if this packet's + * entry doesn't change them. This happens if this packet is not involved, _and_ any packet + * that got kicked out of the history is also not involved + * We do a number of comparisons, but it's probably still worthwhile, because it will usually + * succeed, and should be a lot faster than going through all 500 packets in history */ + if (!jb->hist_maxbuf_valid) + return 0; + + /* don't do this until we've filled history + * (reduces some edge cases below) */ + if (jb->hist_ptr < JB_HISTORY_SZ) + goto invalidate; + + /* if the new delay would go into min */ + if (delay < jb->hist_minbuf[JB_HISTORY_MAXBUF_SZ-1]) + goto invalidate; + + /* or max.. */ + if (delay > jb->hist_maxbuf[JB_HISTORY_MAXBUF_SZ-1]) + goto invalidate; + + /* or the kicked delay would be in min */ + if (kicked <= jb->hist_minbuf[JB_HISTORY_MAXBUF_SZ-1]) + goto invalidate; + + if (kicked >= jb->hist_maxbuf[JB_HISTORY_MAXBUF_SZ-1]) + goto invalidate; + + /* if we got here, we don't need to invalidate, 'cause this delay didn't + * affect things */ + return 0; + /* end optimization */ + + +invalidate: + jb->hist_maxbuf_valid = 0; + return 0; +} + +static void history_calc_maxbuf(jitterbuf *jb) +{ + int i,j; + + if (jb->hist_ptr == 0) + return; + + + /* initialize maxbuf/minbuf to the latest value */ + for (i=0;i<JB_HISTORY_MAXBUF_SZ;i++) { +/* + * jb->hist_maxbuf[i] = jb->history[(jb->hist_ptr-1) % JB_HISTORY_SZ]; + * jb->hist_minbuf[i] = jb->history[(jb->hist_ptr-1) % JB_HISTORY_SZ]; + */ + jb->hist_maxbuf[i] = JB_LONGMIN; + jb->hist_minbuf[i] = JB_LONGMAX; + } + + /* use insertion sort to populate maxbuf */ + /* we want it to be the top "n" values, in order */ + + /* start at the beginning, or JB_HISTORY_SZ frames ago */ + i = (jb->hist_ptr > JB_HISTORY_SZ) ? (jb->hist_ptr - JB_HISTORY_SZ) : 0; + + for (;i<jb->hist_ptr;i++) { + long toins = jb->history[i % JB_HISTORY_SZ]; + + /* if the maxbuf should get this */ + if (toins > jb->hist_maxbuf[JB_HISTORY_MAXBUF_SZ-1]) { + + /* insertion-sort it into the maxbuf */ + for (j=0;j<JB_HISTORY_MAXBUF_SZ;j++) { + /* found where it fits */ + if (toins > jb->hist_maxbuf[j]) { + /* move over */ + memmove(jb->hist_maxbuf + j + 1, jb->hist_maxbuf + j, (JB_HISTORY_MAXBUF_SZ - (j + 1)) * sizeof(jb->hist_maxbuf[0])); + /* insert */ + jb->hist_maxbuf[j] = toins; + + break; + } + } + } + + /* if the minbuf should get this */ + if (toins < jb->hist_minbuf[JB_HISTORY_MAXBUF_SZ-1]) { + + /* insertion-sort it into the maxbuf */ + for (j=0;j<JB_HISTORY_MAXBUF_SZ;j++) { + /* found where it fits */ + if (toins < jb->hist_minbuf[j]) { + /* move over */ + memmove(jb->hist_minbuf + j + 1, jb->hist_minbuf + j, (JB_HISTORY_MAXBUF_SZ - (j + 1)) * sizeof(jb->hist_minbuf[0])); + /* insert */ + jb->hist_minbuf[j] = toins; + + break; + } + } + } + + if (0) { + int k; + _debug("toins = %ld\n", toins); + _debug("maxbuf ="); + for (k=0;k<JB_HISTORY_MAXBUF_SZ;k++) + _debug("%ld ", jb->hist_maxbuf[k]); + _debug("\nminbuf ="); + for (k=0;k<JB_HISTORY_MAXBUF_SZ;k++) + _debug("%ld ", jb->hist_minbuf[k]); + _debug("\n"); + } + } + + jb->hist_maxbuf_valid = 1; +} + +static void history_get(jitterbuf *jb) +{ + long max, min, jitter; + int idx; + int count; + + if (!jb->hist_maxbuf_valid) + history_calc_maxbuf(jb); + + /* count is how many items in history we're examining */ + count = (jb->hist_ptr < JB_HISTORY_SZ) ? jb->hist_ptr : JB_HISTORY_SZ; + + /* idx is the "n"ths highest/lowest that we'll look for */ + idx = count * JB_HISTORY_DROPPCT / 100; + + /* sanity checks for idx */ + if (idx > (JB_HISTORY_MAXBUF_SZ - 1)) + idx = JB_HISTORY_MAXBUF_SZ - 1; + + if (idx < 0) { + jb->info.min = 0; + jb->info.jitter = 0; + return; + } + + max = jb->hist_maxbuf[idx]; + min = jb->hist_minbuf[idx]; + + jitter = max - min; + + /* these debug stmts compare the difference between looking at the absolute jitter, and the + * values we get by throwing away the outliers */ + // printf("[%ld] min=%ld, max=%ld, jitter=%ld\n", index, min, max, jitter); + // printf("[%ld] min=%ld, max=%ld, jitter=%ld\n", 0, jb->hist_minbuf[0], jb->hist_maxbuf[0], jb->hist_maxbuf[0]-jb->hist_minbuf[0]); + + jb->info.min = min; + jb->info.jitter = jitter; +} + +/* returns 1 if frame was inserted into head of queue, 0 otherwise */ +static int queue_put(jitterbuf *jb, void *data, const enum jb_frame_type type, long ms, long ts) +{ + jb_frame *frame; + jb_frame *p; + int head = 0; + long resync_ts = ts - jb->info.resync_offset; + + if ((frame = jb->free)) { + jb->free = frame->next; + } else if (!(frame = (jb_frame *)malloc(sizeof(*frame)))) { + jb_err("cannot allocate frame\n"); + return 0; + } + + jb->info.frames_cur++; + + frame->data = data; + frame->ts = resync_ts; + frame->ms = ms; + frame->type = type; + + /* + * frames are a circular list, jb-frames points to to the lowest ts, + * jb->frames->prev points to the highest ts + */ + + if (!jb->frames) { /* queue is empty */ + jb->frames = frame; + frame->next = frame; + frame->prev = frame; + head = 1; + } else if (resync_ts < jb->frames->ts) { + frame->next = jb->frames; + frame->prev = jb->frames->prev; + + frame->next->prev = frame; + frame->prev->next = frame; + + /* frame is out of order */ + jb->info.frames_ooo++; + + jb->frames = frame; + head = 1; + } else { + p = jb->frames; + + /* frame is out of order */ + if (resync_ts < p->prev->ts) jb->info.frames_ooo++; + + while (resync_ts < p->prev->ts && p->prev != jb->frames) + p = p->prev; + + frame->next = p; + frame->prev = p->prev; + + frame->next->prev = frame; + frame->prev->next = frame; + } + return head; +} + +static long queue_next(jitterbuf *jb) +{ + if (jb->frames) + return jb->frames->ts; + else + return -1; +} + +static long queue_last(jitterbuf *jb) +{ + if (jb->frames) + return jb->frames->prev->ts; + else + return -1; +} + +static jb_frame *_queue_get(jitterbuf *jb, long ts, int all) +{ + jb_frame *frame; + frame = jb->frames; + + if (!frame) + return NULL; + + _debug("queue_get: ASK %ld FIRST %ld\n", ts, frame->ts); + + if (all || ts >= frame->ts) { + /* remove this frame */ + frame->prev->next = frame->next; + frame->next->prev = frame->prev; + + if (frame->next == frame) + jb->frames = NULL; + else + jb->frames = frame->next; + + + /* insert onto "free" single-linked list */ + frame->next = jb->free; + jb->free = frame; + + jb->info.frames_cur--; + + /* we return the frame pointer, even though it's on free list, + * but caller must copy data */ + return frame; + } + + return NULL; +} + +static jb_frame *queue_get(jitterbuf *jb, long ts) +{ + return _queue_get(jb,ts,0); +} + +static jb_frame *queue_getall(jitterbuf *jb) +{ + return _queue_get(jb,0,1); +} + +/* some diagnostics */ +void jb_dbginfo(jitterbuf *jb) +{ + + _debug("\njb info: fin=%ld fout=%ld flate=%ld flost=%ld fdrop=%ld fcur=%ld\n", + jb->info.frames_in, jb->info.frames_out, jb->info.frames_late, jb->info.frames_lost, jb->info.frames_dropped, jb->info.frames_cur); + + _debug("jitter=%ld current=%ld target=%ld min=%ld sil=%ld len=%ld len/fcur=%ld\n", + jb->info.jitter, jb->info.current, jb->info.target, jb->info.min, jb->info.silence_begin_ts, jb->info.current - jb->info.min, + jb->info.frames_cur ? (jb->info.current - jb->info.min)/jb->info.frames_cur : -8); + if (jb->info.frames_in > 0) + _debug("jb info: Loss PCT = %ld%%, Late PCT = %ld%%\n", + jb->info.frames_lost * 100/(jb->info.frames_in + jb->info.frames_lost), + jb->info.frames_late * 100/jb->info.frames_in); + _debug("jb info: queue %ld -> %ld. last_ts %ld (queue len: %ld) last_ms %ld\n\n", + queue_next(jb), + queue_last(jb), + jb->info.next_voice_ts, + queue_last(jb) - queue_next(jb), + jb->info.last_voice_ms); +} + + +#ifdef DEEP_DEBUG +static void jb_chkqueue(jitterbuf *jb) +{ + int i=0; + jb_frame *p = jb->frames; + + if (!p) { + return; + } + + do { + if (p->next == NULL) { + jb_err("Queue is BROKEN at item [%d]", i); + } + i++; + p=p->next; + } while (p->next != jb->frames); +} + +static void jb_dbgqueue(jitterbuf *jb) +{ + int i=0; + jb_frame *p = jb->frames; + + jb_dbg("queue: "); + + if (!p) { + jb_dbg("EMPTY\n"); + return; + } + + do { + jb_dbg("[%d]=%ld ", i++, p->ts); + p=p->next; + } while (p->next != jb->frames); + + jb_dbg("\n"); +} +#endif + +jb_return_code jb_put(jitterbuf *jb, void *data, const enum jb_frame_type type, long ms, long ts, long now) +{ + long numts; + + _debug("jb_put(%p,%p,%ld,%ld,%ld)\n", jb, data, ms, ts, now); + + numts = 0; + if (jb->frames) + numts = jb->frames->prev->ts - jb->frames->ts; + + _debug("numts %ld\n", numts); + + if (numts >= jb->info.conf.max_jitterbuf) { + if (!jb->dropem) { + _debug("Attempting to exceed Jitterbuf max %ld timeslots\n", + jb->info.conf.max_jitterbuf); + jb->dropem = 1; + } + jb->info.frames_dropped++; + return JB_DROP; + } else { + jb->dropem = 0; + } + + if (type == JB_TYPE_VOICE) { + /* presently, I'm only adding VOICE frames to history and drift calculations; mostly because with the + * IAX integrations, I'm sending retransmitted control frames with their awkward timestamps through */ + if (history_put(jb,ts,now,ms)) { + jb->info.frames_dropped++; + return JB_DROP; + } + } + + jb->info.frames_in++; + + /* if put into head of queue, caller needs to reschedule */ + if (queue_put(jb,data,type,ms,ts)) { + return JB_SCHED; + } + return JB_OK; +} + + +static enum jb_return_code _jb_get(jitterbuf *jb, jb_frame *frameout, long now, long interpl) +{ + jb_frame *frame; + long diff; + static int dbg_cnt = 0; + + _debug("_jb_get\n"); + + /*if ((now - jb_next(jb)) > 2 * jb->info.last_voice_ms) jb_warn("SCHED: %ld", (now - jb_next(jb))); */ + /* get jitter info */ + history_get(jb); + + if (dbg_cnt && dbg_cnt % 50 == 0) { + jb_dbg("\n"); + } + dbg_cnt++; + + /* target */ + jb->info.target = jb->info.jitter + jb->info.min + jb->info.conf.target_extra; + + /* if a hard clamp was requested, use it */ + if ((jb->info.conf.max_jitterbuf) && ((jb->info.target - jb->info.min) > jb->info.conf.max_jitterbuf)) { + _debug("clamping target from %ld to %ld\n", (jb->info.target - jb->info.min), jb->info.conf.max_jitterbuf); + jb->info.target = jb->info.min + jb->info.conf.max_jitterbuf; + } + + diff = jb->info.target - jb->info.current; + + _debug("diff = %ld lms=%ld last = %ld now = %ld, djust delay = %ld\n", diff, + jb->info.last_voice_ms, jb->info.last_adjustment, now); + + /* let's work on non-silent case first */ + if (!jb->info.silence_begin_ts) { + + /* + if(diff > 0) + printf("diff > 0\n"); + + if((jb->info.last_adjustment + JB_ADJUST_DELAY) < now) + printf("(jb->info.last_adjustment + JB_ADJUST_DELAY) < now\n"); + + if((diff > queue_last(jb) - queue_next(jb))) + printf("diff > queue_last(jb) - queue_next(jb)\n"); + */ + _debug("** Non-silent case update timing info **\n"); + _debug("diff %ld\n", diff); + _debug("jb->info.last_adjustment %ld\n", jb->info.last_adjustment); + _debug("JB_ADJUST_DELAY %ld\n", JB_ADJUST_DELAY); + _debug("now %ld\n", now); + + /* we want to grow */ + if ((diff > 0) && + /* we haven't grown in the delay length */ + (((jb->info.last_adjustment + JB_ADJUST_DELAY) < now) || + /* we need to grow more than the "length" we have left */ + (diff > queue_last(jb) - queue_next(jb)) ) ) { + + + + + /* grow by interp frame length */ + jb->info.current += interpl; + jb->info.next_voice_ts += interpl; + jb->info.last_voice_ms = interpl; + jb->info.last_adjustment = now; + jb->info.cnt_contig_interp++; + if (jb->info.conf.max_contig_interp && jb->info.cnt_contig_interp >= jb->info.conf.max_contig_interp) { + jb->info.silence_begin_ts = jb->info.next_voice_ts - jb->info.current; + } + + _debug("Non silent case\n"); + return JB_INTERP; + } + + _debug("queue get\n"); + + frame = queue_get(jb, jb->info.next_voice_ts - jb->info.current); + + if(!frame) + _debug("frame not valid\n"); + + /* not a voice frame; just return it. */ + if (frame && frame->type != JB_TYPE_VOICE) { + if (frame->type == JB_TYPE_SILENCE) { + jb->info.silence_begin_ts = frame->ts; + jb->info.cnt_contig_interp = 0; + } + + *frameout = *frame; + jb->info.frames_out++; + _debug("Not a voice packet\n"); + return JB_OK; + } + + + /* voice frame is later than expected */ + if (frame && frame->ts + jb->info.current < jb->info.next_voice_ts) { + if (frame->ts + jb->info.current > jb->info.next_voice_ts - jb->info.last_voice_ms) { + /* either we interpolated past this frame in the last jb_get */ + /* or the frame is still in order, but came a little too quick */ + *frameout = *frame; + /* reset expectation for next frame */ + jb->info.next_voice_ts = frame->ts + jb->info.current + frame->ms; + jb->info.frames_out++; + decrement_losspct(jb); + jb->info.cnt_contig_interp = 0; + _debug("Either we interpolated past this frame in the last jb_get" \ + "or the frame is still in order, but came a little too quick\n"); + return JB_OK; + } else { + /* voice frame is late */ + *frameout = *frame; + jb->info.frames_out++; + decrement_losspct(jb); + jb->info.frames_late++; + jb->info.frames_lost--; + _debug("Voice frame is late\n"); + _debug("late: wanted=%ld, this=%ld, next=%ld\n", jb->info.next_voice_ts - jb->info.current, frame->ts, queue_next(jb)); + return JB_DROP; + } + } + + /* keep track of frame sizes, to allow for variable sized-frames */ + if (frame && frame->ms > 0) { + jb->info.last_voice_ms = frame->ms; + } + + /* we want to shrink; shrink at 1 frame / 500ms */ + /* unless we don't have a frame, then shrink 1 frame */ + /* every 80ms (though perhaps we can shrink even faster */ + /* in this case) */ + if (diff < -jb->info.conf.target_extra && + ((!frame && jb->info.last_adjustment + 80 < now) || + (jb->info.last_adjustment + 500 < now))) { + + jb->info.last_adjustment = now; + jb->info.cnt_contig_interp = 0; + + if (frame) { + *frameout = *frame; + /* shrink by frame size we're throwing out */ + jb->info.current -= frame->ms; + jb->info.frames_out++; + decrement_losspct(jb); + jb->info.frames_dropped++; + _debug("Shrink by frame size we're throwing out"); + return JB_DROP; + } else { + /* shrink by last_voice_ms */ + jb->info.current -= jb->info.last_voice_ms; + jb->info.frames_lost++; + increment_losspct(jb); + jb_dbg("S"); + _debug("No frames, shrink by last_voice_ms"); + return JB_NOFRAME; + } + } + + /* lost frame */ + if (!frame) { + /* this is a bit of a hack for now, but if we're close to + * target, and we find a missing frame, it makes sense to + * grow, because the frame might just be a bit late; + * otherwise, we presently get into a pattern where we return + * INTERP for the lost frame, then it shows up next, and we + * throw it away because it's late */ + /* I've recently only been able to replicate this using + * iaxclient talking to app_echo on asterisk. In this case, + * my outgoing packets go through asterisk's (old) + * jitterbuffer, and then might get an unusual increasing delay + * there if it decides to grow?? */ + /* Update: that might have been a different bug, that has been fixed.. + * But, this still seemed like a good idea, except that it ended up making a single actual + * lost frame get interpolated two or more times, when there was "room" to grow, so it might + * be a bit of a bad idea overall */ + /*if (diff > -1 * jb->info.last_voice_ms) { + jb->info.current += jb->info.last_voice_ms; + jb->info.last_adjustment = now; + jb_warn("g"); + return JB_INTERP; + } */ + jb->info.frames_lost++; + increment_losspct(jb); + jb->info.next_voice_ts += interpl; + jb->info.last_voice_ms = interpl; + jb->info.cnt_contig_interp++; + if (jb->info.conf.max_contig_interp && jb->info.cnt_contig_interp >= jb->info.conf.max_contig_interp) { + jb->info.silence_begin_ts = jb->info.next_voice_ts - jb->info.current; + } + + return JB_INTERP; + } + + /* normal case; return the frame, increment stuff */ + *frameout = *frame; + jb->info.next_voice_ts += frame->ms; + jb->info.frames_out++; + jb->info.cnt_contig_interp = 0; + decrement_losspct(jb); + jb_dbg("v"); + return JB_OK; + } else { + + _debug("Silence???\n"); + /* TODO: after we get the non-silent case down, we'll make the + * silent case -- basically, we'll just grow and shrink faster + * here, plus handle next_voice_ts a bit differently */ + + /* to disable silent special case altogether, just uncomment this: */ + /* jb->info.silence_begin_ts = 0; */ + + /* shrink interpl len every 10ms during silence */ + if (diff < -jb->info.conf.target_extra && + jb->info.last_adjustment + 10 <= now) { + jb->info.current -= interpl; + jb->info.last_adjustment = now; + } + + frame = queue_get(jb, now - jb->info.current); + if (!frame) { + return JB_NOFRAME; + } else if (frame->type != JB_TYPE_VOICE) { + /* normal case; in silent mode, got a non-voice frame */ + *frameout = *frame; + jb->info.frames_out++; + return JB_OK; + } + if (frame->ts < jb->info.silence_begin_ts) { + /* voice frame is late */ + *frameout = *frame; + jb->info.frames_out++; + decrement_losspct(jb); + jb->info.frames_late++; + jb->info.frames_lost--; + jb_dbg("l"); + /*jb_warn("\nlate: wanted=%ld, this=%ld, next=%ld\n", jb->info.next_voice_ts - jb->info.current, frame->ts, queue_next(jb)); + jb_warninfo(jb); */ + return JB_DROP; + } else { + /* voice frame */ + /* try setting current to target right away here */ + jb->info.current = jb->info.target; + jb->info.silence_begin_ts = 0; + jb->info.next_voice_ts = frame->ts + jb->info.current + frame->ms; + jb->info.last_voice_ms = frame->ms; + jb->info.frames_out++; + decrement_losspct(jb); + *frameout = *frame; + jb_dbg("V"); + return JB_OK; + } + } +} + +long jb_next(jitterbuf *jb) +{ + if (jb->info.silence_begin_ts) { + if (jb->frames) { + long next = queue_next(jb); + history_get(jb); + /* shrink during silence */ + if (jb->info.target - jb->info.current < -jb->info.conf.target_extra) + return jb->info.last_adjustment + 10; + return next + jb->info.target; + } + else + return JB_LONGMAX; + } else { + return jb->info.next_voice_ts; + } +} + +enum jb_return_code jb_get(jitterbuf *jb, jb_frame *frameout, long now, long interpl) +{ + _debug("\n***** JB_GET *****\n\n"); + + enum jb_return_code ret = _jb_get(jb, frameout, now, interpl); +#if 0 + static int lastts=0; + int thists = ((ret == JB_OK) || (ret == JB_DROP)) ? frameout->ts : 0; + jb_warn("jb_get(%x,%x,%ld) = %d (%d)\n", jb, frameout, now, ret, thists); + if (thists && thists < lastts) jb_warn("XXXX timestamp roll-back!!!\n"); + lastts = thists; +#endif + if (ret == JB_INTERP) + frameout->ms = jb->info.last_voice_ms; + + return ret; +} + +enum jb_return_code jb_getall(jitterbuf *jb, jb_frame *frameout) +{ + jb_frame *frame; + frame = queue_getall(jb); + + if (!frame) { + return JB_NOFRAME; + } + + *frameout = *frame; + return JB_OK; +} + + +enum jb_return_code jb_getinfo(jitterbuf *jb, jb_info *stats) +{ + + history_get(jb); + + *stats = jb->info; + + return JB_OK; +} + +enum jb_return_code jb_setconf(jitterbuf *jb, jb_conf *conf) +{ + /* take selected settings from the struct */ + + jb->info.conf.max_jitterbuf = conf->max_jitterbuf; + jb->info.conf.resync_threshold = conf->resync_threshold; + jb->info.conf.max_contig_interp = conf->max_contig_interp; + + /* -1 indicates use of the default JB_TARGET_EXTRA value */ + jb->info.conf.target_extra = ( conf->target_extra == -1 ) + ? JB_TARGET_EXTRA + : conf->target_extra + ; + + /* update these to match new target_extra setting */ + jb->info.current = jb->info.conf.target_extra; + jb->info.target = jb->info.conf.target_extra; + + return JB_OK; +} + + diff --git a/sflphone-common/src/audio/jitterbuf.h b/sflphone-common/src/audio/jitterbuf.h new file mode 100755 index 0000000000000000000000000000000000000000..8de8bf0885d87f476550bc27c5201065d677b51d --- /dev/null +++ b/sflphone-common/src/audio/jitterbuf.h @@ -0,0 +1,177 @@ +/* + * jitterbuf: an application-independent jitterbuffer + * + * Copyrights: + * Copyright (C) 2004-2005, Horizon Wimba, Inc. + * + * Contributors: + * Steve Kann <stevek@stevek.com> + * + * This program is free software, distributed under the terms of + * the GNU Lesser (Library) General Public License + * + * Copyright on this file is disclaimed to Digium for inclusion in Asterisk + */ + +/*! \file + * \brief + * jitterbuf: an application-independent jitterbuffer + * \ref jitterbuf.c + */ + + +#ifndef _JITTERBUF_H_ +#define _JITTERBUF_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/*! \name configuration constants */ +/*@{ */ + /*! Number of historical timestamps to use in calculating jitter and drift */ +#define JB_HISTORY_SZ 500 + /*! what percentage of timestamps should we drop from the history when we examine it; + * this might eventually be something made configurable */ +#define JB_HISTORY_DROPPCT 3 + /*! the maximum droppct we can handle (say it was configurable). */ +#define JB_HISTORY_DROPPCT_MAX 4 + /*! the size of the buffer we use to keep the top and botton timestamps for dropping */ +#define JB_HISTORY_MAXBUF_SZ JB_HISTORY_SZ * JB_HISTORY_DROPPCT_MAX / 100 + /*! amount of additional jitterbuffer adjustment */ +#define JB_TARGET_EXTRA 40 + /*! ms between growing and shrinking; may not be honored if jitterbuffer runs out of space */ +#define JB_ADJUST_DELAY 40 +/*@} */ + +enum jb_return_code { + /* return codes */ + JB_OK, /* 0 */ + JB_EMPTY, /* 1 */ + JB_NOFRAME, /* 2 */ + JB_INTERP, /* 3 */ + JB_DROP, /* 4 */ + JB_SCHED /* 5 */ +}; + +enum jb_frame_type { + /* frame types */ + JB_TYPE_CONTROL, /*!< 0 */ + JB_TYPE_VOICE, /*!< 1 */ + JB_TYPE_VIDEO, /*!< 2 - reserved */ + JB_TYPE_SILENCE /*!< 3 */ +}; + +typedef struct jb_conf { + /* settings */ + long max_jitterbuf; /*!< defines a hard clamp to use in setting the jitter buffer delay */ + long resync_threshold; /*!< the jb will resync when delay increases to (2 * jitter) + this param */ + long max_contig_interp; /*!< the max interp frames to return in a row */ + long target_extra ; /*!< amount of additional jitterbuffer adjustment, overrides JB_TARGET_EXTRA */ +} jb_conf; + +typedef struct jb_info { + jb_conf conf; + + /* statistics */ + long frames_in; /*!< number of frames input to the jitterbuffer.*/ + long frames_out; /*!< number of frames output from the jitterbuffer.*/ + long frames_late; /*!< number of frames which were too late, and dropped.*/ + long frames_lost; /*!< number of missing frames.*/ + long frames_dropped; /*!< number of frames dropped (shrinkage) */ + long frames_ooo; /*!< number of frames received out-of-order */ + long frames_cur; /*!< number of frames presently in jb, awaiting delivery.*/ + long jitter; /*!< jitter measured within current history interval*/ + long min; /*!< minimum lateness within current history interval */ + long current; /*!< the present jitterbuffer adjustment */ + long target; /*!< the target jitterbuffer adjustment */ + long losspct; /*!< recent lost frame percentage (* 1000) */ + long next_voice_ts; /*!< the ts of the next frame to be read from the jb - in receiver's time */ + long last_voice_ms; /*!< the duration of the last voice frame */ + long silence_begin_ts; /*!< the time of the last CNG frame, when in silence */ + long last_adjustment; /*!< the time of the last adjustment */ + long last_delay; /*!< the last now added to history */ + long cnt_delay_discont; /*!< the count of discontinuous delays */ + long resync_offset; /*!< the amount to offset ts to support resyncs */ + long cnt_contig_interp; /*!< the number of contiguous interp frames returned */ +} jb_info; + +typedef struct jb_frame { + void *data; /* the frame data */ + long ts; /* the relative delivery time expected */ + long ms; /* the time covered by this frame, in sec/8000 */ + enum jb_frame_type type; /* the type of frame */ + struct jb_frame *next, *prev; +} jb_frame; + +typedef struct jitterbuf { + jb_info info; + + /* history */ + long history[JB_HISTORY_SZ]; /*!< history */ + int hist_ptr; /*!< points to index in history for next entry */ + long hist_maxbuf[JB_HISTORY_MAXBUF_SZ]; /*!< a sorted buffer of the max delays (highest first) */ + long hist_minbuf[JB_HISTORY_MAXBUF_SZ]; /*!< a sorted buffer of the min delays (lowest first) */ + int hist_maxbuf_valid; /*!< are the "maxbuf"/minbuf valid? */ + unsigned int dropem:1; /*!< flag to indicate dropping frames (overload) */ + + jb_frame *frames; /*!< queued frames */ + jb_frame *free; /*!< free frames (avoid malloc?) */ +} jitterbuf; + + +/*! \brief new jitterbuf */ +jitterbuf * jb_new(void); + +/*! \brief destroy jitterbuf */ +void jb_destroy(jitterbuf *jb); + +/*! \brief reset jitterbuf + * \note The jitterbuffer should be empty before you call this, otherwise + * you will leak queued frames, and some internal structures */ +void jb_reset(jitterbuf *jb); + +/*!\brief queue a frame + * + * data=frame data, timings (in ms): ms=length of frame (for voice), ts=ts (sender's time) + * now=now (in receiver's time) return value is one of + * JB_OK: Frame added. Last call to jb_next() still valid + * JB_DROP: Drop this frame immediately + * JB_SCHED: Frame added. Call jb_next() to get a new time for the next frame + */ +enum jb_return_code jb_put(jitterbuf *jb, void *data, const enum jb_frame_type type, long ms, long ts, long now); + +/*! \brief get a frame for time now (receiver's time) return value is one of + * JB_OK: You've got frame! + * JB_DROP: Here's an audio frame you should just drop. Ask me again for this time.. + * JB_NOFRAME: There's no frame scheduled for this time. + * JB_INTERP: Please interpolate an interpl-length frame for this time (either we need to grow, or there was a lost frame) + * JB_EMPTY: The jb is empty. + */ +enum jb_return_code jb_get(jitterbuf *jb, jb_frame *frame, long now, long interpl); + +/*! \brief unconditionally get frames from jitterbuf until empty */ +enum jb_return_code jb_getall(jitterbuf *jb, jb_frame *frameout); + +/*! \brief when is the next frame due out, in receiver's time (0=EMPTY) + * This value may change as frames are added (esp non-audio frames) */ +long jb_next(jitterbuf *jb); + +/*! \brief get jitterbuf info: only "statistics" may be valid */ +enum jb_return_code jb_getinfo(jitterbuf *jb, jb_info *stats); + +/* some diagnostics */ +void jb_dbginfo(jitterbuf *jb); + +/*! \brief set jitterbuf conf */ +enum jb_return_code jb_setconf(jitterbuf *jb, jb_conf *conf); + +typedef void __attribute__((format(printf, 1, 2))) (*jb_output_function_t)(const char *fmt, ...); +void jb_setoutput(jb_output_function_t err, jb_output_function_t warn, jb_output_function_t dbg); + +#ifdef __cplusplus +} +#endif + + +#endif diff --git a/sflphone-common/src/audio/mainbuffer.cpp b/sflphone-common/src/audio/mainbuffer.cpp index eb37899b5dfa84148f3eccdfe552e655f5c3dde5..4c15008b0d5d0ee2264bebc2b77052b25b87354d 100644 --- a/sflphone-common/src/audio/mainbuffer.cpp +++ b/sflphone-common/src/audio/mainbuffer.cpp @@ -31,10 +31,9 @@ #include "mainbuffer.h" -#include "audioprocessing.h" +#include "manager.h" - -MainBuffer::MainBuffer() : _internalSamplingRate (0) +MainBuffer::MainBuffer() : _internalSamplingRate (8000) { mixBuffer = new SFLDataFormat[STATIC_BUFSIZE]; } @@ -49,7 +48,7 @@ MainBuffer::~MainBuffer() void MainBuffer::setInternalSamplingRate (int sr) { - ost::MutexLock guard (_mutex); + // ost::MutexLock guard (_mutex); if (sr != _internalSamplingRate) { @@ -57,6 +56,8 @@ void MainBuffer::setInternalSamplingRate (int sr) flushAllBuffers(); + Manager::instance().audioSamplingRateChanged(); + } } @@ -175,7 +176,7 @@ bool MainBuffer::removeRingBuffer (CallID call_id) void MainBuffer::bindCallID (CallID call_id1, CallID call_id2) { - ost::MutexLock guard (_mutex); + // ost::MutexLock guard (_mutex); RingBuffer* ring_buffer; CallIDSet* callid_set; @@ -202,11 +203,27 @@ void MainBuffer::bindCallID (CallID call_id1, CallID call_id2) } +void MainBuffer::bindHalfDuplexOut(CallID process_id, CallID call_id) +{ + + // This method is used only for active calls, if this call does not exist, do nothing + if(!getRingBuffer(call_id)) + return; + + if(!getCallIDSet(process_id)) + createCallIDSet(process_id); + + getRingBuffer(call_id)->createReadPointer(process_id); + + addCallIDtoSet(process_id, call_id); + +} + void MainBuffer::unBindCallID (CallID call_id1, CallID call_id2) { - ost::MutexLock guard (_mutex); + // ost::MutexLock guard (_mutex); removeCallIDfromSet (call_id1, call_id2); removeCallIDfromSet (call_id2, call_id1); @@ -215,7 +232,7 @@ void MainBuffer::unBindCallID (CallID call_id1, CallID call_id2) ringbuffer = getRingBuffer (call_id2); - if (ringbuffer != NULL) { + if (ringbuffer) { ringbuffer->removeReadPointer (call_id1); @@ -228,22 +245,50 @@ void MainBuffer::unBindCallID (CallID call_id1, CallID call_id2) ringbuffer = getRingBuffer (call_id1); - if (ringbuffer != NULL) { - ringbuffer->removeReadPointer (call_id2); - - if (ringbuffer->getNbReadPointer() == 0) { - removeCallIDSet (call_id1); - removeRingBuffer (call_id1); - } + if (ringbuffer) { + ringbuffer->removeReadPointer (call_id2); + + if (ringbuffer->getNbReadPointer() == 0) { + removeCallIDSet (call_id1); + removeRingBuffer (call_id1); + } } +} +void MainBuffer::unBindHalfDuplexOut(CallID process_id, CallID call_id) +{ + + removeCallIDfromSet(process_id, call_id); + + RingBuffer* ringbuffer = getRingBuffer(call_id); + + if(ringbuffer) { + ringbuffer->removeReadPointer(process_id); + + if(ringbuffer->getNbReadPointer() == 0) { + removeCallIDSet(call_id); + removeRingBuffer(call_id); + } + } + else { + _debug("Error: did not found ringbuffer %s", process_id.c_str()); + removeCallIDSet(process_id); + } + + + CallIDSet* callid_set = getCallIDSet(process_id); + if(callid_set) { + if(callid_set->empty()) + removeCallIDSet(process_id); + } } + void MainBuffer::unBindAll (CallID call_id) { - ost::MutexLock guard (_mutex); + // ost::MutexLock guard (_mutex); CallIDSet* callid_set = getCallIDSet (call_id); @@ -267,10 +312,32 @@ void MainBuffer::unBindAll (CallID call_id) } -int MainBuffer::putData (void *buffer, int toCopy, unsigned short volume, CallID call_id) +void MainBuffer::unBindAllHalfDuplexOut(CallID process_id) { - ost::MutexLock guard (_mutex); + CallIDSet* callid_set = getCallIDSet(process_id); + + if(!callid_set) + return; + + if(callid_set->empty()) + return; + + CallIDSet temp_set = *callid_set; + + CallIDSet::iterator iter_set = temp_set.begin(); + + while(iter_set != temp_set.end()) { + CallID call_id_in_set = *iter_set; + unBindCallID(process_id, call_id_in_set); + + iter_set++; + } +} + + +int MainBuffer::putData (void *buffer, int toCopy, unsigned short volume, CallID call_id) +{ RingBuffer* ring_buffer = getRingBuffer (call_id); @@ -280,7 +347,6 @@ int MainBuffer::putData (void *buffer, int toCopy, unsigned short volume, CallID int a; - // ost::MutexLock guard (_mutex); a = ring_buffer->AvailForPut(); if (a >= toCopy) { @@ -297,8 +363,6 @@ int MainBuffer::putData (void *buffer, int toCopy, unsigned short volume, CallID int MainBuffer::availForPut (CallID call_id) { - ost::MutexLock guard (_mutex); - RingBuffer* ringbuffer = getRingBuffer (call_id); if (ringbuffer == NULL) @@ -311,7 +375,6 @@ int MainBuffer::availForPut (CallID call_id) int MainBuffer::getData (void *buffer, int toCopy, unsigned short volume, CallID call_id) { - ost::MutexLock guard (_mutex); CallIDSet* callid_set = getCallIDSet (call_id); @@ -334,9 +397,7 @@ int MainBuffer::getData (void *buffer, int toCopy, unsigned short volume, CallID return 0; } else { - for (int k = 0; k < nbSmplToCopy; k++) { - ( (SFLDataFormat*) (buffer)) [k] = 0; - } + memset(buffer, 0, nbSmplToCopy*sizeof(SFLDataFormat)); int size = 0; @@ -344,7 +405,9 @@ int MainBuffer::getData (void *buffer, int toCopy, unsigned short volume, CallID while (iter_id != callid_set->end()) { - size = getDataByID (mixBuffer, toCopy, volume, (CallID) (*iter_id), call_id); + memset(mixBuffer, 0, toCopy); + + size = getDataByID(mixBuffer, toCopy, volume, (CallID) (*iter_id), call_id); if (size > 0) { for (int k = 0; k < nbSmplToCopy; k++) { @@ -376,8 +439,6 @@ int MainBuffer::getDataByID (void *buffer, int toCopy, unsigned short volume, Ca int MainBuffer::availForGet (CallID call_id) { - ost::MutexLock guard (_mutex); - CallIDSet* callid_set = getCallIDSet (call_id); if (callid_set == NULL) @@ -395,14 +456,16 @@ int MainBuffer::availForGet (CallID call_id) _debug ("This problem should not occur since we have %i element", (int) callid_set->size()); } - // else return availForGetByID (*iter_id, call_id); + } else { - // _debug("CallIDSet with ID: \"%s\" is a conference!", call_id.c_str()); + int avail_bytes = 99999; int nb_bytes; CallIDSet::iterator iter_id = callid_set->begin(); + syncBuffers(call_id); + for (iter_id = callid_set->begin(); iter_id != callid_set->end(); iter_id++) { nb_bytes = availForGetByID (*iter_id, call_id); @@ -436,9 +499,6 @@ int MainBuffer::availForGetByID (CallID call_id, CallID reader_id) int MainBuffer::discard (int toDiscard, CallID call_id) { - // _debug("MainBuffer::discard"); - - ost::MutexLock guard (_mutex); CallIDSet* callid_set = getCallIDSet (call_id); @@ -446,7 +506,6 @@ int MainBuffer::discard (int toDiscard, CallID call_id) return 0; if (callid_set->empty()) { - // _debug("CallIDSet with ID: \"%s\" is empty!", call_id.c_str()); return 0; } @@ -467,7 +526,6 @@ int MainBuffer::discard (int toDiscard, CallID call_id) return toDiscard; } - } @@ -487,7 +545,7 @@ int MainBuffer::discardByID (int toDiscard, CallID call_id, CallID reader_id) void MainBuffer::flush (CallID call_id) { - ost::MutexLock guard (_mutex); + // ost::MutexLock guard (_mutex); CallIDSet* callid_set = getCallIDSet (call_id); @@ -514,7 +572,7 @@ void MainBuffer::flush (CallID call_id) void MainBuffer::flushDefault() { - ost::MutexLock guard (_mutex); + // ost::MutexLock guard (_mutex); flushByID (default_id, default_id); @@ -544,6 +602,45 @@ void MainBuffer::flushAllBuffers() } } +void MainBuffer:: syncBuffers(CallID call_id) +{ + + CallIDSet* callid_set = getCallIDSet(call_id); + + if (callid_set == NULL) + return; + + if (callid_set->empty()) { + _debug ("MainBuffer: CallIDSet with ID: \"%s\" is empty!", call_id.c_str()); + return; + } + + if (callid_set->size() == 1) { + // no need to resync, only one session + return; + } + + int nbBuffers = 0; + float mean_nbBytes = 0.0; + + CallIDSet::iterator iter_id = callid_set->begin(); + + + // compute mean nb byte in buffers + for (iter_id = callid_set->begin(); iter_id != callid_set->end(); iter_id++) { + nbBuffers++; + mean_nbBytes += availForGetByID (*iter_id, call_id); + } + mean_nbBytes = mean_nbBytes / (float) nbBuffers; + + // resync buffers in this conference according to the computed mean + for (iter_id = callid_set->begin(); iter_id != callid_set->end(); iter_id++) { + + if(availForGetByID (*iter_id, call_id) > (mean_nbBytes + 640)) + discardByID (640, *iter_id, call_id); + } +} + void MainBuffer::stateInfo() { @@ -610,7 +707,4 @@ void MainBuffer::stateInfo() iter_buffer++; } - - - } diff --git a/sflphone-common/src/audio/mainbuffer.h b/sflphone-common/src/audio/mainbuffer.h index a5fca042e325f1f15f764f5eabde52fdfcef67d8..9b97a88fc000c9ad9c4628581d285da43222d84d 100644 --- a/sflphone-common/src/audio/mainbuffer.h +++ b/sflphone-common/src/audio/mainbuffer.h @@ -37,12 +37,10 @@ #include <cc++/thread.h> // for ost::Mutex #include <string> -#include "../global.h" -#include "../call.h" +#include "global.h" +#include "call.h" #include "ringbuffer.h" - - typedef std::map<CallID, RingBuffer*> RingBufferMap; typedef std::set<CallID> CallIDSet; @@ -51,7 +49,7 @@ typedef std::map<CallID, CallIDSet*> CallIDMap; class MainBuffer { -public: + public: MainBuffer(); @@ -67,20 +65,40 @@ public: bool removeCallIDSet(CallID set_id); + /** + * Add a new call id to this set + */ void addCallIDtoSet(CallID set_id, CallID call_id); void removeCallIDfromSet(CallID set_id, CallID call_id); + /** + * Create a new ringbuffer with default readpointer + */ RingBuffer* createRingBuffer(CallID call_id); bool removeRingBuffer(CallID call_id); void bindCallID(CallID call_id1, CallID call_id2 = default_id); + /** + * Add a new call_id to unidirectional outgoing stream + * \param call_id New call id to be added for this stream + * \param process_id Process that require this stream + */ + void bindHalfDuplexOut(CallID process_id, CallID call_id = default_id); + + /** + * Unbind two calls + */ void unBindCallID(CallID call_id1, CallID call_id2 = default_id); + void unBindHalfDuplexOut(CallID process_id, CallID call_id = default_id); + void unBindAll(CallID call_id); + void unBindAllHalfDuplexOut(CallID process_id); + int putData(void *buffer, int toCopy, unsigned short volume = 100, CallID call_id = default_id); int getData(void *buffer, int toCopy, unsigned short volume = 100, CallID call_id = default_id); @@ -96,6 +114,8 @@ public: void flushAllBuffers(); void flushDefault(); + + void syncBuffers(CallID call_id); void stateInfo(); @@ -117,7 +137,7 @@ public: SFLDataFormat* mixBuffer; - ost::Mutex _mutex; + // ost::Mutex _mutex; int _internalSamplingRate; diff --git a/sflphone-common/src/audio/pulseaudio/audiostream.cpp b/sflphone-common/src/audio/pulseaudio/audiostream.cpp index 7a64544b9a01feec2baf165b09ce7c8f7c1c79de..41acf4c26362dcce9fa509f7d2e49ba257069009 100644 --- a/sflphone-common/src/audio/pulseaudio/audiostream.cpp +++ b/sflphone-common/src/audio/pulseaudio/audiostream.cpp @@ -141,6 +141,8 @@ AudioStream::stream_state_callback (pa_stream* s, void* user_data) _info("Audio: The state of the stream changed"); assert (s); + char str[PA_SAMPLE_SPEC_SNPRINT_MAX]; + m = (pa_threaded_mainloop*) user_data; assert (m); @@ -156,6 +158,14 @@ AudioStream::stream_state_callback (pa_stream* s, void* user_data) case PA_STREAM_READY: _info ("Audio: Stream successfully created, connected to %s", pa_stream_get_device_name (s)); + // pa_buffer_attr *buffattr = (pa_buffer_attr *)pa_xmalloc (sizeof(pa_buffer_attr)); + _debug("Audio: maxlength %u", pa_stream_get_buffer_attr(s)->maxlength); + _debug("Audio: tlength %u", pa_stream_get_buffer_attr(s)->tlength); + _debug("Audio: prebug %u", pa_stream_get_buffer_attr(s)->prebuf); + _debug("Audio: minreq %u", pa_stream_get_buffer_attr(s)->minreq); + _debug("Audio: fragsize %u", pa_stream_get_buffer_attr(s)->fragsize); + _debug("Audio: samplespec %s", pa_sample_spec_snprint(str, sizeof(str), pa_stream_get_sample_spec(s))); + // pa_xfree (buffattr); break; case PA_STREAM_UNCONNECTED: @@ -203,44 +213,53 @@ AudioStream::createStream (pa_context* c, std::string *deviceName) if (_streamType == PLAYBACK_STREAM) { - attributes->maxlength = (uint32_t) -1; - attributes->tlength = pa_usec_to_bytes (100 * PA_USEC_PER_MSEC, &_sample_spec); + attributes->maxlength = pa_usec_to_bytes (80 * PA_USEC_PER_MSEC, &_sample_spec); // -1; + attributes->tlength = pa_usec_to_bytes (40 * PA_USEC_PER_MSEC, &_sample_spec); attributes->prebuf = 0; + attributes->fragsize = pa_usec_to_bytes (20 * PA_USEC_PER_MSEC, &_sample_spec); attributes->minreq = (uint32_t) -1; pa_threaded_mainloop_lock(_mainloop); + if(deviceName) pa_stream_connect_playback (s , deviceName->c_str(), attributes, (pa_stream_flags_t)(PA_STREAM_ADJUST_LATENCY|PA_STREAM_AUTO_TIMING_UPDATE), NULL, NULL); else pa_stream_connect_playback (s , NULL, attributes, (pa_stream_flags_t)(PA_STREAM_ADJUST_LATENCY|PA_STREAM_AUTO_TIMING_UPDATE), NULL, NULL); + pa_threaded_mainloop_unlock(_mainloop); } else if (_streamType == CAPTURE_STREAM) { - attributes->maxlength = (uint32_t) -1; - attributes->fragsize = pa_usec_to_bytes (50 * PA_USEC_PER_MSEC, &_sample_spec); + attributes->maxlength = pa_usec_to_bytes (80 * PA_USEC_PER_MSEC, &_sample_spec);// (uint32_t) -1; + attributes->tlength = pa_usec_to_bytes (40 * PA_USEC_PER_MSEC, &_sample_spec);// pa_usec_to_bytes (20 * PA_USEC_PER_MSEC, &_sample_spec); + attributes->prebuf = 0; + attributes->fragsize = pa_usec_to_bytes (20 * PA_USEC_PER_MSEC, &_sample_spec); // pa_usec_to_bytes (20 * PA_USEC_PER_MSEC, &_sample_spec); + attributes->minreq = (uint32_t) -1; pa_threaded_mainloop_lock(_mainloop); + if(deviceName) pa_stream_connect_record (s, deviceName->c_str(), attributes, (pa_stream_flags_t) (PA_STREAM_ADJUST_LATENCY|PA_STREAM_AUTO_TIMING_UPDATE)); else pa_stream_connect_record (s, NULL, attributes, (pa_stream_flags_t) (PA_STREAM_ADJUST_LATENCY|PA_STREAM_AUTO_TIMING_UPDATE)); + pa_threaded_mainloop_unlock(_mainloop); } else if (_streamType == RINGTONE_STREAM) { - attributes->maxlength = (uint32_t) -1; - attributes->tlength = pa_usec_to_bytes(100 * PA_USEC_PER_MSEC, &_sample_spec); + attributes->maxlength = pa_usec_to_bytes (80 * PA_USEC_PER_MSEC, &_sample_spec);; + attributes->tlength = pa_usec_to_bytes(40 * PA_USEC_PER_MSEC, &_sample_spec); attributes->prebuf = 0; + attributes->fragsize = pa_usec_to_bytes(20 * PA_USEC_PER_MSEC, &_sample_spec); attributes->minreq = (uint32_t) -1; pa_threaded_mainloop_lock(_mainloop); if(deviceName) pa_stream_connect_playback(s, deviceName->c_str(), attributes, (pa_stream_flags_t) (PA_STREAM_ADJUST_LATENCY|PA_STREAM_AUTO_TIMING_UPDATE), NULL, NULL); else - pa_stream_connect_playback(s, NULL, attributes, (pa_stream_flags_t) (PA_STREAM_ADJUST_LATENCY|PA_STREAM_AUTO_TIMING_UPDATE), NULL, NULL); + pa_stream_connect_playback(s, NULL, attributes, (pa_stream_flags_t) (PA_STREAM_ADJUST_LATENCY), NULL, NULL); pa_threaded_mainloop_unlock(_mainloop); diff --git a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp old mode 100644 new mode 100755 index 41ace3e3bc4a5f1d74867e4c42c43156d68b601f..667f0cf2728e4910298733b49692da4df4f6788f --- a/sflphone-common/src/audio/pulseaudio/pulselayer.cpp +++ b/sflphone-common/src/audio/pulseaudio/pulselayer.cpp @@ -32,6 +32,7 @@ #include "pulselayer.h" #include "managerimpl.h" + int framesPerBuffer = 2048; @@ -74,6 +75,21 @@ static void pa_success_callback(pa_context *c, int success, void *userdata) { _debug("Audio: Success callback"); } +static void latency_update_callback(pa_stream *p, void *userdata) { + + pa_usec_t r_usec; + + pa_stream_get_latency (p, &r_usec, NULL); + + _debug("Audio: Stream letency update %0.0f ms for device %s", (float)r_usec/1000, pa_stream_get_device_name(p)); + _debug("Audio: maxlength %u", pa_stream_get_buffer_attr(p)->maxlength); + _debug("Audio: tlength %u", pa_stream_get_buffer_attr(p)->tlength); + _debug("Audio: prebuf %u", pa_stream_get_buffer_attr(p)->prebuf); + _debug("Audio: minreq %u", pa_stream_get_buffer_attr(p)->minreq); + _debug("Audio: fragsize %u", pa_stream_get_buffer_attr(p)->fragsize); + +} + static void sink_input_info_callback(pa_context *c, const pa_sink_info *i, int eol, void *userdata) { char s[PA_SAMPLE_SPEC_SNPRINT_MAX], cv[PA_CVOLUME_SNPRINT_MAX], cm[PA_CHANNEL_MAP_SNPRINT_MAX]; @@ -238,9 +254,19 @@ PulseLayer::PulseLayer (ManagerImpl* manager) , ringtone(NULL) { _urgentRingBuffer.createReadPointer(); - dcblocker = new DcBlocker(); - is_started = false; + is_started = false; + + AudioLayer::_echocancelstate = true; + AudioLayer::_noisesuppressstate = true; + + byteCounter = 0; + + /* + captureFile = new ofstream("captureFile", ofstream::binary); + captureRsmplFile = new ofstream("captureRsmplFile", ofstream::binary); + captureFilterFile = new ofstream("captureFilterFile", ofstream::binary); + */ openLayer(); } @@ -254,9 +280,27 @@ PulseLayer::~PulseLayer (void) _converter = NULL; } - delete dcblocker; + delete AudioLayer::_echoCancel; + AudioLayer::_echoCancel = NULL; + + delete AudioLayer::_echoCanceller; + AudioLayer::_echoCanceller = NULL; + + delete AudioLayer::_dcblocker; + AudioLayer::_dcblocker = NULL; + + delete AudioLayer::_audiofilter; + AudioLayer::_audiofilter = NULL; - dcblocker = NULL; + /* + captureFile->close(); + captureRsmplFile->close(); + captureFilterFile->close(); + + delete captureFile; + delete captureRsmplFile; + delete captureFilterFile; + */ } void @@ -264,7 +308,7 @@ PulseLayer::openLayer (void) { if (!is_started) { - _info("Audio: Open layer"); + _info("Audio: Open Pulseaudio layer"); connectPulseAudioServer(); @@ -277,7 +321,7 @@ PulseLayer::openLayer (void) bool PulseLayer::closeLayer (void) { - _info("Audio: Destroy pulselayer"); + _info("Audio: Close Pulseaudio layer"); disconnectAudioStream(); @@ -303,7 +347,7 @@ PulseLayer::closeLayer (void) void PulseLayer::connectPulseAudioServer (void) { - _info("Audio: connect to pulseaudio server"); + _info("Audio: Connect to Pulseaudio server"); setenv ("PULSE_PROP_media.role", "phone", 1); @@ -405,6 +449,13 @@ bool PulseLayer::openDevice (int indexIn UNUSED, int indexOut UNUSED, int indexR // use 1 sec buffer for resampling _converter = new SamplerateConverter (_audioSampleRate, 1000); + // Instantiate the algorithm + AudioLayer::_echoCancel = new EchoCancel(_audioSampleRate, _frameSize); + AudioLayer::_echoCanceller = new AudioProcessing(static_cast<Algorithm *>(_echoCancel)); + + AudioLayer::_dcblocker = new DcBlocker(); + AudioLayer::_audiofilter = new AudioProcessing(static_cast<Algorithm *>(_dcblocker)); + return true; } @@ -470,9 +521,9 @@ bool PulseLayer::createStreams (pa_context* c) // _debug("Device list size %d", getDevicelist()->size()); - std::string playbackDevice = _manager->getConfigString(AUDIO, PULSE_DEVICE_PLAYBACK); - std::string recordDevice = _manager->getConfigString(AUDIO, PULSE_DEVICE_PLAYBACK); - std::string ringtoneDevice = _manager->getConfigString(AUDIO, PULSE_DEVICE_PLAYBACK); + std::string playbackDevice = _manager->audioPreference.getDevicePlayback(); + std::string recordDevice = _manager->audioPreference.getDeviceRecord(); + std::string ringtoneDevice = _manager->audioPreference.getDeviceRingtone(); _debug("Audio: Device stored in config for playback: %s", playbackDevice.c_str()); _debug("Audio: Device stored in config for ringtone: %s", recordDevice.c_str()); @@ -497,6 +548,7 @@ bool PulseLayer::createStreams (pa_context* c) pa_stream_set_underflow_callback (playback->pulseStream(), playback_underflow_callback, this); // pa_stream_set_suspended_callback(playback->pulseStream(), stream_suspended_callback, this); pa_stream_set_moved_callback(playback->pulseStream(), stream_moved_callback, this); + pa_stream_set_latency_update_callback(playback->pulseStream(), latency_update_callback, this); delete playbackParam; PulseLayerType * recordParam = new PulseLayerType(); @@ -516,6 +568,7 @@ bool PulseLayer::createStreams (pa_context* c) pa_stream_set_read_callback (record->pulseStream() , capture_callback, this); // pa_stream_set_suspended_callback(record->pulseStream(), stream_suspended_callback, this); pa_stream_set_moved_callback(record->pulseStream(), stream_moved_callback, this); + pa_stream_set_latency_update_callback(record->pulseStream(), latency_update_callback, this); delete recordParam; PulseLayerType * ringtoneParam = new PulseLayerType(); @@ -564,8 +617,8 @@ void PulseLayer::closeCaptureStream (void) if (record) { std::string deviceName(pa_stream_get_device_name(record->pulseStream())); - _debug("record device to be stored in config: %s", deviceName.c_str()); - _manager->setConfig(AUDIO, PULSE_DEVICE_RECORD, deviceName); + _debug("Audio: record device to be stored in config: %s", deviceName.c_str()); + _manager->audioPreference.setDeviceRecord(deviceName); delete record; record=NULL; } @@ -576,16 +629,16 @@ void PulseLayer::closePlaybackStream (void) { if (playback) { std::string deviceName(pa_stream_get_device_name(playback->pulseStream())); - _debug("playback device to be stored in config: %s", deviceName.c_str()); - _manager->setConfig(AUDIO, PULSE_DEVICE_PLAYBACK, deviceName); + _debug("Audio: playback device to be stored in config: %s", deviceName.c_str()); + _manager->audioPreference.setDevicePlayback(deviceName); delete playback; playback=NULL; } if(ringtone) { std::string deviceName(pa_stream_get_device_name(ringtone->pulseStream())); - _debug("ringtone device to be stored in config: %s", deviceName.c_str()); - _manager->setConfig(AUDIO, PULSE_DEVICE_RINGTONE, deviceName); + _debug("Audio: ringtone device to be stored in config: %s", deviceName.c_str()); + _manager->audioPreference.setDeviceRingtone(deviceName); delete ringtone; ringtone = NULL; } @@ -612,10 +665,17 @@ int PulseLayer::getMic (void *buffer, int toCopy) void PulseLayer::startStream (void) { + if(_audiofilter) + _audiofilter->resetAlgorithm(); + + if(_echoCanceller) + _echoCanceller->resetAlgorithm(); + // Create Streams if(!playback || !record) createStreams(context); + // Flush outside the if statement: every time start stream is // called is to notify a new event flushUrgent(); @@ -705,6 +765,25 @@ void PulseLayer::processData (void) } +void PulseLayer::setEchoCancelState(bool state) +{ + // if a stream already running + if(AudioLayer::_echoCancel) + _echoCancel->setEchoCancelState(state); + + AudioLayer::_echocancelstate = state; +} + +void PulseLayer::setNoiseSuppressState(bool state) +{ + // if a stream already opened + if(AudioLayer::_echoCancel) + _echoCancel->setNoiseSuppressState(state); + + AudioLayer::_noisesuppressstate = state; + +} + void PulseLayer::writeToSpeaker (void) { @@ -719,7 +798,6 @@ void PulseLayer::writeToSpeaker (void) SFLDataFormat* out;// = (SFLDataFormat*)pa_xmalloc(framesPerBuffer); urgentAvailBytes = _urgentRingBuffer.AvailForGet(); - // available bytes to be written in pulseaudio internal buffer int writeableSize = pa_stream_writable_size (playback->pulseStream()); @@ -742,12 +820,16 @@ void PulseLayer::writeToSpeaker (void) } else { + // Get ringtone AudioLoop* tone = _manager->getTelephoneTone(); + // We must test if data have been received from network in case of early media + normalAvailBytes = getMainBuffer()->availForGet(); + // flush remaining samples in _urgentRingBuffer flushUrgent(); - if (tone != 0) { + if ((tone != 0) && (normalAvailBytes <= 0)) { if (playback->getStreamState() == PA_STREAM_READY) { @@ -766,9 +848,7 @@ void PulseLayer::writeToSpeaker (void) int maxNbBytesToGet = 0; - // test if audio resampling is needed - if (_mainBufferSampleRate && ( (int) _audioSampleRate != _mainBufferSampleRate)) { // upsamplefactor is used to compute the number of bytes to get in the ring buffer @@ -783,8 +863,6 @@ void PulseLayer::writeToSpeaker (void) } - normalAvailBytes = getMainBuffer()->availForGet(); - byteToGet = (normalAvailBytes < (int) (maxNbBytesToGet)) ? normalAvailBytes : maxNbBytesToGet; if (byteToGet) { @@ -798,6 +876,10 @@ void PulseLayer::writeToSpeaker (void) getMainBuffer()->getData (out, byteToGet, 100); + // TODO: Audio processing should be performed inside mainbuffer + // to avoid such problem + AudioLayer::_echoCancel->setSamplingRate(_mainBufferSampleRate); + // test if resampling is required if (_mainBufferSampleRate && ( (int) _audioSampleRate != _mainBufferSampleRate)) { @@ -821,6 +903,10 @@ void PulseLayer::writeToSpeaker (void) } + + // Copy far-end signal in echo canceller to adapt filter coefficient + // AudioLayer::_echoCanceller->putData(out, byteToGet); + pa_xfree (out); } else { @@ -852,6 +938,9 @@ void PulseLayer::readFromMic (void) const char* data = NULL; size_t r; + SFLDataFormat echoCancelledMic[10000]; + memset(echoCancelledMic, 0, 10000*sizeof(SFLDataFormat)); + int readableSize = pa_stream_readable_size (record->pulseStream()); @@ -859,7 +948,6 @@ void PulseLayer::readFromMic (void) _warn("Audio: Error capture stream peek failed: %s" , pa_strerror (pa_context_errno (context))); } - if (data != 0) { int _mainBufferSampleRate = getMainBuffer()->getInternalSamplingRate(); @@ -873,20 +961,42 @@ void PulseLayer::readFromMic (void) int nb_sample_up = nbSample; + // captureFile->write ((const char *)data, nbSample*sizeof(SFLDataFormat)); + + nbSample = _converter->downsampleData ( (SFLDataFormat *) data, rsmpl_out, _mainBufferSampleRate, _audioSampleRate, nb_sample_up); - nbSample = _converter->downsampleData ( (SFLDataFormat*) data, rsmpl_out, _mainBufferSampleRate, _audioSampleRate, nb_sample_up); + // captureRsmplFile->write ((const char *)rsmpl_out, nbSample*sizeof(SFLDataFormat)); // remove dc offset - dcblocker->filter_signal (rsmpl_out, nbSample); + _audiofilter->processAudio(rsmpl_out, nbSample*sizeof(SFLDataFormat)); + + // captureFilterFile->write ((const char *)rsmpl_out, nbSample*sizeof(SFLDataFormat)); - getMainBuffer()->putData ( (void*) rsmpl_out, nbSample*sizeof (SFLDataFormat), 100); + // echo cancellation processing + // int sampleready = _echoCanceller->processAudio(rsmpl_out, echoCancelledMic, nbSample*sizeof(SFLDataFormat)); + + // getMainBuffer()->putData ( (void*) rsmpl_out, nbSample*sizeof (SFLDataFormat), 100); + // if(sampleready) + // getMainBuffer()->putData ( echoCancelledMic, sampleready*sizeof (SFLDataFormat), 100); + getMainBuffer()->putData ( rsmpl_out, nbSample*sizeof (SFLDataFormat), 100); pa_xfree (rsmpl_out); } else { + SFLDataFormat* filter_out = (SFLDataFormat*) pa_xmalloc (r); + + // remove dc offset + _audiofilter->processAudio((SFLDataFormat *)data, filter_out, r); + + // echo cancellation processing + // int sampleready = _echoCanceller->processAudio((SFLDataFormat *)filter_out, echoCancelledMic, r); + // no resampling required - getMainBuffer()->putData ( (void*) data, r, 100); + // getMainBuffer()->putData (echoCancelledMic, sampleready*sizeof (SFLDataFormat), 100); + getMainBuffer()->putData (filter_out, r, 100); + + pa_xfree(filter_out); } @@ -910,8 +1020,6 @@ void PulseLayer::ringtoneToSpeaker(void) int writableSize = pa_stream_writable_size(ringtone->pulseStream()); - _debug("writable size: %d", writableSize); - if (file_tone) { if(ringtone->getStreamState() == PA_STREAM_READY) { diff --git a/sflphone-common/src/audio/pulseaudio/pulselayer.h b/sflphone-common/src/audio/pulseaudio/pulselayer.h index 59ee2284d486c364ecfb3d363f5ea618214231da..047fe84093f133c5ee4a29ae9b676d993944d774 100644 --- a/sflphone-common/src/audio/pulseaudio/pulselayer.h +++ b/sflphone-common/src/audio/pulseaudio/pulselayer.h @@ -177,6 +177,30 @@ class PulseLayer : public AudioLayer { void processRingtoneData( void ); void processData(void); + + /** + * Get the echo canceller state + * @return true if echo cancel activated + */ + bool getEchoCancelState(void) { return AudioLayer::_echocancelstate; } + + /** + * Set the echo canceller state + * @param state true if echocancel active, false elsewhere + */ + void setEchoCancelState(bool state); + + /** + * Get the noise suppressor state + * @return true if noise suppressor activated + */ + bool getNoiseSuppressState(void) { return AudioLayer::_noisesuppressstate; } + + /** + * Set the noise suppressor state + * @param state true if noise suppressor active, false elsewhere + */ + void setNoiseSuppressState(bool state); private: // Copy Constructor @@ -251,7 +275,11 @@ class PulseLayer : public AudioLayer { int spkrVolume; int micVolume; - DcBlocker* dcblocker; + /* + ofstream *captureFile; + ofstream *captureRsmplFile; + ofstream *captureFilterFile; + */ DeviceList _sinkList; @@ -259,6 +287,8 @@ class PulseLayer : public AudioLayer { // private: + int byteCounter; + public: friend class AudioLayerTest; diff --git a/sflphone-common/src/audio/recordable.cpp b/sflphone-common/src/audio/recordable.cpp index f8044c12a4f7376cd34851cc54c04a42393877f6..8371bf7ec8b52a82763e3b4ea90a51944eafd48b 100644 --- a/sflphone-common/src/audio/recordable.cpp +++ b/sflphone-common/src/audio/recordable.cpp @@ -30,7 +30,7 @@ #include "recordable.h" #include "manager.h" -Recordable::Recordable() +Recordable::Recordable() : recorder(&recAudio, Manager::instance().getMainBuffer()) { FILE_TYPE fileType = FILE_WAV; @@ -61,3 +61,5 @@ void Recordable::setRecordingSmplRate (int smplRate) recAudio.setSndSamplingRate (smplRate); } + + diff --git a/sflphone-common/src/audio/recordable.h b/sflphone-common/src/audio/recordable.h index 8ab5281cc9fe0509b8e33876bbf47455ecf32464..6b08db919674c1529653c343c367c08a3b0f2201 100644 --- a/sflphone-common/src/audio/recordable.h +++ b/sflphone-common/src/audio/recordable.h @@ -30,7 +30,8 @@ #ifndef RECORDABLE_H #define RECORDABLE_H -#include "../plug-in/audiorecorder/audiorecord.h" +#include "audiorecord.h" +#include "audiorecorder.h" class Recordable { @@ -40,14 +41,30 @@ class Recordable { ~Recordable(); + /** + * Return recording state (true/false) + */ bool isRecording(){ return recAudio.isRecording(); } - bool setRecording(){ return recAudio.setRecording(); } + /** + * This method must be implemented for this interface as calls and conferences + * have different behavior. + */ + virtual bool setRecording() = 0; + /** + * Stop recording + */ void stopRecording(){ recAudio.stopRecording(); } + /** + * Init the recording file name according to path specified in configuration + */ void initRecFileName(); + /** + * Set recording sampling rate. + */ void setRecordingSmplRate(int smplRate); virtual std::string getRecFileId() = 0; @@ -61,13 +78,7 @@ class Recordable { */ AudioRecord recAudio; - - private: - - /** File name for his call : time YY-MM-DD */ - // std::string _filename; - - + AudioRecorder recorder; }; diff --git a/sflphone-common/src/audio/ringbuffer.cpp b/sflphone-common/src/audio/ringbuffer.cpp index 5912a3d8b45493a445af96de6ef9c226e8bac747..c38b4c2212018afe37a8b2aa54fac577a2de4e88 100644 --- a/sflphone-common/src/audio/ringbuffer.cpp +++ b/sflphone-common/src/audio/ringbuffer.cpp @@ -108,6 +108,8 @@ RingBuffer::getLen (CallID call_id) int mStart = getReadPointer (call_id); int length = (mEnd + mBufferSize - mStart) % mBufferSize; + + // _debug(" *RingBuffer::getLen: buffer_id %s, call_id %s, mStart %i, mEnd %i, length %i, buffersie %i", buffer_id.c_str(), call_id.c_str(), mStart, mEnd, length, mBufferSize); return length; @@ -220,7 +222,7 @@ RingBuffer::AvailForPut() { // Always keep 4 bytes safe (?) - return (mBufferSize-4) - putLen(); + return mBufferSize - putLen(); } // This one puts some data inside the ring buffer. @@ -236,8 +238,8 @@ RingBuffer::Put (void* buffer, int toCopy, unsigned short volume) int len = putLen(); - if (toCopy > (mBufferSize-4) - len) - toCopy = (mBufferSize-4) - len; + if (toCopy > mBufferSize - len) + toCopy = mBufferSize - len; src = (samplePtr) buffer; @@ -250,7 +252,6 @@ RingBuffer::Put (void* buffer, int toCopy, unsigned short volume) block = toCopy; // Wrap block around ring ? - if (block > (mBufferSize - pos)) { // Fill in to the end of the buffer block = mBufferSize - pos; @@ -294,7 +295,7 @@ RingBuffer::AvailForGet (CallID call_id) { // Used space - return getLen (call_id); + return getLen(call_id); } // Get will move 'toCopy' bytes from the internal FIFO to 'buffer' @@ -314,7 +315,6 @@ RingBuffer::Get (void *buffer, int toCopy, unsigned short volume, CallID call_id int copied; - int len = getLen (call_id); diff --git a/sflphone-common/src/audio/ringbuffer.h b/sflphone-common/src/audio/ringbuffer.h index 98110d62144f04095cf2014e5cefbd53efe644b4..6d5ad7d29e12a7d73a45cc0aaf0f54be486c8475 100644 --- a/sflphone-common/src/audio/ringbuffer.h +++ b/sflphone-common/src/audio/ringbuffer.h @@ -39,7 +39,7 @@ class RingBuffer { * Constructor * @param size Size of the buffer to create */ - RingBuffer(int size, CallID call_id); + RingBuffer(int size, CallID call_id = default_id); /** * Destructor @@ -49,24 +49,45 @@ class RingBuffer { CallID getBufferId(){ return buffer_id; } /** - * Reset the counters to 0 + * Reset the counters to 0 for this read pointer */ void flush (CallID call_id = default_id); void flushAll(); + /** + * Get read pointer coresponding to this call + */ int getReadPointer(CallID call_id = default_id); + /** + * Get the whole readpointer list for this ringbuffer + */ ReadPointer* getReadPointerList() { return &_readpointer; } + /** + * Return the smalest readpointer. Usefull to evaluate if ringbuffer is full + */ int getSmallestReadPointer(); + /** + * Move readpointer forward by pointer_value + */ void storeReadPointer(int pointer_value, CallID call_id = default_id); + /** + * Add a new readpointer for this ringbuffer + */ void createReadPointer(CallID call_id = default_id); + /** + * Remove a readpointer for this ringbuffer + */ void removeReadPointer(CallID call_id = default_id); + /** + * Test if readpointer coresponding to this call is still active + */ bool hasThisReadPointer(CallID call_id); int getNbReadPointer(); diff --git a/sflphone-common/src/audio/speexechocancel.cpp b/sflphone-common/src/audio/speexechocancel.cpp new file mode 100644 index 0000000000000000000000000000000000000000..fa5f1045ddfd0566d8ed36e018a9fcbf58f9df28 --- /dev/null +++ b/sflphone-common/src/audio/speexechocancel.cpp @@ -0,0 +1,166 @@ +/* + * Copyright (C) 2008 2009 Savoir-Faire Linux inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include "speexechocancel.h" + +#include <fstream> + +// number of samples (20 ms) +#define FRAME_SIZE 160 +// number of sample to process, (800 à 4000 samples, 100 to 500 ms) +#define FILTER_LENGTH 800 + + +SpeexEchoCancel::SpeexEchoCancel() +{ + _debug("EchoCancel: Instantiate echo canceller"); + + int samplingRate = 8000; + + _echoState = speex_echo_state_init(FRAME_SIZE, FILTER_LENGTH); + _preState = speex_preprocess_state_init(FRAME_SIZE, samplingRate); + + speex_echo_ctl(_echoState, SPEEX_ECHO_SET_SAMPLING_RATE, &samplingRate); + speex_preprocess_ctl(_preState, SPEEX_PREPROCESS_SET_ECHO_STATE, _echoState); + + micFile = new ofstream("micData", ofstream::binary); + echoFile = new ofstream("echoData", ofstream::binary); + spkrFile = new ofstream("spkrData", ofstream::binary); + + _micData = new RingBuffer(10000); + _spkrData = new RingBuffer(10000); + + _micData->createReadPointer(); + _spkrData->createReadPointer(); + + _spkrStoped = true; +} + +SpeexEchoCancel::~SpeexEchoCancel() +{ + _debug("EchoCancel: Delete echo canceller"); + + speex_echo_state_destroy(_echoState); + _echoState = NULL; + + speex_preprocess_state_destroy(_preState); + _preState = NULL; + + delete _micData; + _micData = NULL; + + delete _spkrData; + _spkrData = NULL; + + micFile->close(); + spkrFile->close(); + echoFile->close(); + + delete micFile; + delete spkrFile; + delete echoFile; +} + +void SpeexEchoCancel::reset() +{ + +} + +void SpeexEchoCancel::putData(SFLDataFormat *inputData, int nbBytes) +{ + // std::cout << "putData nbBytes: " << nbBytes << std::endl; + + if(_spkrStoped) { + _micData->flushAll(); + _spkrData->flushAll(); + _spkrStoped = false; + } + + // Put data in speaker ring buffer + _spkrData->Put(inputData, nbBytes); + + // In case we use libspeex internal buffer + // (require capture and playback stream to be synchronized) + // speex_echo_playback(_echoState, inputData); +} + +void SpeexEchoCancel::process(SFLDataFormat *data, int nbBytes) {} + +int SpeexEchoCancel::process(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes) +{ + + if(_spkrStoped) { + return 0; + } + + int byteSize = FRAME_SIZE*2; + + // init temporary buffers + memset(_tmpSpkr, 0, 5000); + memset(_tmpMic, 0, 5000); + memset(_tmpOut, 0, 5000); + + // Put mic data in ringbuffer + _micData->Put(inputData, nbBytes); + + // Store data for synchronization + int spkrAvail = _spkrData->AvailForGet(); + int micAvail = _micData->AvailForGet(); + + // Init number of frame processed + int nbFrame = 0; + + // Get data from mic and speaker + while((spkrAvail > byteSize) && (micAvail > byteSize)) { + + // get synchronized data + _spkrData->Get(_tmpSpkr, byteSize); + _micData->Get(_tmpMic, byteSize); + + speex_preprocess_run(_preState, _tmpMic); + + micFile->write ((const char *)_tmpMic, byteSize); + spkrFile->write ((const char *)_tmpSpkr, byteSize); + + // Processed echo cancellation + speex_echo_cancellation(_echoState, _tmpMic, _tmpSpkr, _tmpOut); + + // speex_preprocess_run(_preState, _tmpOut); + + bcopy(_tmpOut, outputData+(nbFrame*FRAME_SIZE), byteSize); + + echoFile->write ((const char *)_tmpOut, byteSize); + + + spkrAvail = _spkrData->AvailForGet(); + micAvail = _micData->AvailForGet(); + + // increment nb of frame processed + ++nbFrame; + } + + return nbFrame * FRAME_SIZE; +} + +void SpeexEchoCancel::process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes){ + + + // speex_echo_cancellation(_echoState, micData, spkrData, outputData); + +} diff --git a/sflphone-common/src/audio/speexechocancel.h b/sflphone-common/src/audio/speexechocancel.h new file mode 100644 index 0000000000000000000000000000000000000000..45628e14af81c7eecf9fb8b66f92bbf03f897060 --- /dev/null +++ b/sflphone-common/src/audio/speexechocancel.h @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2008 2009 Savoir-Faire Linux inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef SPEEXECHOCANCEL_H +#define SPEEXECHOCANCEL_H + +#include "audioprocessing.h" +#include <speex/speex_echo.h> +#include "speex/speex_preprocess.h" + +#include "ringbuffer.h" + +class SpeexEchoCancel : public Algorithm { + + public: + + SpeexEchoCancel(); + + ~SpeexEchoCancel(); + + virtual void reset(void); + + /** + * Add speaker data into internal buffer + * \param inputData containing far-end voice data to be sent to speakers + */ + virtual void putData(SFLDataFormat *inputData, int nbBytes); + + /** + * Unused + */ + virtual void process(SFLDataFormat *data, int nbBytes); + + /** + * Perform echo cancellation using internal buffers + * \param inputData containing mixed echo and voice data + * \param outputData containing + */ + virtual int process(SFLDataFormat *inputData, SFLDataFormat *outputData, int nbBytes); + + /** + * Perform echo cancellation, application must provide its own buffer + * \param micData containing mixed echo and voice data + * \param spkrData containing far-end voice data to be sent to speakers + * \param outputData containing the processed data + */ + virtual void process(SFLDataFormat *micData, SFLDataFormat *spkrData, SFLDataFormat *outputData, int nbBytes); + + private: + + SpeexEchoState *_echoState; + + SpeexPreprocessState *_preState; + + RingBuffer *_micData; + RingBuffer *_spkrData; + + bool _spkrStoped; + + SFLDataFormat _tmpSpkr[5000]; + SFLDataFormat _tmpMic[5000]; + SFLDataFormat _tmpOut[5000]; + + ofstream *micFile; + ofstream *spkrFile; + ofstream *echoFile; +}; + +#endif diff --git a/sflphone-common/src/call.cpp b/sflphone-common/src/call.cpp index 93e71226af15973500be6978febde563a6946d85..c640ad77b80d9e49f999cf2d142a21e8aadb9433 100644 --- a/sflphone-common/src/call.cpp +++ b/sflphone-common/src/call.cpp @@ -30,6 +30,7 @@ */ #include "call.h" #include "manager.h" +#include "audio/mainbuffer.h" Call::Call (const CallID& id, Call::CallType type) : _callMutex() @@ -184,3 +185,38 @@ Call::isAudioStarted() return _audioStarted; } + +bool +Call::setRecording() +{ + bool recordStatus = Recordable::recAudio.isRecording(); + + Recordable::recAudio.setRecording(); + + // Start recording + if(!recordStatus) { + + MainBuffer *mbuffer = Manager::instance().getMainBuffer(); + CallID process_id = Recordable::recorder.getRecorderID(); + + mbuffer->bindHalfDuplexOut(process_id, _id); + mbuffer->bindHalfDuplexOut(process_id); + + } + // Stop recording + else { + + MainBuffer *mbuffer = Manager::instance().getMainBuffer(); + CallID process_id = Recordable::recorder.getRecorderID(); + + mbuffer->unBindHalfDuplexOut(process_id, _id); + mbuffer->unBindHalfDuplexOut(process_id); + + } + + Manager::instance().getMainBuffer()->stateInfo(); + + Recordable::recorder.start(); + + return recordStatus; +} diff --git a/sflphone-common/src/call.h b/sflphone-common/src/call.h index 6fcc87fd2f9908fb6b5bdbb744d80e927618a0be..713f23e5609637c9c292c84e7a6d7c453dea1da7 100644 --- a/sflphone-common/src/call.h +++ b/sflphone-common/src/call.h @@ -35,7 +35,6 @@ #include <cc++/thread.h> // for mutex #include <sstream> -// #include "plug-in/audiorecorder/audiorecord.h" #include "audio/recordable.h" #define SIP_SCHEME "sip:" @@ -235,9 +234,11 @@ class Call: public Recordable{ */ unsigned int getLocalAudioPort(); - std::string getRecFileId(){ return getPeerName(); } + std::string getRecFileId(void){ return getPeerName(); } - std::string getFileName() { return _filename; } + std::string getFileName(void) { return _filename; } + + virtual bool setRecording(void); protected: /** Protect every attribute that can be changed by two threads */ diff --git a/sflphone-common/src/conference.cpp b/sflphone-common/src/conference.cpp index d93cf8a0a486b8a97ac08e233e04f02462b096d3..8ac1ce32820676f198dae5854c27001cc2cfa5eb 100644 --- a/sflphone-common/src/conference.cpp +++ b/sflphone-common/src/conference.cpp @@ -34,6 +34,7 @@ #include "conference.h" #include "manager.h" #include "audio/audiolayer.h" +#include "audio/mainbuffer.h" int Conference::count = 0; @@ -54,7 +55,7 @@ Conference::Conference() _nbParticipant = 0; _id = conf.append (s); - + Recordable::initRecFileName(); } @@ -157,3 +158,53 @@ ParticipantSet Conference::getParticipantList() return _participants; } + + +bool Conference::setRecording() { + + bool recordStatus = Recordable::recAudio.isRecording(); + + Recordable::recAudio.setRecording(); + + // start recording + if(!recordStatus){ + + MainBuffer *mbuffer = Manager::instance().getMainBuffer(); + + ParticipantSet::iterator iter = _participants.begin(); + + CallID process_id = Recordable::recorder.getRecorderID(); + + while(iter != _participants.end()) { + mbuffer->bindHalfDuplexOut(process_id, *iter); + iter++; + } + + mbuffer->bindHalfDuplexOut(process_id); + + Recordable::recorder.start(); + + } + // stop recording + else { + + MainBuffer *mbuffer = Manager::instance().getMainBuffer(); + + ParticipantSet::iterator iter = _participants.begin(); + + CallID process_id = Recordable::recorder.getRecorderID(); + + while(iter != _participants.end()) { + mbuffer->unBindHalfDuplexOut(process_id, *iter); + iter++; + } + + mbuffer->unBindHalfDuplexOut(process_id); + + // Recordable::recorder.start(); + + } + + return recordStatus; + +} diff --git a/sflphone-common/src/conference.h b/sflphone-common/src/conference.h index a20a9a25842faf1ff97f13048f4a98d9b9902468..77952531d1a7b979e6bcfb9c1d7e1a99c59d21b2 100644 --- a/sflphone-common/src/conference.h +++ b/sflphone-common/src/conference.h @@ -75,6 +75,8 @@ class Conference: public Recordable{ std::string getRecFileId(){ return getConfID(); } + virtual bool setRecording(); + private: /** Unique ID of the conference */ diff --git a/sflphone-common/src/config/Makefile.am b/sflphone-common/src/config/Makefile.am old mode 100644 new mode 100755 index d72225850fc3415ab1c5818cace8bc740401fe29..4d84e41e5949827722e41beb10127edf8d1bd7d8 --- a/sflphone-common/src/config/Makefile.am +++ b/sflphone-common/src/config/Makefile.am @@ -3,4 +3,21 @@ SUBDIRS = noinst_LTLIBRARIES = libconfig.la libconfig_la_SOURCES = \ - config.cpp config.h + config.cpp \ + yamlengine.cpp \ + yamlemitter.cpp \ + yamlparser.cpp \ + yamlnode.cpp + +noinst_HEADERS = \ + config.h \ + engine.h \ + serializable.h \ + yamlengine.h \ + yamlemitter.h \ + yamlparser.h \ + yamlnode.h + +libconfig_la_LDFLAGS = @yaml_LIBS@ + +libconfig_la_CFLAGS = @yaml_CFLAGS@ \ No newline at end of file diff --git a/sflphone-common/src/config/config.cpp b/sflphone-common/src/config/config.cpp old mode 100644 new mode 100755 index 83bba767b1e7ff66891c2836485f68ddc7f8f966..9f735964de9e45de8aa005817d8b7b714f6d13ac --- a/sflphone-common/src/config/config.cpp +++ b/sflphone-common/src/config/config.cpp @@ -38,6 +38,7 @@ #include <errno.h> #include <iostream> #include <string.h> +#include "yamlparser.h" namespace Conf { @@ -50,6 +51,7 @@ ConfigTree::ConfigTree() :_sections() // dtor ConfigTree::~ConfigTree() { + // erase every new ItemMap (by CreateSection) SectionMap::iterator iter = _sections.begin(); diff --git a/sflphone-common/src/config/config.h b/sflphone-common/src/config/config.h old mode 100644 new mode 100755 diff --git a/sflphone-common/src/config/engine.h b/sflphone-common/src/config/engine.h new file mode 100755 index 0000000000000000000000000000000000000000..c2345b656e73cca9c4af7258fbd6779d2a185dce --- /dev/null +++ b/sflphone-common/src/config/engine.h @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#ifndef __ENGINE_H__ +#define __ENGINE_H__ + +#include <yaml.h> + +class Engine { + + public: + + virtual void open() = 0; + + virtual void close() = 0; + + virtual void write() = 0; + + virtual void read() = 0; + +}; + +#endif diff --git a/sflphone-common/src/config/serializable.h b/sflphone-common/src/config/serializable.h new file mode 100755 index 0000000000000000000000000000000000000000..e9b88cc84c1059c1a917b0f86b971a6bcc401ab9 --- /dev/null +++ b/sflphone-common/src/config/serializable.h @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#ifndef __SERIALIZABLE_H__ +#define __SERIALIZABLE_H__ + + +#include "yamlparser.h" +#include "yamlemitter.h" +#include "yamlnode.h" + +class Engine; +// class MappingNode; + +class Serializable { + + public: + + virtual void serialize(Conf::YamlEmitter *emitter) = 0; + + virtual void unserialize(Conf::MappingNode *map) = 0; + + private: + +}; + +#endif diff --git a/sflphone-common/src/config/yamlemitter.cpp b/sflphone-common/src/config/yamlemitter.cpp new file mode 100755 index 0000000000000000000000000000000000000000..507fd35ffbf530e2465f3cdc11f38500841f6a98 --- /dev/null +++ b/sflphone-common/src/config/yamlemitter.cpp @@ -0,0 +1,338 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#include "yamlemitter.h" +#include <stdio.h> +#include "../global.h" + +namespace Conf { + +YamlEmitter::YamlEmitter(const char *file) : filename(file), isFirstAccount(true) +{ + open(); +} + +YamlEmitter::~YamlEmitter() +{ + close(); +} + +void YamlEmitter::open() +{ + fd = fopen(filename.c_str(), "wb"); + + if(!fd) + throw YamlEmitterException("Could not open file descriptor"); + + if(!yaml_emitter_initialize(&emitter)) + throw YamlEmitterException("Could not initialize emitter"); + + // Use unicode format + yaml_emitter_set_unicode(&emitter, 1); + + yaml_emitter_set_output_file(&emitter, fd); + + yaml_document_initialize(&document, NULL, NULL, NULL, 0, 0); + + // Init the main configuration mapping + if((topLevelMapping = yaml_document_add_mapping (&document, NULL, YAML_BLOCK_MAPPING_STYLE)) == 0) + throw YamlEmitterException("Could not create top level mapping"); +} + +void YamlEmitter::close() +{ + // yaml_emitter_delete(&emitter); + + if(!fd) + throw YamlEmitterException("File descriptor not valid"); + + fclose(fd); + /* + if(!fclose(fd)) + throw YamlEmitterException("Error closing file descriptor"); + */ + + yaml_document_delete(&document); +} + +void YamlEmitter::read() {} + +void YamlEmitter::write() +{ + +} + +void YamlEmitter::serializeData() +{ + yaml_emitter_dump(&emitter, &document); +} + + +void YamlEmitter::serializeAccount(MappingNode *map) +{ + + std::string accountstr("accounts"); + + int accountid, accountmapping; + + _debug("YamlEmitter: Serialize account"); + + if(map->getType() != MAPPING) + throw YamlEmitterException("Node type is not a mapping while writing account"); + + if(isFirstAccount) { + // accountSequence need to be static outside this scope since reused each time an account is written + if((accountid = yaml_document_add_scalar(&document, NULL, (yaml_char_t *)accountstr.c_str(), -1, YAML_PLAIN_SCALAR_STYLE)) == 0) + throw YamlEmitterException("Could not add preference scalar to document"); + + if((accountSequence = yaml_document_add_sequence (&document, NULL, YAML_BLOCK_SEQUENCE_STYLE)) == 0) + throw YamlEmitterException("Could not add sequence to document"); + + if(!yaml_document_append_mapping_pair (&document, topLevelMapping, accountid, accountSequence)) + throw YamlEmitterException("Could not add mapping pair to top level mapping"); + + isFirstAccount = false; + } + + if((accountmapping = yaml_document_add_mapping (&document, NULL, YAML_BLOCK_MAPPING_STYLE)) == 0) + throw YamlEmitterException("Could not add account mapping to document"); + + if(!yaml_document_append_sequence_item (&document, accountSequence, accountmapping)) + throw YamlEmitterException("Could not append account mapping to sequence"); + + Mapping *internalmap = map->getMapping(); + Mapping::iterator iter = internalmap->begin(); + + while(iter != internalmap->end()) { + addMappingItem(accountmapping, iter->first, iter->second); + iter++; + } + +} + +void YamlEmitter::serializePreference(MappingNode *map) +{ + std::string preferencestr("preferences"); + + int preferenceid, preferencemapping; + + _debug("YamlEmitter: Serialize preference"); + + if(map->getType() != MAPPING) + throw YamlEmitterException("Node type is not a mapping while writing preferences"); + + if((preferenceid = yaml_document_add_scalar(&document, NULL, (yaml_char_t *)preferencestr.c_str(), -1, YAML_PLAIN_SCALAR_STYLE)) == 0) + throw YamlEmitterException("Could not add scalar to document"); + + if((preferencemapping = yaml_document_add_mapping (&document, NULL, YAML_BLOCK_MAPPING_STYLE)) == 0) + throw YamlEmitterException("Could not add mapping to document"); + + if(!yaml_document_append_mapping_pair (&document, topLevelMapping, preferenceid, preferencemapping)) + throw YamlEmitterException("Could not add mapping pair to top leve mapping"); + + Mapping *internalmap = map->getMapping(); + Mapping::iterator iter = internalmap->begin(); + + while(iter != internalmap->end()) { + addMappingItem(preferencemapping, iter->first, iter->second); + iter++; + } + +} + +void YamlEmitter::serializeVoipPreference(MappingNode *map) +{ + std::string preferencestr("voipPreferences"); + + int preferenceid, preferencemapping; + + _debug("YamlEmitter: Serialize voip preference"); + + if(map->getType() != MAPPING) + throw YamlEmitterException("Node type is not a mapping while writing preferences"); + + if((preferenceid = yaml_document_add_scalar(&document, NULL, (yaml_char_t *)preferencestr.c_str(), -1, YAML_PLAIN_SCALAR_STYLE)) == 0) + throw YamlEmitterException("Could not add scalar to document"); + + if((preferencemapping = yaml_document_add_mapping (&document, NULL, YAML_BLOCK_MAPPING_STYLE)) == 0) + throw YamlEmitterException("Could not add mapping to document"); + + if(!yaml_document_append_mapping_pair (&document, topLevelMapping, preferenceid, preferencemapping)) + throw YamlEmitterException("Could not add mapping pair to top leve mapping"); + + Mapping *internalmap = map->getMapping(); + Mapping::iterator iter = internalmap->begin(); + + while(iter != internalmap->end()) { + addMappingItem(preferencemapping, iter->first, iter->second); + iter++; + } + +} + +void YamlEmitter::serializeAddressbookPreference(MappingNode *map) +{ + std::string preferencestr("addressbook"); + + int preferenceid, preferencemapping; + + _debug("YamlEmitter: Serialize addressbook preferences"); + + if(map->getType() != MAPPING) + throw YamlEmitterException("Node type is not a mapping while writing preferences"); + + if((preferenceid = yaml_document_add_scalar(&document, NULL, (yaml_char_t *)preferencestr.c_str(), -1, YAML_PLAIN_SCALAR_STYLE)) == 0) + throw YamlEmitterException("Could not add scalar to document"); + + if((preferencemapping = yaml_document_add_mapping (&document, NULL, YAML_BLOCK_MAPPING_STYLE)) == 0) + throw YamlEmitterException("Could not add mapping to document"); + + if(!yaml_document_append_mapping_pair (&document, topLevelMapping, preferenceid, preferencemapping)) + throw YamlEmitterException("Could not add mapping pair to top leve mapping"); + + Mapping *internalmap = map->getMapping(); + Mapping::iterator iter = internalmap->begin(); + + while(iter != internalmap->end()) { + addMappingItem(preferencemapping, iter->first, iter->second); + iter++; + } + +} + +void YamlEmitter::serializeHooksPreference(MappingNode *map) +{ + std::string preferencestr("hooks"); + + int preferenceid, preferencemapping; + + _debug("YamlEmitter: Serialize hooks preferences"); + + if(map->getType() != MAPPING) + throw YamlEmitterException("Node type is not a mapping while writing preferences"); + + if((preferenceid = yaml_document_add_scalar(&document, NULL, (yaml_char_t *)preferencestr.c_str(), -1, YAML_PLAIN_SCALAR_STYLE)) == 0) + throw YamlEmitterException("Could not add scalar to document"); + + if((preferencemapping = yaml_document_add_mapping (&document, NULL, YAML_BLOCK_MAPPING_STYLE)) == 0) + throw YamlEmitterException("Could not add mapping to document"); + + if(!yaml_document_append_mapping_pair (&document, topLevelMapping, preferenceid, preferencemapping)) + throw YamlEmitterException("Could not add mapping pair to top leve mapping"); + + Mapping *internalmap = map->getMapping(); + Mapping::iterator iter = internalmap->begin(); + + while(iter != internalmap->end()) { + addMappingItem(preferencemapping, iter->first, iter->second); + iter++; + } + +} + + +void YamlEmitter::serializeAudioPreference(MappingNode *map) +{ + std::string preferencestr("audio"); + + int preferenceid, preferencemapping; + + _debug("YamlEmitter: Serialize hooks preferences"); + + if(map->getType() != MAPPING) + throw YamlEmitterException("Node type is not a mapping while writing preferences"); + + if((preferenceid = yaml_document_add_scalar(&document, NULL, (yaml_char_t *)preferencestr.c_str(), -1, YAML_PLAIN_SCALAR_STYLE)) == 0) + throw YamlEmitterException("Could not add scalar to document"); + + if((preferencemapping = yaml_document_add_mapping (&document, NULL, YAML_BLOCK_MAPPING_STYLE)) == 0) + throw YamlEmitterException("Could not add mapping to document"); + + if(!yaml_document_append_mapping_pair (&document, topLevelMapping, preferenceid, preferencemapping)) + throw YamlEmitterException("Could not add mapping pair to top leve mapping"); + + Mapping *internalmap = map->getMapping(); + Mapping::iterator iter = internalmap->begin(); + + while(iter != internalmap->end()) { + addMappingItem(preferencemapping, iter->first, iter->second); + iter++; + } + +} + + +void YamlEmitter::addMappingItem(int mappingid, Key key, YamlNode *node) +{ + + if(node->getType() == SCALAR) { + + int temp1, temp2; + + ScalarNode *sclr = (ScalarNode *)node; + + if((temp1 = yaml_document_add_scalar(&document, NULL, (yaml_char_t *)key.c_str(), -1, YAML_PLAIN_SCALAR_STYLE)) == 0) + throw YamlEmitterException("Could not add scalar to document"); + + if((temp2 = yaml_document_add_scalar(&document, NULL, (yaml_char_t *)sclr->getValue().c_str(), -1, YAML_PLAIN_SCALAR_STYLE)) == 0) + throw YamlEmitterException("Could not add scalar to document"); + + if(!yaml_document_append_mapping_pair (&document, mappingid, temp1, temp2)) + throw YamlEmitterException("Could not append mapping pair to mapping"); + + } + else if(node->getType() == MAPPING){ + + int temp1, temp2; + + if((temp1 = yaml_document_add_scalar(&document, NULL, (yaml_char_t *)key.c_str(), -1, YAML_PLAIN_SCALAR_STYLE)) == 0) + throw YamlEmitterException("Could not add scalar to document"); + + if((temp2 = yaml_document_add_mapping (&document, NULL, YAML_BLOCK_MAPPING_STYLE)) == 0) + throw YamlEmitterException("Could not add scalar to document"); + + if(!yaml_document_append_mapping_pair (&document, mappingid, temp1, temp2)) + throw YamlEmitterException("Could not add mapping pair to mapping"); + + MappingNode *map = (MappingNode *)node; + Mapping *internalmap = map->getMapping(); + Mapping::iterator iter = internalmap->begin(); + + while(iter != internalmap->end()) { + addMappingItem(temp2, iter->first, iter->second); + iter++; + } + } + else + throw YamlEmitterException("Unknown node type while adding mapping node"); +} + + +} diff --git a/sflphone-common/src/config/yamlemitter.h b/sflphone-common/src/config/yamlemitter.h new file mode 100755 index 0000000000000000000000000000000000000000..ddf098fdc9f43c45d08d24a2281108b628c66451 --- /dev/null +++ b/sflphone-common/src/config/yamlemitter.h @@ -0,0 +1,148 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#ifndef __YAMLEMITTER_H__ +#define __YAMLEMITTER_H__ + +#include <yaml.h> +#include <exception> +#include <string> +#include "yamlnode.h" + +namespace Conf { + +#define EMITTER_BUFFERSIZE 65536 +#define EMITTER_MAXEVENT 1024 + +class YamlEmitterException : public std::exception +{ + public: + YamlEmitterException(const std::string& str="") throw() : errstr(str) {} + + virtual ~YamlEmitterException() throw() {} + + virtual const char *what() const throw() { + std::string expt("YamlParserException occured: "); + expt.append(errstr); + + return expt.c_str(); + } + private: + std::string errstr; + +}; + +class YamlEmitter { + + public: + + YamlEmitter(const char *file); + + ~YamlEmitter(); + + void open(); + + void close(); + + void read(); + + void write(); + + void serializeAccount(MappingNode *map); + + void serializePreference(MappingNode *map); + + void serializeVoipPreference(MappingNode *map); + + void serializeAddressbookPreference(MappingNode *map); + + void serializeHooksPreference(MappingNode *map); + + void serializeAudioPreference(MappingNode *map); + + void writeAudio(); + + void writeHooks(); + + void writeVoiplink(); + + void serializeData(); + + private: + + void addMappingItem(int mappingid, Key key, YamlNode *node); + + std::string filename; + + FILE *fd; + + /** + * The parser structure. + */ + yaml_emitter_t emitter; + + /** + * The event structure array. + */ + yaml_event_t events[EMITTER_MAXEVENT]; + + /** + * + */ + unsigned char buffer[EMITTER_BUFFERSIZE]; + + + /** + * Main document for this serialization + */ + yaml_document_t document; + + /** + * Reference id to the top levell mapping when creating + */ + int topLevelMapping; + + /** + * We need to add the account sequence if this is the first account to be + */ + bool isFirstAccount; + + /** + * Reference to the account sequence + */ + int accountSequence; + + friend class ConfigurationTest; + +}; + +} + +#endif diff --git a/sflphone-common/src/plug-in/audiorecorder/audiodsp.cpp b/sflphone-common/src/config/yamlengine.cpp old mode 100644 new mode 100755 similarity index 64% rename from sflphone-common/src/plug-in/audiorecorder/audiodsp.cpp rename to sflphone-common/src/config/yamlengine.cpp index fb95d1a52cb4302c5daf89413921b9509b0e720b..30a2545bfdea02643916d02cbbef5565196335fa --- a/sflphone-common/src/plug-in/audiorecorder/audiodsp.cpp +++ b/sflphone-common/src/config/yamlengine.cpp @@ -28,53 +28,58 @@ * as that of the covered work. */ -#include "audiodsp.h" +#include "yamlengine.h" +#include "../global.h" -AudioDSP::AudioDSP() -{ - bufPointer_ = 0; - bufferLength_ = 1024; - circBuffer_ = new float[bufferLength_]; +namespace Conf { -} +YamlEngine::YamlEngine() {} +YamlEngine::~YamlEngine() {} -AudioDSP::~AudioDSP() +void YamlEngine::openConfigFile() { - delete[] circBuffer_; - + Conf::YamlParser *parser; + + try { + parser = new Conf::YamlParser("sequence.yml"); + } + catch (Conf::YamlParserException &e) { + _error("ConfigTree: %s", e.what()); + } + + try { + parser->serializeEvents(); + } + catch(Conf::YamlParserException &e) { + _error("ConfigTree: %s", e.what()); + } + + try { + document = parser->composeEvents(); + } + catch(Conf::YamlParserException &e) { + _error("ConfigTree: %s", e.what()); + } + + try { + delete parser; + parser = NULL; + } + catch (Conf::YamlParserException &e) { + _error("ConfigTree: %s", e.what()); + } } - -float AudioDSP::getRMS (int data) +void YamlEngine::closeConfigFile() { - // printf("AudioDSP::getRMS() : bufPointer_ %i ", bufPointer_); - printf ("AudioDSP::getRMS() : %i ", data); - circBuffer_[bufPointer_++] = (float) data; - - if (bufPointer_ >= bufferLength_) - bufPointer_ = 0; - - return computeRMS(); + } +void YamlEngine::read() {} -float AudioDSP::computeRMS() -{ - - rms = 0.0; - - - for (int i = 0; i < bufferLength_; i++) { - // printf("AudioDSP::computeRMS() : i_ %i ", i); - rms += (float) (circBuffer_[i]*circBuffer_[i]); - } - - rms = sqrt (rms / (float) bufferLength_); - - // printf("AudioDSP::computeRMS() : RMS VALUE: %f ", rms); - return rms; +void YamlEngine::write() {} } diff --git a/sflphone-common/src/plug-in/audiorecorder/audiodsp.h b/sflphone-common/src/config/yamlengine.h old mode 100644 new mode 100755 similarity index 69% rename from sflphone-common/src/plug-in/audiorecorder/audiodsp.h rename to sflphone-common/src/config/yamlengine.h index bc2279494cb68f422ac02822bd6cb620d233ca77..2997760bc2d96da4066c71e491e05f15ea083751 --- a/sflphone-common/src/plug-in/audiorecorder/audiodsp.h +++ b/sflphone-common/src/config/yamlengine.h @@ -28,56 +28,50 @@ * as that of the covered work. */ -#ifndef _AUDIO_DSP_H -#define _AUDIO_DSP_H - -#include <math.h> -#include <iostream> -#include <string.h> -#include <stdlib.h> -#include <sstream> - -class AudioDSP -{ - -public: - - AudioDSP(); - - ~AudioDSP(); - - /** - * Return rms value - */ - float getRMS(int data); - -protected: - - /** - * Compute Rms value - */ - float computeRMS(); - - /** - * Internal buffer pointer - */ - int bufPointer_; - - /** - * Internal buffer length - */ - int bufferLength_; - - /** - * Internal buffer to compute RMS - */ - float* circBuffer_; - - /** - * Variable to compute RMS value - */ - float rms; - +#ifndef __YAMLENGINE_H__ +#define __YAMLENGINE_H__ + +#include "engine.h" +#include "yamlnode.h" +#include "yamlparser.h" +#include "yamlemitter.h" +#include <exception> + +namespace Conf { + +class YamlEngineException : public std::exception { + + virtual const char *what() const throw() { + return "YamlEngineException occured"; + } +}; + +class YamlEngine : public Engine { + + public: + + YamlEngine(); + + ~YamlEngine(); + + virtual void openConfigFile(); + + virtual void closeConfigFile(); + + virtual void write(); + + virtual void read(); + + private: + + YamlParser *parser; + + YamlEmitter *emitter; + + YamlDocument *document; + }; -#endif // _AUDIO_DSP_H +} + +#endif diff --git a/sflphone-common/src/config/yamlnode.cpp b/sflphone-common/src/config/yamlnode.cpp new file mode 100755 index 0000000000000000000000000000000000000000..7a28a6cfa66bfd2545f7cb97b4d1e5cdf5eca1bc --- /dev/null +++ b/sflphone-common/src/config/yamlnode.cpp @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#include "yamlnode.h" +#include "src/global.h" + +namespace Conf { + + +void YamlDocument::addNode(YamlNode *node) +{ + Sequence::iterator it = doc.end(); + doc.insert(it, node); +} + +YamlNode *YamlDocument::popNode() +{ + Sequence::iterator it = doc.begin(); + YamlNode *node = doc.front(); + + //removed element's destructor is called + doc.pop_front(); + + return node; +} + +void MappingNode::addNode(YamlNode *node) +{ + Mapping::iterator it = map.end(); + map.insert(it, std::pair<Key, YamlNode *>(tmpKey, node)); +} + +void MappingNode::setKeyValue(Key key, YamlNode *value) +{ + Mapping::iterator it = map.end(); + map.insert(it, std::pair<Key, YamlNode *>(key, value)); +} + +void MappingNode::removeKeyValue(Key key) +{ + +Mapping::iterator it = map.find(key); + map.erase(it); +} + + +YamlNode *MappingNode::getValue(Key key) +{ + Mapping::iterator it = map.find(key); + + if(it != map.end()) { + return it->second; + } + else { + _debug("MappingNode: Could not find %s", key.c_str()); + return NULL; + } +} + + +void SequenceNode::addNode(YamlNode *node) +{ + Sequence::iterator it = seq.end(); + seq.insert(it, node); +} + +} + diff --git a/sflphone-common/src/config/yamlnode.h b/sflphone-common/src/config/yamlnode.h new file mode 100755 index 0000000000000000000000000000000000000000..e341b355038910426e5a47d1c9569582178d3563 --- /dev/null +++ b/sflphone-common/src/config/yamlnode.h @@ -0,0 +1,182 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#ifndef __YAMLNODE_H__ +#define __YAMLNODE_H__ + +#include <string> +#include <list> +#include <map> +#include <exception> + +namespace Conf { + + +class YamlNode; + +typedef std::string Key; +typedef std::string Value; +typedef std::list<YamlNode *> Sequence; +typedef std::map<Key, YamlNode *> Mapping; + +class YamlNodeException : public std::exception +{ + + public: + YamlNodeException(const std::string& str="") throw() : errstr(str) {} + + virtual ~YamlNodeException() throw() {} + + virtual const char *what() const throw() { + std::string expt("YamlNodeException occured: "); + expt.append(errstr); + + return expt.c_str(); + } + private: + std::string errstr; + +}; + +enum NodeType { DOCUMENT, SCALAR, MAPPING, SEQUENCE }; + +class YamlNode { + + public: + + YamlNode(NodeType t, YamlNode *top=NULL) : type(t), topNode(top) {} + + ~YamlNode() {} + + NodeType getType() { return type; } + + YamlNode *getTopNode() { return topNode; } + + private: + + NodeType type; + + YamlNode *topNode; + +}; + + +class YamlDocument : YamlNode { + + public: + + YamlDocument(YamlNode* top=NULL) : YamlNode(DOCUMENT, top) {} + + ~YamlDocument() {} + + void addNode(YamlNode *node); + + YamlNode *popNode(void); + + Sequence *getSequence(void) { return &doc; } + + private: + + Sequence doc; + + }; + +class SequenceNode : public YamlNode { + + public: + + SequenceNode(YamlNode *top) : YamlNode(SEQUENCE, top) {} + + ~SequenceNode() {} + + Sequence *getSequence() { return &seq; } + + void addNode(YamlNode *node); + + private: + + Sequence seq; + +}; + + +class MappingNode : public YamlNode { + + public: + + MappingNode(YamlNode *top) : YamlNode(MAPPING, top) {} + + ~MappingNode() {} + + Mapping *getMapping() { return ↦ } + + void addNode(YamlNode *node); + + void setTmpKey(Key key) { tmpKey = key; } + + void setKeyValue(Key key, YamlNode *value); + + void removeKeyValue(Key key); + + YamlNode *getValue(Key key); + + private: + + Mapping map; + + Key tmpKey; + +}; + + +class ScalarNode : public YamlNode { + + public: + + ScalarNode(Value v="", YamlNode *top=NULL) : YamlNode(SCALAR, top), val(v) {} + + ~ScalarNode() {} + + Value getValue() { return val; } + + void setValue(Value v) { val = v; } + + private: + + Value val; + +}; + + +} + + + +#endif diff --git a/sflphone-common/src/config/yamlparser.cpp b/sflphone-common/src/config/yamlparser.cpp new file mode 100644 index 0000000000000000000000000000000000000000..1274ddbf4dbac8b7756318d5bbfd4ddd6e3baecb --- /dev/null +++ b/sflphone-common/src/config/yamlparser.cpp @@ -0,0 +1,470 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#include "yamlparser.h" + +#include "../global.h" +#include "config.h" +#include "yamlnode.h" +#include <stdio.h> + +namespace Conf { + +YamlParser::YamlParser(const char *file) : filename(file) +{ + memset(buffer, 0, PARSER_BUFFERSIZE); + + open(); +} + +YamlParser::~YamlParser() +{ + close(); +} + +void YamlParser::open() +{ + + fd = fopen(filename.c_str(), "rb"); + + if(!fd) + throw YamlParserException("Could not open file descriptor"); + + if(!yaml_parser_initialize(&parser)) + throw YamlParserException("Could not open file descriptor"); + + yaml_parser_set_input_file(&parser, fd); +} + +void YamlParser::close() +{ + + yaml_parser_delete(&parser); + + if(!fd) + throw YamlParserException("File descriptor not valid"); + + fclose(fd); + // if(!fclose(fd)) + // throw YamlParserException("Error closing file descriptor"); + + +} + +void YamlParser::serializeEvents() +{ + bool done = false; + yaml_event_t event; + + while(!done) { + + if(!yaml_parser_parse(&parser, &event)) + throw YamlParserException("Error while parsing"); + + done = (event.type == YAML_STREAM_END_EVENT); + + if(eventNumber > PARSER_MAXEVENT) + throw YamlParserException("Reached maximum of event"); + + if(!copyEvent(&(events[eventNumber++]), &event)) + throw YamlParserException("Error copying event"); + + } +} + + +int YamlParser::copyEvent(yaml_event_t *event_to, yaml_event_t *event_from) +{ + + switch (event_from->type) { + case YAML_STREAM_START_EVENT: { + // _debug("YAML_STREAM_START_EVENT"); + return yaml_stream_start_event_initialize(event_to, + event_from->data.stream_start.encoding); + } + + case YAML_STREAM_END_EVENT: { + //_debug("YAML_STREAM_END_EVENT"); + return yaml_stream_end_event_initialize(event_to); + } + + case YAML_DOCUMENT_START_EVENT: { + // _debug("YAML_DOCUMENT_START_EVENT"); + return yaml_document_start_event_initialize(event_to, + event_from->data.document_start.version_directive, + event_from->data.document_start.tag_directives.start, + event_from->data.document_start.tag_directives.end, + event_from->data.document_start.implicit); + } + + case YAML_DOCUMENT_END_EVENT: { + // _debug("YAML_DOCUMENT_END_EVENT"); + return yaml_document_end_event_initialize(event_to, + event_from->data.document_end.implicit); + } + case YAML_ALIAS_EVENT:{ + // _debug("YAML_ALIAS_EVENT"); + return yaml_alias_event_initialize(event_to, + event_from->data.alias.anchor); + } + case YAML_SCALAR_EVENT: { + // _debug("YAML_SCALAR_EVENT"); + return yaml_scalar_event_initialize(event_to, + event_from->data.scalar.anchor, + event_from->data.scalar.tag, + event_from->data.scalar.value, + event_from->data.scalar.length, + event_from->data.scalar.plain_implicit, + event_from->data.scalar.quoted_implicit, + event_from->data.scalar.style); + } + case YAML_SEQUENCE_START_EVENT: { + // _debug("YAML_SEQUENCE_START_EVENT"); + return yaml_sequence_start_event_initialize(event_to, + event_from->data.sequence_start.anchor, + event_from->data.sequence_start.tag, + event_from->data.sequence_start.implicit, + event_from->data.sequence_start.style); + } + case YAML_SEQUENCE_END_EVENT: { + // _debug("YAML_SEQUENCE_END_EVENT"); + return yaml_sequence_end_event_initialize(event_to); + } + case YAML_MAPPING_START_EVENT: { + // _debug("YAML_MAPPING_START_EVENT"); + return yaml_mapping_start_event_initialize(event_to, + event_from->data.mapping_start.anchor, + event_from->data.mapping_start.tag, + event_from->data.mapping_start.implicit, + event_from->data.mapping_start.style); + } + case YAML_MAPPING_END_EVENT: { + // _debug("YAML_MAPPING_END_EVENT"); + return yaml_mapping_end_event_initialize(event_to); + + } + default: + assert(1); + + } + + return 0; +} + + +YamlDocument *YamlParser::composeEvents() { + + // _debug("YamlParser: Compose Events"); + + if(eventNumber == 0) + throw YamlParserException("No event available"); + + if(events[0].type != YAML_STREAM_START_EVENT) + throw YamlParserException("Parsing does not start with stream start"); + + eventIndex = 0; + + processStream(); + + return doc; +} + +void YamlParser::processStream () { + + // _debug("YamlParser: process stream"); + + while((eventIndex < eventNumber) && (events[eventIndex].type != YAML_STREAM_END_EVENT)) { + + if(events[eventIndex].type == YAML_DOCUMENT_START_EVENT) + processDocument(); + + eventIndex++; + } + + if(events[eventIndex].type != YAML_STREAM_END_EVENT) + throw YamlParserException("Did not found end of stream"); +} + + +void YamlParser::processDocument() +{ + // _debug("YamlParser: process document"); + + doc = new YamlDocument(); + + if(!doc) + throw YamlParserException("Not able to create new document"); + + while((eventIndex < eventNumber) && (events[eventIndex].type != YAML_DOCUMENT_END_EVENT)) { + + switch(events[eventIndex].type){ + case YAML_SCALAR_EVENT: + processScalar((YamlNode *)doc); + break; + case YAML_SEQUENCE_START_EVENT: + processSequence((YamlNode *)doc); + break; + case YAML_MAPPING_START_EVENT: + processMapping((YamlNode *)doc); + break; + default: + break; + } + + eventIndex++; + } + + if(events[eventIndex].type != YAML_DOCUMENT_END_EVENT) + throw YamlParserException("Did not found end of document"); + +} + + +void YamlParser::processScalar(YamlNode *topNode) +{ + + // _debug("YamlParser: process scalar"); + + if(!topNode) + throw YamlParserException("No container for scalar"); + + char buffer[1000]; + snprintf(buffer, 1000, "%s", events[eventIndex].data.scalar.value); + // _debug("and the scalar is: %s", buffer); + + ScalarNode *sclr = new ScalarNode(buffer, topNode); + + switch(topNode->getType()) { + case DOCUMENT: + ((YamlDocument *)(topNode))->addNode(sclr); + break; + case SEQUENCE: + ((SequenceNode *)(topNode))->addNode(sclr); + break; + case MAPPING: + ((MappingNode *)(topNode))->addNode(sclr); + case SCALAR: + default: + break; + } +} + + +void YamlParser::processSequence(YamlNode *topNode) +{ + _debug("YamlParser: process sequence"); + + if(!topNode) + throw YamlParserException("No container for sequence"); + + SequenceNode *seq = new SequenceNode(topNode); + + switch(topNode->getType()) { + case DOCUMENT: + ((YamlDocument *)(topNode))->addNode(seq); + break; + case SEQUENCE: + ((SequenceNode *)(topNode))->addNode(seq); + break; + case MAPPING: + ((MappingNode *)(topNode))->addNode(seq); + case SCALAR: + default: + break; + } + + eventIndex++; + + while((eventIndex < eventNumber) && (events[eventIndex].type != YAML_SEQUENCE_END_EVENT)) { + + switch(events[eventIndex].type){ + case YAML_SCALAR_EVENT: + processScalar(seq); + break; + case YAML_SEQUENCE_START_EVENT: + processSequence(seq); + break; + case YAML_MAPPING_START_EVENT: + processMapping(seq); + break; + default: + break; + } + + eventIndex++; + } + + if(events[eventIndex].type != YAML_SEQUENCE_END_EVENT) + throw YamlParserException("Did not found end of sequence"); +} + + +void YamlParser::processMapping(YamlNode *topNode) +{ + // _debug("YamlParser: process mapping"); + + if(!topNode) + throw YamlParserException("No container for mapping"); + + MappingNode *map = new MappingNode(topNode); + + switch(topNode->getType()) { + case DOCUMENT: + ((YamlDocument *)(topNode))->addNode(map); + break; + case SEQUENCE: + ((SequenceNode *)(topNode))->addNode(map); + break; + case MAPPING: + ((MappingNode *)(topNode))->addNode(map); + case SCALAR: + default: + break; + } + + eventIndex++; + + while((eventIndex < eventNumber) && (events[eventIndex].type != YAML_MAPPING_END_EVENT)) { + + if(events[eventIndex].type != YAML_SCALAR_EVENT) + throw YamlParserException("Mapping not followed by a key"); + + char buffer[1000]; + snprintf(buffer, 1000, "%s", events[eventIndex].data.scalar.value); + map->setTmpKey(Key(buffer)); + // _debug("KEY %s", buffer); + + eventIndex++; + + switch(events[eventIndex].type){ + case YAML_SCALAR_EVENT: + processScalar(map); + break; + case YAML_SEQUENCE_START_EVENT: + processSequence(map); + break; + case YAML_MAPPING_START_EVENT: + processMapping(map); + break; + default: + break; + } + + eventIndex++; + } + + if(events[eventIndex].type != YAML_MAPPING_END_EVENT) + throw YamlParserException("Did not found end of mapping"); +} + +void YamlParser::constructNativeData() { + + Sequence *seq; + + seq = doc->getSequence(); + + Sequence::iterator iter = seq->begin(); + + while(iter != seq->end()) { + + switch((*iter)->getType()){ + case SCALAR: + // _debug("construct scalar"); + throw YamlParserException("No scalar allowed at document level, expect a mapping"); + break; + case SEQUENCE: + // _debug("construct sequence"); + throw YamlParserException("No sequence allowed at document level, expect a mapping"); + break; + case MAPPING: { + // _debug("construct mapping"); + MappingNode *map = (MappingNode *)(*iter); + mainNativeDataMapping(map); + break; + } + default: + throw YamlParserException("Unknown type in configuration file, expect a mapping"); + break; + } + iter++; + + } + +} + + +void YamlParser::mainNativeDataMapping(MappingNode *map) { + + + Mapping::iterator iter = map->getMapping()->begin(); + + Key accounts("accounts"); + Key addressbook("addressbook"); + Key audio("audio"); + Key hooks("hooks"); + Key preferences("preferences"); + Key voiplink("voipPreferences"); + + while(iter != map->getMapping()->end()) { + + _debug("Iterating: %s", iter->first.c_str()); + if(accounts.compare(iter->first) == 0) { + _debug("YamlParser: Adding voip account preferences"); + accountSequence = (SequenceNode *)(iter->second); + } + else if(addressbook.compare(iter->first) == 0) { + _debug("YamlParser: Adding voip addressbook preference"); + addressbookSequence = (SequenceNode *)(iter->second); + } + else if(audio.compare(iter->first) == 0) { + _debug("YamlParser: Adding voip audio preference"); + audioSequence = (SequenceNode *)(iter->second); + } + else if(hooks.compare(iter->first) == 0) { + _debug("YamlParser: Adding voip hooks preference"); + hooksSequence = (SequenceNode *)(iter->second); + } + else if(preferences.compare(iter->first) == 0) { + _debug("YamlParser: Adding voip preference preference"); + preferenceSequence = (SequenceNode *)(iter->second); + } + else if(voiplink.compare(iter->first) == 0) { + _debug("YamlParser: Adding voip voip preference"); + voiplinkSequence = (SequenceNode *)(iter->second); + } + else + throw YamlParserException("Unknow map key in configuration"); + + iter++; + } + // _debug("Done"); +} + +} diff --git a/sflphone-common/src/config/yamlparser.h b/sflphone-common/src/config/yamlparser.h new file mode 100644 index 0000000000000000000000000000000000000000..5a3de72479f98e501e8acc84c1ef5407b9e9ccc6 --- /dev/null +++ b/sflphone-common/src/config/yamlparser.h @@ -0,0 +1,158 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#ifndef __YAMLPARSER_H__ +#define __YAMLPARSER_H__ + +#include "yamlnode.h" +#include <yaml.h> +#include <stdio.h> +#include <exception> +#include <string> + +namespace Conf { + +#define PARSER_BUFFERSIZE 65536 +#define PARSER_MAXEVENT 1024 + +class YamlParserException : public std::exception +{ + public: + YamlParserException(const std::string& str="") throw() : errstr(str) {} + + virtual ~YamlParserException() throw() {} + + virtual const char *what() const throw() { + std::string expt("YamlParserException occured: "); + expt.append(errstr); + + return expt.c_str(); + } + private: + std::string errstr; +}; + + +class YamlParser { + + public: + + YamlParser(const char *file); + + ~YamlParser(); + + void open(); + + void close(); + + void serializeEvents(); + + YamlDocument *composeEvents(); + + void constructNativeData(); + + SequenceNode *getAccountSequence(void) { return accountSequence; }; + + SequenceNode *getPreferenceSequence(void) { return preferenceSequence; } + + SequenceNode *getAddressbookSequence(void) { return addressbookSequence; } + + SequenceNode *getAudioSequence(void) { return audioSequence; } + + SequenceNode *getHookSequence(void) { return hooksSequence; } + + SequenceNode *getVoipPreferenceSequence(void) { return voiplinkSequence; } + + private: + + /** + * Copy yaml parser event in event_to according to their type. + */ + int copyEvent(yaml_event_t *event_to, yaml_event_t *event_from); + + void processStream(void); + + void processDocument(void); + + void processScalar(YamlNode *topNode); + + void processSequence(YamlNode *topNode); + + void processMapping(YamlNode *topNode); + + void mainNativeDataMapping(MappingNode *map); + + // void buildAccounts(SequenceNode *map); + + std::string filename; + + FILE *fd; + + /** + * The parser structure. + */ + yaml_parser_t parser; + + /** + * The event structure array. + */ + yaml_event_t events[PARSER_MAXEVENT]; + + /** + * + */ + unsigned char buffer[PARSER_BUFFERSIZE]; + + /** + * Number of event actually parsed + */ + int eventNumber; + + YamlDocument *doc; + + int eventIndex; + + SequenceNode *accountSequence; + + SequenceNode *preferenceSequence; + + SequenceNode *addressbookSequence; + + SequenceNode *audioSequence; + + SequenceNode *hooksSequence; + + SequenceNode *voiplinkSequence; + +}; + +} + +#endif diff --git a/sflphone-common/src/dbus/configurationmanager-introspec.xml b/sflphone-common/src/dbus/configurationmanager-introspec.xml old mode 100644 new mode 100755 index 12b26a0aeec72208d7f745ab2ee0fff6188a41df..20baa7de554395765935be09bf061d0bd43d2c2c --- a/sflphone-common/src/dbus/configurationmanager-introspec.xml +++ b/sflphone-common/src/dbus/configurationmanager-introspec.xml @@ -563,126 +563,79 @@ </arg> </method> - <!-- General Settings Panel --> - - <method name="isMd5CredentialHashing" tp:name-for-bindings="isMd5CredentialHashing"> - <tp:docstring> - </tp:docstring> - <arg type="b" name="res" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setMd5CredentialHashing" tp:name-for-bindings="setMd5CredentialHashing"> - <tp:docstring> - </tp:docstring> - <arg type="b" name="enabled" direction="in"> - <tp:docstring> + <method name="getEchoCancelState" tp:name-for-bindings="getEchoCancelState"> + <tp:docstring> + </tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> </tp:docstring> - </arg> + </arg> </method> - <method name="isIax2Enabled" tp:name-for-bindings="isIax2Enabled"> - <tp:docstring> + <method name="setEchoCancelState" tp:name-for-bindings="setEchoCancelState"> + <tp:docstring> </tp:docstring> - <arg type="i" name="res" direction="out"> - <tp:docstring> - </tp:docstring> + <arg type="s" name="state" direction="in"> </arg> </method> - <method name="setNotify" tp:name-for-bindings="setNotify"> - <tp:docstring> - </tp:docstring> - </method> - - <method name="getNotify" tp:name-for-bindings="getNotify"> - <tp:docstring> + <method name="getNoiseSuppressState" tp:name-for-bindings="getNoiseSuppressState"> + <tp:docstring> </tp:docstring> - <arg type="i" name="level" direction="out"> - <tp:docstring> + <arg type="s" name="state" direction="out"> + <tp:docstring> </tp:docstring> </arg> </method> - <method name="setMailNotify" tp:name-for-bindings="setMailNotify"> - <tp:docstring> - </tp:docstring> + <method name="setNoiseSuppressState" tp:name-for-binding="setNoiseSuppressState"> + <arg type="s" name="state" direction="in"> + </arg> </method> - <method name="getMailNotify" tp:name-for-bindings="getMailNotify"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="level" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> + <!-- General Settings Panel --> - <method name="getDialpad" tp:name-for-bindings="getDialpad"> + <method name="isMd5CredentialHashing" tp:name-for-bindings="isMd5CredentialHashing"> <tp:docstring> </tp:docstring> - <arg type="i" name="state" direction="out"> + <arg type="b" name="res" direction="out"> <tp:docstring> </tp:docstring> </arg> </method> - <method name="setDialpad" tp:name-for-bindings="setDialpad"> + <method name="setMd5CredentialHashing" tp:name-for-bindings="setMd5CredentialHashing"> <tp:docstring> </tp:docstring> - <arg type="b" name="display" direction="in"> + <arg type="b" name="enabled" direction="in"> <tp:docstring> </tp:docstring> </arg> </method> - <method name="getSearchbar" tp:name-for-bindings="getSearchbar"> + <method name="isIax2Enabled" tp:name-for-bindings="isIax2Enabled"> <tp:docstring> </tp:docstring> - <arg type="i" name="state" direction="out"> + <arg type="i" name="res" direction="out"> <tp:docstring> </tp:docstring> </arg> </method> - <method name="setSearchbar" tp:name-for-bindings="setSearchbar"> - <tp:docstring> - </tp:docstring> - </method> - - <method name="setHistoryEnabled" tp:name-for-bindings="setHistoryEnabled"> + <method name="setMailNotify" tp:name-for-bindings="setMailNotify"> <tp:docstring> </tp:docstring> </method> - <method name="getHistoryEnabled" tp:name-for-bindings="getHistoryEnabled"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="state" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="getVolumeControls" tp:name-for-bindings="getVolumeControls"> + <method name="getMailNotify" tp:name-for-bindings="getMailNotify"> <tp:docstring> </tp:docstring> - <arg type="i" name="state" direction="out"> + <arg type="i" name="level" direction="out"> <tp:docstring> </tp:docstring> </arg> </method> - <method name="setVolumeControls" tp:name-for-bindings="setVolumeControls"> - <tp:docstring> - </tp:docstring> - <arg type="b" name="display" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - </method> <method name="getHistoryLimit" tp:name-for-bindings="getHistoryLimit"> <tp:docstring> @@ -702,125 +655,6 @@ </arg> </method> - <method name="startHidden" tp:name-for-bindings="startHidden"> - <tp:docstring> - </tp:docstring> - </method> - - <method name="isStartHidden" tp:name-for-bindings="isStartHidden"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="state" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="popupMode" tp:name-for-bindings="popupMode"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="state" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="switchPopupMode" tp:name-for-bindings="switchPopupMode"> - <tp:docstring> - </tp:docstring> - </method> - - <method name="getWindowWidth" tp:name-for-bindings="getWindowWidth"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="width" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="getWindowHeight" tp:name-for-bindings="getWindowHeight"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="height" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setWindowWidth" tp:name-for-bindings="setWindowWidth"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="width" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setWindowHeight" tp:name-for-bindings="setWindowHeight"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="height" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="getWindowPositionX" tp:name-for-bindings="getWindowPositionX"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="posX" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setWindowPositionX" tp:name-for-bindings="setWindowPositionX"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="posX" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="getWindowPositionY" tp:name-for-bindings="getWindowPositionY"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="posY" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="setWindowPositionY" tp:name-for-bindings="setWindowPositionY"> - <tp:docstring> - </tp:docstring> - <arg type="i" name="posY" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="enableStatusIcon" tp:name-for-bindings="enableStatusIcon"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="value" direction="in"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <method name="isStatusIconEnabled" tp:name-for-bindings="isStatusIconEnabled"> - <tp:docstring> - </tp:docstring> - <arg type="s" name="value" direction="out"> - <tp:docstring> - </tp:docstring> - </arg> - </method> - - <!-- Addressbook configuration --> <method name="getAddressbookSettings" tp:name-for-bindings="getAddressbookSettings"> <tp:docstring> diff --git a/sflphone-common/src/dbus/configurationmanager.cpp b/sflphone-common/src/dbus/configurationmanager.cpp old mode 100644 new mode 100755 index f7e7f331807c8a632aa100269e9a123afe76c0e1..7369affa107eef7b4585246339a18ab2d3ca209a --- a/sflphone-common/src/dbus/configurationmanager.cpp +++ b/sflphone-common/src/dbus/configurationmanager.cpp @@ -35,6 +35,7 @@ #include <sstream> #include "../manager.h" #include "sip/sipvoiplink.h" +#include "sip/sipaccount.h" const char* ConfigurationManager::SERVER_PATH = "/org/sflphone/SFLphone/ConfigurationManager"; @@ -50,15 +51,18 @@ ConfigurationManager::ConfigurationManager(DBus::Connection& connection) : std::map<std::string, std::string> ConfigurationManager::getAccountDetails( const std::string& accountID) { - return Manager::instance().getAccountDetails(accountID); + + _debug("ConfigurationManager: get account details %s", accountID.c_str()); + return Manager::instance().getAccountDetails(accountID); } std::map<std::string, std::string> ConfigurationManager::getTlsSettingsDefault( void) { std::map<std::string, std::string> tlsSettingsDefault; + tlsSettingsDefault.insert(std::pair<std::string, std::string>( - TLS_LISTENER_PORT, DEFAULT_SIP_TLS_PORT)); + TLS_LISTENER_PORT, DEFAULT_SIP_TLS_PORT)); tlsSettingsDefault.insert(std::pair<std::string, std::string>( TLS_CA_LIST_FILE, "")); tlsSettingsDefault.insert(std::pair<std::string, std::string>( @@ -91,34 +95,24 @@ std::map<std::string, std::string> ConfigurationManager::getIp2IpDetails(void) { std::map<std::string, std::string> ip2ipAccountDetails; - ip2ipAccountDetails.insert(std::pair<std::string, std::string>(ACCOUNT_ID, - IP2IP_PROFILE)); - ip2ipAccountDetails.insert(std::pair<std::string, std::string>( - SRTP_KEY_EXCHANGE, Manager::instance().getConfigString( - IP2IP_PROFILE, SRTP_KEY_EXCHANGE))); - ip2ipAccountDetails.insert(std::pair<std::string, std::string>(SRTP_ENABLE, - Manager::instance().getConfigString(IP2IP_PROFILE, SRTP_ENABLE))); - ip2ipAccountDetails.insert(std::pair<std::string, std::string>( - SRTP_RTP_FALLBACK, Manager::instance().getConfigString( - IP2IP_PROFILE, SRTP_RTP_FALLBACK))); - ip2ipAccountDetails.insert(std::pair<std::string, std::string>( - ZRTP_DISPLAY_SAS, Manager::instance().getConfigString( - IP2IP_PROFILE, ZRTP_DISPLAY_SAS))); - ip2ipAccountDetails.insert(std::pair<std::string, std::string>( - ZRTP_HELLO_HASH, Manager::instance().getConfigString(IP2IP_PROFILE, - ZRTP_HELLO_HASH))); - ip2ipAccountDetails.insert(std::pair<std::string, std::string>( - ZRTP_NOT_SUPP_WARNING, Manager::instance().getConfigString( - IP2IP_PROFILE, ZRTP_NOT_SUPP_WARNING))); - ip2ipAccountDetails.insert(std::pair<std::string, std::string>( - ZRTP_DISPLAY_SAS_ONCE, Manager::instance().getConfigString( - IP2IP_PROFILE, ZRTP_DISPLAY_SAS_ONCE))); - - ip2ipAccountDetails.insert(std::pair<std::string, std::string>( - LOCAL_INTERFACE, Manager::instance().getConfigString(IP2IP_PROFILE, - LOCAL_INTERFACE))); - ip2ipAccountDetails.insert(std::pair<std::string, std::string>(LOCAL_PORT, - Manager::instance().getConfigString(IP2IP_PROFILE, LOCAL_PORT))); + SIPAccount *sipaccount = (SIPAccount *)Manager::instance().getAccount(IP2IP_PROFILE); + + if(!sipaccount) { + _error("ConfigurationManager: could not find account"); + return ip2ipAccountDetails; + } + + ip2ipAccountDetails.insert(std::pair<std::string, std::string>(ACCOUNT_ID, IP2IP_PROFILE)); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>(SRTP_KEY_EXCHANGE, sipaccount->getSrtpKeyExchange())); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>(SRTP_ENABLE, sipaccount->getSrtpEnable() ? "true" : "false")); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>(SRTP_RTP_FALLBACK, sipaccount->getSrtpFallback() ? "true" : "false")); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>(ZRTP_DISPLAY_SAS, sipaccount->getZrtpDisplaySas() ? "true" : "false")); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>(ZRTP_HELLO_HASH, sipaccount->getZrtpHelloHash() ? "true" : "false")); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>(ZRTP_NOT_SUPP_WARNING, sipaccount->getZrtpNotSuppWarning() ? "true" : "false")); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>(ZRTP_DISPLAY_SAS_ONCE, sipaccount->getZrtpDiaplaySasOnce() ? "true" : "false")); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>(LOCAL_INTERFACE, sipaccount->getLocalInterface())); + std::stringstream portstr; portstr << sipaccount->getLocalPort(); + ip2ipAccountDetails.insert(std::pair<std::string, std::string>(LOCAL_PORT, portstr.str())); std::map<std::string, std::string> tlsSettings; tlsSettings = getTlsSettings(IP2IP_PROFILE); @@ -134,66 +128,39 @@ void ConfigurationManager::setIp2IpDetails(const std::map<std::string, std::map<std::string, std::string> map_cpy = details; std::map<std::string, std::string>::iterator it; - it = map_cpy.find(LOCAL_INTERFACE); + SIPAccount *sipaccount = (SIPAccount *)Manager::instance().getAccount(IP2IP_PROFILE); - if (it != details.end()) { - Manager::instance().setConfig(IP2IP_PROFILE, LOCAL_INTERFACE, - it->second); + if(!sipaccount) { + _error("ConfigurationManager: could not find account"); } + - it = map_cpy.find(LOCAL_PORT); + it = map_cpy.find(LOCAL_INTERFACE); + if (it != details.end()) sipaccount->setLocalInterface(it->second); - if (it != details.end()) { - Manager::instance().setConfig(IP2IP_PROFILE, LOCAL_PORT, it->second); - } + it = map_cpy.find(LOCAL_PORT); + if (it != details.end()) sipaccount->setLocalPort(atoi(it->second.data())); it = map_cpy.find(SRTP_ENABLE); - - if (it != details.end()) { - Manager::instance().setConfig(IP2IP_PROFILE, SRTP_ENABLE, it->second); - } + if (it != details.end()) sipaccount->setSrtpEnable((it->second == "true")); it = map_cpy.find(SRTP_RTP_FALLBACK); - - if (it != details.end()) { - Manager::instance().setConfig(IP2IP_PROFILE, SRTP_RTP_FALLBACK, - it->second); - } + if (it != details.end()) sipaccount->setSrtpFallback((it->second == "true")); it = map_cpy.find(SRTP_KEY_EXCHANGE); - - if (it != details.end()) { - Manager::instance().setConfig(IP2IP_PROFILE, SRTP_KEY_EXCHANGE, - it->second); - } + if (it != details.end()) sipaccount->setSrtpKeyExchange(it->second); it = map_cpy.find(ZRTP_DISPLAY_SAS); - - if (it != details.end()) { - Manager::instance().setConfig(IP2IP_PROFILE, ZRTP_DISPLAY_SAS, - it->second); - } + if (it != details.end()) sipaccount->setZrtpDisplaySas((it->second == "true")); it = map_cpy.find(ZRTP_NOT_SUPP_WARNING); - - if (it != details.end()) { - Manager::instance().setConfig(IP2IP_PROFILE, ZRTP_NOT_SUPP_WARNING, - it->second); - } + if (it != details.end()) sipaccount->setZrtpNotSuppWarning((it->second == "true")); it = map_cpy.find(ZRTP_HELLO_HASH); - - if (it != details.end()) { - Manager::instance().setConfig(IP2IP_PROFILE, ZRTP_HELLO_HASH, - it->second); - } + if (it != details.end()) sipaccount->setZrtpHelloHash((it->second == "true")); it = map_cpy.find(ZRTP_DISPLAY_SAS_ONCE); - - if (it != details.end()) { - Manager::instance().setConfig(IP2IP_PROFILE, ZRTP_DISPLAY_SAS_ONCE, - it->second); - } + if (it != details.end()) sipaccount->setZrtpDiaplaySasOnce((it->second == "true")); setTlsSettings(IP2IP_PROFILE, details); @@ -209,129 +176,84 @@ void ConfigurationManager::setIp2IpDetails(const std::map<std::string, std::map<std::string, std::string> ConfigurationManager::getTlsSettings( const std::string& section) { + std::map<std::string, std::string> tlsSettings; - tlsSettings.insert(std::pair<std::string, std::string>(TLS_LISTENER_PORT, - Manager::instance().getConfigString(section, TLS_LISTENER_PORT))); - tlsSettings.insert(std::pair<std::string, std::string>(TLS_ENABLE, - Manager::instance().getConfigString(section, TLS_ENABLE))); - tlsSettings.insert(std::pair<std::string, std::string>(TLS_CA_LIST_FILE, - Manager::instance().getConfigString(section, TLS_CA_LIST_FILE))); - tlsSettings.insert(std::pair<std::string, std::string>( - TLS_CERTIFICATE_FILE, Manager::instance().getConfigString(section, - TLS_CERTIFICATE_FILE))); - tlsSettings.insert(std::pair<std::string, std::string>( - TLS_PRIVATE_KEY_FILE, Manager::instance().getConfigString(section, - TLS_PRIVATE_KEY_FILE))); - tlsSettings.insert(std::pair<std::string, std::string>(TLS_PASSWORD, - Manager::instance().getConfigString(section, TLS_PASSWORD))); - tlsSettings.insert(std::pair<std::string, std::string>(TLS_METHOD, - Manager::instance().getConfigString(section, TLS_METHOD))); - tlsSettings.insert(std::pair<std::string, std::string>(TLS_CIPHERS, - Manager::instance().getConfigString(section, TLS_CIPHERS))); - tlsSettings.insert(std::pair<std::string, std::string>(TLS_SERVER_NAME, - Manager::instance().getConfigString(section, TLS_SERVER_NAME))); - tlsSettings.insert(std::pair<std::string, std::string>(TLS_VERIFY_SERVER, - Manager::instance().getConfigString(section, TLS_VERIFY_SERVER))); - tlsSettings.insert(std::pair<std::string, std::string>(TLS_VERIFY_CLIENT, - Manager::instance().getConfigString(section, TLS_VERIFY_CLIENT))); - tlsSettings.insert(std::pair<std::string, std::string>( - TLS_REQUIRE_CLIENT_CERTIFICATE, - Manager::instance().getConfigString(section, - TLS_REQUIRE_CLIENT_CERTIFICATE))); - tlsSettings.insert(std::pair<std::string, std::string>( - TLS_NEGOTIATION_TIMEOUT_SEC, Manager::instance().getConfigString( - section, TLS_NEGOTIATION_TIMEOUT_SEC))); - tlsSettings.insert(std::pair<std::string, std::string>( - TLS_NEGOTIATION_TIMEOUT_MSEC, Manager::instance().getConfigString( - section, TLS_NEGOTIATION_TIMEOUT_MSEC))); + SIPAccount *sipaccount = (SIPAccount *)Manager::instance().getAccount(IP2IP_PROFILE); + + if(!sipaccount) + return tlsSettings; + + std::stringstream portstr; portstr << sipaccount->getTlsListenerPort(); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_LISTENER_PORT, portstr.str())); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_ENABLE, sipaccount->getTlsEnable())); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_CA_LIST_FILE, sipaccount->getTlsCaListFile())); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_CERTIFICATE_FILE, sipaccount->getTlsCertificateFile())); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_PRIVATE_KEY_FILE, sipaccount->getTlsPrivateKeyFile())); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_PASSWORD, sipaccount->getTlsPassword())); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_METHOD, sipaccount->getTlsMethod())); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_CIPHERS, sipaccount->getTlsCiphers())); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_SERVER_NAME, sipaccount->getTlsServerName())); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_VERIFY_SERVER, sipaccount->getTlsVerifyServer() ? "true" : "false")); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_VERIFY_CLIENT, sipaccount->getTlsVerifyClient() ? "true" : "false")); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_REQUIRE_CLIENT_CERTIFICATE, sipaccount->getTlsRequireClientCertificate() ? "true" : "false")); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_NEGOTIATION_TIMEOUT_SEC, sipaccount->getTlsNegotiationTimeoutSec())); + tlsSettings.insert(std::pair<std::string, std::string>(TLS_NEGOTIATION_TIMEOUT_MSEC, sipaccount->getTlsNegotiationTimeoutMsec())); + return tlsSettings; } void ConfigurationManager::setTlsSettings(const std::string& section, const std::map<std::string, std::string>& details) { + std::map<std::string, std::string> map_cpy = details; std::map<std::string, std::string>::iterator it; - it = map_cpy.find(TLS_LISTENER_PORT); - if (it != details.end()) { - Manager::instance().setConfig(section, TLS_LISTENER_PORT, it->second); + SIPAccount * sipaccount = (SIPAccount *)Manager::instance().getAccount(IP2IP_PROFILE); + + if(!sipaccount) { + _debug("ConfigurationManager: Error: No valid account in set TLS settings"); + return; } - it = map_cpy.find(TLS_ENABLE); + it = map_cpy.find(TLS_LISTENER_PORT); + if (it != details.end()) sipaccount->setTlsListenerPort(atoi(it->second.data())); - if (it != details.end()) { - Manager::instance().setConfig(section, TLS_ENABLE, it->second); - } + it = map_cpy.find(TLS_ENABLE); + if (it != details.end()) sipaccount->setTlsEnable(it->second); it = map_cpy.find(TLS_CA_LIST_FILE); - - if (it != map_cpy.end()) { - Manager::instance().setConfig(section, TLS_CA_LIST_FILE, it->second); - } + if (it != map_cpy.end()) sipaccount->setTlsCaListFile(it->second); it = map_cpy.find(TLS_CERTIFICATE_FILE); - - if (it != map_cpy.end()) { - Manager::instance().setConfig(section, TLS_CERTIFICATE_FILE, it->second); - } + if (it != map_cpy.end()) sipaccount->setTlsCertificateFile(it->second); it = map_cpy.find(TLS_PRIVATE_KEY_FILE); - - if (it != map_cpy.end()) { - Manager::instance().setConfig(section, TLS_PRIVATE_KEY_FILE, it->second); - } + if (it != map_cpy.end()) sipaccount->setTlsPrivateKeyFile(it->second); it = map_cpy.find(TLS_PASSWORD); - - if (it != map_cpy.end()) { - Manager::instance().setConfig(section, TLS_PASSWORD, it->second); - } + if (it != map_cpy.end()) sipaccount->setTlsPassword(it->second); it = map_cpy.find(TLS_METHOD); - - if (it != map_cpy.end()) { - Manager::instance().setConfig(section, TLS_METHOD, it->second); - } + if (it != map_cpy.end()) sipaccount->setTlsMethod(it->second); it = map_cpy.find(TLS_CIPHERS); - - if (it != map_cpy.end()) { - Manager::instance().setConfig(section, TLS_CIPHERS, it->second); - } + if (it != map_cpy.end()) sipaccount->setTlsCiphers(it->second); it = map_cpy.find(TLS_SERVER_NAME); - - if (it != map_cpy.end()) { - Manager::instance().setConfig(section, TLS_SERVER_NAME, it->second); - } + if (it != map_cpy.end()) sipaccount->setTlsServerName(it->second); it = map_cpy.find(TLS_VERIFY_CLIENT); - - if (it != map_cpy.end()) { - Manager::instance().setConfig(section, TLS_VERIFY_CLIENT, it->second); - } + if (it != map_cpy.end()) sipaccount->setTlsVerifyClient((it->second == "true") ? true : false); it = map_cpy.find(TLS_REQUIRE_CLIENT_CERTIFICATE); - - if (it != map_cpy.end()) { - Manager::instance().setConfig(section, TLS_REQUIRE_CLIENT_CERTIFICATE, - it->second); - } + if (it != map_cpy.end()) sipaccount->setTlsRequireClientCertificate((it->second == "true") ? true : false); it = map_cpy.find(TLS_NEGOTIATION_TIMEOUT_SEC); - - if (it != map_cpy.end()) { - Manager::instance().setConfig(section, TLS_NEGOTIATION_TIMEOUT_SEC, - it->second); - } + if (it != map_cpy.end()) sipaccount->setTlsNegotiationTimeoutSec(it->second); it = map_cpy.find(TLS_NEGOTIATION_TIMEOUT_MSEC); - - if (it != map_cpy.end()) { - Manager::instance().setConfig(section, TLS_NEGOTIATION_TIMEOUT_MSEC, - it->second); - } + if (it != map_cpy.end()) sipaccount->setTlsNegotiationTimeoutMsec(it->second); Manager::instance().saveConfig(); @@ -343,42 +265,55 @@ void ConfigurationManager::setTlsSettings(const std::string& section, std::map<std::string, std::string> ConfigurationManager::getCredential( const std::string& accountID, const int32_t& index) { - std::string credentialIndex; - std::stringstream streamOut; - streamOut << index; - credentialIndex = streamOut.str(); - - std::string section = std::string("Credential") + std::string(":") - + accountID + std::string(":") + credentialIndex; + Account *account = Manager::instance().getAccount(accountID); std::map<std::string, std::string> credentialInformation; - std::string username = Manager::instance().getConfigString(section, - USERNAME); - std::string password = Manager::instance().getConfigString(section, - PASSWORD); - std::string realm = Manager::instance().getConfigString(section, REALM); - - credentialInformation.insert(std::pair<std::string, std::string>(USERNAME, - username)); - credentialInformation.insert(std::pair<std::string, std::string>(PASSWORD, - password)); - credentialInformation.insert(std::pair<std::string, std::string>(REALM, - realm)); + + if(account->getType() != "SIP") + return credentialInformation; + + SIPAccount *sipaccount = (SIPAccount *)account; + + + if(index == 0) { + std::string username = sipaccount->getUsername(); + std::string password = sipaccount->getPassword(); + std::string realm = sipaccount->getRealm(); + + credentialInformation.insert(std::pair<std::string, std::string>(USERNAME, username)); + credentialInformation.insert(std::pair<std::string, std::string>(PASSWORD, password)); + credentialInformation.insert(std::pair<std::string, std::string>(REALM, realm)); + } + else { + + // TODO: implement for extra credentials + std::string username = sipaccount->getUsername(); + std::string password = sipaccount->getPassword(); + std::string realm = sipaccount->getRealm(); + + credentialInformation.insert(std::pair<std::string, std::string>(USERNAME, username)); + credentialInformation.insert(std::pair<std::string, std::string>(PASSWORD, password)); + credentialInformation.insert(std::pair<std::string, std::string>(REALM, realm)); + } return credentialInformation; } int32_t ConfigurationManager::getNumberOfCredential( const std::string& accountID) { - return Manager::instance().getConfigInt(accountID, CONFIG_CREDENTIAL_NUMBER); + + SIPAccount *sipaccount = (SIPAccount *)Manager::instance().getAccount(accountID); + return sipaccount->getCredentialCount(); } void ConfigurationManager::setNumberOfCredential(const std::string& accountID, const int32_t& number) { - if (accountID != AccountNULL || !accountID.empty()) { - Manager::instance().setConfig(accountID, CONFIG_CREDENTIAL_NUMBER, - number); - } + /* + if (accountID != AccountNULL || !accountID.empty()) { + SIPAccount *sipaccount = (SIPAccount *)Manager::instance().getAccount(accountID); + sipaccount->setCredentialCount(number); + } + */ } void ConfigurationManager::setCredential(const std::string& accountID, @@ -439,8 +374,7 @@ std::vector<std::string> ConfigurationManager::getCodecList(void) { std::vector<std::string> list; - CodecsMap codecs = - Manager::instance().getCodecDescriptorMap().getCodecsMap(); + CodecsMap codecs = Manager::instance().getCodecDescriptorMap().getCodecsMap(); CodecsMap::iterator iter = codecs.begin(); while (iter != codecs.end()) { @@ -568,6 +502,22 @@ std::string ConfigurationManager::getCurrentAudioOutputPlugin(void) { return Manager::instance().getCurrentAudioOutputPlugin(); } +std::string ConfigurationManager::getEchoCancelState(void) { + return Manager::instance().getEchoCancelState(); +} + +void ConfigurationManager::setEchoCancelState(const std::string& state) { + Manager::instance().setEchoCancelState(state); +} + +std::string ConfigurationManager::getNoiseSuppressState(void) { + return Manager::instance().getNoiseSuppressState(); +} + +void ConfigurationManager::setNoiseSuppressState(const std::string& state) { + Manager::instance().setNoiseSuppressState(state); +} + std::vector<std::string> ConfigurationManager::getPlaybackDeviceList() { std::vector<std::string> ret; return ret; @@ -580,17 +530,11 @@ std::vector<std::string> ConfigurationManager::getRecordDeviceList() { } bool ConfigurationManager::isMd5CredentialHashing(void) { - bool isEnabled = Manager::instance().getConfigBool(PREFERENCES, - CONFIG_MD5HASH); - return isEnabled; + return Manager::instance().preferences.getMd5Hash(); } void ConfigurationManager::setMd5CredentialHashing(const bool& enabled) { - if (enabled) { - Manager::instance().setConfig(PREFERENCES, CONFIG_MD5HASH, TRUE_STR); - } else { - Manager::instance().setConfig(PREFERENCES, CONFIG_MD5HASH, FALSE_STR); - } + Manager::instance().preferences.setMd5Hash(enabled); } int32_t ConfigurationManager::isIax2Enabled(void) { @@ -621,6 +565,7 @@ void ConfigurationManager::setRecordPath(const std::string& recPath) { Manager::instance().setRecordPath(recPath); } +/* int32_t ConfigurationManager::getDialpad(void) { return Manager::instance().getDialpad(); } @@ -644,6 +589,7 @@ int32_t ConfigurationManager::getVolumeControls(void) { void ConfigurationManager::setVolumeControls(const bool& display) { Manager::instance().setVolumeControls(display); } +*/ int32_t ConfigurationManager::getHistoryLimit(void) { return Manager::instance().getHistoryLimit(); @@ -653,6 +599,7 @@ void ConfigurationManager::setHistoryLimit(const int32_t& days) { Manager::instance().setHistoryLimit(days); } +/* void ConfigurationManager::setHistoryEnabled(void) { Manager::instance().setHistoryEnabled(); } @@ -684,6 +631,7 @@ void ConfigurationManager::setNotify(void) { int32_t ConfigurationManager::getNotify(void) { return Manager::instance().getNotify(); } +*/ void ConfigurationManager::setAudioManager(const int32_t& api) { Manager::instance().setAudioManager(api); @@ -776,45 +724,6 @@ std::vector<std::string> ConfigurationManager::getAllIpInterfaceByName(void) { return vector; } -int32_t ConfigurationManager::getWindowWidth(void) { - - return Manager::instance().getConfigInt(PREFERENCES, WINDOW_WIDTH); -} - -int32_t ConfigurationManager::getWindowHeight(void) { - - return Manager::instance().getConfigInt(PREFERENCES, WINDOW_HEIGHT); -} - -void ConfigurationManager::setWindowWidth(const int32_t& width) { - - Manager::instance().setConfig(PREFERENCES, WINDOW_WIDTH, width); -} - -void ConfigurationManager::setWindowHeight(const int32_t& height) { - - Manager::instance().setConfig(PREFERENCES, WINDOW_HEIGHT, height); -} - -int32_t ConfigurationManager::getWindowPositionX(void) { - - return Manager::instance().getConfigInt(PREFERENCES, WINDOW_POSITION_X); -} - -int32_t ConfigurationManager::getWindowPositionY(void) { - - return Manager::instance().getConfigInt(PREFERENCES, WINDOW_POSITION_Y); -} - -void ConfigurationManager::setWindowPositionX(const int32_t& posX) { - - Manager::instance().setConfig(PREFERENCES, WINDOW_POSITION_X, posX); -} - -void ConfigurationManager::setWindowPositionY(const int32_t& posY) { - - Manager::instance().setConfig(PREFERENCES, WINDOW_POSITION_Y, posY); -} std::map<std::string, std::string> ConfigurationManager::getShortcuts() { @@ -846,12 +755,3 @@ void ConfigurationManager::setShortcuts( Manager::instance().saveConfig(); } -void ConfigurationManager::enableStatusIcon (const std::string& value) { - - Manager::instance ().setConfig (PREFERENCES, SHOW_STATUSICON, value); -} - -std::string ConfigurationManager::isStatusIconEnabled (void) { - - return Manager::instance ().getConfigString (PREFERENCES, SHOW_STATUSICON); -} diff --git a/sflphone-common/src/dbus/configurationmanager.h b/sflphone-common/src/dbus/configurationmanager.h old mode 100644 new mode 100755 index ae9c8f04e2c384b2cb3a61307bc890b0883a8860..c767eee15face47b6af28275e1862f1e911caaa9 --- a/sflphone-common/src/dbus/configurationmanager.h +++ b/sflphone-common/src/dbus/configurationmanager.h @@ -86,6 +86,10 @@ public: std::vector< std::string > getCurrentAudioDevicesIndex(); int32_t getAudioDeviceIndex(const std::string& name); std::string getCurrentAudioOutputPlugin( void ); + std::string getEchoCancelState(void); + void setEchoCancelState(const std::string& state); + std::string getNoiseSuppressState(void); + void setNoiseSuppressState(const std::string& state); std::vector< std::string > getToneLocaleList( ); @@ -105,40 +109,14 @@ public: void setRingtoneChoice( const std::string& tone ); std::string getRecordPath( void ); void setRecordPath(const std::string& recPath ); - int32_t getDialpad( void ); - void setDialpad (const bool& display); - int32_t getSearchbar( void ); - - void setSearchbar( void ); + void setHistoryLimit( const int32_t& days); int32_t getHistoryLimit (void); - void setHistoryEnabled (void); - std::string getHistoryEnabled (void); - - int32_t getVolumeControls( void ); - void setVolumeControls (const bool& display); - int32_t isStartHidden( void ); - void startHidden( void ); - int32_t popupMode( void ); - void switchPopupMode( void ); - int32_t getNotify( void ); - void setNotify( void ); int32_t getMailNotify( void ); void setMailNotify( void ); - int32_t getWindowWidth (void); - int32_t getWindowHeight (void); - void setWindowWidth (const int32_t& width); - void setWindowHeight (const int32_t& height); - int32_t getWindowPositionX (void); - int32_t getWindowPositionY (void); - void setWindowPositionX (const int32_t& posX); - void setWindowPositionY (const int32_t& posY); - - void enableStatusIcon (const std::string&); - std::string isStatusIconEnabled (void); std::map<std::string, int32_t> getAddressbookSettings (void); void setAddressbookSettings (const std::map<std::string, int32_t>& settings); diff --git a/sflphone-common/src/eventthread.h b/sflphone-common/src/eventthread.h index aed9f5b5159052acb9cb776c94948798cf3cb384..eca20c22dc8c40ec39135eaf2539943f85373876 100644 --- a/sflphone-common/src/eventthread.h +++ b/sflphone-common/src/eventthread.h @@ -33,6 +33,7 @@ #include <cc++/thread.h> + class VoIPLink; class AlsaLayer; diff --git a/sflphone-common/src/iax/iaxaccount.cpp b/sflphone-common/src/iax/iaxaccount.cpp index 2c277cb0827ee138efb7e835d4362a188ba7d032..73c04ca0e57a85247d857cde180e7541bd669178 100644 --- a/sflphone-common/src/iax/iaxaccount.cpp +++ b/sflphone-common/src/iax/iaxaccount.cpp @@ -47,6 +47,151 @@ IAXAccount::~IAXAccount() _link = NULL; } +void IAXAccount::serialize(Conf::YamlEmitter *emitter) +{ + _debug("IaxAccount: serialize %s", _accountID.c_str()); + + Conf::MappingNode accountmap(NULL); + + Conf::ScalarNode id(Account::_accountID); + Conf::ScalarNode username(Account::_username); + Conf::ScalarNode password(Account::_password); + Conf::ScalarNode alias(Account::_alias); + Conf::ScalarNode hostname(Account::_hostname); + Conf::ScalarNode enable(_enabled ? "true" : "false"); + Conf::ScalarNode type(Account::_type); + Conf::ScalarNode mailbox("97"); + + Conf::ScalarNode codecs(_codecStr); + Conf::ScalarNode displayName(_displayName); + + accountmap.setKeyValue(aliasKey, &alias); + accountmap.setKeyValue(typeKey, &type); + accountmap.setKeyValue(idKey, &id); + accountmap.setKeyValue(usernameKey, &username); + accountmap.setKeyValue(passwordKey, &password); + accountmap.setKeyValue(hostnameKey, &hostname); + accountmap.setKeyValue(accountEnableKey, &enable); + accountmap.setKeyValue(mailboxKey, &mailbox); + + accountmap.setKeyValue(displayNameKey, &displayName); + accountmap.setKeyValue(codecsKey, &codecs); + + try{ + emitter->serializeAccount(&accountmap); + } + catch (Conf::YamlEmitterException &e) { + _error("ConfigTree: %s", e.what()); + } +} + +void IAXAccount::unserialize(Conf::MappingNode *map) +{ + Conf::ScalarNode *val; + + _debug("IaxAccount: Unserialize"); + + val = (Conf::ScalarNode *)(map->getValue(aliasKey)); + if(val) { _alias = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(typeKey)); + if(val) { _type = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(idKey)); + if(val) { _accountID = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(usernameKey)); + if(val) { _username = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(passwordKey)); + if(val) { _password = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(hostnameKey)); + if(val) { _hostname = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(accountEnableKey)); + if(val) { _enabled = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + // val = (Conf::ScalarNode *)(map->getValue(mailboxKey)); + + val = (Conf::ScalarNode *)(map->getValue(codecsKey)); + if(val) { _codecStr = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(displayNameKey)); + if(val) { _displayName = val->getValue(); val = NULL; } + +} + +void IAXAccount::setAccountDetails(const std::map<std::string, std::string>& details) +{ + std::map<std::string, std::string> map_cpy; + std::map<std::string, std::string>::iterator iter; + + _debug("IaxAccount: Set account details: %s", _accountID.c_str()); + + // Work on a copy + map_cpy = details; + + std::string alias; + std::string type; + std::string hostname; + std::string username; + std::string password; + std::string mailbox; + std::string accountEnable; + + std::string ua_name; + + // Account setting common to SIP and IAX + find_in_map(CONFIG_ACCOUNT_ALIAS, alias) + find_in_map(CONFIG_ACCOUNT_TYPE, type) + find_in_map(HOSTNAME, hostname) + find_in_map(USERNAME, username) + find_in_map(PASSWORD, password) + find_in_map(CONFIG_ACCOUNT_MAILBOX, mailbox); + find_in_map(CONFIG_ACCOUNT_ENABLE, accountEnable); + + setAlias(alias); + setType(type); + setUsername(username); + setHostname(hostname); + setPassword(password); + setEnabled((accountEnable.compare("true") == 0) ? true : false); + + std::string displayName; + find_in_map(DISPLAY_NAME, displayName) + setDisplayName(displayName); + + find_in_map(USERAGENT, ua_name) + setUseragent(ua_name); + +} + +std::map<std::string, std::string> IAXAccount::getAccountDetails() +{ + std::map<std::string, std::string> a; + + _debug("IaxAccount: get account details %s", _accountID.c_str()); + + a.insert(std::pair<std::string, std::string>(ACCOUNT_ID, _accountID)); + a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_ALIAS, getAlias())); + a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_ENABLE, isEnabled() ? "true" : "false")); + a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_TYPE, getType())); + a.insert(std::pair<std::string, std::string>(HOSTNAME, getHostname())); + a.insert(std::pair<std::string, std::string>(USERNAME, getUsername())); + a.insert(std::pair<std::string, std::string>(PASSWORD, getPassword())); + + RegistrationState state = Unregistered; + std::string registrationStateCode; + std::string registrationStateDescription; + + state = getRegistrationState(); + int code = getRegistrationStateDetailed().first; + std::stringstream out; out << code; + registrationStateCode = out.str(); + registrationStateDescription = getRegistrationStateDetailed().second; + + a.insert(std::pair<std::string, std::string>(REGISTRATION_STATUS, Manager::instance().mapStateNumberToString(state))); + a.insert(std::pair<std::string, std::string>(REGISTRATION_STATE_CODE, registrationStateCode)); + a.insert(std::pair<std::string, std::string>(REGISTRATION_STATE_DESCRIPTION, registrationStateDescription)); + a.insert(std::pair<std::string, std::string>(USERAGENT, getUseragent())); + + return a; +} + + void IAXAccount::setVoIPLink() { diff --git a/sflphone-common/src/iax/iaxaccount.h b/sflphone-common/src/iax/iaxaccount.h index 929f7af38a8fa391bc154c88fa05f72ce138cbec..1075dd70aba2b2eebfbc7a0ed453d17cd98875a7 100644 --- a/sflphone-common/src/iax/iaxaccount.h +++ b/sflphone-common/src/iax/iaxaccount.h @@ -44,6 +44,14 @@ class IAXAccount : public Account ~IAXAccount(); + virtual void serialize(Conf::YamlEmitter *emitter); + + virtual void unserialize(Conf::MappingNode *map); + + void setAccountDetails(const std::map<std::string, std::string>& details); + + std::map<std::string, std::string> getAccountDetails(); + void setVoIPLink (); /** diff --git a/sflphone-common/src/managerimpl.cpp b/sflphone-common/src/managerimpl.cpp old mode 100644 new mode 100755 index 34a8e7494c33a87aabb09e3529803fe687827e84..662c7f16462e24229e526a1f4a9bec41ac2d5280 --- a/sflphone-common/src/managerimpl.cpp +++ b/sflphone-common/src/managerimpl.cpp @@ -72,7 +72,8 @@ #define MD5_APPEND(pms,buf,len) pj_md5_update(pms, (const pj_uint8_t*)buf, len) -#define find_in_map(X, Y) if((iter = map_cpy.find(X)) != map_cpy.end()) { Y = iter->second; } +// Default account used to get default parametersa if requested by client (to build ne account) +SIPAccount defaultAccount("default"); ManagerImpl::ManagerImpl (void) : _hasTriedToRegister(false), _config(), _currentCallId2(), @@ -113,8 +114,12 @@ ManagerImpl::~ManagerImpl (void) { void ManagerImpl::init () { + _debug("Manager: Init"); + // Load accounts, init map - loadAccountMap(); + buildConfiguration(); + + _debug("Manager: account map loaded"); initVolume(); @@ -131,22 +136,19 @@ void ManagerImpl::init () { AudioLayer *audiolayer = getAudioDriver(); - if (audiolayer != 0) { + if (audiolayer) { unsigned int sampleRate = audiolayer->getSampleRate(); _debugInit ("Manager: Load telephone tone"); - std::string country = getConfigString(PREFERENCES, ZONE_TONE); + std::string country = preferences.getZoneToneChoice(); _telephoneTone = new TelephoneTone(country, sampleRate); _debugInit ("Manager: Loading DTMF key"); _dtmfKey = new DTMF(sampleRate); } - if (audiolayer == 0) - audiolayer->stopStream(); - // Load the history - _history->load_history(getConfigInt(PREFERENCES, CONFIG_HISTORY_LIMIT)); + _history->load_history(preferences.getHistoryLimit()); } void ManagerImpl::terminate () { @@ -214,11 +216,10 @@ bool ManagerImpl::outgoingCall (const std::string& account_id, CallID current_call_id = getCurrentCallId(); - if (getConfigString(HOOKS, PHONE_NUMBER_HOOK_ENABLED) == "1") - _cleaner->set_phone_number_prefix(getConfigString(HOOKS, - PHONE_NUMBER_HOOK_ADD_PREFIX)); + if(hookPreference.getNumberEnabled()) + _cleaner->set_phone_number_prefix(hookPreference.getNumberAddPrefix()); else - _cleaner->set_phone_number_prefix(""); + _cleaner->set_phone_number_prefix(""); to_cleaned = _cleaner->clean(to); @@ -625,7 +626,7 @@ bool ManagerImpl::transferCall (const CallID& call_id, const std::string& to) { AccountID accountid; bool returnValue; - _info("Manager: Transfer call %s\n", call_id.c_str()); + _info("Manager: Transfer call %s", call_id.c_str()); CallID current_call_id = getCurrentCallId(); @@ -1343,6 +1344,7 @@ void ManagerImpl::joinConference (const CallID& conf_id1, } void ManagerImpl::addStream (const CallID& call_id) { + _debug ("Manager: Add audio stream %s", call_id.c_str()); AccountID currentAccountId; @@ -1353,38 +1355,42 @@ void ManagerImpl::addStream (const CallID& call_id) { if (participToConference(call_id)) { - // bind to conference participant - ConferenceMap::iterator iter = _conferencemap.find(call->getConfId()); + _debug("Manager: Add stream to conference"); - if (iter != _conferencemap.end()) { - Conference* conf = iter->second; + // bind to conference participant + ConferenceMap::iterator iter = _conferencemap.find(call->getConfId()); - conf->bindParticipant(call_id); + if (iter != _conferencemap.end()) { + Conference* conf = iter->second; - ParticipantSet participants = conf->getParticipantList(); - // reset ring buffer for all conference participant - ParticipantSet::iterator iter_p = participants.begin(); + conf->bindParticipant(call_id); - while (iter_p != participants.end()) { + ParticipantSet participants = conf->getParticipantList(); + // reset ring buffer for all conference participant + ParticipantSet::iterator iter_p = participants.begin(); - // to avoid puting onhold the call - // switchCall(""); - _audiodriver->getMainBuffer()->flush(*iter_p); + while (iter_p != participants.end()) { - iter_p++; - } + // to avoid puting onhold the call + // switchCall(""); + _audiodriver->getMainBuffer()->flush(*iter_p); + + iter_p++; + } - _audiodriver->getMainBuffer()->flush(default_id); - } + _audiodriver->getMainBuffer()->flush(default_id); + } } else { - // bind to main - getAudioDriver()->getMainBuffer()->bindCallID(call_id); + _debug("Manager: Add stream to call"); - // _audiodriver->getMainBuffer()->flush(default_id); - _audiodriver->flushUrgent(); - _audiodriver->flushMain(); + // bind to main + getAudioDriver()->getMainBuffer()->bindCallID(call_id); + + // _audiodriver->getMainBuffer()->flush(default_id); + _audiodriver->flushUrgent(); + _audiodriver->flushMain(); } @@ -1407,11 +1413,41 @@ void ManagerImpl::removeStream (const CallID& call_id) { //THREAD=Main bool ManagerImpl::saveConfig (void) { - _debug ("Saving Configuration to XDG directory %s ... ", _path.c_str()); - setConfig(AUDIO, VOLUME_SPKR, getSpkrVolume()); - setConfig(AUDIO, VOLUME_MICRO, getMicVolume()); + _debug ("Manager: Saving Configuration to XDG directory %s ... ", _path.c_str()); + audioPreference.setVolumemic(getMicVolume()); + audioPreference.setVolumespkr(getSpkrVolume()); + + AccountMap::iterator iter = _accountMap.begin(); + + try{ + // emitter = new Conf::YamlEmitter("sequenceEmitter.yml"); + emitter = new Conf::YamlEmitter(_path.c_str()); - _setupLoaded = _config.saveConfigTree(_path.data()); + while(iter != _accountMap.end()) { + _debug("Manager: Saving account: %s", iter->first.c_str()); + if(iter->first == "") { + iter++; + continue; + } + iter->second->serialize(emitter); + iter++; + } + + preferences.serialize(emitter); + voipPreferences.serialize(emitter); + addressbookPreference.serialize(emitter); + hookPreference.serialize(emitter); + audioPreference.serialize(emitter); + + emitter->serializeData(); + + delete emitter; + } + catch (Conf::YamlEmitterException &e) { + _error("ConfigTree: %s", e.what()); + } + + // _setupLoaded = _config.saveConfigTree(_path.data()); return _setupLoaded; } @@ -1442,7 +1478,7 @@ bool ManagerImpl::playDtmf (char code) { stopTone(); - bool hasToPlayTone = getConfigBool(SIGNALISATION, PLAY_DTMF); + bool hasToPlayTone = voipPreferences.getPlayDtmf(); if (!hasToPlayTone) { _debug ("Manager: playDtmf: Do not have to play a tone..."); @@ -1450,7 +1486,7 @@ bool ManagerImpl::playDtmf (char code) { } // length in milliseconds - pulselen = getConfigInt(SIGNALISATION, PULSE_LENGTH); + pulselen = voipPreferences.getPulseLength(); if (!pulselen) { _debug ("Manager: playDtmf: Pulse length is not set..."); @@ -1775,6 +1811,9 @@ void ManagerImpl::startVoiceMessageNotification (const AccountID& accountId, } void ManagerImpl::connectionStatusNotification () { + + _debug("Manager: connectionStatusNotification"); + if (_dbus != NULL) { _dbus->getConfigurationManager()->accountsChanged(); } @@ -1790,7 +1829,7 @@ bool ManagerImpl::playATone (Tone::TONEID toneId) { // _debug ("Manager: Play tone %d", toneId); - hasToPlayTone = getConfigBool(SIGNALISATION, PLAY_TONES); + hasToPlayTone = voipPreferences.getPlayTones(); if (!hasToPlayTone) return false; @@ -1818,7 +1857,7 @@ bool ManagerImpl::playATone (Tone::TONEID toneId) { void ManagerImpl::stopTone () { bool hasToPlayTone; - hasToPlayTone = getConfigBool(SIGNALISATION, PLAY_TONES); + hasToPlayTone = voipPreferences.getPlayTones(); if (!hasToPlayTone) return; @@ -1881,7 +1920,7 @@ void ManagerImpl::ringtone () { //TODO Comment this because it makes the daemon crashes since the main thread //synchronizes the ringtone thread. - ringchoice = getConfigString(AUDIO, RING_CHOICE); + ringchoice = audioPreference.getRingchoice(); //if there is no / inside the path if (ringchoice.find(DIR_SEPARATOR_CH) == std::string::npos) { @@ -2004,7 +2043,7 @@ int ManagerImpl::createSettingsPath (void) { } // Load user's configuration - _path = _path + DIR_SEPARATOR_STR + PROGNAME + "rc"; + _path = _path + DIR_SEPARATOR_STR + PROGNAME + ".yml"; return 1; } @@ -2013,246 +2052,88 @@ int ManagerImpl::createSettingsPath (void) { * Initialization: Main Thread */ void ManagerImpl::initConfigFile (bool load_user_value, std::string alternate) { - _debug ("Manager: InitConfigFile"); - - // Default values, that will be overwritten by the call to - // 'populateFromFile' below. - - // Peer to peer settings - _config.addDefaultValue(std::pair<std::string, std::string>(SRTP_ENABLE, - FALSE_STR), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - SRTP_RTP_FALLBACK, FALSE_STR), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - SRTP_KEY_EXCHANGE, "1"), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - ZRTP_HELLO_HASH, TRUE_STR), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - ZRTP_DISPLAY_SAS, TRUE_STR), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - ZRTP_DISPLAY_SAS_ONCE, FALSE_STR), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - ZRTP_NOT_SUPP_WARNING, TRUE_STR), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - TLS_LISTENER_PORT, DEFAULT_SIP_TLS_PORT), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>(TLS_ENABLE, - FALSE_STR), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - TLS_CA_LIST_FILE, EMPTY_FIELD), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - TLS_CERTIFICATE_FILE, EMPTY_FIELD), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - TLS_PRIVATE_KEY_FILE, EMPTY_FIELD), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>(TLS_PASSWORD, - EMPTY_FIELD), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>(TLS_METHOD, - "TLSv1"), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>(TLS_CIPHERS, - EMPTY_FIELD), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - TLS_SERVER_NAME, EMPTY_FIELD), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - TLS_VERIFY_SERVER, TRUE_STR), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - TLS_VERIFY_CLIENT, TRUE_STR), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - TLS_REQUIRE_CLIENT_CERTIFICATE, TRUE_STR), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - TLS_NEGOTIATION_TIMEOUT_SEC, "2"), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - TLS_NEGOTIATION_TIMEOUT_MSEC, "0"), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - LOCAL_INTERFACE, "default"), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - PUBLISHED_SAMEAS_LOCAL, TRUE_STR), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>(LOCAL_PORT, - DEFAULT_SIP_PORT), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>(PUBLISHED_PORT, - DEFAULT_SIP_PORT), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - PUBLISHED_ADDRESS, DEFAULT_ADDRESS), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>(STUN_ENABLE, - DFT_STUN_ENABLE), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>(STUN_SERVER, - DFT_STUN_SERVER), IP2IP_PROFILE); - _config.addDefaultValue(std::pair<std::string, std::string>( - CONFIG_ACCOUNT_ALIAS, EMPTY_FIELD), IP2IP_PROFILE); + + _debug ("Manager: Init config file"); // Init display name to the username under which // this sflphone instance is running. - std::string diplayName(""); uid_t uid = getuid(); struct passwd * user_info = NULL; user_info = getpwuid(uid); - if (user_info != NULL) { - diplayName = user_info->pw_name; - } - - _config.addDefaultValue(std::pair<std::string, std::string>(DISPLAY_NAME, - diplayName), IP2IP_PROFILE); - - // Signalisation settings - _config.addDefaultValue(std::pair<std::string, std::string>(SYMMETRIC, - TRUE_STR), SIGNALISATION); - _config.addDefaultValue(std::pair<std::string, std::string>(PLAY_DTMF, - TRUE_STR), SIGNALISATION); - _config.addDefaultValue(std::pair<std::string, std::string>(PLAY_TONES, - TRUE_STR), SIGNALISATION); - _config.addDefaultValue(std::pair<std::string, std::string>(PULSE_LENGTH, - DFT_PULSE_LENGTH_STR), SIGNALISATION); - _config.addDefaultValue(std::pair<std::string, std::string>(SEND_DTMF_AS, - SIP_INFO_STR), SIGNALISATION); - _config.addDefaultValue(std::pair<std::string, std::string>(ZRTP_ZIDFILE, - ZRTP_ZID_FILENAME), SIGNALISATION); - - // Audio settings - _config.addDefaultValue(std::pair<std::string, std::string>( - ALSA_CARD_ID_IN, ALSA_DFT_CARD), AUDIO); - _config.addDefaultValue(std::pair<std::string, std::string>( - ALSA_CARD_ID_OUT, ALSA_DFT_CARD), AUDIO); - _config.addDefaultValue(std::pair<std::string, std::string>( - ALSA_CARD_ID_RING, ALSA_DFT_CARD), AUDIO); - _config.addDefaultValue(std::pair<std::string, std::string>( - AUDIO_SAMPLE_RATE, DFT_SAMPLE_RATE), AUDIO); - _config.addDefaultValue(std::pair<std::string, std::string>( - ALSA_FRAME_SIZE, DFT_FRAME_SIZE), AUDIO); - _config.addDefaultValue(std::pair<std::string, std::string>(ALSA_PLUGIN, - PCM_DEFAULT), AUDIO); - _config.addDefaultValue(std::pair<std::string, std::string>(RING_CHOICE, - DFT_RINGTONE), AUDIO); - _config.addDefaultValue(std::pair<std::string, std::string>(VOLUME_SPKR, - DFT_VOL_SPKR_STR), AUDIO); - _config.addDefaultValue(std::pair<std::string, std::string>(VOLUME_MICRO, - DFT_VOL_MICRO_STR), AUDIO); - _config.addDefaultValue(std::pair<std::string, std::string>(RECORD_PATH, - DFT_RECORD_PATH), AUDIO); - - // Pulseaudio stream device - _config.addDefaultValue(std::pair<std::string, std::string>(PULSE_DEVICE_PLAYBACK, ""), AUDIO); - _config.addDefaultValue(std::pair<std::string, std::string>(PULSE_DEVICE_RECORD, ""), AUDIO); - _config.addDefaultValue(std::pair<std::string, std::string>(PULSE_DEVICE_RINGTONE, ""), AUDIO); - - - // General settings - _config.addDefaultValue(std::pair<std::string, std::string>(ZONE_TONE, - DFT_ZONE), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>( - CONFIG_RINGTONE, TRUE_STR), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>(CONFIG_DIALPAD, - TRUE_STR), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>( - CONFIG_SEARCHBAR, TRUE_STR), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>(CONFIG_START, - FALSE_STR), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>(CONFIG_POPUP, - TRUE_STR), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>(CONFIG_NOTIFY, - TRUE_STR), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>( - CONFIG_MAIL_NOTIFY, FALSE_STR), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>(CONFIG_VOLUME, - TRUE_STR), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>( - CONFIG_HISTORY_LIMIT, DFT_HISTORY_LIMIT), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>( - CONFIG_HISTORY_ENABLED, TRUE_STR), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>(CONFIG_AUDIO, - DFT_AUDIO_MANAGER), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>( - CONFIG_SIP_PORT, DFT_SIP_PORT), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>( - CONFIG_ACCOUNTS_ORDER, EMPTY_FIELD), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>(CONFIG_MD5HASH, - FALSE_STR), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>(WINDOW_WIDTH, - DFT_WINDOW_WIDTH), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>(WINDOW_HEIGHT, - DFT_WINDOW_HEIGHT), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>( - WINDOW_POSITION_X, "0"), PREFERENCES); - _config.addDefaultValue(std::pair<std::string, std::string>( - WINDOW_POSITION_Y, "0"), PREFERENCES); - - // Addressbook settings - _config.addDefaultValue(std::pair<std::string, std::string>( - ADDRESSBOOK_ENABLE, TRUE_STR), ADDRESSBOOK); - _config.addDefaultValue(std::pair<std::string, std::string>( - ADDRESSBOOK_MAX_RESULTS, "25"), ADDRESSBOOK); - _config.addDefaultValue(std::pair<std::string, std::string>( - ADDRESSBOOK_DISPLAY_CONTACT_PHOTO, FALSE_STR), ADDRESSBOOK); - _config.addDefaultValue(std::pair<std::string, std::string>( - ADDRESSBOOK_DISPLAY_PHONE_BUSINESS, TRUE_STR), ADDRESSBOOK); - _config.addDefaultValue(std::pair<std::string, std::string>( - ADDRESSBOOK_DISPLAY_PHONE_HOME, FALSE_STR), ADDRESSBOOK); - _config.addDefaultValue(std::pair<std::string, std::string>( - ADDRESSBOOK_DISPLAY_PHONE_MOBILE, FALSE_STR), ADDRESSBOOK); - - // Hooks settings - _config.addDefaultValue(std::pair<std::string, std::string>( - URLHOOK_SIP_FIELD, HOOK_DEFAULT_SIP_FIELD), HOOKS); - _config.addDefaultValue(std::pair<std::string, std::string>( - URLHOOK_COMMAND, HOOK_DEFAULT_URL_COMMAND), HOOKS); - _config.addDefaultValue(std::pair<std::string, std::string>( - URLHOOK_SIP_ENABLED, FALSE_STR), HOOKS); - _config.addDefaultValue(std::pair<std::string, std::string>( - URLHOOK_IAX2_ENABLED, FALSE_STR), HOOKS); - _config.addDefaultValue(std::pair<std::string, std::string>( - PHONE_NUMBER_HOOK_ENABLED, FALSE_STR), HOOKS); - _config.addDefaultValue(std::pair<std::string, std::string>( - PHONE_NUMBER_HOOK_ADD_PREFIX, EMPTY_FIELD), HOOKS); - std::string path; - // Loads config from ~/.sflphone/sflphonedrc or so.. + // Loads config from ~/.sflphone/sflphoned.yml or so.. if (createSettingsPath() == 1 && load_user_value) { - (alternate == "") ? path = _path : path = alternate; - std::cout << path << std::endl; - _exist = _config.populateFromFile(path); - } - - // Globally shared default values (not to be populated from file) - _config.addDefaultValue(std::pair<std::string, std::string>(HOSTNAME, - EMPTY_FIELD)); - _config.addDefaultValue(std::pair<std::string, std::string>( - AUTHENTICATION_USERNAME, EMPTY_FIELD)); + (alternate == "") ? path = _path : path = alternate; + std::cout << path << std::endl; + _exist = _config.populateFromFile(path); + } + _debug("Manager: configuration file path: %s", path.c_str()); + - _config.addDefaultValue(std::pair<std::string, std::string>(USERNAME, - EMPTY_FIELD)); + bool fileExist = true; + bool out = false; + + if (path.empty()) { + _error("Manager: Error: XDG config file path is empty!"); + fileExist = false; + } - _config.addDefaultValue(std::pair<std::string, std::string>(PASSWORD, - EMPTY_FIELD)); + std::fstream file; - _config.addDefaultValue(std::pair<std::string, std::string>(REALM, - DEFAULT_REALM)); + file.open (path.data(), std::fstream::in); - _config.addDefaultValue(std::pair<std::string, std::string>(USERAGENT, - DFT_USERAGENT)); + if (!file.is_open()) { - _config.addDefaultValue(std::pair<std::string, std::string>( - CONFIG_ACCOUNT_REGISTRATION_EXPIRE, DFT_EXPIRE_VALUE)); + _debug("Manager: File %s not opened, create new one", path.c_str()); + file.open (path.data(), std::fstream::out); + out = true; - _config.addDefaultValue(std::pair<std::string, std::string>( - CONFIG_ACCOUNT_RESOLVE_ONCE, FALSE_STR)); + if (!file.is_open()) { + _error("Manager: Error: could not create empty configurationfile!"); + fileExist = false; + } - _config.addDefaultValue(std::pair<std::string, std::string>( - CONFIG_ACCOUNT_ALIAS, EMPTY_FIELD)); + file.close(); - _config.addDefaultValue(std::pair<std::string, std::string>( - CONFIG_ACCOUNT_MAILBOX, EMPTY_FIELD)); + fileExist = false; + } + + // get length of file: + file.seekg (0, std::ios::end); + int length = file.tellg(); + + file.seekg (0, std::ios::beg); - _config.addDefaultValue(std::pair<std::string, std::string>( - CONFIG_ACCOUNT_ENABLE, TRUE_STR)); + if (length <= 0) { + _debug("Manager: Configuration file length is empty", length); + file.close(); + fileExist = false; // should load config + } - _config.addDefaultValue(std::pair<std::string, std::string>( - CONFIG_CREDENTIAL_NUMBER, "0")); + if(fileExist) { + try { - _config.addDefaultValue(std::pair<std::string, std::string>( - CONFIG_ACCOUNT_TYPE, DEFAULT_ACCOUNT_TYPE)); + // parser = new Conf::YamlParser("sequenceParser.yml"); + parser = new Conf::YamlParser(_path.c_str()); + + parser->serializeEvents(); + + parser->composeEvents(); + + parser->constructNativeData(); - _setupLoaded = (_exist == 2) ? false : true; + _setupLoaded = true; + + _debug("Manager: Configuration file parsed successfully"); + } + catch (Conf::YamlParserException &e) { + _error("Manager: %s", e.what()); + } + } } /** @@ -2272,8 +2153,8 @@ void ManagerImpl::initAudioCodec (void) { */ std::vector<std::string> ManagerImpl::retrieveActiveCodecs () { - // This property is now set per account basis - std::string s = getConfigString(AUDIO, "ActiveCodecs"); + // This property is now set per account basis so we should remove it... + std::string s = ""; _info("Manager: Retrieve active codecs: %s", s.c_str ()); return unserialize(s); } @@ -2358,7 +2239,8 @@ void ManagerImpl::setOutputAudioPlugin (const std::string& audioPlugin) { // set config if (res) - setConfig(AUDIO, ALSA_PLUGIN, audioPlugin); + audioPreference.setPlugin(audioPlugin); + //setConig(AUDIO, ALSA_PLUGIN, audioPlugin); } /** @@ -2404,21 +2286,21 @@ void ManagerImpl::setAudioDevice (const int index, int streamType) { _audiodriver->openDevice(_audiodriver->getIndexIn(), index, _audiodriver->getIndexRing(), _audiodriver->getSampleRate(), _audiodriver->getFrameSize(), SFL_PCM_PLAYBACK, alsaplugin); - setConfig(AUDIO, ALSA_CARD_ID_OUT, index); + audioPreference.setCardout(index); break; case SFL_PCM_CAPTURE: _debug("Manager: Set input device"); _audiodriver->openDevice(index, _audiodriver->getIndexOut(), _audiodriver->getIndexRing(), _audiodriver->getSampleRate(), _audiodriver->getFrameSize(), SFL_PCM_CAPTURE, alsaplugin); - setConfig(AUDIO, ALSA_CARD_ID_IN, index); + audioPreference.setCardin(index); break; case SFL_PCM_RINGTONE: _debug("Manager: Set ringtone device"); _audiodriver->openDevice(_audiodriver->getIndexOut(), _audiodriver->getIndexOut(), index, _audiodriver->getSampleRate(), _audiodriver->getFrameSize(), SFL_PCM_RINGTONE, alsaplugin); - setConfig(AUDIO, ALSA_CARD_ID_RING, index); + audioPreference.setCardring(index); break; default: _warn("Unknown stream type"); @@ -2469,18 +2351,18 @@ int ManagerImpl::isIax2Enabled (void) { } int ManagerImpl::isRingtoneEnabled (void) { - return (getConfigString(PREFERENCES, CONFIG_RINGTONE) == "true") ? 1 : 0; + return preferences.getRingtoneEnabled() ? 1 : 0; } void ManagerImpl::ringtoneEnabled (void) { - (getConfigString(PREFERENCES, CONFIG_RINGTONE) == RINGTONE_ENABLED) ? setConfig( - PREFERENCES, CONFIG_RINGTONE, FALSE_STR) - : setConfig(PREFERENCES, CONFIG_RINGTONE, TRUE_STR); + + preferences.getRingtoneEnabled() ? preferences.setRingtoneEnabled(false) : preferences.setRingtoneEnabled(true); + } std::string ManagerImpl::getRingtoneChoice (void) { // we need the absolute path - std::string tone_name = getConfigString(AUDIO, RING_CHOICE); + std::string tone_name = audioPreference.getRingchoice(); std::string tone_path; if (tone_name.find(DIR_SEPARATOR_CH) == std::string::npos) { @@ -2499,84 +2381,41 @@ std::string ManagerImpl::getRingtoneChoice (void) { void ManagerImpl::setRingtoneChoice (const std::string& tone) { // we save the absolute path - setConfig(AUDIO, RING_CHOICE, tone); + audioPreference.setRingchoice(tone); } std::string ManagerImpl::getRecordPath (void) { - return getConfigString(AUDIO, RECORD_PATH); + return audioPreference.getRecordpath(); } void ManagerImpl::setRecordPath (const std::string& recPath) { _debug ("ManagerImpl::setRecordPath(%s)! ", recPath.c_str()); - setConfig(AUDIO, RECORD_PATH, recPath); + audioPreference.setRecordpath(recPath); } bool ManagerImpl::getMd5CredentialHashing (void) { - return getConfigBool(PREFERENCES, CONFIG_MD5HASH); + return preferences.getMd5Hash(); } -int ManagerImpl::getDialpad (void) { - if (getConfigString(PREFERENCES, CONFIG_DIALPAD) == TRUE_STR) { - return 1; - } else { - return 0; - } -} -void ManagerImpl::setDialpad (bool display) { - std::string set; - - display ? set = TRUE_STR : set = FALSE_STR; - // If the value we received is different from the one saved in the config file, save the new value - // Else do nothing - - if ((display && (getConfigString(PREFERENCES, CONFIG_DIALPAD) != TRUE_STR)) - || (!display && (getConfigString(PREFERENCES, CONFIG_DIALPAD) - != FALSE_STR))) - setConfig(PREFERENCES, CONFIG_DIALPAD, set); -} - -int ManagerImpl::getVolumeControls (void) { - if (getConfigString(PREFERENCES, CONFIG_VOLUME) == TRUE_STR) { - return 1; - } else { - return 0; - } -} - -void ManagerImpl::setVolumeControls (bool display) { - std::string set; - - display ? set = TRUE_STR : set = FALSE_STR; - // If the value we received is different from the one saved in the config file, save the new value - // Else do nothing - - if ((display && (getConfigString(PREFERENCES, CONFIG_VOLUME) != TRUE_STR)) - || (!display && (getConfigString(PREFERENCES, CONFIG_VOLUME) - != FALSE_STR))) - setConfig(PREFERENCES, CONFIG_VOLUME, set); -} void ManagerImpl::setRecordingCall (const CallID& id) { - /* - _debug ("ManagerImpl::setRecording()! "); - AccountID accountid = getAccountFromCall (id); - getAccountLink (accountid)->setRecording (id); - */ - AccountID accountid = getAccountFromCall(id); - Recordable* rec = (Recordable*) getAccountLink(accountid)->getCall(id); + Recordable* rec; + if(!isConference(id)) { + AccountID accountid = getAccountFromCall(id); + rec = (Recordable *) getAccountLink(accountid)->getCall(id); + } + else { + ConferenceMap::iterator it = _conferencemap.find(id); + rec = (Recordable *)it->second; + } + + rec->setRecording(); - rec->setRecording(); } bool ManagerImpl::isRecording (const CallID& id) { - /* - _debug ("ManagerImpl::isRecording()! "); - AccountID accountid = getAccountFromCall (id); - - return getAccountLink (accountid)->isRecording (id); - */ AccountID accountid = getAccountFromCall(id); Recordable* rec = (Recordable*) getAccountLink(accountid)->getCall(id); @@ -2584,66 +2423,21 @@ bool ManagerImpl::isRecording (const CallID& id) { return rec->isRecording(); } -void ManagerImpl::startHidden (void) { - (getConfigString(PREFERENCES, CONFIG_START) == START_HIDDEN) ? setConfig( - PREFERENCES, CONFIG_START, FALSE_STR) : setConfig(PREFERENCES, - CONFIG_START, TRUE_STR); -} - -int ManagerImpl::isStartHidden (void) { - return (getConfigBool(PREFERENCES, CONFIG_START) == true) ? 1 : 0; -} - -void ManagerImpl::switchPopupMode (void) { - (getConfigString(PREFERENCES, CONFIG_POPUP) == WINDOW_POPUP) ? setConfig( - PREFERENCES, CONFIG_POPUP, FALSE_STR) : setConfig(PREFERENCES, - CONFIG_POPUP, TRUE_STR); -} void ManagerImpl::setHistoryLimit (const int& days) { - setConfig(PREFERENCES, CONFIG_HISTORY_LIMIT, days); + preferences.setHistoryLimit(days); } int ManagerImpl::getHistoryLimit (void) { - return getConfigInt(PREFERENCES, CONFIG_HISTORY_LIMIT); -} - -std::string ManagerImpl::getHistoryEnabled (void) { - return getConfigString(PREFERENCES, CONFIG_HISTORY_ENABLED); -} - -void ManagerImpl::setHistoryEnabled (void) { - (getConfigString(PREFERENCES, CONFIG_HISTORY_ENABLED) == TRUE_STR) ? setConfig( - PREFERENCES, CONFIG_HISTORY_ENABLED, FALSE_STR) - : setConfig(PREFERENCES, CONFIG_HISTORY_ENABLED, TRUE_STR); -} - -int ManagerImpl::getSearchbar (void) { - return getConfigInt(PREFERENCES, CONFIG_SEARCHBAR); -} - -void ManagerImpl::setSearchbar (void) { - (getConfigInt(PREFERENCES, CONFIG_SEARCHBAR) == 1) ? setConfig(PREFERENCES, - CONFIG_SEARCHBAR, FALSE_STR) : setConfig(PREFERENCES, - CONFIG_SEARCHBAR, TRUE_STR); -} - -int ManagerImpl::popupMode (void) { - return (getConfigBool(PREFERENCES, CONFIG_POPUP) == true) ? 1 : 0; -} - -int32_t ManagerImpl::getNotify (void) { - return (getConfigBool(PREFERENCES, CONFIG_NOTIFY) == true) ? 1 : 0; + return preferences.getHistoryLimit(); } -void ManagerImpl::setNotify (void) { - (getConfigString(PREFERENCES, CONFIG_NOTIFY) == NOTIFY_ALL) ? setConfig( - PREFERENCES, CONFIG_NOTIFY, FALSE_STR) : setConfig(PREFERENCES, - CONFIG_NOTIFY, TRUE_STR); +int32_t ManagerImpl::getMailNotify (void) { + return preferences.getNotifyMails(); } -int32_t ManagerImpl::getMailNotify (void) { - return getConfigInt(PREFERENCES, CONFIG_MAIL_NOTIFY); +void ManagerImpl::setMailNotify (void) { + preferences.getNotifyMails() ? preferences.setNotifyMails(true) : preferences.setNotifyMails(false); } void ManagerImpl::setAudioManager (const int32_t& api) { @@ -2663,7 +2457,7 @@ void ManagerImpl::setAudioManager (const int32_t& api) { return; } - setConfig(PREFERENCES, CONFIG_AUDIO, api); + preferences.setAudioApi(api); switchAudioManager(); return; @@ -2671,14 +2465,9 @@ void ManagerImpl::setAudioManager (const int32_t& api) { } int32_t ManagerImpl::getAudioManager (void) { - return getConfigInt(PREFERENCES, CONFIG_AUDIO); + return preferences.getAudioApi(); } -void ManagerImpl::setMailNotify (void) { - (getConfigString(PREFERENCES, CONFIG_MAIL_NOTIFY) == NOTIFY_ALL) ? setConfig( - PREFERENCES, CONFIG_MAIL_NOTIFY, FALSE_STR) - : setConfig(PREFERENCES, CONFIG_MAIL_NOTIFY, TRUE_STR); -} void ManagerImpl::notifyErrClient (const int32_t& errCode) { if (_dbus) { @@ -2710,7 +2499,75 @@ std::string ManagerImpl::getCurrentAudioOutputPlugin (void) { if (alsalayer) return alsalayer -> getAudioPlugin(); else - return getConfigString(AUDIO, ALSA_PLUGIN); + return audioPreference.getPlugin(); +} + + +std::string ManagerImpl::getEchoCancelState(void) { + + // echo canceller is disabled by default + bool isEnabled = false; + + if(_audiodriver) { + isEnabled = _audiodriver->getEchoCancelState(); + } + + std::string state(""); + if(isEnabled) + state = "enabled"; + else + state = "disabled"; + + return state; +} + +void ManagerImpl::setEchoCancelState(std::string state) { + _debug("Manager: Set echo suppress state: %s", state.c_str()); + + bool isEnabled = false; + + if(state.compare("enabled") == 0) + isEnabled = true; + else + isEnabled = false; + + if(_audiodriver) { + _audiodriver->setEchoCancelState(isEnabled); + } +} + + +std::string ManagerImpl::getNoiseSuppressState(void) { + + // noise suppress disabled by default + bool isEnabled = false; + + if(_audiodriver) { + isEnabled = _audiodriver->getNoiseSuppressState(); + } + + std::string state(""); + if(isEnabled) + state = "enabled"; + else + state = "disabled"; + + return state; +} + +void ManagerImpl::setNoiseSuppressState(std::string state) { + _debug("Manager: Set noise suppress state: %s", state.c_str()); + + bool isEnabled = false; + + if(state.compare("enabled") == 0) + isEnabled = true; + else + isEnabled = false; + + if(_audiodriver) { + _audiodriver->setNoiseSuppressState(isEnabled); + } } int ManagerImpl::app_is_running (std::string process) { @@ -2729,16 +2586,17 @@ bool ManagerImpl::initAudioDriver (void) { _debugInit ("AudioLayer Creation"); - if (getConfigInt(PREFERENCES, CONFIG_AUDIO) == ALSA) { + if (preferences.getAudioApi() == ALSA) { _audiodriver = new AlsaLayer(this); _audiodriver->setMainBuffer(&_mainBuffer); - } else if (getConfigInt(PREFERENCES, CONFIG_AUDIO) == PULSEAUDIO) { + } + else if(preferences.getAudioApi() == PULSEAUDIO) { if (app_is_running("pulseaudio") == 0) { _audiodriver = new PulseLayer(this); _audiodriver->setMainBuffer(&_mainBuffer); } else { _audiodriver = new AlsaLayer(this); - setConfig(PREFERENCES, CONFIG_AUDIO, ALSA); + preferences.setAudioApi(ALSA); _audiodriver->setMainBuffer(&_mainBuffer); } } else @@ -2772,18 +2630,13 @@ void ManagerImpl::selectAudioDriver (void) { _debug ("Audio layer type: %i" , layer); /* Retrieve the global devices info from the user config */ - alsaPlugin = getConfigString(AUDIO, ALSA_PLUGIN); - numCardIn = getConfigInt(AUDIO, ALSA_CARD_ID_IN); - numCardOut = getConfigInt(AUDIO, ALSA_CARD_ID_OUT); - numCardRing = getConfigInt(AUDIO, ALSA_CARD_ID_RING); + alsaPlugin = audioPreference.getPlugin(); + numCardIn = audioPreference.getCardin(); + numCardOut = audioPreference.getCardout(); + numCardRing = audioPreference.getCardring(); - sampleRate = getConfigInt(AUDIO, AUDIO_SAMPLE_RATE); - - if (sampleRate <= 0 || sampleRate > 48000) { - sampleRate = 44100; - } - - frameSize = getConfigInt(AUDIO, ALSA_FRAME_SIZE); + sampleRate = _mainBuffer.getInternalSamplingRate(); + frameSize = audioPreference.getFramesize(); /* Only for the ALSA layer, we check the sound card information */ @@ -2793,19 +2646,19 @@ void ManagerImpl::selectAudioDriver (void) { if (!alsalayer -> soundCardIndexExist(numCardIn, SFL_PCM_CAPTURE)) { _debug (" Card with index %i doesn't exist or cannot capture. Switch to 0.", numCardIn); numCardIn = ALSA_DFT_CARD_ID; - setConfig(AUDIO, ALSA_CARD_ID_IN, ALSA_DFT_CARD_ID); + audioPreference.setCardin(ALSA_DFT_CARD_ID); } if (!alsalayer -> soundCardIndexExist(numCardOut, SFL_PCM_PLAYBACK)) { _debug (" Card with index %i doesn't exist or cannot playback. Switch to 0.", numCardOut); numCardOut = ALSA_DFT_CARD_ID; - setConfig(AUDIO, ALSA_CARD_ID_OUT, ALSA_DFT_CARD_ID); + audioPreference.setCardout(ALSA_DFT_CARD_ID); } if (!alsalayer->soundCardIndexExist(numCardRing, SFL_PCM_RINGTONE)) { _debug(" Card with index %i doesn't exist or cannot ringtone. Switch to 0.", numCardRing); numCardRing = ALSA_DFT_CARD_ID; - setConfig(AUDIO, ALSA_CARD_ID_RING, ALSA_DFT_CARD_ID); + audioPreference.setCardring(ALSA_DFT_CARD_ID); } } @@ -2814,6 +2667,7 @@ void ManagerImpl::selectAudioDriver (void) { /* Open the audio devices */ _audiodriver->openDevice(numCardIn, numCardOut, numCardRing, sampleRate, frameSize, SFL_PCM_BOTH, alsaPlugin); + /* Notify the error if there is one */ if (_audiodriver -> getErrorMessage() != -1) @@ -2832,16 +2686,16 @@ void ManagerImpl::switchAudioManager (void) { type = _audiodriver->getLayerType(); - samplerate = getConfigInt(AUDIO, AUDIO_SAMPLE_RATE); - framesize = getConfigInt(AUDIO, ALSA_FRAME_SIZE); + samplerate = _mainBuffer.getInternalSamplingRate(); + framesize = audioPreference.getFramesize(); - _debug ("Mnager: samplerate: %i, framesize %i\n", samplerate, framesize); + _debug ("Manager: samplerate: %i, framesize %i", samplerate, framesize); - alsaPlugin = getConfigString(AUDIO, ALSA_PLUGIN); + alsaPlugin = audioPreference.getPlugin(); - numCardIn = getConfigInt(AUDIO, ALSA_CARD_ID_IN); - numCardOut = getConfigInt(AUDIO, ALSA_CARD_ID_OUT); - numCardRing = getConfigInt(AUDIO, ALSA_CARD_ID_RING); + numCardIn = audioPreference.getCardin(); + numCardOut = audioPreference.getCardout(); + numCardRing = audioPreference.getCardring(); _debug ("Manager: Deleting current layer... "); @@ -2897,14 +2751,107 @@ void ManagerImpl::switchAudioManager (void) { // } } +void ManagerImpl::audioSamplingRateChanged (void) { + + int type, samplerate, framesize, numCardIn, numCardOut, numCardRing; + std::string alsaPlugin; + + _debug ("Manager: Audio Sampling Rate"); + + if (!_audiodriver) + return; + + type = _audiodriver->getLayerType(); + + samplerate = _mainBuffer.getInternalSamplingRate(); + framesize = audioPreference.getFramesize(); + + _debug ("Mnager: samplerate: %i, framesize %i", samplerate, framesize); + + alsaPlugin = audioPreference.getPlugin(); + + numCardIn = audioPreference.getCardin(); + numCardOut = audioPreference.getCardout(); + numCardRing = audioPreference.getCardring(); + + _debug ("Manager: Deleting current layer... "); + + // ost::MutexLock lock (*getAudioLayerMutex()); + getAudioLayerMutex()->enter(); + + // _audiodriver->closeLayer(); + delete _audiodriver; + + _audiodriver = NULL; + + switch (type) { + + case PULSEAUDIO: + _debug ("Manager: Creating Pulseaudio layer..."); + _audiodriver = new PulseLayer(this); + _audiodriver->setMainBuffer(&_mainBuffer); + break; + + case ALSA: + _debug ("Manager: Creating ALSA layer..."); + _audiodriver = new AlsaLayer(this); + _audiodriver->setMainBuffer(&_mainBuffer); + break; + + default: + _warn("Manager: Error: audio layer unknown"); + break; + } + + _audiodriver->setErrorMessage(-1); + + _audiodriver->openDevice(numCardIn, numCardOut, numCardRing, samplerate, framesize, + SFL_PCM_BOTH, alsaPlugin); + + if (_audiodriver -> getErrorMessage() != -1) + notifyErrClient(_audiodriver -> getErrorMessage()); + + _debug ("Manager: Current device: %i ", type); + _debug ("Manager: Has current call: %i ", hasCurrentCall()); + + if (_audiodriver) { + unsigned int sampleRate = _audiodriver->getSampleRate(); + + delete _telephoneTone; + + _debugInit ("Manager: Load telephone tone"); + std::string country = preferences.getZoneToneChoice(); + _telephoneTone = new TelephoneTone(country, sampleRate); + + + delete _dtmfKey; + + _debugInit ("Manager: Loading DTMF key"); + _dtmfKey = new DTMF(sampleRate); + } + + if (hasCurrentCall()) + _audiodriver->startStream(); + + // ost::MutexLock unlock (*getAudioLayerMutex()); + getAudioLayerMutex()->leave(); + + // need to stop audio streams if there is currently no call + // if ( (type != PULSEAUDIO) && (!hasCurrentCall())) { + // _debug("There is currently a call!!"); + // _audiodriver->stopStream(); + + // } +} + /** * Init the volume for speakers/micro from 0 to 100 value * Initialization: Main Thread */ void ManagerImpl::initVolume () { _debugInit ("Initiate Volume"); - setSpkrVolume(getConfigInt(AUDIO, VOLUME_SPKR)); - setMicVolume(getConfigInt(AUDIO, VOLUME_MICRO)); + setSpkrVolume(audioPreference.getVolumespkr()); + setMicVolume(audioPreference.getVolumemic()); } void ManagerImpl::setSpkrVolume (unsigned short spkr_vol) { @@ -2930,7 +2877,7 @@ void ManagerImpl::setMicVolume (unsigned short mic_vol) { int ManagerImpl::getLocalIp2IpPort (void) { // The SIP port used for default account (IP to IP) calls= - return getConfigInt(IP2IP_PROFILE, LOCAL_PORT); + return preferences.getPortNum(); } @@ -3091,7 +3038,7 @@ std::string ManagerImpl::getConfigString (const std::string& section, //THREAD=Main bool ManagerImpl::setConfig (const std::string& section, const std::string& name, const std::string& value) { - // _debug ("ManagerImpl::setConfig %s %s %s", section.c_str(), name.c_str(), value.c_str()); + return _config.setConfigTreeItem(section, name, value); } @@ -3104,9 +3051,10 @@ bool ManagerImpl::setConfig (const std::string& section, } void ManagerImpl::setAccountsOrder (const std::string& order) { - _debug ("Setcreate accounts order : %s", order.c_str()); + _debug ("Manager: Set accounts order : %s", order.c_str()); // Set the new config - setConfig(PREFERENCES, CONFIG_ACCOUNTS_ORDER, order); + + preferences.setAccountOrder(order); } std::vector<std::string> ManagerImpl::getAccountList () { @@ -3115,25 +3063,35 @@ std::vector<std::string> ManagerImpl::getAccountList () { std::vector<std::string> account_order; unsigned int i; + _debug("Manager: Get account list"); + account_order = loadAccountOrder(); AccountMap::iterator iter; // The IP2IP profile is always available, and first in the list iter = _accountMap.find(IP2IP_PROFILE); - if (iter->second != NULL) - v.push_back(iter->first.data()); + if (iter->second != NULL) { + // _debug("PUSHING BACK %s", iter->first.c_str()); + // v.push_back(iter->first.data()); + v.push_back(iter->second->getAccountID()); + } + else { + _error("Manager: could not find IP2IP profile in getAccount list"); + } // If no order has been set, load the default one // ie according to the creation date. if (account_order.size() == 0) { + _debug("Manager: account order is empty"); iter = _accountMap.begin(); while (iter != _accountMap.end()) { if (iter->second != NULL && iter->first != IP2IP_PROFILE) { - //_debug("PUSHING BACK %s\n", iter->first.c_str()); - v.push_back(iter->first.data()); + _debug("PUSHING BACK %s", iter->first.c_str()); + // v.push_back(iter->first.data()); + v.push_back(iter->second->getAccountID()); } iter++; @@ -3143,14 +3101,16 @@ std::vector<std::string> ManagerImpl::getAccountList () { // Otherelse, load the custom one // ie according to the saved order else { - + _debug("Manager: Load account list according to preferences"); for (i = 0; i < account_order.size(); i++) { // This account has not been loaded, so we ignore it if ((iter = _accountMap.find(account_order[i])) != _accountMap.end()) { // If the account is valid if (iter->second != NULL && iter->first != IP2IP_PROFILE) { - v.push_back(iter->first.data()); + //_debug("PUSHING BACK %s", iter->first.c_str()); + // v.push_back(iter->first.data()); + v.push_back(iter->second->getAccountID()); } } } @@ -3160,151 +3120,19 @@ std::vector<std::string> ManagerImpl::getAccountList () { } std::map<std::string, std::string> ManagerImpl::getAccountDetails ( - const AccountID& accountID) { - std::map<std::string, std::string> a; - - Account * account = _accountMap[accountID]; - - if (account == NULL) { - _debug ("Cannot getAccountDetails on a non-existing accountID %s. Defaults will be used.", accountID.c_str()); - } - - a.insert(std::pair<std::string, std::string>(ACCOUNT_ID, accountID)); - - // The IP profile does not allow to set an alias - (accountID == IP2IP_PROFILE) ? a.insert( - std::pair<std::string, std::string>(CONFIG_ACCOUNT_ALIAS, - DIRECT_IP_CALL)) : a.insert(std::pair<std::string, - std::string>(CONFIG_ACCOUNT_ALIAS, getConfigString(accountID, - CONFIG_ACCOUNT_ALIAS))); - - a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_ENABLE, - getConfigString(accountID, CONFIG_ACCOUNT_ENABLE))); - a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_RESOLVE_ONCE, - getConfigString(accountID, CONFIG_ACCOUNT_RESOLVE_ONCE))); - a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_TYPE, - getConfigString(accountID, CONFIG_ACCOUNT_TYPE))); - a.insert(std::pair<std::string, std::string>(HOSTNAME, getConfigString( - accountID, HOSTNAME))); - a.insert(std::pair<std::string, std::string>(USERNAME, getConfigString( - accountID, USERNAME))); - a.insert(std::pair<std::string, std::string>(ROUTESET, getConfigString( - accountID, ROUTESET))); - a.insert(std::pair<std::string, std::string>(PASSWORD, getConfigString( - accountID, PASSWORD))); - a.insert(std::pair<std::string, std::string>(REALM, getConfigString( - accountID, REALM))); - a.insert(std::pair<std::string, std::string>(USERAGENT, getConfigString( - accountID, USERAGENT))); - a.insert(std::pair<std::string, std::string>(AUTHENTICATION_USERNAME, - getConfigString(accountID, AUTHENTICATION_USERNAME))); - a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_MAILBOX, - getConfigString(accountID, CONFIG_ACCOUNT_MAILBOX))); - a.insert(std::pair<std::string, std::string>( - CONFIG_ACCOUNT_REGISTRATION_EXPIRE, getConfigString(accountID, - CONFIG_ACCOUNT_REGISTRATION_EXPIRE))); - a.insert(std::pair<std::string, std::string>(LOCAL_INTERFACE, - getConfigString(accountID, LOCAL_INTERFACE))); - a.insert(std::pair<std::string, std::string>(PUBLISHED_SAMEAS_LOCAL, - getConfigString(accountID, PUBLISHED_SAMEAS_LOCAL))); - a.insert(std::pair<std::string, std::string>(PUBLISHED_ADDRESS, - getConfigString(accountID, PUBLISHED_ADDRESS))); - a.insert(std::pair<std::string, std::string>(LOCAL_PORT, getConfigString( - accountID, LOCAL_PORT))); - a.insert(std::pair<std::string, std::string>(PUBLISHED_PORT, - getConfigString(accountID, PUBLISHED_PORT))); - a.insert(std::pair<std::string, std::string>(DISPLAY_NAME, getConfigString( - accountID, DISPLAY_NAME))); - a.insert(std::pair<std::string, std::string>(STUN_ENABLE, getConfigString( - accountID, STUN_ENABLE))); - a.insert(std::pair<std::string, std::string>(STUN_SERVER, getConfigString( - accountID, STUN_SERVER))); - a.insert(std::pair<std::string, std::string>(ACCOUNT_DTMF_TYPE, getConfigString( - accountID, ACCOUNT_DTMF_TYPE))); - - RegistrationState state = Unregistered; - std::string registrationStateCode; - std::string registrationStateDescription; - - if (account != NULL) { - if (accountID == IP2IP_PROFILE) { - registrationStateCode = EMPTY_FIELD; - registrationStateDescription = "Direct IP call"; - } else { - state = account->getRegistrationState(); - int code = account->getRegistrationStateDetailed().first; - std::stringstream out; - out << code; - registrationStateCode = out.str(); - registrationStateDescription - = account->getRegistrationStateDetailed().second; - } - } + const AccountID& accountID) { - (accountID == IP2IP_PROFILE) ? a.insert( - std::pair<std::string, std::string>(REGISTRATION_STATUS, "READY")) - : a.insert(std::pair<std::string, std::string>(REGISTRATION_STATUS, - mapStateNumberToString(state))); - - a.insert(std::pair<std::string, std::string>(REGISTRATION_STATE_CODE, - registrationStateCode)); - a.insert(std::pair<std::string, std::string>( - REGISTRATION_STATE_DESCRIPTION, registrationStateDescription)); - a.insert(std::pair<std::string, std::string>(SRTP_KEY_EXCHANGE, - getConfigString(accountID, SRTP_KEY_EXCHANGE))); - a.insert(std::pair<std::string, std::string>(SRTP_ENABLE, getConfigString( - accountID, SRTP_ENABLE))); - a.insert(std::pair<std::string, std::string>(SRTP_RTP_FALLBACK, - getConfigString(accountID, SRTP_RTP_FALLBACK))); - a.insert(std::pair<std::string, std::string>(ZRTP_DISPLAY_SAS, - getConfigString(accountID, ZRTP_DISPLAY_SAS))); - a.insert(std::pair<std::string, std::string>(ZRTP_DISPLAY_SAS_ONCE, - getConfigString(accountID, ZRTP_DISPLAY_SAS_ONCE))); - a.insert(std::pair<std::string, std::string>(ZRTP_HELLO_HASH, - getConfigString(accountID, ZRTP_HELLO_HASH))); - a.insert(std::pair<std::string, std::string>(ZRTP_NOT_SUPP_WARNING, - getConfigString(accountID, ZRTP_NOT_SUPP_WARNING))); - - // TLS listener is unique and parameters are modified through IP2IP_PROFILE - a.insert(std::pair<std::string, std::string>(TLS_LISTENER_PORT, - Manager::instance().getConfigString(IP2IP_PROFILE, - TLS_LISTENER_PORT))); - a.insert(std::pair<std::string, std::string>(TLS_ENABLE, - Manager::instance().getConfigString(accountID, TLS_ENABLE))); - a.insert(std::pair<std::string, std::string>(TLS_CA_LIST_FILE, - Manager::instance().getConfigString(accountID, TLS_CA_LIST_FILE))); - a.insert( - std::pair<std::string, std::string>(TLS_CERTIFICATE_FILE, - Manager::instance().getConfigString(accountID, - TLS_CERTIFICATE_FILE))); - a.insert( - std::pair<std::string, std::string>(TLS_PRIVATE_KEY_FILE, - Manager::instance().getConfigString(accountID, - TLS_PRIVATE_KEY_FILE))); - a.insert(std::pair<std::string, std::string>(TLS_PASSWORD, - Manager::instance().getConfigString(accountID, TLS_PASSWORD))); - a.insert(std::pair<std::string, std::string>(TLS_METHOD, - Manager::instance().getConfigString(accountID, TLS_METHOD))); - a.insert(std::pair<std::string, std::string>(TLS_CIPHERS, - Manager::instance().getConfigString(accountID, TLS_CIPHERS))); - a.insert(std::pair<std::string, std::string>(TLS_SERVER_NAME, - Manager::instance().getConfigString(accountID, TLS_SERVER_NAME))); - a.insert(std::pair<std::string, std::string>(TLS_VERIFY_SERVER, - Manager::instance().getConfigString(accountID, TLS_VERIFY_SERVER))); - a.insert(std::pair<std::string, std::string>(TLS_VERIFY_CLIENT, - Manager::instance().getConfigString(accountID, TLS_VERIFY_CLIENT))); - a.insert(std::pair<std::string, std::string>( - TLS_REQUIRE_CLIENT_CERTIFICATE, - Manager::instance().getConfigString(accountID, - TLS_REQUIRE_CLIENT_CERTIFICATE))); - a.insert(std::pair<std::string, std::string>(TLS_NEGOTIATION_TIMEOUT_SEC, - Manager::instance().getConfigString(accountID, - TLS_NEGOTIATION_TIMEOUT_SEC))); - a.insert(std::pair<std::string, std::string>(TLS_NEGOTIATION_TIMEOUT_MSEC, - Manager::instance().getConfigString(accountID, - TLS_NEGOTIATION_TIMEOUT_MSEC))); - - return a; + _debug("Manager: get account details %s", accountID.c_str()); + + Account * account; + if(!(account = _accountMap[accountID])) { + _debug("Manager: Get account details on a non-existing accountID %s. Returning default", accountID.c_str()); + // return a default map + return defaultAccount.getAccountDetails(); + } + else + return account->getAccountDetails(); + } /* Transform digest to string. @@ -3356,6 +3184,9 @@ std::string ManagerImpl::computeMd5HashFromCredential ( void ManagerImpl::setCredential (const std::string& accountID, const int32_t& index, const std::map<std::string, std::string>& details) { + + _debug("Manager: set credential"); + /* std::map<std::string, std::string>::iterator it; std::map<std::string, std::string> credentialInformation = details; @@ -3416,229 +3247,35 @@ void ManagerImpl::setCredential (const std::string& accountID, } Manager::instance().setConfig(section, PASSWORD, password); + */ } -//TODO: tidy this up. Make a macro or inline // method to reduce the if/else mess. // Even better, switch to XML ! void ManagerImpl::setAccountDetails (const std::string& accountID, const std::map<std::string, std::string>& details) { - std::map<std::string, std::string> map_cpy; - std::map<std::string, std::string>::iterator iter; + _debug("Manager: Set account details %s", accountID.c_str()); + + Account* account; + if(!(account = getAccount(accountID))) { + _warn("Manager: Cannot setAccountDetails on a non-existing accountID %s.", accountID.c_str()); + return; + } - // Work on a copy - map_cpy = details; - - // Get the account type - std::string accountType; - find_in_map(CONFIG_ACCOUNT_TYPE, accountType) - - std::string alias; - std::string type; - std::string hostname; - std::string username; - std::string password; - std::string mailbox; - std::string accountEnable; - - - // Account setting common to SIP and IAX - find_in_map(CONFIG_ACCOUNT_ALIAS, alias) - find_in_map(CONFIG_ACCOUNT_TYPE, type) - find_in_map(HOSTNAME, hostname) - find_in_map(USERNAME, username) - find_in_map(PASSWORD, password) - find_in_map(CONFIG_ACCOUNT_MAILBOX, mailbox); - find_in_map(CONFIG_ACCOUNT_ENABLE, accountEnable); - - setConfig(accountID, CONFIG_ACCOUNT_ALIAS, alias); - setConfig(accountID, CONFIG_ACCOUNT_TYPE, type); - setConfig(accountID, HOSTNAME, hostname); - setConfig(accountID, USERNAME, username); - setConfig(accountID, PASSWORD, password); - setConfig(accountID, CONFIG_ACCOUNT_MAILBOX, mailbox); - setConfig(accountID, CONFIG_ACCOUNT_ENABLE, accountEnable); - - // SIP specific account settings - if(accountType == "SIP") { - - std::string ua_name; - std::string realm; - std::string routeset; - std::string authenticationName; - - std::string resolveOnce; - std::string registrationExpire; - - std::string displayName; - std::string localInterface; - std::string publishedSameasLocal; - std::string localAddress; - std::string publishedAddress; - std::string localPort; - std::string publishedPort; - std::string stunEnable; - std::string stunServer; - std::string dtmfType; - std::string srtpEnable; - std::string srtpRtpFallback; - std::string zrtpDisplaySas; - std::string zrtpDisplaySasOnce; - std::string zrtpNotSuppWarning; - std::string zrtpHelloHash; - std::string srtpKeyExchange; - - std::string tlsListenerPort; - std::string tlsEnable; - std::string tlsCaListFile; - std::string tlsCertificateFile; - std::string tlsPrivateKeyFile; - std::string tlsPassword; - std::string tlsMethod; - std::string tlsCiphers; - std::string tlsServerName; - std::string tlsVerifyServer; - std::string tlsVerifyClient; - std::string tlsRequireClientCertificate; - std::string tlsNegotiationTimeoutSec; - std::string tlsNegotiationTimeoutMsec; - - // general sip settings - find_in_map(DISPLAY_NAME, displayName) - find_in_map(ROUTESET, routeset) - find_in_map(LOCAL_INTERFACE, localInterface) - find_in_map(PUBLISHED_SAMEAS_LOCAL, publishedSameasLocal) - find_in_map(PUBLISHED_ADDRESS, publishedAddress) - find_in_map(LOCAL_PORT, localPort) - find_in_map(PUBLISHED_PORT, publishedPort) - find_in_map(STUN_ENABLE, stunEnable) - find_in_map(STUN_SERVER, stunServer) - find_in_map(ACCOUNT_DTMF_TYPE, dtmfType) - find_in_map(CONFIG_ACCOUNT_RESOLVE_ONCE, resolveOnce) - find_in_map(CONFIG_ACCOUNT_REGISTRATION_EXPIRE, registrationExpire) - - setConfig(accountID, DISPLAY_NAME, displayName); - setConfig(accountID, ROUTESET, routeset); - setConfig(accountID, LOCAL_INTERFACE, localInterface); - setConfig(accountID, PUBLISHED_SAMEAS_LOCAL, publishedSameasLocal); - setConfig(accountID, PUBLISHED_ADDRESS, publishedAddress); - setConfig(accountID, LOCAL_PORT, localPort); - setConfig(accountID, PUBLISHED_PORT, publishedPort); - setConfig(accountID, STUN_ENABLE, stunEnable); - setConfig(accountID, STUN_SERVER, stunServer); - setConfig(accountID, ACCOUNT_DTMF_TYPE, dtmfType); - setConfig(accountID, CONFIG_ACCOUNT_RESOLVE_ONCE, resolveOnce); - setConfig(accountID, CONFIG_ACCOUNT_REGISTRATION_EXPIRE, registrationExpire); - - // sip credential - find_in_map(REALM, realm) - find_in_map(AUTHENTICATION_USERNAME, authenticationName) - find_in_map(USERAGENT, ua_name) - - setConfig(accountID, REALM, realm); - setConfig(accountID, USERAGENT, ua_name); - setConfig(accountID, AUTHENTICATION_USERNAME, authenticationName); - - // srtp settings - find_in_map(SRTP_ENABLE, srtpEnable) - find_in_map(SRTP_RTP_FALLBACK, srtpRtpFallback) - find_in_map(ZRTP_DISPLAY_SAS, zrtpDisplaySas) - find_in_map(ZRTP_DISPLAY_SAS_ONCE, zrtpDisplaySasOnce) - find_in_map(ZRTP_NOT_SUPP_WARNING, zrtpNotSuppWarning) - find_in_map(ZRTP_HELLO_HASH, zrtpHelloHash) - find_in_map(SRTP_KEY_EXCHANGE, srtpKeyExchange) - - setConfig(accountID, SRTP_ENABLE, srtpEnable); - setConfig(accountID, SRTP_RTP_FALLBACK, srtpRtpFallback); - setConfig(accountID, ZRTP_DISPLAY_SAS, zrtpDisplaySas); - setConfig(accountID, ZRTP_DISPLAY_SAS_ONCE, zrtpDisplaySasOnce); - setConfig(accountID, ZRTP_NOT_SUPP_WARNING, zrtpNotSuppWarning); - setConfig(accountID, ZRTP_HELLO_HASH, zrtpHelloHash); - setConfig(accountID, SRTP_KEY_EXCHANGE, srtpKeyExchange); - - // TLS settings - // The TLS listener is unique and globally defined through IP2IP_PROFILE - if(accountID == IP2IP_PROFILE) { - find_in_map(TLS_LISTENER_PORT, tlsListenerPort) - } - find_in_map(TLS_ENABLE, tlsEnable) - find_in_map(TLS_CA_LIST_FILE, tlsCaListFile) - find_in_map(TLS_CERTIFICATE_FILE, tlsCertificateFile) - find_in_map(TLS_PRIVATE_KEY_FILE, tlsPrivateKeyFile) - find_in_map(TLS_PASSWORD, tlsPassword) - find_in_map(TLS_METHOD, tlsMethod) - find_in_map(TLS_CIPHERS, tlsCiphers) - find_in_map(TLS_SERVER_NAME, tlsServerName) - find_in_map(TLS_VERIFY_SERVER, tlsVerifyServer) - find_in_map(TLS_VERIFY_CLIENT, tlsVerifyClient) - find_in_map(TLS_REQUIRE_CLIENT_CERTIFICATE, tlsRequireClientCertificate) - find_in_map(TLS_NEGOTIATION_TIMEOUT_SEC, tlsNegotiationTimeoutSec) - find_in_map(TLS_NEGOTIATION_TIMEOUT_MSEC, tlsNegotiationTimeoutMsec) - - - // The TLS listener is unique and globally defined through IP2IP_PROFILE - if (accountID == IP2IP_PROFILE){ - setConfig(accountID, TLS_LISTENER_PORT, tlsListenerPort); - } - setConfig(accountID, TLS_ENABLE, tlsEnable); - setConfig(accountID, TLS_CA_LIST_FILE, tlsCaListFile); - setConfig(accountID, TLS_CERTIFICATE_FILE, tlsCertificateFile); - setConfig(accountID, TLS_PRIVATE_KEY_FILE, tlsPrivateKeyFile); - setConfig(accountID, TLS_PASSWORD, tlsPassword); - setConfig(accountID, TLS_METHOD, tlsMethod); - setConfig(accountID, TLS_CIPHERS, tlsCiphers); - setConfig(accountID, TLS_SERVER_NAME, tlsServerName); - setConfig(accountID, TLS_VERIFY_SERVER, tlsVerifyServer); - setConfig(accountID, TLS_VERIFY_CLIENT, tlsVerifyClient); - setConfig(accountID, TLS_REQUIRE_CLIENT_CERTIFICATE, tlsRequireClientCertificate); - setConfig(accountID, TLS_NEGOTIATION_TIMEOUT_SEC, tlsNegotiationTimeoutSec); - setConfig(accountID, TLS_NEGOTIATION_TIMEOUT_MSEC,tlsNegotiationTimeoutMsec); - - if (!getMd5CredentialHashing()) { - setConfig(accountID, PASSWORD, password); - } else { - // Make sure not to re-hash the password field if - // it is already saved as a MD5 Hash. - // TODO: This test is weak. Fix this. - if ((password.compare(getConfigString(accountID, PASSWORD)) != 0)) { - _debug ("Password sent and password from config are different. Re-hashing"); - std::string hash; - - if (authenticationName.empty()) { - hash = computeMd5HashFromCredential(username, password, realm); - } else { - hash = computeMd5HashFromCredential(authenticationName, - password, realm); - } - - setConfig(accountID, PASSWORD, hash); - } - } + account->setAccountDetails(details); - } + saveConfig(); - saveConfig(); + if (account->isEnabled()) + account->registerVoIPLink(); + else + account->unregisterVoIPLink(); - Account * acc = NULL; - acc = getAccount(accountID); - - if (acc != NULL) { - acc->loadConfig(); - - if (acc->isEnabled()) { - acc->registerVoIPLink(); - } else { - acc->unregisterVoIPLink(); - } - } else { - _debug ("ManagerImpl::setAccountDetails: account is NULL"); - } - - // Update account details to the client side - if (_dbus) - _dbus->getConfigurationManager()->accountsChanged(); + // Update account details to the client side + if (_dbus) + _dbus->getConfigurationManager()->accountsChanged(); } @@ -3657,7 +3294,7 @@ std::string ManagerImpl::addAccount ( // Get the type accountType = (*details.find(CONFIG_ACCOUNT_TYPE)).second; - _debug ("%s", newAccountID.c_str()); + _debug ("Manager: Adding account %s", newAccountID.c_str()); /** @todo Verify the uniqueness, in case a program adds accounts, two in a row. */ @@ -3669,23 +3306,33 @@ std::string ManagerImpl::addAccount ( newAccount = AccountCreator::createAccount(AccountCreator::IAX_ACCOUNT, newAccountID); } else { - _debug ("Unknown %s param when calling addAccount(): %s", CONFIG_ACCOUNT_TYPE, accountType.c_str()); + _error("Unknown %s param when calling addAccount(): %s", CONFIG_ACCOUNT_TYPE, accountType.c_str()); return ""; } _accountMap[newAccountID] = newAccount; - setAccountDetails(accountID.str(), details); + newAccount->setAccountDetails(details); // Add the newly created account in the account order list - account_list = getConfigString(PREFERENCES, CONFIG_ACCOUNTS_ORDER); + account_list = preferences.getAccountOrder(); if (account_list != "") { newAccountID += "/"; // Prepend the new account account_list.insert(0, newAccountID); - setConfig(PREFERENCES, CONFIG_ACCOUNTS_ORDER, account_list); + + preferences.setAccountOrder(account_list); } + else { + newAccountID += "/"; + account_list = newAccountID; + preferences.setAccountOrder(account_list); + } + + _debug("AccountMap: %s", account_list.c_str()); + + newAccount->setVoIPLink(); saveConfig(); @@ -3696,23 +3343,21 @@ std::string ManagerImpl::addAccount ( } void ManagerImpl::deleteAllCredential (const AccountID& accountID) { - int numberOfCredential = getConfigInt(accountID, CONFIG_CREDENTIAL_NUMBER); + + _debug("Manager: delete all credential"); - int i; + Account *account = getAccount(accountID); - for (i = 0; i < numberOfCredential; i++) { - std::string credentialIndex; - std::stringstream streamOut; - streamOut << i; - credentialIndex = streamOut.str(); - std::string section = "Credential" + std::string(":") + accountID - + std::string(":") + credentialIndex; + if(!account) + return; + + if(account->getType() != "SIP") + return; - _config.removeSection(section); - } + SIPAccount *sipaccount = (SIPAccount *)account; if (accountID.empty() == false) { - setConfig(accountID, CONFIG_CREDENTIAL_NUMBER, 0); + sipaccount->setCredentialCount(0); } } @@ -3797,91 +3442,162 @@ std::vector<std::string> ManagerImpl::loadAccountOrder (void) { std::string account_list; std::vector<std::string> account_vect; - account_list = getConfigString(PREFERENCES, CONFIG_ACCOUNTS_ORDER); + account_list = preferences.getAccountOrder(); + + _debug("Manager: Load sccount order %s", account_list.c_str()); + return unserialize(account_list); } -short ManagerImpl::loadAccountMap () { +short ManagerImpl::buildConfiguration () { - _debug ("Loading account map"); + _debug ("Manager: Loading account map"); - short nbAccount = 0; - TokenList sections = _config.getSections(); - std::string accountType; - Account *tmpAccount = 0; - std::vector<std::string> account_order; + loadIptoipProfile(); + + int nbAccount = loadAccountMap(); - TokenList::iterator iter = sections.begin(); + return nbAccount; +} - // Those calls that are placed to an uri that cannot be - // associated to an account are using that special account. - // An account, that is not account, in the sense of - // registration. This is useful since the Account object - // provides a handful of method that simplifies URI creation - // and loading of various settings. - _directIpAccount = AccountCreator::createAccount( - AccountCreator::SIP_DIRECT_IP_ACCOUNT, ""); +void ManagerImpl::loadIptoipProfile() { - _debug ("Create default \"account\" (used as default UDP transport)"); - if (_directIpAccount == NULL) { + _debug ("Manager: Create default \"account\" (used as default UDP transport)"); - _debug ("Failed to create default \"account\""); - } else { + // build a default IP2IP account with default parameters + _directIpAccount = AccountCreator::createAccount(AccountCreator::SIP_DIRECT_IP_ACCOUNT, ""); + _accountMap[IP2IP_PROFILE] = _directIpAccount; - _accountMap[IP2IP_PROFILE] = _directIpAccount; + if (_directIpAccount == NULL) { + _error("Manager: Failed to create default \"account\""); + return; + } - // Force IP2IP settings to be loaded to be loaded - // No registration in the sense of the REGISTER method is performed. - _directIpAccount->registerVoIPLink(); + // If configuration file parsed, load saved preferences + if (_setupLoaded) { - // SIPVoIPlink is used as a singleton, it is the first call to instance here - // The SIP library initialization is done in the SIPVoIPLink constructor - // We need the IP2IP settings to be loaded at this time as they are used - // for default sip transport + _debug("Manager: Loading IP2IP profile preferences from config"); - // _directIpAccount->setVoIPLink(SIPVoIPLink::instance ("")); - _directIpAccount->setVoIPLink(); + Conf::SequenceNode *seq = parser->getAccountSequence(); + Conf::Sequence::iterator iterIP2IP = seq->getSequence()->begin(); + Conf::Key accID("id"); + + // Iterate over every account maps + while(iterIP2IP != seq->getSequence()->end()) { + + Conf::MappingNode *map = (Conf::MappingNode *)(*iterIP2IP); + + // Get the account id + Conf::ScalarNode * val = (Conf::ScalarNode *)(map->getValue(accID)); + Conf::Value accountid = val->getValue(); + + // if ID is IP2IP, unserialize + if(accountid == "IP2IP") { + + try { + _directIpAccount->unserialize(map); + } + catch(SipAccountException &e) { + _error("Manager: %s", e.what()); } + break; + } - // initialize other accounts - while (iter != sections.end()) { - // Check if it starts with "Account:" (SIP and IAX pour le moment) - if ((int) (iter->find("Account:")) != 0) { - iter++; - continue; - } + iterIP2IP++; + } + } - accountType = getConfigString(*iter, CONFIG_ACCOUNT_TYPE); + // Force IP2IP settings to be loaded to be loaded + // No registration in the sense of the REGISTER method is performed. + _directIpAccount->registerVoIPLink(); + + // SIPVoIPlink is used as a singleton, it is the first call to instance here + // The SIP library initialization is done in the SIPVoIPLink constructor + // We need the IP2IP settings to be loaded at this time as they are used + // for default sip transport + + // _directIpAccount->setVoIPLink(SIPVoIPLink::instance ("")); + _directIpAccount->setVoIPLink(); - if (accountType == "SIP") { - tmpAccount = AccountCreator::createAccount( - AccountCreator::SIP_ACCOUNT, *iter); - } +} - else if (accountType == "IAX") { - tmpAccount = AccountCreator::createAccount( - AccountCreator::IAX_ACCOUNT, *iter); - } +short ManagerImpl::loadAccountMap() { - else { - _error ("Unknown %s param in config file (%s)", CONFIG_ACCOUNT_TYPE, accountType.c_str()); - } + _debug("Manager: Load account map"); - if (tmpAccount != NULL) { - _debug ("Loading account %s ", iter->c_str()); - _accountMap[iter->c_str()] = tmpAccount; - // tmpAccount->setVoIPLink(SIPVoIPLink::instance ("")); - tmpAccount->setVoIPLink(); - nbAccount++; - } + // Conf::YamlParser *parser; + int nbAccount = 0; - iter++; - } + if(!_setupLoaded) + return 0; + + // build preferences + preferences.unserialize((Conf::MappingNode *)(parser->getPreferenceSequence())); + voipPreferences.unserialize((Conf::MappingNode *)(parser->getVoipPreferenceSequence())); + addressbookPreference.unserialize((Conf::MappingNode *)(parser->getAddressbookSequence())); + hookPreference.unserialize((Conf::MappingNode *)(parser->getHookSequence())); + audioPreference.unserialize((Conf::MappingNode *)(parser->getAudioSequence())); + + Conf::SequenceNode *seq = parser->getAccountSequence(); + + // Each element in sequence is a new account to create + Conf::Sequence::iterator iterSeq = seq->getSequence()->begin(); + + Conf::Key accTypeKey("type"); + Conf::Key accID("id"); + + while(iterSeq != seq->getSequence()->end()) { - _debug ("nb account loaded %i \n", nbAccount); + Account *tmpAccount = NULL; + Conf::MappingNode *map = (Conf::MappingNode *)(*iterSeq); + + Conf::ScalarNode * val = (Conf::ScalarNode *)(map->getValue(accTypeKey)); + Conf::Value accountType = val->getValue(); + + val = (Conf::ScalarNode *)(map->getValue(accID)); + Conf::Value accountid = val->getValue(); + + if (accountType == "SIP" && accountid != "IP2IP") { + _debug("Manager: Create SIP account: %s", accountid.c_str()); + tmpAccount = AccountCreator::createAccount(AccountCreator::SIP_ACCOUNT, accountid); + } + else if (accountType == "IAX" && accountid != "IP2IP") { + _debug("Manager: Create IAX account: %s", accountid.c_str()); + tmpAccount = AccountCreator::createAccount(AccountCreator::IAX_ACCOUNT, accountid); + } + + + if (tmpAccount != NULL) { + + try { + tmpAccount->unserialize(map); + } + catch(SipAccountException &e) { + _error("Manager: %s", e.what()); + } + + _accountMap[accountid] = tmpAccount; + _debug ("Manager: Loading account %s (size %d)", accountid.c_str(), _accountMap.size()); + + tmpAccount->setVoIPLink(); + nbAccount++; + } + + iterSeq++; + } + + try { + delete parser; + } + catch (Conf::YamlParserException &e) { + _error("Manager: %s", e.what()); + } + + parser = NULL; + + return nbAccount; - return nbAccount; } void ManagerImpl::unloadAccountMap () { @@ -3987,22 +3703,12 @@ std::map<std::string, int32_t> ManagerImpl::getAddressbookSettings () { std::map<std::string, int32_t> settings; - settings.insert(std::pair<std::string, int32_t>("ADDRESSBOOK_ENABLE", - getConfigInt(ADDRESSBOOK, ADDRESSBOOK_ENABLE))); - settings.insert(std::pair<std::string, int32_t>("ADDRESSBOOK_MAX_RESULTS", - getConfigInt(ADDRESSBOOK, ADDRESSBOOK_MAX_RESULTS))); - settings.insert(std::pair<std::string, int32_t>( - "ADDRESSBOOK_DISPLAY_CONTACT_PHOTO", getConfigInt(ADDRESSBOOK, - ADDRESSBOOK_DISPLAY_CONTACT_PHOTO))); - settings.insert(std::pair<std::string, int32_t>( - "ADDRESSBOOK_DISPLAY_PHONE_BUSINESS", getConfigInt(ADDRESSBOOK, - ADDRESSBOOK_DISPLAY_PHONE_BUSINESS))); - settings.insert(std::pair<std::string, int32_t>( - "ADDRESSBOOK_DISPLAY_PHONE_HOME", getConfigInt(ADDRESSBOOK, - ADDRESSBOOK_DISPLAY_PHONE_HOME))); - settings.insert(std::pair<std::string, int32_t>( - "ADDRESSBOOK_DISPLAY_PHONE_MOBILE", getConfigInt(ADDRESSBOOK, - ADDRESSBOOK_DISPLAY_PHONE_MOBILE))); + settings.insert(std::pair<std::string, int32_t>("ADDRESSBOOK_ENABLE", addressbookPreference.getEnabled() ? 1 : 0)); + settings.insert(std::pair<std::string, int32_t>("ADDRESSBOOK_MAX_RESULTS", addressbookPreference.getMaxResults())); + settings.insert(std::pair<std::string, int32_t>("ADDRESSBOOK_DISPLAY_CONTACT_PHOTO", addressbookPreference.getPhoto() ? 1 : 0)); + settings.insert(std::pair<std::string, int32_t>("ADDRESSBOOK_DISPLAY_PHONE_BUSINESS", addressbookPreference.getBusiness() ? 1 : 0)); + settings.insert(std::pair<std::string, int32_t>("ADDRESSBOOK_DISPLAY_PHONE_HOME", addressbookPreference.getHome() ? 1 : 0)); + settings.insert(std::pair<std::string, int32_t>("ADDRESSBOOK_DISPLAY_PHONE_MOBILE", addressbookPreference.getMobile() ? 1 : 0)); return settings; } @@ -4010,18 +3716,13 @@ std::map<std::string, int32_t> ManagerImpl::getAddressbookSettings () { void ManagerImpl::setAddressbookSettings ( const std::map<std::string, int32_t>& settings) { - setConfig(ADDRESSBOOK, ADDRESSBOOK_ENABLE, (*settings.find( - "ADDRESSBOOK_ENABLE")).second); - setConfig(ADDRESSBOOK, ADDRESSBOOK_MAX_RESULTS, (*settings.find( - "ADDRESSBOOK_MAX_RESULTS")).second); - setConfig(ADDRESSBOOK, ADDRESSBOOK_DISPLAY_CONTACT_PHOTO, (*settings.find( - "ADDRESSBOOK_DISPLAY_CONTACT_PHOTO")).second); - setConfig(ADDRESSBOOK, ADDRESSBOOK_DISPLAY_PHONE_BUSINESS, (*settings.find( - "ADDRESSBOOK_DISPLAY_PHONE_BUSINESS")).second); - setConfig(ADDRESSBOOK, ADDRESSBOOK_DISPLAY_PHONE_HOME, (*settings.find( - "ADDRESSBOOK_DISPLAY_PHONE_HOME")).second); - setConfig(ADDRESSBOOK, ADDRESSBOOK_DISPLAY_PHONE_MOBILE, (*settings.find( - "ADDRESSBOOK_DISPLAY_PHONE_MOBILE")).second); + + addressbookPreference.setEnabled((settings.find("ADDRESSBOOK_ENABLE")->second == 1) ? true : false); + addressbookPreference.setMaxResults(settings.find("ADDRESSBOOK_MAX_RESULTS")->second); + addressbookPreference.setPhoto((settings.find("ADDRESSBOOK_DISPLAY_CONTACT_PHOTO")->second == 1) ? true : false); + addressbookPreference.setBusiness((settings.find("ADDRESSBOOK_DISPLAY_PHONE_BUSINESS")->second == 1) ? true : false); + addressbookPreference.setHone((settings.find("ADDRESSBOOK_DISPLAY_PHONE_HOME")->second == 1) ? true : false); + addressbookPreference.setMobile((settings.find("ADDRESSBOOK_DISPLAY_PHONE_MOBILE")->second == 1) ? true : false); // Write it to the configuration file saveConfig(); @@ -4030,12 +3731,13 @@ void ManagerImpl::setAddressbookSettings ( void ManagerImpl::setAddressbookList (const std::vector<std::string>& list) { std::string s = serialize(list); - setConfig(ADDRESSBOOK, ADDRESSBOOK_LIST, s); + addressbookPreference.setList(s); + } std::vector<std::string> ManagerImpl::getAddressbookList (void) { - std::string s = getConfigString(ADDRESSBOOK, ADDRESSBOOK_LIST); + std::string s = addressbookPreference.getList(); return unserialize(s); } @@ -4043,39 +3745,25 @@ std::map<std::string, std::string> ManagerImpl::getHookSettings () { std::map<std::string, std::string> settings; - settings.insert(std::pair<std::string, std::string>("URLHOOK_SIP_FIELD", - getConfigString(HOOKS, URLHOOK_SIP_FIELD))); - settings.insert(std::pair<std::string, std::string>("URLHOOK_COMMAND", - getConfigString(HOOKS, URLHOOK_COMMAND))); - settings.insert(std::pair<std::string, std::string>("URLHOOK_SIP_ENABLED", - getConfigString(HOOKS, URLHOOK_SIP_ENABLED))); - settings.insert(std::pair<std::string, std::string>("URLHOOK_IAX2_ENABLED", - getConfigString(HOOKS, URLHOOK_IAX2_ENABLED))); - settings.insert(std::pair<std::string, std::string>( - "PHONE_NUMBER_HOOK_ENABLED", getConfigString(HOOKS, - PHONE_NUMBER_HOOK_ENABLED))); - settings.insert(std::pair<std::string, std::string>( - "PHONE_NUMBER_HOOK_ADD_PREFIX", getConfigString(HOOKS, - PHONE_NUMBER_HOOK_ADD_PREFIX))); + + settings.insert(std::pair<std::string, std::string>("URLHOOK_IAX2_ENABLED", hookPreference.getIax2Enabled() ? "true" : "false")); + settings.insert(std::pair<std::string, std::string>("PHONE_NUMBER_HOOK_ADD_PREFIX", hookPreference.getNumberAddPrefix())); + settings.insert(std::pair<std::string, std::string>("PHONE_NUMBER_HOOK_ENABLED", hookPreference.getNumberEnabled() ? "true" : "false")); + settings.insert(std::pair<std::string, std::string>("URLHOOK_SIP_ENABLED", hookPreference.getSipEnabled() ? "true" : "false")); + settings.insert(std::pair<std::string, std::string>("URLHOOK_COMMAND", hookPreference.getUrlCommand())); + settings.insert(std::pair<std::string, std::string>("URLHOOK_SIP_FIELD", hookPreference.getUrlSipField())); return settings; } -void ManagerImpl::setHookSettings ( - const std::map<std::string, std::string>& settings) { +void ManagerImpl::setHookSettings (const std::map<std::string, std::string>& settings) { - setConfig(HOOKS, URLHOOK_SIP_FIELD, - (*settings.find("URLHOOK_SIP_FIELD")).second); - setConfig(HOOKS, URLHOOK_COMMAND, - (*settings.find("URLHOOK_COMMAND")).second); - setConfig(HOOKS, URLHOOK_SIP_ENABLED, - (*settings.find("URLHOOK_SIP_ENABLED")).second); - setConfig(HOOKS, URLHOOK_IAX2_ENABLED, (*settings.find( - "URLHOOK_IAX2_ENABLED")).second); - setConfig(HOOKS, PHONE_NUMBER_HOOK_ENABLED, (*settings.find( - "PHONE_NUMBER_HOOK_ENABLED")).second); - setConfig(HOOKS, PHONE_NUMBER_HOOK_ADD_PREFIX, (*settings.find( - "PHONE_NUMBER_HOOK_ADD_PREFIX")).second); + hookPreference.setIax2Enabled((settings.find("URLHOOK_IAX2_ENABLED")->second == "true") ? true : false); + hookPreference.setNumberAddPrefix(settings.find("PHONE_NUMBER_HOOK_ADD_PREFIX")->second); + hookPreference.setNumberEnabled((settings.find("PHONE_NUMBER_HOOK_ENABLED")->second == "true") ? true : false); + hookPreference.setSipEnabled((settings.find("URLHOOK_SIP_ENABLED")->second == "true") ? true : false); + hookPreference.setUrlCommand(settings.find("URLHOOK_COMMAND")->second); + hookPreference.setUrlSipField(settings.find("URLHOOK_SIP_FIELD")->second); // Write it to the configuration file saveConfig(); @@ -4180,9 +3868,9 @@ std::map<std::string, std::string> ManagerImpl::send_history_to_client (void) { void ManagerImpl::receive_history_from_client (std::map<std::string, std::string> history) { - _history->set_serialized_history(history, Manager::instance().getConfigInt( - PREFERENCES, CONFIG_HISTORY_LIMIT)); - _history->save_history(); + + _history->set_serialized_history(history, preferences.getHistoryLimit());; + _history->save_history(); } std::vector<std::string> ManagerImpl::getCallList (void) { diff --git a/sflphone-common/src/managerimpl.h b/sflphone-common/src/managerimpl.h old mode 100644 new mode 100755 index 09acea4fd8a40c63d2c2c7f9a472a04b5c67455b..a03bde90cb3695a182ae9dad2b3fb273232a5c22 --- a/sflphone-common/src/managerimpl.h +++ b/sflphone-common/src/managerimpl.h @@ -55,6 +55,9 @@ #include "audio/codecs/codecDescriptor.h" // CodecDescriptor class contained by value here #include "audio/mainbuffer.h" +#include "yamlemitter.h" +#include "yamlparser.h" +#include "preferences.h" class AudioLayer; class GuiFramework; @@ -93,7 +96,6 @@ typedef std::map<CallID, Conference*> ConferenceMap; static CallID default_conf = "conf"; - static char * mapStateToChar[] = { (char*) "UNREGISTERED", (char*) "TRYING", @@ -112,6 +114,18 @@ class ManagerImpl { ManagerImpl (void); ~ManagerImpl (void); + Preferences preferences; + + VoipPreference voipPreferences; + + AddressbookPreference addressbookPreference; + + HookPreference hookPreference; + + AudioPreference audioPreference; + + short buildConfiguration(); + /** * Initialisation of thread (sound) and map. * Init a new VoIPLink, audio codec and audio driver @@ -563,12 +577,20 @@ class ManagerImpl { */ int getAudioDeviceIndex( const std::string name ); - /* + /** * Get current alsa plugin * @return std::string The Alsa plugin */ std::string getCurrentAudioOutputPlugin( void ); + std::string getEchoCancelState(void); + + void setEchoCancelState(std::string state); + + std::string getNoiseSuppressState(void); + + void setNoiseSuppressState(std::string state); + /** * Convert a list of payload in a special format, readable by the server. * Required format: payloads separated with one slash. @@ -640,24 +662,24 @@ class ManagerImpl { * @return int 1 if dialpad has to be displayed * 0 otherwise */ - int getDialpad( void ); + // int getDialpad( void ); /** * Set the dialpad visible or not */ - void setDialpad (bool display); + // void setDialpad (bool display); /** * Tells if the user wants to display the volume controls or not * @return int 1 if the controls have to be displayed * 0 otherwise */ - int getVolumeControls( void ); + // int getVolumeControls( void ); /** * Set the volume controls ( mic and speaker ) visible or not */ - void setVolumeControls (bool display); + // void setVolumeControls (bool display); /** * Set recording on / off @@ -683,9 +705,9 @@ class ManagerImpl { */ int getHistoryLimit (void); - void setHistoryEnabled (void); + // void setHistoryEnabled (void); - std::string getHistoryEnabled (void); + // std::string getHistoryEnabled (void); /** @@ -706,35 +728,35 @@ class ManagerImpl { * @return int 1 if it should popup on incoming calls * 0 if it should never popups */ - int popupMode( void ); + // int popupMode( void ); /** * Configure the popup behaviour * When SFLphone is in the system tray, you can configure when it popups * Never or only on incoming calls */ - void switchPopupMode( void ); + // void switchPopupMode( void ); /** * Determine whether or not the search bar (history) should be displayed */ - int getSearchbar( void ); + // int getSearchbar( void ); /** * Configure the search bar behaviour */ - void setSearchbar( void ); + // void setSearchbar( void ); /** * Set the desktop notification level */ - void setNotify( void ); + // void setNotify( void ); /** * Get the desktop notification level * @return int The notification level */ - int32_t getNotify( void ); + // int32_t getNotify( void ); /** * Set the desktop mail notification level @@ -788,6 +810,8 @@ class ManagerImpl { void switchAudioManager( void ); + void audioSamplingRateChanged( void ); + /** * Get the desktop mail notification level * @return int The mail notification level @@ -1033,6 +1057,14 @@ class ManagerImpl { ost::Mutex* getAudioLayerMutex() { return &_audiolayer_mutex; } + /** + * Helper function that creates an MD5 Hash from the credential + * information provided as parameters. The hash is computed as + * MD5(username ":" realm ":" password). + * + */ + std::string computeMd5HashFromCredential(const std::string& username, const std::string& password, const std::string& realm); + private: /* Transform digest to string. * output must be at least PJSIP_MD5STRLEN+1 bytes. @@ -1043,14 +1075,6 @@ class ManagerImpl { */ void digest2str(const unsigned char digest[], char *output); - /** - * Helper function that creates an MD5 Hash from the credential - * information provided as parameters. The hash is computed as - * MD5(username ":" realm ":" password). - * - */ - std::string computeMd5HashFromCredential(const std::string& username, const std::string& password, const std::string& realm); - /** * Check if a process is running with the system command * @@ -1218,13 +1242,14 @@ class ManagerImpl { Account * _directIpAccount; + void loadIptoipProfile(); + /** * Load the account from configuration * @return short Number of account */ short loadAccountMap(); - /** * Unload the account (delete them) */ @@ -1240,8 +1265,14 @@ class ManagerImpl { */ MainBuffer _mainBuffer; - - public: + + public: + + /** + * Return a pointer to the instance of the mainbuffer + */ + MainBuffer *getMainBuffer(void) { return &_mainBuffer; } + /** * Tell if there is a current call processed @@ -1299,14 +1330,12 @@ class ManagerImpl { int isStunEnabled (void); void enableStun (void); - // Map + // Map containing reference between conferences and calls ConferenceCallMap _conferencecall; - // + // Map containing conference pointers ConferenceMap _conferencemap; - - private: // Copy Constructor @@ -1327,6 +1356,9 @@ private: */ void check_call_configuration (const CallID& id, const std::string& to, Call::CallConfiguration *callConfig); + Conf::YamlParser *parser; + Conf::YamlEmitter *emitter; + #ifdef TEST bool testCallAccountMap(); bool testAccountMap(); diff --git a/sflphone-common/src/managerimpl_registration.cpp b/sflphone-common/src/managerimpl_registration.cpp old mode 100644 new mode 100755 index 552b2eb4568b25771a766a8c9950b38a4e03b3e8..1329aaa68bce3104d60de4bdacf9b26655739c7b --- a/sflphone-common/src/managerimpl_registration.cpp +++ b/sflphone-common/src/managerimpl_registration.cpp @@ -58,7 +58,7 @@ ManagerImpl::registerAccounts() bool flag = true; AccountMap::iterator iter; - _debugInit ("Initiate VoIP Links Registration"); + _debugInit ("Manager: Initiate VoIP Links Registration"); iter = _accountMap.begin(); /* Loop on the account map previously loaded */ @@ -98,7 +98,7 @@ ManagerImpl::initRegisterAccounts() bool flag = true; AccountMap::iterator iter; - _debugInit ("Initiate VoIP Links Registration"); + _debugInit ("Manager: Initiate VoIP Links Registration"); iter = _accountMap.begin(); /* Loop on the account map previously loaded */ @@ -248,13 +248,16 @@ ManagerImpl::sendRegister (const std::string& accountID , const int32_t& enable) { // Update the active field - setConfig (accountID, CONFIG_ACCOUNT_ENABLE, (enable == 1) ? TRUE_STR:FALSE_STR); - Account* acc = getAccount (accountID); + + if(enable == 1) + acc->setEnabled(true); + else + acc->setEnabled(false); + acc->loadConfig(); // Test on the freshly updated value - if (acc->isEnabled()) { // Verify we aren't already registered, then register _debug ("Send register for account %s\n" , accountID.c_str()); diff --git a/sflphone-common/src/plug-in/Makefile.am b/sflphone-common/src/plug-in/Makefile.am index 35ea21e0390c242d1686bf722077cee6c60e9428..ec8d43800601c3b98c3b7a708b84bedacbfefbb9 100644 --- a/sflphone-common/src/plug-in/Makefile.am +++ b/sflphone-common/src/plug-in/Makefile.am @@ -1,6 +1,6 @@ include ../../globals.mak -SUBDIRS=audiorecorder test +SUBDIRS=test noinst_LTLIBRARIES = libplugin.la diff --git a/sflphone-common/src/plug-in/audiorecorder/Makefile.am b/sflphone-common/src/plug-in/audiorecorder/Makefile.am deleted file mode 100644 index 2a37f147295de545974f83dbf48e097a5a0d53dc..0000000000000000000000000000000000000000 --- a/sflphone-common/src/plug-in/audiorecorder/Makefile.am +++ /dev/null @@ -1,6 +0,0 @@ -include $(top_srcdir)/globals.mak - -noinst_LTLIBRARIES = libaudiorecorder.la - -libaudiorecorder_la_SOURCES = \ - audiorecord.cpp \ No newline at end of file diff --git a/sflphone-common/src/preferences.cpp b/sflphone-common/src/preferences.cpp new file mode 100644 index 0000000000000000000000000000000000000000..2663346dedf1bc7c0d74f791014a94f6bfc3ebed --- /dev/null +++ b/sflphone-common/src/preferences.cpp @@ -0,0 +1,425 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#include "preferences.h" +#include <sstream> +#include "global.h" + +Preferences::Preferences() : _accountOrder("") + , _audioApi(0) + , _historyLimit(30) + , _historyMaxCalls(20) + , _notifyMails(false) + , _zoneToneChoice("North America") // DFT_ZONE + , _registrationExpire(180) + , _ringtoneEnabled(true) // CONFIG_RINGTONE + , _portNum(5060) + , _searchBarDisplay(true) + , _zeroConfenable(false) + , _md5Hash(false) +{ + +} + +Preferences::~Preferences() {} + + +void Preferences::serialize(Conf::YamlEmitter *emiter) +{ + + _debug("Preference: Serialize configuration"); + + Conf::MappingNode preferencemap(NULL); + + Conf::ScalarNode order(_accountOrder); + std::stringstream audiostr; audiostr << _audioApi; + Conf::ScalarNode audioapi(audiostr.str()); + std::stringstream histlimitstr; histlimitstr << _historyLimit; + Conf::ScalarNode historyLimit(histlimitstr.str()); + std::stringstream histmaxstr; histmaxstr << _historyMaxCalls; + Conf::ScalarNode historyMaxCalls(histmaxstr.str()); + Conf::ScalarNode notifyMails(_notifyMails ? "true" : "false"); + Conf::ScalarNode zoneToneChoice(_zoneToneChoice); + std::stringstream expirestr; expirestr << _registrationExpire; + Conf::ScalarNode registrationExpire(expirestr.str()); + Conf::ScalarNode ringtoneEnabled(_ringtoneEnabled ? "true" : "false"); + std::stringstream portstr; portstr << _portNum; + Conf::ScalarNode portNum(portstr.str()); + Conf::ScalarNode searchBarDisplay(_searchBarDisplay ? "true" : "false"); + Conf::ScalarNode zeroConfenable(_zeroConfenable ? "true" : "false"); + Conf::ScalarNode md5Hash(_md5Hash ? "true" : "false"); + + preferencemap.setKeyValue(orderKey, &order); + preferencemap.setKeyValue(audioApiKey, &audioapi); + preferencemap.setKeyValue(historyLimitKey, &historyLimit); + preferencemap.setKeyValue(historyMaxCallsKey, &historyMaxCalls); + preferencemap.setKeyValue(notifyMailsKey, ¬ifyMails); + preferencemap.setKeyValue(zoneToneChoiceKey, &zoneToneChoice); + preferencemap.setKeyValue(registrationExpireKey, ®istrationExpire); + preferencemap.setKeyValue(ringtoneEnabledKey, &ringtoneEnabled); + preferencemap.setKeyValue(portNumKey, &portNum); + preferencemap.setKeyValue(searchBarDisplayKey, &searchBarDisplay); + preferencemap.setKeyValue(zeroConfenableKey, &zeroConfenable); + preferencemap.setKeyValue(md5HashKey, &md5Hash); + + emiter->serializePreference(&preferencemap); +} + +void Preferences::unserialize(Conf::MappingNode *map) +{ + + _debug("Preference: Unserialize configuration"); + + Conf::ScalarNode *val; + + val = (Conf::ScalarNode *)(map->getValue(orderKey)); + if(val) { _accountOrder = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(audioApiKey)); + if(val) { _audioApi = atoi(val->getValue().data()); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(historyLimitKey)); + if(val) { _historyLimit = atoi(val->getValue().data()); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(historyMaxCallsKey)); + if(val) { _historyMaxCalls = atoi(val->getValue().data()); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(notifyMailsKey)); + if(val) { _notifyMails = atoi(val->getValue().data()); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(zoneToneChoiceKey)); + if(val) { _zoneToneChoice = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(registrationExpireKey)); + if(val) { _registrationExpire = atoi(val->getValue().data()); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(ringtoneEnabledKey)); + if(val) { _registrationExpire = atoi(val->getValue().data()); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(portNumKey)); + if(val) { _portNum = atoi(val->getValue().data()); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(searchBarDisplayKey)); + if(val && !val->getValue().empty()) { _searchBarDisplay = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(zeroConfenableKey)); + if(val && !val->getValue().empty()) { _zeroConfenable = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(md5HashKey)); + if(val && !val->getValue().empty()) { _md5Hash = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + + + +} + + +VoipPreference::VoipPreference() : _playDtmf(true) + , _playTones(true) + , _pulseLength(250)// DFT_PULSE_LENGTH_STR + , _sendDtmfAs(0) + , _symmetricRtp(true) + , _zidFile("zidFile")// ZRTP_ZID_FILENAME +{ + +} + +VoipPreference::~VoipPreference() {} + + +void VoipPreference::serialize(Conf::YamlEmitter *emitter) +{ + _debug("VoipPreference: Serialize configuration"); + + Conf::MappingNode preferencemap(NULL); + + Conf::ScalarNode playDtmf(_playDtmf ? "true" : "false"); + Conf::ScalarNode playTones(_playTones ? "true" : "false"); + std::stringstream pulselengthstr; pulselengthstr << _pulseLength; + Conf::ScalarNode pulseLength(pulselengthstr.str()); + std::stringstream senddtmfstr; senddtmfstr << _sendDtmfAs; + Conf::ScalarNode sendDtmfAs(senddtmfstr.str()); + Conf::ScalarNode symmetricRtp(_symmetricRtp ? "true" : "false"); + Conf::ScalarNode zidFile(_zidFile.c_str()); + + preferencemap.setKeyValue(playDtmfKey, &playDtmf); + preferencemap.setKeyValue(playTonesKey, &playTones); + preferencemap.setKeyValue(pulseLengthKey, &pulseLength); + preferencemap.setKeyValue(sendDtmfAsKey, &sendDtmfAs); + preferencemap.setKeyValue(symmetricRtpKey, &symmetricRtp); + preferencemap.setKeyValue(zidFileKey, &zidFile); + + emitter->serializeVoipPreference(&preferencemap); +} + +void VoipPreference::unserialize(Conf::MappingNode *map) +{ + + _debug("VoipPreference: Unserialize configuration"); + + Conf::ScalarNode *val = NULL; + + val = (Conf::ScalarNode *)(map->getValue(playDtmfKey)); + if(val && !val->getValue().empty()) { _playDtmf = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(playTonesKey)); + if(val && !val->getValue().empty()) { _playTones = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(pulseLengthKey)); + if(val) { _pulseLength = atoi(val->getValue().data()); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(sendDtmfAsKey)); + if(val) { _sendDtmfAs = atoi(val->getValue().data()); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(symmetricRtpKey)); + if(val && !val->getValue().empty()) { _symmetricRtp = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(zidFileKey)); + if(val) { _zidFile = val->getValue().c_str(); val = NULL; } + +} + + + +AddressbookPreference::AddressbookPreference() : _photo(true) + , _enabled(true) + , _list("") + , _maxResults(25) + , _business(true) + , _home(true) + , _mobile(true) +{ + +} + +AddressbookPreference::~AddressbookPreference() {} + +void AddressbookPreference::serialize(Conf::YamlEmitter *emitter) +{ + _debug("Addressbook: Serialize configuration"); + + Conf::MappingNode preferencemap(NULL); + + Conf::ScalarNode photo(_photo ? "true" : "false"); + Conf::ScalarNode enabled(_enabled ? "true" : "false"); + Conf::ScalarNode list(_list); + std::stringstream maxresultstr; maxresultstr << _maxResults; + Conf::ScalarNode maxResults(maxresultstr.str()); + Conf::ScalarNode business(_business ? "true" : "false"); + Conf::ScalarNode home(_home ? "true" : "false"); + Conf::ScalarNode mobile(_mobile ? "true" : "false"); + + preferencemap.setKeyValue(photoKey, &photo); + preferencemap.setKeyValue(enabledKey, &enabled); + preferencemap.setKeyValue(listKey, &list); + preferencemap.setKeyValue(maxResultsKey, &maxResults); + preferencemap.setKeyValue(businessKey, &business); + preferencemap.setKeyValue(homeKey, &home); + preferencemap.setKeyValue(mobileKey, &mobile); + + emitter->serializeAddressbookPreference(&preferencemap); + +} + +void AddressbookPreference::unserialize(Conf::MappingNode *map) +{ + _debug("Addressbook: Unserialize configuration"); + + Conf::ScalarNode *val = NULL; + + val = (Conf::ScalarNode *)(map->getValue(photoKey)); + if(val && !(val->getValue().empty())) { _photo = (val->getValue() == "true") ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(enabledKey)); + if(val && !val->getValue().empty()) { _enabled = (val->getValue() == "true") ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(listKey)); + if(val) { _list = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(maxResultsKey)); + if(val) { _maxResults = atoi(val->getValue().data()); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(businessKey)); + if(val && !val->getValue().empty()) { _business = (val->getValue() == "true") ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(homeKey)); + if(val && !val->getValue().empty()) { _home = (val->getValue() == "true") ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(mobileKey)); + if(val && !val->getValue().empty()) { _mobile = (val->getValue() == "true") ? true : false; val = NULL; } + +} + + +HookPreference::HookPreference() : _iax2Enabled(false) + , _numberAddPrefix("") + , _numberEnabled(false) + , _sipEnabled(false) + , _urlCommand("x-www-browser") + , _urlSipField("X-sflphone-url") +{ + +} + +HookPreference::~HookPreference() {} + +void HookPreference::serialize(Conf::YamlEmitter *emitter) +{ + _debug("Hook: Serialize configuration"); + + Conf::MappingNode preferencemap(NULL); + + Conf::ScalarNode iax2Enabled(_iax2Enabled ? "true" : "false"); + Conf::ScalarNode numberAddPrefix(_numberAddPrefix); + Conf::ScalarNode numberEnabled(_numberEnabled ? "true" : "false"); + Conf::ScalarNode sipEnabled(_sipEnabled ? "true" : "false"); + Conf::ScalarNode urlCommand(_urlCommand); + Conf::ScalarNode urlSipField(_urlSipField); + + preferencemap.setKeyValue(iax2EnabledKey, &iax2Enabled); + preferencemap.setKeyValue(numberAddPrefixKey, &numberAddPrefix); + preferencemap.setKeyValue(numberEnabledKey, &numberEnabled); + preferencemap.setKeyValue(sipEnabledKey, &sipEnabled); + preferencemap.setKeyValue(urlCommandKey, &urlCommand); + preferencemap.setKeyValue(urlSipFieldKey, &urlSipField); + + emitter->serializeHooksPreference(&preferencemap); +} + +void HookPreference::unserialize(Conf::MappingNode *map) +{ + Conf::ScalarNode *val = NULL; + + _debug("Hook: Unserialize preference"); + + val = (Conf::ScalarNode *)(map->getValue(iax2EnabledKey)); + if(val) { _iax2Enabled = (val->getValue() == "true") ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(numberAddPrefixKey)); + if(val) { _numberAddPrefix = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(numberEnabledKey)); + if(val) { _numberEnabled = (val->getValue() == "true") ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(sipEnabledKey)); + if(val) { _sipEnabled = (val->getValue() == "true") ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(urlCommandKey)); + if(val) { _urlCommand = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(urlSipFieldKey)); + if(val) { _urlSipField = val->getValue(); val = NULL; } + + +} + + + +AudioPreference::AudioPreference() : _cardin(0) // ALSA_DFT_CARD + , _cardout(0) // ALSA_DFT_CARD + , _cardring(0) // ALSA_DFT_CARD + , _framesize(20) // DFT_FRAME_SIZE + , _plugin("default") // PCM_DEFAULT + , _smplrate(44100) // DFT_SAMPLE_RATE + , _devicePlayback("") + , _deviceRecord("") + , _deviceRingtone("") + , _recordpath("") // DFT_RECORD_PATH + , _ringchoice("/usr/share/sflphone/ringtones/konga.ul") //DFT_RINGTONE + , _volumemic(100) // DFT_VOL_SPKR_STR + , _volumespkr(100) // DFT_VOL_MICRO_STR +{ + +} + +AudioPreference::~AudioPreference() {} + +void AudioPreference::serialize(Conf::YamlEmitter *emitter) +{ + _debug("AudioPreference: Serialize configuration"); + + Conf::MappingNode preferencemap(NULL); + Conf::MappingNode alsapreferencemap(NULL); + Conf::MappingNode pulsepreferencemap(NULL); + + // alsa preference + std::stringstream instr; instr << _cardin; + Conf::ScalarNode cardin(instr.str()); // 0 + std::stringstream outstr; outstr << _cardout; + Conf::ScalarNode cardout(outstr.str()); // 0 + std::stringstream ringstr; ringstr << _cardring; + Conf::ScalarNode cardring(ringstr.str());// 0 + std::stringstream framestr; framestr << _framesize; + Conf::ScalarNode framesize(framestr.str()); // 20 + Conf::ScalarNode plugin(_plugin); // default + std::stringstream ratestr; ratestr << _smplrate; + Conf::ScalarNode smplrate(ratestr.str());// 44100 + + //pulseaudio preference + Conf::ScalarNode devicePlayback(_devicePlayback);//: + Conf::ScalarNode deviceRecord(_deviceRecord); //: + Conf::ScalarNode deviceRingtone(_deviceRingtone); //: + + // general preference + Conf::ScalarNode recordpath(_recordpath); //: /home/msavard/Bureau + Conf::ScalarNode ringchoice(_ringchoice); // : /usr/share/sflphone/ringtones/konga.ul + std::stringstream micstr; micstr << _volumemic; + Conf::ScalarNode volumemic(micstr.str()); //: 100 + std::stringstream spkrstr; spkrstr << _volumespkr; + Conf::ScalarNode volumespkr(spkrstr.str()); //: 100 + + preferencemap.setKeyValue(recordpathKey, &recordpath); + preferencemap.setKeyValue(ringchoiceKey, &ringchoice); + preferencemap.setKeyValue(volumemicKey, &volumemic); + preferencemap.setKeyValue(volumespkrKey, &volumespkr); + + preferencemap.setKeyValue(alsamapKey, &alsapreferencemap); + alsapreferencemap.setKeyValue(cardinKey, &cardin); + alsapreferencemap.setKeyValue(cardoutKey, &cardout); + alsapreferencemap.setKeyValue(cardringKey, &cardring); + alsapreferencemap.setKeyValue(framesizeKey, &framesize); + alsapreferencemap.setKeyValue(pluginKey, &plugin); + alsapreferencemap.setKeyValue(smplrateKey, &smplrate); + + preferencemap.setKeyValue(pulsemapKey, &pulsepreferencemap); + pulsepreferencemap.setKeyValue(devicePlaybackKey, &devicePlayback); + pulsepreferencemap.setKeyValue(deviceRecordKey, &deviceRecord); + pulsepreferencemap.setKeyValue(deviceRingtoneKey, &deviceRingtone); + + emitter->serializeAudioPreference(&preferencemap); + +} + +void AudioPreference::unserialize(Conf::MappingNode *map) +{ + _debug("AudioPreference: Unserialize configuration"); + + Conf::ScalarNode *val = NULL; + + val = (Conf::ScalarNode *)(map->getValue(cardinKey)); + if(val) { _cardin = atoi(val->getValue().data()); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(cardoutKey)); + if(val) { _cardout = atoi(val->getValue().data()); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(cardringKey)); + if(val) { _cardring = atoi(val->getValue().data()); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(framesizeKey)); + if(val) { _framesize = atoi(val->getValue().data()); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(smplrateKey)); + if(val) { _smplrate = atoi(val->getValue().data()); val = NULL; } + + val = (Conf::ScalarNode *)(map->getValue(devicePlaybackKey)); + if(val) { _devicePlayback = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(deviceRecordKey)); + if(val) { _deviceRecord = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(deviceRingtoneKey)); + if(val) { _deviceRingtone = val->getValue(); val = NULL; } + + val = (Conf::ScalarNode *)(map->getValue(recordpathKey)); + if(val) { _recordpath = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(ringchoiceKey)); + if(val) { _ringchoice = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(volumemicKey)); + if(val) { _volumemic = atoi(val->getValue().data()); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(volumespkrKey)); + if(val) { _volumespkr = atoi(val->getValue().data()); val = NULL; } + +} diff --git a/sflphone-common/src/preferences.h b/sflphone-common/src/preferences.h new file mode 100755 index 0000000000000000000000000000000000000000..9ef4de1edf5d58adb06a618d92461029edcc9bd8 --- /dev/null +++ b/sflphone-common/src/preferences.h @@ -0,0 +1,368 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + +#ifndef __PREFERENCE_H__ +#define __PREFERENCE_H__ + +#include "config/serializable.h" + +// general preferences +const Conf::Key orderKey("order"); // : 1234/2345/ +const Conf::Key audioApiKey("audioApi"); // : 0 +const Conf::Key historyLimitKey("historyLimit"); // : 30 +const Conf::Key historyMaxCallsKey("historyMaxCalls"); // : 20 +const Conf::Key notifyMailsKey("notifyMails"); // : false +const Conf::Key zoneToneChoiceKey("zoneToneChoice"); // : North America +const Conf::Key registrationExpireKey("registrationExpire");// : 180 +const Conf::Key ringtoneEnabledKey("ringtoneEnabled"); // : true +const Conf::Key portNumKey("portNum"); // : 5060 +const Conf::Key searchBarDisplayKey("searchBarDisplay"); // : true +const Conf::Key zeroConfenableKey("zeroConfenable"); // : false +const Conf::Key md5HashKey("md5Hash"); // : false + +// voip preferences +const Conf::Key playDtmfKey("playDtmf"); // true true +const Conf::Key playTonesKey("playTones"); // true +const Conf::Key pulseLengthKey("pulseLength"); //=250 +const Conf::Key sendDtmfAsKey("sendDtmfAs");// =0 +const Conf::Key symmetricRtpKey("symmetric");// =true +const Conf::Key zidFileKey("zidFile");// =sfl.zid + +// addressbook preferences +const Conf::Key photoKey("photo");// false +const Conf::Key enabledKey("enabled");// true +const Conf::Key listKey("list");// 1243608768.30329.0@emilou-desktop/1243456917.15690.23@emilou-desktop/ +const Conf::Key maxResultsKey("maxResults");// 25 +const Conf::Key businessKey("business");// true +const Conf::Key homeKey("home");// false +const Conf::Key mobileKey("mobile");// false + +// hooks preferences +const Conf::Key iax2EnabledKey("iax2Enabled");// : false +const Conf::Key numberAddPrefixKey("numberAddPrefix");//: false +const Conf::Key numberEnabledKey("numberEnabled"); //: false +const Conf::Key sipEnabledKey("sipEnabled"); //: false +const Conf::Key urlCommandKey("urlCommand"); //: x-www-browser +const Conf::Key urlSipFieldKey("urlSipField"); //: X-sflphone-url + + +const Conf::Key alsamapKey("alsa"); +const Conf::Key pulsemapKey("pulse"); +const Conf::Key cardinKey("cardin");// : 0 +const Conf::Key cardoutKey("cardout");// 0 +const Conf::Key cardringKey("cardring");// : 0 +const Conf::Key framesizeKey("framesize");// : 20 +const Conf::Key pluginKey("plugin"); //: default +const Conf::Key smplrateKey("smplrate");//: 44100 +const Conf::Key devicePlaybackKey("devicePlayback");//: +const Conf::Key deviceRecordKey("deviceRecord");// : +const Conf::Key deviceRingtoneKey("deviceRingtone");// : +const Conf::Key recordpathKey("recordpath");//: /home/msavard/Bureau +const Conf::Key ringchoiceKey("ringchoice");//: /usr/share/sflphone/ringtones/konga.ul +const Conf::Key volumemicKey("volumemic");//: 100 +const Conf::Key volumespkrKey("volumespkr");//: 100 + + +class Preferences : public Serializable { + + public: + + Preferences(); + + ~Preferences(); + + virtual void serialize(Conf::YamlEmitter *emitter); + + virtual void unserialize(Conf::MappingNode *map); + + + std::string getAccountOrder(void) { return _accountOrder; } + void setAccountOrder(std::string ord) { _accountOrder = ord; } + + int getAudioApi(void) { return _audioApi; } + void setAudioApi(int api) { _audioApi = api; } + + int getHistoryLimit(void) { return _historyLimit; } + void setHistoryLimit(int lim) { _historyLimit = lim; } + + int getHistoryMaxCalls(void) { return _historyMaxCalls; } + void setHistoryMaxCalls(int max) { _historyMaxCalls = max; } + + bool getNotifyMails(void) { return _notifyMails; } + void setNotifyMails(bool mails) { _notifyMails = mails; } + + std::string getZoneToneChoice(void) { return _zoneToneChoice; } + void setZoneToneChoice(std::string str) { _zoneToneChoice = str; } + + int getRegistrationExpire(void) { return _registrationExpire; } + void setRegistrationExpire(int exp) { _registrationExpire = exp; } + + bool getRingtoneEnabled(void) { return _ringtoneEnabled; } + void setRingtoneEnabled(bool ring) { _ringtoneEnabled = ring; } + + int getPortNum(void) { return _portNum; } + void setPortNum(int port) { _portNum = port; } + + bool getSearchBarDisplay(void) { return _searchBarDisplay; } + void setSearchBarDisplay(bool search) { _searchBarDisplay = search; } + + bool getZeroConfenable(void) { return _zeroConfenable; } + void setZeroConfenable(bool enable) { _zeroConfenable = enable; } + + bool getMd5Hash(void) { return _md5Hash; } + void setMd5Hash(bool md5) { _md5Hash = md5; } + + private: + + // account order + std::string _accountOrder; + + int _audioApi; + int _historyLimit; + int _historyMaxCalls; + bool _notifyMails; + std::string _zoneToneChoice; + int _registrationExpire; + bool _ringtoneEnabled; + int _portNum; + bool _searchBarDisplay; + bool _zeroConfenable; + bool _md5Hash; + +}; + + +class VoipPreference : public Serializable { + + public: + + VoipPreference(); + + ~VoipPreference(); + + virtual void serialize(Conf::YamlEmitter *emitter); + + virtual void unserialize(Conf::MappingNode *map); + + bool getPlayDtmf(void) { return _playDtmf; } + void setPlayDtmf(bool dtmf) { _playDtmf = dtmf; } + + bool getPlayTones(void) { return _playTones; } + void setPlayTones(bool tone) { _playTones = tone; } + + int getPulseLength(void) { return _pulseLength; } + void setPulseLength(int length) { _pulseLength = length; } + + int getSendDtmfAs(void) { return _sendDtmfAs; } + void setSendDtmfAs(int dtmf) { _sendDtmfAs = dtmf; } + + bool getSymmetricRtp(void) { return _symmetricRtp; } + void setSymmetricRtp(bool sym) { _symmetricRtp = sym; } + + std::string getZidFile(void) { return _zidFile; } + void setZidFile(std::string file) { _zidFile = file; } + + private: + + bool _playDtmf; + bool _playTones; + int _pulseLength; + int _sendDtmfAs; + bool _symmetricRtp; + std::string _zidFile; + +}; + +class AddressbookPreference : public Serializable { + + public: + + AddressbookPreference(); + + ~AddressbookPreference(); + + virtual void serialize(Conf::YamlEmitter *emitter); + + virtual void unserialize(Conf::MappingNode *map); + + bool getPhoto(void) { return _photo;} + void setPhoto(bool p) { _photo = p; } + + bool getEnabled(void) { return _enabled; } + void setEnabled(bool e) { _enabled = e; } + + std::string getList(void) { return _list; } + void setList(std::string l) { _list = l; } + + int getMaxResults(void) { return _maxResults; } + void setMaxResults(int r) { _maxResults = r; } + + bool getBusiness(void) { return _business; } + void setBusiness(bool b) { _business = b; } + + bool getHome(void) { return _home; } + void setHone(bool h) { _home = h; } + + bool getMobile(void) { return _mobile; } + void setMobile(bool m) { _mobile = m; } + + private: + + bool _photo; + bool _enabled; + std::string _list; + int _maxResults; + bool _business; + bool _home; + bool _mobile; + +}; + + +class HookPreference : public Serializable { + + public: + + HookPreference(); + + ~HookPreference(); + + virtual void serialize(Conf::YamlEmitter *emitter); + + virtual void unserialize(Conf::MappingNode *map); + + bool getIax2Enabled(void) { return _iax2Enabled; } + void setIax2Enabled( bool i) { _iax2Enabled = i; } + + std::string getNumberAddPrefix(void) { return _numberAddPrefix; } + void setNumberAddPrefix(std::string n) { _numberAddPrefix = n; } + + bool getNumberEnabled(void) { return _numberEnabled; } + void setNumberEnabled(bool n) { _numberEnabled = n; } + + bool getSipEnabled(void) { return _sipEnabled; } + void setSipEnabled(bool s) { _sipEnabled = s; } + + std::string getUrlCommand(void) { return _urlCommand; } + void setUrlCommand(std::string u) { _urlCommand = u; } + + std::string getUrlSipField(void) { return _urlSipField; } + void setUrlSipField(std::string u) { _urlSipField = u; } + + private: + + bool _iax2Enabled;// : false + std::string _numberAddPrefix;//: false + bool _numberEnabled; //: false + bool _sipEnabled; //: false + std::string _urlCommand; //: x-www-browser + std::string _urlSipField; //: X-sflphone-url + +}; + + +class AudioPreference : public Serializable { + + public: + + AudioPreference(); + + ~AudioPreference(); + + virtual void serialize(Conf::YamlEmitter *emitter); + + virtual void unserialize(Conf::MappingNode *map); + + // alsa preference + int getCardin(void) { return _cardin; } + void setCardin(int c) { _cardin = c; } + + int getCardout(void) { return _cardout; } + void setCardout(int c) { _cardout = c; } + + int getCardring(void) { return _cardring; } + void setCardring(int c) { _cardring = c; } + + int getFramesize(void) { return _framesize; } + void setFramesize(int f) { _framesize = f; } + + std::string getPlugin(void) { return _plugin; } + void setPlugin(std::string p) { _plugin = p; } + + int getSmplrate(void) { return _smplrate; } + void setSmplrate(int r) { _smplrate = r; } + + //pulseaudio preference + std::string getDevicePlayback(void) { return _devicePlayback; } + void setDevicePlayback(std::string p) { _devicePlayback = p; } + + std::string getDeviceRecord(void) { return _deviceRecord; } + void setDeviceRecord(std::string r) { _deviceRecord = r; } + + std::string getDeviceRingtone(void) { return _deviceRingtone; } + void setDeviceRingtone(std::string r) { _deviceRingtone = r; } + + // general preference + std::string getRecordpath(void) { return _recordpath; } + void setRecordpath(std::string r) { _recordpath = r; } + + std::string getRingchoice(void) { return _ringchoice; } + void setRingchoice(std::string r) { _ringchoice = r; } + + int getVolumemic(void) { return _volumemic; } + void setVolumemic(int m) { _volumemic = m; } + + int getVolumespkr(void) { return _volumespkr; } + void setVolumespkr(int s) { _volumespkr = s; } + + private: + + // alsa preference + int _cardin; // 0 + int _cardout; // 0 + int _cardring;// 0 + int _framesize; // 20 + std::string _plugin; // default + int _smplrate;// 44100 + + //pulseaudio preference + std::string _devicePlayback;//: + std::string _deviceRecord; //: + std::string _deviceRingtone; //: + + // general preference + std::string _recordpath; //: /home/msavard/Bureau + std::string _ringchoice; // : /usr/share/sflphone/ringtones/konga.ul + int _volumemic; //: 100 + int _volumespkr; //: 100 + +}; + +#endif diff --git a/sflphone-common/src/sip/sipaccount.cpp b/sflphone-common/src/sip/sipaccount.cpp old mode 100644 new mode 100755 index 97318b47928130283ed86f44dcd0dd056f1edbc8..fad078f22ff9ee61aa8e27cf9c45a4959ad13054 --- a/sflphone-common/src/sip/sipaccount.cpp +++ b/sflphone-common/src/sip/sipaccount.cpp @@ -34,30 +34,105 @@ #include "manager.h" #include "user_cfg.h" #include <pwd.h> +#include <sstream> + +// CredentialItem::CredentialItem() {} + +// CredentialItem::~CredentialItem() {} + +Credentials::Credentials() : credentialCount(0) {} + +Credentials::~Credentials() {} + +void Credentials::setNewCredential(std::string username, std::string password, std::string realm) +{ + credentialArray[credentialCount].username = username; + credentialArray[credentialCount].password = password; + credentialArray[credentialCount].realm = realm; + +} + +CredentialItem *Credentials::getCredential(int index) +{ + if((index >= 0) && (index < credentialCount)) + return &(credentialArray[index]); + else + return NULL; +} + +void Credentials::serialize(Conf::YamlEmitter *emitter) +{ + +} + +void Credentials::unserialize(Conf::MappingNode *map) +{ + + Conf::ScalarNode *val = NULL; + + _debug("SipAccount: Unserialize"); + + val = (Conf::ScalarNode *)(map->getValue(credentialCountKey)); + if(val) { credentialCount = atoi(val->getValue().data()); val = NULL; } +} + + SIPAccount::SIPAccount (const AccountID& accountID) - : Account (accountID, "sip") + : Account (accountID, "SIP") , _routeSet("") , _regc (NULL) , _bRegister (false) , _registrationExpire ("") + , _interface("default") , _publishedSameasLocal (true) , _publishedIpAddress ("") , _localPort (atoi (DEFAULT_SIP_PORT)) , _publishedPort (atoi (DEFAULT_SIP_PORT)) + , _serviceRoute("") , _tlsListenerPort (atoi (DEFAULT_SIP_TLS_PORT)) , _transportType (PJSIP_TRANSPORT_UNSPECIFIED) , _transport (NULL) , _resolveOnce (false) - , _credentialCount (0) , _cred (NULL) , _realm (DEFAULT_REALM) , _authenticationUsername ("") , _tlsSetting (NULL) , _dtmfType(OVERRTP) - , _displayName ("") + , _tlsEnable("") + , _tlsPortStr(DEFAULT_SIP_TLS_PORT) + , _tlsCaListFile("") + , _tlsCertificateFile("") + , _tlsPrivateKeyFile("") + , _tlsPassword("") + , _tlsMethod("TLSv1") + , _tlsCiphers("") + , _tlsServerName("") + , _tlsVerifyServer(true) + , _tlsVerifyClient(true) + , _tlsRequireClientCertificate(true) + , _tlsNegotiationTimeoutSec("2") + , _tlsNegotiationTimeoutMsec("0") + , _stunServer(DFT_STUN_SERVER) + , _tlsEnabled(false) + , _stunEnabled(false) + // , _routeSet("") + // , _tlsListenerPort("5061") + , _srtpEnabled(false) + , _srtpKeyExchange("sdes") + , _srtpFallback(false) + , _zrtpDisplaySas(true) + , _zrtpDisplaySasOnce(false) + , _zrtpHelloHash(true) + , _zrtpNotSuppWarning(true) { + _debug("Sip account constructor called"); + + _stunServerName.ptr = NULL; + _stunServerName.slen = 0; + _stunPort = 0; + // IP2IP settings must be loaded before singleton instanciation, cannot call it here... // _link = SIPVoIPLink::instance (""); @@ -70,7 +145,8 @@ SIPAccount::SIPAccount (const AccountID& accountID) SIPAccount::~SIPAccount() { /* One SIP account less connected to the sip voiplink */ - dynamic_cast<SIPVoIPLink*> (_link)->decrementClients(); + if(_accountID != "default") + dynamic_cast<SIPVoIPLink*> (_link)->decrementClients(); /* Delete accounts-related information */ _regc = NULL; @@ -78,6 +154,537 @@ SIPAccount::~SIPAccount() free (_tlsSetting); } +void SIPAccount::serialize(Conf::YamlEmitter *emitter) { + + _debug("SipAccount: serialize %s", _accountID.c_str()); + + + Conf::MappingNode accountmap(NULL); + Conf::MappingNode credentialmap(NULL); + Conf::MappingNode srtpmap(NULL); + Conf::MappingNode zrtpmap(NULL); + Conf::MappingNode tlsmap(NULL); + + Conf::ScalarNode id(Account::_accountID); + Conf::ScalarNode username(Account::_username); + Conf::ScalarNode password(Account::_password); + Conf::ScalarNode alias(Account::_alias); + Conf::ScalarNode hostname(Account::_hostname); + Conf::ScalarNode enable(_enabled ? "true" : "false"); + Conf::ScalarNode type(Account::_type); + Conf::ScalarNode expire(_registrationExpire); + Conf::ScalarNode interface(_interface); + std::stringstream portstr; portstr << _localPort; + Conf::ScalarNode port(portstr.str()); + Conf::ScalarNode serviceRoute(_serviceRoute); + + Conf::ScalarNode mailbox("97"); + Conf::ScalarNode publishAddr(_publishedIpAddress); + std::stringstream publicportstr; publicportstr << _publishedPort; + Conf::ScalarNode publishPort(publicportstr.str()); + Conf::ScalarNode sameasLocal(_publishedSameasLocal ? "true" : "false"); + Conf::ScalarNode resolveOnce(_resolveOnce ? "true" : "false"); + Conf::ScalarNode codecs(_codecStr); + Conf::ScalarNode stunServer(_stunServer); + Conf::ScalarNode stunEnabled(_stunEnabled ? "true" : "false"); + Conf::ScalarNode displayName(_displayName); + Conf::ScalarNode dtmfType(_dtmfType==0 ? "overrtp" : "sipinfo"); + + std::stringstream countstr; countstr << 0; + Conf::ScalarNode count(countstr.str()); + + Conf::ScalarNode srtpenabled(_srtpEnabled ? "true" : "false"); + Conf::ScalarNode keyExchange(_srtpKeyExchange); + Conf::ScalarNode rtpFallback(_srtpFallback ? "true" : "false"); + + Conf::ScalarNode displaySas(_zrtpDisplaySas ? "true" : "false"); + Conf::ScalarNode displaySasOnce(_zrtpDisplaySasOnce ? "true" : "false"); + Conf::ScalarNode helloHashEnabled(_zrtpHelloHash ? "true" : "false"); + Conf::ScalarNode notSuppWarning(_zrtpNotSuppWarning ? "true" : "false"); + + Conf::ScalarNode tlsport(_tlsPortStr); + Conf::ScalarNode certificate(_tlsCertificateFile); + Conf::ScalarNode calist(_tlsCaListFile); + Conf::ScalarNode ciphers(_tlsCiphers); + Conf::ScalarNode tlsenabled(_tlsEnable); + Conf::ScalarNode tlsmethod(_tlsMethod); + Conf::ScalarNode timeout(_tlsNegotiationTimeoutSec); + Conf::ScalarNode tlspassword(_tlsPassword); + Conf::ScalarNode privatekey(_tlsPrivateKeyFile); + Conf::ScalarNode requirecertif(_tlsRequireClientCertificate ? "true" : "false"); + Conf::ScalarNode server(_tlsServerName); + Conf::ScalarNode verifyclient(_tlsVerifyServer ? "true" : "false"); + Conf::ScalarNode verifyserver(_tlsVerifyClient ? "true" : "false"); + + accountmap.setKeyValue(aliasKey, &alias); + accountmap.setKeyValue(typeKey, &type); + accountmap.setKeyValue(idKey, &id); + accountmap.setKeyValue(usernameKey, &username); + accountmap.setKeyValue(passwordKey, &password); + accountmap.setKeyValue(hostnameKey, &hostname); + accountmap.setKeyValue(accountEnableKey, &enable); + accountmap.setKeyValue(mailboxKey, &mailbox); + accountmap.setKeyValue(expireKey, &expire); + accountmap.setKeyValue(interfaceKey, &interface); + accountmap.setKeyValue(portKey, &port); + accountmap.setKeyValue(stunServerKey, &stunServer); + accountmap.setKeyValue(stunEnabledKey, &stunEnabled); + accountmap.setKeyValue(publishAddrKey, &publishAddr); + accountmap.setKeyValue(publishPortKey, &publishPort); + accountmap.setKeyValue(sameasLocalKey, &sameasLocal); + accountmap.setKeyValue(resolveOnceKey, &resolveOnce); + accountmap.setKeyValue(serviceRouteKey, &serviceRoute); + accountmap.setKeyValue(dtmfTypeKey, &dtmfType); + accountmap.setKeyValue(displayNameKey, &displayName); + accountmap.setKeyValue(codecsKey, &codecs); + + accountmap.setKeyValue(srtpKey, &srtpmap); + srtpmap.setKeyValue(srtpEnableKey, &srtpenabled); + srtpmap.setKeyValue(keyExchangeKey, &keyExchange); + srtpmap.setKeyValue(rtpFallbackKey, &rtpFallback); + + accountmap.setKeyValue(zrtpKey, &zrtpmap); + zrtpmap.setKeyValue(displaySasKey, &displaySas); + zrtpmap.setKeyValue(displaySasOnceKey, &displaySasOnce); + zrtpmap.setKeyValue(helloHashEnabledKey, &helloHashEnabled); + zrtpmap.setKeyValue(notSuppWarningKey, ¬SuppWarning); + + accountmap.setKeyValue(credKey, &credentialmap); + credentialmap.setKeyValue(credentialCountKey, &count); + + accountmap.setKeyValue(tlsKey, &tlsmap); + tlsmap.setKeyValue(tlsPortKey, &tlsport); + tlsmap.setKeyValue(certificateKey, &certificate); + tlsmap.setKeyValue(calistKey, &calist); + tlsmap.setKeyValue(ciphersKey, &ciphers); + tlsmap.setKeyValue(tlsEnableKey, &tlsenabled); + tlsmap.setKeyValue(methodKey, &tlsmethod); + tlsmap.setKeyValue(timeoutKey, &timeout); + tlsmap.setKeyValue(tlsPasswordKey, &tlspassword); + tlsmap.setKeyValue(privateKeyKey, &privatekey); + tlsmap.setKeyValue(requireCertifKey, &requirecertif); + tlsmap.setKeyValue(serverKey, &server); + tlsmap.setKeyValue(verifyClientKey, &verifyclient); + tlsmap.setKeyValue(verifyServerKey, &verifyserver); + + try{ + emitter->serializeAccount(&accountmap); + } + catch (Conf::YamlEmitterException &e) { + _error("ConfigTree: %s", e.what()); + } +} + + +void SIPAccount::unserialize(Conf::MappingNode *map) +{ + Conf::ScalarNode *val; + Conf::MappingNode *srtpMap; + Conf::MappingNode *tlsMap; + Conf::MappingNode *zrtpMap; + Conf::MappingNode *credMap; + + _debug("SipAccount: Unserialize %s", _accountID.c_str()); + + val = (Conf::ScalarNode *)(map->getValue(aliasKey)); + if(val) { _alias = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(typeKey)); + if(val) { _type = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(idKey)); + if(val) { _accountID = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(usernameKey)); + if(val) { _username = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(passwordKey)); + if(val) { _password = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(hostnameKey)); + if(val) { _hostname = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(accountEnableKey)); + if(val) { _enabled = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + // val = (Conf::ScalarNode *)(map->getValue(mailboxKey)); + + val = (Conf::ScalarNode *)(map->getValue(codecsKey)); + if(val) { _codecStr = val->getValue(); val = NULL; } + + val = (Conf::ScalarNode *)(map->getValue(expireKey)); + if(val) { _registrationExpire = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(interfaceKey)); + if(val) { _interface = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(portKey)); + if(val) { _localPort = atoi(val->getValue().data()); val = NULL; } + // val = (Conf::ScalarNode *)(map->getValue(mailboxKey)); + val = (Conf::ScalarNode *)(map->getValue(publishAddrKey)); + if(val) { _publishedIpAddress = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(publishPortKey)); + if(val) { _publishedPort = atoi(val->getValue().data()); val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(sameasLocalKey)); + if(val) { _publishedSameasLocal = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(resolveOnceKey)); + if(val) { _resolveOnce = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(dtmfTypeKey)); + if(val) { val = NULL; } + // _dtmfType = atoi(val->getValue(); + val = (Conf::ScalarNode *)(map->getValue(serviceRouteKey)); + if(val) { _serviceRoute = val->getValue(); } + + // stun enabled + val = (Conf::ScalarNode *)(map->getValue(stunEnabledKey)); + if(val) { _stunEnabled = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(map->getValue(stunServerKey)); + if(val) { _stunServer = val->getValue(); val = NULL; } + _stunServerName = pj_str ( (char*) _stunServer.data()); + + credMap = (Conf::MappingNode *)(map->getValue(credKey)); + credentials.unserialize(credMap); + + val = (Conf::ScalarNode *)(map->getValue(displayNameKey)); + if(val) { _displayName = val->getValue(); val = NULL; } + + // get srtp submap + srtpMap = (Conf::MappingNode *)(map->getValue(srtpKey)); + if(!srtpMap) + throw SipAccountException(" did not found srtp map"); + + val = (Conf::ScalarNode *)(srtpMap->getValue(srtpEnableKey)); + if(val) { _srtpEnabled = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(srtpMap->getValue(keyExchangeKey)); + if(val) { _srtpKeyExchange = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(srtpMap->getValue(rtpFallbackKey)); + if(val) { _srtpFallback = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + + // get zrtp submap + zrtpMap = (Conf::MappingNode *)(map->getValue(zrtpKey)); + if(!zrtpMap) + throw SipAccountException(" did not found zrtp map"); + + val = (Conf::ScalarNode *)(zrtpMap->getValue(displaySasKey)); + if(val) { _zrtpDisplaySas = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(zrtpMap->getValue(displaySasOnceKey)); + if(val) { _zrtpDisplaySasOnce = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(zrtpMap->getValue(helloHashEnabledKey)); + if(val) { _zrtpHelloHash = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(zrtpMap->getValue(notSuppWarningKey)); + if(val) { _zrtpNotSuppWarning = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + + // get tls submap + tlsMap = (Conf::MappingNode *)(map->getValue(tlsKey)); + if(!tlsMap) + throw SipAccountException(" did not found tls map"); + + val = (Conf::ScalarNode *)(tlsMap->getValue(tlsEnableKey)); + if(val) { _tlsEnable = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(tlsMap->getValue(tlsPortKey)); + if(val) { _tlsPortStr = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(tlsMap->getValue(certificateKey)); + if(val) { _tlsCertificateFile = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(tlsMap->getValue(calistKey)); + if(val) { _tlsCaListFile = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(tlsMap->getValue(ciphersKey)); + if(val) { _tlsCiphers = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(tlsMap->getValue(methodKey)); + if(val) { _tlsMethod = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(tlsMap->getValue(timeoutKey)); + if(val) _tlsNegotiationTimeoutSec = val->getValue(); + if(val) { _tlsNegotiationTimeoutMsec = val->getValue(); val=NULL; } + val = (Conf::ScalarNode *)(tlsMap->getValue(tlsPasswordKey)); + if(val) { _tlsPassword = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(tlsMap->getValue(privateKeyKey)); + if(val) { _tlsPrivateKeyFile = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(tlsMap->getValue(requireCertifKey)); + if(val) { _tlsRequireClientCertificate = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(tlsMap->getValue(serverKey)); + if(val) { _tlsServerName = val->getValue(); val = NULL; } + val = (Conf::ScalarNode *)(tlsMap->getValue(verifyClientKey)); + if(val) { _tlsVerifyServer = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + val = (Conf::ScalarNode *)(tlsMap->getValue(verifyServerKey)); + if(val) { _tlsVerifyClient = (val->getValue().compare("true") == 0) ? true : false; val = NULL; } + +} + + +void SIPAccount::setAccountDetails(const std::map<std::string, std::string>& details) +{ + + std::map<std::string, std::string> map_cpy; + std::map<std::string, std::string>::iterator iter; + + _debug("SipAccount: set account details %s", _accountID.c_str()); + + // Work on a copy + map_cpy = details; + + std::string alias; + std::string type; + std::string hostname; + std::string username; + std::string password; + std::string mailbox; + std::string accountEnable; + + // Account setting common to SIP and IAX + find_in_map(CONFIG_ACCOUNT_ALIAS, alias) + find_in_map(CONFIG_ACCOUNT_TYPE, type) + find_in_map(HOSTNAME, hostname) + find_in_map(USERNAME, username) + find_in_map(PASSWORD, password) + find_in_map(CONFIG_ACCOUNT_MAILBOX, mailbox); + find_in_map(CONFIG_ACCOUNT_ENABLE, accountEnable); + + setAlias(alias); + setType(type); + setUsername(username); + setHostname(hostname); + setPassword(password); + setEnabled((accountEnable.compare("true") == 0) ? true : false); + + // SIP specific account settings + if(getType() == "SIP") { + + std::string ua_name; + std::string realm; + std::string routeset; + std::string authenticationName; + + std::string resolveOnce; + std::string registrationExpire; + + std::string displayName; + std::string localInterface; + std::string publishedSameasLocal; + std::string localAddress; + std::string publishedAddress; + std::string localPort; + std::string publishedPort; + std::string stunEnable; + std::string stunServer; + std::string dtmfType; + std::string srtpEnable; + std::string srtpRtpFallback; + std::string zrtpDisplaySas; + std::string zrtpDisplaySasOnce; + std::string zrtpNotSuppWarning; + std::string zrtpHelloHash; + std::string srtpKeyExchange; + + std::string tlsListenerPort; + std::string tlsEnable; + std::string tlsCaListFile; + std::string tlsCertificateFile; + std::string tlsPrivateKeyFile; + std::string tlsPassword; + std::string tlsMethod; + std::string tlsCiphers; + std::string tlsServerName; + std::string tlsVerifyServer; + std::string tlsVerifyClient; + std::string tlsRequireClientCertificate; + std::string tlsNegotiationTimeoutSec; + std::string tlsNegotiationTimeoutMsec; + + // general sip settings + find_in_map(DISPLAY_NAME, displayName) + find_in_map(ROUTESET, routeset) + find_in_map(LOCAL_INTERFACE, localInterface) + find_in_map(PUBLISHED_SAMEAS_LOCAL, publishedSameasLocal) + find_in_map(PUBLISHED_ADDRESS, publishedAddress) + find_in_map(LOCAL_PORT, localPort) + find_in_map(PUBLISHED_PORT, publishedPort) + find_in_map(STUN_ENABLE, stunEnable) + find_in_map(STUN_SERVER, stunServer) + find_in_map(ACCOUNT_DTMF_TYPE, dtmfType) + find_in_map(CONFIG_ACCOUNT_RESOLVE_ONCE, resolveOnce) + find_in_map(CONFIG_ACCOUNT_REGISTRATION_EXPIRE, registrationExpire) + + setDisplayName(displayName); + setServiceRoute(routeset); + setLocalInterface(localInterface); + setPublishedSameasLocal((publishedSameasLocal.compare("true") == 0) ? true : false); + setPublishedAddress(publishedAddress); + setLocalPort(atoi(localPort.data())); + setPublishedPort(atoi(publishedPort.data())); + setStunServer(stunServer); + setStunEnabled((stunEnable == "true")); + setResolveOnce((resolveOnce.compare("true")==0) ? true : false); + setRegistrationExpire(registrationExpire); + + // sip credential + find_in_map(REALM, realm) + find_in_map(AUTHENTICATION_USERNAME, authenticationName) + find_in_map(USERAGENT, ua_name) + + setUseragent(ua_name); + + // srtp settings + find_in_map(SRTP_ENABLE, srtpEnable) + find_in_map(SRTP_RTP_FALLBACK, srtpRtpFallback) + find_in_map(ZRTP_DISPLAY_SAS, zrtpDisplaySas) + find_in_map(ZRTP_DISPLAY_SAS_ONCE, zrtpDisplaySasOnce) + find_in_map(ZRTP_NOT_SUPP_WARNING, zrtpNotSuppWarning) + find_in_map(ZRTP_HELLO_HASH, zrtpHelloHash) + find_in_map(SRTP_KEY_EXCHANGE, srtpKeyExchange) + + setSrtpEnable((srtpEnable.compare("true") == 0) ? true : false); + setSrtpFallback((srtpRtpFallback.compare("true") == 0) ? true : false); + setZrtpDisplaySas((zrtpDisplaySas.compare("true") == 0) ? true : false); + setZrtpDiaplaySasOnce((zrtpDisplaySasOnce.compare("true") == 0) ? true : false); + setZrtpNotSuppWarning((zrtpNotSuppWarning.compare("true") == 0) ? true : false); + setZrtpHelloHash((zrtpHelloHash.compare("true") == 0) ? true : false); + // sipaccount->setSrtpKeyExchange((srtpKeyExchange.compare("true") == 0) ? true : false); + setSrtpKeyExchange(srtpKeyExchange); + + // TLS settings + // The TLS listener is unique and globally defined through IP2IP_PROFILE + if(_accountID == IP2IP_PROFILE) { + find_in_map(TLS_LISTENER_PORT, tlsListenerPort) + } + find_in_map(TLS_ENABLE, tlsEnable) + find_in_map(TLS_CA_LIST_FILE, tlsCaListFile) + find_in_map(TLS_CERTIFICATE_FILE, tlsCertificateFile) + find_in_map(TLS_PRIVATE_KEY_FILE, tlsPrivateKeyFile) + find_in_map(TLS_PASSWORD, tlsPassword) + find_in_map(TLS_METHOD, tlsMethod) + find_in_map(TLS_CIPHERS, tlsCiphers) + find_in_map(TLS_SERVER_NAME, tlsServerName) + find_in_map(TLS_VERIFY_SERVER, tlsVerifyServer) + find_in_map(TLS_VERIFY_CLIENT, tlsVerifyClient) + find_in_map(TLS_REQUIRE_CLIENT_CERTIFICATE, tlsRequireClientCertificate) + find_in_map(TLS_NEGOTIATION_TIMEOUT_SEC, tlsNegotiationTimeoutSec) + find_in_map(TLS_NEGOTIATION_TIMEOUT_MSEC, tlsNegotiationTimeoutMsec) + + if (_accountID == IP2IP_PROFILE){ + setTlsListenerPort(atoi(tlsListenerPort.data())); + } + setTlsEnable(tlsEnable); + setTlsCaListFile(tlsCaListFile); + setTlsCertificateFile(tlsCertificateFile); + setTlsPrivateKeyFile(tlsPrivateKeyFile); + setTlsPassword(tlsPassword); + setTlsMethod(tlsMethod); + setTlsCiphers(tlsCiphers); + setTlsServerName(tlsServerName); + setTlsVerifyServer(tlsVerifyServer.compare("true") ? true : false); + setTlsVerifyClient(tlsVerifyServer.compare("true") ? true : false); + setTlsRequireClientCertificate(tlsRequireClientCertificate.compare("true") ? true : false); + setTlsNegotiationTimeoutSec(tlsNegotiationTimeoutSec); + setTlsNegotiationTimeoutMsec(tlsNegotiationTimeoutMsec); + + if (!Manager::instance().preferences.getMd5Hash()) { + setPassword(password); + } else { + // Make sure not to re-hash the password field if + // it is already saved as a MD5 Hash. + // TODO: This test is weak. Fix this. + if ((password.compare(getPassword()) != 0)) { + _debug ("SipAccount: Password sent and password from config are different. Re-hashing"); + std::string hash; + + if (authenticationName.empty()) { + hash = Manager::instance().computeMd5HashFromCredential(username, password, realm); + } else { + hash = Manager::instance().computeMd5HashFromCredential(authenticationName, password, realm); + } + + setPassword(hash); + } + } + } +} + +std::map<std::string, std::string> SIPAccount::getAccountDetails() +{ + _debug("SipAccount: get account details %s", _accountID.c_str()); + + std::map<std::string, std::string> a; + + a.insert(std::pair<std::string, std::string>(ACCOUNT_ID, _accountID)); + // The IP profile does not allow to set an alias + (_accountID == IP2IP_PROFILE) ? + a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_ALIAS, IP2IP_PROFILE)) : + a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_ALIAS, getAlias())); + + a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_ENABLE, isEnabled() ? "true" : "false")); + a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_TYPE, getType())); + a.insert(std::pair<std::string, std::string>(HOSTNAME, getHostname())); + a.insert(std::pair<std::string, std::string>(USERNAME, getUsername())); + a.insert(std::pair<std::string, std::string>(PASSWORD, getPassword())); + + RegistrationState state = Unregistered; + std::string registrationStateCode; + std::string registrationStateDescription; + + + if (_accountID == IP2IP_PROFILE) { + registrationStateCode = EMPTY_FIELD; + registrationStateDescription = "Direct IP call"; + } else { + state = getRegistrationState(); + int code = getRegistrationStateDetailed().first; + std::stringstream out; out << code; + registrationStateCode = out.str(); + registrationStateDescription = getRegistrationStateDetailed().second; + } + + + (_accountID == IP2IP_PROFILE) ? + a.insert(std::pair<std::string, std::string>(REGISTRATION_STATUS, "READY")) : + a.insert(std::pair<std::string, std::string>(REGISTRATION_STATUS, Manager::instance().mapStateNumberToString(state))); + + a.insert(std::pair<std::string, std::string>(REGISTRATION_STATE_CODE, registrationStateCode)); + a.insert(std::pair<std::string, std::string>(REGISTRATION_STATE_DESCRIPTION, registrationStateDescription)); + + // Add sip specific details + if(getType() == "SIP") { + + a.insert(std::pair<std::string, std::string>(ROUTESET, getServiceRoute())); + a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_RESOLVE_ONCE, isResolveOnce() ? "true" : "false")); + a.insert(std::pair<std::string, std::string>(REALM, _realm)); + a.insert(std::pair<std::string, std::string>(USERAGENT, getUseragent())); + + a.insert(std::pair<std::string, std::string>(CONFIG_ACCOUNT_REGISTRATION_EXPIRE, getRegistrationExpire())); + a.insert(std::pair<std::string, std::string>(LOCAL_INTERFACE, getLocalInterface())); + a.insert(std::pair<std::string, std::string>(PUBLISHED_SAMEAS_LOCAL, getPublishedSameasLocal() ? "true" : "false")); + a.insert(std::pair<std::string, std::string>(PUBLISHED_ADDRESS, getPublishedAddress())); + + std::stringstream localport; localport << getLocalPort(); + a.insert(std::pair<std::string, std::string>(LOCAL_PORT, localport.str())); + std::stringstream publishedport; publishedport << getPublishedPort(); + a.insert(std::pair<std::string, std::string>(PUBLISHED_PORT, publishedport.str())); + a.insert(std::pair<std::string, std::string>(STUN_ENABLE, isStunEnabled() ? "true" : "false")); + a.insert(std::pair<std::string, std::string>(STUN_SERVER, getStunServer())); + a.insert(std::pair<std::string, std::string>(ACCOUNT_DTMF_TYPE, (getDtmfType() == 0) ? "0" : "1")); + + a.insert(std::pair<std::string, std::string>(SRTP_KEY_EXCHANGE, getSrtpKeyExchange())); + a.insert(std::pair<std::string, std::string>(SRTP_ENABLE, getSrtpEnable() ? "true" : "false")); + a.insert(std::pair<std::string, std::string>(SRTP_RTP_FALLBACK, getSrtpFallback() ? "true" : "false")); + + a.insert(std::pair<std::string, std::string>(ZRTP_DISPLAY_SAS, getZrtpDisplaySas() ? "true" : "false")); + a.insert(std::pair<std::string, std::string>(ZRTP_DISPLAY_SAS_ONCE, getZrtpDiaplaySasOnce() ? "true" : "false")); + a.insert(std::pair<std::string, std::string>(ZRTP_HELLO_HASH, getZrtpHelloHash() ? "true" : "false")); + a.insert(std::pair<std::string, std::string>(ZRTP_NOT_SUPP_WARNING, getZrtpNotSuppWarning() ? "true" : "false")); + + // TLS listener is unique and parameters are modified through IP2IP_PROFILE + std::stringstream tlslistenerport; + tlslistenerport << getTlsListenerPort(); + a.insert(std::pair<std::string, std::string>(TLS_LISTENER_PORT, tlslistenerport.str())); + a.insert(std::pair<std::string, std::string>(TLS_ENABLE, getTlsEnable())); + a.insert(std::pair<std::string, std::string>(TLS_CA_LIST_FILE, getTlsCaListFile())); + a.insert(std::pair<std::string, std::string>(TLS_CERTIFICATE_FILE, getTlsCertificateFile())); + a.insert(std::pair<std::string, std::string>(TLS_PRIVATE_KEY_FILE, getTlsPrivateKeyFile())); + a.insert(std::pair<std::string, std::string>(TLS_PASSWORD, getTlsPassword())); + a.insert(std::pair<std::string, std::string>(TLS_METHOD, getTlsMethod())); + a.insert(std::pair<std::string, std::string>(TLS_CIPHERS, getTlsCiphers())); + a.insert(std::pair<std::string, std::string>(TLS_SERVER_NAME, getTlsServerName())); + a.insert(std::pair<std::string, std::string>(TLS_VERIFY_SERVER, getTlsVerifyServer() ? "true" : "false")); + a.insert(std::pair<std::string, std::string>(TLS_VERIFY_CLIENT, getTlsVerifyClient() ? "true" : "false")); + a.insert(std::pair<std::string, std::string>(TLS_REQUIRE_CLIENT_CERTIFICATE, getTlsRequireClientCertificate() ? "true" : "false")); + a.insert(std::pair<std::string, std::string>(TLS_NEGOTIATION_TIMEOUT_SEC, getTlsNegotiationTimeoutSec())); + a.insert(std::pair<std::string, std::string>(TLS_NEGOTIATION_TIMEOUT_MSEC, getTlsNegotiationTimeoutMsec())); + + } + + return a; + +} + // void SIPAccount::setVoIPLink(VoIPLink *link) { void SIPAccount::setVoIPLink() { @@ -90,31 +697,28 @@ void SIPAccount::setVoIPLink() { int SIPAccount::initCredential (void) { - int credentialCount = 0; - credentialCount = Manager::instance().getConfigInt (_accountID, CONFIG_CREDENTIAL_NUMBER); - credentialCount += 1; + _debug("SipAccount: Init credential"); bool md5HashingEnabled = false; int dataType = 0; - md5HashingEnabled = Manager::instance().getConfigBool (PREFERENCES, CONFIG_MD5HASH); + md5HashingEnabled = Manager::instance().preferences.getMd5Hash(); std::string digest; // Create the credential array - pjsip_cred_info * cred_info = (pjsip_cred_info *) malloc (sizeof (pjsip_cred_info) * (credentialCount)); + pjsip_cred_info * cred_info = (pjsip_cred_info *) malloc (sizeof (pjsip_cred_info) * (getCredentialCount())); if (cred_info == NULL) { _error ("SipAccount: Error: Failed to set cred_info for account %s", _accountID.c_str()); return !SUCCESS; } - pj_bzero (cred_info, sizeof (pjsip_cred_info) *credentialCount); + pj_bzero (cred_info, sizeof (pjsip_cred_info) * getCredentialCount()); // Use authentication username if provided - if (!_authenticationUsername.empty()) { + if (!_authenticationUsername.empty()) cred_info[0].username = pj_str (strdup (_authenticationUsername.c_str())); - } else { + else cred_info[0].username = pj_str (strdup (_username.c_str())); - } // Set password cred_info[0].data = pj_str (strdup (_password.c_str())); @@ -140,17 +744,12 @@ int SIPAccount::initCredential (void) int i; - for (i = 1; i < credentialCount; i++) { - std::string credentialIndex; - std::stringstream streamOut; - streamOut << i - 1; - credentialIndex = streamOut.str(); - - std::string section = std::string ("Credential") + std::string (":") + _accountID + std::string (":") + credentialIndex; + // Default credential already initialized, use credentials.getCredentialCount() + for (i = 0; i < credentials.getCredentialCount(); i++) { - std::string username = Manager::instance().getConfigString (section, USERNAME); - std::string password = Manager::instance().getConfigString (section, PASSWORD); - std::string realm = Manager::instance().getConfigString (section, REALM); + std::string username = _username; + std::string password = _password; + std::string realm = _realm; cred_info[i].username = pj_str (strdup (username.c_str())); cred_info[i].data = pj_str (strdup (password.c_str())); @@ -174,8 +773,6 @@ int SIPAccount::initCredential (void) _debug ("Setting credential %d realm = %s passwd = %s username = %s data_type = %d", i, realm.c_str(), password.c_str(), username.c_str(), cred_info[i].data_type); } - _credentialCount = credentialCount; - _cred = cred_info; return SUCCESS; @@ -184,10 +781,10 @@ int SIPAccount::initCredential (void) int SIPAccount::registerVoIPLink() { - _debug ("Register account %s", getAccountID().c_str()); + _debug ("Account: Register account %s", getAccountID().c_str()); // Init general settings - loadConfig(); + // loadConfig(); if (_hostname.length() >= PJ_MAX_HOSTNAME) { return !SUCCESS; @@ -197,20 +794,20 @@ int SIPAccount::registerVoIPLink() initCredential(); // Init TLS settings if the user wants to use TLS - bool tlsEnabled = Manager::instance().getConfigBool (_accountID, TLS_ENABLE); - - if (tlsEnabled) { + if (_tlsEnabled) { _transportType = PJSIP_TRANSPORT_TLS; initTlsConfiguration(); } // Init STUN settings for this account if the user selected it - bool stunEnabled = Manager::instance().getConfigBool (_accountID, STUN_ENABLE); - if (stunEnabled) { + if (_stunEnabled) { _transportType = PJSIP_TRANSPORT_START_OTHER; initStunConfiguration (); } + else { + _stunServerName = pj_str ((char*) _stunServer.data()); + } // In our definition of the // ip2ip profile (aka Direct IP Calls), @@ -275,8 +872,9 @@ void SIPAccount::initTlsConfiguration (void) } // TLS listener is unique and should be only modified through IP2IP_PROFILE - std::string tlsPortStr = Manager::instance().getConfigString(_accountID, TLS_LISTENER_PORT); - setTlsListenerPort(atoi(tlsPortStr.c_str())); + + // setTlsListenerPort(atoi(tlsPortStr.c_str())); + setTlsListenerPort(atoi(_tlsPortStr.c_str())); _tlsSetting = (pjsip_tls_setting *) malloc (sizeof (pjsip_tls_setting)); @@ -284,33 +882,20 @@ void SIPAccount::initTlsConfiguration (void) pjsip_tls_setting_default (_tlsSetting); - std::string tlsCaListFile = Manager::instance().getConfigString (_accountID, TLS_CA_LIST_FILE); - std::string tlsCertificateFile = Manager::instance().getConfigString (_accountID, TLS_CERTIFICATE_FILE); - std::string tlsPrivateKeyFile = Manager::instance().getConfigString (_accountID, TLS_PRIVATE_KEY_FILE); - std::string tlsPassword = Manager::instance().getConfigString (_accountID, TLS_PASSWORD); - std::string tlsMethod = Manager::instance().getConfigString (_accountID, TLS_METHOD); - std::string tlsCiphers = Manager::instance().getConfigString (_accountID, TLS_CIPHERS); - std::string tlsServerName = Manager::instance().getConfigString (_accountID, TLS_SERVER_NAME); - bool tlsVerifyServer = Manager::instance().getConfigBool (_accountID, TLS_VERIFY_SERVER); - bool tlsVerifyClient = Manager::instance().getConfigBool (_accountID, TLS_VERIFY_CLIENT); - bool tlsRequireClientCertificate = Manager::instance().getConfigBool (_accountID, TLS_REQUIRE_CLIENT_CERTIFICATE); - std::string tlsNegotiationTimeoutSec = Manager::instance().getConfigString (_accountID, TLS_NEGOTIATION_TIMEOUT_SEC); - std::string tlsNegotiationTimeoutMsec = Manager::instance().getConfigString (_accountID, TLS_NEGOTIATION_TIMEOUT_MSEC); - - pj_cstr (&_tlsSetting->ca_list_file, tlsCaListFile.c_str()); - pj_cstr (&_tlsSetting->cert_file, tlsCertificateFile.c_str()); - pj_cstr (&_tlsSetting->privkey_file, tlsPrivateKeyFile.c_str()); - pj_cstr (&_tlsSetting->password, tlsPassword.c_str()); - _tlsSetting->method = sslMethodStringToPjEnum (tlsMethod); - pj_cstr (&_tlsSetting->ciphers, tlsCiphers.c_str()); - pj_cstr (&_tlsSetting->server_name, tlsServerName.c_str()); - - _tlsSetting->verify_server = (tlsVerifyServer == true) ? PJ_TRUE: PJ_FALSE; - _tlsSetting->verify_client = (tlsVerifyClient == true) ? PJ_TRUE: PJ_FALSE; - _tlsSetting->require_client_cert = (tlsRequireClientCertificate == true) ? PJ_TRUE: PJ_FALSE; - - _tlsSetting->timeout.sec = atol (tlsNegotiationTimeoutSec.c_str()); - _tlsSetting->timeout.msec = atol (tlsNegotiationTimeoutMsec.c_str()); + pj_cstr (&_tlsSetting->ca_list_file, _tlsCaListFile.c_str()); + pj_cstr (&_tlsSetting->cert_file, _tlsCertificateFile.c_str()); + pj_cstr (&_tlsSetting->privkey_file, _tlsPrivateKeyFile.c_str()); + pj_cstr (&_tlsSetting->password, _tlsPassword.c_str()); + _tlsSetting->method = sslMethodStringToPjEnum (_tlsMethod); + pj_cstr (&_tlsSetting->ciphers, _tlsCiphers.c_str()); + pj_cstr (&_tlsSetting->server_name, _tlsServerName.c_str()); + + _tlsSetting->verify_server = (_tlsVerifyServer == true) ? PJ_TRUE: PJ_FALSE; + _tlsSetting->verify_client = (_tlsVerifyClient == true) ? PJ_TRUE: PJ_FALSE; + _tlsSetting->require_client_cert = (_tlsRequireClientCertificate == true) ? PJ_TRUE: PJ_FALSE; + + _tlsSetting->timeout.sec = atol (_tlsNegotiationTimeoutSec.c_str()); + _tlsSetting->timeout.msec = atol (_tlsNegotiationTimeoutMsec.c_str()); } @@ -319,8 +904,7 @@ void SIPAccount::initStunConfiguration (void) size_t pos; std::string stunServer, serverName, serverPort; - stunServer = Manager::instance().getConfigString (_accountID, STUN_SERVER); - + stunServer = _stunServer; // Init STUN socket pos = stunServer.find (':'); @@ -339,51 +923,10 @@ void SIPAccount::initStunConfiguration (void) void SIPAccount::loadConfig() { - // Load primary credential - setUsername (Manager::instance().getConfigString (_accountID, USERNAME)); - setRouteSet(Manager::instance().getConfigString(_accountID, ROUTESET)); - setPassword (Manager::instance().getConfigString (_accountID, PASSWORD)); - _authenticationUsername = Manager::instance().getConfigString (_accountID, AUTHENTICATION_USERNAME); - _realm = Manager::instance().getConfigString (_accountID, REALM); - _resolveOnce = Manager::instance().getConfigString (_accountID, CONFIG_ACCOUNT_RESOLVE_ONCE) == "1" ? true : false; - - // Load general account settings - setHostname (Manager::instance().getConfigString (_accountID, HOSTNAME)); - - if (Manager::instance().getConfigString (_accountID, CONFIG_ACCOUNT_REGISTRATION_EXPIRE).empty()) { + if (_registrationExpire.empty()) _registrationExpire = DFT_EXPIRE_VALUE; - } else { - _registrationExpire = Manager::instance().getConfigString (_accountID, CONFIG_ACCOUNT_REGISTRATION_EXPIRE); - } - - // Load network settings - // Local parameters - - // Load local interface - setLocalInterface(Manager::instance().getConfigString (_accountID, LOCAL_INTERFACE)); - - std::string localPort = Manager::instance().getConfigString (_accountID, LOCAL_PORT); - setLocalPort (atoi (localPort.c_str())); - - // Published parameters - setPublishedSameasLocal (Manager::instance().getConfigString (_accountID, PUBLISHED_SAMEAS_LOCAL) == TRUE_STR ? true : false); - - std::string publishedPort = Manager::instance().getConfigString (_accountID, PUBLISHED_PORT); - - setPublishedPort (atoi (publishedPort.c_str())); - - setPublishedAddress (Manager::instance().getConfigString (_accountID, PUBLISHED_ADDRESS)); - - if(Manager::instance().getConfigString (_accountID, ACCOUNT_DTMF_TYPE) == OVERRTPSTR) - _dtmfType = OVERRTP; - else - _dtmfType = SIPINFO; - - // Init TLS settings if the user wants to use TLS - bool tlsEnabled = Manager::instance().getConfigBool (_accountID, TLS_ENABLE); - - if (tlsEnabled) { + if (_tlsEnabled) { initTlsConfiguration(); _transportType = PJSIP_TRANSPORT_TLS; } else { @@ -578,8 +1121,6 @@ std::string SIPAccount::getContactHeader (const std::string& address, const std: transport = ""; } - _displayName = Manager::instance().getConfigString (_accountID, DISPLAY_NAME); - _debug ("Display Name: %s", _displayName.c_str()); int len = pj_ansi_snprintf (contact, PJSIP_MAX_URL_SIZE, diff --git a/sflphone-common/src/sip/sipaccount.h b/sflphone-common/src/sip/sipaccount.h old mode 100644 new mode 100755 index 51fb6de0c451eaffd5642f2b4824f15384ab14e0..0285f695cba60f7dae9f616e1d6ff1db3288a52b --- a/sflphone-common/src/sip/sipaccount.h +++ b/sflphone-common/src/sip/sipaccount.h @@ -41,12 +41,62 @@ #include "sipvoiplink.h" #include "pjsip/sip_transport_tls.h" #include "pjsip/sip_types.h" +#include "config/serializable.h" +#include <exception> +#include <map> enum DtmfType { OVERRTP, SIPINFO}; #define OVERRTPSTR "overrtp" #define SIPINFOSTR "sipinfo" + +// SIP specific configuration keys +const Conf::Key expireKey("expire"); +const Conf::Key interfaceKey("interface"); +const Conf::Key portKey("port"); +const Conf::Key publishAddrKey("publishAddr"); +const Conf::Key publishPortKey("publishPort"); +const Conf::Key sameasLocalKey("sameasLocal"); +const Conf::Key resolveOnceKey("resolveOnce"); +const Conf::Key dtmfTypeKey("dtmfType"); +const Conf::Key serviceRouteKey("serviceRoute"); + +// TODO: write an object to store credential which implement serializable +const Conf::Key srtpKey("srtp"); +const Conf::Key srtpEnableKey("enable"); +const Conf::Key keyExchangeKey("keyExchange"); +const Conf::Key rtpFallbackKey("rtpFallback"); + +// TODO: wirte an object to store zrtp params wich implement serializable +const Conf::Key zrtpKey("zrtp"); +const Conf::Key displaySasKey("displaySas"); +const Conf::Key displaySasOnceKey("displaySasOnce"); +const Conf::Key helloHashEnabledKey("helloHashEnabled"); +const Conf::Key notSuppWarningKey("notSuppWarning"); + +// TODO: write an object to store tls params which implement serializable +const Conf::Key tlsKey("tls"); +const Conf::Key tlsPortKey("tlsPort"); +const Conf::Key certificateKey("certificate"); +const Conf::Key calistKey("calist"); +const Conf::Key ciphersKey("ciphers"); +const Conf::Key tlsEnableKey("enable"); +const Conf::Key methodKey("method"); +const Conf::Key timeoutKey("timeout"); +const Conf::Key tlsPasswordKey("password"); +const Conf::Key privateKeyKey("privateKey"); +const Conf::Key requireCertifKey("requireCertif"); +const Conf::Key serverKey("server"); +const Conf::Key verifyClientKey("verifyClient"); +const Conf::Key verifyServerKey("verifyServer"); + +const Conf::Key stunEnabledKey("stunEnabled"); +const Conf::Key stunServerKey("stunServer"); + +const Conf::Key credKey("credential"); +const Conf::Key credentialCountKey("count"); + class SIPVoIPLink; /** @@ -54,6 +104,61 @@ class SIPVoIPLink; * @brief A SIP Account specify SIP specific functions and object (SIPCall/SIPVoIPLink) */ +class SipAccountException : public std::exception +{ + public: + SipAccountException(const std::string& str="") throw() : errstr(str) {} + + virtual ~SipAccountException() throw() {} + + virtual const char *what() const throw() { + std::string expt("SipAccountException occured: "); + expt.append(errstr); + + return expt.c_str(); + } + private: + std::string errstr; + +}; + +class CredentialItem +{ + public: + + std::string username; + std::string password; + std::string realm; +}; + + +class Credentials : public Serializable +{ + public: + + Credentials(); + + ~Credentials(); + + virtual void serialize(Conf::YamlEmitter *emitter); + + virtual void unserialize(Conf::MappingNode *map); + + int getCredentialCount(void) { return credentialCount; } + void setCredentialCount(int count) { credentialCount = count; } + + void setNewCredential(std::string username, std::string password, std::string realm); + CredentialItem *getCredential(int index); + + private: + + int credentialCount; + + CredentialItem credentialArray[10]; + +}; + + class SIPAccount : public Account { public: @@ -74,6 +179,14 @@ class SIPAccount : public Account */ virtual ~SIPAccount(); + virtual void serialize(Conf::YamlEmitter *emitter); + + virtual void unserialize(Conf::MappingNode *map); + + virtual void setAccountDetails(const std::map<std::string, std::string>& details); + + virtual std::map<std::string, std::string> getAccountDetails(); + /** * Set route header to appears in sip messages for this account */ @@ -112,6 +225,7 @@ class SIPAccount : public Account inline void setAuthenticationUsername(const std::string& username) { _authenticationUsername = username; } inline bool isResolveOnce(void) { return _resolveOnce; } + void setResolveOnce(bool reslv) { _resolveOnce = reslv; } /** @@ -161,7 +275,8 @@ class SIPAccount : public Account * @param none * @return int The number of credentials set for this account. */ - inline int getCredentialCount(void) { return _credentialCount; } + inline int getCredentialCount(void) { return credentials.getCredentialCount() + 1; } + inline void setCredentialCount(int count) { return credentials.setCredentialCount(count); } /** * @return pjsip_tls_setting structure, filled from the configuration @@ -175,8 +290,10 @@ class SIPAccount : public Account * file, that can be used directly by PJSIP to initialize * an alternate UDP transport. */ - inline pj_str_t getStunServerName(void) { return _stunServerName; } - inline void setStunServerName (pj_str_t srv) { _stunServerName = srv; } + inline std::string getStunServer(void) { return _stunServer; } + inline void setStunServer (std::string srv) { _stunServer = srv; } + + inline pj_str_t getStunServerName(void) { return _stunServerName; } /** * @return pj_uint8_t structure, filled from the configuration @@ -197,7 +314,7 @@ class SIPAccount : public Account * account is set to OTHER. */ inline bool isStunEnabled(void) { return (_transportType == PJSIP_TRANSPORT_START_OTHER) ? true: false; } - + inline void setStunEnabled(bool enabl) { _stunEnabled = enabl; } /* * @return pj_str_t "From" uri based on account information. @@ -316,6 +433,10 @@ class SIPAccount : public Account * @return void */ inline void setPublishedAddress(const std::string& publishedIpAddress) { _publishedIpAddress = publishedIpAddress; } + + inline std::string getServiceRoute(void) { return _serviceRoute; } + + inline void setServiceRoute(std::string route) { _serviceRoute = route; } /** * Get the chosen transport type. @@ -330,9 +451,72 @@ class SIPAccount : public Account std::string getTransportMapKey(void); DtmfType getDtmfType(void) { return _dtmfType; } - void setDtmfType(DtmfType type) { _dtmfType = type; } + bool getSrtpEnable(void) { return _srtpEnabled; } + void setSrtpEnable(bool enabl) { _srtpEnabled = enabl; } + + std::string getSrtpKeyExchange(void) { return _srtpKeyExchange; } + void setSrtpKeyExchange(std::string key) { _srtpKeyExchange = key; } + + bool getSrtpFallback(void) { return _srtpFallback; } + void setSrtpFallback(bool fallback) { _srtpFallback = fallback; } + + bool getZrtpDisplaySas(void) { return _zrtpDisplaySas; } + void setZrtpDisplaySas(bool sas) { _zrtpDisplaySas = sas; } + + bool getZrtpDiaplaySasOnce(void) { return _zrtpDisplaySasOnce; } + void setZrtpDiaplaySasOnce(bool sasonce) { _zrtpDisplaySasOnce = sasonce; } + + bool getZrtpNotSuppWarning(void) { return _zrtpNotSuppWarning; } + void setZrtpNotSuppWarning(bool warning) { _zrtpNotSuppWarning = warning; } + + bool getZrtpHelloHash(void) { return _zrtpHelloHash; } + void setZrtpHelloHash(bool hellohash) { _zrtpHelloHash = hellohash; } + // void setSrtpKeyExchange + + std::string getRealm(void) { return _realm; } + void setRealm(std::string r) { _realm = r; } + + std::string getTlsEnable(void) {return _tlsEnable; } + void setTlsEnable(std::string enabl) { _tlsEnable = enabl; } + + std::string getTlsCaListFile(void) { return _tlsCaListFile; } + void setTlsCaListFile(std::string calist) { _tlsCaListFile = calist; } + + std::string getTlsCertificateFile(void) { return _tlsCertificateFile; } + void setTlsCertificateFile(std::string cert) { _tlsCertificateFile = cert; } + + std::string getTlsPrivateKeyFile(void) { return _tlsPrivateKeyFile; } + void setTlsPrivateKeyFile(std::string priv) { _tlsPrivateKeyFile = priv; } + + std::string getTlsPassword(void) { return _tlsPassword; } + void setTlsPassword(std::string pass) { _tlsPassword = pass; } + + std::string getTlsMethod(void) { return _tlsMethod; } + void setTlsMethod(std::string meth) { _tlsMethod = meth; } + + std::string getTlsCiphers(void) { return _tlsCiphers; } + void setTlsCiphers(std::string cipher) { _tlsCiphers = cipher; } + + std::string getTlsServerName(void) { return _tlsServerName; } + void setTlsServerName(std::string name) { _tlsServerName = name; } + + bool getTlsVerifyServer(void) { return _tlsVerifyServer; } + void setTlsVerifyServer(bool verif) { _tlsVerifyServer = verif; } + + bool getTlsVerifyClient(void) { return _tlsVerifyClient; } + void setTlsVerifyClient(bool verif) { _tlsVerifyClient = verif; } + + bool getTlsRequireClientCertificate(void) { return _tlsRequireClientCertificate; } + void setTlsRequireClientCertificate(bool require) { _tlsRequireClientCertificate = require; } + + std::string getTlsNegotiationTimeoutSec(void) { return _tlsNegotiationTimeoutSec; } + void setTlsNegotiationTimeoutSec(std::string timeout) { _tlsNegotiationTimeoutSec = timeout; } + + std::string getTlsNegotiationTimeoutMsec(void) { return _tlsNegotiationTimeoutMsec; } + void setTlsNegotiationTimeoutMsec(std::string timeout) { _tlsNegotiationTimeoutMsec = timeout; } + private: /* Maps a string description of the SSL method @@ -397,6 +581,8 @@ class SIPAccount : public Account pj_uint16_t _localPort; pj_uint16_t _publishedPort; + std::string _serviceRoute; + /** * The global TLS listener port which can be configured through the IP2IP_PROFILE */ @@ -411,25 +597,61 @@ class SIPAccount : public Account bool _resolveOnce; //Credential information - int _credentialCount; pjsip_cred_info *_cred; std::string _realm; std::string _authenticationUsername; + Credentials credentials; // The TLS settings, if tls is chosen as // a sip transport. pjsip_tls_setting * _tlsSetting; - // The STUN server name, if applicable + // The STUN server name, if applicable for internal use only pj_str_t _stunServerName; // The STUN server port, if applicable pj_uint16_t _stunPort; DtmfType _dtmfType; - - // Display Name that can be used in SIP URI. - std::string _displayName; + + std::string _tlsEnable; + std::string _tlsPortStr; + std::string _tlsCaListFile; + std::string _tlsCertificateFile; + std::string _tlsPrivateKeyFile; + std::string _tlsPassword; + std::string _tlsMethod; + std::string _tlsCiphers; + std::string _tlsServerName; + bool _tlsVerifyServer; + bool _tlsVerifyClient; + bool _tlsRequireClientCertificate; + std::string _tlsNegotiationTimeoutSec; + std::string _tlsNegotiationTimeoutMsec; + + std::string _stunServer; + + bool _tlsEnabled; + bool _stunEnabled; + + // std::string _routeset; + + // std::string _realm; + // std::string _tlsListenerPort; + // std::string _routeSet; + // std::string _dtmfType; + + + bool _srtpEnabled; + std::string _srtpKeyExchange; + bool _srtpFallback; + + bool _zrtpDisplaySas; + bool _zrtpDisplaySasOnce; + bool _zrtpHelloHash; + bool _zrtpNotSuppWarning; + + }; #endif diff --git a/sflphone-common/src/sip/sipvoiplink.cpp b/sflphone-common/src/sip/sipvoiplink.cpp old mode 100644 new mode 100755 index a005ab44408ff388ebe41076eb77fd0ee2de9444..45f8a1437efec7765417139b049765498c9ef301 --- a/sflphone-common/src/sip/sipvoiplink.cpp +++ b/sflphone-common/src/sip/sipvoiplink.cpp @@ -266,6 +266,8 @@ SIPVoIPLink::SIPVoIPLink (const AccountID& accountID) , _regPort (atoi (DEFAULT_SIP_PORT)) , _clients (0) { + + _debug("SIPVOIPLINK"); // to get random number for RANDOM_PORT srand (time (NULL)); @@ -444,13 +446,16 @@ std::string SIPVoIPLink::get_useragent_name (const AccountID& id) useragent << PROGNAME << "/" << SFLPHONED_VERSION; return useragent.str(); */ + + SIPAccount *account = (SIPAccount *)Manager::instance().getAccount(id); + std::ostringstream useragent; - - useragent << Manager::instance ().getConfigString (id, USERAGENT); - if (useragent.str() == "sflphone" || useragent.str() == "") - useragent << "/" << SFLPHONED_VERSION; - return useragent.str (); + useragent << account->getUseragent(); + if (useragent.str() == "sflphone" || useragent.str() == "") + useragent << "/" << SFLPHONED_VERSION; + + return useragent.str (); } void @@ -585,7 +590,7 @@ int SIPVoIPLink::sendRegister (AccountID id) std::string contactUri = account->getContactHeader (address, portStr); - _debug ("sendRegister: fromUri: %s serverUri: %s contactUri: %s", + _debug ("UserAgent: sendRegister: fromUri: %s serverUri: %s contactUri: %s", fromUri.c_str(), srvUri.c_str(), contactUri.c_str()); @@ -602,31 +607,24 @@ int SIPVoIPLink::sendRegister (AccountID id) // Initializes registration // Set Route for registration passing throught one or several proxies + // status = pjsip_regc_init (regc, &pjSrv, &pjFrom, &pjFrom, 1, &pjContact, expire_value); + status = pjsip_regc_init (regc, &pjSrv, &pjFrom, &pjFrom, 1, &pjContact, expire_value); - /* - if(!(account->getDomainName().empty())) { + if(!(account->getServiceRoute().empty())) { - _error("Set route with %s", account->getHostname().c_str()); + _error("UserAgent: Set Service-Route with %s", account->getServiceRoute().c_str()); pjsip_route_hdr *route_set = pjsip_route_hdr_create(_pool); pjsip_route_hdr *routing = pjsip_route_hdr_create(_pool); pjsip_sip_uri *url = pjsip_sip_uri_create(_pool, 0); routing->name_addr.uri = (pjsip_uri*)url; - pj_strdup2(_pool, &url->host, account->getHostname().c_str()); + pj_strdup2(_pool, &url->host, account->getServiceRoute().c_str()); pj_list_push_back(&route_set, pjsip_hdr_clone(_pool, routing)); - status = pjsip_regc_init (regc, &pjSrv, &pjFrom, &pjFrom, 1, &pjContact, expire_value); - pjsip_regc_set_route_set(regc, route_set); } - else { - - status = pjsip_regc_init (regc, &pjSrv, &pjFrom, &pjFrom, 1, &pjContact, expire_value); - } - */ - if (status != PJ_SUCCESS) { _debug ("UserAgent: Unable to initialize account %d in sendRegister", status); @@ -637,7 +635,7 @@ int SIPVoIPLink::sendRegister (AccountID id) pjsip_cred_info *cred = account->getCredInfo(); int credential_count = account->getCredentialCount(); - _debug ("setting %d credentials in sendRegister", credential_count); + _debug ("UserAgent: setting %d credentials in sendRegister", credential_count); pjsip_regc_set_credentials (regc, credential_count, cred); // Add User-Agent Header @@ -651,7 +649,7 @@ int SIPVoIPLink::sendRegister (AccountID id) // pj_list_push_back (&hdr_list, (pjsip_hdr*) routing); pjsip_regc_add_headers (regc, &hdr_list); - + status = pjsip_regc_register (regc, PJ_TRUE, &tdata); if (status != PJ_SUCCESS) { @@ -672,7 +670,7 @@ int SIPVoIPLink::sendRegister (AccountID id) // managed when acquiring transport pjsip_transport_dec_ref(account->getAccountTransport ()); - _debug("After setting the transport in account registration using transport: %s %s (refcnt=%d)", + _debug("UserAgent: After setting the transport in account registration using transport: %s %s (refcnt=%d)", account->getAccountTransport()->obj_name, account->getAccountTransport()->info, (int)pj_atomic_get(account->getAccountTransport()->ref_cnt)); @@ -1335,7 +1333,7 @@ SIPVoIPLink::dtmfSipInfo(SIPCall *call, char code) pjsip_media_type ctype; - duration = Manager::instance().getConfigInt (SIGNALISATION, PULSE_LENGTH); + duration = Manager::instance().voipPreferences.getPulseLength(); dtmf_body = new char[body_len]; @@ -1475,6 +1473,23 @@ SIPVoIPLink::SIPStartCall (SIPCall* call, const std::string& subject UNUSED) // Create the invite session for this call status = pjsip_inv_create_uac (dialog, call->getLocalSDP()->get_local_sdp_session(), 0, &inv); + + if(!(account->getServiceRoute().empty())) { + + _error("UserAgent: Set Service-Route with %s", account->getServiceRoute().c_str()); + + pjsip_route_hdr *route_set = pjsip_route_hdr_create(_pool); + pjsip_route_hdr *routing = pjsip_route_hdr_create(_pool); + pjsip_sip_uri *url = pjsip_sip_uri_create(_pool, 0); + routing->name_addr.uri = (pjsip_uri*)url; + pj_strdup2(_pool, &url->host, account->getServiceRoute().c_str()); + + pj_list_push_back(&route_set, pjsip_hdr_clone(_pool, routing)); + + pjsip_dlg_set_route_set(dialog, route_set); + } + + PJ_ASSERT_RETURN (status == PJ_SUCCESS, false); // Set auth information @@ -1740,6 +1755,21 @@ bool SIPVoIPLink::new_ip_to_ip_call (const CallID& id, const std::string& to) // Create the invite session for this call status = pjsip_inv_create_uac (dialog, call->getLocalSDP()->get_local_sdp_session(), 0, &inv); PJ_ASSERT_RETURN (status == PJ_SUCCESS, false); + + if(!(account->getServiceRoute().empty())) { + + _error("UserAgent: Set Service-Route with %s", account->getServiceRoute().c_str()); + + pjsip_route_hdr *route_set = pjsip_route_hdr_create(_pool); + pjsip_route_hdr *routing = pjsip_route_hdr_create(_pool); + pjsip_sip_uri *url = pjsip_sip_uri_create(_pool, 0); + routing->name_addr.uri = (pjsip_uri*)url; + pj_strdup2(_pool, &url->host, account->getServiceRoute().c_str()); + + pj_list_push_back(&route_set, pjsip_hdr_clone(_pool, routing)); + + pjsip_dlg_set_route_set(dialog, route_set); + } // Set the appropriate transport pjsip_tpselector *tp; @@ -2364,7 +2394,7 @@ int SIPVoIPLink::createUdpTransport (AccountID id) pjsip_host_port a_name; // char tmpIP[32]; pjsip_transport *transport; - std::string listeningAddress = "127.0.0.1"; + std::string listeningAddress = "0.0.0.0"; int listeningPort = _regPort; /* Use my local address as default value */ @@ -2409,6 +2439,7 @@ int SIPVoIPLink::createUdpTransport (AccountID id) // Init bound address to ANY bound_addr.sin_addr.s_addr = pj_htonl (PJ_INADDR_ANY); + loadSIPLocalIP (&listeningAddress); } else { @@ -2423,16 +2454,22 @@ int SIPVoIPLink::createUdpTransport (AccountID id) // Create UDP-Server (default port: 5060) // Use here either the local information or the published address - if (account != NULL && !account->getPublishedSameasLocal ()) { + if (account && !account->getPublishedSameasLocal ()) { // Set the listening address to the published address listeningAddress = account->getPublishedAddress (); + // Set the listening port to the published port listeningPort = account->getPublishedPort (); _debug ("UserAgent: Creating UDP transport published %s:%i", listeningAddress.c_str (), listeningPort); } + // We must specify this here to avoid the IP2IP_PROFILE + // to create a transport with name 0.0.0.0 to appear in the via header + if(id == IP2IP_PROFILE) + loadSIPLocalIP (&listeningAddress); + if(listeningAddress == "" || listeningPort == 0) { _error("UserAgent: Error invalid address for new udp transport"); return !PJ_SUCCESS; @@ -2558,10 +2595,14 @@ std::string SIPVoIPLink::findLocalAddressFromUri (const std::string& uri, pjsip_ return machineName; } - std::string localaddr(localAddress.ptr, localAddress.slen); - _debug ("SIP: Local address discovered from attached transport: %s", localaddr.c_str()); + std::string localaddr(localAddress.ptr, localAddress.slen); + + if(localaddr == "0.0.0.0") + loadSIPLocalIP (&localaddr); - return std::string (localAddress.ptr, localAddress.slen); + _debug ("SIP: Local address discovered from attached transport: %s", localaddr.c_str()); + + return localaddr; } @@ -3285,8 +3326,10 @@ void call_on_media_update (pjsip_inv_session *inv, pj_status_t status) // if RTPFALLBACK, change RTP session AccountID accountID = Manager::instance().getAccountFromCall (call->getCallId()); - if(Manager::instance().getConfigString (accountID, SRTP_RTP_FALLBACK) == "true") - call->getAudioRtp()->initAudioRtpSession(call); + SIPAccount *account = (SIPAccount *)Manager::instance().getAccount(accountID); + + if(account->getSrtpFallback()) + call->getAudioRtp()->initAudioRtpSession(call); } if(nego_success && call->getAudioRtp()->getAudioRtpType() != sfl::Sdes) { @@ -3390,7 +3433,11 @@ void regc_cb (struct pjsip_regc_cbparam *param) //_debug("Received client registration callback wiht code: %i, %s\n", param->code, descriptionprint.c_str()); DBusManager::instance().getCallManager()->registrationStateChanged (account->getAccountID(), std::string (description->ptr, description->slen), param->code); std::pair<int, std::string> details (param->code, std::string (description->ptr, description->slen)); - account->setRegistrationStateDetailed (details); + + + // there a race condition for this ressource when closing the application + if(account) + account->setRegistrationStateDetailed (details); } if (param->status == PJ_SUCCESS) { @@ -3427,7 +3474,7 @@ void regc_cb (struct pjsip_regc_cbparam *param) out << (expire_value * 2); std::string s = out.str(); - Manager::instance().setConfig(account->getAccountID(), CONFIG_ACCOUNT_REGISTRATION_EXPIRE, s); + account->setRegistrationExpire(s); account->registerVoIPLink(); } break; @@ -3635,18 +3682,19 @@ mod_on_rx_request (pjsip_rx_data *rdata) /******************************************* URL HOOK *********************************************/ - if (Manager::instance().getConfigString (HOOKS, URLHOOK_SIP_ENABLED) == "1") { + if (Manager::instance().hookPreference.getSipEnabled()) { _debug("UserAgent: Set sip url hooks"); std::string header_value; - header_value = fetch_header_value (rdata->msg_info.msg, Manager::instance().getConfigString (HOOKS, URLHOOK_SIP_FIELD)); + header_value = fetch_header_value (rdata->msg_info.msg, + Manager::instance().hookPreference.getUrlSipField()); if (header_value.size () < header_value.max_size()) { if (header_value!="") { urlhook->addAction (header_value, - Manager::instance().getConfigString (HOOKS, URLHOOK_COMMAND)); + Manager::instance().hookPreference.getUrlCommand()); } } else throw length_error ("UserAgent: Url exceeds std::string max_size"); diff --git a/sflphone-common/src/video/Makefile.am b/sflphone-common/src/video/Makefile.am new file mode 100644 index 0000000000000000000000000000000000000000..b7a60a35b6d3e5f440656a835268f4e42a8f4e13 --- /dev/null +++ b/sflphone-common/src/video/Makefile.am @@ -0,0 +1,35 @@ +include $(top_srcdir)/globals.mak + +SUBDIRS = decoder rtp + +AM_CXXFLAGS = $(GSTREAMER_CFLAGS) + +noinst_LTLIBRARIES = libvideo.la + +libvideo_la_SOURCES = \ + VideoInputSource.cpp \ + VideoInputSourceGst.cpp \ + VideoEndpoint.cpp \ + VideoFrame.cpp \ + FrameFormat.cpp \ + VideoDevice.cpp \ + GstVideoDevice.cpp + +libvideo_la_LIBADD = \ + decoder/libvideodecoder.la \ + rtp/libvideortp.la + +libvideo_la_LDFLAGS = $(GSTREAMER_LIBS) $(LIBS) + +noinst_HEADERS = \ + VideoInputSource.h \ + VideoInputSourceGst.h \ + VideoEndpoint.h \ + FrameFormat.h \ + VideoDevice.h \ + VideoFrame.h \ + FrameFormat.h \ + VideoDevice.h \ + GstVideoDevice.h + + diff --git a/sflphone-common/src/video/decoder/Makefile.am b/sflphone-common/src/video/decoder/Makefile.am new file mode 100644 index 0000000000000000000000000000000000000000..6dbf239905378d107cecb4bd6acef0e015955aad --- /dev/null +++ b/sflphone-common/src/video/decoder/Makefile.am @@ -0,0 +1,17 @@ +include $(top_srcdir)/globals.mak + +AM_CXXFLAGS = $(LIBAVCODEC_CFLAGS) $(LIBSWSCALE_CFLAGS) + +noinst_LTLIBRARIES = libvideodecoder.la + +libvideodecoder_la_SOURCES = \ + H264Decoder.cpp \ + VideoDecoder.cpp + +noinst_HEADERS = \ + VideoDecoder.h \ + H264Decoder.h + +libvideodecoder_la_LDFLAGS = $(LIBAVCODEC_LIBS) $(LIBSWSCALE_LIBS) $(LIBS) + +libvideodecoder_la_LIBADD = $(LIBAVCODEC_LIBS) $(LIBSWSCALE_LIBS) $(LIBS) \ No newline at end of file diff --git a/sflphone-common/test/Makefile.am b/sflphone-common/test/Makefile.am index c2371cd96a0f32b938b6be9b31d5cfb48021443d..9da8e2f60349f9304800235277ac1158142b6d92 100644 --- a/sflphone-common/test/Makefile.am +++ b/sflphone-common/test/Makefile.am @@ -1,11 +1,12 @@ include ../globals.mak -TESTS = test -check_PROGRAMS = $(TESTS) +check_PROGRAMS = test + test_CXXFLAGS = $(CPPUNIT_CFLAGS) test_LDADD = $(LLIBS) -test_LDFLAGS = -ldl -test_SOURCES = main.cpp \ + +test_SOURCES = \ + main.cpp \ validator.cpp \ validator.h \ accounttest.h \ @@ -18,8 +19,6 @@ test_SOURCES = main.cpp \ historytest.cpp \ hookmanagertest.h \ hookmanagertest.cpp \ - mainbuffertest.h \ - mainbuffertest.cpp \ numbercleanertest.h \ numbercleanertest.cpp \ pluginmanagertest.h \ @@ -29,23 +28,7 @@ test_SOURCES = main.cpp \ sdesnegotiatortest.h \ sdesnegotiatortest.cpp - - - LLIBS=$(CPPUNIT_LIBS) \ - ../src/libsflphone.la \ - $(ZEROCONFLIB) \ - $(LIB_DNSSD) \ - @ALSA_LIBS@ \ - @PULSEAUDIO_LIBS@ \ - @CPPUNIT_LIBS@ \ - @CCEXT2_LIBS@ \ - @CCGNU2_LIBS@ \ - @CCRTP_LIBS@ \ - @ZRTPCPP_LIBS@ \ - @libssl_LIBS@ \ - @SAMPLERATE_LIBS@ \ - $(PJSIP_LIBS) \ ../src/sflphoned-logger.o \ ../src/sflphoned-managerimpl.o \ ../src/sflphoned-account.o\ @@ -57,15 +40,5 @@ LLIBS=$(CPPUNIT_LIBS) \ ../src/sflphoned-numbercleaner.o \ ../src/sflphoned-observer.o \ ../src/sflphoned-voiplink.o \ - ../src/sip/libsiplink_la-sipcall.o \ - ../src/iax/libiaxlink_la-iaxcall.o \ - ../src/sip/libsiplink_la-sipvoiplink.o \ - ../src/iax/libiaxlink_la-iaxvoiplink.o \ - ../src/sip/libsiplink_la-sipaccount.o \ - ../src/iax/libiaxlink_la-iaxaccount.o \ - ../src/sip/libsiplink_la-sdp.o \ - ../src/sip/libsiplink_la-sdpmedia.o \ - ../src/plug-in/pluginmanager.o \ - ../src/plug-in/audiorecorder/audiorecord.o \ - ../src/audio/samplerateconverter.o \ - ../src/history/historymanager.o \ No newline at end of file + ../src/sflphoned-preferences.o \ + ../src/libsflphone.la diff --git a/sflphone-common/test/audiolayertest.cpp b/sflphone-common/test/audiolayertest.cpp index 45a226ff5d25bed27a96693e7fae34a4b4b548bc..b8e86e9bffb91e940088e4af403fdb7a0df2b9f1 100644 --- a/sflphone-common/test/audiolayertest.cpp +++ b/sflphone-common/test/audiolayertest.cpp @@ -91,11 +91,12 @@ void AudioLayerTest::testPulseConnect() { CPPUNIT_ASSERT (_pulselayer->getLayerType() == PULSEAUDIO); std::string alsaPlugin; - int numCardIn, numCardOut, sampleRate, frameSize; + int numCardIn, numCardOut, numCardRing, sampleRate, frameSize; alsaPlugin = manager->getConfigString(AUDIO, ALSA_PLUGIN); numCardIn = manager->getConfigInt(AUDIO, ALSA_CARD_ID_IN); numCardOut = manager->getConfigInt(AUDIO, ALSA_CARD_ID_OUT); + numCardRing = manager->getConfigInt(AUDIO, ALSA_CARD_ID_RING); sampleRate = manager->getConfigInt(AUDIO, AUDIO_SAMPLE_RATE); frameSize = manager->getConfigInt(AUDIO, ALSA_FRAME_SIZE); @@ -105,7 +106,7 @@ void AudioLayerTest::testPulseConnect() { _pulselayer->setErrorMessage(-1); try { - CPPUNIT_ASSERT (_pulselayer->openDevice (numCardIn, numCardOut, sampleRate, frameSize, SFL_PCM_BOTH, alsaPlugin) == true); + CPPUNIT_ASSERT (_pulselayer->openDevice (numCardIn, numCardOut, numCardRing, sampleRate, frameSize, SFL_PCM_BOTH, alsaPlugin) == true); } catch (...) { _debug ("Exception occured wile opening device! "); } @@ -128,14 +129,14 @@ void AudioLayerTest::testPulseConnect() { CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->disconnectStream() == true); CPPUNIT_ASSERT (_pulselayer->getRecordStream()->disconnectStream() == true); - CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->connectStream() == true); - CPPUNIT_ASSERT (_pulselayer->getRecordStream()->connectStream() == true); + CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->connectStream(NULL) == true); + CPPUNIT_ASSERT (_pulselayer->getRecordStream()->connectStream(NULL) == true); CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->getStreamState() == 1); CPPUNIT_ASSERT (_pulselayer->getRecordStream()->getStreamState() == 1); - CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->connectStream() == true); - CPPUNIT_ASSERT (_pulselayer->getRecordStream()->connectStream() == true); + CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->connectStream(NULL) == true); + CPPUNIT_ASSERT (_pulselayer->getRecordStream()->connectStream(NULL) == true); CPPUNIT_ASSERT (_pulselayer->getPlaybackStream()->getStreamState() == 1); CPPUNIT_ASSERT (_pulselayer->getRecordStream()->getStreamState() == 1); diff --git a/sflphone-common/test/configurationtest.cpp b/sflphone-common/test/configurationtest.cpp old mode 100644 new mode 100755 index 23294f67ccb7b2316212cf823f709768b5db0f8a..62fa5743d95b74c7d2367048420686acaacd2aaa --- a/sflphone-common/test/configurationtest.cpp +++ b/sflphone-common/test/configurationtest.cpp @@ -150,3 +150,147 @@ void ConfigurationTest::testInitAudioDriver() { else CPPUNIT_FAIL ("Wrong audio layer type"); } + + +void ConfigurationTest::testYamlParser() +{ + + Conf::YamlParser *parser; + try { + + parser = new Conf::YamlParser("sequence2.yml"); + + parser->serializeEvents(); + + parser->composeEvents(); + + parser->constructNativeData(); + + delete parser; + parser = NULL; + + } + catch (Conf::YamlParserException &e) { + _error("ConfigTree: %s", e.what()); + } + +} + +void ConfigurationTest::testYamlEmitter() +{ + Conf::YamlEmitter *emitter; + + Conf::MappingNode accountmap(NULL); + Conf::MappingNode credentialmap(NULL); + Conf::MappingNode srtpmap(NULL); + Conf::MappingNode zrtpmap(NULL); + Conf::MappingNode tlsmap(NULL); + + + Conf::ScalarNode id("Account:1278432417"); + Conf::ScalarNode username("181"); + Conf::ScalarNode password("pass181"); + Conf::ScalarNode alias("sfl-181"); + Conf::ScalarNode hostname("192.168.50.3"); + Conf::ScalarNode enable("true"); + Conf::ScalarNode type("SIP"); + Conf::ScalarNode expire("3600"); + Conf::ScalarNode interface("default"); + Conf::ScalarNode port("5060"); + Conf::ScalarNode mailbox("97"); + Conf::ScalarNode publishAddr("192.168.50.182"); + Conf::ScalarNode publishPort("5060"); + Conf::ScalarNode sameasLocal("true"); + Conf::ScalarNode resolveOnce("false"); + Conf::ScalarNode codecs("0/9/110/111/112/"); + Conf::ScalarNode stunServer("stun.sflphone.org"); + Conf::ScalarNode stunEnabled("false"); + Conf::ScalarNode displayName("Alexandre Savard"); + Conf::ScalarNode dtmfType("sipinfo"); + + Conf::ScalarNode count("0"); + + Conf::ScalarNode srtpenabled("false"); + Conf::ScalarNode keyExchange("sdes"); + Conf::ScalarNode rtpFallback("false"); + + Conf::ScalarNode displaySas("false"); + Conf::ScalarNode displaySasOnce("false"); + Conf::ScalarNode helloHashEnabled("false"); + Conf::ScalarNode notSuppWarning("false"); + + Conf::ScalarNode tlsport(""); + Conf::ScalarNode certificate(""); + Conf::ScalarNode calist(""); + Conf::ScalarNode ciphers(""); + Conf::ScalarNode tlsenabled("false"); + Conf::ScalarNode tlsmethod("TLSV1"); + Conf::ScalarNode timeout("0"); + Conf::ScalarNode tlspassword(""); + Conf::ScalarNode privatekey(""); + Conf::ScalarNode requirecertif("true"); + Conf::ScalarNode server(""); + Conf::ScalarNode verifyclient("true"); + Conf::ScalarNode verifyserver("true"); + + accountmap.setKeyValue(aliasKey, &alias); + accountmap.setKeyValue(typeKey, &type); + accountmap.setKeyValue(idKey, &id); + accountmap.setKeyValue(usernameKey, &username); + accountmap.setKeyValue(passwordKey, &password); + accountmap.setKeyValue(hostnameKey, &hostname); + accountmap.setKeyValue(accountEnableKey, &enable); + accountmap.setKeyValue(mailboxKey, &mailbox); + accountmap.setKeyValue(expireKey, &expire); + accountmap.setKeyValue(interfaceKey, &interface); + accountmap.setKeyValue(portKey, &port); + accountmap.setKeyValue(publishAddrKey, &publishAddr); + accountmap.setKeyValue(publishPortKey, &publishPort); + accountmap.setKeyValue(sameasLocalKey, &sameasLocal); + accountmap.setKeyValue(resolveOnceKey, &resolveOnce); + accountmap.setKeyValue(dtmfTypeKey, &dtmfType); + accountmap.setKeyValue(displayNameKey, &displayName); + + accountmap.setKeyValue(srtpKey, &srtpmap); + srtpmap.setKeyValue(srtpEnableKey, &srtpenabled); + srtpmap.setKeyValue(keyExchangeKey, &keyExchange); + srtpmap.setKeyValue(rtpFallbackKey, &rtpFallback); + + accountmap.setKeyValue(zrtpKey, &zrtpmap); + zrtpmap.setKeyValue(displaySasKey, &displaySas); + zrtpmap.setKeyValue(displaySasOnceKey, &displaySasOnce); + zrtpmap.setKeyValue(helloHashEnabledKey, &helloHashEnabled); + zrtpmap.setKeyValue(notSuppWarningKey, ¬SuppWarning); + + accountmap.setKeyValue(credKey, &credentialmap); + credentialmap.setKeyValue(credentialCountKey, &count); + + accountmap.setKeyValue(tlsKey, &tlsmap); + tlsmap.setKeyValue(tlsPortKey, &tlsport); + tlsmap.setKeyValue(certificateKey, &certificate); + tlsmap.setKeyValue(calistKey, &calist); + tlsmap.setKeyValue(ciphersKey, &ciphers); + tlsmap.setKeyValue(tlsEnableKey, &tlsenabled); + tlsmap.setKeyValue(methodKey, &tlsmethod); + tlsmap.setKeyValue(timeoutKey, &timeout); + tlsmap.setKeyValue(tlsPasswordKey, &tlspassword); + tlsmap.setKeyValue(privateKeyKey, &privatekey); + tlsmap.setKeyValue(requireCertifKey, &requirecertif); + tlsmap.setKeyValue(serverKey, &server); + tlsmap.setKeyValue(verifyClientKey, &verifyclient); + tlsmap.setKeyValue(verifyServerKey, &verifyserver); + + try{ + emitter = new Conf::YamlEmitter("/tmp/sequenceEmiter.txt"); + + emitter->writeAccount(&accountmap); + emitter->writeAccount(&accountmap); + emitter->serializeData(); + + delete emitter; + } + catch (Conf::YamlEmitterException &e) { + _error("ConfigTree: %s", e.what()); + } + +} diff --git a/sflphone-common/test/configurationtest.h b/sflphone-common/test/configurationtest.h old mode 100644 new mode 100755 index 1e2f572aa55ecd36324eb1672f0954a6f7badb94..84d840674fad87fcaf467925c05a9537a7983464 --- a/sflphone-common/test/configurationtest.h +++ b/sflphone-common/test/configurationtest.h @@ -50,6 +50,11 @@ #include "audio/audiolayer.h" #include "global.h" #include "user_cfg.h" +#include "config/yamlparser.h" +#include "config/yamlemitter.h" +#include "config/yamlnode.h" +#include "sip/sipaccount.h" +#include "account.h" class ConfigurationTest: public CppUnit::TestFixture { @@ -57,11 +62,13 @@ class ConfigurationTest: public CppUnit::TestFixture { * Use cppunit library macros to add unit test the factory */ CPPUNIT_TEST_SUITE( ConfigurationTest ); - CPPUNIT_TEST( testInitVolume ); - CPPUNIT_TEST( testDefaultValueAudio ); - CPPUNIT_TEST( testDefaultValuePreferences ); - CPPUNIT_TEST( testDefaultValueSignalisation ); - CPPUNIT_TEST( testInitAudioDriver ); +// CPPUNIT_TEST( testInitVolume ); +// CPPUNIT_TEST( testDefaultValueAudio ); +// CPPUNIT_TEST( testDefaultValuePreferences ); +// CPPUNIT_TEST( testDefaultValueSignalisation ); +// CPPUNIT_TEST( testInitAudioDriver ); +// CPPUNIT_TEST( testYamlParser ); + CPPUNIT_TEST( testYamlEmitter ); CPPUNIT_TEST_SUITE_END(); public: @@ -91,6 +98,10 @@ public: void testInitVolume(); void testInitAudioDriver(); + + void testYamlParser(); + + void testYamlEmitter(); }; /* Register our test module */ CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(ConfigurationTest, "ConfigurationTest"); diff --git a/sflphone-common/test/delaydetectiontest.cpp b/sflphone-common/test/delaydetectiontest.cpp new file mode 100644 index 0000000000000000000000000000000000000000..a0bb79bbc8335c1f783e48caaf0e18cfb41c8cfd --- /dev/null +++ b/sflphone-common/test/delaydetectiontest.cpp @@ -0,0 +1,211 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + + +#include "delaydetectiontest.h" + +#include <iostream> +#include <math.h> +#include <string.h> + +void DelayDetectionTest::setUp() {} + +void DelayDetectionTest::tearDown() {} + +void DelayDetectionTest::testCrossCorrelation() +{ + float signal[10] = {0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0}; + float ref[3] = {0.0, 1.0, 2.0}; + + float result[10]; + float expected[10] = {0.0, 0.89442719, 1.0, 0.95618289, 0.91350028, 0.88543774, 0.86640023, 0.85280287, 0.8426548, 0.83480969}; + + CPPUNIT_ASSERT(_delaydetect.correlate(ref, ref, 3) == 5.0); + CPPUNIT_ASSERT(_delaydetect.correlate(signal, signal, 10) == 285.0); + + _delaydetect.crossCorrelate(ref, signal, result, 3, 10); + + float tmp; + for (int i = 0; i < 10; i++) { + tmp = result[i]-expected[i]; + if(tmp < 0.0) + CPPUNIT_ASSERT (tmp > -0.001); + else + CPPUNIT_ASSERT(tmp < 0.001); + } +} + +void DelayDetectionTest::testCrossCorrelationDelay() +{ + float signal[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0}; + float ref[3] = {0.0, 1.0, 0.0}; + + float result[10]; + + _delaydetect.crossCorrelate(ref, signal, result, 3, 10); + + float expected[10] = {0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0}; + +} + +void DelayDetectionTest::testFirFilter() +{ + float decimationCoefs[] = {-0.09870257, 0.07473655, 0.05616626, 0.04448337, 0.03630817, 0.02944626, + 0.02244098, 0.01463477, 0.00610982, -0.00266367, -0.01120109, -0.01873722, + -0.02373243, -0.02602213, -0.02437806, -0.01869834, -0.00875287, 0.00500204, + 0.02183252, 0.04065763, 0.06015944, 0.0788299, 0.09518543, 0.10799179, + 0.1160644, 0.12889288, 0.1160644, 0.10799179, 0.09518543, 0.0788299, + 0.06015944, 0.04065763, 0.02183252, 0.00500204, -0.00875287, -0.01869834, + -0.02437806, -0.02602213, -0.02373243, -0.01873722, -0.01120109, -0.00266367, + 0.00610982, 0.01463477, 0.02244098, 0.02944626, 0.03630817, 0.04448337, + 0.05616626, 0.07473655, -0.09870257}; + std::vector<double> ird(decimationCoefs, decimationCoefs + sizeof(decimationCoefs)/sizeof(float)); + + float bandpassCoefs[] = {0.06278034, -0.0758545, -0.02274943, -0.0084497, 0.0702427, 0.05986113, + 0.06436469, -0.02412049, -0.03433526, -0.07568665, -0.03214543, -0.07236507, + -0.06979052, -0.12446371, -0.05530828, 0.00947243, 0.15294699, 0.17735563, + 0.15294699, 0.00947243, -0.05530828, -0.12446371, -0.06979052, -0.07236507, + -0.03214543, -0.07568665, -0.03433526, -0.02412049, 0.06436469, 0.05986113, + 0.0702427, -0.0084497, -0.02274943, -0.0758545, 0.06278034}; + std::vector<double> irb(bandpassCoefs, bandpassCoefs + sizeof(bandpassCoefs)/sizeof(float)); + + float impulse[100]; + memset(impulse, 0, sizeof(float)*100); + impulse[0] = 1.0; + + FirFilter _decimationFilter(ird); + FirFilter _bandpassFilter(irb); + + float impulseresponse[100]; + memset(impulseresponse, 0, sizeof(float)*100); + + // compute impulse response + for(int i = 0; i < 100; i++) { + impulseresponse[i] = _decimationFilter.getOutputSample(impulse[i]); + } + + float tmp; + int size = sizeof(decimationCoefs)/sizeof(float); + for(int i = 0; i < size; i++) { + tmp = decimationCoefs[i] - impulseresponse[i]; + if(tmp < 0.0) + CPPUNIT_ASSERT (tmp > -0.000001); + else + CPPUNIT_ASSERT(tmp < 0.000001); + } + + + for(int i = 0; i < 100; i++) { + impulseresponse[i] = _bandpassFilter.getOutputSample(impulse[i]); + } + + size = sizeof(bandpassCoefs)/sizeof(float); + for(int i = 0; i < size; i++) { + tmp = bandpassCoefs[i] - impulseresponse[i]; + if(tmp < 0.0) + CPPUNIT_ASSERT (tmp > -0.000001); + else + CPPUNIT_ASSERT(tmp < 0.000001); + } + +} + +void DelayDetectionTest::testIntToFloatConversion() { + + SFLDataFormat data[32768*2]; + float converted[32768*2]; + + for(int i = -32768; i < 32768; i++) + data[i+32768] = i; + + _delaydetect.convertInt16ToFloat32(data, converted, 32768*2); + + for(int i = -32768; i < 0; i++) { + CPPUNIT_ASSERT(converted[i+32768] >= -1.0); + CPPUNIT_ASSERT(converted[i+32768] <= 0.0); + } + + for(int i = 0; i < 32768; i++) { + CPPUNIT_ASSERT(converted[i+32768] >= 0.0); + CPPUNIT_ASSERT(converted[i+32768] <= 1.0); + } +} + +void DelayDetectionTest::testDownSamplingData() { + + SFLDataFormat data[32768*2]; + float converted[32768*2]; + float resampled[32768*2]; + + for(int i = -32768; i < 32768; i++) + data[i+32768] = i; + + _delaydetect.convertInt16ToFloat32(data, converted, 32768*2); + + _delaydetect.downsampleData(converted, resampled, 32768*2, 8); + + for(int i = 0; i < 32768/8; i++) { + CPPUNIT_ASSERT(resampled[i] >= -1.0); + CPPUNIT_ASSERT(resampled[i] <= 0.0); + } + + for(int i = 32768/8+1; i < 32768/4; i++) { + CPPUNIT_ASSERT(resampled[i] >= 0.0); + CPPUNIT_ASSERT(resampled[i] <= 1.0); + } + + +} + + +void DelayDetectionTest::testDelayDetection() { + + int delay = 100; + + SFLDataFormat spkr[WINDOW_SIZE]; + memset(spkr, 0, sizeof(SFLDataFormat)*WINDOW_SIZE); + spkr[0] = 32000; + spkr[1] = 32000; + spkr[2] = 32000; + spkr[3] = 32000; + spkr[4] = 32000; + + SFLDataFormat mic[DELAY_BUFF_SIZE]; + memset(mic, 0, sizeof(SFLDataFormat)*DELAY_BUFF_SIZE); + mic[delay] = 32000; + mic[delay+1] = 32000; + mic[delay+2] = 32000; + mic[delay+3] = 32000; + mic[delay+4] = 32000; + + _delaydetect.putData(spkr, WINDOW_SIZE*sizeof(SFLDataFormat)); + _delaydetect.process(mic, DELAY_BUFF_SIZE*sizeof(SFLDataFormat)); + +} diff --git a/sflphone-common/test/delaydetectiontest.h b/sflphone-common/test/delaydetectiontest.h new file mode 100644 index 0000000000000000000000000000000000000000..e0046b42c6352ad47a9af93c1dacc05bfe2e023a --- /dev/null +++ b/sflphone-common/test/delaydetectiontest.h @@ -0,0 +1,112 @@ +/* + * Copyright (C) 2004, 2005, 2006, 2009, 2008, 2009, 2010 Savoir-Faire Linux Inc. + * Author: Alexandre Savard <alexandre.savard@savoirfairelinux.com> + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * Additional permission under GNU GPL version 3 section 7: + * + * If you modify this program, or any covered work, by linking or + * combining it with the OpenSSL project's OpenSSL library (or a + * modified version of that library), containing parts covered by the + * terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc. + * grants you additional permission to convey the resulting work. + * Corresponding Source for a non-source form of such a combination + * shall include the source code for the parts of OpenSSL used as well + * as that of the covered work. + */ + + +// Cppunit import +#include <cppunit/extensions/HelperMacros.h> +#include <cppunit/TestCaller.h> +#include <cppunit/TestCase.h> +#include <cppunit/TestSuite.h> + +#include <assert.h> + +#include <stdio.h> +#include <sstream> +#include <ccrtp/rtp.h> + + +// pjsip import +#include <pjsip.h> +#include <pjlib.h> +#include <pjsip_ua.h> +#include <pjlib-util.h> +#include <pjnath/stun_config.h> + +// Application import +#include "manager.h" +#include "audio/mainbuffer.h" +#include "audio/ringbuffer.h" +#include "call.h" +// #include "config/config.h" +// #include "user_cfg.h" + + +#include "audio/delaydetection.h" + +#ifndef _DELAYDETECTION_TEST_ +#define _DELAYDETECTION_TEST_ + +/* + * @file delaydetection.cpp + * @brief Regroups unitary tests related to the delay detection algorithm. + */ + +class DelayDetectionTest : public CppUnit::TestCase { + + CPPUNIT_TEST_SUITE( DelayDetectionTest ); + CPPUNIT_TEST( testCrossCorrelation ); + CPPUNIT_TEST( testCrossCorrelationDelay ); + CPPUNIT_TEST( testFirFilter ); + CPPUNIT_TEST( testIntToFloatConversion ); + CPPUNIT_TEST( testDownSamplingData ); + CPPUNIT_TEST( testDelayDetection ); + CPPUNIT_TEST_SUITE_END(); + + public: + + DelayDetectionTest() : CppUnit::TestCase("Delay Detection Tests") {} + + void setUp(); + + inline void tearDown(); + + void testCrossCorrelation(); + + void testCrossCorrelationDelay(); + + void testFirFilter(); + + void testIntToFloatConversion(); + + void testDownSamplingData(); + + void testDelayDetection(); + + private: + + DelayDetection _delaydetect; + +}; + +/* Register our test module */ +CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(DelayDetectionTest, "DelayDetectionTest"); +CPPUNIT_TEST_SUITE_REGISTRATION( DelayDetectionTest ); + +#endif diff --git a/sflphone-common/test/main.cpp b/sflphone-common/test/main.cpp index 98f792ad1eb8def07bf678ca9403de4de0e66bbe..ada12320f8272f1247ae0f3c6e4b1743ed8da548 100644 --- a/sflphone-common/test/main.cpp +++ b/sflphone-common/test/main.cpp @@ -28,49 +28,30 @@ * as that of the covered work. */ -#include "logger.h" -#include "global.h" -#include "manager.h" -#include "constants.h" +#include <logger.h> +#include <manager.h> + +#define CONFIG_SAMPLE "sflphonedrc-sample" #include <cppunit/CompilerOutputter.h> #include <cppunit/extensions/TestFactoryRegistry.h> #include <cppunit/ui/text/TextTestRunner.h> -// TODO: Why some header cannot be included ? -#include "accounttest.h" -#include "audiolayertest.h" -#include "configurationtest.h" -//#include "historytest.h" -//#include "hookmanagertest.h" -#include "mainbuffertest.h" -#include "numbercleanertest.h" -//#include "pluginmanagertest.h" -//#include "rtptest.h" -#include "sdesnegotiatortest.h" - - int main(int argc, char* argv[]) { printf("\nSFLphone Daemon Test Suite, by Savoir-Faire Linux 2004-2010\n\n"); - Logger::setConsoleLog(true); - Logger::setDebugMode(true); - /* - Logger::setDebugMode(false); - + int argvIndex = 1; if (argc > 1) { if (strcmp("--help", argv[1]) == 0) { argvIndex++; - CPPUNIT_NS::Test - *suite = CPPUNIT_NS::TestFactoryRegistry::getRegistry( - "All Tests").makeTest(); + CPPUNIT_NS::Test* suite = CPPUNIT_NS::TestFactoryRegistry::getRegistry("All Tests").makeTest(); + int testSuiteCount = suite->getChildTestCount(); - printf("Usage: test [OPTIONS] [TEST_SUITE]\n"); printf("\nOptions:\n"); printf(" --debug - Debug mode\n"); @@ -89,6 +70,7 @@ int main(int argc, char* argv[]) { } } + // Default test suite : all tests std::string testSuiteName = "All Tests"; if(argvIndex < argc) { @@ -100,34 +82,28 @@ int main(int argc, char* argv[]) { Manager::instance().initConfigFile(true, CONFIG_SAMPLE); Manager::instance().init(); - printf("\n\n=== Test Suite: %s ===\n\n", testSuiteName.c_str()); // Get the top level suite from the registry + printf("\n\n=== Test Suite: %s ===\n\n", testSuiteName.c_str()); CPPUNIT_NS::Test *suite = CPPUNIT_NS::TestFactoryRegistry::getRegistry(testSuiteName).makeTest(); - */ - CPPUNIT_NS::Test *suite = CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest(); - /* if(suite->getChildTestCount() == 0) { _error("Invalid test suite name: %s", testSuiteName.c_str()); exit(-1); } - */ - Manager::instance().initConfigFile(true, CONFIG_SAMPLE); - Manager::instance().init(); - + // Adds the test to the list of test to run CppUnit::TextTestRunner runner; runner.addTest(suite); // Change the default outputter to a compiler error format outputter - runner.setOutputter(new CppUnit::CompilerOutputter(&runner.result(), - std::cerr)); + runner.setOutputter(new CppUnit::CompilerOutputter(&runner.result(), std::cerr)); + // Run the tests. bool wasSucessful = runner.run(); + Manager::instance().terminate(); + // Return error code 1 if the one of test failed. return wasSucessful ? 0 : 1; - - Manager::instance().terminate(); } diff --git a/sflphone-common/test/sequence.yml b/sflphone-common/test/sequence.yml new file mode 100755 index 0000000000000000000000000000000000000000..9cb54dd63661ab25b6255cb23ae414259c8bb91f --- /dev/null +++ b/sflphone-common/test/sequence.yml @@ -0,0 +1,22 @@ +accounts: + - id: 1234 + alias: sfl-181 + username: 181 + password: sfl-181pw + hostname: sflphone.org + enable: true + type: sip + + - id: 2345 + alias: sfl-431 + username: 431 + password: alexandre + hostname: 192.168.50.3 + enable: true + type: sip + + + + + + diff --git a/sflphone-common/test/sequence2.yml b/sflphone-common/test/sequence2.yml new file mode 100644 index 0000000000000000000000000000000000000000..c63756336f815a62a8745e960d6263be9c047807 --- /dev/null +++ b/sflphone-common/test/sequence2.yml @@ -0,0 +1,117 @@ +accounts: + - id: 1234 + alias: sfl-181 + username: 181 + password: sfl-181pw + hostname: sflphone.org + enable: true + type: sip + + - id: 2345 + alias: sfl-431 + username: 431 + password: alexandre + hostname: 192.168.50.3 + enable: true + type: sip + expire: 3600 + interface: lo + port: 5065 + mailbox: 97 + publishaddr: 127.0.0.1 + publishport: 5065 + sameaslocal: true + resolveonce: false + codecs: 0/9/110/111/112/ + credential: + count: 0 + srtp: + enable: true + keyexchange: sdes + rtpfallback: true + zrtp: + displaySas: true + displaySasOnce: false + helloHashEnabled: true + notSuppWarning: true + tls: + certificate: /home/msavard/Development/sflphone/sflphone-client-gnome/config.guess + calist: /home/msavard/Development/sflphone/sflphone-client-gnome/aclocal.m4 + ciphers: + enable: true + method: TLSv1 + timeout: 0 + password: + privatekey: /home/msavard/Development/sflphone/sflphone-client-gnome/config.log + requirecertif: true + server: + verifyclient: true + verifyserver: true + +addressbook: + photo: false + enabled: true + list: 1243608768.30329.0@emilou-desktop/1243456917.15690.23@emilou-desktop/ + max_results: 25 + business: true + home: false + mobile: false + +audio: + alsa: + cardin: 0 + cardout: 0 + cardout: 0 + framesize: 20 + plugin: default + smplrate: 44100 + pulse: + devicePlayback: + deviceRecord: + deviceRingtone: + recordpath: /home/msavard/Bureau + ringchoice: /usr/share/sflphone/ringtones/konga.ul + volumemic: 100 + volumespkr: 100 + +hooks: + iax2Enabled: false + numberAddPrefix: false + numberEnabled: false + sipEnabled: false + urlCommand: x-www-browser + urlSipField: X-sflphone-url + +preferences: + order: 1234/2345 + audioapi: 0 + dialpaddisplay: 0 + historyenabled: 1 + historylimit: 30 + historymaxCalls: 20 + notifyall: true + notifymails: false + zoneToneChoice: North America + registrationexpire: 180 + ringtonesenable: true + portnum: 5060 + searchbardisplay: true + starthidden: 0 + volumedisplay: 0 + windowheight: 332 + windowpopup: 0 + windowposition: 0 + windowposition: 24 + windowwidth: 240 + zeroconfenable: false + md5Hash: false + +voiplink: + playDtmf: true + playTones: true + pulseLength: 250 + sendDTMFas: 0 + stunenable: 0 + stunserver: stun.sflphone.org + symmetric: true + zidFile: sfl.zid \ No newline at end of file diff --git a/sippxml/simpleServiceRoute.xml b/sippxml/simpleServiceRoute.xml new file mode 100644 index 0000000000000000000000000000000000000000..f09cd05012249742044ad1ba0f43cce09a499de3 --- /dev/null +++ b/sippxml/simpleServiceRoute.xml @@ -0,0 +1,85 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<scenario name="Basic Sipstone UAC"> + + <send retrans="500"> + <![CDATA[ + + INVITE sip:[service]@[remote_ip]:[remote_port] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number] + To: sut <sip:[service]@[remote_ip]:[remote_port]> + Call-ID: [call_id] + CSeq: 1 INVITE + Contact: sip:sipp@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Performance Test + Content-Type: application/sdp + Content-Length: [len] + Route: <sip:sipp@[local_ip]:[local_port]> + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <recv response="100" + optional="true"> + </recv> + + <recv response="183" optional="true"> + </recv> + + <recv response="200" rtd="true"> + </recv> + + <send> + <![CDATA[ + + ACK sip:[service]@[remote_ip]:[remote_port] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number] + To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param] + Call-ID: [call_id] + CSeq: 1 ACK + Contact: sip:sipp@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Performance Test + Content-Length: 0 + + ]]> + </send> + + <pause/> + + <send retrans="500"> + <![CDATA[ + + BYE sip:[service]@[remote_ip]:[remote_port] SIP/2.0 + Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] + From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[call_number] + To: sut <sip:[service]@[remote_ip]:[remote_port]>[peer_tag_param] + Call-ID: [call_id] + CSeq: 2 BYE + Contact: sip:sipp@[local_ip]:[local_port] + Max-Forwards: 70 + Subject: Performance Test + Content-Length: 0 + + ]]> + </send> + + <recv response="200" crlf="true"> + </recv> + + <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> + + <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> + +</scenario> diff --git a/sippxml/testEarlyMedia.xml b/sippxml/testEarlyMedia.xml new file mode 100644 index 0000000000000000000000000000000000000000..28f34ff4f084dc598c77b2bba5b8ecead188ff89 --- /dev/null +++ b/sippxml/testEarlyMedia.xml @@ -0,0 +1,107 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE scenario SYSTEM "sipp.dtd"> + +<!-- sudo sipp -sf testEarlyMedia.xml 127.0.0.1 -i 127.0.0.1 -p 5062 -l 1 -m 1 -mp 6000 --> + +<scenario name="Basic UAS responder"> + + <recv request="INVITE" crlf="true"> + </recv> + + + <send> + <![CDATA[ + + SIP/2.0 100 Ringing + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <send> + <![CDATA[ + + SIP/2.0 183 Trying + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Type: application/sdp + Content-Length: [len] + + v=0 + o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip] + s=- + c=IN IP[media_ip_type] [media_ip] + t=0 0 + m=audio [media_port] RTP/AVP 0 + a=rtpmap:0 PCMU/8000 + + ]]> + </send> + + <!-- Play a pre-recorded PCAP file (RTP stream) --> + <nop> + <action> + <exec play_pcap_audio="g711a.pcap"/> + </action> + </nop> + + <!-- Pause 8 seconds, which is approximately the duration of the --> + <!-- PCAP file --> + <pause milliseconds="8000"/> + + <send retrans="500"> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:];tag=[call_number] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: [len] + + ]]> + </send> + + <recv request="ACK" + optional="true" + rtd="true" + crlf="true"> + </recv> + + <recv request="BYE"> + </recv> + + <send> + <![CDATA[ + + SIP/2.0 200 OK + [last_Via:] + [last_From:] + [last_To:] + [last_Call-ID:] + [last_CSeq:] + Contact: <sip:[local_ip]:[local_port];transport=[transport]> + Content-Length: 0 + + ]]> + </send> + + <pause milliseconds="4000"/> + + + <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/> + + <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/> + +</scenario> diff --git a/tools/build-system/launchpad/sflphone-common/debian/control.jaunty b/tools/build-system/launchpad/sflphone-common/debian/control.jaunty index 8700719c003eb8c46780ca12aa608dd1639490b2..246bf4f56ce832d182e0efab19ca6be01bcc3ecc 100644 --- a/tools/build-system/launchpad/sflphone-common/debian/control.jaunty +++ b/tools/build-system/launchpad/sflphone-common/debian/control.jaunty @@ -2,13 +2,13 @@ Source: sflphone-common Maintainer: SavoirFaireLinux Inc <julien.bonjean@savoirfairelinux.com> Section: gnome Priority: optional -Build-Depends: debhelper, libgcc1 , autoconf, automake, libpulse-dev, libsamplerate0-dev, libcommoncpp2-dev, libccrtp-dev, libgsm1-dev, libspeex-dev, libtool, libdbus-1-dev, libasound2-dev, libspeexdsp-dev, uuid-dev, libexpat1-dev, libzrtpcpp-dev, libssl-dev, libpcre3-dev +Build-Depends: debhelper, libgcc1 , autoconf, automake, libpulse-dev, libsamplerate0-dev, libcommoncpp2-dev, libccrtp-dev, libgsm1-dev, libspeex-dev, libtool, libdbus-1-dev, libasound2-dev, libspeexdsp-dev, uuid-dev, libexpat1-dev, libzrtpcpp-dev, libssl-dev, libpcre3-dev, libyaml-dev Standards-Version: 3.7.3 Package: sflphone-common Priority: optional Architecture: any -Depends: libsamplerate0, libexpat1 , libc6, libcommoncpp2-1.6-0, libgsm1, libspeex1, libdbus-1-3, libasound2, libpulse0, libccrtp1-1.6-1, libspeexdsp1, libzrtpcpp-1.3-0, libssl0.9.8, libpcre3 +Depends: libsamplerate0, libexpat1 , libc6, libcommoncpp2-1.6-0, libgsm1, libspeex1, libdbus-1-3, libasound2, libpulse0, libccrtp1-1.6-1, libspeexdsp1, libzrtpcpp-1.3-0, libssl0.9.8, libpcre3, libyaml-0-2 Replaces: sflphone Conflicts: sflphone Homepage: http://www.sflphone.org diff --git a/tools/build-system/launchpad/sflphone-common/debian/control.karmic b/tools/build-system/launchpad/sflphone-common/debian/control.karmic index 177306ed35bf7cae2a8d1f2e7bc03a3772cc24c9..9b1561ed747d9add075108e2345cfbc87df06df3 100644 --- a/tools/build-system/launchpad/sflphone-common/debian/control.karmic +++ b/tools/build-system/launchpad/sflphone-common/debian/control.karmic @@ -2,13 +2,13 @@ Source: sflphone-common Maintainer: SavoirFaireLinux Inc <julien.bonjean@savoirfairelinux.com> Section: gnome Priority: optional -Build-Depends: debhelper, libgcc1 , autoconf, automake, libpulse-dev, libsamplerate0-dev, libcommoncpp2-dev, libccrtp-dev, libgsm1-dev, libspeex-dev, libtool, libdbus-1-dev, libasound2-dev, libspeexdsp-dev, uuid-dev, libexpat1-dev, libzrtpcpp-dev, libssl-dev, libpcre3-dev +Build-Depends: debhelper, libgcc1 , autoconf, automake, libpulse-dev, libsamplerate0-dev, libcommoncpp2-dev, libccrtp-dev, libgsm1-dev, libspeex-dev, libtool, libdbus-1-dev, libasound2-dev, libspeexdsp-dev, uuid-dev, libexpat1-dev, libzrtpcpp-dev, libssl-dev, libpcre3-dev, libyaml-dev Standards-Version: 3.7.3 Package: sflphone-common Priority: optional Architecture: any -Depends: libsamplerate0, libexpat1 , libc6, libccgnu2-1.7-0, libgsm1, libspeex1, libdbus-1-3, libasound2, libpulse0, libccrtp1-1.7-0, libspeexdsp1, libzrtpcpp-1.4-0, libssl0.9.8, libpcre3 +Depends: libsamplerate0, libexpat1 , libc6, libccgnu2-1.7-0, libgsm1, libspeex1, libdbus-1-3, libasound2, libpulse0, libccrtp1-1.7-0, libspeexdsp1, libzrtpcpp-1.4-0, libssl0.9.8, libpcre3, libyaml-0-2 Replaces: sflphone Conflicts: sflphone Homepage: http://www.sflphone.org diff --git a/tools/build-system/launchpad/sflphone-common/debian/control.lucid b/tools/build-system/launchpad/sflphone-common/debian/control.lucid index 177306ed35bf7cae2a8d1f2e7bc03a3772cc24c9..9b1561ed747d9add075108e2345cfbc87df06df3 100644 --- a/tools/build-system/launchpad/sflphone-common/debian/control.lucid +++ b/tools/build-system/launchpad/sflphone-common/debian/control.lucid @@ -2,13 +2,13 @@ Source: sflphone-common Maintainer: SavoirFaireLinux Inc <julien.bonjean@savoirfairelinux.com> Section: gnome Priority: optional -Build-Depends: debhelper, libgcc1 , autoconf, automake, libpulse-dev, libsamplerate0-dev, libcommoncpp2-dev, libccrtp-dev, libgsm1-dev, libspeex-dev, libtool, libdbus-1-dev, libasound2-dev, libspeexdsp-dev, uuid-dev, libexpat1-dev, libzrtpcpp-dev, libssl-dev, libpcre3-dev +Build-Depends: debhelper, libgcc1 , autoconf, automake, libpulse-dev, libsamplerate0-dev, libcommoncpp2-dev, libccrtp-dev, libgsm1-dev, libspeex-dev, libtool, libdbus-1-dev, libasound2-dev, libspeexdsp-dev, uuid-dev, libexpat1-dev, libzrtpcpp-dev, libssl-dev, libpcre3-dev, libyaml-dev Standards-Version: 3.7.3 Package: sflphone-common Priority: optional Architecture: any -Depends: libsamplerate0, libexpat1 , libc6, libccgnu2-1.7-0, libgsm1, libspeex1, libdbus-1-3, libasound2, libpulse0, libccrtp1-1.7-0, libspeexdsp1, libzrtpcpp-1.4-0, libssl0.9.8, libpcre3 +Depends: libsamplerate0, libexpat1 , libc6, libccgnu2-1.7-0, libgsm1, libspeex1, libdbus-1-3, libasound2, libpulse0, libccrtp1-1.7-0, libspeexdsp1, libzrtpcpp-1.4-0, libssl0.9.8, libpcre3, libyaml-0-2 Replaces: sflphone Conflicts: sflphone Homepage: http://www.sflphone.org