diff options
author | Ben Wiederhake <BenWiederhake.GitHub@gmx.de> | 2019-08-31 12:42:50 +0300 |
---|---|---|
committer | Ben Wiederhake <BenWiederhake.GitHub@gmx.de> | 2019-08-31 12:42:50 +0300 |
commit | 49f67d7c0122eca9e49a833aedb332f2fa66f47b (patch) | |
tree | 3fbed00a8beca7c36ce39ab13f6f6c56d8a1c898 | |
parent | ec0c6fa8e8e60ea524489709ad9119c7e78fa189 (diff) | |
parent | 494dbf43b11eb5b383ba6b9029864aa99a7283ca (diff) |
Merge branch 'dev-1.4.2' into master
-rw-r--r-- | CHANGELOG.md | 13 | ||||
-rw-r--r-- | HACKING.md | 35 | ||||
-rw-r--r-- | Makefile.in | 13 | ||||
-rwxr-xr-x | configure | 18 | ||||
-rw-r--r-- | configure.ac | 2 | ||||
-rwxr-xr-x | mkwindows.sh | 60 | ||||
-rw-r--r-- | po/bg.po | 7 | ||||
-rw-r--r-- | po/cs_CZ.po | 7 | ||||
-rw-r--r-- | po/da.po | 6 | ||||
-rw-r--r-- | po/de_DE.po | 6 | ||||
-rw-r--r-- | po/es.po | 202 | ||||
-rw-r--r-- | po/es_AR.po | 7 | ||||
-rw-r--r-- | po/fr.po | 6 | ||||
-rw-r--r-- | po/it_IT.po | 7 | ||||
-rw-r--r-- | po/nl.po | 6 | ||||
-rw-r--r-- | po/pl_PL.po | 7 | ||||
-rw-r--r-- | po/pt_BR.po | 7 | ||||
-rw-r--r-- | po/ru_RU.po | 184 | ||||
-rw-r--r-- | po/sq.po | 7 | ||||
-rw-r--r-- | po/telegram-purple.pot | 198 | ||||
-rw-r--r-- | po/uk.po | 6 | ||||
-rw-r--r-- | rpm/purple-telegram.spec | 5 | ||||
-rw-r--r-- | telegram-adium/telegram-adium/telegram-adium-Info.plist | 4 | ||||
-rw-r--r-- | telegram-purple.c | 7 | ||||
-rw-r--r-- | test/loadtest.c | 2 | ||||
-rw-r--r-- | tgp-2prpl.c | 2 | ||||
-rw-r--r-- | tgp-chat.c | 6 | ||||
-rw-r--r-- | tgp-msg.c | 117 | ||||
-rw-r--r-- | tgp-request.c | 1 | ||||
-rw-r--r-- | tgp-utils.c | 9 |
30 files changed, 540 insertions, 417 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index b699cdb..3e44e6f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,19 @@ Changelog --------- +##### 1.4.2 + +- Still no support for Adium. We just don't know how! Help wanted! PLEASE! +- Update Windows dependencies +- Support ancient glib (See #501) +- Update translations. Thanks to the following people: + * Eduardo Trápani <etrapani@gmail.com> (es) + * Olesya Gerasimenko <gammaray@basealt.ru> (ru) +- Fix: Handle forwarded messages and captioned images better +- Fix: Handle replies better +- Fix: Images in own messages +- Fix: Remove *some* of the duplicate messages seen (Maybe fixes #258?) + ##### 1.4.1 - *REMOVED* active support for Adium. We just don't know how! Help wanted! @@ -27,18 +27,31 @@ Make sure that the string freeze has already happened. Go to the [translation site](https://www.transifex.com/telegram-purple-developers/telegram-purple/content/), and close the current resource for new translations. Rename and re-prioritize it appropriately. -Download the zip-file, extract it, remove the annoying prefix. Move all files to `po/`. +Download the zip-file, extract it, remove the annoying prefix. Move all files to `po/`, except `en.po`. + +While waiting for the download link, create the new resource with the new potfile, +then re-upload all the old translations there. Run `make po/*.po` to fix the filenames. Do not delete any files. Rationale see `Makefile`. Adjust `po/LINGUAS*` as you see fit. +Also import the translations for `AppStream/po/`. + #### Increment version Attempt to use semver. Adjust `configure.ac`, in macro `AC_INIT`. Remember to run `autoreconf`. +Adjust `telegram-adium/telegram-adium/telegram-adium-Info.plist`. + +Adjust `rpm/purple-telegram.spec`, in version at the top and "changelog" below. + +Don't update debian: It's abandoned anyway. + +AppStream: Nothing to do. + Update `CHANGELOG.md`. #### Run some tests @@ -48,6 +61,8 @@ Also, install it locally. Don't forget to `./configure` first. #### Prepare release files +Merge into `master`. + Make a tag: `git tag v1.something` Remember to push the tag to github. @@ -59,8 +74,24 @@ Keep the resulting `telegram-purple-1.something+gcafebabe5.exe` safe. #### Create release on github -FIXME +See the [release page](https://github.com/majn/telegram-purple/releases/). +Feel free to be inspired by the previous release-messages. + +Remember to upload the origtar *and* Windows installer. #### Close associated issues All relevant issues are marked with `in-pipeline`, but sadly too many are marked this way. + +#### Organize branches + +Create a new branch `dev-1.nextsomething`, delete the old branch. + +#### Create new translation goal on transifex + +Be pessimistic in the slug-name. + +Run `./autogen.sh` to make all string changes available. + +Also, create an announcement that yes there is a new resource, +but this resource may change significantly until the next string freeze. diff --git a/Makefile.in b/Makefile.in index 52cc457..34dff3e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -22,7 +22,8 @@ datarootdir=@datarootdir@ localedir=@localedir@ gettext_package=@GETTEXT_PACKAGE@ -PIDGIN_VERSION=2.12.0 +# Also update mkwindows.sh +PIDGIN_VERSION=2.13.0 WIN32_GTK_BUNDLE_DIR=win32/gtk+-bundle_2.24.10-20120208_win32 WIN32_GTK_BUNDLE_URL=http://ftp.acc.umu.se/pub/gnome/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.10-20120208_win32.zip WIN32_GTK_BUNDLE_FILE=win32/gtk+-bundle_2.24.10-20120208_win32.zip @@ -32,9 +33,9 @@ WIN32_PIDGIN_SRC_DIR=win32/pidgin-${PIDGIN_VERSION} WIN32_PIDGIN_BIN_URL=http://sourceforge.net/projects/pidgin/files/Pidgin/${PIDGIN_VERSION}/pidgin-${PIDGIN_VERSION}-win32-bin.zip/download WIN32_PIDGIN_BIN_FILE=win32/pidgin-${PIDGIN_VERSION}-win32-bin.zip WIN32_PIDGIN_BIN_DIR=win32/pidgin-${PIDGIN_VERSION}-win32bin -WIN32_WEBP_URL=https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-0.6.1.tar.gz -WIN32_WEBP_FILE=win32/libwebp-0.6.1.tar.gz -WIN32_WEBP_DIR=win32/libwebp-0.6.1 +WIN32_WEBP_URL=https://github.com/webmproject/libwebp/archive/v1.0.2.tar.gz +WIN32_WEBP_FILE=win32/libwebp-1.0.2.tar.gz +WIN32_WEBP_DIR=win32/libwebp-1.0.2 WIN32_DIRS=${WIN32_GTK_BUNDLE_DIR} ${WIN32_PIDGIN_SRC_DIR} ${WIN32_PIDGIN_BIN_DIR} ${WIN32_WEBP_DIR} # Not directly used here, but the usage will be injected via the CFLAGS configure var. # Note on webp: locally cross-built! That's why it violates the pattern. @@ -47,7 +48,7 @@ WIN32_INC=-I${WIN32_PIDGIN_SRC_DIR}/pidgin \ -I${WIN32_GTK_BUNDLE_DIR}/lib/glib-2.0/include \ -I${WIN32_GTK_BUNDLE_DIR}/include/gtk-2.0 \ -I${WIN32_GTK_BUNDLE_DIR}/lib/gtk-2.0/include \ - -Iobjs/webp-install/include + -Iobjs/webp/install/include WIN32_CONTRIB_FILES=contrib/libgcrypt-20.dll contrib/libgpg-error-0.dll contrib/libgcc_s_sjlj-1.dll CFLAGS_INTL=-DENABLE_NLS -DLOCALEDIR='"$(localedir)"' @@ -339,7 +340,7 @@ dist: check-clean commit.h .git create_dirs .PHONY: clean-here clean-here: - rm -rf ${DIR_LIST} $(PRPL_LIBNAME) telegram-purple.nsi po/*.mo autom4te.cache AppStream/po/*.mo + rm -rf ${DIR_LIST} $(PRPL_LIBNAME) telegram-purple.nsi po/*.mo autom4te.cache AppStream/po/*.mo commit.h -include test/Makefile @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for telegram-purple 1.4.1. +# Generated by GNU Autoconf 2.69 for telegram-purple 1.4.2. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -577,8 +577,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='telegram-purple' PACKAGE_TARNAME='telegram-purple' -PACKAGE_VERSION='1.4.1' -PACKAGE_STRING='telegram-purple 1.4.1' +PACKAGE_VERSION='1.4.2' +PACKAGE_STRING='telegram-purple 1.4.2' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1261,7 +1261,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures telegram-purple 1.4.1 to adapt to many kinds of systems. +\`configure' configures telegram-purple 1.4.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1323,7 +1323,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of telegram-purple 1.4.1:";; + short | recursive ) echo "Configuration of telegram-purple 1.4.2:";; esac cat <<\_ACEOF @@ -1432,7 +1432,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -telegram-purple configure 1.4.1 +telegram-purple configure 1.4.2 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1851,7 +1851,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by telegram-purple $as_me 1.4.1, which was +It was created by telegram-purple $as_me 1.4.2, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -5195,7 +5195,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by telegram-purple $as_me 1.4.1, which was +This file was extended by telegram-purple $as_me 1.4.2, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5257,7 +5257,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -telegram-purple config.status 1.4.1 +telegram-purple config.status 1.4.2 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/configure.ac b/configure.ac index 2c25ba6..b992a0f 100644 --- a/configure.ac +++ b/configure.ac @@ -20,7 +20,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) -AC_INIT([telegram-purple], [1.4.1]) +AC_INIT([telegram-purple], [1.4.2]) AC_CONFIG_SRCDIR([config.h.in]) AC_CONFIG_HEADERS([config.h]) diff --git a/mkwindows.sh b/mkwindows.sh index 4e10452..7f2dc01 100755 --- a/mkwindows.sh +++ b/mkwindows.sh @@ -29,6 +29,12 @@ then # Otherwise: # USE_WEBP=n fi +if [ -z "${USE_PNG}" ] +then + USE_PNG=y + # Otherwise: + # USE_PNG=n +fi if [ -z "${USE_VERSIONINFO}" ] then USE_VERSIONINFO=y @@ -55,18 +61,18 @@ MINGW_BASE=/usr/${MINGW_TARGET} MINGW_INCLUDEDIR=/usr/share/mingw-w64/include # WebP compilation -WEBP_INSTALL_DIR="objs/webp-install/" -mkdir -p ${WEBP_INSTALL_DIR} +WEBP_INSTALL_DIR="objs/webp/install/" +mkdir -p ${WEBP_INSTALL_DIR} # Needed for realpath WEBP_INSTALL_DIR_FULL="$(realpath ${WEBP_INSTALL_DIR})" -WEBP_BUILD_DIR="objs/webp-build/" +WEBP_BUILD_DIR="objs/webp/build/" # Win32 references # Sadly, the library paths must be resolved *now* already. # AND, they must be absolute. Sigh. mkdir -p win32 WIN32_GTK_DEV_DIR=`realpath win32/gtk+-bundle_2.24.10-20120208_win32` -WIN32_PIDGIN_DIR=`realpath win32/pidgin-2.12.0` -WIN32_WEBP_PRISTINE="win32/libwebp-0.6.1/" +WIN32_PIDGIN_DIR=`realpath win32/pidgin-2.13.0` +WIN32_WEBP_PRISTINE="win32/libwebp-1.0.2/" # Versioning information ./configure -q @@ -133,15 +139,20 @@ else mkdir -p "${WEBP_INSTALL_DIR}" # -a to (hopefully) preserve some timestamps cp -ar "${WIN32_WEBP_PRISTINE}" "${WEBP_BUILD_DIR}" - cd "${WEBP_BUILD_DIR}" - # ./configure && make + ( + cd "${WEBP_BUILD_DIR}" + # ./autogen.sh && ./configure && make # Disable linking against PNG, JPEG, TIFF, GIF, WIC, # as those would either need cross-compilation, too, or some other magic. + ./autogen.sh + # libtoolize (called by autoreconf, called by autogen.sh) must not see + # `install-sh` because it would become confused by it. + # That's why the hierarchy is so deep. ./configure -q --build ${HOST} --host ${MINGW_TARGET} --target ${MINGW_TARGET} \ --disable-dependency-tracking --prefix="${WEBP_INSTALL_DIR_FULL}/" \ --disable-static --enable-shared \ - --enable-swap-16bit-csp --enable-experimental \ + --enable-swap-16bit-csp \ --disable-libwebpmux --disable-libwebpdemux \ --disable-libwebpdecoder --disable-libwebpextras \ --disable-png --disable-jpeg --disable-tiff --disable-gif --disable-wic @@ -150,12 +161,9 @@ else # stems from the fact that 'mt' (magnetic tape control) is not available # for i686-w64-mingw32, so the x86_64 version is used. We can ignore that. # - # Try to avoid too extreme autotools overhead: - touch Makefile.in - # # Finally. make --quiet -j4 install - cd ../.. + ) if ! [ -r ${WEBP_INSTALL_DIR}/include/webp/decode.h -a -r ${WEBP_INSTALL_DIR}/bin/libwebp-7.dll ] ; then # I expect that cross-compiling webp is going to be very fragile, # so print a nice error in case this happens. @@ -194,7 +202,14 @@ then LDFLAGS_WEBP="-L${WEBP_INSTALL_DIR_FULL}/bin" CONFFLAGS_WEBP="--enable-libwebp" fi -./configure -q --build ${HOST} --host ${MINGW_TARGET} --target ${MINGW_TARGET} \ +if [ "y" = "${USE_PNG}" ] +then + # Library should already be present in win32/gtk+-bundle_2.24.10-20120208_win32/lib + CONFFLAGS_PNG="--enable-libpng" +fi +# pkg-config is used to find the right directories for icons, library, etc on linux. +# For Windows, this is already hardcoded in telegram-purple.nsi, so pkg-config isn't needed. +PKG_CONFIG=/bin/false ./configure -q --build ${HOST} --host ${MINGW_TARGET} --target ${MINGW_TARGET} \ --disable-libpng --disable-libwebp \ --with-zlib="${MINGW_BASE}" \ PURPLE_CFLAGS="\${WIN32_INC}" \ @@ -202,12 +217,13 @@ fi LDFLAGS="-L${WIN32_GTK_DEV_DIR}/lib -L${WIN32_PIDGIN_DIR}-win32bin ${LDFLAGS_WEBP}" \ LIBS="-lssp -lintl -lws2_32" \ ${CONFFLAGS_WEBP} -cd tgl -./configure -q --build ${HOST} --host ${MINGW_TARGET} --target ${MINGW_TARGET} \ - --disable-openssl --disable-extf \ - --with-zlib="${MINGW_BASE}" \ - LIBS="-lssp" -cd .. +( + cd tgl + ./configure -q --build ${HOST} --host ${MINGW_TARGET} --target ${MINGW_TARGET} \ + --disable-openssl --disable-extf \ + --with-zlib="${MINGW_BASE}" \ + LIBS="-lssp" +) # Pretend we're building up the preliminaries for auto/ echo "===== 06: Compile tgl, pre-'generate' files" @@ -234,7 +250,7 @@ echo "===== 09: Compile telegram-purple" VERSIONINFO_OBJECTS="" if [ "y" = "${USE_VERSIONINFO}" ] then - mkdir -p objs + make objs commit.h cat <<EOFRC > objs/info.rc #include "../commit.h" 1 VERSIONINFO @@ -267,8 +283,6 @@ make -j4 bin/libtelegram.dll \ # Package it up echo "===== 10: Create installer" -VERSION=`grep -E 'PACKAGE_VERSION' config.h | sed -re 's/^.*"(.*)".*$/\1/'` -COMMIT=`grep -E 'define' commit.h | sed -re 's/^.*"(.*)".*$/\1/'` make PRPL_NAME=libtelegram.dll win-installer-deps makensis -DPLUGIN_VERSION="${VERSION}+g${COMMIT}" -DPRPL_NAME=libtelegram.dll \ -DWIN32_DEV_TOP=contrib telegram-purple.nsi @@ -276,6 +290,6 @@ makensis -DPLUGIN_VERSION="${VERSION}+g${COMMIT}" -DPRPL_NAME=libtelegram.dll \ # There's no monster under your bed, I swear. echo "===== 11: Unspoof files" # Stealth cleanup -cd tgl && git checkout tl-parser/tl-parser.c tl-parser/tlc.c && cd .. +( cd tgl && git checkout tl-parser/tl-parser.c tl-parser/tlc.c ) echo "===== COMPLETE: All done. Installer executable is in top directory." @@ -4,15 +4,14 @@ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # # Translators: -# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2017 -# Любомир Василев, 2018 +# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019 # msgid "" msgstr "" "Project-Id-Version: telegram-purple\n" "POT-Creation-Date: 2018-08-01 23:11+0200\n" -"PO-Revision-Date: 2017-04-11 23:02+0000\n" -"Last-Translator: Любомир Василев, 2018\n" +"PO-Revision-Date: 2019-03-02 01:07+0000\n" +"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019\n" "Language-Team: Bulgarian (https://www.transifex.com/telegram-purple-developers/teams/53149/bg/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/po/cs_CZ.po b/po/cs_CZ.po index 89ab8d7..99aff0c 100644 --- a/po/cs_CZ.po +++ b/po/cs_CZ.po @@ -4,15 +4,14 @@ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # # Translators: -# Jan Breuer <j123b567@jaybee.cz>, 2018 -# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2018 +# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019 # msgid "" msgstr "" "Project-Id-Version: telegram-purple\n" "POT-Creation-Date: 2018-08-01 23:11+0200\n" -"PO-Revision-Date: 2017-04-11 23:02+0000\n" -"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2018\n" +"PO-Revision-Date: 2019-03-02 01:07+0000\n" +"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019\n" "Language-Team: Czech (Czech Republic) (https://www.transifex.com/telegram-purple-developers/teams/53149/cs_CZ/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -4,14 +4,14 @@ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # # Translators: -# TitanusEramius <titanus@aptget.dk>, 2017 +# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019 # msgid "" msgstr "" "Project-Id-Version: telegram-purple\n" "POT-Creation-Date: 2018-08-01 23:11+0200\n" -"PO-Revision-Date: 2017-04-11 23:02+0000\n" -"Last-Translator: TitanusEramius <titanus@aptget.dk>, 2017\n" +"PO-Revision-Date: 2019-03-02 01:07+0000\n" +"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019\n" "Language-Team: Danish (https://www.transifex.com/telegram-purple-developers/teams/53149/da/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/po/de_DE.po b/po/de_DE.po index 565866e..40e5059 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -4,14 +4,14 @@ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # # Translators: -# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2018 +# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019 # msgid "" msgstr "" "Project-Id-Version: telegram-purple\n" "POT-Creation-Date: 2018-08-01 23:11+0200\n" -"PO-Revision-Date: 2017-04-11 23:02+0000\n" -"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2018\n" +"PO-Revision-Date: 2019-03-02 01:07+0000\n" +"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019\n" "Language-Team: German (Germany) (https://www.transifex.com/telegram-purple-developers/teams/53149/de_DE/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -4,15 +4,16 @@ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # # Translators: -# aguador <waterbearer54@gmx.com>, 2017 -# C0D3C <gomezgleonardob@gmail.com>, 2019 +# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019 +# aguador <waterbearer54@gmx.com>, 2019 +# Eduardo Trápani <etrapani@gmail.com>, 2019 # msgid "" msgstr "" "Project-Id-Version: telegram-purple\n" "POT-Creation-Date: 2018-08-01 23:11+0200\n" -"PO-Revision-Date: 2017-04-11 23:02+0000\n" -"Last-Translator: C0D3C <gomezgleonardob@gmail.com>, 2019\n" +"PO-Revision-Date: 2019-03-02 01:07+0000\n" +"Last-Translator: Eduardo Trápani <etrapani@gmail.com>, 2019\n" "Language-Team: Spanish (https://www.transifex.com/telegram-purple-developers/teams/53149/es/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -26,19 +27,19 @@ msgstr "No se pudo crear el grupo" #: ../telegram-base.c:443 msgid "Please select at least one other user." -msgstr "Por favor, seleccioná al menos otro usuario." +msgstr "Por favor, seleccioná al menos otro usuario." #: ../telegram-base.c:497 msgid "Query Failed" -msgstr "Falló la consulta" +msgstr "Falló la consulta" #: ../telegram-purple.c:159 msgid "Secret chat ready." -msgstr "Conversación secreta lista." +msgstr "Conversación secreta lista." #: ../telegram-purple.c:167 msgid "Secret chat terminated." -msgstr "Finalizó la conversación secreta." +msgstr "Finalizó la conversación secreta." #: ../telegram-purple.c:179 msgid "Telegram" @@ -46,17 +47,17 @@ msgstr "Telegram" #: ../telegram-purple.c:226 msgid "Message marked as read." -msgstr "Mensaje marcado como leÃdo." +msgstr "Mensaje marcado como leído." #: ../telegram-purple.c:343 #, c-format msgid "Invite link: %s" -msgstr "Enlace de invitación: %s" +msgstr "Enlace de invitación: %s" #. FIXME: Can TGLCHF_MODERATOR export links? #: ../telegram-purple.c:354 msgid "Creating chat link failed" -msgstr "Falló la creación del enlace de converesación" +msgstr "Falló la creación del enlace de converesación" #: ../telegram-purple.c:355 msgid "You need to be admin of the group to do that." @@ -64,15 +65,15 @@ msgstr "Necesite ser administrador del grupo para hacer eso." #: ../telegram-purple.c:439 msgid "Chat joined" -msgstr "Unido a la conversación" +msgstr "Unido a la conversación" #: ../telegram-purple.c:440 msgid "Chat added to list of chat rooms." -msgstr "Conversación agregada a la lista de salas de conversaciones." +msgstr "Conversación agregada a la lista de salas de conversaciones." #: ../telegram-purple.c:466 msgid "Start secret chat..." -msgstr "Iniciar conversación secreta..." +msgstr "Iniciar conversación secreta..." #. Generate Public Link #: ../telegram-purple.c:473 @@ -90,8 +91,8 @@ msgid "" "Unable to sign on as %s: problem in the underlying library 'tgl'. Please " "submit a bug report with the debug log." msgstr "" -"No se pudo iniciar sesión como %s: problema con la biblioteca 'tgl'. Por " -"favor, envÃe un informe de error con el registro de depuración." +"No se pudo iniciar sesión como %s: problema con la biblioteca 'tgl'. Por " +"favor, envíe un informe de error con el registro de depuración." #: ../telegram-purple.c:564 msgid "Problem in tgl" @@ -104,29 +105,29 @@ msgid "" "Unable to sign on as %s: phone number lacks country prefix. Numbers must " "start with the full international prefix code, e.g. +1 for USA." msgstr "" -"No se pudo iniciar sesión como %s: al número de teléfono le falta el " -"prefijo del paÃs. Los números deben comenzar con el código de prefijo " -"internacional, por ejemplo: +34 para España." +"No se pudo iniciar sesión como %s: al número de teléfono le falta el prefijo" +" del país. Los números deben comenzar con el código de prefijo " +"internacional, por ejemplo: +34 para España." #: ../telegram-purple.c:580 msgid "Incomplete phone number" -msgstr "Número de teléfono incompleto" +msgstr "Número de teléfono incompleto" #: ../telegram-purple.c:638 msgid "Secret chat was already deleted" -msgstr "Ya se eliminó la conversación secreta" +msgstr "Ya se eliminó la conversación secreta" #: ../telegram-purple.c:640 msgid "Secret chat is not ready" -msgstr "La conversación secreta no está lista" +msgstr "La conversación secreta no está lista" #: ../telegram-purple.c:648 msgid "Only the creator of a channel can post messages." -msgstr "Sólo el creador de un canal puede publicar mensajes." +msgstr "Sólo el creador de un canal puede publicar mensajes." #: ../telegram-purple.c:691 msgid "Cannot invite buddy to chat" -msgstr "No se pudo invitar al contacto a la conversación" +msgstr "No se pudo invitar al contacto a la conversación" #: ../telegram-purple.c:692 msgid "Specified user does not exist." @@ -134,7 +135,7 @@ msgstr "El usuario especificado no existe." #: ../telegram-purple.c:705 msgid "phone no. (+ country prefix)" -msgstr "Núm. tlf. (+ prefijo paÃs)" +msgstr "Núm. tlf. (+ prefijo país)" #: ../telegram-purple.c:800 msgid "kick <user>: Kick a user from the room." @@ -143,15 +144,15 @@ msgstr "Echar <usuario>: Echar al usuario de la sala." #. Login #: ../telegram-purple.c:822 msgid "Password (two factor authentication)" -msgstr "Contraseña (autenticación de dos pasos)" +msgstr "Contraseña (autenticación de dos pasos)" #: ../telegram-purple.c:827 msgid "" "Fallback SMS verification\n" "(Helps when not using Pidgin and you aren't being prompted for the code)" msgstr "" -"Verificación por mensaje de texto\n" -"(Sirve para cuando no está usando Pidgin y no se le pido el código)" +"Verificación por mensaje de texto\n" +"(Sirve para cuando no está usando Pidgin y no se le pido el código)" #. Whether to do fallback SMS verification #: ../telegram-purple.c:834 @@ -175,15 +176,15 @@ msgstr "Aceptar conversaciones secretas" #: ../telegram-purple.c:844 msgid "Display buddies offline after (days)" -msgstr "Mostrar contactos desconectados después de (dÃas)" +msgstr "Mostrar contactos desconectados después de (días)" #: ../telegram-purple.c:848 msgid "" "Don't fetch history older than (days)\n" "(0 for unlimited)" msgstr "" -"No recuperar el historial anterior a (dÃas)\n" -"(introducir '0' para no aplicar lÃmites)" +"No recuperar el historial anterior a (días)\n" +"(introducir '0' para no aplicar límites)" #. How to handle "large" files #: ../telegram-purple.c:855 @@ -229,65 +230,65 @@ msgstr "Plugin de protocolo de Telegram." #: ../tgp-msg.c:58 #, c-format msgid "%2$s created chat %1$s." -msgstr "%2$s creó la conversación %1$s." +msgstr "%2$s creó la conversación %1$s." #: ../tgp-msg.c:61 #, c-format msgid "%2$s changed title to %1$s." -msgstr "%2$s cambió el tÃtulo a %1$s." +msgstr "%2$s cambió el título a %1$s." #: ../tgp-msg.c:64 #, c-format msgid "%s changed photo." -msgstr "%s cambió la foto." +msgstr "%s cambió la foto." #: ../tgp-msg.c:67 #, c-format msgid "%s deleted photo." -msgstr "%s eliminó la foto." +msgstr "%s eliminó la foto." #: ../tgp-msg.c:75 #, c-format msgid "%1$s added user %2$s by link." -msgstr "%1$s agregó al usuario %2$s mediante un enlace." +msgstr "%1$s agregó al usuario %2$s mediante un enlace." #: ../tgp-msg.c:90 #, c-format msgid "%2$s added user %1$s." -msgstr "%2$s agregó al usuario %1$s." +msgstr "%2$s agregó al usuario %1$s." #: ../tgp-msg.c:114 ../tgp-msg.c:131 #, c-format msgid "%2$s deleted user %1$s." -msgstr "%2$s eliminó al usuario %1$s." +msgstr "%2$s eliminó al usuario %1$s." #: ../tgp-msg.c:138 #, c-format msgid "%2$s set self destruction timer to %1$d second." msgid_plural "%2$s set self destruction timer to %1$d seconds." -msgstr[0] "%2$s estableció un temporizador autodestructivo a %1$d segundo." -msgstr[1] "%2$s estableció un temporizador autodestructivo a %1$d segundos." +msgstr[0] "%2$s estableció un temporizador autodestructivo a %1$d segundo." +msgstr[1] "%2$s estableció un temporizador autodestructivo a %1$d segundos." #: ../tgp-msg.c:144 #, c-format msgid "%2$s marked %1$d message read." msgid_plural "%2$s marked %1$d messages read." -msgstr[0] "%2$s marcó %1$d mensaje como leÃdo." -msgstr[1] "%2$s marcó %1$d mensajes como leÃdos." +msgstr[0] "%2$s marcó %1$d mensaje como leído." +msgstr[1] "%2$s marcó %1$d mensajes como leídos." #: ../tgp-msg.c:150 #, c-format msgid "%2$s deleted %1$d message." msgid_plural "%2$s deleted %1$d messages." -msgstr[0] "%2$s eliminó %1$d mensaje." -msgstr[1] "%2$s eliminó %1$d mensajes." +msgstr[0] "%2$s eliminó %1$d mensaje." +msgstr[1] "%2$s eliminó %1$d mensajes." #: ../tgp-msg.c:156 #, c-format msgid "%2$s made a screenshot of %1$d message." msgid_plural "%2$s made a screenshot of %1$d messages." -msgstr[0] "%2$s tomó una captura de pantalla de %1$d mensaje." -msgstr[1] "%2$s tomó una captura de pantalla de %1$d mensajes." +msgstr[0] "%2$s tomó una captura de pantalla de %1$d mensaje." +msgstr[1] "%2$s tomó una captura de pantalla de %1$d mensajes." #: ../tgp-msg.c:162 #, c-format @@ -301,62 +302,62 @@ msgstr "Canales de Telegram" #: ../tgp-msg.c:222 msgid "Sending message failed." -msgstr "Falló el envÃo de mensajes." +msgstr "Falló el envío de mensajes." #: ../tgp-msg.c:293 msgid "Sending image failed." -msgstr "Falló el envÃo de imágenes." +msgstr "Falló el envío de imágenes." #: ../tgp-msg.c:457 #, c-format msgid "%s sent a sticker." -msgstr "%s envió un sticker." +msgstr "%s envió un sticker." #: ../tgp-msg.c:483 msgid "[photo]" -msgstr "" +msgstr "[foto]" #: ../tgp-msg.c:487 msgid "[audio]" -msgstr "" +msgstr "[audio]" #: ../tgp-msg.c:491 msgid "[video]" -msgstr "" +msgstr "[video]" #: ../tgp-msg.c:496 msgid "[document]" -msgstr "" +msgstr "[documento]" #: ../tgp-msg.c:501 msgid "[position]" -msgstr "" +msgstr "[posición]" #: ../tgp-msg.c:505 msgid "[contact]" -msgstr "" +msgstr "[contacto]" #: ../tgp-msg.c:509 msgid "[webpage]" -msgstr "" +msgstr "[página web]" #: ../tgp-msg.c:513 msgid "[unsupported media]" -msgstr "" +msgstr "[medio no soportado]" #: ../tgp-msg.c:536 #, c-format msgid "%s<b>> %s wrote:</b><br>> %s<br>%s" -msgstr "" +msgstr "%s<b>> %s escribió:</b><br>> %s<br>%s" #: ../tgp-msg.c:538 #, c-format msgid "%s<b>> Unknown user wrote:</b><br>> %s<br>%s" -msgstr "" +msgstr "%s<b>> Usuario desconocido escribió:</b><br>> %s<br>%s" #: ../tgp-msg.c:586 msgid "failed loading message" -msgstr "falló la carga del mensaje" +msgstr "falló la carga del mensaje" #. Content of a file transfer #: ../tgp-msg.c:633 ../tgp-msg.c:683 @@ -380,7 +381,7 @@ msgstr "vídeo" #: ../tgp-msg.c:873 msgid "loading document or picture failed" -msgstr "falló la carga del documento o imagen" +msgstr "falló la carga del documento o imagen" #: ../tgp-net.c:281 msgid "Cannot connect to main server" @@ -392,27 +393,27 @@ msgstr "No se puede conectar al servidor: tiempo de espera agotado." #: ../tgp-net.c:365 msgid "Lost connection to the server..." -msgstr "Se perdió la conexión con el servidor..." +msgstr "Se perdió la conexión con el servidor..." #: ../tgp-request.c:51 msgid "" "Telegram wants to verify your identity. Please enter the login code that you" " have received via SMS." msgstr "" -"Telegram quiere verificar su identidad. Por favor, introduce el código que " -"recibió en un mensaje de texto." +"Telegram quiere verificar su identidad. Por favor, introduce el código que " +"recibió en un mensaje de texto." #: ../tgp-request.c:54 msgid "Login code" -msgstr "Código de inicio de sesión" +msgstr "Código de inicio de sesión" #: ../tgp-request.c:54 msgid "Enter login code" -msgstr "Intoducir código de inicio de sesión" +msgstr "Intoducir código de inicio de sesión" #: ../tgp-request.c:54 msgid "the code" -msgstr "el código" +msgstr "el código" #: ../tgp-request.c:54 ../tgp-request.c:104 ../tgp-request.c:198 #: ../tgp-request.c:233 ../tgp-request.c:263 @@ -442,7 +443,7 @@ msgstr "Registrar" #: ../tgp-request.c:103 msgid "Please register your phone number." -msgstr "Por favor, registre su número de teléfono." +msgstr "Por favor, registre su número de teléfono." #. purple_request API not available #: ../tgp-request.c:108 @@ -450,8 +451,8 @@ msgid "" "Phone number is not registered. Please register your phone on a different " "client." msgstr "" -"No se registró el número de teléfono. Por favor, registre su teléfono en" -" un cliente diferente." +"No se registró el número de teléfono. Por favor, registre su teléfono en un " +"cliente diferente." #: ../tgp-request.c:110 msgid "Not registered" @@ -459,11 +460,11 @@ msgstr "No registrado" #: ../tgp-request.c:122 msgid "Password needed" -msgstr "Se necesita la contraseña" +msgstr "Se necesita la contraseña" #: ../tgp-request.c:122 msgid "Enter password for two factor authentication" -msgstr "Introducir contraseña para la autenticación de dos pasos" +msgstr "Introducir contraseña para la autenticación de dos pasos" #: ../tgp-request.c:123 msgid "Ok" @@ -474,21 +475,21 @@ msgid "" "No password set for two factor authentication. Please enter it in the " "extended settings." msgstr "" -"No se estableció contraseña para la autenticación de dos pasos. Por " -"favor, introdúcela en la configuración extendida." +"No se estableció contraseña para la autenticación de dos pasos. Por favor, " +"introdúcela en la configuración extendida." #: ../tgp-request.c:127 msgid "Password invalid" -msgstr "Contraseña no válida" +msgstr "Contraseña no válida" #: ../tgp-request.c:150 #, c-format msgid "Accept secret chat '%s' on this device?" -msgstr "¿Acepte la conversación secreta '%s' en este dispositivo?" +msgstr "¿Acepte la conversación secreta '%s' en este dispositivo?" #: ../tgp-request.c:151 msgid "Secret chat" -msgstr "Conversación secreta" +msgstr "Conversación secreta" #: ../tgp-request.c:151 msgid "" @@ -496,9 +497,9 @@ msgid "" "this device, its messages will not be available anywhere else. If you " "decline, you can still accept the chat on other devices." msgstr "" -"Las conversaciones secretas son uno a uno. Si acepte una conversación " -"secreta en este dispositivo, la misma no estará disponible en ningún otro " -"lado. Si decline, pueda aceptar la conversación en otro dispositivo." +"Las conversaciones secretas son uno a uno. Si acepte una conversación " +"secreta en este dispositivo, la misma no estará disponible en ningún otro " +"lado. Si decline, pueda aceptar la conversación en otro dispositivo." #: ../tgp-request.c:182 msgid "" @@ -506,9 +507,9 @@ msgid "" " their full name (autocompletion available).\n" "You can add more users once the chat was created." msgstr "" -"Invite al menos a un usuario más especificando\n" +"Invite al menos a un usuario más especificando\n" "su nombre completo (disponible autocompletado).\n" -"Pueda agregar más usuarios una vez que se cree la conversación." +"Pueda agregar más usuarios una vez que se cree la conversación." #: ../tgp-request.c:185 ../tgp-request.c:189 ../tgp-request.c:193 msgid "Username" @@ -516,7 +517,7 @@ msgstr "Nombre de usuario" #: ../tgp-request.c:198 msgid "Create group chat" -msgstr "Crear conversación grupal" +msgstr "Crear conversación grupal" #: ../tgp-request.c:198 msgid "Invite users" @@ -524,7 +525,7 @@ msgstr "Invitar a los usuarios" #: ../tgp-request.c:217 ../tgp-request.c:232 msgid "Change password" -msgstr "Cambiar contraseña" +msgstr "Cambiar contraseña" #: ../tgp-request.c:219 msgid "Current" @@ -532,7 +533,7 @@ msgstr "Actual" #: ../tgp-request.c:223 ../tgp-request.c:253 msgid "Password" -msgstr "Contraseña" +msgstr "Contraseña" #: ../tgp-request.c:227 ../tgp-request.c:257 msgid "Confirm" @@ -540,7 +541,7 @@ msgstr "Confirmar" #: ../tgp-request.c:251 ../tgp-request.c:262 msgid "New password" -msgstr "Nueva contraseña" +msgstr "Nueva contraseña" #. if we arrive here for the second time the specified phone number is not #. valid. We do not @@ -549,33 +550,32 @@ msgstr "Nueva contraseña" #. named with the invalid phone number, even though the login will work #: ../tgp-request.c:300 msgid "Invalid phone number" -msgstr "Número de teléfono no válido" +msgstr "Número de teléfono no válido" #: ../tgp-request.c:301 msgid "" "Please enter only numbers in the international phone number format, a leading + following by the country prefix and the phone number.\n" "Do not use any other special chars." msgstr "" -"Por favor, introduce sólo números en el formato de números de teléfono internacional, con el signo '+' seguido del código de paÃs [más prefijo para el acceso a la red celular, si corresponde] y el número de teléfono.\n" -"No use ningún otro carácter." +"Por favor, introduce sólo números en el formato de números de teléfono internacional, con el signo '+' seguido del código de país [más prefijo para el acceso a la red celular, si corresponde] y el número de teléfono.\n" +"No use ningún otro carácter." #: ../tgp-request.c:370 msgid "Leave Chat" -msgstr "Abandonar conversación" +msgstr "Abandonar conversación" #: ../tgp-request.c:372 msgid "Do you want to leave this chat permantently?" -msgstr "¿Querés abandonar esta conversación permanentemente?" +msgstr "¿Querés abandonar esta conversación permanentemente?" #: ../tgp-request.c:377 msgid "Abort Secret Chat" -msgstr "Cancelar conversación secreta" +msgstr "Cancelar conversación secreta" #: ../tgp-request.c:379 msgid "Do you want to terminate this secret chat permantently?" msgstr "" -"¿Esté seguro que quiere eliminar esta conversación secreta " -"permanentemente?" +"¿Esté seguro que quiere eliminar esta conversación secreta permanentemente?" #: ../tgp-request.c:384 msgid "Delete Contact" @@ -583,7 +583,7 @@ msgstr "Eliminar contacto" #: ../tgp-request.c:386 msgid "Do you want to remove this user from your global contact list?" -msgstr "¿Quiere quitar este usuario de su lista global de contactos?" +msgstr "¿Quiere quitar este usuario de su lista global de contactos?" #: ../tgp-request.c:401 msgid "Leave Channel" @@ -591,7 +591,7 @@ msgstr "Abandonar canal" #: ../tgp-request.c:403 msgid "Do you want to leave this channel?" -msgstr "¿Quiere abandonar este canal?" +msgstr "¿Quiere abandonar este canal?" #. This should be the language's timestamp format. This is preceded by a #. colon. @@ -625,7 +625,7 @@ msgstr "Conversaciones de Telegram" #: ../tgp-chat.c:113 msgid "You have already left this chat." -msgstr "Ya ha abandonado esta conversación." +msgstr "Ya ha abandonado esta conversación." #: ../tgp-chat.c:298 msgid "Subject:" @@ -633,15 +633,15 @@ msgstr "Asunto:" #: ../tgp-chat.c:304 msgid "Invite link:" -msgstr "Enlace de invitación:" +msgstr "Enlace de invitación:" #: ../tgp-chat.c:310 msgid "Chat ID:" -msgstr "Identificación de conversación:" +msgstr "Identificación de conversación:" #: ../tgp-chat.c:416 msgid "Supergroup" -msgstr "Súpergrupo" +msgstr "Súpergrupo" #: ../tgp-chat.c:416 msgid "Channel" @@ -653,7 +653,7 @@ msgstr "Grupo" #: ../tgp-chat.c:435 msgid "Users in chat" -msgstr "Usuarios en la conversación" +msgstr "Usuarios en la conversación" #: ../tgp-chat.c:438 msgid "Type" diff --git a/po/es_AR.po b/po/es_AR.po index 07cc65a..3304ca0 100644 --- a/po/es_AR.po +++ b/po/es_AR.po @@ -4,15 +4,14 @@ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # # Translators: -# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2017 -# ЌИГЯФ <kntro@msn.com>, 2018 +# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019 # msgid "" msgstr "" "Project-Id-Version: telegram-purple\n" "POT-Creation-Date: 2018-08-01 23:11+0200\n" -"PO-Revision-Date: 2017-04-11 23:02+0000\n" -"Last-Translator: ЌИГЯФ <kntro@msn.com>, 2018\n" +"PO-Revision-Date: 2019-03-02 01:07+0000\n" +"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019\n" "Language-Team: Spanish (Argentina) (https://www.transifex.com/telegram-purple-developers/teams/53149/es_AR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -4,14 +4,14 @@ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # # Translators: -# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2017 +# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019 # msgid "" msgstr "" "Project-Id-Version: telegram-purple\n" "POT-Creation-Date: 2018-08-01 23:11+0200\n" -"PO-Revision-Date: 2017-04-11 23:02+0000\n" -"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2017\n" +"PO-Revision-Date: 2019-03-02 01:07+0000\n" +"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019\n" "Language-Team: French (https://www.transifex.com/telegram-purple-developers/teams/53149/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/po/it_IT.po b/po/it_IT.po index 6dd9934..e760b76 100644 --- a/po/it_IT.po +++ b/po/it_IT.po @@ -4,15 +4,14 @@ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # # Translators: -# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2017 -# Giuseppe Pignataro (Fastbyte01) <rogepix@gmail.com>, 2017 +# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019 # msgid "" msgstr "" "Project-Id-Version: telegram-purple\n" "POT-Creation-Date: 2018-08-01 23:11+0200\n" -"PO-Revision-Date: 2017-04-11 23:02+0000\n" -"Last-Translator: Giuseppe Pignataro (Fastbyte01) <rogepix@gmail.com>, 2017\n" +"PO-Revision-Date: 2019-03-02 01:07+0000\n" +"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019\n" "Language-Team: Italian (Italy) (https://www.transifex.com/telegram-purple-developers/teams/53149/it_IT/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -4,14 +4,14 @@ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # # Translators: -# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2017 +# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019 # msgid "" msgstr "" "Project-Id-Version: telegram-purple\n" "POT-Creation-Date: 2018-08-01 23:11+0200\n" -"PO-Revision-Date: 2017-04-11 23:02+0000\n" -"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2017\n" +"PO-Revision-Date: 2019-03-02 01:07+0000\n" +"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019\n" "Language-Team: Dutch (https://www.transifex.com/telegram-purple-developers/teams/53149/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/po/pl_PL.po b/po/pl_PL.po index 0446184..1e5a5e1 100644 --- a/po/pl_PL.po +++ b/po/pl_PL.po @@ -4,15 +4,14 @@ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # # Translators: -# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2017 -# Piotr Drąg <piotrdrag@gmail.com>, 2018 +# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019 # msgid "" msgstr "" "Project-Id-Version: telegram-purple\n" "POT-Creation-Date: 2018-08-01 23:11+0200\n" -"PO-Revision-Date: 2017-04-11 23:02+0000\n" -"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>, 2018\n" +"PO-Revision-Date: 2019-03-02 01:07+0000\n" +"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019\n" "Language-Team: Polish (Poland) (https://www.transifex.com/telegram-purple-developers/teams/53149/pl_PL/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/po/pt_BR.po b/po/pt_BR.po index f7b487c..ededdbe 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -4,15 +4,14 @@ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # # Translators: -# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2017 -# Denis Brandl <denisbr@gmail.com>, 2018 +# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019 # msgid "" msgstr "" "Project-Id-Version: telegram-purple\n" "POT-Creation-Date: 2018-08-01 23:11+0200\n" -"PO-Revision-Date: 2017-04-11 23:02+0000\n" -"Last-Translator: Denis Brandl <denisbr@gmail.com>, 2018\n" +"PO-Revision-Date: 2019-03-02 01:07+0000\n" +"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019\n" "Language-Team: Portuguese (Brazil) (https://www.transifex.com/telegram-purple-developers/teams/53149/pt_BR/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/po/ru_RU.po b/po/ru_RU.po index 75279d9..e265c23 100644 --- a/po/ru_RU.po +++ b/po/ru_RU.po @@ -4,14 +4,15 @@ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # # Translators: -# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2017 +# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019 +# Olesya Gerasimenko <gammaray@basealt.ru>, 2019 # msgid "" msgstr "" "Project-Id-Version: telegram-purple\n" "POT-Creation-Date: 2018-08-01 23:11+0200\n" -"PO-Revision-Date: 2017-04-11 23:02+0000\n" -"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2017\n" +"PO-Revision-Date: 2019-03-02 01:07+0000\n" +"Last-Translator: Olesya Gerasimenko <gammaray@basealt.ru>, 2019\n" "Language-Team: Russian (Russia) (https://www.transifex.com/telegram-purple-developers/teams/53149/ru_RU/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -37,7 +38,7 @@ msgstr "Секретный чат готов." #: ../telegram-purple.c:167 msgid "Secret chat terminated." -msgstr "Защищенный чат завершен" +msgstr "Секретный чат завершён." #: ../telegram-purple.c:179 msgid "Telegram" @@ -45,7 +46,7 @@ msgstr "Telegram" #: ../telegram-purple.c:226 msgid "Message marked as read." -msgstr "Сообщение помечено как прочитанное" +msgstr "Сообщение помечено как прочитанное." #: ../telegram-purple.c:343 #, c-format @@ -63,7 +64,7 @@ msgstr "Вы должны быть администратором группы, #: ../telegram-purple.c:439 msgid "Chat joined" -msgstr "Присоединился к чату" +msgstr "Чат подключён." #: ../telegram-purple.c:440 msgid "Chat added to list of chat rooms." @@ -89,10 +90,13 @@ msgid "" "Unable to sign on as %s: problem in the underlying library 'tgl'. Please " "submit a bug report with the debug log." msgstr "" +"Не удалось войти как %s: проблема с базовой библиотекой «tgl». Пожалуйста, " +"отправьте сообщение об ошибке, приложив соответствующие сообщения журнала " +"отладки." #: ../telegram-purple.c:564 msgid "Problem in tgl" -msgstr "Проблема в tgl" +msgstr "Проблема с библиотекой «tgl»" #. TRANSLATORS: Please fill in your own prefix! #: ../telegram-purple.c:575 @@ -110,7 +114,7 @@ msgstr "Неполный номер телефона" #: ../telegram-purple.c:638 msgid "Secret chat was already deleted" -msgstr "Секретный чат уже был удален" +msgstr "Секретный чат уже был удалён" #: ../telegram-purple.c:640 msgid "Secret chat is not ready" @@ -122,7 +126,7 @@ msgstr "Только создатель канала может отправля #: ../telegram-purple.c:691 msgid "Cannot invite buddy to chat" -msgstr "Не могу пригласить пользователя в чат" +msgstr "Не удалось пригласить пользователя в чат" #: ../telegram-purple.c:692 msgid "Specified user does not exist." @@ -130,11 +134,11 @@ msgstr "Указанный пользователь не существует." #: ../telegram-purple.c:705 msgid "phone no. (+ country prefix)" -msgstr "номер телефона. (+ префикс страны)" +msgstr "номер телефона (+ префикс страны)" #: ../telegram-purple.c:800 msgid "kick <user>: Kick a user from the room." -msgstr "" +msgstr "удалить <user>: удалить пользователя из чата." #. Login #: ../telegram-purple.c:822 @@ -146,116 +150,116 @@ msgid "" "Fallback SMS verification\n" "(Helps when not using Pidgin and you aren't being prompted for the code)" msgstr "" -"Альтернативная СМС верификация\n" -"(Помогает когда не используется pidgin и вас не просило ввести код)" +"Альтернативная СМС-верификация\n" +"(Помогает, если вы не используете Pidgin и вам не было предложено ввести код)" #. Whether to do fallback SMS verification #: ../telegram-purple.c:834 msgid "Always" -msgstr "" +msgstr "Всегда" #. Whether to do fallback SMS verification #: ../telegram-purple.c:836 msgid "Never" -msgstr "" +msgstr "Никогда" #. Whether to do fallback SMS verification #. How to handle "large" files #: ../telegram-purple.c:838 ../telegram-purple.c:859 msgid "Ask" -msgstr "" +msgstr "Спрашивать" #: ../telegram-purple.c:840 msgid "Accept secret chats" -msgstr "Присоединится к защищенным чатам" +msgstr "Присоединяться к секретным чатам" #: ../telegram-purple.c:844 msgid "Display buddies offline after (days)" -msgstr "Показывать друзей оффлайн через(дней)" +msgstr "Показывать друзей как оффлайн через (в днях)" #: ../telegram-purple.c:848 msgid "" "Don't fetch history older than (days)\n" "(0 for unlimited)" msgstr "" -"Не загружать историю старше N дней\n" -"(0 без ограничений)" +"Не загружать историю старше чем (в днях)\n" +"(«0» — загрузка без ограничений)" #. How to handle "large" files #: ../telegram-purple.c:855 msgid "Discard" -msgstr "" +msgstr "Не принимать" #. How to handle "large" files #: ../telegram-purple.c:857 msgid "Auto load" -msgstr "" +msgstr "Загружать автоматически" #: ../telegram-purple.c:861 msgid "Auto load file transfers up to (kb)" -msgstr "" +msgstr "Автоматически загружать файлы размером не более (КБ)" #: ../telegram-purple.c:865 msgid "Bigger file transfers" -msgstr "" +msgstr "Передача больших файлов" #. Chats #: ../telegram-purple.c:869 msgid "Add all group chats to buddy list" -msgstr "Добавить все групповые чаты в контактлист" +msgstr "Добавлять все групповые чаты в контакт-лист" #. Receipts #: ../telegram-purple.c:874 msgid "Display notices of receipt" -msgstr "Показать уведомления о получении" +msgstr "Показывать уведомления о получении" #: ../telegram-purple.c:878 msgid "Send notices of receipt when present" -msgstr "Показать уведомления о получении" +msgstr "Отправлять уведомления о получении, если имеются" #. IPv6 #: ../telegram-purple.c:883 msgid "Use IPv6 for connecting (restart required)" -msgstr "" +msgstr "Использовать IPv6 для подключения (требуется перезапуск)" #: ../telegram-purple.c:908 msgid "Telegram Protocol Plugin." -msgstr "Telegram Protocol Плагин." +msgstr "Подключаемый модуль протокола Telegram." #: ../tgp-msg.c:58 #, c-format msgid "%2$s created chat %1$s." -msgstr "%2$s создан чат %1$s." +msgstr "%2$s создал чат %1$s." #: ../tgp-msg.c:61 #, c-format msgid "%2$s changed title to %1$s." -msgstr "%2$s название изменено на %1$s." +msgstr "%2$s сменил название на %1$s." #: ../tgp-msg.c:64 #, c-format msgid "%s changed photo." -msgstr "%s фото изменено." +msgstr "%s сменил фото." #: ../tgp-msg.c:67 #, c-format msgid "%s deleted photo." -msgstr "%s фото удалено." +msgstr "%s удалил фото." #: ../tgp-msg.c:75 #, c-format msgid "%1$s added user %2$s by link." -msgstr "%1$s пользователи добавлены %2$s по ссылке" +msgstr "%1$s добавил пользователя %2$s по ссылке." #: ../tgp-msg.c:90 #, c-format msgid "%2$s added user %1$s." -msgstr "%2$s пользователь добавлен %1$s." +msgstr "%2$s добавил пользователя %1$s." #: ../tgp-msg.c:114 ../tgp-msg.c:131 #, c-format msgid "%2$s deleted user %1$s." -msgstr "%2$s пользователи удалены %1$s." +msgstr "%2$s удалил пользователя %1$s." #: ../tgp-msg.c:138 #, c-format @@ -288,10 +292,10 @@ msgstr[3] "%2$s удалил %1$d сообщений." #, c-format msgid "%2$s made a screenshot of %1$d message." msgid_plural "%2$s made a screenshot of %1$d messages." -msgstr[0] "%2$s сделал скриншот %1$d сообщения." -msgstr[1] "%2$s сделал скриншот %1$d сообщений." -msgstr[2] "%2$s сделал скриншот %1$d сообщений." -msgstr[3] "%2$s сделал скриншот %1$d сообщений." +msgstr[0] "%2$s сделал снимок экрана %1$d сообщения." +msgstr[1] "%2$s сделал снимок экрана %1$d сообщений." +msgstr[2] "%2$s сделал снимок экрана %1$d сообщений." +msgstr[3] "%2$s сделал снимок экрана %1$d сообщений." #: ../tgp-msg.c:162 #, c-format @@ -301,15 +305,15 @@ msgstr "Канал %1$s создан" #. FIXME: check if this makes sense #: ../tgp-msg.c:165 ../tgp-chat.c:124 ../tgp-chat.c:665 msgid "Telegram Channels" -msgstr "Telegram Каналы" +msgstr "Telegram-каналы" #: ../tgp-msg.c:222 msgid "Sending message failed." -msgstr "Отправка сообщения не удалась." +msgstr "Не удалось отправить сообщение." #: ../tgp-msg.c:293 msgid "Sending image failed." -msgstr "Ошибка при отправке изображения." +msgstr "Не удалось отправить изображение." #: ../tgp-msg.c:457 #, c-format @@ -318,45 +322,45 @@ msgstr "%s отправил стикер." #: ../tgp-msg.c:483 msgid "[photo]" -msgstr "" +msgstr "[фото]" #: ../tgp-msg.c:487 msgid "[audio]" -msgstr "" +msgstr "[аудио]" #: ../tgp-msg.c:491 msgid "[video]" -msgstr "" +msgstr "[видео]" #: ../tgp-msg.c:496 msgid "[document]" -msgstr "" +msgstr "[документ]" #: ../tgp-msg.c:501 msgid "[position]" -msgstr "" +msgstr "[местоположение]" #: ../tgp-msg.c:505 msgid "[contact]" -msgstr "" +msgstr "[контакт]" #: ../tgp-msg.c:509 msgid "[webpage]" -msgstr "" +msgstr "[веб-страница]" #: ../tgp-msg.c:513 msgid "[unsupported media]" -msgstr "" +msgstr "[неподдерживаемый формат]" #: ../tgp-msg.c:536 #, c-format msgid "%s<b>> %s wrote:</b><br>> %s<br>%s" -msgstr "" +msgstr "%s<b>> %s написал:</b><br>> %s<br>%s" #: ../tgp-msg.c:538 #, c-format msgid "%s<b>> Unknown user wrote:</b><br>> %s<br>%s" -msgstr "" +msgstr "%s<b>> Неизвестный пользователь написал:</b><br>> %s<br>%s" #: ../tgp-msg.c:586 msgid "failed loading message" @@ -365,34 +369,34 @@ msgstr "не удалось загрузить сообщения" #. Content of a file transfer #: ../tgp-msg.c:633 ../tgp-msg.c:683 msgid "document" -msgstr "" +msgstr "документ" #. Content of a file transfer #: ../tgp-msg.c:636 msgid "audio" -msgstr "" +msgstr "аудио" #. Content of a file transfer #: ../tgp-msg.c:639 msgid "animation" -msgstr "" +msgstr "анимация" #. Content of a file transfer #: ../tgp-msg.c:642 msgid "video" -msgstr "" +msgstr "видео" #: ../tgp-msg.c:873 msgid "loading document or picture failed" -msgstr "загрузка документа или изображения не удалась" +msgstr "не удалось загрузить документ или изображение" #: ../tgp-net.c:281 msgid "Cannot connect to main server" -msgstr "Не удается подключится к главному серверу" +msgstr "Не удалось подключиться к главному серверу" #: ../tgp-net.c:322 msgid "Cannot connect to server: Ping timeout." -msgstr "Не удается подключиться к серверу: пинг тайм-аут." +msgstr "Не удалось подключиться к серверу: истекло время проверки связи." #: ../tgp-net.c:365 msgid "Lost connection to the server..." @@ -403,8 +407,8 @@ msgid "" "Telegram wants to verify your identity. Please enter the login code that you" " have received via SMS." msgstr "" -"Telegram хочет проверить вашу личность. Пожалуйста введите код, полученный " -"вами через СМС." +"Telegram необходимо подтвердить вашу личность. Пожалуйста, введите код, " +"полученный вами через СМС." #: ../tgp-request.c:54 msgid "Login code" @@ -442,7 +446,7 @@ msgstr "Фамилия" #: ../tgp-request.c:103 msgid "Register" -msgstr "Зарегистрирован" +msgstr "Зарегистрироваться" #: ../tgp-request.c:103 msgid "Please register your phone number." @@ -454,8 +458,8 @@ msgid "" "Phone number is not registered. Please register your phone on a different " "client." msgstr "" -"Номер телефона не зарегистрирован. Пожалуйста зарегистрируйте ваш телефон в " -"другом клиенте." +"Номер телефона не зарегистрирован. Пожалуйста, зарегистрируйте ваш телефон в" +" другом клиенте." #: ../tgp-request.c:110 msgid "Not registered" @@ -471,15 +475,15 @@ msgstr "Введите пароль для двухфакторной аутен #: ../tgp-request.c:123 msgid "Ok" -msgstr "Ок" +msgstr "ОК" #: ../tgp-request.c:125 msgid "" "No password set for two factor authentication. Please enter it in the " "extended settings." msgstr "" -"Не указан пароль для двухфакторной аутентификации. Пожалуйста введите его в " -"расширенных настройках." +"Не указан пароль для двухфакторной аутентификации. Пожалуйста, введите его в" +" расширенных настройках." #: ../tgp-request.c:127 msgid "Password invalid" @@ -488,7 +492,7 @@ msgstr "Неверный пароль" #: ../tgp-request.c:150 #, c-format msgid "Accept secret chat '%s' on this device?" -msgstr "Присоединится к секретному чату '%s' на этом устройстве?" +msgstr "Присоединиться к секретному чату «%s» на этом устройстве?" #: ../tgp-request.c:151 msgid "Secret chat" @@ -501,9 +505,9 @@ msgid "" "decline, you can still accept the chat on other devices." msgstr "" "Секретные чаты могут иметь только одну конечную точку. Если вы подтвердите " -"секретный чат на этом устройстве, то его сообщения будут недоступны нигде " -"больше. Если вы отклоните, то вы сможете принять этот чат на других " -"устройствах." +"секретный чат на этом устройстве, то его сообщения не будут доступны на " +"других устройствах. Если вы отклоните секретный чат, то сможете подтвердить " +"его на других устройствах." #: ../tgp-request.c:182 msgid "" @@ -511,8 +515,9 @@ msgid "" " their full name (autocompletion available).\n" "You can add more users once the chat was created." msgstr "" -"Пригласите хотя бы одного дополнительного пользователя, указав их полные имена (автодополнение доступно).\n" -"Вы можете добавить больше пользователей после создания чата." +"Пригласите хотя бы одного дополнительного пользователя,\n" +"указав его полное имя (доступно автодополнение).\n" +"Вы сможете добавить больше пользователей после создания чата." #: ../tgp-request.c:185 ../tgp-request.c:189 ../tgp-request.c:193 msgid "Username" @@ -524,7 +529,7 @@ msgstr "Создать групповой чат" #: ../tgp-request.c:198 msgid "Invite users" -msgstr "Приглашенные собеседники" +msgstr "Пригласить пользователей" #: ../tgp-request.c:217 ../tgp-request.c:232 msgid "Change password" @@ -560,42 +565,41 @@ msgid "" "Please enter only numbers in the international phone number format, a leading + following by the country prefix and the phone number.\n" "Do not use any other special chars." msgstr "" -"Пожалуйста, введите только цифры в международном формате телефонного номера. Начиная с +, префикса страны и заканчивая телефонным номером. \n" +"Пожалуйста, введите только цифры в международном формате телефонного номера: сначала знак +, затем префикс страны и далее сам телефонный номер.\n" "Не используйте никакие другие специальные символы." #: ../tgp-request.c:370 msgid "Leave Chat" -msgstr "Покинуть Чат" +msgstr "Покинуть чат" #: ../tgp-request.c:372 msgid "Do you want to leave this chat permantently?" -msgstr "Вы хотите покинуть этот чат навсегда?" +msgstr "Покинуть этот чат навсегда?" #: ../tgp-request.c:377 msgid "Abort Secret Chat" -msgstr "Отменить Секретный Чат" +msgstr "Отменить секретный чат" #: ../tgp-request.c:379 msgid "Do you want to terminate this secret chat permantently?" -msgstr "Вы хотите отменить этот чат навсегда?" +msgstr "Отменить этот чат навсегда?" #: ../tgp-request.c:384 msgid "Delete Contact" -msgstr "Удалить Контакт" +msgstr "Удалить контакт" #: ../tgp-request.c:386 msgid "Do you want to remove this user from your global contact list?" msgstr "" -"Вы хотите удалить этого пользователья из вашего глобального списка контактов" -" навсегда?" +"Удалить этого пользователя из вашего глобального списка контактов навсегда?" #: ../tgp-request.c:401 msgid "Leave Channel" -msgstr "Покинуть Канал" +msgstr "Покинуть канал" #: ../tgp-request.c:403 msgid "Do you want to leave this channel?" -msgstr "Вы хотите покинуть этот канал?" +msgstr "Покинуть этот канал?" #. This should be the language's timestamp format. This is preceded by a #. colon. @@ -611,12 +615,12 @@ msgstr "недавно" #. This is preceded by a colon. #: ../tgp-utils.c:52 msgid "last week" -msgstr "последняя неделя" +msgstr "прошлая неделя" #. This is preceded by a colon. #: ../tgp-utils.c:56 msgid "last month" -msgstr "последний месяц" +msgstr "прошлый месяц" #. This is preceded by a colon. It refers to a point on time. #: ../tgp-utils.c:60 @@ -625,7 +629,7 @@ msgstr "неизвестно" #: ../tgp-chat.c:108 ../tgp-chat.c:671 msgid "Telegram Chats" -msgstr "Telegram Чаты" +msgstr "Telegram-чаты" #: ../tgp-chat.c:113 msgid "You have already left this chat." @@ -641,7 +645,7 @@ msgstr "Пригласительная ссылка:" #: ../tgp-chat.c:310 msgid "Chat ID:" -msgstr "Чат ID:" +msgstr "ID чата:" #: ../tgp-chat.c:416 msgid "Supergroup" @@ -661,4 +665,4 @@ msgstr "Пользователи в чате" #: ../tgp-chat.c:438 msgid "Type" -msgstr "" +msgstr "Тип" @@ -4,15 +4,14 @@ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # # Translators: -# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2017 -# Besnik <besnik@programeshqip.org>, 2018 +# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019 # msgid "" msgstr "" "Project-Id-Version: telegram-purple\n" "POT-Creation-Date: 2018-08-01 23:11+0200\n" -"PO-Revision-Date: 2017-04-11 23:02+0000\n" -"Last-Translator: Besnik <besnik@programeshqip.org>, 2018\n" +"PO-Revision-Date: 2019-03-02 01:07+0000\n" +"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019\n" "Language-Team: Albanian (https://www.transifex.com/telegram-purple-developers/teams/53149/sq/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/po/telegram-purple.pot b/po/telegram-purple.pot index 159dfbe..9bc2f41 100644 --- a/po/telegram-purple.pot +++ b/po/telegram-purple.pot @@ -58,11 +58,11 @@ msgstr "" msgid "You need to be admin of the group to do that." msgstr "" -#: ../telegram-purple.c:439 +#: ../telegram-purple.c:440 msgid "Chat joined" msgstr "" -#: ../telegram-purple.c:440 +#: ../telegram-purple.c:441 msgid "Chat added to list of chat rooms." msgstr "" @@ -92,124 +92,124 @@ msgid "Problem in tgl" msgstr "" #. TRANSLATORS: Please fill in your own prefix! -#: ../telegram-purple.c:575 +#: ../telegram-purple.c:576 #, c-format msgid "" "Unable to sign on as %s: phone number lacks country prefix. Numbers must " "start with the full international prefix code, e.g. +1 for USA." msgstr "" -#: ../telegram-purple.c:580 +#: ../telegram-purple.c:581 msgid "Incomplete phone number" msgstr "" -#: ../telegram-purple.c:638 +#: ../telegram-purple.c:639 msgid "Secret chat was already deleted" msgstr "" -#: ../telegram-purple.c:640 +#: ../telegram-purple.c:641 msgid "Secret chat is not ready" msgstr "" -#: ../telegram-purple.c:648 +#: ../telegram-purple.c:649 msgid "Only the creator of a channel can post messages." msgstr "" -#: ../telegram-purple.c:691 +#: ../telegram-purple.c:692 msgid "Cannot invite buddy to chat" msgstr "" -#: ../telegram-purple.c:692 +#: ../telegram-purple.c:693 msgid "Specified user does not exist." msgstr "" -#: ../telegram-purple.c:705 +#: ../telegram-purple.c:706 msgid "phone no. (+ country prefix)" msgstr "" -#: ../telegram-purple.c:800 +#: ../telegram-purple.c:801 msgid "kick <user>: Kick a user from the room." msgstr "" #. Login -#: ../telegram-purple.c:822 +#: ../telegram-purple.c:823 msgid "Password (two factor authentication)" msgstr "" -#: ../telegram-purple.c:827 +#: ../telegram-purple.c:828 msgid "" "Fallback SMS verification\n" "(Helps when not using Pidgin and you aren't being prompted for the code)" msgstr "" #. Whether to do fallback SMS verification -#: ../telegram-purple.c:834 +#: ../telegram-purple.c:835 msgid "Always" msgstr "" #. Whether to do fallback SMS verification -#: ../telegram-purple.c:836 +#: ../telegram-purple.c:837 msgid "Never" msgstr "" #. Whether to do fallback SMS verification #. How to handle "large" files -#: ../telegram-purple.c:838 ../telegram-purple.c:859 +#: ../telegram-purple.c:839 ../telegram-purple.c:860 msgid "Ask" msgstr "" -#: ../telegram-purple.c:840 +#: ../telegram-purple.c:841 msgid "Accept secret chats" msgstr "" -#: ../telegram-purple.c:844 +#: ../telegram-purple.c:845 msgid "Display buddies offline after (days)" msgstr "" -#: ../telegram-purple.c:848 +#: ../telegram-purple.c:849 msgid "" "Don't fetch history older than (days)\n" "(0 for unlimited)" msgstr "" #. How to handle "large" files -#: ../telegram-purple.c:855 +#: ../telegram-purple.c:856 msgid "Discard" msgstr "" #. How to handle "large" files -#: ../telegram-purple.c:857 +#: ../telegram-purple.c:858 msgid "Auto load" msgstr "" -#: ../telegram-purple.c:861 +#: ../telegram-purple.c:862 msgid "Auto load file transfers up to (kb)" msgstr "" -#: ../telegram-purple.c:865 +#: ../telegram-purple.c:866 msgid "Bigger file transfers" msgstr "" #. Chats -#: ../telegram-purple.c:869 +#: ../telegram-purple.c:870 msgid "Add all group chats to buddy list" msgstr "" #. Receipts -#: ../telegram-purple.c:874 +#: ../telegram-purple.c:875 msgid "Display notices of receipt" msgstr "" -#: ../telegram-purple.c:878 +#: ../telegram-purple.c:879 msgid "Send notices of receipt when present" msgstr "" #. IPv6 -#: ../telegram-purple.c:883 +#: ../telegram-purple.c:884 msgid "Use IPv6 for connecting (restart required)" msgstr "" -#: ../telegram-purple.c:908 +#: ../telegram-purple.c:909 msgid "Telegram Protocol Plugin." msgstr "" @@ -282,7 +282,7 @@ msgid "Channel %1$s created" msgstr "" #. FIXME: check if this makes sense -#: ../tgp-msg.c:165 ../tgp-chat.c:124 ../tgp-chat.c:665 +#: ../tgp-msg.c:165 ../tgp-chat.c:124 ../tgp-chat.c:667 msgid "Telegram Channels" msgstr "" @@ -299,73 +299,87 @@ msgstr "" msgid "%s sent a sticker." msgstr "" -#: ../tgp-msg.c:483 -msgid "[photo]" +#: ../tgp-msg.c:473 +msgid "[message unavailable]" msgstr "" #: ../tgp-msg.c:487 -msgid "[audio]" +msgid "[photo]" msgstr "" #: ../tgp-msg.c:491 +msgid "[audio]" +msgstr "" + +#: ../tgp-msg.c:495 msgid "[video]" msgstr "" -#: ../tgp-msg.c:496 +#: ../tgp-msg.c:500 msgid "[document]" msgstr "" -#: ../tgp-msg.c:501 +#: ../tgp-msg.c:505 msgid "[position]" msgstr "" -#: ../tgp-msg.c:505 +#: ../tgp-msg.c:509 msgid "[contact]" msgstr "" -#: ../tgp-msg.c:509 +#: ../tgp-msg.c:513 msgid "[webpage]" msgstr "" -#: ../tgp-msg.c:513 +#: ../tgp-msg.c:517 msgid "[unsupported media]" msgstr "" -#: ../tgp-msg.c:536 +#: ../tgp-msg.c:549 #, c-format msgid "%s<b>> %s wrote:</b><br>> %s<br>%s" msgstr "" -#: ../tgp-msg.c:538 +#: ../tgp-msg.c:551 #, c-format msgid "%s<b>> Unknown user wrote:</b><br>> %s<br>%s" msgstr "" -#: ../tgp-msg.c:586 +#: ../tgp-msg.c:607 msgid "failed loading message" msgstr "" #. Content of a file transfer -#: ../tgp-msg.c:633 ../tgp-msg.c:683 +#: ../tgp-msg.c:649 ../tgp-msg.c:699 msgid "document" msgstr "" #. Content of a file transfer -#: ../tgp-msg.c:636 +#: ../tgp-msg.c:652 msgid "audio" msgstr "" #. Content of a file transfer -#: ../tgp-msg.c:639 +#: ../tgp-msg.c:655 msgid "animation" msgstr "" #. Content of a file transfer -#: ../tgp-msg.c:642 +#: ../tgp-msg.c:658 msgid "video" msgstr "" -#: ../tgp-msg.c:873 +#: ../tgp-msg.c:786 +#, c-format +msgid "<b>> Forwarded from %s:</b><br>> %s" +msgstr "" + +#: ../tgp-msg.c:788 +#, c-format +msgid "<b>> Forwarded:</b><br>> %s" +msgstr "" + +#: ../tgp-msg.c:897 msgid "loading document or picture failed" msgstr "" @@ -399,167 +413,167 @@ msgstr "" msgid "the code" msgstr "" -#: ../tgp-request.c:54 ../tgp-request.c:104 ../tgp-request.c:198 -#: ../tgp-request.c:233 ../tgp-request.c:263 +#: ../tgp-request.c:54 ../tgp-request.c:103 ../tgp-request.c:197 +#: ../tgp-request.c:232 ../tgp-request.c:262 msgid "OK" msgstr "" -#: ../tgp-request.c:55 ../tgp-request.c:104 ../tgp-request.c:123 -#: ../tgp-request.c:199 ../tgp-request.c:234 ../tgp-request.c:264 +#: ../tgp-request.c:55 ../tgp-request.c:103 ../tgp-request.c:122 +#: ../tgp-request.c:198 ../tgp-request.c:233 ../tgp-request.c:263 msgid "Cancel" msgstr "" -#: ../tgp-request.c:95 +#: ../tgp-request.c:94 msgid "Registration" msgstr "" -#: ../tgp-request.c:96 +#: ../tgp-request.c:95 msgid "First name" msgstr "" -#: ../tgp-request.c:99 +#: ../tgp-request.c:98 msgid "Last name" msgstr "" -#: ../tgp-request.c:103 +#: ../tgp-request.c:102 msgid "Register" msgstr "" -#: ../tgp-request.c:103 +#: ../tgp-request.c:102 msgid "Please register your phone number." msgstr "" #. purple_request API not available -#: ../tgp-request.c:108 +#: ../tgp-request.c:107 msgid "" "Phone number is not registered. Please register your phone on a different " "client." msgstr "" -#: ../tgp-request.c:110 +#: ../tgp-request.c:109 msgid "Not registered" msgstr "" -#: ../tgp-request.c:122 +#: ../tgp-request.c:121 msgid "Password needed" msgstr "" -#: ../tgp-request.c:122 +#: ../tgp-request.c:121 msgid "Enter password for two factor authentication" msgstr "" -#: ../tgp-request.c:123 +#: ../tgp-request.c:122 msgid "Ok" msgstr "" -#: ../tgp-request.c:125 +#: ../tgp-request.c:124 msgid "" "No password set for two factor authentication. Please enter it in the " "extended settings." msgstr "" -#: ../tgp-request.c:127 +#: ../tgp-request.c:126 msgid "Password invalid" msgstr "" -#: ../tgp-request.c:150 +#: ../tgp-request.c:149 #, c-format msgid "Accept secret chat '%s' on this device?" msgstr "" -#: ../tgp-request.c:151 +#: ../tgp-request.c:150 msgid "Secret chat" msgstr "" -#: ../tgp-request.c:151 +#: ../tgp-request.c:150 msgid "" "Secret chats can only have one end point. If you accept a secret chat on " "this device, its messages will not be available anywhere else. If you " "decline, you can still accept the chat on other devices." msgstr "" -#: ../tgp-request.c:182 +#: ../tgp-request.c:181 msgid "" "Invite at least one additional user by specifying\n" " their full name (autocompletion available).\n" "You can add more users once the chat was created." msgstr "" -#: ../tgp-request.c:185 ../tgp-request.c:189 ../tgp-request.c:193 +#: ../tgp-request.c:184 ../tgp-request.c:188 ../tgp-request.c:192 msgid "Username" msgstr "" -#: ../tgp-request.c:198 +#: ../tgp-request.c:197 msgid "Create group chat" msgstr "" -#: ../tgp-request.c:198 +#: ../tgp-request.c:197 msgid "Invite users" msgstr "" -#: ../tgp-request.c:217 ../tgp-request.c:232 +#: ../tgp-request.c:216 ../tgp-request.c:231 msgid "Change password" msgstr "" -#: ../tgp-request.c:219 +#: ../tgp-request.c:218 msgid "Current" msgstr "" -#: ../tgp-request.c:223 ../tgp-request.c:253 +#: ../tgp-request.c:222 ../tgp-request.c:252 msgid "Password" msgstr "" -#: ../tgp-request.c:227 ../tgp-request.c:257 +#: ../tgp-request.c:226 ../tgp-request.c:256 msgid "Confirm" msgstr "" -#: ../tgp-request.c:251 ../tgp-request.c:262 +#: ../tgp-request.c:250 ../tgp-request.c:261 msgid "New password" msgstr "" #. if we arrive here for the second time the specified phone number is not valid. We do not #. ask for the phone number directly, cause in that case the account would still be created #. named with the invalid phone number, even though the login will work -#: ../tgp-request.c:300 +#: ../tgp-request.c:299 msgid "Invalid phone number" msgstr "" -#: ../tgp-request.c:301 +#: ../tgp-request.c:300 msgid "" "Please enter only numbers in the international phone number format, a " "leading + following by the country prefix and the phone number.\n" "Do not use any other special chars." msgstr "" -#: ../tgp-request.c:370 +#: ../tgp-request.c:369 msgid "Leave Chat" msgstr "" -#: ../tgp-request.c:372 +#: ../tgp-request.c:371 msgid "Do you want to leave this chat permantently?" msgstr "" -#: ../tgp-request.c:377 +#: ../tgp-request.c:376 msgid "Abort Secret Chat" msgstr "" -#: ../tgp-request.c:379 +#: ../tgp-request.c:378 msgid "Do you want to terminate this secret chat permantently?" msgstr "" -#: ../tgp-request.c:384 +#: ../tgp-request.c:383 msgid "Delete Contact" msgstr "" -#: ../tgp-request.c:386 +#: ../tgp-request.c:385 msgid "Do you want to remove this user from your global contact list?" msgstr "" -#: ../tgp-request.c:401 +#: ../tgp-request.c:400 msgid "Leave Channel" msgstr "" -#: ../tgp-request.c:403 +#: ../tgp-request.c:402 msgid "Do you want to leave this channel?" msgstr "" @@ -588,7 +602,7 @@ msgstr "" msgid "unknown" msgstr "" -#: ../tgp-chat.c:108 ../tgp-chat.c:671 +#: ../tgp-chat.c:108 ../tgp-chat.c:673 msgid "Telegram Chats" msgstr "" @@ -596,34 +610,34 @@ msgstr "" msgid "You have already left this chat." msgstr "" -#: ../tgp-chat.c:298 +#: ../tgp-chat.c:300 msgid "Subject:" msgstr "" -#: ../tgp-chat.c:304 +#: ../tgp-chat.c:306 msgid "Invite link:" msgstr "" -#: ../tgp-chat.c:310 +#: ../tgp-chat.c:312 msgid "Chat ID:" msgstr "" -#: ../tgp-chat.c:416 +#: ../tgp-chat.c:418 msgid "Supergroup" msgstr "" -#: ../tgp-chat.c:416 +#: ../tgp-chat.c:418 msgid "Channel" msgstr "" -#: ../tgp-chat.c:419 +#: ../tgp-chat.c:421 msgid "Group" msgstr "" -#: ../tgp-chat.c:435 +#: ../tgp-chat.c:437 msgid "Users in chat" msgstr "" -#: ../tgp-chat.c:438 +#: ../tgp-chat.c:440 msgid "Type" msgstr "" @@ -4,14 +4,14 @@ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # # Translators: -# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2018 +# Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019 # msgid "" msgstr "" "Project-Id-Version: telegram-purple\n" "POT-Creation-Date: 2018-08-01 23:11+0200\n" -"PO-Revision-Date: 2017-04-11 23:02+0000\n" -"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2018\n" +"PO-Revision-Date: 2019-03-02 01:07+0000\n" +"Last-Translator: Ben Wiederhake <BenWiederhake.GitHub@gmx.de>, 2019\n" "Language-Team: Ukrainian (https://www.transifex.com/telegram-purple-developers/teams/53149/uk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/rpm/purple-telegram.spec b/rpm/purple-telegram.spec index fb7d448..e6b0bb3 100644 --- a/rpm/purple-telegram.spec +++ b/rpm/purple-telegram.spec @@ -1,5 +1,5 @@ Name: purple-telegram -Version: 1.4.1 +Version: 1.4.2 Release: 1%{?dist} Summary: Adds support for Libpurple based messengers Group: Applications/Internet @@ -40,6 +40,9 @@ appstream-util validate-relax --nonet %{buildroot}/%{_datadir}/appdata/telegram- %{_datadir}/appdata/telegram-purple.metainfo.xml %changelog +* Sat Aug 31 2019 BenWiederhake 1.4.2-1 +- Build for 1.4.2 + * Sat Mar 2 2019 BenWiederhake 1.4.1-1 - Build for 1.4.1 diff --git a/telegram-adium/telegram-adium/telegram-adium-Info.plist b/telegram-adium/telegram-adium/telegram-adium-Info.plist index af372c0..d7adfa4 100644 --- a/telegram-adium/telegram-adium/telegram-adium-Info.plist +++ b/telegram-adium/telegram-adium/telegram-adium-Info.plist @@ -19,11 +19,11 @@ <key>CFBundlePackageType</key> <string>BNDL</string> <key>CFBundleShortVersionString</key> - <string>1.4.1</string> + <string>1.4.2</string> <key>CFBundleSignature</key> <string>AdIM</string> <key>CFBundleVersion</key> - <string>1.4.1</string> + <string>1.4.2</string> <key>CFPlugInDynamicRegisterFunction</key> <string></string> <key>CFPlugInDynamicRegistration</key> diff --git a/telegram-purple.c b/telegram-purple.c index 1890c3b..e453f6f 100644 --- a/telegram-purple.c +++ b/telegram-purple.c @@ -421,8 +421,9 @@ static PurpleCmdRet tgprpl_cmd_kick(PurpleConversation *conv, const gchar *cmd, pc = conv->account->gc; id = purple_conv_chat_get_id(PURPLE_CONV_CHAT(conv)); - if (pc == NULL || id == -1) + if (pc == NULL || id == -1) { return PURPLE_CMD_RET_FAILED; + } who = g_strjoinv(" ", args); tgprpl_kick_from_chat(pc, id, who); @@ -460,7 +461,6 @@ static GList* tgprpl_blist_node_menu (PurpleBlistNode *node) { GList* menu = NULL; if (PURPLE_BLIST_NODE_IS_BUDDY(node) && tgl_get_peer_type (tgp_blist_buddy_get_id ((PurpleBuddy *)node)) == TGL_PEER_USER) { - // Add encrypted chat option to the right click menu of all buddies PurpleBuddy* buddy = (PurpleBuddy *)node; PurpleMenuAction* action = purple_menu_action_new (_("Start secret chat..."), PURPLE_CALLBACK(start_secret_chat), @@ -567,8 +567,9 @@ static void tgprpl_login (PurpleAccount * acct) { return; } - if (purple_account_get_bool (acct, TGP_KEY_USE_IPV6, FALSE)) + if (purple_account_get_bool (acct, TGP_KEY_USE_IPV6, FALSE)) { tgl_enable_ipv6(TLS); + } if (! tgp_startswith (purple_account_get_username (acct), "+")) { // TRANSLATORS: Please fill in your own prefix! diff --git a/test/loadtest.c b/test/loadtest.c index ad3faf7..6336704 100644 --- a/test/loadtest.c +++ b/test/loadtest.c @@ -212,7 +212,7 @@ static void init_libpurple (void) { printf ("Checking version:\n"); tgp = purple_plugins_find_with_id (PLUGIN_ID); if (!tgp) { - printf ("Huh! Can't find plugin! Expected ID \"" PLUGIN_ID "\""); + printf ("Huh! Can't find plugin! Expected ID \"" PLUGIN_ID "\"\n"); abort (); } diff --git a/tgp-2prpl.c b/tgp-2prpl.c index 02de07b..a51636d 100644 --- a/tgp-2prpl.c +++ b/tgp-2prpl.c @@ -121,7 +121,7 @@ void p2tgl_got_im_combo (struct tgl_state *TLS, tgl_peer_id_t who, const char *m tgp_blist_lookup_purple_name (TLS, who)); } purple_conv_im_write (purple_conversation_get_im_data (conv), tgp_blist_lookup_purple_name (TLS, who), - msg, PURPLE_MESSAGE_SEND, when); + msg, flags, when); return; } #endif @@ -225,11 +225,13 @@ unsigned int tgprpl_send_chat_typing (PurpleConversation *conv, PurpleTypingStat PurpleConvChat *chat; int id; - if (!PURPLE_CONNECTION_IS_CONNECTED (gc)) + if (!PURPLE_CONNECTION_IS_CONNECTED (gc)) { return 0; + } - if (g_strcmp0(purple_plugin_get_id (purple_connection_get_prpl (gc)), PLUGIN_ID)) + if (g_strcmp0(purple_plugin_get_id (purple_connection_get_prpl (gc)), PLUGIN_ID)) { return 0; + } debug ("tgprpl_send_chat_typing()"); @@ -460,14 +460,18 @@ static char *tgp_msg_sticker_display (struct tgl_state *TLS, tgl_peer_id_t from, return text; } +//`reply` and `replyee` can be NULL if it comes to that static char *tgp_msg_reply_display (struct tgl_state *TLS, tgl_peer_t *replyee, struct tgl_message *reply, const char *message) { - - g_return_val_if_fail(reply, NULL); g_return_val_if_fail(message, NULL); // the text quoted by the reply char *quote = NULL; + // Degrade gracefully if the caller doesn't have the quoted message -- + // at least display the reply itself + if (!reply) { + quote = g_strdup(_("[message unavailable]")); + } else if (reply->flags & TGLMF_SERVICE) { quote = tgp_msg_service_display (TLS, reply); g_return_val_if_fail(quote == NULL, NULL); @@ -519,7 +523,16 @@ static char *tgp_msg_reply_display (struct tgl_state *TLS, tgl_peer_t *replyee, break; } } - + + if (reply && str_not_empty (reply->media.caption)) { + char *old = quote; + if (str_not_empty (quote)) { + quote = g_strdup_printf ("%s %s", old, reply->media.caption); + } else { + quote = g_strdup(reply->media.caption); + } + g_free (old); + } // the combined reply @@ -579,6 +592,14 @@ static void tgp_msg_display (struct tgl_state *TLS, struct tgp_msg_loading *C) { flags |= PURPLE_MESSAGE_NICK; } + // Mark carbons of our own messages + if (tgp_our_msg (TLS, M)) { + flags |= PURPLE_MESSAGE_SEND; + flags &= ~PURPLE_MESSAGE_RECV; + } else { + flags |= PURPLE_MESSAGE_RECV; + } + // handle messages that failed to load if (C->error) { const char *err = C->error_msg; @@ -593,25 +614,20 @@ static void tgp_msg_display (struct tgl_state *TLS, struct tgp_msg_loading *C) { if (M->flags & TGLMF_SERVICE) { text = tgp_msg_service_display (TLS, M); flags |= PURPLE_MESSAGE_SYSTEM; - - } else if (M->media.type != tgl_message_media_none) { + } else switch (M->media.type) { - - case tgl_message_media_photo: { + case tgl_message_media_none: + if (str_not_empty (M->message)) { + text = purple_markup_escape_text (M->message, strlen (M->message)); + } + break; + + case tgl_message_media_photo: if (M->media.photo) { g_return_if_fail(C->data != NULL); - text = tgp_msg_photo_display (TLS, C->data, &flags); - if (str_not_empty (text)) { - if (str_not_empty (M->media.caption)) { - char *old = text; - text = g_strdup_printf ("%s<br>%s", old, M->media.caption); - g_free (old); - } - } } break; - } case tgl_message_media_document: case tgl_message_media_video: @@ -729,12 +745,16 @@ static void tgp_msg_display (struct tgl_state *TLS, struct tgp_msg_loading *C) { warning ("received unknown media type: %d", M->media.type); break; } - - } else { - if (str_not_empty (M->message)) { - text = purple_markup_escape_text (M->message, strlen (M->message)); + + //Captions are only used for some media types but others will just have them empty + if (str_not_empty (M->media.caption)) { + char *old = text; + if (str_not_empty (text)) { + text = g_strdup_printf ("%s<br>%s", old, M->media.caption); + } else { + text = g_strdup(M->media.caption); } - flags |= PURPLE_MESSAGE_RECV; + g_free (old); } if (tgl_get_peer_type (M->to_id) != TGL_PEER_ENCR_CHAT @@ -758,8 +778,15 @@ static void tgp_msg_display (struct tgl_state *TLS, struct tgp_msg_loading *C) { // may be NULL tgl_peer_t *FP = tgl_peer_get (TLS, M->fwd_from_id); + // do not run this through tgp_message_reply_display! it doesn't handle media, forwards are all about media + // keep the full body we've generated char *tmp = text; - text = tgp_msg_reply_display(TLS, FP, M, ""); + if (FP) { + const char *name = FP->print_name; + text = g_strdup_printf (_("<b>> Forwarded from %s:</b><br>> %s"), name, text); + } else { + text = g_strdup_printf (_("<b>> Forwarded:</b><br>> %s"), text); + } g_free (tmp); g_return_if_fail(text != NULL); @@ -773,10 +800,14 @@ static void tgp_msg_display (struct tgl_state *TLS, struct tgp_msg_loading *C) { msg_id.id = M->reply_id; struct tgl_message *reply = tgl_message_get (TLS, &msg_id); - g_return_if_fail(reply != NULL); - - tgl_peer_t *replyee = tgl_peer_get (TLS, reply->from_id); - g_return_if_fail(replyee != NULL); + + //The quoted message should have been prefetched by tgp_msg_recv() + //but if we don't have it, at least display the reply itself + tgl_peer_t *replyee = NULL; + if (reply) { + replyee = tgl_peer_get (TLS, reply->from_id); + g_return_if_fail(replyee != NULL); + }; char *tmp = text; text = tgp_msg_reply_display(TLS, replyee, reply, tmp); @@ -795,7 +826,6 @@ static void tgp_msg_display (struct tgl_state *TLS, struct tgp_msg_loading *C) { // sender is the group tgp_chat_got_in (TLS, P, M->from_id, text, flags, M->date); } else { - // sender is the channel itself tgp_chat_got_in (TLS, P, P->id, text, flags, M->date); } @@ -804,21 +834,15 @@ static void tgp_msg_display (struct tgl_state *TLS, struct tgp_msg_loading *C) { case TGL_PEER_CHAT: { tgl_peer_t *P = tgl_peer_get (TLS, M->to_id); g_return_if_fail(P != NULL); - tgp_chat_got_in (TLS, P, M->from_id, text, flags, M->date); + tgp_chat_got_in (TLS, P, (flags & PURPLE_MESSAGE_SEND) ? M->to_id : M->from_id, text, flags, M->date); break; } case TGL_PEER_ENCR_CHAT: { - p2tgl_got_im_combo (TLS, M->to_id, text, flags, M->date); + p2tgl_got_im_combo (TLS, (flags & PURPLE_MESSAGE_SEND) ? M->to_id : M->from_id, text, flags, M->date); break; } case TGL_PEER_USER: { - if (tgp_our_msg (TLS, M)) { - flags |= PURPLE_MESSAGE_SEND; - flags &= ~PURPLE_MESSAGE_RECV; - p2tgl_got_im_combo (TLS, M->to_id, text, flags, M->date); - } else { - p2tgl_got_im_combo (TLS, M->from_id, text, flags, M->date); - } + p2tgl_got_im_combo (TLS, (flags & PURPLE_MESSAGE_SEND) ? M->to_id : M->from_id, text, flags, M->date); break; } } @@ -899,6 +923,15 @@ static void tgp_msg_on_loaded_channel_history (struct tgl_state *TLS, void *extr tgp_msg_process_in_ready (TLS); } +//A callback for when tgp_do_load_message finishes preloading a requested message +static void tgp_msg_on_loaded_message_for_cache(struct tgl_state *TLS, void *extra, int success, struct tgl_message *M) { + struct tgp_msg_loading *C = extra; + -- C->pending; + //Do nothing: The message is cached automatically by the underlying library + //and we don't want to pass it to tgp_msg_recv() for display + tgp_msg_process_in_ready (TLS); +} + /* static void tgp_msg_on_loaded_user_full (struct tgl_state *TLS, void *extra, int success, struct tgl_user *U) { debug ("tgp_msg_on_loaded_user_full()"); @@ -942,7 +975,6 @@ void tgp_msg_recv (struct tgl_state *TLS, struct tgl_message *M, GList *before) */ if (tgl_get_peer_type (C->msg->from_id) == TGL_PEER_CHANNEL || tgl_get_peer_type (C->msg->to_id) == TGL_PEER_CHANNEL) { - tgl_peer_id_t id = tgl_get_peer_type (C->msg->from_id) == TGL_PEER_CHANNEL ? C->msg->from_id : C->msg->to_id; @@ -962,8 +994,7 @@ void tgp_msg_recv (struct tgl_state *TLS, struct tgl_message *M, GList *before) } if (! (M->flags & TGLMF_SERVICE)) { - debug ("service msg"); - + // handle all messages that need to load content before they can be displayed if (M->media.type != tgl_message_media_none) { switch (M->media.type) { @@ -1051,6 +1082,14 @@ void tgp_msg_recv (struct tgl_state *TLS, struct tgl_message *M, GList *before) } } } + + //Reply processing requires quoted messages to also be available + if (M->reply_id) { + ++ C->pending; + tgl_message_id_t msg_id = M->permanent_id; + msg_id.id = M->reply_id; + tgl_do_get_message(TLS, &msg_id, tgp_msg_on_loaded_message_for_cache, C); + } GList *b = g_queue_find (tls_get_data (TLS)->new_messages, before); if (b) { diff --git a/tgp-request.c b/tgp-request.c index c85ddea..81c3862 100644 --- a/tgp-request.c +++ b/tgp-request.c @@ -54,7 +54,6 @@ static void request_code (struct tgl_state *TLS, void (*callback) (struct tgl_st !purple_request_input (tls_get_conn (TLS), _("Login code"), _("Enter login code"), explanation, NULL, 0, 0, _("the code"), _("OK"), G_CALLBACK(request_code_entered), _("Cancel"), G_CALLBACK(request_canceled_disconnect), tls_get_pa (TLS), NULL, NULL, request_values_data_init (TLS, callback, arg, 0))) { - // the purple request API is not supported, create a new conversation (the Telegram system account "Telegram") to // prompt the user for the code. tls_get_data (TLS)->request_code_data = request_values_data_init (TLS, callback, arg, 0); diff --git a/tgp-utils.c b/tgp-utils.c index 0b5e15a..153ea8e 100644 --- a/tgp-utils.c +++ b/tgp-utils.c @@ -92,11 +92,20 @@ void tgp_g_queue_free_full (GQueue *queue, GDestroyNotify free_func) { g_queue_free (queue); } +#if GLIB_CHECK_VERSION(2,28,0) void tgp_g_list_free_full (GList *list, GDestroyNotify free_func) { if (list) { g_list_free_full (list, free_func); } } +#else +void tgp_g_list_free_full (GList *list, GDestroyNotify free_func) { + if (list) { + g_list_foreach (list, (GFunc)free_func, NULL); + g_list_free (list); + } +} +#endif const char *tgp_mime_to_filetype (const char *mime) { int len = (int) strlen (mime); |