diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index eeb513cf..d15f671c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -27,7 +27,7 @@ variables: # Fedora packages FEDORA_DEPS: meson vala desktop-file-utils enchant2-devel folks-devel gcr-devel - glib2-devel gmime-devel gnome-online-accounts-devel gspell-devel + glib2-devel gmime30-devel gnome-online-accounts-devel gspell-devel gtk3-devel iso-codes-devel json-glib-devel itstool libappstream-glib-devel libgee-devel libhandy-devel libpeas-devel libsecret-devel libunwind-devel libxml2-devel libytnef-devel @@ -38,7 +38,7 @@ variables: UBUNTU_DEPS: meson build-essential valac desktop-file-utils gettext iso-codes itstool libappstream-glib-dev libenchant-dev libfolks-dev - libgcr-3-dev libgee-0.8-dev libglib2.0-dev libgmime-2.6-dev + libgcr-3-dev libgee-0.8-dev libglib2.0-dev libgmime-3.0-dev libgoa-1.0-dev libgspell-1-dev libgtk-3-dev libhandy-0.0-dev libjson-glib-dev libmessaging-menu-dev libpeas-dev libsecret-1-dev libsqlite3-dev libunwind-dev libwebkit2gtk-4.0-dev libxml2-dev diff --git a/INSTALL b/INSTALL index 1ca42891..3bb721fb 100644 --- a/INSTALL +++ b/INSTALL @@ -40,7 +40,7 @@ Installing dependencies on Fedora Install them by running this command: sudo dnf install meson vala desktop-file-utils enchant2-devel \ - folks-devel gcr-devel glib2-devel gmime-devel \ + folks-devel gcr-devel glib2-devel gmime30-devel \ gnome-online-accounts-devel gspell-devel gtk3-devel \ iso-codes-devel json-glib-devel libappstream-glib-devel \ libgee-devel libhandy-devel libpeas-devel libsecret-devel \ @@ -55,7 +55,7 @@ Install them by running this command: sudo apt-get install meson build-essential valac \ desktop-file-utils iso-codes gettext itstool \ libappstream-glib-dev libenchant-dev libfolks-dev libgcr-3-dev \ - libgee-0.8-dev libglib2.0-dev libgmime-2.6-dev libgoa-1.0-dev \ + libgee-0.8-dev libglib2.0-dev libgmime3.0-dev libgoa-1.0-dev \ libgspell-1-dev libgtk-3-dev libjson-glib-dev libhandy-0.0-dev \ libpeas-dev libsecret-1-dev libsqlite3-dev libunwind-dev \ libwebkit2gtk-4.0-dev libxml2-dev libytnef0-dev diff --git a/bindings/vapi/Makefile b/bindings/vapi/Makefile deleted file mode 100644 index c7b6687e..00000000 --- a/bindings/vapi/Makefile +++ /dev/null @@ -1,22 +0,0 @@ -# NOTE: The dependencies in this file require vapigen and vala-gen-introspect to be installed, -# which are not default in a standard Vala installation. - -GMIME_FILES := \ - gmime-2.6/gmime-2.6.defines \ - gmime-2.6/gmime-2.6.files \ - gmime-2.6/gmime-2.6.metadata \ - gmime-2.6/gmime-2.6.namespace \ - gmime-2.6/gmime-2.6-custom.vala - -all: gmime-2.6.vapi - -.PHONY: clean -clean: - rm gmime-2.6.vapi gmime-2.6/gmime-2.6.gi - -gmime-2.6/gmime-2.6.gi: $(GMIME_FILES) - vala-gen-introspect gmime-2.6 gmime-2.6 - -gmime-2.6.vapi: gmime-2.6/gmime-2.6.gi - vapigen --pkg=glib-2.0 --pkg=gio-2.0 --library gmime-2.6 gmime-2.6/gmime-2.6.gi gmime-2.6/gmime-2.6-custom.vala - diff --git a/bindings/vapi/gmime-2.6.vapi b/bindings/vapi/gmime-2.6.vapi deleted file mode 100644 index 7665a784..00000000 --- a/bindings/vapi/gmime-2.6.vapi +++ /dev/null @@ -1,1452 +0,0 @@ -/* gmime-2.6.vapi generated by vapigen, do not modify. */ - -[CCode (lower_case_cprefix = "gmime_")] -namespace GMime { - [CCode (cheader_filename = "gmime/gmime.h")] - public class Certificate : GLib.Object { - public ulong created; - public GMime.DigestAlgo digest_algo; - public weak string email; - public ulong expires; - public weak string fingerprint; - public weak string issuer_name; - public weak string issuer_serial; - public weak string keyid; - public weak string name; - public GMime.PubKeyAlgo pubkey_algo; - public GMime.CertificateTrust trust; - [CCode (cname = "g_mime_certificate_new", has_construct_function = false)] - public Certificate (); - [CCode (cname = "g_mime_certificate_get_created")] - public ulong get_created (); - [CCode (cname = "g_mime_certificate_get_digest_algo")] - public GMime.DigestAlgo get_digest_algo (); - [CCode (cname = "g_mime_certificate_get_email")] - public unowned string get_email (); - [CCode (cname = "g_mime_certificate_get_expires")] - public ulong get_expires (); - [CCode (cname = "g_mime_certificate_get_fingerprint")] - public unowned string get_fingerprint (); - [CCode (cname = "g_mime_certificate_get_issuer_name")] - public unowned string get_issuer_name (); - [CCode (cname = "g_mime_certificate_get_issuer_serial")] - public unowned string get_issuer_serial (); - [CCode (cname = "g_mime_certificate_get_key_id")] - public unowned string get_key_id (); - [CCode (cname = "g_mime_certificate_get_name")] - public unowned string get_name (); - [CCode (cname = "g_mime_certificate_get_pubkey_algo")] - public GMime.PubKeyAlgo get_pubkey_algo (); - [CCode (cname = "g_mime_certificate_get_trust")] - public GMime.CertificateTrust get_trust (); - [CCode (cname = "g_mime_certificate_set_created")] - public void set_created (ulong created); - [CCode (cname = "g_mime_certificate_set_digest_algo")] - public void set_digest_algo (GMime.DigestAlgo algo); - [CCode (cname = "g_mime_certificate_set_email")] - public void set_email (string email); - [CCode (cname = "g_mime_certificate_set_expires")] - public void set_expires (ulong expires); - [CCode (cname = "g_mime_certificate_set_fingerprint")] - public void set_fingerprint (string fingerprint); - [CCode (cname = "g_mime_certificate_set_issuer_name")] - public void set_issuer_name (string issuer_name); - [CCode (cname = "g_mime_certificate_set_issuer_serial")] - public void set_issuer_serial (string issuer_serial); - [CCode (cname = "g_mime_certificate_set_key_id")] - public void set_key_id (string key_id); - [CCode (cname = "g_mime_certificate_set_name")] - public void set_name (string name); - [CCode (cname = "g_mime_certificate_set_pubkey_algo")] - public void set_pubkey_algo (GMime.PubKeyAlgo algo); - [CCode (cname = "g_mime_certificate_set_trust")] - public void set_trust (GMime.CertificateTrust trust); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class CertificateList : GLib.Object { - public weak GLib.PtrArray array; - [CCode (cname = "g_mime_certificate_list_new", has_construct_function = false)] - public CertificateList (); - [CCode (cname = "g_mime_certificate_list_add")] - public int add (GMime.Certificate cert); - [CCode (cname = "g_mime_certificate_list_clear")] - public void clear (); - [CCode (cname = "g_mime_certificate_list_contains")] - public bool contains (GMime.Certificate cert); - [CCode (cname = "g_mime_certificate_list_get_certificate")] - public unowned GMime.Certificate get_certificate (int index); - [CCode (cname = "g_mime_certificate_list_index_of")] - public int index_of (GMime.Certificate cert); - [CCode (cname = "g_mime_certificate_list_insert")] - public void insert (int index, GMime.Certificate cert); - [CCode (cname = "g_mime_certificate_list_length")] - public int length (); - [CCode (cname = "g_mime_certificate_list_remove")] - public bool remove (GMime.Certificate cert); - [CCode (cname = "g_mime_certificate_list_remove_at")] - public bool remove_at (int index); - [CCode (cname = "g_mime_certificate_list_set_certificate")] - public void set_certificate (int index, GMime.Certificate cert); - } - [CCode (cheader_filename = "gmime/gmime.h")] - [Compact] - public class Charset { - public uint level; - public uint mask; - [CCode (cname = "g_mime_charset_best")] - public static unowned string best (string inbuf, size_t inlen); - [CCode (cname = "g_mime_charset_best_name")] - public unowned string best_name (); - [CCode (cname = "g_mime_charset_can_encode")] - public bool can_encode (string charset, string text, size_t len); - [CCode (cname = "g_mime_charset_canon_name")] - public static unowned string canon_name (string charset); - [CCode (cname = "g_mime_charset_iconv_name")] - public static unowned string iconv_name (string charset); - [CCode (cname = "g_mime_charset_init")] - public void init (); - [CCode (cname = "g_mime_charset_iso_to_windows")] - public static unowned string iso_to_windows (string isocharset); - [CCode (cname = "g_mime_charset_language")] - public static unowned string language (string charset); - [CCode (cname = "g_mime_charset_locale_name")] - public static unowned string locale_name (); - [CCode (cname = "g_mime_charset_map_init")] - public static void map_init (); - [CCode (cname = "g_mime_charset_map_shutdown")] - public static void map_shutdown (); - [CCode (cname = "g_mime_charset_name")] - public static unowned string name (string charset); - [CCode (cname = "g_mime_charset_step")] - public void step (string inbuf, size_t inlen); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class ContentDisposition : GLib.Object { - public weak string disposition; - public weak GLib.HashTable param_hash; - public weak GMime.Param @params; - [CCode (cname = "g_mime_content_disposition_new", has_construct_function = false)] - public ContentDisposition (); - [CCode (cname = "g_mime_content_disposition_new_from_string", has_construct_function = false)] - public ContentDisposition.from_string (string str); - [CCode (cname = "g_mime_content_disposition_get_disposition")] - public unowned string get_disposition (); - [CCode (cname = "g_mime_content_disposition_get_parameter")] - public unowned string get_parameter (string attribute); - [CCode (cname = "g_mime_content_disposition_get_params")] - public unowned GMime.Param get_params (); - [CCode (cname = "g_mime_content_disposition_set_disposition")] - public void set_disposition (string value); - [CCode (cname = "g_mime_content_disposition_set_parameter")] - public void set_parameter (string attribute, string value); - [CCode (cname = "g_mime_content_disposition_set_params")] - public void set_params (GMime.Param @params); - [CCode (cname = "g_mime_content_disposition_to_string")] - public unowned string to_string (bool fold); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class ContentType : GLib.Object { - public weak GLib.HashTable param_hash; - public weak GMime.Param @params; - public weak string subtype; - public weak string type; - [CCode (cname = "g_mime_content_type_new", has_construct_function = false)] - public ContentType (string type, string subtype); - [CCode (cname = "g_mime_content_type_new_from_string", has_construct_function = false)] - public ContentType.from_string (string str); - [CCode (cname = "g_mime_content_type_get_media_subtype")] - public unowned string get_media_subtype (); - [CCode (cname = "g_mime_content_type_get_media_type")] - public unowned string get_media_type (); - [CCode (cname = "g_mime_content_type_get_parameter")] - public unowned string get_parameter (string attribute); - [CCode (cname = "g_mime_content_type_get_params")] - public unowned GMime.Param get_params (); - [CCode (cname = "g_mime_content_type_is_type")] - public bool is_type (string type, string subtype); - [CCode (cname = "g_mime_content_type_set_media_subtype")] - public void set_media_subtype (string subtype); - [CCode (cname = "g_mime_content_type_set_media_type")] - public void set_media_type (string type); - [CCode (cname = "g_mime_content_type_set_parameter")] - public void set_parameter (string attribute, string value); - [CCode (cname = "g_mime_content_type_set_params")] - public void set_params (GMime.Param @params); - [CCode (cname = "g_mime_content_type_to_string")] - public string to_string (); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class CryptoContext : GLib.Object { - public weak GMime.PasswordRequestFunc request_passwd; - [CCode (has_construct_function = false)] - protected CryptoContext (); - [CCode (cname = "g_mime_crypto_context_decrypt")] - public virtual unowned GMime.DecryptResult decrypt (GMime.Stream istream, GMime.Stream ostream) throws GLib.Error; - [CCode (cname = "g_mime_crypto_context_digest_id")] - public virtual GMime.DigestAlgo digest_id (string name); - [CCode (cname = "g_mime_crypto_context_digest_name")] - public virtual unowned string digest_name (GMime.DigestAlgo digest); - [CCode (cname = "g_mime_crypto_context_encrypt")] - public virtual int encrypt (bool sign, string userid, GMime.DigestAlgo digest, GLib.PtrArray recipients, GMime.Stream istream, GMime.Stream ostream) throws GLib.Error; - [CCode (cname = "g_mime_crypto_context_export_keys")] - public virtual int export_keys (GLib.PtrArray keys, GMime.Stream ostream) throws GLib.Error; - [CCode (cname = "g_mime_crypto_context_get_encryption_protocol")] - public virtual unowned string get_encryption_protocol (); - [CCode (cname = "g_mime_crypto_context_get_key_exchange_protocol")] - public virtual unowned string get_key_exchange_protocol (); - [CCode (cname = "g_mime_crypto_context_get_signature_protocol")] - public virtual unowned string get_signature_protocol (); - [CCode (cname = "g_mime_crypto_context_import_keys")] - public virtual int import_keys (GMime.Stream istream) throws GLib.Error; - [CCode (cname = "g_mime_crypto_context_set_request_password")] - public void set_request_password (GMime.PasswordRequestFunc request_passwd); - [CCode (cname = "g_mime_crypto_context_sign")] - public virtual int sign (string userid, GMime.DigestAlgo digest, GMime.Stream istream, GMime.Stream ostream) throws GLib.Error; - [CCode (cname = "g_mime_crypto_context_verify")] - public virtual unowned GMime.SignatureList verify (GMime.DigestAlgo digest, GMime.Stream istream, GMime.Stream sigstream) throws GLib.Error; - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class DataWrapper : GLib.Object { - public GMime.ContentEncoding encoding; - public weak GMime.Stream stream; - [CCode (cname = "g_mime_data_wrapper_new", has_construct_function = false)] - public DataWrapper (); - [CCode (cname = "g_mime_data_wrapper_get_encoding")] - public GMime.ContentEncoding get_encoding (); - [CCode (cname = "g_mime_data_wrapper_get_stream")] - public unowned GMime.Stream get_stream (); - [CCode (cname = "g_mime_data_wrapper_set_encoding")] - public void set_encoding (GMime.ContentEncoding encoding); - [CCode (cname = "g_mime_data_wrapper_set_stream")] - public void set_stream (GMime.Stream stream); - [CCode (cname = "g_mime_data_wrapper_new_with_stream", has_construct_function = false)] - public DataWrapper.with_stream (GMime.Stream stream, GMime.ContentEncoding encoding); - [CCode (cname = "g_mime_data_wrapper_write_to_stream")] - public virtual ssize_t write_to_stream (GMime.Stream stream); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class DecryptResult : GLib.Object { - public GMime.CipherAlgo cipher; - public GMime.DigestAlgo mdc; - public weak GMime.CertificateList recipients; - public weak GMime.SignatureList signatures; - [CCode (cname = "g_mime_decrypt_result_new", has_construct_function = false)] - public DecryptResult (); - [CCode (cname = "g_mime_decrypt_result_get_cipher")] - public GMime.CipherAlgo get_cipher (); - [CCode (cname = "g_mime_decrypt_result_get_mdc")] - public GMime.DigestAlgo get_mdc (); - [CCode (cname = "g_mime_decrypt_result_get_recipients")] - public unowned GMime.CertificateList get_recipients (); - [CCode (cname = "g_mime_decrypt_result_get_signatures")] - public unowned GMime.SignatureList get_signatures (); - [CCode (cname = "g_mime_decrypt_result_set_cipher")] - public void set_cipher (GMime.CipherAlgo cipher); - [CCode (cname = "g_mime_decrypt_result_set_mdc")] - public void set_mdc (GMime.DigestAlgo mdc); - [CCode (cname = "g_mime_decrypt_result_set_recipients")] - public void set_recipients (GMime.CertificateList recipients); - [CCode (cname = "g_mime_decrypt_result_set_signatures")] - public void set_signatures (GMime.SignatureList signatures); - } - [CCode (cheader_filename = "gmime/gmime.h")] - [Compact] - public class Encoding { - public bool encode; - public GMime.ContentEncoding encoding; - public uint32 save; - public int state; - [CCode (array_length = false)] - public weak uint[] uubuf; - [CCode (cname = "g_mime_encoding_base64_decode_step")] - public static size_t base64_decode_step (uint inbuf, size_t inlen, uint outbuf, int state, uint32 save); - [CCode (cname = "g_mime_encoding_base64_encode_close")] - public static size_t base64_encode_close (uint inbuf, size_t inlen, uint outbuf, int state, uint32 save); - [CCode (cname = "g_mime_encoding_base64_encode_step")] - public static size_t base64_encode_step (uint inbuf, size_t inlen, uint outbuf, int state, uint32 save); - [CCode (cname = "g_mime_encoding_flush")] - public size_t flush (string inbuf, size_t inlen, string outbuf); - [CCode (cname = "g_mime_encoding_init_decode")] - public void init_decode (GMime.ContentEncoding encoding); - [CCode (cname = "g_mime_encoding_init_encode")] - public void init_encode (GMime.ContentEncoding encoding); - [CCode (cname = "g_mime_encoding_outlen")] - public size_t outlen (size_t inlen); - [CCode (cname = "g_mime_encoding_quoted_decode_step")] - public static size_t quoted_decode_step (uint inbuf, size_t inlen, uint outbuf, int state, uint32 save); - [CCode (cname = "g_mime_encoding_quoted_encode_close")] - public static size_t quoted_encode_close (uint inbuf, size_t inlen, uint outbuf, int state, uint32 save); - [CCode (cname = "g_mime_encoding_quoted_encode_step")] - public static size_t quoted_encode_step (uint inbuf, size_t inlen, uint outbuf, int state, uint32 save); - [CCode (cname = "g_mime_encoding_reset")] - public void reset (); - [CCode (cname = "g_mime_encoding_step")] - public size_t step (string inbuf, size_t inlen, string outbuf); - [CCode (cname = "g_mime_encoding_uudecode_step")] - public static size_t uudecode_step (uint inbuf, size_t inlen, uint outbuf, int state, uint32 save); - [CCode (cname = "g_mime_encoding_uuencode_close")] - public static size_t uuencode_close (uint inbuf, size_t inlen, uint outbuf, uint uubuf, int state, uint32 save); - [CCode (cname = "g_mime_encoding_uuencode_step")] - public static size_t uuencode_step (uint inbuf, size_t inlen, uint outbuf, uint uubuf, int state, uint32 save); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class Filter : GLib.Object { - public char* backbuf; - public size_t backlen; - public size_t backsize; - [CCode (array_length_cname = "outsize", array_length_type = "size_t")] - public char[] outbuf; - public size_t outpre; - public char* outptr; - public char* outreal; - [CCode (has_construct_function = false)] - protected Filter (); - [CCode (cname = "g_mime_filter_backup")] - public void backup ([CCode (array_length_pos = 1.1, array_length_type = "size_t")] char[] data); - [CCode (cname = "g_mime_filter_complete")] - public virtual void complete ([CCode (array_length_pos = 1.1, array_length_type = "size_t")] char[] inbuf, size_t prespace, [CCode (array_length_pos = 3.1, array_length_type = "size_t")] out unowned char[] outbuf, out size_t outprespace); - [CCode (cname = "g_mime_filter_copy")] - public virtual GMime.Filter copy (); - [CCode (cname = "g_mime_filter_filter")] - public virtual void filter ([CCode (array_length_pos = 1.1, array_length_type = "size_t")] char[] inbuf, size_t prespace, [CCode (array_length_pos = 3.1, array_length_type = "size_t")] out unowned char[] outbuf, out size_t outprespace); - [CCode (cname = "g_mime_filter_reset")] - public virtual void reset (); - [CCode (cname = "g_mime_filter_set_size")] - public void set_size (size_t size, bool keep); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class FilterBasic : GMime.Filter { - public weak GMime.Encoding encoder; - [CCode (cname = "g_mime_filter_basic_new", has_construct_function = false, type = "GMimeFilter*")] - public FilterBasic (GMime.ContentEncoding encoding, bool encode); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class FilterBest : GMime.Filter { - public uint count0; - public uint count8; - public GMime.FilterBestFlags flags; - [CCode (array_length = false)] - public weak uint[] frombuf; - public uint fromlen; - public uint hadfrom; - public uint linelen; - public uint maxline; - public uint midline; - public uint startline; - public uint total; - [CCode (cname = "g_mime_filter_best_new", has_construct_function = false, type = "GMimeFilter*")] - public FilterBest (GMime.FilterBestFlags flags); - [CCode (cname = "g_mime_filter_best_charset")] - public unowned string charset (); - [CCode (cname = "g_mime_filter_best_encoding")] - public GMime.ContentEncoding encoding (GMime.EncodingConstraint constraint); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class FilterCRLF : GMime.Filter { - public bool dots; - public bool encode; - public bool saw_cr; - public bool saw_dot; - public bool saw_lf; - [CCode (cname = "g_mime_filter_crlf_new", has_construct_function = false, type = "GMimeFilter*")] - public FilterCRLF (bool encode, bool dots); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class FilterCharset : GMime.Filter { - public void* cd; - public weak string from_charset; - public weak string to_charset; - [CCode (cname = "g_mime_filter_charset_new", has_construct_function = false, type = "GMimeFilter*")] - public FilterCharset (string from_charset, string to_charset); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class FilterEnriched : GMime.Filter { - public uint32 flags; - public int nofill; - [CCode (cname = "g_mime_filter_enriched_new", has_construct_function = false, type = "GMimeFilter*")] - public FilterEnriched (uint32 flags); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class FilterFrom : GMime.Filter { - public bool midline; - public GMime.FilterFromMode mode; - [CCode (cname = "g_mime_filter_from_new", has_construct_function = false, type = "GMimeFilter*")] - public FilterFrom (GMime.FilterFromMode mode); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class FilterGZip : GMime.Filter { - public int level; - public GMime.FilterGZipMode mode; - [CCode (cname = "g_mime_filter_gzip_new", has_construct_function = false, type = "GMimeFilter*")] - public FilterGZip (GMime.FilterGZipMode mode, int level); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class FilterHTML : GMime.Filter { - public uint32 colour; - public uint32 column; - public uint32 flags; - public uint32 pre_open; - public void* scanner; - [CCode (cname = "g_mime_filter_html_new", has_construct_function = false, type = "GMimeFilter*")] - public FilterHTML (uint32 flags, uint32 colour); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class FilterMd5 : GMime.Filter { - [CCode (cname = "g_mime_filter_md5_new", has_construct_function = false, type = "GMimeFilter*")] - public FilterMd5 (); - [CCode (cname = "g_mime_filter_md5_get_digest")] - public void get_digest (uint[] digest); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class FilterStrip : GMime.Filter { - [CCode (cname = "g_mime_filter_strip_new", has_construct_function = false, type = "GMimeFilter*")] - public FilterStrip (); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class FilterWindows : GMime.Filter { - public weak string claimed_charset; - public bool is_windows; - [CCode (cname = "g_mime_filter_windows_new", has_construct_function = false, type = "GMimeFilter*")] - public FilterWindows (string claimed_charset); - [CCode (cname = "g_mime_filter_windows_is_windows_charset")] - public bool is_windows_charset (); - [CCode (cname = "g_mime_filter_windows_real_charset")] - public unowned string real_charset (); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class FilterYenc : GMime.Filter { - public uint32 crc; - public bool encode; - public int part; - public uint32 pcrc; - public int state; - [CCode (cname = "g_mime_filter_yenc_new", has_construct_function = false, type = "GMimeFilter*")] - public FilterYenc (bool encode); - [CCode (cname = "g_mime_filter_yenc_get_crc")] - public uint32 get_crc (); - [CCode (cname = "g_mime_filter_yenc_get_pcrc")] - public uint32 get_pcrc (); - [CCode (cname = "g_mime_filter_yenc_set_crc")] - public void set_crc (uint32 crc); - [CCode (cname = "g_mime_filter_yenc_set_state")] - public void set_state (int state); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class GpgContext : GMime.CryptoContext { - public bool always_trust; - public bool auto_key_retrieve; - public weak string path; - public bool use_agent; - [CCode (cname = "g_mime_gpg_context_new", has_construct_function = false, type = "GMimeCryptoContext*")] - public GpgContext (GMime.PasswordRequestFunc request_passwd, string path); - [CCode (cname = "g_mime_gpg_context_get_always_trust")] - public bool get_always_trust (); - [CCode (cname = "g_mime_gpg_context_get_auto_key_retrieve")] - public bool get_auto_key_retrieve (); - [CCode (cname = "g_mime_gpg_context_get_use_agent")] - public bool get_use_agent (); - [CCode (cname = "g_mime_gpg_context_set_always_trust")] - public void set_always_trust (bool always_trust); - [CCode (cname = "g_mime_gpg_context_set_auto_key_retrieve")] - public void set_auto_key_retrieve (bool auto_key_retrieve); - [CCode (cname = "g_mime_gpg_context_set_use_agent")] - public void set_use_agent (bool use_agent); - } - [CCode (cheader_filename = "gmime/gmime.h")] - [Compact] - public class Header { - } - [CCode (cheader_filename = "gmime/gmime.h", copy_function = "g_mime_header_iter_copy", free_function = "g_mime_header_iter_free")] - [Compact] - public class HeaderIter { - public weak GMime.Header cursor; - public weak GMime.HeaderList hdrlist; - public uint32 version; - [CCode (cname = "g_mime_header_iter_new", has_construct_function = false)] - public HeaderIter (); - [CCode (cname = "g_mime_header_iter_copy")] - public unowned GMime.HeaderIter copy (); - [CCode (cname = "g_mime_header_iter_copy_to")] - public void copy_to (GMime.HeaderIter dest); - [CCode (cname = "g_mime_header_iter_equal")] - public bool equal (GMime.HeaderIter iter2); - [CCode (cname = "g_mime_header_iter_first")] - public bool first (); - [CCode (cname = "g_mime_header_iter_get_name")] - public unowned string get_name (); - [CCode (cname = "g_mime_header_iter_get_value")] - public unowned string get_value (); - [CCode (cname = "g_mime_header_iter_is_valid")] - public bool is_valid (); - [CCode (cname = "g_mime_header_iter_last")] - public bool last (); - [CCode (cname = "g_mime_header_iter_next")] - public bool next (); - [CCode (cname = "g_mime_header_iter_prev")] - public bool prev (); - [CCode (cname = "g_mime_header_iter_remove")] - public bool remove (); - [CCode (cname = "g_mime_header_iter_set_value")] - public bool set_value (string value); - } - [CCode (cheader_filename = "gmime/gmime.h", free_function = "g_mime_header_list_destroy")] - [Compact] - public class HeaderList { - [CCode (cname = "g_mime_header_list_new", has_construct_function = false)] - public HeaderList (); - [CCode (cname = "g_mime_header_list_append")] - public void append (string name, string value); - [CCode (cname = "g_mime_header_list_clear")] - public void clear (); - [CCode (cname = "g_mime_header_list_contains")] - public bool contains (string name); - [CCode (cname = "g_mime_header_list_foreach")] - public void @foreach (GMime.HeaderForeachFunc func); - [CCode (cname = "g_mime_header_list_get")] - public unowned string @get (string name); - [CCode (cname = "g_mime_header_list_get_iter")] - public bool get_iter (GMime.HeaderIter iter); - [CCode (cname = "g_mime_header_list_get_stream")] - public unowned GMime.Stream get_stream (); - [CCode (cname = "g_mime_header_list_prepend")] - public void prepend (string name, string value); - [CCode (cname = "g_mime_header_list_register_writer")] - public void register_writer (string name, GMime.HeaderWriter writer); - [CCode (cname = "g_mime_header_list_remove")] - public bool remove (string name); - [CCode (cname = "g_mime_header_list_set")] - public void @set (string name, string value); - [CCode (cname = "g_mime_header_list_set_stream")] - public void set_stream (GMime.Stream stream); - [CCode (cname = "g_mime_header_list_to_string")] - public unowned string to_string (); - [CCode (cname = "g_mime_header_list_write_to_stream")] - public ssize_t write_to_stream (GMime.Stream stream); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class Message : GMime.Object { - public ulong date; - public weak string from; - public weak string message_id; - public weak GMime.Object mime_part; - public weak InternetAddressList recipients; - public weak string reply_to; - public weak string subject; - public int tz_offset; - [CCode (cname = "g_mime_message_new", has_construct_function = false)] - public Message (bool pretty_headers); - [CCode (cname = "g_mime_message_add_recipient")] - public void add_recipient (GMime.RecipientType type, string name, string addr); - [CCode (cname = "g_mime_message_foreach")] - public void @foreach (GMime.ObjectForeachFunc callback); - [CCode (cname = "g_mime_message_get_all_recipients")] - public unowned InternetAddressList get_all_recipients (); - [CCode (cname = "g_mime_message_get_body")] - public unowned GMime.Object get_body (); - [CCode (cname = "g_mime_message_get_date")] - public void get_date (out ulong date, out int tz_offset); - [CCode (cname = "g_mime_message_get_date_as_string")] - public string get_date_as_string (); - [CCode (cname = "g_mime_message_get_message_id")] - public unowned string get_message_id (); - [CCode (cname = "g_mime_message_get_mime_part")] - public unowned GMime.Object get_mime_part (); - [CCode (cname = "g_mime_message_get_recipients")] - public unowned InternetAddressList get_recipients (GMime.RecipientType type); - [CCode (cname = "g_mime_message_get_reply_to")] - public unowned string get_reply_to (); - [CCode (cname = "g_mime_message_get_sender")] - public unowned string get_sender (); - [CCode (cname = "g_mime_message_get_subject")] - public unowned string get_subject (); - [CCode (cname = "g_mime_message_set_date")] - public void set_date (ulong date, int tz_offset); - [CCode (cname = "g_mime_message_set_date_as_string")] - public void set_date_as_string (string str); - [CCode (cname = "g_mime_message_set_message_id")] - public void set_message_id (string message_id); - [CCode (cname = "g_mime_message_set_mime_part")] - public void set_mime_part (GMime.Object mime_part); - [CCode (cname = "g_mime_message_set_reply_to")] - public void set_reply_to (string reply_to); - [CCode (cname = "g_mime_message_set_sender")] - public void set_sender (string sender); - [CCode (cname = "g_mime_message_set_subject")] - public void set_subject (string subject); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class MessagePart : GMime.Object { - public weak GMime.Message message; - [CCode (cname = "g_mime_message_part_new", has_construct_function = false)] - public MessagePart (string subtype); - [CCode (cname = "g_mime_message_part_get_message")] - public unowned GMime.Message get_message (); - [CCode (cname = "g_mime_message_part_set_message")] - public void set_message (GMime.Message message); - [CCode (cname = "g_mime_message_part_new_with_message", has_construct_function = false)] - public MessagePart.with_message (string subtype, GMime.Message message); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class MessagePartial : GMime.Part { - public weak string id; - public int number; - public int total; - [CCode (cname = "g_mime_message_partial_new", has_construct_function = false)] - public MessagePartial (string id, int number, int total); - [CCode (cname = "g_mime_message_partial_get_id")] - public unowned string get_id (); - [CCode (cname = "g_mime_message_partial_get_number")] - public int get_number (); - [CCode (cname = "g_mime_message_partial_get_total")] - public int get_total (); - [CCode (cname = "g_mime_message_partial_reconstruct_message")] - public unowned GMime.Message reconstruct_message (size_t num); - [CCode (cname = "g_mime_message_partial_split_message")] - public static unowned GMime.Message split_message (GMime.Message message, size_t max_size, size_t nparts); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class Multipart : GMime.Object { - public weak string boundary; - public weak GLib.PtrArray children; - public weak string postface; - public weak string preface; - [CCode (cname = "g_mime_multipart_new", has_construct_function = false)] - public Multipart (); - [CCode (cname = "g_mime_multipart_add")] - public virtual void add (GMime.Object part); - [CCode (cname = "g_mime_multipart_clear")] - public virtual void clear (); - [CCode (cname = "g_mime_multipart_contains")] - public virtual bool contains (GMime.Object part); - [CCode (cname = "g_mime_multipart_foreach")] - public void @foreach (GMime.ObjectForeachFunc callback); - [CCode (cname = "g_mime_multipart_get_boundary")] - public virtual unowned string get_boundary (); - [CCode (cname = "g_mime_multipart_get_count")] - public virtual int get_count (); - [CCode (cname = "g_mime_multipart_get_part")] - public virtual unowned GMime.Object get_part (int index); - [CCode (cname = "g_mime_multipart_get_postface")] - public unowned string get_postface (); - [CCode (cname = "g_mime_multipart_get_preface")] - public unowned string get_preface (); - [CCode (cname = "g_mime_multipart_get_subpart_from_content_id")] - public unowned GMime.Object get_subpart_from_content_id (string content_id); - [CCode (cname = "g_mime_multipart_index_of")] - public virtual int index_of (GMime.Object part); - [CCode (cname = "g_mime_multipart_insert")] - public virtual void insert (int index, GMime.Object part); - [CCode (cname = "g_mime_multipart_remove")] - public virtual bool remove (GMime.Object part); - [CCode (cname = "g_mime_multipart_remove_at")] - public virtual GMime.Object remove_at (int index); - [CCode (cname = "g_mime_multipart_replace")] - public GMime.Object replace (int index, GMime.Object replacement); - [CCode (cname = "g_mime_multipart_set_boundary")] - public virtual void set_boundary (string boundary); - [CCode (cname = "g_mime_multipart_set_postface")] - public void set_postface (string postface); - [CCode (cname = "g_mime_multipart_set_preface")] - public void set_preface (string preface); - [CCode (cname = "g_mime_multipart_new_with_subtype", has_construct_function = false)] - public Multipart.with_subtype (string subtype); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class MultipartEncrypted : GMime.Multipart { - [CCode (cname = "g_mime_multipart_encrypted_new", has_construct_function = false)] - public MultipartEncrypted (); - [CCode (cname = "g_mime_multipart_encrypted_decrypt")] - public unowned GMime.Object decrypt (GMime.CryptoContext ctx, out unowned GMime.DecryptResult _result) throws GLib.Error; - [CCode (cname = "g_mime_multipart_encrypted_encrypt")] - public int encrypt (GMime.Object content, GMime.CryptoContext ctx, bool sign, string userid, GMime.DigestAlgo digest, GLib.PtrArray recipients) throws GLib.Error; - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class MultipartSigned : GMime.Multipart { - [CCode (cname = "g_mime_multipart_signed_new", has_construct_function = false)] - public MultipartSigned (); - [CCode (cname = "g_mime_multipart_signed_sign")] - public int sign (GMime.Object content, GMime.CryptoContext ctx, string userid, GMime.DigestAlgo digest) throws GLib.Error; - [CCode (cname = "g_mime_multipart_signed_verify")] - public unowned GMime.SignatureList verify (GMime.CryptoContext ctx) throws GLib.Error; - } - [CCode (cheader_filename = "gmime/gmime.h")] - public abstract class Object : GLib.Object { - public weak string content_id; - public weak GMime.ContentType content_type; - public weak GMime.ContentDisposition disposition; - public weak GMime.HeaderList headers; - [CCode (cname = "g_mime_object_new", has_construct_function = false)] - protected Object (GMime.ContentType content_type); - [CCode (cname = "g_mime_object_append_header")] - public virtual void append_header (string header, string value); - [CCode (cname = "g_mime_object_encode")] - public virtual void encode (GMime.EncodingConstraint constraint); - [CCode (cname = "g_mime_object_get_content_disposition")] - public unowned GMime.ContentDisposition? get_content_disposition (); - [CCode (cname = "g_mime_object_get_content_disposition_parameter")] - public unowned string get_content_disposition_parameter (string attribute); - [CCode (cname = "g_mime_object_get_content_id")] - public unowned string get_content_id (); - [CCode (cname = "g_mime_object_get_content_type")] - public unowned GMime.ContentType? get_content_type (); - [CCode (cname = "g_mime_object_get_content_type_parameter")] - public unowned string? get_content_type_parameter (string name); - [CCode (cname = "g_mime_object_get_disposition")] - public unowned string get_disposition (); - [CCode (cname = "g_mime_object_get_header")] - public virtual unowned string get_header (string header); - [CCode (cname = "g_mime_object_get_header_list")] - public unowned GMime.HeaderList get_header_list (); - [CCode (cname = "g_mime_object_get_headers")] - public virtual string get_headers (); - [CCode (cname = "g_mime_object_prepend_header")] - public virtual void prepend_header (string header, string value); - [CCode (cname = "g_mime_object_register_type")] - public static void register_type (string type, string subtype, GLib.Type object_type); - [CCode (cname = "g_mime_object_remove_header")] - public virtual bool remove_header (string header); - [CCode (cname = "g_mime_object_set_content_disposition")] - public void set_content_disposition (GMime.ContentDisposition disposition); - [CCode (cname = "g_mime_object_set_content_disposition_parameter")] - public void set_content_disposition_parameter (string attribute, string value); - [CCode (cname = "g_mime_object_set_content_id")] - public void set_content_id (string content_id); - [CCode (cname = "g_mime_object_set_content_type")] - public virtual void set_content_type (GMime.ContentType content_type); - [CCode (cname = "g_mime_object_set_content_type_parameter")] - public void set_content_type_parameter (string name, string value); - [CCode (cname = "g_mime_object_set_disposition")] - public void set_disposition (string disposition); - [CCode (cname = "g_mime_object_set_header")] - public virtual void set_header (string header, string value); - [CCode (cname = "g_mime_object_to_string")] - public string to_string (); - [CCode (cname = "g_mime_object_new_type", has_construct_function = false)] - protected Object.type (string type, string subtype); - [CCode (cname = "g_mime_object_type_registry_init")] - public static void type_registry_init (); - [CCode (cname = "g_mime_object_type_registry_shutdown")] - public static void type_registry_shutdown (); - [CCode (cname = "g_mime_object_write_to_stream")] - public virtual ssize_t write_to_stream (GMime.Stream stream); - } - [CCode (cheader_filename = "gmime/gmime.h", free_function = "g_mime_param_destroy")] - [Compact] - public class Param { - public weak string name; - public weak GMime.Param next; - public weak string value; - [CCode (cname = "g_mime_param_new", has_construct_function = false)] - public Param (string name, string value); - [CCode (cname = "g_mime_param_append")] - public unowned GMime.Param append (string name, string value); - [CCode (cname = "g_mime_param_append_param")] - public unowned GMime.Param append_param (GMime.Param param); - [CCode (cname = "g_mime_param_new_from_string", has_construct_function = false)] - public Param.from_string (string str); - [CCode (cname = "g_mime_param_get_name")] - public unowned string get_name (); - [CCode (cname = "g_mime_param_next")] - public unowned GMime.Param get_next (); - [CCode (cname = "g_mime_param_get_value")] - public unowned string get_value (); - [CCode (cname = "g_mime_param_write_to_string")] - public void write_to_string (bool fold, GLib.StringBuilder str); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class Parser : GLib.Object { - [CCode (cname = "g_mime_parser_new", has_construct_function = false)] - public Parser (); - [CCode (cname = "g_mime_parser_construct_message")] - public GMime.Message? construct_message (); - [CCode (cname = "g_mime_parser_construct_part")] - public GMime.Object? construct_part (); - [CCode (cname = "g_mime_parser_eos")] - public bool eos (); - [CCode (cname = "g_mime_parser_get_from")] - public unowned string get_from (); - [CCode (cname = "g_mime_parser_get_from_offset")] - public int64 get_from_offset (); - [CCode (cname = "g_mime_parser_get_headers_begin")] - public int64 get_headers_begin (); - [CCode (cname = "g_mime_parser_get_headers_end")] - public int64 get_headers_end (); - [CCode (cname = "g_mime_parser_get_persist_stream")] - public bool get_persist_stream (); - [CCode (cname = "g_mime_parser_get_respect_content_length")] - public bool get_respect_content_length (); - [CCode (cname = "g_mime_parser_get_scan_from")] - public bool get_scan_from (); - [CCode (cname = "g_mime_parser_init_with_stream")] - public void init_with_stream (GMime.Stream stream); - [CCode (cname = "g_mime_parser_set_header_regex")] - public void set_header_regex (string regex, GMime.ParserHeaderRegexFunc header_cb); - [CCode (cname = "g_mime_parser_set_persist_stream")] - public void set_persist_stream (bool persist); - [CCode (cname = "g_mime_parser_set_respect_content_length")] - public void set_respect_content_length (bool respect_content_length); - [CCode (cname = "g_mime_parser_set_scan_from")] - public void set_scan_from (bool scan_from); - [CCode (cname = "g_mime_parser_tell")] - public int64 tell (); - [CCode (cname = "g_mime_parser_new_with_stream", has_construct_function = false)] - public Parser.with_stream (GMime.Stream stream); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class Part : GMime.Object { - public weak GMime.DataWrapper content; - public weak string content_description; - public weak string content_location; - public weak string content_md5; - public GMime.ContentEncoding encoding; - [CCode (cname = "g_mime_part_new", has_construct_function = false)] - public Part (); - [CCode (cname = "g_mime_part_get_best_content_encoding")] - public GMime.ContentEncoding get_best_content_encoding (GMime.EncodingConstraint constraint); - [CCode (cname = "g_mime_part_get_content_description")] - public unowned string? get_content_description (); - [CCode (cname = "g_mime_part_get_content_encoding")] - public GMime.ContentEncoding get_content_encoding (); - [CCode (cname = "g_mime_part_get_content_id")] - public unowned string? get_content_id (); - [CCode (cname = "g_mime_part_get_content_location")] - public unowned string? get_content_location (); - [CCode (cname = "g_mime_part_get_content_md5")] - public unowned string? get_content_md5 (); - [CCode (cname = "g_mime_part_get_content_object")] - public unowned GMime.DataWrapper? get_content_object (); - [CCode (cname = "g_mime_part_get_filename")] - public unowned string? get_filename (); - [CCode (cname = "g_mime_part_set_content_description")] - public void set_content_description (string description); - [CCode (cname = "g_mime_part_set_content_encoding")] - public void set_content_encoding (GMime.ContentEncoding encoding); - [CCode (cname = "g_mime_part_set_content_id")] - public void set_content_id (string content_id); - [CCode (cname = "g_mime_part_set_content_location")] - public void set_content_location (string content_location); - [CCode (cname = "g_mime_part_set_content_md5")] - public void set_content_md5 (string content_md5); - [CCode (cname = "g_mime_part_set_content_object")] - public virtual void set_content_object (GMime.DataWrapper content); - [CCode (cname = "g_mime_part_set_filename")] - public void set_filename (string filename); - [CCode (cname = "g_mime_part_verify_content_md5")] - public bool verify_content_md5 (); - [CCode (cname = "g_mime_part_new_with_type", has_construct_function = false)] - public Part.with_type (string type, string subtype); - } - [CCode (cheader_filename = "gmime/gmime.h", free_function = "g_mime_part_iter_free")] - [Compact] - public class PartIter { - [CCode (cname = "g_mime_part_iter_new", has_construct_function = false)] - public PartIter (GMime.Object toplevel); - [CCode (cname = "g_mime_part_iter_get_current")] - public unowned GMime.Object get_current (); - [CCode (cname = "g_mime_part_iter_get_parent")] - public unowned GMime.Object get_parent (); - [CCode (cname = "g_mime_part_iter_get_path")] - public unowned string get_path (); - [CCode (cname = "g_mime_part_iter_get_toplevel")] - public unowned GMime.Object get_toplevel (); - [CCode (cname = "g_mime_part_iter_is_valid")] - public bool is_valid (); - [CCode (cname = "g_mime_part_iter_jump_to")] - public bool jump_to (string path); - [CCode (cname = "g_mime_part_iter_next")] - public bool next (); - [CCode (cname = "g_mime_part_iter_prev")] - public bool prev (); - [CCode (cname = "g_mime_part_iter_remove")] - public bool remove (); - [CCode (cname = "g_mime_part_iter_replace")] - public bool replace (GMime.Object replacement); - [CCode (cname = "g_mime_part_iter_reset")] - public void reset (); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class Pkcs7Context : GMime.CryptoContext { - [CCode (cname = "g_mime_pkcs7_context_new", has_construct_function = false, type = "GMimeCryptoContext*")] - public Pkcs7Context (GMime.PasswordRequestFunc request_passwd); - [CCode (cname = "g_mime_pkcs7_context_get_always_trust")] - public bool get_always_trust (); - [CCode (cname = "g_mime_pkcs7_context_set_always_trust")] - public void set_always_trust (bool always_trust); - } - [CCode (cheader_filename = "gmime/gmime.h", free_function = "g_mime_references_free")] - [Compact] - public class References { - public weak string msgid; - public weak GMime.References next; - [CCode (cname = "g_mime_references_append")] - public void append (string msgid); - [CCode (cname = "g_mime_references_clear")] - public void clear (); - [CCode (cname = "g_mime_references_decode")] - public static unowned GMime.References decode (string text); - [CCode (cname = "g_mime_references_get_message_id")] - public unowned string get_message_id (); - [CCode (cname = "g_mime_references_get_next")] - public unowned GMime.References get_next (); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class Signature : GLib.Object { - public weak GMime.Certificate cert; - public ulong created; - public GMime.SignatureError errors; - public ulong expires; - public GMime.SignatureStatus status; - [CCode (cname = "g_mime_signature_new", has_construct_function = false)] - public Signature (); - [CCode (cname = "g_mime_signature_get_certificate")] - public unowned GMime.Certificate get_certificate (); - [CCode (cname = "g_mime_signature_get_created")] - public ulong get_created (); - [CCode (cname = "g_mime_signature_get_errors")] - public GMime.SignatureError get_errors (); - [CCode (cname = "g_mime_signature_get_expires")] - public ulong get_expires (); - [CCode (cname = "g_mime_signature_get_status")] - public GMime.SignatureStatus get_status (); - [CCode (cname = "g_mime_signature_set_certificate")] - public void set_certificate (GMime.Certificate cert); - [CCode (cname = "g_mime_signature_set_created")] - public void set_created (ulong created); - [CCode (cname = "g_mime_signature_set_errors")] - public void set_errors (GMime.SignatureError errors); - [CCode (cname = "g_mime_signature_set_expires")] - public void set_expires (ulong expires); - [CCode (cname = "g_mime_signature_set_status")] - public void set_status (GMime.SignatureStatus status); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class SignatureList : GLib.Object { - public weak GLib.PtrArray array; - [CCode (cname = "g_mime_signature_list_new", has_construct_function = false)] - public SignatureList (); - [CCode (cname = "g_mime_signature_list_add")] - public int add (GMime.Signature sig); - [CCode (cname = "g_mime_signature_list_clear")] - public void clear (); - [CCode (cname = "g_mime_signature_list_contains")] - public bool contains (GMime.Signature sig); - [CCode (cname = "g_mime_signature_list_get_signature")] - public unowned GMime.Signature get_signature (int index); - [CCode (cname = "g_mime_signature_list_index_of")] - public int index_of (GMime.Signature sig); - [CCode (cname = "g_mime_signature_list_insert")] - public void insert (int index, GMime.Signature sig); - [CCode (cname = "g_mime_signature_list_length")] - public int length (); - [CCode (cname = "g_mime_signature_list_remove")] - public bool remove (GMime.Signature sig); - [CCode (cname = "g_mime_signature_list_remove_at")] - public bool remove_at (int index); - [CCode (cname = "g_mime_signature_list_set_signature")] - public void set_signature (int index, GMime.Signature sig); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public abstract class Stream : GLib.Object { - public int64 bound_end; - public int64 bound_start; - public int64 position; - public weak GMime.Stream super_stream; - [CCode (has_construct_function = false)] - protected Stream (); - [CCode (cname = "g_mime_stream_close")] - public virtual int close (); - [CCode (cname = "g_mime_stream_construct")] - public void @construct (int64 start, int64 end); - [CCode (cname = "g_mime_stream_eos")] - public virtual bool eos (); - [CCode (cname = "g_mime_stream_flush")] - public virtual int flush (); - [CCode (cname = "g_mime_stream_length")] - public virtual int64 length (); - [CCode (cname = "g_mime_stream_printf")] - public ssize_t printf (string fmt); - [CCode (cname = "g_mime_stream_read")] - public virtual ssize_t read (uint8[] buf); - [CCode (cname = "g_mime_stream_reset")] - public virtual int reset (); - [CCode (cname = "g_mime_stream_seek")] - public virtual int64 seek (int64 offset, GMime.SeekWhence whence); - [CCode (cname = "g_mime_stream_set_bounds")] - public void set_bounds (int64 start, int64 end); - [CCode (cname = "g_mime_stream_substream")] - public virtual unowned GMime.Stream substream (int64 start, int64 end); - [CCode (cname = "g_mime_stream_tell")] - public virtual int64 tell (); - [CCode (cname = "g_mime_stream_write")] - public virtual ssize_t write (string buf, size_t len); - [CCode (cname = "g_mime_stream_write_string")] - public ssize_t write_string (string str); - [CCode (cname = "g_mime_stream_write_to_stream")] - public ssize_t write_to_stream (GMime.Stream dest); - [CCode (cname = "g_mime_stream_writev")] - public ssize_t writev (GMime.StreamIOVector vector, size_t count); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class StreamBuffer : GMime.Stream { - public weak string bufend; - public weak string buffer; - public size_t buflen; - public weak string bufptr; - public GMime.StreamBufferMode mode; - public weak GMime.Stream source; - [CCode (cname = "g_mime_stream_buffer_new", has_construct_function = false, type = "GMimeStream*")] - public StreamBuffer (GMime.Stream source, GMime.StreamBufferMode mode); - [CCode (cname = "g_mime_stream_buffer_gets")] - public static ssize_t gets (GMime.Stream stream, string buf, size_t max); - [CCode (cname = "g_mime_stream_buffer_readln")] - public static void readln (GMime.Stream stream, GLib.ByteArray buffer); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class StreamCat : GMime.Stream { - public void* current; - public void* sources; - [CCode (cname = "g_mime_stream_cat_new", has_construct_function = false, type = "GMimeStream*")] - public StreamCat (); - [CCode (cname = "g_mime_stream_cat_add_source")] - public int add_source (GMime.Stream source); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class StreamFile : GMime.Stream { - public weak GLib.FileStream fp; - public bool owner; - [CCode (cname = "g_mime_stream_file_new", has_construct_function = false, type = "GMimeStream*")] - public StreamFile (GLib.FileStream fp); - [CCode (cname = "g_mime_stream_file_new_for_path", has_construct_function = false, type = "GMimeStream*")] - public StreamFile.for_path (string path, string mode); - [CCode (cname = "g_mime_stream_file_get_owner")] - public bool get_owner (); - [CCode (cname = "g_mime_stream_file_set_owner")] - public void set_owner (bool owner); - [CCode (cname = "g_mime_stream_file_new_with_bounds", has_construct_function = false, type = "GMimeStream*")] - public StreamFile.with_bounds (GLib.FileStream fp, int64 start, int64 end); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class StreamFilter : GMime.Stream { - public weak GMime.Stream source; - [CCode (cname = "g_mime_stream_filter_new", has_construct_function = false, type = "GMimeStream*")] - public StreamFilter (GMime.Stream stream); - [CCode (cname = "g_mime_stream_filter_add")] - public int add (GMime.Filter filter); - [CCode (cname = "g_mime_stream_filter_remove")] - public void remove (int id); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class StreamFs : GMime.Stream { - public bool eos; - public int fd; - public bool owner; - [CCode (cname = "g_mime_stream_fs_new", has_construct_function = false, type = "GMimeStream*")] - public StreamFs (int fd); - [CCode (cname = "g_mime_stream_fs_new_for_path", has_construct_function = false, type = "GMimeStream*")] - public StreamFs.for_path (string path, int flags, int mode); - [CCode (cname = "g_mime_stream_fs_get_owner")] - public bool get_owner (); - [CCode (cname = "g_mime_stream_fs_set_owner")] - public void set_owner (bool owner); - [CCode (cname = "g_mime_stream_fs_new_with_bounds", has_construct_function = false, type = "GMimeStream*")] - public StreamFs.with_bounds (int fd, int64 start, int64 end); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class StreamGIO : GMime.Stream { - public bool eos; - public weak GLib.File file; - public weak GLib.InputStream istream; - public weak GLib.OutputStream ostream; - public bool owner; - [CCode (cname = "g_mime_stream_gio_new", has_construct_function = false, type = "GMimeStream*")] - public StreamGIO (GLib.File file); - [CCode (cname = "g_mime_stream_gio_get_owner")] - public bool get_owner (); - [CCode (cname = "g_mime_stream_gio_set_owner")] - public void set_owner (bool owner); - [CCode (cname = "g_mime_stream_gio_new_with_bounds", has_construct_function = false, type = "GMimeStream*")] - public StreamGIO.with_bounds (GLib.File file, int64 start, int64 end); - } - [CCode (cheader_filename = "gmime/gmime.h")] - [Compact] - public class StreamIOVector { - public void* data; - public size_t len; - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class StreamMem : GMime.Stream { - public weak GLib.ByteArray buffer; - public bool owner; - [CCode (cname = "g_mime_stream_mem_new", has_construct_function = false, type = "GMimeStream*")] - public StreamMem (); - [CCode (cname = "g_mime_stream_mem_get_byte_array")] - public unowned GLib.ByteArray get_byte_array (); - [CCode (cname = "g_mime_stream_mem_get_owner")] - public bool get_owner (); - [CCode (cname = "g_mime_stream_mem_set_byte_array")] - public void set_byte_array (GLib.ByteArray array); - [CCode (cname = "g_mime_stream_mem_set_owner")] - public void set_owner (bool owner); - [CCode (cname = "g_mime_stream_mem_new_with_buffer", has_construct_function = false, type = "GMimeStream*")] - public StreamMem.with_buffer ([CCode (array_length_pos = 1)] uint8[] buffer); - [CCode (cname = "g_mime_stream_mem_new_with_byte_array", has_construct_function = false, type = "GMimeStream*")] - public StreamMem.with_byte_array (GLib.ByteArray array); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class StreamMmap : GMime.Stream { - public bool eos; - public int fd; - public weak string map; - public size_t maplen; - public bool owner; - [CCode (cname = "g_mime_stream_mmap_new", has_construct_function = false, type = "GMimeStream*")] - public StreamMmap (int fd, int prot, int flags); - [CCode (cname = "g_mime_stream_mmap_new_with_bounds", has_construct_function = false, type = "GMimeStream*")] - public StreamMmap.with_bounds (int fd, int prot, int flags, int64 start, int64 end); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class StreamNull : GMime.Stream { - public size_t newlines; - public size_t written; - [CCode (cname = "g_mime_stream_null_new", has_construct_function = false, type = "GMimeStream*")] - public StreamNull (); - } - [CCode (cheader_filename = "gmime/gmime.h")] - public class StreamPipe : GMime.Stream { - public bool eos; - public int fd; - public bool owner; - [CCode (cname = "g_mime_stream_pipe_new", has_construct_function = false, type = "GMimeStream*")] - public StreamPipe (int fd); - [CCode (cname = "g_mime_stream_pipe_get_owner")] - public bool get_owner (); - [CCode (cname = "g_mime_stream_pipe_set_owner")] - public void set_owner (bool owner); - } - [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_CERTIFICATE_TRUST_", has_type_id = false)] - public enum CertificateTrust { - NONE, - NEVER, - UNDEFINED, - MARGINAL, - FULLY, - ULTIMATE - } - [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_CIPHER_ALGO_", has_type_id = false)] - public enum CipherAlgo { - DEFAULT, - IDEA, - @3DES, - CAST5, - BLOWFISH, - AES, - AES192, - AES256, - TWOFISH, - CAMELLIA128, - CAMELLIA192, - CAMELLIA256 - } - [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_CONTENT_ENCODING_", has_type_id = false)] - public enum ContentEncoding { - DEFAULT, - @7BIT, - @8BIT, - BINARY, - BASE64, - QUOTEDPRINTABLE, - UUENCODE - } - [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_DIGEST_ALGO_", has_type_id = false)] - public enum DigestAlgo { - DEFAULT, - MD5, - SHA1, - RIPEMD160, - MD2, - TIGER192, - HAVAL5160, - SHA256, - SHA384, - SHA512, - SHA224, - MD4 - } - [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_ENCODING_CONSTRAINT_", has_type_id = false)] - public enum EncodingConstraint { - @7BIT, - @8BIT, - BINARY - } - [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_FILTER_BEST_", has_type_id = false)] - public enum FilterBestFlags { - CHARSET, - ENCODING - } - [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_FILTER_FROM_MODE_", has_type_id = false)] - public enum FilterFromMode { - DEFAULT, - ESCAPE, - ARMOR - } - [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_FILTER_GZIP_MODE_", has_type_id = false)] - public enum FilterGZipMode { - ZIP, - UNZIP - } - [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_PUBKEY_ALGO_", has_type_id = false)] - public enum PubKeyAlgo { - DEFAULT, - RSA, - RSA_E, - RSA_S, - ELG_E, - DSA, - ELG - } - [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_RECIPIENT_TYPE_", has_type_id = false)] - public enum RecipientType { - TO, - CC, - BCC - } - [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_STREAM_SEEK_", has_type_id = false)] - public enum SeekWhence { - SET, - CUR, - END - } - [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_SIGNATURE_ERROR_", has_type_id = false)] - public enum SignatureError { - NONE, - EXPSIG, - NO_PUBKEY, - EXPKEYSIG, - REVKEYSIG, - UNSUPP_ALGO - } - [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_SIGNATURE_STATUS_", has_type_id = false)] - public enum SignatureStatus { - GOOD, - ERROR, - BAD - } - [CCode (cheader_filename = "gmime/gmime.h", cprefix = "GMIME_STREAM_BUFFER_", has_type_id = false)] - public enum StreamBufferMode { - CACHE_READ, - BLOCK_READ, - BLOCK_WRITE - } - [CCode (cheader_filename = "gmime/gmime.h")] - public delegate void HeaderForeachFunc (string name, string value); - [CCode (cheader_filename = "gmime/gmime.h", has_target = false)] - public delegate ssize_t HeaderWriter (GMime.Stream stream, string name, string value); - [CCode (cheader_filename = "gmime/gmime.h")] - public delegate void ObjectForeachFunc (GMime.Object parent, GMime.Object part); - [CCode (cheader_filename = "gmime/gmime.h")] - public delegate void ParserHeaderRegexFunc (GMime.Parser parser, string header, string value, int64 offset); - [CCode (cheader_filename = "gmime/gmime.h", has_target = false)] - public delegate bool PasswordRequestFunc (GMime.CryptoContext ctx, string user_id, string prompt_ctx, bool reprompt, GMime.Stream response) throws GLib.Error; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int BINARY_AGE; - [CCode (cheader_filename = "gmime/gmime.h")] - public const string DISPOSITION_ATTACHMENT; - [CCode (cheader_filename = "gmime/gmime.h")] - public const string DISPOSITION_INLINE; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int ENABLE_RFC2047_WORKAROUNDS; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int ENABLE_USE_ONLY_USER_CHARSETS; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int FILTER_ENRICHED_IS_RICHTEXT; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int FILTER_HTML_CITE; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int FILTER_HTML_CONVERT_ADDRESSES; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int FILTER_HTML_CONVERT_NL; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int FILTER_HTML_CONVERT_SPACES; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int FILTER_HTML_CONVERT_URLS; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int FILTER_HTML_ESCAPE_8BIT; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int FILTER_HTML_MARK_CITATION; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int FILTER_HTML_PRE; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int INTERFACE_AGE; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int MAJOR_VERSION; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int MICRO_VERSION; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int MINOR_VERSION; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int UUDECODE_STATE_BEGIN; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int UUDECODE_STATE_END; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int UUDECODE_STATE_INIT; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int UUDECODE_STATE_MASK; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int YDECODE_STATE_BEGIN; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int YDECODE_STATE_DECODE; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int YDECODE_STATE_END; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int YDECODE_STATE_EOLN; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int YDECODE_STATE_ESCAPE; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int YDECODE_STATE_INIT; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int YDECODE_STATE_PART; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int YENCODE_CRC_INIT; - [CCode (cheader_filename = "gmime/gmime.h")] - public const int YENCODE_STATE_INIT; - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_check_version")] - public static bool check_version (uint major, uint minor, uint micro); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_content_encoding_from_string")] - public static GMime.ContentEncoding content_encoding_from_string (string str); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_content_encoding_to_string")] - public static unowned string content_encoding_to_string (GMime.ContentEncoding encoding); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_close")] - public static int iconv_close (void* cd); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_init")] - public static void iconv_init (); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_locale_to_utf8")] - public static unowned string iconv_locale_to_utf8 (string str); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_locale_to_utf8_length")] - public static unowned string iconv_locale_to_utf8_length (string str, size_t n); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_open")] - public static void* iconv_open (string to, string from); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_shutdown")] - public static void iconv_shutdown (); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_strdup")] - public static unowned string iconv_strdup (void* cd, string str); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_strndup")] - public static unowned string iconv_strndup (void* cd, string str, size_t n); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_utf8_to_locale")] - public static unowned string iconv_utf8_to_locale (string str); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_iconv_utf8_to_locale_length")] - public static unowned string iconv_utf8_to_locale_length (string str, size_t n); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_init")] - public static void init (uint32 flags); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_locale_charset")] - public static unowned string locale_charset (); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_locale_language")] - public static unowned string locale_language (); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_set_user_charsets")] - public static void set_user_charsets ([CCode (array_length = false)] string[] charsets); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_shutdown")] - public static void shutdown (); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_user_charsets")] - public static unowned string user_charsets (); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_best_encoding")] - public static GMime.ContentEncoding utils_best_encoding (uint text, size_t len); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_decode_8bit")] - public static string utils_decode_8bit (string text, size_t len); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_decode_message_id")] - public static string utils_decode_message_id (string message_id); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_generate_message_id")] - public static string utils_generate_message_id (string fqdn); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_header_decode_date")] - public static time_t utils_header_decode_date (string str, out int tz_offset); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_header_decode_phrase")] - public static string utils_header_decode_phrase (string phrase); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_header_decode_text")] - public static string utils_header_decode_text (string text); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_header_encode_phrase")] - public static string utils_header_encode_phrase (string phrase); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_header_encode_text")] - public static string utils_header_encode_text (string text); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_header_fold")] - public static string utils_header_fold (string header); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_header_format_date")] - public static string utils_header_format_date (ulong date, int tz_offset); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_header_printf")] - public static string utils_header_printf (string format); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_quote_string")] - public static string utils_quote_string (string str); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_structured_header_fold")] - public static string utils_structured_header_fold (string header); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_text_is_8bit")] - public static bool utils_text_is_8bit (string text, size_t len); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_unquote_string")] - public static void utils_unquote_string (string str); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_utils_unstructured_header_fold")] - public static string utils_unstructured_header_fold (string header); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_ydecode_step")] - public static size_t ydecode_step (uint inbuf, size_t inlen, uint outbuf, int state, uint32 pcrc, uint32 crc); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_yencode_close")] - public static size_t yencode_close (uint inbuf, size_t inlen, uint outbuf, int state, uint32 pcrc, uint32 crc); - [CCode (cheader_filename = "gmime/gmime.h", cname = "g_mime_yencode_step")] - public static size_t yencode_step (uint inbuf, size_t inlen, uint outbuf, int state, uint32 pcrc, uint32 crc); -} -[CCode (cheader_filename = "gmime/gmime.h", cname = "InternetAddress", type_check_function = "IS_INTERNET_ADDRESS", type_id = "INTERNET_ADDRESS_TYPE")] -public class InternetAddress : GLib.Object { - [CCode (cname = "internet_address_get_name")] - public unowned string? get_name (); - [CCode (cname = "internet_address_set_name")] - public void set_name (string? name); - [CCode (cname = "internet_address_to_string")] - public virtual string to_string (bool encoded); -} -[CCode (cheader_filename = "gmime/gmime.h", cname = "InternetAddressGroup", type_check_function = "INTERNET_ADDRESS_IS_GROUP", type_id = "INTERNET_ADDRESS_TYPE_GROUP")] -public class InternetAddressGroup : InternetAddress { - [CCode (cname = "internet_address_group_new")] - public InternetAddressGroup (string name); - [CCode (cname = "internet_address_group_add_member")] - public int add_member (InternetAddress member); - [CCode (cname = "internet_address_group_get_members")] - public unowned InternetAddressList get_members (); - [CCode (cname = "internet_address_group_set_members")] - public void set_members (InternetAddressList members); -} -[CCode (cheader_filename = "gmime/gmime.h", cname = "InternetAddressMailbox", type_check_function = "INTERNET_ADDRESS_IS_MAILBOX", type_id = "INTERNET_ADDRESS_TYPE_MAILBOX")] -public class InternetAddressMailbox : InternetAddress { - [CCode (cname = "internet_address_mailbox_new")] - public InternetAddressMailbox (string? name, string addr); - [CCode (cname = "internet_address_mailbox_get_addr")] - public unowned string get_addr (); - [CCode (cname = "internet_address_mailbox_set_addr")] - public void set_addr (string addr); -} -[CCode (cheader_filename = "gmime/gmime.h", cname = "InternetAddressList", type_check_function = "IS_INTERNET_ADDRESS_LIST", type_id = "INTERNET_ADDRESS_LIST_TYPE")] -public class InternetAddressList : GLib.Object { - [CCode (cname = "internet_address_list_new")] - public InternetAddressList (); - [CCode (cname = "internet_address_list_add")] - public int add (InternetAddress addr); - [CCode (cname = "internet_address_list_append")] - public void append (InternetAddressList append); - [CCode (cname = "internet_address_list_clear")] - public void clear (); - [CCode (cname = "internet_address_list_contains")] - public bool contains (InternetAddress addr); - [CCode (cname = "internet_address_list_get_address")] - public unowned InternetAddress get_address (int index); - [CCode (cname = "internet_address_list_index_of")] - public int index_of (InternetAddress addr); - [CCode (cname = "internet_address_list_insert")] - public void insert (int index, InternetAddress addr); - [CCode (cname = "internet_address_list_length")] - public int length (); - [CCode (cname = "internet_address_list_parse_string")] - public static InternetAddressList? parse_string (string str); - [CCode (cname = "internet_address_list_prepend")] - public void prepend (InternetAddressList prepend); - [CCode (cname = "internet_address_list_remove")] - public bool remove (InternetAddress addr); - [CCode (cname = "internet_address_list_remove_at")] - public bool remove_at (int index); - [CCode (cname = "internet_address_list_set_address")] - public void set_address (int index, InternetAddress addr); - [CCode (cname = "internet_address_list_to_string")] - public string? to_string (bool encode); -} diff --git a/bindings/vapi/gmime-2.6/gmime-2.6-custom.vala b/bindings/vapi/gmime-2.6/gmime-2.6-custom.vala deleted file mode 100644 index 63aebaa9..00000000 --- a/bindings/vapi/gmime-2.6/gmime-2.6-custom.vala +++ /dev/null @@ -1,72 +0,0 @@ -/* Copyright 2016 Software Freedom Conservancy Inc. - * - * This software is licensed under the GNU Lesser General Public License - * (version 2.1 or later). See the COPYING file in this distribution. - */ - -[CCode (cname="InternetAddress", cheader_filename="gmime/gmime.h", type_id="INTERNET_ADDRESS_TYPE", type_check_function="IS_INTERNET_ADDRESS")] -public class InternetAddress : GLib.Object { - [CCode (cname="internet_address_get_name")] - public unowned string? get_name(); - [CCode (cname="internet_address_set_name")] - public void set_name(string? name); - [CCode (cname="internet_address_to_string")] - public virtual string to_string(bool encoded); -} - -[CCode (cname="InternetAddressGroup", cheader_filename="gmime/gmime.h", type_id="INTERNET_ADDRESS_TYPE_GROUP", type_check_function="INTERNET_ADDRESS_IS_GROUP")] -public class InternetAddressGroup : InternetAddress { - [CCode (cname="internet_address_group_new")] - public InternetAddressGroup(string name); - [CCode (cname="internet_address_group_get_members")] - public unowned InternetAddressList get_members(); - [CCode (cname="internet_address_group_set_members")] - public void set_members(InternetAddressList members); - [CCode (cname="internet_address_group_add_member")] - public int add_member(InternetAddress member); -} - -[CCode (cname="InternetAddressMailbox", cheader_filename="gmime/gmime.h", type_id="INTERNET_ADDRESS_TYPE_MAILBOX", type_check_function="INTERNET_ADDRESS_IS_MAILBOX")] -public class InternetAddressMailbox : InternetAddress { - [CCode (cname="internet_address_mailbox_new")] - public InternetAddressMailbox(string? name, string addr); - [CCode (cname="internet_address_mailbox_get_addr")] - public unowned string get_addr(); - [CCode (cname="internet_address_mailbox_set_addr")] - public void set_addr(string addr); -} - -[CCode (cname="InternetAddressList", cheader_filename="gmime/gmime.h", type_id="INTERNET_ADDRESS_LIST_TYPE", type_check_function="IS_INTERNET_ADDRESS_LIST")] -public class InternetAddressList : GLib.Object { - [CCode (cname="internet_address_list_new")] - public InternetAddressList(); - [CCode (cname="internet_address_list_length")] - public int length(); - [CCode (cname="internet_address_list_clear")] - public void clear(); - [CCode (cname="internet_address_list_add")] - public int add(InternetAddress addr); - [CCode (cname="internet_address_list_insert")] - public void insert(int index, InternetAddress addr); - [CCode (cname="internet_address_list_remove")] - public bool remove(InternetAddress addr); - [CCode (cname="internet_address_list_remove_at")] - public bool remove_at(int index); - [CCode (cname="internet_address_list_contains")] - public bool contains(InternetAddress addr); - [CCode (cname="internet_address_list_index_of")] - public int index_of(InternetAddress addr); - [CCode (cname="internet_address_list_get_address")] - public unowned InternetAddress get_address(int index); - [CCode (cname="internet_address_list_set_address")] - public void set_address(int index, InternetAddress addr); - [CCode (cname="internet_address_list_prepend")] - public void prepend(InternetAddressList prepend); - [CCode (cname="internet_address_list_append")] - public void append(InternetAddressList append); - [CCode (cname="internet_address_list_to_string")] - public string? to_string(bool encode); - [CCode (cname="internet_address_list_parse_string")] - public static InternetAddressList? parse_string(string str); -} - diff --git a/bindings/vapi/gmime-2.6/gmime-2.6.defines b/bindings/vapi/gmime-2.6/gmime-2.6.defines deleted file mode 100644 index e69de29b..00000000 diff --git a/bindings/vapi/gmime-2.6/gmime-2.6.files b/bindings/vapi/gmime-2.6/gmime-2.6.files deleted file mode 100644 index 425d3d34..00000000 --- a/bindings/vapi/gmime-2.6/gmime-2.6.files +++ /dev/null @@ -1,2 +0,0 @@ -include/gmime-2.6/ -lib/x86_64-linux-gnu/libgmime-2.6.so diff --git a/bindings/vapi/gmime-2.6/gmime-2.6.metadata b/bindings/vapi/gmime-2.6/gmime-2.6.metadata deleted file mode 100644 index f080d906..00000000 --- a/bindings/vapi/gmime-2.6/gmime-2.6.metadata +++ /dev/null @@ -1,90 +0,0 @@ -GMime lower_case_cprefix="gmime_" cheader_filename="gmime/gmime.h" - -GMimeObject abstract="1" -GMimeStream abstract="1" - -g_mime_content_type_to_string transfer_ownership="1" -g_mime_header_list_get_iter.iter is_out="1" -g_mime_message_get_date.date is_out="1" -g_mime_message_get_date.tz_offset is_out="1" -g_mime_message_get_date_as_string transfer_ownership="1" -g_mime_message_get_mime_part is_nullable="1" -g_mime_multipart_remove_at is_nullable="1" transfer_ownership="1" -g_mime_multipart_replace is_nullable="1" transfer_ownership="1" -g_mime_object_get_content_disposition nullable="1" -g_mime_object_get_content_type nullable="1" -g_mime_object_get_content_type_parameter nullable="1" -g_mime_object_get_headers transfer_ownership="1" -g_mime_object_to_string transfer_ownership="1" -g_mime_param_next name="get_next" -g_mime_parser_construct_message nullable="1" transfer_ownership="1" -g_mime_parser_construct_part nullable="1" transfer_ownership="1" -g_mime_part_get_content_description nullable="1" -g_mime_part_get_content_location nullable="1" -g_mime_part_get_content_id nullable="1" -g_mime_part_get_content_md5 nullable="1" -g_mime_part_get_content_object nullable="1" -g_mime_part_get_content_part nullable="1" -g_mime_part_get_filename nullable="1" -g_mime_signer_next name="get_next" -g_mime_stream_mem_new_with_buffer.buffer is_array="1" array_length_pos="1.0" type_name="uint8[]" -g_mime_stream_mem_new_with_buffer.len hidden="1" -g_mime_stream_read.buf is_array="1" type_name="uint8[]" -g_mime_stream_read.len hidden="1" -g_mime_utils_decode_8bit transfer_ownership="1" -g_mime_utils_decode_message_id transfer_ownership="1" -g_mime_utils_generate_message_id transfer_ownership="1" -g_mime_utils_header_decode_date type_name="time_t" -g_mime_utils_header_decode_date.tz_offset is_out="1" -g_mime_utils_header_decode_phrase transfer_ownership="1" -g_mime_utils_header_decode_text transfer_ownership="1" -g_mime_utils_header_encode_phrase transfer_ownership="1" -g_mime_utils_header_encode_text transfer_ownership="1" -g_mime_utils_header_fold transfer_ownership="1" -g_mime_utils_header_format_date transfer_ownership="1" -g_mime_utils_header_printf transfer_ownership="1" -g_mime_utils_quote_string transfer_ownership="1" -g_mime_utils_structured_header_fold transfer_ownership="1" -g_mime_utils_unstructured_header_fold transfer_ownership="1" - -# FIXME: there is no keyword "is_protected" -GMimeFilter.backbuf type_name="char*" is_protected="1" -GMimeFilter.backlen is_protected="1" -GMimeFilter.backsize is_protected="1" -GMimeFilter.outbuf is_array="1" type_name="char[]" array_length_cname="outsize" array_length_type="size_t" is_protected="1" -GMimeFilter.outpre is_protected="1" -GMimeFilter.outptr type_name="char*" is_protected="1" -GMimeFilter.outreal type_name="char*" is_protected="1" -GMimeFilter.outsize hidden="1" is_protected="1" -GMimeFilterBest.charset hidden="1" - -g_mime_filter_backup.data is_array="1" array_length_pos="1.1" array_length_type="size_t" type_name="char[]" -g_mime_filter_backup.length hidden="1" -g_mime_filter_complete.inbuf is_array="1" array_length_pos="1.1" array_length_type="size_t" type_name="char[]" -g_mime_filter_complete.inlen hidden="1" -g_mime_filter_complete.outbuf is_array="1" array_length_pos="3.1" array_length_type="size_t" type_name="char[]" is_out="1" transfer_ownership="0" -g_mime_filter_complete.outlen hidden="1" -g_mime_filter_complete.outprespace is_out="1" -g_mime_filter_filter.inbuf is_array="1" array_length_pos="1.1" array_length_type="size_t" type_name="char[]" -g_mime_filter_filter.inlen hidden="1" -g_mime_filter_filter.outbuf is_array="1" array_length_pos="3.1" array_length_type="size_t" type_name="char[]" is_out="1" transfer_ownership="0" -g_mime_filter_filter.outlen hidden="1" -g_mime_filter_filter.outprespace is_out="1" -g_mime_filter_copy transfer_ownership="1" - -InternetAddress hidden="1" -internet_address_* hidden="1" -InternetAddress.name hidden="1" - -InternetAddressGroup hidden="1" -internet_address_group_* hidden="1" -InternetAddressGroup.members hidden="1" - -InternetAddressList hidden="1" -internet_address_list_* hidden="1" -InternetAddressList.array hidden="1" - -InternetAddressMailbox hidden="1" -internet_address_mailbox_* hidden="1" -InternetAddressMailbox.addr hidden="1" - diff --git a/bindings/vapi/gmime-2.6/gmime-2.6.namespace b/bindings/vapi/gmime-2.6/gmime-2.6.namespace deleted file mode 100644 index 9b87733d..00000000 --- a/bindings/vapi/gmime-2.6/gmime-2.6.namespace +++ /dev/null @@ -1 +0,0 @@ -GMime diff --git a/help/pl/pl.po b/help/pl/pl.po index a263dc4c..de4f0087 100644 --- a/help/pl/pl.po +++ b/help/pl/pl.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: geary-help\n" -"POT-Creation-Date: 2019-09-27 12:58+0000\n" -"PO-Revision-Date: 2019-09-29 15:48+0200\n" +"POT-Creation-Date: 2019-11-25 10:55+0000\n" +"PO-Revision-Date: 2019-12-28 16:19+0100\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "Language: pl\n" @@ -210,51 +210,80 @@ msgstr "" "keyseq>." #. (itstool) path: page/title +#: C/archive.page:8 +msgid "Archive, trash and delete messages" +msgstr "Przenoszenie do archiwum lub kosza i usuwanie wiadomości" + +#. (itstool) path: page/p #: C/archive.page:10 -msgid "Delete or archive a message" -msgstr "Usuwanie i archiwizowanie wiadomości" +msgid "" +"Geary lets you archive messages if your server supports it. Clicking the " +"Archive toolbar button moves the conversation " +"from the current folder to the Archive folder for most email " +"services, or to All Mail for GMail. Archiving helps keep your " +"email organised by moving old and replied-to email out of the way." +msgstr "" +"Można archiwizować wiadomości, jeśli serwer obsługuje tę funkcję. Kliknięcie " +"przycisku Archiwizuj na pasku narzędziowym " +"przenosi wątek z bieżącego katalogu do katalogu Archiwum " +"w większości serwisów pocztowych (katalogu Wszystkie w przypadku " +"serwisu Gmail). Archiwizacja pomaga organizować pocztę przez przenoszenie " +"starych i odpowiedzianych wiadomości z głównego katalogu." #. (itstool) path: page/p -#: C/archive.page:12 +#: C/archive.page:17 msgid "" -"When you use Geary with a Gmail account, Geary lets you archive " -"messages. The Archive toolbar button archives the selected " -"conversation(s). Archived messages appear in the All Mail folder." +"To move conversations to the Trash folder, select them and click " +"the Trash toolbar button. To permanently delete " +"conversations, hold down Shift and click the Delete button that appears in place of the Trash button, " +"or open the conversation in the Trash folder and click Delete there." msgstr "" -"Jeśli używane jest konto serwisu Gmail, to można archiwizować " -"wiadomości. Przycisk Archiwizuj archiwizuje zaznaczone " -"wiadomości. Zarchiwizowane wiadomości są widoczne w katalogu Wszystkie." +"Aby przenieść wątki do katalogu Kosz, zaznacz je i kliknij " +"przycisk Przenieś do kosza na pasku " +"narzędziowym. Aby trwale usunąć wątki, przytrzymaj klawisz Shift " +"i kliknij przycisk Usuń, który pojawi się " +"zamiast przycisku Przenieś do kosza lub otwórz wątek w katalogu " +"Kosz i kliknij przycisk Usuń." + +#. (itstool) path: note/title +#: C/archive.page:26 +msgid "Undoing changes" +msgstr "Cofanie zmian" + +#. (itstool) path: note/p +#: C/archive.page:27 +msgid "" +"Note that you can always undo archiving or trashing a message if you change " +"your mind. Click Undo on the pop-up notification " +"that appears, or type CtrlZ, or open " +"the folder, find the message, then move it back to your Inbox" +msgstr "" +"Zauważ, że zawsze można cofnąć archiwizację lub przeniesienie wiadomości do " +"kosza. Kliknij przycisk Cofnij na wyskakującym " +"powiadomieniu, naciśnij klawisze CtrlZ lub otwórz katalog, znajdź wiadomość, a następnie przenieś ją " +"z powrotem do katalogu Odebrane." #. (itstool) path: page/p -#: C/archive.page:16 +#: C/archive.page:34 msgid "" -"With other mail servers, you can trash or delete, but not archive, messages. " -"To move one or more conversations to the Trash folder, select " -"them and press the Trash button on the toolbar. To permanently " -"delete the conversations, hold down Shift and press the " -"Delete button that appears in place of the Trash " -"button." +"While both Archive and Trash removes conversations from your Inbox folder, " +"there is an important difference. Clicking Archive will ensure your conversations are kept so you can find them again " +"later. Clicking Trash will cause conversations " +"to be hidden from , and they will likely be deleted " +"in the future." msgstr "" -"Za pomocą innych serwerów poczty można przenosić wiadomości do kosza i je " -"usuwać, ale nie można ich archiwizować. Aby przenieść wątki to katalogu " -"Kosz, najpierw je zaznacz, a następnie kliknij przycisk " -"Kosz na pasku narzędziowym. Aby trwale usunąć wątki, przytrzymaj " -"klawisz Shift i kliknij przycisk Usuń, który pojawi " -"się zamiast przycisku Kosz." - -#. (itstool) path: page/p -#: C/archive.page:21 -msgid "" -"Delete is not available from every folder, such as Search. Delete is also " -"unavailable for Gmail. For Gmail, Trash will move messages to the " -"Trash folder on the server, where the user can then manually delete them. " -"The server will automatically remove trashed messages after 30 days." -msgstr "" -"Usuwanie nie jest dostępne w każdym katalogu (np. Wyszukiwanie). Nie można " -"też usuwać w serwisie Gmail: przycisk Kosz przenosi wiadomości do " -"katalogu Kosz na serwerze, gdzie użytkownik może je usuwać. Serwer " -"automatycznie usuwa wiadomości z kosza po 30 dniach." +"Chociaż zarówno Archiwizuj, jak i Przenieś do kosza usuwa wątki z katalogu Odebrane, jest między nimi ważna różnica. Kliknięcie przycisku Archiwizuj zapewni, że wątki są zachowane, aby można je " +"było z powrotem odnaleźć później. Kliknięcie przycisku Przenieś do kosza spowoduje ukrycie wątków z funkcji , i prawdopodobnie w przyszłości zostaną usunięte." #. (itstool) path: page/title #: C/bugs.page:10 @@ -736,14 +765,15 @@ msgstr "Preferencje" #. (itstool) path: page/p #: C/preferences.page:12 msgid "" -"Geary allows you to customise how it works via its Preferences " -"window. To open the window, select Preferences from the " -"application menu on the main window's toolbar. You can change the following " -"options:" +"Geary allows you to customise how it works via its Preferences window. To open the window, select Preferences from the application menu on the main window's toolbar. " +"You can change the following options:" msgstr "" -"Można dostosować działanie programu w jego oknie Preferencji. Aby " -"je otworzyć, wybierz Preferencje z menu programu na pasku " -"narzędziowym głównego okna. Opcje, które można zmienić:" +"Można dostosować działanie programu w jego oknie Preferencji. Aby je otworzyć, wybierz Preferencje z menu programu na pasku narzędziowym głównego okna. " +"Opcje, które można zmienić:" #. (itstool) path: item/title #: C/preferences.page:19 @@ -793,11 +823,27 @@ msgstr "" #. (itstool) path: item/title #: C/preferences.page:38 +msgid "Use single key email shortcuts" +msgstr "Skróty jednoklawiszowe" + +#. (itstool) path: item/p +#: C/preferences.page:39 +msgid "" +"Enable keyboard shortcuts for email actions that do not require pressing " +"Ctrl. These match the shortcuts used by GMail. See for details." +msgstr "" +"Włącza skróty klawiszowe do działań na wiadomościach, które nie wymagają " +"naciśnięcia klawisza Ctrl. Są one takie same, jak skróty " +"w serwisie Gmail. zawiera więcej informacji." + +#. (itstool) path: item/title +#: C/preferences.page:44 msgid "Watch for new mail when closed" msgstr "Monitorowanie nowych wiadomości po zamknięciu" #. (itstool) path: item/p -#: C/preferences.page:39 +#: C/preferences.page:45 msgid "" "Geary will watch your accounts for new mail even when the main window is not " "open. To do this, it will silently start when you log in to your computer, " @@ -984,21 +1030,21 @@ msgstr "" msgid "Keyboard shortcuts" msgstr "Skróty klawiszowe" -#. (itstool) path: page/p -#: C/shortcuts.page:12 +#. (itstool) path: section/p +#: C/shortcuts.page:13 msgid "" "Geary has keyboard shortcuts for most common operations. Use the built-in " -"keyboard shortcuts help in Geary to discover the full list. This can be " -"accessed via the application menu: GearyKeyboard " -"Shortcuts or using the keyboard shortcuts listed below." +"help to discover the full list. To open the shortcuts help, select Keyboard Shortcuts from the application menu on the " +"main window's toolbar, or using the keyboard shortcuts listed below." msgstr "" "Dostępne są skróty klawiszowe dla najczęściej wykonywanych działań. " -"Wbudowana pomoc skrótów klawiszowych zawiera pełną listę. Można ją otworzyć " -"przez menu programu: GearySkróty klawiszowe lub za pomocą poniższych skrótów." +"Wbudowana pomoc zawiera ich pełną listę. Aby ją otworzyć, wybierz Skróty klawiszowe z menu programu na pasku narzędziowym " +"głównego okna lub użyj poniższych skrótów." -#. (itstool) path: page/p -#: C/shortcuts.page:18 +#. (itstool) path: section/p +#: C/shortcuts.page:19 msgid "" "The following keyboard shortcuts can be used to access on-line help from " "Geary:" @@ -1007,28 +1053,49 @@ msgstr "" "Geary:" #. (itstool) path: td/p -#: C/shortcuts.page:22 -msgid "Display this User Manual" -msgstr "Wyświetlenie tego podręcznika użytkownika" +#: C/shortcuts.page:23 +msgid "Display this online help manual" +msgstr "Wyświetlenie tego podręcznika użytkownika online" #. (itstool) path: td/p -#: C/shortcuts.page:23 +#: C/shortcuts.page:24 msgid "F1" msgstr "F1" #. (itstool) path: td/p -#: C/shortcuts.page:26 +#: C/shortcuts.page:27 msgid "Display all keyboard shortcuts" msgstr "Wyświetlenie wszystkich skrótów klawiszowych" #. (itstool) path: td/p -#: C/shortcuts.page:27 +#: C/shortcuts.page:28 +msgid "Ctrl?" +msgstr "Ctrl?" + +#. (itstool) path: section/title +#: C/shortcuts.page:36 +msgid "Single key shortcuts" +msgstr "Skróty jednoklawiszowe" + +#. (itstool) path: section/p +#: C/shortcuts.page:38 msgid "" -"Ctrl? or CtrlF1" +"You can enable keyboard shortcuts for email actions that do not require " +"pressing Ctrl. These match the shortcuts used by GMail. See for details." msgstr "" -"Ctrl? lub CtrlF1" +"Można włączyć skróty klawiszowe do działań na wiadomościach, które nie " +"wymagają naciśnięcia klawisza Ctrl. Są one takie same, jak skróty " +"w serwisie Gmail. zawiera więcej informacji." + +#. (itstool) path: section/p +#: C/shortcuts.page:42 +msgid "" +"The full list of single key shortcuts enabled by this preference can be " +"found via the keyboard shortcuts help, above." +msgstr "" +"W powyższej pomocy skrótów klawiszowych można znaleźć pełną listę " +"jednoklawiszowych skrótów włączanych przez tę preferencję." #. (itstool) path: page/title #: C/star.page:10 @@ -1099,90 +1166,179 @@ msgstr "" "jako przeczytane z rozwijanego menu." #. (itstool) path: page/title -#: C/write.page:9 -msgid "Write a message" -msgstr "Pisanie wiadomości" +#: C/write.page:7 +msgid "Writing new email and replying" +msgstr "Pisanie nowych wiadomości i odpowiadanie" #. (itstool) path: section/title -#: C/write.page:12 +#: C/write.page:10 msgid "Composing and replying" msgstr "Tworzenie wiadomości i odpowiadanie" #. (itstool) path: section/p -#: C/write.page:13 +#: C/write.page:12 msgid "" -"To compose a new message in Geary, press the New Message button " -"on the toolbar." +"To start a new email conversation, click the Compose button on the toolbar. Type the email address of the people to receive " +"the message in the To text field, and a subject " +"line in the Subject field. You can then type your " +"message in the text area below these. Once the message is read to send, " +"click Send or type CtrlEnter to send the message." msgstr "" -"Aby napisać nową wiadomość, kliknij przycisk Nowa wiadomość na " -"pasku narzędziowym." +"Aby rozpocząć nowy wątek e-mail, kliknij przycisk Utwórz wiadomość na pasku narzędziowym. Wpisz adres e-mail osób, " +"które mają otrzymać wiadomość w polu Do oraz " +"temat w polu Temat. Następnie można napisać swoją " +"wiadomość w polu tekstowym poniżej. Kiedy wiadomość jest gotowa do wysłania, " +"kliknij przycisk Wyślij lub naciśnij klawisze " +"CtrlEnter, aby ją wysłać." -#. (itstool) path: section/p -#: C/write.page:16 -msgid "" -"To reply to a message, open the message menu in the upper right corner of " -"the message and choose Reply, Reply All or " -"Forward. You can also reply to the last message in a conversation " -"via the Reply, Reply All or Forward buttons " -"on the toolbar." -msgstr "" -"Aby odpowiedzieć na wiadomość, otwórz menu wiadomości w górnym prawym rogu " -"wiadomości i kliknij Odpowiedz, Odpowiedz wszystkim " -"lub Przekaż. Można także odpowiadać na ostatnią wiadomość w wątku " -"za pomocą przycisków Odpowiedz, Odpowiedz wszystkim " -"i Przekaż na pasku narzędziowym." - -#. (itstool) path: section/title -#: C/write.page:21 -msgid "Features" -msgstr "Funkcje" - -#. (itstool) path: section/p +#. (itstool) path: note/title #: C/write.page:23 +msgid "Undoing sending" +msgstr "Cofanie wysyłania" + +#. (itstool) path: note/p +#: C/write.page:24 msgid "" -"Geary's email composer lets you adjust the font, size and color of text. You " -"can also insert hyperlinks into messages." +"When sending an email, Geary will wait 5 seconds before delivering the " +"message. During this time, you will be able to click Undo on the pop-up notification that appears or type " +"CtrlZ to re-open the email, and make " +"more changes to it." msgstr "" -"Okno tworzenia wiadomości umożliwia dostosowanie czcionki, rozmiaru i koloru " -"tekstu. Można także wstawiać odnośniki do wiadomości." +"Przed wysyłaniem wiadomości program poczeka 5 sekund. W tym czasie można " +"kliknąć przycisk Cofnij na wyskakującym " +"powiadomieniu lub nacisnąć klawisze CtrlZ, aby ponownie otworzyć wiadomość i wprowadzić do niej zmiany." #. (itstool) path: section/p -#: C/write.page:25 -msgid "" -"Geary can also send plain text messages. In the drop-down menu, check or " -"uncheck \"Rich Text\" to toggle between plain text and rich text mode." -msgstr "" -"Można także wysyłać wiadomości w zwykłym tekście. Zaznacz lub odznacz „Tekst " -"sformatowany” w rozwijanym menu, aby przełączyć między zwykłym " -"a sformatowanym tekstem." - -#. (itstool) path: section/p -#: C/write.page:28 -msgid "" -"You can attach a file to a message you're writing in either of these ways:" -msgstr "Można dołączyć plik do pisanej wiadomości na trzy różne sposoby:" - -#. (itstool) path: item/p -#: C/write.page:30 -msgid "" -"Press the Attach File button at the lower left of the composer " -"window, then select a file to attach." -msgstr "" -"Kliknij przycisk Załącz plik w dolnym lewym rogu okna tworzenia " -"wiadomości, a następnie wybierz plik do dołączenia." - -#. (itstool) path: item/p #: C/write.page:32 msgid "" -"Drag the file from the Nautilus file manager to the composer window, and " -"drop it either on the text fields at the top of the window or on the toolbar " -"at the bottom." +"When entering an email address in the To and Cc fields, Geary will provide suggestions from your " +"desktop address book and from previously sent and received email messages. " +"To choose one of these suggestions, simply click on it. In addition, Bcc and Reply-to fields can " +"be shown by selecting Show extended fields from " +"the formatting toolbar menu." msgstr "" -"Przeciągnij plik z menedżera plików Nautilus do pól tekstowych na górze okna " -"tworzenia wiadomości lub do paska narzędziowego na dole." +"Podczas wpisywania adresu e-mail w polu DoDo wiadomości będą dostarczane podpowiedzi z książki " +"adresowej użytkownika i z poprzednio wysłanych i otrzymanych wiadomości. Aby " +"wybrać jedną z tych podpowiedzi, kliknij ją. Można także wyświetlić pola " +"Ukryty do wiadomościOdpowiedź do wybierając Rozszerzone pola " +"z menu paska narzędziowego formatowania." #. (itstool) path: section/p -#: C/write.page:36 +#: C/write.page:41 +msgid "" +"To reply to the currently selected conversation, click one of the Reply, Reply All or Forward toolbar buttons. This will open a new reply or " +"forwarded email composer for the latest message in the conversation." +msgstr "" +"Aby odpowiedzieć na obecnie zaznaczony wątek, kliknij przycisk Odpowiedz, Odpowiedz wszystkim " +"lub Przekaż na pasku narzędziowym. Otworzy to " +"okno tworzenia nowej odpowiedzi lub przekazywanej wiadomości dla najnowszej " +"wiadomości w wątku." + +#. (itstool) path: section/p +#: C/write.page:47 +msgid "" +"When replying, the message being replied to will be quoted and copied into " +"the footer of the new reply. This can be deleted before typing a reply by " +"pressing Backspace. Alternatively, text can be selectively quoted " +"by selecting the desired text in a message and clicking Reply or Reply All, only the selected " +"text will be quoted." +msgstr "" +"Podczas odpowiadania oryginalna wiadomość będzie cytowana i skopiowana do " +"stopki nowej odpowiedzi. Można ją usunąć przed napisaniem odpowiedzi " +"naciskając klawisz Backspace. Można także wybiórczo zacytować " +"tekst zaznaczając wybraną jego część w wiadomości i klikając przycisk Odpowiedz lub Odpowiedz " +"wszystkim." + +#. (itstool) path: section/p +#: C/write.page:55 +msgid "" +"To reply to a specific email message, open the message menu in the top " +"corner of the message and choose Reply, Reply All or " +"Forward." +msgstr "" +"Aby odpowiedzieć na konkretną wiadomość, otwórz menu wiadomości w górnym " +"rogu wiadomości i kliknij Odpowiedz, Odpowiedz wszystkim lub Przekaż." + +#. (itstool) path: section/title +#: C/write.page:61 +msgid "Text formatting, images and attachments" +msgstr "Formatowanie tekstu, obrazy i załączniki" + +#. (itstool) path: section/p +#: C/write.page:63 +msgid "" +"Geary's email composer lets you use text styles such as bold and " +"italic, indent text to quote it and links to web pages. Simply " +"select the text and click the appropriate button on the formatting toolbar." +msgstr "" +"Okno tworzenia wiadomości umożliwia formatowanie tekstu, np. pogrubienie " +"go czy pochylenie, tworzenie wcięć, aby cytować i wstawianie " +"odnośników do stron internetowych. Zaznacz tekst i kliknij odpowiedni " +"przycisk na pasku narzędziowym formatowania." + +#. (itstool) path: section/p +#: C/write.page:68 +msgid "" +"Bulleted and numbered lists can be inserted or removed by clicking the Bulleted list and Numbered " +"list buttons on the formatting toolbar. The level of indentation of " +"list items can be adjusted using the Indent and " +"Un-indent formatting toolbar buttons." +msgstr "" +"Można wstawiać wypunktowane i numerowane listy klikając przycisk Lista wypunktowana lub Lista " +"numerowana na pasku narzędziowym formatowania. Można dostosowywać " +"poziom wcięć elementów listy za pomocą przycisków Dodaj wcięcieUsuń wcięcie." + +#. (itstool) path: section/p +#: C/write.page:75 +msgid "" +"Images can be inserted into rich text messages by clicking the Insert Image button on the formatting toolbar and selecting " +"the image to attach, by dragging an image from the Files " +"application into the email body and then dropping it, or by pasting an image " +"that has been copied to the clipboard from another application." +msgstr "" +"Można wstawiać obrazy do wiadomości z tekstem sformatowanym klikając " +"przycisk Wstaw obraz na pasku narzędziowym " +"formatowania i wybierając obraz do załączenia przeciągając go z programu " +"Pliki do treści wiadomości lub wklejając obraz skopiowany do " +"schowka z innego programu." + +#. (itstool) path: section/p +#: C/write.page:82 +msgid "" +"Documents, music, videos, and other files can be attached to the email by " +"clicking the Attach File button at the top of " +"the composer window and selecting the document to attach, or by dragging a " +"file from the Files application to the composer window, and " +"dropping it either on the text fields at the top of the window or on the " +"toolbar at the bottom." +msgstr "" +"Dokumenty, pliki dźwiękowe, wideo i inne mogą być załączane do wiadomości " +"klikając przycisk Załącz plik na górze okna " +"tworzenia wiadomości i wybierając dokument do załączenia przeciągając go " +"z programu Pliki do okna tworzenia wiadomości w polu tekstowym na " +"górze okna lub na pasku narzędziowym na dole." + +#. (itstool) path: section/p +#: C/write.page:90 msgid "" "A number of keyboard shortcuts are available in the composer; see for details." @@ -1191,41 +1347,129 @@ msgstr "" "\"shortcuts\"/> zawiera więcej informacji." #. (itstool) path: section/p -#: C/write.page:38 +#: C/write.page:93 msgid "" -"You may specify a signature to be inserted into the composer in the dialog." +"You may specify a signature to be inserted into the footer of email in the " +"composer via the dialog." msgstr "" -"Można określić podpis do wstawiania do okna tworzenia wiadomości w oknie " -"." +"Można określić podpis do wstawiania do stopki wiadomości w oknie tworzenia " +"wiadomości w oknie ." #. (itstool) path: section/title -#: C/write.page:43 -msgid "Drafts" -msgstr "Szkice" +#: C/write.page:98 +msgid "Checking spelling" +msgstr "Sprawdzanie pisowni" #. (itstool) path: section/p -#: C/write.page:45 +#: C/write.page:100 +msgid "" +"Geary supports spell-checking your composed email in one or more languages, " +"as you type. To enable spell-checking, first ensure your computer has spell-" +"check dictionaries installed for the desired languages. Consult your " +"computer's help to determine how to install dictionaries if not present." +msgstr "" +"Obsługiwane jest sprawdzanie pisowni tworzonej wiadomości w jednym lub " +"więcej języków podczas jej pisania. Aby włączyć tę funkcję, najpierw upewnij " +"się, że komputer ma zainstalowane słowniki dla wybranych języków. Jeśli ich " +"nie ma, znajdź instrukcję ich instalacji w pomocy komputera." + +#. (itstool) path: section/p +#: C/write.page:106 +msgid "" +"To select languages for spell-checking, click the Spell check button on the formatting toolbar, and the language " +"selection popover will appear. Click on a language in the list to toggle it " +"on or off, and click the - button to remove it " +"from the list. If a language does not appear in the list, search for it by " +"typing its name in the search box, then click the + button to add it." +msgstr "" +"Aby wybrać języki do sprawdzania pisowni, kliknij przycisk Sprawdzanie pisowni na pasku narzędziowym formatowania, " +"a pojawi się okno wyboru języka. Kliknij język na liście, aby go włączyć lub " +"wyłączyć lub przycisk -, aby usunąć go z listy. " +"Jeśli języka nie ma na liście, znajdź go wpisując jego nazwę w polu " +"wyszukiwania, a następnie kliknij przycisk +, " +"aby go dodać." + +#. (itstool) path: section/title +#: C/write.page:117 +msgid "Saving drafts and restoring discarded messages" +msgstr "Zapisywanie szkiców i przywracanie odrzuconych wiadomości" + +#. (itstool) path: section/p +#: C/write.page:119 msgid "" "For mail servers that support drafts, Geary will automatically save the " -"message as you type. If you close the composer without sending, Geary will " -"prompt you to keep the draft or to discard it." +"message as you type on the server after a short delay." msgstr "" "W przypadku serwerów pocztowych obsługujących szkice wiadomość jest " -"automatycznie zapisywana w trakcie jej pisania. Jeśli okno tworzenia " -"wiadomości jest zamykane bez wysłania, zostanie wyświetlone pytanie, czy " -"zachować lub odrzucić szkic." +"automatycznie zapisywana w trakcie jej pisania po krótkim opóźnieniu." #. (itstool) path: section/p -#: C/write.page:48 +#: C/write.page:123 msgid "" -"To edit an existing draft, select the Drafts folder in the folder list, " -"select the message, and click \"Edit Draft\" in the message viewer." +"To edit an existing draft, select the Drafts folder in the folder " +"list, select the message, and click \"Edit Draft\" in the conversation " +"viewer." msgstr "" -"Aby zmodyfikować istniejący szkic, wybierz katalog Szkice z listy katalogów, " -"wybierz wiadomość i kliknij „Modyfikuj szkic” w przeglądarce wiadomości." +"Aby zmodyfikować istniejący szkic, wybierz katalog Szkice z listy " +"katalogów, wybierz wiadomość i kliknij „Modyfikuj szkic” w przeglądarce " +"wątków." #. (itstool) path: section/p -#: C/write.page:51 -msgid "Geary deletes the draft when you send the message." -msgstr "Szkic jest usuwany po wysłaniu wiadomości." +#: C/write.page:127 +msgid "Geary will delete the draft when you send the message." +msgstr "Szkic zostanie usunięty po wysłaniu wiadomości." + +#. (itstool) path: note/p +#: C/write.page:130 +msgid "" +"If you save or discard a composed email, you can re-open it by clicking Undo on the pop-up notification that appears or by " +"typing CtrlZ. The ability to restore " +"a saved or discarded composer will be remain for up to 30 minutes. After " +"that you will need to re-open the message via the Drafts folder, " +"if present." +msgstr "" +"Po zapisaniu lub odrzuceniu tworzonej wiadomości można otworzyć ją ponownie " +"klikając przycisk Cofnij na wyskakującym " +"powiadomieniu lub naciskając klawisze CtrlZ. Przywrócenie zapisanej lub odrzuconej wiadomości może być możliwe " +"do 30 minut. Po tym czasie trzeba będzie ponownie otworzyć wiadomość za " +"pomocą katalogu Szkice, jeśli się tam znajduje." + +#. (itstool) path: section/title +#: C/write.page:141 +msgid "Plain text messages" +msgstr "Wiadomości w zwykłym tekście" + +#. (itstool) path: section/p +#: C/write.page:143 +msgid "" +"Geary can also send plain text messages. In the drop-down menu, check or " +"uncheck Rich Text to toggle between plain text and " +"rich text mode. Plain text mode is useful when sending email to mailing " +"lists that prohibit rich text (HTML) messages, or when sending email to " +"people that do no use modern clients like Geary." +msgstr "" +"Można także wysyłać wiadomości w zwykłym tekście. W rozwijanym menu zaznacz " +"lub odznacz opcję Tekst sformatowany, aby " +"przełączyć między trybem zwykłego tekstu a trybem tekstu sformatowanego. " +"Tryb zwykłego tekstu jest przydatny podczas wysyłania wiadomości na listy " +"dyskusyjne zabraniające wiadomości z tekstem sformatowanym (HTML) lub " +"podczas wysyłania wiadomości do osób, które nie korzystają z nowoczesnego " +"klienta poczty, takiego jak Geary." + +#. (itstool) path: section/p +#: C/write.page:150 +msgid "" +"In plain text mode, text will be automatically wrapped using soft line " +"breaks so that it is no longer than 74 characters wide, and indented text " +"will be wrapped and quoted using a “>” character for each level of " +"quoting." +msgstr "" +"W trybie zwykłego tekstu tekst będzie automatycznie zawijany za pomocą " +"miękkich podziałów wiersza, aby nie był on szerszy niż 74 znaki, a wcięty " +"tekst będzie zawijany i cytowany za pomocą znaku „>” dla każdego poziomu " +"cytowania." diff --git a/meson.build b/meson.build index 62f092a6..c8e0c277 100644 --- a/meson.build +++ b/meson.build @@ -57,7 +57,7 @@ target_webkit = '2.24' # Primary deps glib = dependency('glib-2.0', version: '>=' + target_glib) -gmime = dependency('gmime-2.6', version: '>= 2.6.17') +gmime = dependency('gmime-3.0', version: '>= 3.2.4') gtk = dependency('gtk+-3.0', version: '>=' + target_gtk) sqlite = dependency('sqlite3', version: '>= 3.24') webkit2gtk = dependency('webkit2gtk-4.0', version: '>=' + target_webkit) diff --git a/org.gnome.Geary.json b/org.gnome.Geary.json index 9c604fff..be08b087 100644 --- a/org.gnome.Geary.json +++ b/org.gnome.Geary.json @@ -167,8 +167,7 @@ "sources": [ { "type": "git", - "url": "https://github.com/jstedfast/gmime.git", - "branch": "gmime-2-6" + "url": "https://github.com/jstedfast/gmime.git" } ] }, diff --git a/org.gnome.Geary.yml b/org.gnome.Geary.yml index ce1c74d7..b8bb7336 100644 --- a/org.gnome.Geary.yml +++ b/org.gnome.Geary.yml @@ -175,7 +175,6 @@ modules: sources: - type: git url: https://github.com/jstedfast/gmime.git - branch: gmime-2-6 # Geary dependency - name: libhandy diff --git a/po/ca.po b/po/ca.po index 6e32e547..1d3378fa 100644 --- a/po/ca.po +++ b/po/ca.po @@ -61,7 +61,7 @@ msgstr "Email;Correu electrònic;Correu;" #. Translators: The development team's name #: desktop/org.gnome.Geary.appdata.xml.in:13 msgid "Geary Development Team" -msgstr "Geary Development Team" +msgstr "Equip de desenvolupament del Geary" #: desktop/org.gnome.Geary.appdata.xml.in:17 msgid "" @@ -306,13 +306,13 @@ msgstr "El darrer registre de la mida de la finestra separada de l'editor." #: desktop/org.gnome.Geary.gschema.xml:128 msgid "Whether we migrated the old settings" -msgstr "Si hem d'emigrar els paràmetres antics" +msgstr "Si hem de migrar els paràmetres antics" #: desktop/org.gnome.Geary.gschema.xml:129 msgid "" "False to check for the old “org.yorba.geary”-schema and copy its values." msgstr "" -"Fals per comprovar l’antic «org.yorba.geary» -schema i copiar els seus " +"Fals per comprovar l'antic «org.yorba.geary» -schema i copiar els seus " "valors." #. Translators: In-app notification label, when @@ -2371,8 +2371,8 @@ msgid "" "Removing an account will remove it from Geary and delete locally cached " "email data from your computer, but not from your service provider." msgstr "" -"L’eliminació d’un compte l’eliminarà del Geary i esborrarà les dades del " -"correu a la memòria cau local de l’ordinador, però no del proveïdor de " +"L'eliminació d’un compte l'eliminarà del Geary i esborrarà les dades del " +"correu a la memòria cau local de l'ordinador, però no del proveïdor de " "serveis." #: ui/accounts_editor_remove_pane.ui:122 @@ -2778,7 +2778,7 @@ msgstr "Però en realitat va a:" #: ui/conversation-message.ui:723 msgid "The link appears to go to:" -msgstr "L'enllaç apareix en anar a:" +msgstr "L'enllaç sembla anar a:" #: ui/conversation-message.ui:735 msgid "Deceptive link found" diff --git a/po/es.po b/po/es.po index d7bf3f1e..1df5927c 100644 --- a/po/es.po +++ b/po/es.po @@ -12,14 +12,14 @@ # Rodrigo Cares , 2012-2013 # Carlos Córdova , 2017. # Rodrigo Lledó , 2019. -# Daniel Mustieles , 2014-2019. +# Daniel Mustieles , 2014-2020. # msgid "" msgstr "" "Project-Id-Version: geary-0.4.1\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/geary/issues\n" -"POT-Creation-Date: 2019-11-20 23:26+0000\n" -"PO-Revision-Date: 2019-11-21 11:54+0100\n" +"POT-Creation-Date: 2020-01-08 10:10+0000\n" +"PO-Revision-Date: 2020-01-08 12:22+0100\n" "Last-Translator: Daniel Mustieles \n" "Language-Team: Spanish - Spain \n" "Language: es_ES\n" @@ -224,8 +224,6 @@ msgid "True if we should display a short preview of each message." msgstr "Cierto si se debe mostrar una breve vista previa de cada mensaje." #: desktop/org.gnome.Geary.gschema.xml:68 -#| msgctxt "shortcut window" -#| msgid "Single-key shortcuts" msgid "Use single key shortcuts" msgstr "Usar atajos de una sola tecla" @@ -607,12 +605,12 @@ msgstr[0] "hace %d día" msgstr[1] "hace %d días" #: src/client/accounts/accounts-editor-list-pane.vala:248 -#: src/client/application/application-main-window.vala:2021 +#: src/client/application/application-main-window.vala:2037 msgid "Undo" msgstr "Deshacer" #: src/client/accounts/accounts-editor-list-pane.vala:257 -#: src/client/application/application-main-window.vala:2011 +#: src/client/application/application-main-window.vala:2027 msgid "Redo" msgstr "Rehacer" @@ -965,37 +963,37 @@ msgstr "" #. / Warning printed to the console when a deprecated #. / command line option is used. -#: src/client/application/application-client.vala:913 +#: src/client/application/application-client.vala:938 msgid "The `--hidden` option is deprecated and will be removed in the future." msgstr "La opción «--hidden» está obsoleta y se eliminará en el futuro." #. / Command line warning, string substitution #. / is the given argument -#: src/client/application/application-client.vala:946 +#: src/client/application/application-client.vala:971 #, c-format msgid "Unrecognised program argument: “%s”" msgstr "Opción de la línea de comandos no reconocida: «%s»" #. / Notification title. -#: src/client/application/application-controller.vala:477 +#: src/client/application/application-controller.vala:457 #, c-format msgid "A problem occurred sending email for %s" msgstr "Ha ocurrido un error al enviar el correo para %s" #. / Notification body -#: src/client/application/application-controller.vala:481 +#: src/client/application/application-controller.vala:461 msgid "Email will not be sent until re-connected" msgstr "El correo no se enviará hasta que se vuelva a conectar" #. / Translators: Label for in-app notification -#: src/client/application/application-controller.vala:587 +#: src/client/application/application-controller.vala:567 msgid "Conversation marked" msgid_plural "Conversations marked" msgstr[0] "Conversación marcada" msgstr[1] "Conversaciones marcadas" #. / Translators: Label for in-app notification -#: src/client/application/application-controller.vala:593 +#: src/client/application/application-controller.vala:573 msgid "Conversation un-marked" msgid_plural "Conversations un-marked" msgstr[0] "Conversación desmarcada" @@ -1004,8 +1002,8 @@ msgstr[1] "Conversaciones desmarcadas" #. / Translators: Label for in-app #. / notification. String substitution is the name #. / of the destination folder. -#: src/client/application/application-controller.vala:619 -#: src/client/application/application-controller.vala:703 +#: src/client/application/application-controller.vala:599 +#: src/client/application/application-controller.vala:683 #, c-format msgid "Conversation moved to %s" msgid_plural "Conversations moved to %s" @@ -1017,8 +1015,8 @@ msgstr[1] "Conversaciones movidas a %s" #. / of the source folder. #. / Translators: Label for in-app notification. String #. / substitution is the name of the destination folder. -#: src/client/application/application-controller.vala:627 -#: src/client/application/application-controller.vala:649 +#: src/client/application/application-controller.vala:607 +#: src/client/application/application-controller.vala:629 #, c-format msgid "Conversation restored to %s" msgid_plural "Conversations restored to %s" @@ -1026,7 +1024,7 @@ msgstr[0] "Conversación restaurada a %s" msgstr[1] "Conversaciones restauradas a %s" #. / Translators: Label for in-app notification. -#: src/client/application/application-controller.vala:670 +#: src/client/application/application-controller.vala:650 msgid "Conversation archived" msgid_plural "Conversations archived" msgstr[0] "Conversación archivada" @@ -1034,7 +1032,7 @@ msgstr[1] "Conversaciones archivadas" #. / Translators: Label for in-app notification. String #. / substitution is the name of the destination folder. -#: src/client/application/application-controller.vala:726 +#: src/client/application/application-controller.vala:706 #, c-format msgid "Message restored to %s" msgid_plural "Messages restored to %s" @@ -1042,7 +1040,7 @@ msgstr[0] "Mensaje restaurado a %s" msgstr[1] "Mensajes restaurados a %s" #. / Translators: Label for in-app notification. -#: src/client/application/application-controller.vala:747 +#: src/client/application/application-controller.vala:727 msgid "Message archived" msgid_plural "Messages archived" msgstr[0] "Mensaje archivado" @@ -1051,7 +1049,7 @@ msgstr[1] "Mensajes archivados" #. / Translators: Label for in-app #. / notification. String substitution is the name #. / of the destination folder. -#: src/client/application/application-controller.vala:782 +#: src/client/application/application-controller.vala:762 #, c-format msgid "Message moved to %s" msgid_plural "Messages moved to %s" @@ -1061,7 +1059,7 @@ msgstr[1] "Mensajes movidos a %s" #. / Translators: Label for in-app #. / notification. String substitution is the name #. / of the destination folder. -#: src/client/application/application-controller.vala:810 +#: src/client/application/application-controller.vala:790 #, c-format msgid "Conversation labelled as %s" msgid_plural "Conversations labelled as %s" @@ -1071,19 +1069,19 @@ msgstr[1] "Conversaciones etiquetadas como %s" #. / Translators: Label for in-app #. / notification. String substitution is the name #. / of the destination folder. -#: src/client/application/application-controller.vala:818 +#: src/client/application/application-controller.vala:798 #, c-format msgid "Conversation un-labelled as %s" msgid_plural "Conversations un-labelled as %s" msgstr[0] "Conversación desetiquetada como %s" msgstr[1] "Conversaciones desetiquetadas como %s" -#: src/client/application/application-controller.vala:1238 +#: src/client/application/application-controller.vala:1221 #, c-format msgid "Unable to open the database for %s" msgstr "No se pudo abrir la base de datos local para %s" -#: src/client/application/application-controller.vala:1239 +#: src/client/application/application-controller.vala:1222 #, c-format msgid "" "There was an error opening the local mail database for this account. This is " @@ -1108,20 +1106,20 @@ msgstr "" "Reconstruir la base de datos destruirá todo el correo guardado de forma " "local y sus adjuntos. El correo del servidor permanecerá intacto." -#: src/client/application/application-controller.vala:1241 +#: src/client/application/application-controller.vala:1224 msgid "_Rebuild" msgstr "_Reconstruir" -#: src/client/application/application-controller.vala:1241 +#: src/client/application/application-controller.vala:1224 msgid "E_xit" msgstr "_Salir" -#: src/client/application/application-controller.vala:1251 +#: src/client/application/application-controller.vala:1234 #, c-format msgid "Unable to rebuild database for “%s”" msgstr "No se puede reconstruir la base de datos para «%s»" -#: src/client/application/application-controller.vala:1252 +#: src/client/application/application-controller.vala:1235 #, c-format msgid "" "Error during rebuild:\n" @@ -1134,34 +1132,34 @@ msgstr "" #. / Translators: The label for an in-app notification. The #. / string substitution is a list of recipients of the email. -#: src/client/application/application-controller.vala:1575 +#: src/client/application/application-controller.vala:1558 #, c-format msgid "Email sent to %s" msgstr "Correo enviado a %s" #. / Translators: The label for an in-app notification. The #. / string substitution is a list of recipients of the email. -#: src/client/application/application-controller.vala:2648 +#: src/client/application/application-controller.vala:2636 #, c-format msgid "Email to %s queued for delivery" msgstr "Correo a %s encolado para su entrega" #. / Translators: The label for an in-app notification. The #. / string substitution is a list of recipients of the email. -#: src/client/application/application-controller.vala:2713 +#: src/client/application/application-controller.vala:2701 #, c-format msgid "Email to %s saved" msgstr "Correo a %s guardado" #. / Translators: A label for an in-app notification. -#: src/client/application/application-controller.vala:2728 -#: src/client/application/application-controller.vala:2786 +#: src/client/application/application-controller.vala:2716 +#: src/client/application/application-controller.vala:2774 msgid "Composer could not be restored" msgstr "No se pudo restaurar el editor" #. / Translators: The label for an in-app notification. The #. / string substitution is a list of recipients of the email. -#: src/client/application/application-controller.vala:2771 +#: src/client/application/application-controller.vala:2759 #, c-format msgid "Email to %s discarded" msgstr "Correo a %s descartado" @@ -1174,49 +1172,49 @@ msgstr "Correo a %s descartado" msgid "%s — %s" msgstr "%s — %s" -#: src/client/application/application-main-window.vala:949 +#: src/client/application/application-main-window.vala:961 msgid "Labels" msgstr "Etiquetas" #. / Translators: Primary text for a confirmation dialog -#: src/client/application/application-main-window.vala:1281 +#: src/client/application/application-main-window.vala:1297 msgid "Do you want to permanently delete this conversation?" msgid_plural "Do you want to permanently delete these conversations?" msgstr[0] "¿Quiere eliminar permanentemente esta conversación?" msgstr[1] "¿Quiere eliminar permanentemente estas conversaciones?" -#: src/client/application/application-main-window.vala:1286 -#: src/client/application/application-main-window.vala:1301 +#: src/client/application/application-main-window.vala:1302 +#: src/client/application/application-main-window.vala:1317 msgid "Delete" msgstr "Eliminar" #. / Translators: Primary text for a confirmation dialog -#: src/client/application/application-main-window.vala:1296 +#: src/client/application/application-main-window.vala:1312 msgid "Do you want to permanently delete this message?" msgid_plural "Do you want to permanently delete these messages?" msgstr[0] "¿Quiere eliminar permanentemente este mensaje?" msgstr[1] "¿Quiere eliminar permanentemente estos mensajes?" -#: src/client/application/application-main-window.vala:1309 +#: src/client/application/application-main-window.vala:1325 #, c-format msgid "Empty all email from your %s folder?" msgstr "¿Quiere eliminar todos los mensajes de la carpeta «%s»?" -#: src/client/application/application-main-window.vala:1312 +#: src/client/application/application-main-window.vala:1328 msgid "This removes the email from Geary and your email server." msgstr "" "Esto eliminará el mensaje de Geary y del servidor de correo electrónico." -#: src/client/application/application-main-window.vala:1313 +#: src/client/application/application-main-window.vala:1329 msgid "This cannot be undone." msgstr "Esto no se puede deshacer." -#: src/client/application/application-main-window.vala:1314 +#: src/client/application/application-main-window.vala:1330 #, c-format msgid "Empty %s" msgstr "Vaciar %s" -#: src/client/application/application-main-window.vala:1644 +#: src/client/application/application-main-window.vala:1660 #, c-format msgid "%s (%d)" msgstr "%s (%d)" @@ -1227,7 +1225,7 @@ msgstr "%s (%d)" #. Document (100.9MB) #. / In the composer, the filename followed by its filesize, i.e. "notes.txt (1.12KB)" #: src/client/components/components-attachment-pane.vala:107 -#: src/client/composer/composer-widget.vala:1796 +#: src/client/composer/composer-widget.vala:1816 #, c-format msgid "%s (%s)" msgstr "%s (%s)" @@ -1255,7 +1253,7 @@ msgstr "Inspector" #. / Translators: Title for Inspector logs pane #. / Translators: Title for problem report dialog logs pane #: src/client/components/components-inspector.vala:87 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:101 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:102 msgid "Logs" msgstr "Registros" @@ -1263,21 +1261,21 @@ msgstr "Registros" #. / Translators: Title for problem report system information #. / pane #: src/client/components/components-inspector.vala:91 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:104 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:105 msgid "System" msgstr "Sistema" #. Button label for saving problem report information #: src/client/components/components-inspector.vala:208 #: src/client/components/components-inspector.vala:211 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:220 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:223 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:221 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:224 #: ui/problem-details-dialog.ui:42 msgid "Save As" msgstr "Guardar como" #: src/client/components/components-inspector.vala:212 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:224 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:225 #: ui/accounts_editor_servers_pane.ui:17 msgid "Cancel" msgstr "Cancelar" @@ -1299,8 +1297,6 @@ msgstr "Usar vista de _tres paneles" #. / Translators: Preferences label #: src/client/components/components-preferences-window.vala:73 -#| msgctxt "shortcut window" -#| msgid "Single-key shortcuts" msgid "Use _single key email shortcuts" msgstr "Usar atajo_s de correo de una sola tecla" @@ -1322,6 +1318,26 @@ msgstr "_Revisar si hay mensajes nuevos al cerrar" msgid "Geary will keep running after all windows are closed" msgstr "Geary seguirá en ejecución después de haber cerrado todas la ventanas" +#. / Translators: Search entry placeholder text +#: src/client/components/components-search-bar.vala:12 +#: src/client/folder-list/folder-list-search-branch.vala:53 +#: src/engine/api/geary-special-folder-type.vala:51 +msgid "Search" +msgstr "Buscar" + +#. / Translators: Search entry tooltip +#: src/client/components/components-search-bar.vala:32 +msgid "Search all mail in account for keywords" +msgstr "Buscar palabras clave en todo el correo de la cuenta" + +#. / Translators: Search entry placeholder, string +#. / replacement is the name of an account +#: src/client/components/components-search-bar.vala:81 +#: src/client/folder-list/folder-list-search-branch.vala:54 +#, c-format +msgid "Search %s account" +msgstr "Buscar la cuenta %s" + #. Translators: Tooltip used when an entry requires a valid #. email address to be entered, but one is not provided. #: src/client/components/components-validator.vala:390 @@ -1453,28 +1469,6 @@ msgstr "Ver detalles técnicos sobre el error" msgid "_Retry" msgstr "_Reintentar" -#: src/client/components/search-bar.vala:8 -#: src/client/folder-list/folder-list-search-branch.vala:53 -#: src/engine/api/geary-special-folder-type.vala:51 -msgid "Search" -msgstr "Buscar" - -#. Search entry. -#: src/client/components/search-bar.vala:24 -msgid "Search all mail in account for keywords (Ctrl+S)" -msgstr "Buscar palabras en todo el correo de la cuenta (Ctrl+S)" - -#: src/client/components/search-bar.vala:88 -#, c-format -msgid "Indexing %s account" -msgstr "Indexando la cuenta %s" - -#: src/client/components/search-bar.vala:119 -#: src/client/folder-list/folder-list-search-branch.vala:54 -#, c-format -msgid "Search %s account" -msgstr "Buscar la cuenta %s" - #. / Displayed in the space-limited status bar while a message is in the process of being sent. #: src/client/components/status-bar.vala:26 msgid "Sending…" @@ -1566,19 +1560,19 @@ msgstr "Dirección correo-e no válida" msgid "New Message" msgstr "Mensaje nuevo" -#: src/client/composer/composer-widget.vala:211 +#: src/client/composer/composer-widget.vala:210 msgid "Saved" msgstr "Guardado" -#: src/client/composer/composer-widget.vala:212 +#: src/client/composer/composer-widget.vala:211 msgid "Saving" msgstr "Guardando" -#: src/client/composer/composer-widget.vala:213 +#: src/client/composer/composer-widget.vala:212 msgid "Error saving" msgstr "Error al guardar" -#: src/client/composer/composer-widget.vala:214 +#: src/client/composer/composer-widget.vala:213 msgid "Press Backspace to delete quote" msgstr "Pulse Retroceso para eliminar la cita" @@ -1587,7 +1581,7 @@ msgstr "Pulse Retroceso para eliminar la cita" #. checking, include all variants of each word. No spaces are #. allowed. The words will be converted to lower case based on #. locale and English versions included automatically. -#: src/client/composer/composer-widget.vala:230 +#: src/client/composer/composer-widget.vala:229 msgid "" "attach|attaching|attaches|attachment|attachments|attached|enclose|enclosed|" "enclosing|encloses|enclosure|enclosures" @@ -1598,90 +1592,90 @@ msgstr "" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. Keep, Discard or Cancel. -#: src/client/composer/composer-widget.vala:798 +#: src/client/composer/composer-widget.vala:815 msgid "Do you want to keep or discard this draft message?" msgstr "¿Quiere mantener o descartar este mensaje en borrador?" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. only Discard or Cancel. -#: src/client/composer/composer-widget.vala:824 +#: src/client/composer/composer-widget.vala:841 msgid "Do you want to discard this draft message?" msgstr "¿Quiere descartar este mensaje en borrador?" -#: src/client/composer/composer-widget.vala:1465 +#: src/client/composer/composer-widget.vala:1485 msgid "Send message with an empty subject and body?" msgstr "¿Quiere enviar el mensaje sin asunto ni cuerpo?" -#: src/client/composer/composer-widget.vala:1467 +#: src/client/composer/composer-widget.vala:1487 msgid "Send message with an empty subject?" msgstr "¿Quiere enviar el mensaje sin asunto?" -#: src/client/composer/composer-widget.vala:1469 +#: src/client/composer/composer-widget.vala:1489 msgid "Send message with an empty body?" msgstr "¿Quiere enviar el mensaje sin cuerpo?" -#: src/client/composer/composer-widget.vala:1478 +#: src/client/composer/composer-widget.vala:1498 msgid "Send message without an attachment?" msgstr "¿Quiere enviar el mensaje sin el archivo adjunto?" -#: src/client/composer/composer-widget.vala:1788 +#: src/client/composer/composer-widget.vala:1808 #, c-format msgid "“%s” already attached for delivery." msgstr "Ya se ha adjuntado «%s» para enviarlo." -#: src/client/composer/composer-widget.vala:1818 -#: src/client/composer/composer-widget.vala:1868 +#: src/client/composer/composer-widget.vala:1838 +#: src/client/composer/composer-widget.vala:1888 #, c-format msgid "“%s” is an empty file." msgstr "«%s» es un archivo vacío." -#: src/client/composer/composer-widget.vala:1856 +#: src/client/composer/composer-widget.vala:1876 #, c-format msgid "“%s” could not be found." msgstr "No se pudo encontrar «%s»." -#: src/client/composer/composer-widget.vala:1862 +#: src/client/composer/composer-widget.vala:1882 #, c-format msgid "“%s” is a folder." msgstr "«%s» es una carpeta." -#: src/client/composer/composer-widget.vala:1881 +#: src/client/composer/composer-widget.vala:1901 #, c-format msgid "“%s” could not be opened for reading." msgstr "No se pudo abrir «%s» para lectura." -#: src/client/composer/composer-widget.vala:1889 +#: src/client/composer/composer-widget.vala:1909 msgid "Cannot add attachment" msgstr "No se puede adjuntar el archivo" #. Translators: Human-readable version of the RFC 822 To header -#: src/client/composer/composer-widget.vala:1946 +#: src/client/composer/composer-widget.vala:1966 #: src/client/conversation-viewer/conversation-email.vala:559 #: src/client/util/util-email.vala:235 ui/conversation-message.ui:312 msgid "To:" msgstr "Para:" #. Translators: Human-readable version of the RFC 822 CC header -#: src/client/composer/composer-widget.vala:1952 +#: src/client/composer/composer-widget.vala:1972 #: src/client/conversation-viewer/conversation-email.vala:564 #: src/client/util/util-email.vala:240 ui/conversation-message.ui:357 msgid "Cc:" msgstr "Cc:" #. Translators: Human-readable version of the RFC 822 BCC header -#: src/client/composer/composer-widget.vala:1958 +#: src/client/composer/composer-widget.vala:1978 #: src/client/conversation-viewer/conversation-email.vala:569 #: ui/conversation-message.ui:402 msgid "Bcc:" msgstr "Cco:" #. Translators: Human-readable version of the RFC 822 Reply-To header -#: src/client/composer/composer-widget.vala:1964 +#: src/client/composer/composer-widget.vala:1984 msgid "Reply-To: " msgstr "Responder a:" -#: src/client/composer/composer-widget.vala:2144 +#: src/client/composer/composer-widget.vala:2170 msgid "Select Color" msgstr "Seleccionar color" @@ -1690,20 +1684,20 @@ msgstr "Seleccionar color" #. printf argument will be the alternate email address, #. and the second will be the account's primary email #. address. -#: src/client/composer/composer-widget.vala:2336 +#: src/client/composer/composer-widget.vala:2362 #, c-format msgid "%1$s via %2$s" msgstr "%1$s mediante %2$s" #. Composer label (with mnemonic underscore) for the account selector #. when choosing what address to send a message from. -#: src/client/composer/composer-widget.vala:2392 +#: src/client/composer/composer-widget.vala:2418 msgid "_From:" msgstr "_De:" #. Translators: This is the name of the file chooser filter #. when inserting an image in the composer. -#: src/client/composer/composer-widget.vala:2695 +#: src/client/composer/composer-widget.vala:2721 msgid "Images" msgstr "Imágenes" @@ -1791,7 +1785,7 @@ msgstr "Fecha:" msgid "Subject:" msgstr "Asunto:" -#: src/client/conversation-viewer/conversation-message.vala:132 +#: src/client/conversation-viewer/conversation-message.vala:128 msgid "This email address may have been forged" msgstr "Es posible que esta dirección de correo se haya falsificado" @@ -1799,44 +1793,44 @@ msgstr "Es posible que esta dirección de correo se haya falsificado" #. in load_contacts. #. Translators: This is displayed in place of the from address #. when the message has no from address. -#: src/client/conversation-viewer/conversation-message.vala:449 +#: src/client/conversation-viewer/conversation-message.vala:465 msgid "No sender" msgstr "Sin remitente" #. Translators: This separates multiple 'from' #. addresses in the compact header for a message. -#: src/client/conversation-viewer/conversation-message.vala:841 +#: src/client/conversation-viewer/conversation-message.vala:959 msgid ", " msgstr ", " #. Translators: This string is used as the HTML IMG ALT #. attribute value when displaying an inline image in an email #. that did not specify a file name. E.g. Image\n" -"Language-Team: Indonesian (http://www.transifex.com/projects/p/geary/" -"language/id/)\n" +"POT-Creation-Date: 2019-12-17 23:56+0000\n" +"PO-Revision-Date: 2020-01-04 08:23+0700\n" +"Last-Translator: Andika Triwidada \n" +"Language-Team: Indonesian\n" "Language: id\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-Generator: Poedit 2.0.6\n" +"Plural-Forms: nplurals=2; plural=n!=1;\n" +"X-Generator: Poedit 2.2.1\n" #: desktop/geary-attach.contract.desktop.in:3 msgid "Send by email" msgstr "Kirim melalui surel" -#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! -#: desktop/geary-attach.contract.desktop.in:5 -msgid "mail-send" -msgstr "mail-send" - #: desktop/geary-attach.contract.desktop.in:6 msgid "Send files using Geary" msgstr "Kirim berkas memakai Geary" #. Translators: The application name -#: desktop/geary-autostart.desktop.in:3 -#: desktop/org.gnome.Geary.appdata.xml.in:11 -#: desktop/org.gnome.Geary.desktop.in:3 +#: desktop/geary-autostart.desktop.in.in:3 +#: desktop/org.gnome.Geary.appdata.xml.in.in:12 +#: desktop/org.gnome.Geary.desktop.in.in:3 +#: src/client/accounts/accounts-editor-servers-pane.vala:555 +#: src/client/application/application-main-window.vala:547 msgid "Geary" msgstr "Geary" -#: desktop/geary-autostart.desktop.in:4 desktop/org.gnome.Geary.desktop.in:4 +#: desktop/geary-autostart.desktop.in.in:4 +#: desktop/org.gnome.Geary.desktop.in.in:4 msgid "Email" msgstr "Surel" #. Translators: The application's summary / tagline -#: desktop/geary-autostart.desktop.in:5 -#: desktop/org.gnome.Geary.appdata.xml.in:15 -#: desktop/org.gnome.Geary.desktop.in:5 -#: src/client/application/geary-application.vala:21 +#: desktop/geary-autostart.desktop.in.in:5 +#: desktop/org.gnome.Geary.appdata.xml.in.in:16 +#: desktop/org.gnome.Geary.desktop.in.in:5 +#: src/client/application/application-client.vala:32 msgid "Send and receive email" msgstr "Kirim dan terima surel" #. Translators: These are desktop search terms. Do not translate semicolons, end line with a semicolon. -#: desktop/geary-autostart.desktop.in:7 +#: desktop/geary-autostart.desktop.in.in:7 msgid "Email;E-mail;Mail;" msgstr "Surel;Surat;Email;E-mail;Mail;" -#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! -#: desktop/geary-autostart.desktop.in:9 desktop/org.gnome.Geary.desktop.in:9 -msgid "org.gnome.Geary" -msgstr "org.gnome.Geary" - #. Translators: The development team's name -#: desktop/org.gnome.Geary.appdata.xml.in:13 +#: desktop/org.gnome.Geary.appdata.xml.in.in:14 msgid "Geary Development Team" msgstr "Tim Pengembang Geary" -#: desktop/org.gnome.Geary.appdata.xml.in:17 +#: desktop/org.gnome.Geary.appdata.xml.in.in:18 msgid "" "Geary is an email application built around conversations, for the GNOME 3 " "desktop. It allows you to read, find and send email with a straightforward, " @@ -79,7 +71,7 @@ msgstr "" "desktop GNOME 3. Memungkinkan Anda membaca, mencari, dan mengirim surel " "dengan antar muka yang modern, mudah." -#: desktop/org.gnome.Geary.appdata.xml.in:22 +#: desktop/org.gnome.Geary.appdata.xml.in.in:23 msgid "" "Conversations allow you to read a complete discussion without having to find " "and click from message to message." @@ -87,54 +79,58 @@ msgstr "" "Percakapan memungkinkan Anda membaca diskusi lengkap tanpa perlu mencari dan " "mengklik dari pesan ke pesan." -#: desktop/org.gnome.Geary.appdata.xml.in:26 +#: desktop/org.gnome.Geary.appdata.xml.in.in:27 msgid "Geary’s features include:" msgstr "Fitur Geary termasuk:" -#: desktop/org.gnome.Geary.appdata.xml.in:28 +#: desktop/org.gnome.Geary.appdata.xml.in.in:29 msgid "Quick email account setup" msgstr "Penyiapan akun surel cepat" -#: desktop/org.gnome.Geary.appdata.xml.in:29 +#: desktop/org.gnome.Geary.appdata.xml.in.in:30 msgid "Shows related messages together in conversations" msgstr "Menampilkan pesan-pesan yang berhubungan bersama-sama dalam percakapan" -#: desktop/org.gnome.Geary.appdata.xml.in:30 +#: desktop/org.gnome.Geary.appdata.xml.in.in:31 msgid "Fast, full text and keyword search" msgstr "Pencarian kata kunci dan teks penuh yang cepat" -#: desktop/org.gnome.Geary.appdata.xml.in:31 +#: desktop/org.gnome.Geary.appdata.xml.in.in:32 msgid "Full-featured HTML and plain text message composer" msgstr "Penyusun pesan teks polos dan HTML berfitur lengkap" -#: desktop/org.gnome.Geary.appdata.xml.in:32 +#: desktop/org.gnome.Geary.appdata.xml.in.in:33 msgid "Desktop notification of new mail" msgstr "Pemberitahuan desktop atas surat baru" -#: desktop/org.gnome.Geary.appdata.xml.in:33 +#: desktop/org.gnome.Geary.appdata.xml.in.in:34 msgid "Compatible with GMail, Yahoo! Mail, Outlook.com and other IMAP servers" msgstr "" "Kompatibel dengan GMail, Yahoo! Mail, Outlook.com, dan server IMAP lain" #. Translators: A screenshot description. -#: desktop/org.gnome.Geary.appdata.xml.in:47 +#: desktop/org.gnome.Geary.appdata.xml.in.in:48 msgid "Geary displaying a conversation" msgstr "Geary menampilkan percakapan" #. Translators: A screenshot description. -#: desktop/org.gnome.Geary.appdata.xml.in:52 +#: desktop/org.gnome.Geary.appdata.xml.in.in:59 msgid "Geary showing the rich text composer" msgstr "Geary menunjukkan penyusun rich text" #. Translators: These are desktop search terms. Do not translate semicolons, end line with a semicolon. -#: desktop/org.gnome.Geary.desktop.in:7 +#: desktop/org.gnome.Geary.desktop.in.in:7 msgid "Mail;E-mail;IMAP;GMail;Yahoo;Hotmail;Outlook;" msgstr "Surat;Surel;Mail;E-mail;IMAP;GMail;Yahoo;Hotmail;Outlook;" -#: desktop/org.gnome.Geary.desktop.in:21 ui/gtk/menus.ui:7 +#: desktop/org.gnome.Geary.desktop.in.in:22 msgid "Compose Message" msgstr "Susun Pesan" +#: desktop/org.gnome.Geary.desktop.in.in:26 +msgid "New Window" +msgstr "Jendela Baru" + #: desktop/org.gnome.Geary.gschema.xml:8 msgid "Maximize window" msgstr "Maksimalkan jendela" @@ -217,252 +213,724 @@ msgid "True if we should display a short preview of each message." msgstr "True jika kita harus menampilkan pratinjau singkat setiap pesan." #: desktop/org.gnome.Geary.gschema.xml:68 +msgid "Use single key shortcuts" +msgstr "Pakai pintasan tombol tunggal" + +#: desktop/org.gnome.Geary.gschema.xml:69 +msgid "" +"Enables shortcuts for email actions that do not require pressing to " +"emulate those used by Gmail." +msgstr "" +"Memfungsikan pintasan untuk aksi surel yang tidak memerlukan menekan " +"untuk mengemulasi mereka yang dipakai oleh Gmail." + +#: desktop/org.gnome.Geary.gschema.xml:76 msgid "Languages that shall be used in the spell checker" msgstr "Bahasa yang akan digunakan dalam pemeriksa ejaan" -#: desktop/org.gnome.Geary.gschema.xml:69 -msgid "List of the languages to use in the spell checker." -msgstr "Daftar bahasa yang akan digunakan di pemeriksa ejaan." +#: desktop/org.gnome.Geary.gschema.xml:77 +msgid "" +"A list of POSIX locales, with the empty list disabling spell checking and " +"the null list using desktop languages by default." +msgstr "" +"Suatu daftar locale POSIX, dengan daftar kosong yang menonaktifkan " +"pemeriksaan ejaan dan daftar null memakai bahasa-bahasa desktop secara baku." -#: desktop/org.gnome.Geary.gschema.xml:74 +#: desktop/org.gnome.Geary.gschema.xml:84 msgid "Languages that are displayed in the spell checker popover" msgstr "Bahasa yang ditampilkan dalam popover pemeriksa ejaan" -#: desktop/org.gnome.Geary.gschema.xml:75 +#: desktop/org.gnome.Geary.gschema.xml:85 msgid "" "List of languages that are always displayed in the popover of the spell " "checker." msgstr "Daftar bahasa yang selalu ditampilkan di popover pemeriksa ejaan." -#: desktop/org.gnome.Geary.gschema.xml:80 -msgid "Enable notification sounds" -msgstr "Aktifkan suara pemberitahuan" - -#: desktop/org.gnome.Geary.gschema.xml:81 -msgid "True to play sounds for notifications and sending." -msgstr "True untuk memutar suara untuk pemberitahuan dan pengiriman." - -#: desktop/org.gnome.Geary.gschema.xml:86 -msgid "Show notifications for new mail" -msgstr "Tampilkan pemberitahuan bagi surat baru" - -#: desktop/org.gnome.Geary.gschema.xml:87 -msgid "True to show notification bubbles." -msgstr "True untuk menunjukkan gelembung pemberitahuan." - -#: desktop/org.gnome.Geary.gschema.xml:92 +#: desktop/org.gnome.Geary.gschema.xml:90 msgid "Notify of new mail at startup" msgstr "Beritahu surel baru saat awal mula" -#: desktop/org.gnome.Geary.gschema.xml:93 +#: desktop/org.gnome.Geary.gschema.xml:91 msgid "True to notify of new mail at startup." msgstr "True untuk memberitahukan surel baru saat memulai." -#: desktop/org.gnome.Geary.gschema.xml:98 +#: desktop/org.gnome.Geary.gschema.xml:96 msgid "Ask when opening an attachment" msgstr "Tanyakan saat membuka lampiran" -#: desktop/org.gnome.Geary.gschema.xml:99 +#: desktop/org.gnome.Geary.gschema.xml:97 msgid "True to ask when opening an attachment." msgstr "True untuk bertanya saat membuka lampiran." -#: desktop/org.gnome.Geary.gschema.xml:104 +#: desktop/org.gnome.Geary.gschema.xml:102 msgid "Whether to compose emails in HTML" msgstr "Apakah untuk menulis surel dalam HTML" -#: desktop/org.gnome.Geary.gschema.xml:105 +#: desktop/org.gnome.Geary.gschema.xml:103 msgid "True to compose emails in HTML; false for plain text." msgstr "True untuk menulis surel dalam HTML; false untuk teks biasa." -#: desktop/org.gnome.Geary.gschema.xml:110 +#: desktop/org.gnome.Geary.gschema.xml:108 msgid "Advisory strategy for full-text searching" msgstr "Strategi penasehat untuk penelusuran teks lengkap" -#: desktop/org.gnome.Geary.gschema.xml:111 +#: desktop/org.gnome.Geary.gschema.xml:109 msgid "" "Acceptable values are “exact”, “conservative”, “aggressive”, and “horizon”." msgstr "" "Nilai yang dapat diterima \"exact\" (tepat), \"conservative\" (konservatif), " "\"aggressive\" (agresif), dan \"horizon\" (horizon)." -#: desktop/org.gnome.Geary.gschema.xml:116 +#: desktop/org.gnome.Geary.gschema.xml:114 msgid "Zoom of conversation viewer" msgstr "Zoom penampil percakapan" -#: desktop/org.gnome.Geary.gschema.xml:117 +#: desktop/org.gnome.Geary.gschema.xml:115 msgid "The zoom to apply on the conservation view." msgstr "Zum untuk diterapkan pada tampilan konservasi." -#: desktop/org.gnome.Geary.gschema.xml:122 +#: desktop/org.gnome.Geary.gschema.xml:120 msgid "Size of detached composer window" msgstr "Ukuran jendela penyusun yang terpisah" -#: desktop/org.gnome.Geary.gschema.xml:123 +#: desktop/org.gnome.Geary.gschema.xml:121 msgid "The last recorded size of the detached composer window." msgstr "Ukuran yang terekam terakhir dari jendela komposer yang terpisah." -#: desktop/org.gnome.Geary.gschema.xml:128 -msgid "Base URL to look up contact avatars" -msgstr "URL dasar untuk mencari avatar kontak" +#: desktop/org.gnome.Geary.gschema.xml:126 +msgid "Undo sending email delay" +msgstr "Batalkan tundaan pengiriman surel" -#: desktop/org.gnome.Geary.gschema.xml:129 +#: desktop/org.gnome.Geary.gschema.xml:127 msgid "" -"A Gravatar or Libravatar compatible URL, set to the empty string to disable." +"The number of seconds to wait before sending an email. Set to zero or less " +"to disable." msgstr "" -"URL yang kompatibel dengan Gravatar atau Libravatar, disetel ke string " -"kosong untuk dinonaktifkan." +"Berapa detik menunggu sebelum mengirim sebuah surel. Atur ke nol atau kurang " +"untuk menonaktifkan." -#: desktop/org.gnome.Geary.gschema.xml:134 +#: desktop/org.gnome.Geary.gschema.xml:133 msgid "Whether we migrated the old settings" msgstr "Apakah kita memigrasikan pengaturan lama" -#: desktop/org.gnome.Geary.gschema.xml:135 +#: desktop/org.gnome.Geary.gschema.xml:134 msgid "" "False to check for the old “org.yorba.geary”-schema and copy its values." msgstr "" "False untuk memeriksa \"org.yorba.geary\"-schema lama dan salin nilainya." -#: src/client/accounts/account-dialog-add-edit-pane.vala:54 -#: src/client/components/stock.vala:31 ui/conversation-email-menus.ui:83 -msgid "_Save" -msgstr "_Simpan" +#. Translators: In-app notification label, when +#. the app had a problem pinning an otherwise +#. untrusted TLS certificate +#: src/client/accounts/accounts-editor.vala:210 +msgid "Failed to store certificate" +msgstr "Gagal menyimpan sertifikat" -#: src/client/accounts/account-dialog-add-edit-pane.vala:54 -#: src/client/components/stock.vala:22 -msgid "_Add" -msgstr "T_ambah" +#. Translators: Label for adding an email account +#. account for a generic IMAP service provider. +#: src/client/accounts/accounts-editor-add-pane.vala:108 +msgid "All others" +msgstr "Semua lainnya" -#. reset/clear widgets -#: src/client/accounts/account-dialog-edit-alternate-emails-pane.vala:120 +#. Translators: In-app notification label +#: src/client/accounts/accounts-editor-add-pane.vala:195 +#: src/client/accounts/accounts-editor-servers-pane.vala:316 +msgid "Check your receiving login and password" +msgstr "Periksa login dan kata sandi penerimaan Anda" + +#. Translators: In-app notification label +#: src/client/accounts/accounts-editor-add-pane.vala:210 +#: src/client/accounts/accounts-editor-servers-pane.vala:329 +msgid "Check your receiving server details" +msgstr "Periksa rincian server penerimaan Anda" + +#. Translators: In-app notification label +#. There was an SMTP auth error, but IMAP already +#. succeeded, so the user probably needs to +#. specify custom creds here +#. Translators: In-app notification label +#: src/client/accounts/accounts-editor-add-pane.vala:232 +#: src/client/accounts/accounts-editor-servers-pane.vala:350 +msgid "Check your sending login and password" +msgstr "Periksa login dan kata sandi pengiriman Anda" + +#. Translators: In-app notification label +#: src/client/accounts/accounts-editor-add-pane.vala:246 +#: src/client/accounts/accounts-editor-servers-pane.vala:363 +msgid "Check your sending server details" +msgstr "Periksa rincian server pengiriman Anda" + +#. Translators: In-app notification label +#: src/client/accounts/accounts-editor-add-pane.vala:261 +msgid "Check your email address and password" +msgstr "Periksa alamat dan kata sandi surel Anda" + +#. Translators: In-app notification label +#: src/client/accounts/accounts-editor-add-pane.vala:272 +msgid "Could not connect, check your network" +msgstr "Tidak bisa menyambung, periksalah jaringan Anda" + +#. Translators: In-app notification label for a +#. generic error creating an account +#: src/client/accounts/accounts-editor-add-pane.vala:285 +msgid "An unexpected problem occurred" +msgstr "Kesalahan yang tidak terduga terjadi" + +#. Translators: In-app notification label, the +#. string substitution is a more detailed reason. +#: src/client/accounts/accounts-editor-add-pane.vala:303 #, c-format -msgid "Additional addresses for %s" -msgstr "Alamat tambahan bagi %s" +msgid "Account not created: %s" +msgstr "Akun tidak dibuat: %s" -#. Sets min size. -#: src/client/accounts/account-dialog.vala:28 -msgid "Accounts" -msgstr "Akun" +#. Translators: Label for the person's actual name when adding +#. an account +#: src/client/accounts/accounts-editor-add-pane.vala:558 +msgid "Your name" +msgstr "Nama Anda" -#. Copyright 2016 Software Freedom Conservancy Inc. -#. * -#. * This software is licensed under the GNU Lesser General Public License -#. * (version 2.1 or later). See the COPYING file in this distribution. -#. -#. Page for adding or editing an account. -#. / Placeholder text indicating that the user should type their first name and last name -#: src/client/accounts/add-edit-page.vala:10 -msgid "First Last" -msgstr "NamaDepan NamaBelakang" +#. Translators: Label used for the address part of an +#. email address when editing a user's sender address +#. preferences for an account. +#: src/client/accounts/accounts-editor-add-pane.vala:575 +#: src/client/accounts/accounts-editor-edit-pane.vala:513 +msgid "Email address" +msgstr "Alamat surel" -#: src/client/accounts/add-edit-page.vala:240 -msgid "Welcome to Geary." -msgstr "Selamat datang ke Geary." +#. Translators: Placeholder for the default sender address +#. when adding an account +#. Translators: This is used as a placeholder for the +#. address part of an email address when editing a user's +#. sender address preferences for an account. +#: src/client/accounts/accounts-editor-add-pane.vala:579 +#: src/client/accounts/accounts-editor-edit-pane.vala:479 +msgid "person@example.com" +msgstr "surel@contoh.com" -#: src/client/accounts/add-edit-page.vala:240 -msgid "Enter your account information to get started." -msgstr "Masukkan info akun Anda untuk memulai." +#. Translators: Label for an IMAP/SMTP service login/user name +#. when adding an account +#. Translators: Label for the user's login name for an +#. IMAP, SMTP, etc service +#: src/client/accounts/accounts-editor-add-pane.vala:593 +#: src/client/accounts/accounts-editor-servers-pane.vala:884 +msgid "Login name" +msgstr "Nama log masuk" -#: src/client/accounts/add-edit-page.vala:260 -msgid "2 weeks back" -msgstr "2 minggu ke belakang" +#. Translators: Label for the user's password for an IMAP, +#. SMTP, etc service +#: src/client/accounts/accounts-editor-add-pane.vala:607 +#: src/client/accounts/accounts-editor-servers-pane.vala:1006 +#: ui/password-dialog.glade:108 +msgid "Password" +msgstr "Sandi" -#. IDs are # of days -#: src/client/accounts/add-edit-page.vala:261 -msgid "1 month back" -msgstr "1 bulan ke belakang" +#. Translators: Label for the IMAP server hostname when +#. adding an account. +#. Translators: This label describes the host name or IP +#. address and port used by an account's IMAP service. +#: src/client/accounts/accounts-editor-add-pane.vala:629 +#: src/client/accounts/accounts-editor-servers-pane.vala:728 +msgid "IMAP server" +msgstr "Server IMAP" -#: src/client/accounts/add-edit-page.vala:262 -msgid "3 months back" -msgstr "3 bulan ke belakang" +#. Translators: Placeholder for the IMAP server hostname +#. when adding an account. +#: src/client/accounts/accounts-editor-add-pane.vala:632 +msgid "imap.example.com" +msgstr "imap.example.com" -#: src/client/accounts/add-edit-page.vala:263 -msgid "6 months back" -msgstr "6 bulan ke belakang" +#. Translators: Label for the SMTP server hostname when +#. adding an account. +#. Translators: This label describes the host name or IP +#. address and port used by an account's SMTP service. +#: src/client/accounts/accounts-editor-add-pane.vala:638 +#: src/client/accounts/accounts-editor-servers-pane.vala:734 +msgid "SMTP server" +msgstr "Server SMTP" -#: src/client/accounts/add-edit-page.vala:264 -msgid "1 year back" -msgstr "1 tahun ke belakang" +#. Translators: Placeholder for the SMTP server hostname +#. when adding an account. +#: src/client/accounts/accounts-editor-add-pane.vala:641 +msgid "smtp.example.com" +msgstr "smtp.example.com" -#: src/client/accounts/add-edit-page.vala:265 -msgid "2 years back" -msgstr "2 tahun ke belakang" +#. Translators: Label in the account editor for the user's +#. custom name for an account. +#: src/client/accounts/accounts-editor-edit-pane.vala:277 +#: ui/accounts_editor_remove_pane.ui:123 +msgid "Account name" +msgstr "Nama akun" -#: src/client/accounts/add-edit-page.vala:266 -msgid "4 years back" -msgstr "4 tahun ke belakang" +#. Translators: Tooltip used to undo changing +#. the name of an account. The string +#. substitution is the old name of the +#. account. +#: src/client/accounts/accounts-editor-edit-pane.vala:318 +#, c-format +msgid "Change account name back to “%s”" +msgstr "Ubah nama akun kembali ke \"%s\"" -#. Separator -#: src/client/accounts/add-edit-page.vala:268 +#. Translators: Tooltip for adding a new email sender/from +#. address's address to an account +#: src/client/accounts/accounts-editor-edit-pane.vala:342 +msgid "Add a new sender email address" +msgstr "Tambahkan alamat surel pengirim baru" + +#. Translators: Label used to indicate the user has +#. provided no display name for one of their sender +#. email addresses in their account settings. +#: src/client/accounts/accounts-editor-edit-pane.vala:423 +msgid "Name not set" +msgstr "Nama tidak ditata" + +#. Translators: This is used as a placeholder for the +#. display name for an email address when editing a user's +#. sender address preferences for an account. +#: src/client/accounts/accounts-editor-edit-pane.vala:464 +msgid "Sender Name" +msgstr "Name Pengirim" + +#: src/client/accounts/accounts-editor-edit-pane.vala:491 +msgid "Remove" +msgstr "Hapus" + +#. Translators: Label used for the display name part of an +#. email address when editing a user's sender address +#. preferences for an account. +#: src/client/accounts/accounts-editor-edit-pane.vala:506 +msgid "Sender name" +msgstr "Nama pengirim" + +#. Translators: Label used as the undo tooltip after adding an +#. new sender email address to an account. The string +#. substitution is the email address added. +#: src/client/accounts/accounts-editor-edit-pane.vala:573 +#, c-format +msgid "Remove “%s”" +msgstr "Hapus \"%s\"" + +#. Translators: Label used as the undo tooltip after editing a +#. sender address for an account. The string substitution is +#. the email address edited. +#: src/client/accounts/accounts-editor-edit-pane.vala:613 +#, c-format +msgid "Undo changes to “%s”" +msgstr "Batalkan perubahan ke \"%s\"" + +#. Translators: Label used as the undo tooltip after removing +#. a sender address from an account. The string substitution +#. is the email address edited. +#: src/client/accounts/accounts-editor-edit-pane.vala:700 +#, c-format +msgid "Add “%s” back" +msgstr "Tambahkan \"%s\" kembali" + +#. Translators: Label used as the undo tooltip after removing +#. a sender address from an account. The string substitution +#. is the email address edited. +#: src/client/accounts/accounts-editor-edit-pane.vala:742 +msgid "Undo signature changes" +msgstr "Batalkan perubahan tanda tangan" + +#. Translators: This label describes the account +#. preference for the length of time (weeks, months or +#. years) that past email should be downloaded. +#: src/client/accounts/accounts-editor-edit-pane.vala:790 +msgid "Download mail" +msgstr "Unduh surat" + +#. Translators: Tooltip for undoing a change +#. to the length of time that past email +#. should be downloaded for an account. The +#. string substitution is the duration, +#. e.g. "1 month back". +#: src/client/accounts/accounts-editor-edit-pane.vala:822 +#, c-format +msgid "Change download period back to: %s" +msgstr "Ubah perioda unduh kembali ke: %s" + +#: src/client/accounts/accounts-editor-edit-pane.vala:843 msgid "Everything" msgstr "Semua" -#: src/client/accounts/add-edit-page.vala:288 -msgid "Edit" -msgstr "Sunting" +#: src/client/accounts/accounts-editor-edit-pane.vala:847 +msgid "2 weeks back" +msgstr "2 minggu ke belakang" -#: src/client/accounts/add-edit-page.vala:290 -msgid "Preview" -msgstr "Pratinjau" +#: src/client/accounts/accounts-editor-edit-pane.vala:851 +msgid "1 month back" +msgstr "1 bulan ke belakang" -#: src/client/accounts/add-edit-page.vala:778 -msgid "Remem_ber passwords" -msgstr "I_ngat sandi" +#: src/client/accounts/accounts-editor-edit-pane.vala:855 +msgid "3 months back" +msgstr "3 bulan ke belakang" -#: src/client/accounts/add-edit-page.vala:785 ui/login.glade:233 -msgid "Remem_ber password" -msgstr "I_ngat sandi" +#: src/client/accounts/accounts-editor-edit-pane.vala:859 +msgid "6 months back" +msgstr "6 bulan ke belakang" -#: src/client/accounts/add-edit-page.vala:819 -msgid "Unable to validate:\n" -msgstr "Tak dapat mengesahkan:\n" +#: src/client/accounts/accounts-editor-edit-pane.vala:863 +msgid "1 year back" +msgstr "1 tahun ke belakang" -#: src/client/accounts/add-edit-page.vala:821 -msgid " • Invalid account nickname.\n" -msgstr " • Nama panggilan akun tidak sah.\n" +#: src/client/accounts/accounts-editor-edit-pane.vala:867 +msgid "2 years back" +msgstr "2 tahun ke belakang" -#: src/client/accounts/add-edit-page.vala:824 -msgid " • Email address already added to Geary.\n" -msgstr "" -" • Alamat surel telah ditambahkan ke Geary.\n" -"\n" +#: src/client/accounts/accounts-editor-edit-pane.vala:871 +msgid "4 years back" +msgstr "4 tahun ke belakang" -#: src/client/accounts/add-edit-page.vala:828 -msgid " • IMAP connection error.\n" -msgstr " • Galat koneksi IMAP.\n" +#: src/client/accounts/accounts-editor-edit-pane.vala:877 +#, c-format +msgid "%d day back" +msgid_plural "%d days back" +msgstr[0] "%d hari ke belakang" +msgstr[1] "%d hari ke belakang" -#: src/client/accounts/add-edit-page.vala:831 -msgid " • IMAP username or password incorrect.\n" -msgstr " • Nama pengguna atau sandi IMAP salah.\n" +#: src/client/accounts/accounts-editor-list-pane.vala:248 +#: src/client/application/application-main-window.vala:2037 +msgid "Undo" +msgstr "Tak Jadi" -#: src/client/accounts/add-edit-page.vala:834 -msgid " • SMTP connection error.\n" -msgstr " • Koneksi SMTP galat.\n" +#: src/client/accounts/accounts-editor-list-pane.vala:257 +#: src/client/application/application-main-window.vala:2027 +msgid "Redo" +msgstr "Jadi Lagi" -#: src/client/accounts/add-edit-page.vala:837 -msgid " • SMTP username or password incorrect.\n" -msgstr " • Nama pengguna atau sandi SMTP salah.\n" +#: src/client/accounts/accounts-editor-list-pane.vala:351 +#: src/client/accounts/accounts-editor-list-pane.vala:439 +#: src/client/accounts/accounts-editor-row.vala:279 +msgid "Gmail" +msgstr "Gmail" -#: src/client/accounts/add-edit-page.vala:841 -msgid " • Connection error.\n" -msgstr " • Galat koneksi.\n" +#: src/client/accounts/accounts-editor-list-pane.vala:355 +#: src/client/accounts/accounts-editor-list-pane.vala:443 +#: src/client/accounts/accounts-editor-row.vala:283 +msgid "Outlook.com" +msgstr "Outlook.com" -#: src/client/accounts/add-edit-page.vala:845 -msgid " • Username or password incorrect.\n" -msgstr " • Nama pengguna atau sandi salah.\n" +#: src/client/accounts/accounts-editor-list-pane.vala:359 +#: src/client/accounts/accounts-editor-list-pane.vala:447 +#: src/client/accounts/accounts-editor-row.vala:287 +msgid "Yahoo" +msgstr "Yahoo" -#: src/client/application/geary-application.vala:22 +#. Translators: Tooltip for accounts that have been +#. loaded but disabled by the user. +#: src/client/accounts/accounts-editor-list-pane.vala:377 +msgid "This account has been disabled" +msgstr "Akun ini telah dinonaktifkan" + +#. Translators: Tooltip for accounts that have been +#. loaded but because of some error are not able to be +#. used. +#: src/client/accounts/accounts-editor-list-pane.vala:386 +msgid "This account has encountered a problem and is unavailable" +msgstr "Akun ini mengalami masalah dan tidak tersedia" + +#. Translators: Label for adding a generic email account +#: src/client/accounts/accounts-editor-list-pane.vala:436 +msgid "Other email providers" +msgstr "Penyedia surel lain" + +#. Translators: Notification shown after removing an +#. account. The string substitution is the name of the +#. account. +#: src/client/accounts/accounts-editor-list-pane.vala:553 +#, c-format +msgid "Account “%s” removed" +msgstr "Akun \"%s\" dihapus" + +#. Translators: Notification shown after removing an account +#. is undone. The string substitution is the name of the +#. account. +#: src/client/accounts/accounts-editor-list-pane.vala:560 +#, c-format +msgid "Account “%s” restored" +msgstr "Akun \"%s\" dipulihkan" + +#. Translators: Tooltip for dragging list items +#: src/client/accounts/accounts-editor-row.vala:50 +msgid "Drag to move this item" +msgstr "Seret untuk memindah butir ini" + +#. Translators: Label describes the service provider +#. hosting the email account, e.g. Gmail, Yahoo, or some +#. other generic IMAP service. +#: src/client/accounts/accounts-editor-row.vala:295 +msgid "Service provider" +msgstr "Penyedia layanan" + +#. Translators: This label describes what form of transport +#. security (TLS, StartTLS, etc) used by an account's IMAP or SMTP +#. service. +#: src/client/accounts/accounts-editor-row.vala:468 +msgid "Connection security" +msgstr "Keamanan koneksi" + +#. Translators: Label used when no auth scheme is used +#. by an account's IMAP or SMTP service. +#: src/client/accounts/accounts-editor-row.vala:479 +#: src/client/accounts/accounts-editor-servers-pane.vala:755 +#: src/client/accounts/accounts-editor-servers-pane.vala:970 +#: src/engine/api/geary-special-folder-type.vala:58 +msgid "None" +msgstr "Nihil" + +#: src/client/accounts/accounts-editor-row.vala:486 +msgid "StartTLS" +msgstr "StartTLS" + +#: src/client/accounts/accounts-editor-row.vala:493 +msgid "TLS" +msgstr "TLS" + +#. Translators: Label for source of SMTP authentication +#. credentials (none, use IMAP, custom) when adding a new +#. account +#. Button label for retrying when a login error has occurred +#: src/client/accounts/accounts-editor-row.vala:534 +#: ui/application-main-window.ui:346 +msgid "Login" +msgstr "Log masuk" + +#. Translators: ComboBox value for source of SMTP +#. authentication credentials (none) when adding a new +#. account +#: src/client/accounts/accounts-editor-row.vala:541 +msgid "No login needed" +msgstr "Tidak diperlukan log masuk" + +#. Translators: ComboBox value for source of SMTP +#. authentication credentials (use IMAP) when adding a new +#. account +#: src/client/accounts/accounts-editor-row.vala:549 +msgid "Use same login as receiving" +msgstr "Gunakan login yang sama untuk semua penerimaan" + +#. Translators: ComboBox value for source of SMTP +#. authentication credentials (custom) when adding a new +#. account +#: src/client/accounts/accounts-editor-row.vala:557 +msgid "Use a different login" +msgstr "Pakai login yang berbeda" + +#. Translators: In-app notification label, the +#. string substitution is a more detailed reason. +#: src/client/accounts/accounts-editor-servers-pane.vala:377 +#, c-format +msgid "Account not updated: %s" +msgstr "Akun tidak dimutakhirkan: %s" + +#. Translators: This label describes the program that +#. created the account, e.g. an SSO service like GOA, or +#. locally by Geary. +#: src/client/accounts/accounts-editor-servers-pane.vala:540 +msgid "Account source" +msgstr "Sumber akun" + +#: src/client/accounts/accounts-editor-servers-pane.vala:552 +msgid "GNOME Online Accounts" +msgstr "Akun Daring GNOME" + +#. Translators: This label describes an account +#. preference. +#: src/client/accounts/accounts-editor-servers-pane.vala:611 +msgid "Save draft email on server" +msgstr "Simpan draf surel pada server" + +#. Translators: This label describes an account +#. preference. +#: src/client/accounts/accounts-editor-servers-pane.vala:666 +msgid "Save sent email on server" +msgstr "Simpan surel terkirim pada server" + +#. Add a suffix for OAuth2 auth so people know they +#. shouldn't expect to be prompted for a password +#. Translators: Label used when an account's IMAP or +#. SMTP service uses OAuth2. The string replacement is +#. the service's login name. +#: src/client/accounts/accounts-editor-servers-pane.vala:956 +#, c-format +msgid "%s using OAuth2" +msgstr "%s memakai OAuth2" + +#: src/client/accounts/accounts-editor-servers-pane.vala:966 +msgid "Use receiving server login" +msgstr "Gunakan login server penerimaan" + +#. Translators: File name used in save chooser when saving +#. attachments that do not otherwise have a name. +#: src/client/application/application-attachment-manager.vala:21 +msgid "Untitled" +msgstr "Tak ada judul" + +#. / Translators: Dialog primary label when prompting to +#. / overwrite a file. The string substitution is the file'sx +#. / name. +#: src/client/application/application-attachment-manager.vala:222 +#, c-format +msgid "A file named “%s” already exists. Do you want to replace it?" +msgstr "Berkas bernama \"%s\" sudah ada. Anda ingin menimpanya?" + +#. / Translators: Dialog secondary label when prompting to +#. / overwrite a file. The string substitution is the parent +#. / folder's name. +#: src/client/application/application-attachment-manager.vala:229 +#, c-format +msgid "" +"The file already exists in “%s”. Replacing it will overwrite its contents." +msgstr "Berkas telah ada di \"%s\". Kalau ditimpa isi sebelumnya hilang." + +#: src/client/application/application-attachment-manager.vala:236 +msgid "_Replace" +msgstr "Timp_a" + +#: src/client/application/application-client.vala:33 msgid "Copyright 2016 Software Freedom Conservancy Inc." msgstr "Hak Cipta 2016 Software Freedom Conservancy Inc." -#: src/client/application/geary-application.vala:23 -msgid "Copyright 2016-2018 Geary Development Team." -msgstr "Hak Cipta 2016-2018 Tim Pengembang Geary." +#: src/client/application/application-client.vala:34 +msgid "Copyright 2016-2019 Geary Development Team." +msgstr "Hak Cipta 2016-2019 Tim Pengembang Geary." -#: src/client/application/geary-application.vala:25 +#: src/client/application/application-client.vala:36 msgid "Visit the Geary web site" msgstr "Kunjungi situs web Geary" -#: src/client/application/geary-application.vala:416 +#. / Command line option +#: src/client/application/application-client.vala:94 +msgid "Print debug logging" +msgstr "Cetak log awakutu" + +#. / Command line option +#: src/client/application/application-client.vala:97 +msgid "Start with the main window hidden (deprecated)" +msgstr "Mulai Geary dengan jendela utama tersembunyi (usang)" + +#. / Command line option +#: src/client/application/application-client.vala:100 +msgid "Enable WebKitGTK Inspector in web views" +msgstr "Fungsikan WebKitGTK Inspector dalam tilikan web" + +#. / Command line option +#: src/client/application/application-client.vala:103 +msgid "Log conversation monitoring" +msgstr "Catat pemantauan percakapan" + +#. / Command line option +#: src/client/application/application-client.vala:106 +msgid "Log IMAP network deserialization" +msgstr "Log deserialisasi jaringan IMAP" + +#. / Command line option. "Normalization" can also be called +#. / "synchronization". +#: src/client/application/application-client.vala:110 +msgid "Log folder normalization" +msgstr "Catat normalisasi map" + +#. / Command line option +#: src/client/application/application-client.vala:113 +msgid "Log network activity" +msgstr "Catat aktivitas jaringan" + +#. / Command line option +#: src/client/application/application-client.vala:116 +msgid "Log periodic activity" +msgstr "Catat aktivitas periodik" + +#. / Command line option. The IMAP replay queue is how changes +#. / on the server are replicated on the client. It could +#. / also be called the IMAP events queue. +#: src/client/application/application-client.vala:121 +msgid "Log IMAP replay queue" +msgstr "Catat antrian putar ulang IMAP" + +#. / Command line option. Serialization is how commands and +#. / responses are converted into a stream of bytes for +#. / network transmission +#: src/client/application/application-client.vala:126 +msgid "Log IMAP network serialization" +msgstr "Log serialisasi jaringan IMAP" + +#. / Command line option +#: src/client/application/application-client.vala:129 +msgid "Log database queries (generates lots of messages)" +msgstr "Catat kuiri basis data (menimbulkan banyak pesan)" + +#. / Command line option +#: src/client/application/application-client.vala:132 +msgid "Perform a graceful quit" +msgstr "Keluar secara anggun" + +#: src/client/application/application-client.vala:134 +msgid "Open a new window" +msgstr "Buka suatu jendela baru" + +#. / Command line option +#: src/client/application/application-client.vala:137 +msgid "Revoke all pinned TLS server certificates" +msgstr "Cabut semua sertifikat server TLS yang di-pin" + +#. / Command line option +#: src/client/application/application-client.vala:140 +msgid "Display program version" +msgstr "Tampilkan versi program" + +#. / Application runtime information label +#: src/client/application/application-client.vala:264 +msgid "Geary version" +msgstr "Versi Geary" + +#. / Application runtime information label +#: src/client/application/application-client.vala:266 +msgid "Geary revision" +msgstr "Revisi Geary" + +#. / Application runtime information label +#: src/client/application/application-client.vala:268 +msgid "GTK version" +msgstr "Versi GTK" + +#. / Applciation runtime information label +#: src/client/application/application-client.vala:275 +msgid "GLib version" +msgstr "Versi GLib" + +#. / Application runtime information label +#: src/client/application/application-client.vala:282 +msgid "WebKitGTK version" +msgstr "Versi WebKitGTK" + +#. / Application runtime information label +#: src/client/application/application-client.vala:289 +msgid "Desktop environment" +msgstr "Lingkungan desktop" + +#. Translators: This is the file type displayed for +#. attachments with unknown file types. +#: src/client/application/application-client.vala:291 +#: src/client/components/components-attachment-pane.vala:91 +msgid "Unknown" +msgstr "Tak dikenal" + +#. / Application runtime information label +#: src/client/application/application-client.vala:321 +msgid "Distribution name" +msgstr "Nama distribusi" + +#. / Application runtime information label +#: src/client/application/application-client.vala:326 +msgid "Distribution release" +msgstr "Rilis distribusi" + +#. / Application runtime information label +#: src/client/application/application-client.vala:334 +msgid "Installation prefix" +msgstr "Prefiks instalasi" + +#: src/client/application/application-client.vala:566 #, c-format msgid "About %s" msgstr "Tentang %s" @@ -470,165 +938,134 @@ msgstr "Tentang %s" #. Translators: add your name and email address to receive #. credit in the About dialog For example: Yamada Taro #. -#: src/client/application/geary-application.vala:420 +#: src/client/application/application-client.vala:570 msgid "translator-credits" msgstr "" -"Andika Triwidada , 2012, 2013, 2016, 2017\n" +"Andika Triwidada , 2012, 2013, 2016, 2017, 2019\n" "Dani Pratomo , 2012.\n" "Kukuh Syafaat , 2017, 2018." -#: src/client/application/geary-args.vala:10 -msgid "Start Geary with hidden main window" -msgstr "Mulai Geary dengan jendela utama tersembunyi" +#. / Warning printed to the console when a deprecated +#. / command line option is used. +#: src/client/application/application-client.vala:938 +msgid "The `--hidden` option is deprecated and will be removed in the future." +msgstr "Opsi '--hidden' usang dan akan dihapus di masa mendatang." -#: src/client/application/geary-args.vala:11 -msgid "Output debugging information" -msgstr "Keluaran informasi pengawakutuan" - -#: src/client/application/geary-args.vala:12 -msgid "Log conversation monitoring" -msgstr "Catat pemantauan percakapan" - -#: src/client/application/geary-args.vala:13 -msgid "Log network deserialization" -msgstr "Catat deserialisasi jaringan" - -#: src/client/application/geary-args.vala:14 -msgid "Log network activity" -msgstr "Catat aktivitas jaringan" - -#. / The IMAP replay queue is how changes on the server are replicated on the client. -#. / It could also be called the IMAP events queue. -#: src/client/application/geary-args.vala:17 -msgid "Log IMAP replay queue" -msgstr "Catat antrian putar ulang IMAP" - -#. / Serialization is how commands and responses are converted into a stream of bytes for -#. / network transmission -#: src/client/application/geary-args.vala:20 -msgid "Log network serialization" -msgstr "Catat serialisasi jaringan" - -#: src/client/application/geary-args.vala:21 -msgid "Log periodic activity" -msgstr "Catat aktivitas periodik" - -#: src/client/application/geary-args.vala:22 -msgid "Log database queries (generates lots of messages)" -msgstr "Catat kuiri basis data (menimbulkan banyak pesan)" - -#. / "Normalization" can also be called "synchronization" -#: src/client/application/geary-args.vala:24 -msgid "Log folder normalization" -msgstr "Catat normalisasi map" - -#: src/client/application/geary-args.vala:25 -msgid "Allow inspection of WebView" -msgstr "Izinkan inspeksi WebView" - -#: src/client/application/geary-args.vala:26 -msgid "Revoke all server certificates with TLS warnings" -msgstr "Cabut semua sertifikat server yang memiliki peringatan TLS" - -#: src/client/application/geary-args.vala:27 -msgid "Perform a graceful quit" -msgstr "Keluar secara anggun" - -#: src/client/application/geary-args.vala:28 -msgid "Display program version" -msgstr "Tampilkan versi program" - -#. This gives a command-line hint on how to open new composer windows with mailto: -#: src/client/application/geary-args.vala:53 +#. / Command line warning, string substitution +#. / is the given argument +#: src/client/application/application-client.vala:971 #, c-format -msgid "Use %s to open a new composer window" -msgstr "Pakai %s untuk membuka jendela penyusun baru" +msgid "Unrecognised program argument: “%s”" +msgstr "Argumen program tidak dikenal: \"%s\"" -#: src/client/application/geary-args.vala:56 -msgid "Please report comments, suggestions and bugs to:" -msgstr "Harap kirimkan komentar, saran, dan kutu ke:" - -#. i18n: Command line arguments are invalid -#: src/client/application/geary-args.vala:63 +#. / Notification title. +#: src/client/application/application-controller.vala:457 #, c-format -msgid "Failed to parse command line options: %s\n" -msgstr "Gagal mengurai opsi baris perintah: %s\n" +msgid "A problem occurred sending email for %s" +msgstr "Terjadi masalah saat mengirim surel untuk %s" -#: src/client/application/geary-args.vala:74 +#. / Notification body +#: src/client/application/application-controller.vala:461 +msgid "Email will not be sent until re-connected" +msgstr "Surel tidak akan dikirim sampai menyambung ulang" + +#. / Translators: Label for in-app notification +#: src/client/application/application-controller.vala:567 +msgid "Conversation marked" +msgid_plural "Conversations marked" +msgstr[0] "Percakapan ditandai" +msgstr[1] "Percakapan ditandai" + +#. / Translators: Label for in-app notification +#: src/client/application/application-controller.vala:573 +msgid "Conversation un-marked" +msgid_plural "Conversations un-marked" +msgstr[0] "Tanda percakapan dihapus" +msgstr[1] "Tanda percakapan dihapus" + +#. / Translators: Label for in-app +#. / notification. String substitution is the name +#. / of the destination folder. +#: src/client/application/application-controller.vala:599 +#: src/client/application/application-controller.vala:683 #, c-format -msgid "Unrecognized command line option “%s”\n" -msgstr "Opsi baris perintah tidak dikenal \"%s\"\n" +msgid "Conversation moved to %s" +msgid_plural "Conversations moved to %s" +msgstr[0] "Percakapan dipindah ke %s" +msgstr[1] "Percakapan dipindah ke %s" -#. Translators: File name used in save chooser when saving -#. attachments that do not otherwise have a name. -#: src/client/application/geary-controller.vala:68 -msgid "Untitled" -msgstr "Tak ada judul" +#. / Translators: Label for in-app +#. / notification. String substitution is the name +#. / of the source folder. +#. / Translators: Label for in-app notification. String +#. / substitution is the name of the destination folder. +#: src/client/application/application-controller.vala:607 +#: src/client/application/application-controller.vala:629 +#, c-format +msgid "Conversation restored to %s" +msgid_plural "Conversations restored to %s" +msgstr[0] "Percakapan dipulihkan ke %s" +msgstr[1] "Percakapan dipulihkan ke %s" -#: src/client/application/geary-controller.vala:721 -msgid "Unable to store server trust exception" -msgstr "Tak bisa menyimpan pengecualian kepercayaan server" +#. / Translators: Label for in-app notification. +#: src/client/application/application-controller.vala:650 +msgid "Conversation archived" +msgid_plural "Conversations archived" +msgstr[0] "Percakapan diarsipkan" +msgstr[1] "Percakapan diarsipkan" -#: src/client/application/geary-controller.vala:972 -msgid "Your settings are insecure" -msgstr "Pengaturan Anda tak aman" +#. / Translators: Label for in-app notification. String +#. / substitution is the name of the destination folder. +#: src/client/application/application-controller.vala:706 +#, c-format +msgid "Message restored to %s" +msgid_plural "Messages restored to %s" +msgstr[0] "Pesan dipulihkan ke %s" +msgstr[1] "Pesan dipulihkan ke %s" -#: src/client/application/geary-controller.vala:973 -msgid "" -"Your IMAP and/or SMTP settings do not specify SSL or TLS. This means your " -"username and password could be read by another person on the network. Are " -"you sure you want to do this?" -msgstr "" -"Pengaturan IMAP dan/atau SMTP Anda tidak menyatakan SSL atau TLS. Artinya " -"nama pengguna dan sandi Anda bisa dibaca orang lain di jaringan ini. Anda " -"yakin ingin melakukan ini?" +#. / Translators: Label for in-app notification. +#: src/client/application/application-controller.vala:727 +msgid "Message archived" +msgid_plural "Messages archived" +msgstr[0] "Pesan diarsipkan" +msgstr[1] "Pesan diarsipkan" -#: src/client/application/geary-controller.vala:974 -msgid "Co_ntinue" -msgstr "La_njutkan" +#. / Translators: Label for in-app +#. / notification. String substitution is the name +#. / of the destination folder. +#: src/client/application/application-controller.vala:762 +#, c-format +msgid "Message moved to %s" +msgid_plural "Messages moved to %s" +msgstr[0] "Pesan dipindah ke %s" +msgstr[1] "Pesan dipindah ke %s" -#. / Displayed in the space-limited status bar when a message fails to be sent due to error. -#: src/client/application/geary-controller.vala:1078 -#: src/client/components/status-bar.vala:29 -msgid "Error sending email" -msgstr "Galat saat mengirim surel" +#. / Translators: Label for in-app +#. / notification. String substitution is the name +#. / of the destination folder. +#: src/client/application/application-controller.vala:790 +#, c-format +msgid "Conversation labelled as %s" +msgid_plural "Conversations labelled as %s" +msgstr[0] "Percakapan dilabeli sebagai %s" +msgstr[1] "Percakapan dilabeli sebagai %s" -#: src/client/application/geary-controller.vala:1079 -msgid "" -"Geary encountered an error sending an email. If the problem persists, " -"please manually delete the email from your Outbox folder." -msgstr "" -"Gary menemui galat ketika mengirim sebuah surel. Bila masalah tetap muncul, " -"harap hapus surel secara manual dari folder Kotak Keluar Anda." +#. / Translators: Label for in-app +#. / notification. String substitution is the name +#. / of the destination folder. +#: src/client/application/application-controller.vala:798 +#, c-format +msgid "Conversation un-labelled as %s" +msgid_plural "Conversations un-labelled as %s" +msgstr[0] "Label %s dihapus dari percakapan" +msgstr[1] "Label %s dihapus dari percakapan" -#. Displayed in the space-limited status bar when a message fails to be uploaded -#. to Sent Mail after being sent. -#: src/client/application/geary-controller.vala:1083 -#: src/client/components/status-bar.vala:33 -msgid "Error saving sent mail" -msgstr "Galat saat menyimpan surel terkirim" - -#: src/client/application/geary-controller.vala:1084 -msgid "" -"Geary encountered an error saving a sent message to Sent Mail. The message " -"will stay in your Outbox folder until you delete it." -msgstr "" -"Gary menemui galat ketika menyimpan sebuah surel terkirim ke Sent Mail. " -"Pesan akan tetap berada di folder Kotak Keluar Anda sampai Anda menghapusnya." - -#: src/client/application/geary-controller.vala:1151 -msgid "Labels" -msgstr "Label" - -#. give the user two options: reset the Account local store, or exit Geary. A third -#. could be done to leave the Account in an unopened state, but we don't currently -#. have provisions for that. -#: src/client/application/geary-controller.vala:1163 +#: src/client/application/application-controller.vala:1221 #, c-format msgid "Unable to open the database for %s" msgstr "Tak bisa membuka basis data bagi %s" -#: src/client/application/geary-controller.vala:1164 +#: src/client/application/application-controller.vala:1222 #, c-format msgid "" "There was an error opening the local mail database for this account. This is " @@ -652,20 +1089,20 @@ msgstr "" "Membangun ulang basis data akan menghancurkan semua surel lokal dan " "lampirannya. Surat pada server Anda tak akan terpengaruh." -#: src/client/application/geary-controller.vala:1166 +#: src/client/application/application-controller.vala:1224 msgid "_Rebuild" msgstr "_Bangun Ulang" -#: src/client/application/geary-controller.vala:1166 +#: src/client/application/application-controller.vala:1224 msgid "E_xit" msgstr "_Keluar" -#: src/client/application/geary-controller.vala:1175 +#: src/client/application/application-controller.vala:1234 #, c-format msgid "Unable to rebuild database for “%s”" msgstr "Tak bisa membangun ulang basis data bagi \"%s\"" -#: src/client/application/geary-controller.vala:1176 +#: src/client/application/application-controller.vala:1235 #, c-format msgid "" "Error during rebuild:\n" @@ -676,68 +1113,110 @@ msgstr "" "\n" "%s" -#. some other problem opening the account ... as with other flow path, can't run -#. Geary today with an account in unopened state, so have to exit -#: src/client/application/geary-controller.vala:1198 -#: src/client/application/geary-controller.vala:1208 -#: src/client/application/geary-controller.vala:1219 +#. / Translators: The label for an in-app notification. The +#. / string substitution is a list of recipients of the email. +#: src/client/application/application-controller.vala:1558 #, c-format -msgid "Unable to open local mailbox for %s" -msgstr "Tak bisa membuka kotak surat bagi %s" +msgid "Email sent to %s" +msgstr "Surel dikirim ke %s" -#: src/client/application/geary-controller.vala:1199 +#. / Translators: The label for an in-app notification. The +#. / string substitution is a list of recipients of the email. +#: src/client/application/application-controller.vala:2636 #, c-format -msgid "" -"There was an error opening the local mail database for this account. This is " -"possibly due to a file permissions problem.\n" -"\n" -"Please check that you have read/write permissions for all files in this " -"directory:\n" -"\n" -"%s" -msgstr "" -"Ada galat saat membuka basis data surat lokal bagi akun ini. Ini mungkin " -"karena masalah hak akses berkas.\n" -"\n" -"Harap periksa apakah Anda punya hak baca/tulis bagi semua berkas dalam " -"direktori ini:\n" -"\n" -"%s" +msgid "Email to %s queued for delivery" +msgstr "Surel ke %s diantrikan untuk pengiriman" -#: src/client/application/geary-controller.vala:1209 -msgid "" -"The version number of the local mail database is formatted for a newer " -"version of Geary. Unfortunately, the database cannot be “rolled back” to " -"work with this version of Geary.\n" -"\n" -"Please install the latest version of Geary and try again." -msgstr "" -"Nomor versi dari basis data surat lokal diformat bagi versi Geary yang lebih " -"baru. Sayang sekali, basis data tak bisa di-\"roll back\" agar bekerja " -"dengan versi Geary ini.\n" -"\n" -"Harap pasang versi Geary terbaru dan coba lagi." +#. / Translators: The label for an in-app notification. The +#. / string substitution is a list of recipients of the email. +#: src/client/application/application-controller.vala:2701 +#, c-format +msgid "Email to %s saved" +msgstr "Surel ke %s disimpan" -#: src/client/application/geary-controller.vala:1220 -msgid "" -"There was an error opening the local account. This is probably due to " -"connectivity issues.\n" -"\n" -"Please check your network connection and restart Geary." -msgstr "" -"Ada galat saat membuka akun lokal. Ini mungkin karena masalah konektivitas.\n" -"\n" -"Harap periksa koneksi jaringan Anda dan start ulang Geary." +#. / Translators: A label for an in-app notification. +#: src/client/application/application-controller.vala:2716 +#: src/client/application/application-controller.vala:2774 +msgid "Composer could not be restored" +msgstr "Penyusun tidak dapat dipulihkan" -#: src/client/application/geary-controller.vala:2038 -msgid "Undo move (Ctrl+Z)" -msgstr "Tak jadi pindah (Ctrl+Z)" +#. / Translators: The label for an in-app notification. The +#. / string substitution is a list of recipients of the email. +#: src/client/application/application-controller.vala:2759 +#, c-format +msgid "Email to %s discarded" +msgstr "Surel ke %s dibuang" -#: src/client/application/geary-controller.vala:2048 +#. / Translators: Main window title, first string +#. / substitution being the currently selected folder name, +#. / the second being the selected account name. +#: src/client/application/application-main-window.vala:552 +#, c-format +msgid "%s — %s" +msgstr "%s — %s" + +#: src/client/application/application-main-window.vala:961 +msgid "Labels" +msgstr "Label" + +#. / Translators: Primary text for a confirmation dialog +#: src/client/application/application-main-window.vala:1297 +msgid "Do you want to permanently delete this conversation?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "Anda hendak membuang percakapan ini secara permanen?" +msgstr[1] "Anda hendak membuang percakapan-percakapan ini secara permanen?" + +#: src/client/application/application-main-window.vala:1302 +#: src/client/application/application-main-window.vala:1317 +msgid "Delete" +msgstr "Hapus" + +#. / Translators: Primary text for a confirmation dialog +#: src/client/application/application-main-window.vala:1312 +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "Anda mau membuang pesan ini secara permanen?" +msgstr[1] "" + +#: src/client/application/application-main-window.vala:1325 +#, c-format +msgid "Empty all email from your %s folder?" +msgstr "Kosongkan semua surel dari folder %s Anda?" + +#: src/client/application/application-main-window.vala:1328 +msgid "This removes the email from Geary and your email server." +msgstr "Ini menghapus surel dari Geary dan server surel Anda." + +#: src/client/application/application-main-window.vala:1329 +msgid "This cannot be undone." +msgstr "Ini tidak bisa dibatalkan." + +#: src/client/application/application-main-window.vala:1330 +#, c-format +msgid "Empty %s" +msgstr "Kosongkan %s" + +#: src/client/application/application-main-window.vala:1660 +#, c-format +msgid "%s (%d)" +msgstr "%s (%d)" + +#. Translators: The first argument will be a +#. description of the document type, the second will +#. be a human-friendly size string. For example: +#. Document (100.9MB) +#. / In the composer, the filename followed by its filesize, i.e. "notes.txt (1.12KB)" +#: src/client/components/components-attachment-pane.vala:107 +#: src/client/composer/composer-widget.vala:1815 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/client/components/components-attachment-pane.vala:379 msgid "Are you sure you want to open these attachments?" msgstr "Anda yakin ingin membuka lampiran-lampiran ini?" -#: src/client/application/geary-controller.vala:2049 +#: src/client/components/components-attachment-pane.vala:380 msgid "" "Attachments may cause damage to your system if opened. Only open files from " "trusted sources." @@ -745,389 +1224,282 @@ msgstr "" "Lampiran berpotensi bahaya jika dibuka. Hanya buka berkas dari sumber " "terpercaya." -#: src/client/application/geary-controller.vala:2050 +#: src/client/components/components-attachment-pane.vala:381 msgid "Don’t _ask me again" msgstr "Jangan tanya s_aya lagi" -#. Translators: Dialog primary label when prompting to -#. overwrite a file. The string substitution is the file'sx -#. name. -#: src/client/application/geary-controller.vala:2179 -#, c-format -msgid "A file named “%s” already exists. Do you want to replace it?" -msgstr "Berkas bernama \"%s\" sudah ada. Anda ingin menimpanya?" +#: src/client/components/components-inspector.vala:72 +msgid "Inspector" +msgstr "Pemeriksa" -#. Translators: Dialog secondary label when prompting to -#. overwrite a file. The string substitution is the parent -#. folder's name. -#: src/client/application/geary-controller.vala:2186 -#, c-format +#. / Translators: Title for Inspector logs pane +#. / Translators: Title for problem report dialog logs pane +#: src/client/components/components-inspector.vala:87 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:102 +msgid "Logs" +msgstr "Log" + +#. / Translators: Title for Inspector system system information pane +#. / Translators: Title for problem report system information +#. / pane +#: src/client/components/components-inspector.vala:91 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:105 +msgid "System" +msgstr "Sistem" + +#. Button label for saving problem report information +#: src/client/components/components-inspector.vala:208 +#: src/client/components/components-inspector.vala:211 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:221 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:224 +#: ui/problem-details-dialog.ui:42 +msgid "Save As" +msgstr "Simpan sebagai" + +#: src/client/components/components-inspector.vala:212 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:225 +#: ui/accounts_editor_servers_pane.ui:17 +msgid "Cancel" +msgstr "Batal" + +#. / Translators: Preferences label +#: src/client/components/components-preferences-window.vala:43 +msgid "_Automatically select next message" +msgstr "Otom_atis pilih pesan selanjutnya" + +#. / Translators: Preferences label +#: src/client/components/components-preferences-window.vala:53 +msgid "_Display conversation preview" +msgstr "_Tampilkan pratinjau percakapan" + +#. / Translators: Preferences label +#: src/client/components/components-preferences-window.vala:63 +msgid "Use _three pane view" +msgstr "Pakai tilikan _tiga panel" + +#. / Translators: Preferences label +#: src/client/components/components-preferences-window.vala:73 +msgid "Use _single key email shortcuts" +msgstr "Gunakan pintasan _surel tombol tunggal" + +#: src/client/components/components-preferences-window.vala:75 msgid "" -"The file already exists in “%s”. Replacing it will overwrite its contents." -msgstr "Berkas telah ada di \"%s\". Kalau ditimpa isi sebelumnya hilang." - -#: src/client/application/geary-controller.vala:2190 -msgid "_Replace" -msgstr "Timp_a" - -#: src/client/application/geary-controller.vala:2460 -msgid "Close the draft message?" -msgid_plural "Close all draft messages?" -msgstr[0] "Tutup semua draf pesan?" - -#: src/client/application/geary-controller.vala:2586 -#, c-format -msgid "Empty all email from your %s folder?" -msgstr "Kosongkan semua surel dari folder %s Anda?" - -#: src/client/application/geary-controller.vala:2587 -msgid "This removes the email from Geary and your email server." -msgstr "Ini menghapus surel dari Geary dan server surel Anda." - -#: src/client/application/geary-controller.vala:2588 -msgid "This cannot be undone." -msgstr "Ini tidak bisa dibatalkan." - -#: src/client/application/geary-controller.vala:2589 -#, c-format -msgid "Empty %s" -msgstr "Kosongkan %s" - -#: src/client/application/geary-controller.vala:2606 -#, c-format -msgid "Error emptying %s" -msgstr "Galat saat mengosongkan %s" - -#: src/client/application/geary-controller.vala:2638 -msgid "Do you want to permanently delete this message?" -msgid_plural "Do you want to permanently delete these messages?" -msgstr[0] "Anda mau membuang pesan ini secara permanen?" - -#: src/client/application/geary-controller.vala:2640 -msgid "Delete" -msgstr "Hapus" - -#: src/client/application/geary-controller.vala:2654 -msgid "Undo trash (Ctrl+Z)" -msgstr "Tak jadi buang ke tong sampah (Ctrl+Z)" - -#: src/client/application/geary-controller.vala:2704 -msgid "Undo archive (Ctrl+Z)" -msgstr "Tak jadi arsipkan (Ctrl+Z)" - -#: src/client/application/geary-controller.vala:2749 -msgid "Undo (Ctrl+Z)" -msgstr "Tak jadi (Ctrl+Z)" - -#. Translators: The label for an in-app notification. The -#. string substitution is a list of recipients of the email. -#: src/client/application/geary-controller.vala:2826 -#, c-format -msgid "Successfully sent mail to %s." -msgstr "Berhasil mengirim surel ke %s." - -#: src/client/application/geary-controller.vala:2907 -msgid "Failed to open default text editor." -msgstr "Gagal membuka penyunting teks utama." - -#. Tooltips -#: src/client/components/main-toolbar.vala:69 -msgid "Delete conversation (Shift+Delete)" -msgstr "Hapus percakapan (Shift+Delete)" - -#: src/client/components/main-toolbar.vala:70 -msgid "Delete conversations (Shift+Delete)" -msgstr "Hapus percakapan (Shift+Delete)" - -#: src/client/components/main-toolbar.vala:71 -msgid "Move conversation to Trash (Delete, Backspace)" -msgstr "Pindahkan percakapan ke Tong Sampah (Delete, Backspace)" - -#: src/client/components/main-toolbar.vala:72 -msgid "Move conversations to Trash (Delete, Backspace)" -msgstr "Pindahkan percakapan ke Tong Sampah (Delete, Backspace)" - -#: src/client/components/main-toolbar.vala:73 -msgid "Archive conversation (A)" -msgstr "Arsipkan percakapan (A)" - -#: src/client/components/main-toolbar.vala:74 -msgid "Archive conversations (A)" -msgstr "Arsipkan percakapan (A)" - -#: src/client/components/main-toolbar.vala:75 -msgid "Mark conversation" -msgstr "Tandai percakapan" - -#: src/client/components/main-toolbar.vala:76 -msgid "Mark conversations" -msgstr "Tandai percakapan" - -#: src/client/components/main-toolbar.vala:77 -msgid "Add label to conversation" -msgstr "Tambahkan label ke percakapan" - -#: src/client/components/main-toolbar.vala:78 -msgid "Add label to conversations" -msgstr "Tambahkan label ke percakapan" - -#: src/client/components/main-toolbar.vala:79 -msgid "Move conversation" -msgstr "Pindahkan percakapan" - -#: src/client/components/main-toolbar.vala:80 -msgid "Move conversations" -msgstr "Pindahkan percakapan" - -#: src/client/components/main-window.vala:440 -#, c-format -msgid "%s (%d)" -msgstr "%s (%d)" - -#. Translators: String substitution is the account name -#: src/client/components/main-window-info-bar.vala:54 -#, c-format -msgid "Problem connecting to incoming server for %s" -msgstr "Masalah saat menyambung ke server masuk untuk %s" - -#. Translators: String substitution is the server name -#: src/client/components/main-window-info-bar.vala:56 -#: src/client/components/main-window-info-bar.vala:64 -#, c-format -msgid "" -"Could not connect to %s, check your Internet access and the server name and " -"try again" +"Enable keyboard shortcuts for email actions that do not require pressing " +"" msgstr "" -"Tidak dapat terhubung ke %s, periksa akses Internet dan nama server dan coba " -"lagi" +"Memfungsikan pintasan papan tik untuk aksi-aksi surel yang tidak memerlukan " +"menekan " -#: src/client/components/main-window-info-bar.vala:57 -#: src/client/components/main-window-info-bar.vala:66 -msgid "Retry connecting now" -msgstr "Coba lagi sambungkan sekarang" +#. / Translators: Preferences label +#: src/client/components/components-preferences-window.vala:86 +msgid "_Watch for new mail when closed" +msgstr "A_wasi surat baru ketika ditutup" -#. Translators: String substitution is the account name -#: src/client/components/main-window-info-bar.vala:62 -#, c-format -msgid "Problem connecting to outgoing server for %s" -msgstr "Masalah saat menyambung ke server keluar untuk %s" +#. / Translators: Preferences tooltip +#: src/client/components/components-preferences-window.vala:90 +msgid "Geary will keep running after all windows are closed" +msgstr "Geary akan terus berjalan setelah semua jendela ditutup" -#: src/client/components/main-window-info-bar.vala:65 -msgid "Try reconnecting now" -msgstr "Coba hubungkan kembali sekarang" - -#. Translators: String substitution is the account name -#: src/client/components/main-window-info-bar.vala:71 -#, c-format -msgid "Problem with connection to incoming server for %s" -msgstr "Masalah dengan koneksi ke server masuk untuk %s" - -#. Translators: String substitution is the server name -#: src/client/components/main-window-info-bar.vala:73 -#: src/client/components/main-window-info-bar.vala:81 -#, c-format -msgid "Network error talking to %s, check your Internet access and try again" -msgstr "" -"Terjadi kesalahan jaringan saat berbicara dengan %s, periksa akses Internet " -"Anda dan coba lagi" - -#: src/client/components/main-window-info-bar.vala:74 -#: src/client/components/main-window-info-bar.vala:82 -#: src/client/components/main-window-info-bar.vala:90 -#: src/client/components/main-window-info-bar.vala:98 -#: src/client/components/main-window-info-bar.vala:119 -msgid "Try reconnecting" -msgstr "Coba sambungkan kembali" - -#. Translators: String substitution is the account name -#: src/client/components/main-window-info-bar.vala:79 -#, c-format -msgid "Problem with connection to outgoing server for %s" -msgstr "Masalah koneksi ke server keluar untuk %s" - -#. Translators: String substitution is the account name -#: src/client/components/main-window-info-bar.vala:87 -#, c-format -msgid "Problem communicating with incoming server for %s" -msgstr "Masalah berkomunikasi dengan server masuk untuk %s" - -#. Translators: String substitution is the server name -#: src/client/components/main-window-info-bar.vala:89 -#, c-format -msgid "" -"Geary did not understand a message from %s or vice versa, please file a bug " -"report" -msgstr "" -"Geary tidak mengerti pesan dari %s atau sebaliknya, mohon laporkan kutu" - -#: src/client/components/main-window-info-bar.vala:94 -msgid "Problem communicating with outgoing mail server" -msgstr "Masalah berkomunikasi dengan server surat keluar" - -#. Translators: First string substitution is the server -#. name, second is the account name -#: src/client/components/main-window-info-bar.vala:97 -#, c-format -msgid "" -"Could not communicate with %s for %s, check the server name and try again in " -"a moment" -msgstr "" -"Tidak dapat berkomunikasi dengan %s untuk %s, periksa nama server dan coba " -"lagi dalam sekejap" - -#. Translators: String substitution is the account name -#: src/client/components/main-window-info-bar.vala:103 -#, c-format -msgid "Incoming mail server password required for %s" -msgstr "Kata sandi server surat masuk diperlukan untuk %s" - -#: src/client/components/main-window-info-bar.vala:104 -msgid "Messages cannot be received without the correct password." -msgstr "Pesan tidak bisa diterima tanpa kata sandi yang benar." - -#: src/client/components/main-window-info-bar.vala:105 -msgid "Retry receiving email, you will be prompted for a password" -msgstr "Coba lagi menerima surel, Anda akan diminta memasukkan kata sandi" - -#. Translators: String substitution is the account name -#: src/client/components/main-window-info-bar.vala:110 -#, c-format -msgid "Outgoing mail server password required for %s" -msgstr "Kata sandi server surat keluar diperlukan untuk %s" - -#: src/client/components/main-window-info-bar.vala:111 -msgid "Messages cannot be sent without the correct password." -msgstr "Pesan tidak dapat dikirim tanpa kata sandi yang benar." - -#: src/client/components/main-window-info-bar.vala:112 -msgid "Retry sending queued messages, you will be prompted for a password" -msgstr "" -"Coba lagi mengirim pesan antrian, Anda akan diminta memasukkan kata sandi" - -#. Translators: String substitution is the account name -#: src/client/components/main-window-info-bar.vala:117 -#, c-format -msgid "A problem occurred checking mail for %s" -msgstr "Terjadi masalah saat memeriksa surel untuk %s" - -#: src/client/components/main-window-info-bar.vala:118 -#: src/client/components/main-window-info-bar.vala:125 -msgid "Something went wrong, please file a bug report if the problem persists" -msgstr "Ada yang tidak beres, kirimkan laporan kutu jika masalah berlanjut" - -#. Translators: String substitution is the account name -#: src/client/components/main-window-info-bar.vala:124 -#, c-format -msgid "A problem occurred sending mail for %s" -msgstr "Terjadi masalah saat mengirim surel untuk %s" - -#: src/client/components/main-window-info-bar.vala:126 -msgid "Retry sending queued messages" -msgstr "Coba lagi mengirim pesan antrian" - -#: src/client/components/main-window-info-bar.vala:137 -msgid "A database problem has occurred" -msgstr "Masalah basis data telah terjadi" - -#. Translators: String substitution is the account name -#: src/client/components/main-window-info-bar.vala:139 -#, c-format -msgid "Messages for %s must be downloaded again." -msgstr "Pesan untuk %s harus diunduh lagi." - -#: src/client/components/main-window-info-bar.vala:152 -msgid "Geary has encountered a problem" -msgstr "Geary mengalami masalah" - -#: src/client/components/main-window-info-bar.vala:153 -msgid "" -"Please check the technical details and report the problem if it persists." -msgstr "Silakan periksa rincian teknis dan laporkan masalahnya jika tetap ada." - -#: src/client/components/main-window-info-bar.vala:161 -msgid "_Details" -msgstr "_Detail" - -#: src/client/components/main-window-info-bar.vala:162 -msgid "View technical details about the error" -msgstr "Lihat rincian teknis tentang kesalahan tersebut" - -#: src/client/components/main-window-info-bar.vala:166 -msgid "_Retry" -msgstr "_Ulangi" - -#: src/client/components/main-window-info-bar.vala:253 -msgid "Details" -msgstr "Detail" - -#: src/client/components/main-window-info-bar.vala:266 -#: src/client/components/stock.vala:23 -msgid "_Close" -msgstr "_Tutup" - -#: src/client/components/main-window-info-bar.vala:270 -msgid "Copy to Clipboard" -msgstr "Salin ke Papan Klip" - -#: src/client/components/main-window-info-bar.vala:273 -msgid "" -"Copy technical details to clipboard for pasting into an email or bug report" -msgstr "" -"Salin rincian teknis ke papan klip untuk menempelkan surel atau laporan kutu" - -#: src/client/components/search-bar.vala:8 -#: src/client/folder-list/folder-list-search-branch.vala:38 +#. / Translators: Search entry placeholder text +#: src/client/components/components-search-bar.vala:12 +#: src/client/folder-list/folder-list-search-branch.vala:53 #: src/engine/api/geary-special-folder-type.vala:51 msgid "Search" msgstr "Cari" -#. Search entry. -#: src/client/components/search-bar.vala:23 -msgid "Search all mail in account for keywords (Ctrl+S)" -msgstr "Cari kata kunci pada semua surat dalam akun (Ctrl+S)" +#. / Translators: Search entry tooltip +#: src/client/components/components-search-bar.vala:32 +msgid "Search all mail in account for keywords" +msgstr "Cari kata kunci di semua surat dalam akun" -#: src/client/components/search-bar.vala:100 -#, c-format -msgid "Indexing %s account" -msgstr "Mengindeks akun %s" - -#: src/client/components/search-bar.vala:111 -#: src/client/folder-list/folder-list-search-branch.vala:39 +#. / Translators: Search entry placeholder, string +#. / replacement is the name of an account +#: src/client/components/components-search-bar.vala:81 +#: src/client/folder-list/folder-list-search-branch.vala:54 #, c-format msgid "Search %s account" msgstr "Cari akun %s" +#. Translators: Tooltip used when an entry requires a valid +#. email address to be entered, but one is not provided. +#: src/client/components/components-validator.vala:390 +msgid "An email address is required" +msgstr "Alamat surel diperlukan" + +#. Translators: Tooltip used when an entry requires a valid +#. email address to be entered, but the address is invalid. +#: src/client/components/components-validator.vala:394 +msgid "Not a valid email address" +msgstr "Bukan alamat surel yang valid" + +#. Translators: Tooltip used when an entry requires a valid, +#. resolvable server name to be entered, but one is not +#. provided. +#: src/client/components/components-validator.vala:440 +msgid "A server name is required" +msgstr "Suatu nama server diperlukan" + +#. Translators: Tooltip used when an entry requires a valid +#. server name to be entered, but it was unable to be +#. looked-up in the DNS. +#: src/client/components/components-validator.vala:445 +msgid "Could not look up server name" +msgstr "Tidak bisa mencari nama server" + +#: src/client/components/main-toolbar.vala:142 +msgid "Mark conversation" +msgid_plural "Mark conversations" +msgstr[0] "Tandai percakapan" +msgstr[1] "" + +#: src/client/components/main-toolbar.vala:147 +msgid "Add label to conversation" +msgid_plural "Add label to conversations" +msgstr[0] "Tambahkan label ke percakapan" +msgstr[1] "" + +#: src/client/components/main-toolbar.vala:152 +msgid "Move conversation" +msgid_plural "Move conversations" +msgstr[0] "Pindahkan percakapan" +msgstr[1] "" + +#: src/client/components/main-toolbar.vala:157 +msgid "Archive conversation" +msgid_plural "Archive conversations" +msgstr[0] "Arsipkan percakapan" +msgstr[1] "" + +#: src/client/components/main-toolbar.vala:168 +msgid "Move conversation to Trash" +msgid_plural "Move conversations to Trash" +msgstr[0] "Pindahkan percakapan ke Tong Sampah" +msgstr[1] "" + +#: src/client/components/main-toolbar.vala:178 +msgid "Delete conversation" +msgid_plural "Delete conversations" +msgstr[0] "Hapus percakapan" +msgstr[1] "" + +#. Translators: Info bar title for a generic account +#. problem. +#: src/client/components/main-window-info-bar.vala:44 +msgid "Account problem" +msgstr "Masalah akun" + +#. Translators: Info bar sub-title for a generic account +#. problem. String substitution is the account name. +#: src/client/components/main-window-info-bar.vala:48 +#, c-format +msgid "Geary has encountered a problem with %s." +msgstr "Geary mengalami masalah dengan %s." + +#. Translators: Info bar sub-title for a generic +#. account problem. String substitution is the +#. account name. +#: src/client/components/main-window-info-bar.vala:61 +#, c-format +msgid "Geary encountered a problem checking mail for %s." +msgstr "Geary mengalami masalah memeriksa surel bagi %s." + +#. Translators: Tooltip label for Retry button +#: src/client/components/main-window-info-bar.vala:65 +msgid "Try reconnecting" +msgstr "Coba sambungkan kembali" + +#. Translators: Info bar title for an outgoing +#. account problem. String substitution is the +#. account name +#: src/client/components/main-window-info-bar.vala:73 +#, c-format +msgid "Geary encountered a problem sending email for %s." +msgstr "Geary mengalami masalah mengirim surel untuk %s." + +#. Translators: Tooltip label for Retry button +#: src/client/components/main-window-info-bar.vala:77 +msgid "Retry sending queued messages" +msgstr "Coba lagi mengirim pesan antrian" + +#. Translators: Info bar title for a generic application +#. problem. +#: src/client/components/main-window-info-bar.vala:84 +msgid "Geary has encountered a problem" +msgstr "Geary mengalami masalah" + +#. Translators: Info bar sub-title for a generic +#. application problem. +#: src/client/components/main-window-info-bar.vala:88 +msgid "Please report the details if it persists." +msgstr "Mohon laporkan rincian bila terus berlangsung." + +#. Translators: Button label for viewing technical details +#. for a problem report. +#: src/client/components/main-window-info-bar.vala:99 +msgid "_Details" +msgstr "_Detail" + +#. Translators: Tooltip for viewing technical details for +#. a problem report. +#: src/client/components/main-window-info-bar.vala:102 +msgid "View technical details about the error" +msgstr "Lihat rincian teknis tentang kesalahan tersebut" + +#. Translators: Button label for retrying a server +#. connection +#: src/client/components/main-window-info-bar.vala:108 +msgid "_Retry" +msgstr "_Ulangi" + #. / Displayed in the space-limited status bar while a message is in the process of being sent. #: src/client/components/status-bar.vala:26 msgid "Sending…" msgstr "Mengirim…" -#: src/client/components/stock.vala:18 ui/account_cannot_remove.glade:74 +#. / Displayed in the space-limited status bar when a message fails to be sent due to error. +#: src/client/components/status-bar.vala:29 +msgid "Error sending email" +msgstr "Galat saat mengirim surel" + +#. Displayed in the space-limited status bar when a message fails to be uploaded +#. to Sent Mail after being sent. +#: src/client/components/status-bar.vala:33 +msgid "Error saving sent mail" +msgstr "Galat saat menyimpan surel terkirim" + +#: src/client/components/stock.vala:18 msgid "_OK" msgstr "_OK" -#: src/client/components/stock.vala:19 ui/edit_alternate_emails.glade:160 -#: ui/password-dialog.glade:196 ui/remove_confirm.glade:155 +#: src/client/components/stock.vala:19 ui/password-dialog.glade:196 msgid "_Cancel" msgstr "Ba_tal" -#: src/client/components/stock.vala:21 ui/gtk/menus.ui:34 +#: src/client/components/stock.vala:21 msgid "_About" msgstr "Tent_ang" +#: src/client/components/stock.vala:22 +msgid "_Add" +msgstr "T_ambah" + +#: src/client/components/stock.vala:23 +msgid "_Close" +msgstr "_Tutup" + #: src/client/components/stock.vala:24 msgid "_Discard" msgstr "_Buang" -#: src/client/components/stock.vala:25 ui/gtk/menus.ui:29 +#: src/client/components/stock.vala:25 ui/main-toolbar-menus.ui:52 msgid "_Help" msgstr "_Bantuan" -#: src/client/components/stock.vala:26 ui/conversation-email-menus.ui:77 +#: src/client/components/stock.vala:26 ui/components-attachment-pane-menus.ui:7 msgid "_Open" msgstr "_Buka" -#: src/client/components/stock.vala:27 ui/gtk/menus.ui:17 +#: src/client/components/stock.vala:27 ui/main-toolbar-menus.ui:42 msgid "_Preferences" msgstr "_Preferensi" @@ -1136,14 +1508,19 @@ msgstr "_Preferensi" msgid "_Print…" msgstr "_Cetak…" -#: src/client/components/stock.vala:29 ui/gtk/menus.ui:38 +#: src/client/components/stock.vala:29 msgid "_Quit" msgstr "_Keluar" -#: src/client/components/stock.vala:30 ui/remove_confirm.glade:170 +#: src/client/components/stock.vala:30 msgid "_Remove" msgstr "Singki_rkan" +#: src/client/components/stock.vala:31 +#: ui/components-attachment-pane-menus.ui:11 +msgid "_Save" +msgstr "_Simpan" + #: src/client/components/stock.vala:32 msgid "_Keep" msgstr "_Pertahankan" @@ -1160,27 +1537,33 @@ msgstr "URL tautan tidak valid" msgid "Invalid email address" msgstr "Alamat surel tidak valid" -#: src/client/composer/composer-widget.vala:158 +#. / Translators: Title for an empty composer window +#: src/client/composer/composer-widget.vala:28 +msgid "New Message" +msgstr "Pesan Baru" + +#: src/client/composer/composer-widget.vala:210 msgid "Saved" msgstr "Disimpan" -#: src/client/composer/composer-widget.vala:159 +#: src/client/composer/composer-widget.vala:211 msgid "Saving" msgstr "Menyimpan" -#: src/client/composer/composer-widget.vala:160 +#: src/client/composer/composer-widget.vala:212 msgid "Error saving" msgstr "Galat saat menyimpan" -#: src/client/composer/composer-widget.vala:161 +#: src/client/composer/composer-widget.vala:213 msgid "Press Backspace to delete quote" msgstr "Tekan Backspace untuk menghapus kutip" #. Translators: This is list of keywords, separated by pipe ("|") #. characters, that suggest an attachment; since this is full-word -#. checking, include all variants of each word. No spaces are -#. allowed. -#: src/client/composer/composer-widget.vala:170 +#. checking, include all variants of each word. No spaces are +#. allowed. The words will be converted to lower case based on +#. locale and English versions included automatically. +#: src/client/composer/composer-widget.vala:229 msgid "" "attach|attaching|attaches|attachment|attachments|attached|enclose|enclosed|" "enclosing|encloses|enclosure|enclosures" @@ -1192,256 +1575,266 @@ msgstr "" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. Keep, Discard or Cancel. -#: src/client/composer/composer-widget.vala:1102 +#: src/client/composer/composer-widget.vala:814 msgid "Do you want to keep or discard this draft message?" msgstr "Anda mau menyimpan atau membuang draf pesan ini?" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. only Discard or Cancel. -#: src/client/composer/composer-widget.vala:1130 +#: src/client/composer/composer-widget.vala:840 msgid "Do you want to discard this draft message?" msgstr "Anda mau membuang draf pesan ini?" -#: src/client/composer/composer-widget.vala:1247 +#: src/client/composer/composer-widget.vala:1484 msgid "Send message with an empty subject and body?" msgstr "Kirim pesan dengan subjek dan isi kosong?" -#: src/client/composer/composer-widget.vala:1249 +#: src/client/composer/composer-widget.vala:1486 msgid "Send message with an empty subject?" msgstr "Kirim pesan dengan subjek kosong?" -#: src/client/composer/composer-widget.vala:1251 +#: src/client/composer/composer-widget.vala:1488 msgid "Send message with an empty body?" msgstr "Kirim pesan tanpa isi?" -#: src/client/composer/composer-widget.vala:1255 +#: src/client/composer/composer-widget.vala:1497 msgid "Send message without an attachment?" msgstr "Kirim pesan tanpa lampiran?" -#: src/client/composer/composer-widget.vala:1560 +#: src/client/composer/composer-widget.vala:1807 #, c-format msgid "“%s” already attached for delivery." msgstr "\"%s\" sudah dilampirkan untuk pengiriman." -#. / In the composer, the filename followed by its filesize, i.e. "notes.txt (1.12KB)" -#. Translators: The first argument will be a -#. description of the document type, the second will -#. be a human-friendly size string. For example: -#. Document (100.9MB) -#: src/client/composer/composer-widget.vala:1568 -#: src/client/conversation-viewer/conversation-email.vala:136 -#, c-format -msgid "%s (%s)" -msgstr "%s (%s)" - -#: src/client/composer/composer-widget.vala:1605 -#, c-format -msgid "“%s” could not be found." -msgstr "\"%s\" tidak ditemukan." - -#: src/client/composer/composer-widget.vala:1611 -#, c-format -msgid "“%s” is a folder." -msgstr "\"%s\" adalah sebuah folder." - -#: src/client/composer/composer-widget.vala:1617 +#: src/client/composer/composer-widget.vala:1837 +#: src/client/composer/composer-widget.vala:1887 #, c-format msgid "“%s” is an empty file." msgstr "\"%s\" adalah berkas kosong." -#: src/client/composer/composer-widget.vala:1630 +#: src/client/composer/composer-widget.vala:1875 +#, c-format +msgid "“%s” could not be found." +msgstr "\"%s\" tidak ditemukan." + +#: src/client/composer/composer-widget.vala:1881 +#, c-format +msgid "“%s” is a folder." +msgstr "\"%s\" adalah sebuah folder." + +#: src/client/composer/composer-widget.vala:1900 #, c-format msgid "“%s” could not be opened for reading." msgstr "\"%s\" tak bisa dibuka untuk dibaca." -#: src/client/composer/composer-widget.vala:1638 +#: src/client/composer/composer-widget.vala:1908 msgid "Cannot add attachment" msgstr "Tak bisa menambah lampiran" -#: src/client/composer/composer-widget.vala:1687 -msgid "To: " -msgstr "Kepada: " +#. Translators: Human-readable version of the RFC 822 To header +#: src/client/composer/composer-widget.vala:1965 +#: src/client/conversation-viewer/conversation-email.vala:559 +#: src/client/util/util-email.vala:235 ui/conversation-message.ui:312 +msgid "To:" +msgstr "Ke:" -#: src/client/composer/composer-widget.vala:1690 -msgid "Cc: " -msgstr "Cc: " +#. Translators: Human-readable version of the RFC 822 CC header +#: src/client/composer/composer-widget.vala:1971 +#: src/client/conversation-viewer/conversation-email.vala:564 +#: src/client/util/util-email.vala:240 ui/conversation-message.ui:357 +msgid "Cc:" +msgstr "Cc:" -#: src/client/composer/composer-widget.vala:1693 -msgid "Bcc: " -msgstr "Bcc: " +#. Translators: Human-readable version of the RFC 822 BCC header +#: src/client/composer/composer-widget.vala:1977 +#: src/client/conversation-viewer/conversation-email.vala:569 +#: ui/conversation-message.ui:402 +msgid "Bcc:" +msgstr "Bcc:" -#: src/client/composer/composer-widget.vala:1696 +#. Translators: Human-readable version of the RFC 822 Reply-To header +#: src/client/composer/composer-widget.vala:1983 msgid "Reply-To: " msgstr "Balas-Ke: " -#: src/client/composer/composer-widget.vala:1834 +#: src/client/composer/composer-widget.vala:2172 msgid "Select Color" msgstr "Pilih Warna" -#. Displayed in the From dropdown to indicate an "alternate email address" -#. for an account. The first printf argument will be the alternate email -#. address, and the second will be the account's primary email address. -#: src/client/composer/composer-widget.vala:2024 +#. Displayed in the From dropdown to indicate an +#. "alternate email address" for an account. The first +#. printf argument will be the alternate email address, +#. and the second will be the account's primary email +#. address. +#: src/client/composer/composer-widget.vala:2364 #, c-format msgid "%1$s via %2$s" msgstr "%1$s via %2$s" #. Composer label (with mnemonic underscore) for the account selector #. when choosing what address to send a message from. -#: src/client/composer/composer-widget.vala:2082 +#: src/client/composer/composer-widget.vala:2420 msgid "_From:" msgstr "_Dari:" #. Translators: This is the name of the file chooser filter #. when inserting an image in the composer. -#: src/client/composer/composer-widget.vala:2307 +#: src/client/composer/composer-widget.vala:2723 msgid "Images" msgstr "Citra" -#: src/client/composer/composer-window.vala:14 -msgid "New Message" -msgstr "Pesan Baru" - -#: src/client/composer/spell-check-popover.vala:117 +#: src/client/composer/spell-check-popover.vala:108 msgid "Remove this language from the preferred list" msgstr "Hapus bahasa ini dari daftar yang disukai" -#: src/client/composer/spell-check-popover.vala:121 +#: src/client/composer/spell-check-popover.vala:112 msgid "Add this language to the preferred list" msgstr "Tambahkan bahasa ini ke daftar yang disukai" -#: src/client/composer/spell-check-popover.vala:217 +#: src/client/composer/spell-check-popover.vala:199 msgid "Search for more languages" msgstr "Cari lebih banyak bahasa lagi" -#: src/client/conversation-list/conversation-list-view.vala:283 -msgid "Delete conversation" -msgstr "Hapus percakapan" +#. / Translators: Context menu item +#: src/client/conversation-list/conversation-list-view.vala:335 +msgid "Move conversation to _Trash" +msgid_plural "Move conversations to _Trash" +msgstr[0] "Pindahkan percakapan ke _Tong Sampah" +msgstr[1] "" -#: src/client/conversation-list/conversation-list-view.vala:286 -#: ui/main-toolbar-menus.ui:16 +#. / Translators: Context menu item +#: src/client/conversation-list/conversation-list-view.vala:347 +msgid "_Delete conversation" +msgid_plural "_Delete conversations" +msgstr[0] "_Hapus percakapan" +msgstr[1] "" + +#: src/client/conversation-list/conversation-list-view.vala:360 +#: ui/main-toolbar-menus.ui:5 msgid "Mark as _Read" msgstr "Tandai Sudah Di_baca" -#: src/client/conversation-list/conversation-list-view.vala:289 -#: ui/main-toolbar-menus.ui:20 +#: src/client/conversation-list/conversation-list-view.vala:368 +#: ui/main-toolbar-menus.ui:9 msgid "Mark as _Unread" msgstr "Tandai _Belum Dibaca" -#: src/client/conversation-list/conversation-list-view.vala:292 -#: ui/main-toolbar-menus.ui:28 +#: src/client/conversation-list/conversation-list-view.vala:376 +#: ui/main-toolbar-menus.ui:17 msgid "U_nstar" msgstr "Hapus bi_ntang" -#: src/client/conversation-list/conversation-list-view.vala:294 -#: ui/main-toolbar-menus.ui:24 +#: src/client/conversation-list/conversation-list-view.vala:383 +#: ui/main-toolbar-menus.ui:13 msgid "_Star" msgstr "_Bintangi" #. Translators: Menu item to reply to a specific message. -#: src/client/conversation-list/conversation-list-view.vala:297 +#: src/client/conversation-list/conversation-list-view.vala:392 #: ui/conversation-email-menus.ui:9 msgid "_Reply" msgstr "B_alas" -#: src/client/conversation-list/conversation-list-view.vala:298 +#: src/client/conversation-list/conversation-list-view.vala:398 msgid "R_eply All" msgstr "Balas S_emua" #. Translators: Menu item to forward a specific message. -#: src/client/conversation-list/conversation-list-view.vala:299 +#: src/client/conversation-list/conversation-list-view.vala:404 #: ui/conversation-email-menus.ui:21 msgid "_Forward" msgstr "_Teruskan" -#: src/client/conversation-list/formatted-conversation-data.vala:11 +#: src/client/conversation-list/formatted-conversation-data.vala:18 msgid "Me" msgstr "Aku" -#. Translators: This is the file type displayed for -#. attachments with unknown file types. -#: src/client/conversation-viewer/conversation-email.vala:122 -msgid "Unknown" -msgstr "Tak dikenal" - -#: src/client/conversation-viewer/conversation-email.vala:811 +#. Translators: Human-readable version of the RFC 822 From header +#: src/client/conversation-viewer/conversation-email.vala:554 +#: src/client/util/util-email.vala:226 msgid "From:" msgstr "Dari:" -#: src/client/conversation-viewer/conversation-email.vala:815 -#: ui/conversation-message.ui:313 -msgid "To:" -msgstr "Ke:" - -#: src/client/conversation-viewer/conversation-email.vala:819 -#: ui/conversation-message.ui:358 -msgid "Cc:" -msgstr "Cc:" - -#: src/client/conversation-viewer/conversation-email.vala:823 -#: ui/conversation-message.ui:403 -msgid "Bcc:" -msgstr "Bcc:" - -#: src/client/conversation-viewer/conversation-email.vala:827 +#. Translators: Human-readable version of the RFC 822 Date header +#: src/client/conversation-viewer/conversation-email.vala:574 +#: src/client/util/util-email.vala:231 msgid "Date:" msgstr "Tanggal:" -#: src/client/conversation-viewer/conversation-email.vala:831 +#. Translators: Human-readable version of the RFC 822 Subject header +#: src/client/conversation-viewer/conversation-email.vala:584 +#: src/client/util/util-email.vala:229 msgid "Subject:" msgstr "Subjek:" -#: src/client/conversation-viewer/conversation-message.vala:60 +#: src/client/conversation-viewer/conversation-message.vala:128 msgid "This email address may have been forged" msgstr "Alamat surel ini mungkin telah dipalsukan" -#. Preview headers +#. Compact headers. These are partially done here and partially +#. in load_contacts. #. Translators: This is displayed in place of the from address #. when the message has no from address. -#: src/client/conversation-viewer/conversation-message.vala:330 +#: src/client/conversation-viewer/conversation-message.vala:465 msgid "No sender" msgstr "Tidak ada pengirim" #. Translators: This separates multiple 'from' -#. addresses in the header preview for a message. -#: src/client/conversation-viewer/conversation-message.vala:589 +#. addresses in the compact header for a message. +#: src/client/conversation-viewer/conversation-message.vala:959 msgid ", " msgstr ", " #. Translators: This string is used as the HTML IMG ALT #. attribute value when displaying an inline image in an email #. that did not specify a file name. E.g. ImageCannot remove account " -msgstr "Tak dapat menghapus akun " - -#: ui/account_cannot_remove.glade:56 -msgid "" -"A composer window associated with this account is currently open. Send or " -"discard the message and try again." -msgstr "" -"Jendela penyusun pesan dari akun ini sedang terbuka. Kirim atau buang pesan " -"itu dan coba lagi." - -#: ui/account_list.glade:69 -msgid "Add account" +#: ui/accounts_editor_add_pane.ui:8 ui/accounts_editor_list_pane.ui:126 +msgid "Add an account" msgstr "Tambah akun" -#: ui/account_list.glade:82 -msgid "Edit account" -msgstr "Sunting akun" +#: ui/accounts_editor_add_pane.ui:53 +msgid "Create" +msgstr "Buat" -#: ui/account_list.glade:95 +#: ui/accounts_editor_add_pane.ui:130 ui/accounts_editor_servers_pane.ui:125 +msgid "Receiving" +msgstr "Menerima" + +#: ui/accounts_editor_add_pane.ui:178 ui/accounts_editor_servers_pane.ui:165 +msgid "Sending" +msgstr "Mengirim" + +#: ui/accounts_editor_edit_pane.ui:8 +msgid "Edit Account" +msgstr "Sunting Akun" + +#: ui/accounts_editor_edit_pane.ui:9 ui/accounts_editor_servers_pane.ui:9 +msgid "Account Name" +msgstr "Nama Akun" + +#: ui/accounts_editor_edit_pane.ui:124 +msgid "Email addresses" +msgstr "Alamat surel" + +#: ui/accounts_editor_edit_pane.ui:164 +msgid "Signature" +msgstr "Tanda Tangan" + +#: ui/accounts_editor_edit_pane.ui:201 +msgid "Settings" +msgstr "Pengaturan" + +#. This is a button in the account settings to show server settings. +#: ui/accounts_editor_edit_pane.ui:243 ui/accounts_editor_servers_pane.ui:8 +msgid "Server Settings" +msgstr "Pengaturan Server" + +#. This is the remove account button in the account settings. +#: ui/accounts_editor_edit_pane.ui:258 ui/accounts_editor_remove_pane.ui:23 +msgid "Remove Account" +msgstr "Hapus Akun" + +#: ui/accounts_editor_edit_pane.ui:262 ui/accounts_editor_remove_pane.ui:27 +msgid "Remove this account from Geary" +msgstr "Hapus akun ini dari Geary" + +#: ui/accounts_editor_list_pane.ui:8 +msgid "Accounts" +msgstr "Akun" + +#: ui/accounts_editor_list_pane.ui:62 +msgid "To get started, select an email provider below." +msgstr "Untuk memulai, pilih sebuah penyedia surel di bawah." + +#: ui/accounts_editor_list_pane.ui:75 +msgid "Welcome to Geary" +msgstr "Selamat datang ke Geary" + +#. This title is shown to users when confirming if they want to remove an account. The string substitution is replaced with the account's name. +#: ui/accounts_editor_remove_pane.ui:73 +#, c-format +msgid "Confirm removing: %s" +msgstr "Konfirmasi penghapusan: %s" + +#: ui/accounts_editor_remove_pane.ui:91 +msgid "" +"Removing an account will remove it from Geary and delete locally cached " +"email data from your computer, but not from your service provider." +msgstr "" +"Menghapus suatu akun akan menghapusnya dari Geary dan menghapus data surel " +"yang disinggahkan secara lokal dari komputer Anda, tapi tidak dari penyedia " +"layanan Anda." + +#: ui/accounts_editor_remove_pane.ui:122 msgid "Remove account" msgstr "Hapus akun" -#: ui/account_spinner.glade:41 -msgid "Please wait while Geary validates your account." -msgstr "Silakan tunggu sementara Geary memvalidasi akun Anda." +#: ui/accounts_editor_servers_pane.ui:47 +msgid "Apply" +msgstr "Terapkan" + +#. Infobar title when one or more accounts are offline +#: ui/application-main-window.ui:185 +msgid "Working offline" +msgstr "Bekerja luring" + +#. Label and tooltip for offline infobar +#: ui/application-main-window.ui:199 +msgid "" +"Your computer does not appear to be connected to the Internet.\n" +"You will not be able to send or receive email until it is re-connected." +msgstr "" +"Komputer Anda tampaknya tidak tersambung ke Internet.\n" +"Anda tidak akan bisa mengirim atau menerima surel sampai itu tersambung lagi." + +#. Label and tooltip for offline infobar +#: ui/application-main-window.ui:202 +msgid "You will not be able to send or receive email until re-connected." +msgstr "" +"Anda tidak akan bisa mengirim atau menerima surel sampai tersambung lagi." + +#. Button label for retrying TLS cert validation +#: ui/application-main-window.ui:249 +msgid "Check" +msgstr "Periksa" + +#. Button tooltip for retrying TLS cert validation +#: ui/application-main-window.ui:253 +msgid "Check the security details for the connection" +msgstr "Periksalah rincian keamanan untuk koneksi" + +#. Infobar title when one or more accounts have a TLS cert validation error +#: ui/application-main-window.ui:282 +msgid "Security problem" +msgstr "Masalah keamanan" + +#. Label and tooltip for TLS cert validation error infobar +#: ui/application-main-window.ui:296 +msgid "" +"An account has reported an untrusted server.\n" +"Please check the server configuration and try again." +msgstr "" +"Suatu akun telah melaporkan sebuah server yang tak terpercaya.\n" +"Harap periksa konfigurasi server dan coba lagi." + +#. Label and tooltip for TLS cert validation error infobar +#: ui/application-main-window.ui:299 +msgid "An account has reported an untrusted server." +msgstr "Suatu akun telah melaporkan sebuah server yang tak terpercaya." + +#. Button tooltip for retrying when a login error has occurred +#: ui/application-main-window.ui:350 +msgid "Retry login, you will be prompted for your password" +msgstr "Cobalah lagi log masuk, Anda akan diminta memasukkan kata sandi" + +#. Infobar title when one or more accounts have a login error +#: ui/application-main-window.ui:379 +msgid "Login problem" +msgstr "Masalah log masuk" + +#. Label and tooltip for authentication problem infobar +#: ui/application-main-window.ui:393 +msgid "" +"An account has reported an incorrect login or password.\n" +"Please check your login name and try again." +msgstr "" +"Sebuah akun telah melaporkan log masuk atau kata sandi yang salah.\n" +"Harap periksa nama log masuk Anda dan coba lagi." + +#. Label and tooltip for authentication problem infobar +#: ui/application-main-window.ui:396 +msgid "An account has reported an incorrect login or password." +msgstr "Sebuah akun telah melaporkan log masuk atau kata sandi yang salah." #: ui/certificate_warning_dialog.glade:7 msgid "Untrusted Connection" @@ -2125,31 +2620,27 @@ msgstr "_Percayai Server Ini" msgid "_Don’t Trust This Server" msgstr "_Jangan Percayai Server Ini" -#: ui/composer-headerbar.ui:17 ui/composer-headerbar.ui:174 -msgid "Detach (Ctrl+D)" -msgstr "Lepas (Ctrl+D)" +#: ui/composer-headerbar.ui:19 ui/composer-headerbar.ui:176 +msgid "Detach the composer from the window" +msgstr "Copot penyusun dari jendela" -#: ui/composer-headerbar.ui:57 ui/composer-headerbar.ui:83 -msgid "Attach File (Ctrl+T)" -msgstr "Lampirkan Berkas (Ctrl+T)" +#: ui/composer-headerbar.ui:59 ui/composer-headerbar.ui:84 +msgid "Attach a file" +msgstr "Lampirkan berkas" -#: ui/composer-headerbar.ui:107 -msgid "Include Original Attachments" -msgstr "Sertakan Lampiran Asli" +#: ui/composer-headerbar.ui:108 +msgid "Add original attachments" +msgstr "Tambahkan lampiran asli" -#: ui/composer-headerbar.ui:202 +#: ui/composer-headerbar.ui:204 msgid "_Send" msgstr "_Kirim" -#: ui/composer-headerbar.ui:207 -msgid "Send (Ctrl+Enter)" -msgstr "Kirim (Ctrl+Enter)" - -#: ui/composer-headerbar.ui:230 +#: ui/composer-headerbar.ui:231 msgid "Discard and Close" msgstr "Buang dan Tutup" -#: ui/composer-headerbar.ui:254 +#: ui/composer-headerbar.ui:255 msgid "Save and Close" msgstr "Simpan dan Tutup" @@ -2241,7 +2732,7 @@ msgstr "Tempel _Tanpa Format" msgid "Select _All" msgstr "Pilih Semu_a" -#: ui/composer-menus.ui:127 ui/conversation-message-menus.ui:49 +#: ui/composer-menus.ui:127 ui/conversation-message-menus.ui:43 msgid "_Inspect…" msgstr "Per_iksa…" @@ -2279,62 +2770,161 @@ msgstr "Jatuhkan berkas di sini" msgid "To add them as attachments" msgstr "Untuk menambahkan mereka sebagai lampiran" -#: ui/composer-widget.ui:348 -msgid "Undo last edit (Ctrl+Z)" -msgstr "Batalkan penyuntingan terakhir (Ctrl+Z)" +#: ui/composer-widget.ui:353 +msgid "Undo last edit" +msgstr "Batalkan suntingan terakhir" -#: ui/composer-widget.ui:372 -msgid "Redo last edit (Ctrl+Shift+Z)" -msgstr "Ulangi penyuntingan terakhir (Ctrl+Shift+Z)" +#: ui/composer-widget.ui:377 +msgid "Redo last edit" +msgstr "Jadikan lagi penyuntingan terakhir" -#: ui/composer-widget.ui:410 -msgid "Bold (Ctrl+B)" -msgstr "Tebal (Ctrl+B)" +#: ui/composer-widget.ui:415 +msgid "Bold text" +msgstr "Teks tebal" -#: ui/composer-widget.ui:434 -msgid "Italic (Ctrl+I)" -msgstr "Miring (Ctrl+I)" +#: ui/composer-widget.ui:439 +msgid "Italic text" +msgstr "Teks miring" -#: ui/composer-widget.ui:458 -msgid "Underline (Ctrl+U)" -msgstr "Garis bawah (Ctrl+U)" +#: ui/composer-widget.ui:463 +msgid "Underline text" +msgstr "Garisbawahi teks" -#: ui/composer-widget.ui:482 -msgid "Strikethrough (Ctrl+K)" -msgstr "Coret (Ctrl+K)" +#: ui/composer-widget.ui:487 +msgid "Strikethrough text" +msgstr "Coret teks" -#: ui/composer-widget.ui:520 -msgid "Insert unordered list" -msgstr "Masukkan daftar tidak berurutan" +#: ui/composer-widget.ui:525 +msgid "Insert bulleted list" +msgstr "Sisipkan daftar bulet" -#: ui/composer-widget.ui:544 -msgid "Insert ordered list" -msgstr "Masukkan daftar berurutan" +#: ui/composer-widget.ui:549 +msgid "Insert numbered list" +msgstr "Sisipkan daftar bernomor" -#: ui/composer-widget.ui:582 -msgid "Quote text (Ctrl+])" -msgstr "Kutip teks (Ctrl+])" +#: ui/composer-widget.ui:587 +msgid "Indent or quote text" +msgstr "Indentasikan atau kutip teks" -#: ui/composer-widget.ui:606 -msgid "Unquote text (Ctrl+[)" -msgstr "Tidak mengutip teks (Ctrl+[)" +#: ui/composer-widget.ui:611 +msgid "Un-indent or unquote text" +msgstr "Batalkan indentasi atau pengutipan teks" -#: ui/composer-widget.ui:644 -msgid "Insert or update selection link (Ctrl+L)" -msgstr "Sisipkan atau mutakhirkan tautan yang dipilih (Ctrl+L)" +#: ui/composer-widget.ui:649 +msgid "Insert or update text link" +msgstr "Sisipkan atau mutakhirkan tautan teks" -#: ui/composer-widget.ui:668 -msgid "Insert an image (Ctrl+G)" -msgstr "Sisipkan citra (Ctrl+G)" +#: ui/composer-widget.ui:673 +msgid "Insert an image" +msgstr "Sisipkan sebuah citra" -#: ui/composer-widget.ui:702 -msgid "Remove selection formatting (Ctrl+Space)" -msgstr "Hapus format bagian yang dipilih (Ctrl+Space)" +#: ui/composer-widget.ui:707 +msgid "Remove text formatting" +msgstr "Buang performatan teks" -#: ui/composer-widget.ui:726 +#: ui/composer-widget.ui:731 msgid "Select spell checking languages" msgstr "Pilih bahasa pemeriksaan ejaan" +#: ui/components-attachment-pane.ui:29 ui/components-attachment-pane.ui:47 +msgid "Select all attachments" +msgstr "Pilih semua lampiran" + +#: ui/components-attachment-pane.ui:66 +msgid "Save selected attachments" +msgstr "Simpan lampiran yang dipilih" + +#: ui/components-attachment-pane.ui:85 +msgid "Open selected attachments" +msgstr "Buka lampiran yang dipilih" + +#: ui/components-attachment-pane-menus.ui:17 +msgid "Save _All" +msgstr "Simpan Semu_a" + +#: ui/components-inspector-error-view.ui:33 +msgid "" +"If the problem is serious or persists, please save and send these details to " +"the mailing list " +"or attach to a new bug report." +msgstr "" +"Jika masalahnya serius atau berlanjut, salin dan kirim rincian ini ke milis atau lampirkan " +"ke sebuah laporan kutu baru." + +#: ui/components-inspector-error-view.ui:49 +msgid "Details:" +msgstr "Detail:" + +#. Tooltip for inspector button +#: ui/components-inspector.ui:20 +msgid "Toggle appending new log entries" +msgstr "Jungkitkan menambahkan entri log baru" + +#. Tooltip for inspector button +#. Tooltip for problem report button +#: ui/components-inspector.ui:37 ui/problem-details-dialog.ui:19 +msgid "Search for matching log entries" +msgstr "Cari entri log yang cocok" + +#. Tooltip for inspector button +#. Tooltip for problem report button +#: ui/components-inspector.ui:63 ui/problem-details-dialog.ui:46 +msgid "Save logs entries and details" +msgstr "Simpan entri log dan rincian" + +#. Tooltip for inspector button +#. Tooltip for problem report button +#: ui/components-inspector.ui:84 ui/problem-details-dialog.ui:62 +msgid "Copy to clipboard" +msgstr "Salin ke papan klip" + +#: ui/conversation-contact-popover.ui:146 +msgid "New Conversation…" +msgstr "Percakapan Baru…" + +#: ui/conversation-contact-popover.ui:159 +msgid "Copy Email Address" +msgstr "Salin Alamat Surel" + +#: ui/conversation-contact-popover.ui:182 +msgid "Save in Contacts…" +msgstr "Simpan dalam Kontak…" + +#: ui/conversation-contact-popover.ui:195 +msgid "Show Conversations" +msgstr "Tampilkan Percakapan" + +#: ui/conversation-contact-popover.ui:208 +msgid "Open in Contacts" +msgstr "Buka dalam Kontak" + +#: ui/conversation-contact-popover.ui:221 +msgid "Always Load Remote Images" +msgstr "Selalu Muat Gambar Jauh" + +#. Title label on contact popover +#: ui/conversation-contact-popover.ui:264 +msgid "Deceptive email address" +msgstr "Alamat surel yang menyesatkan" + +#. Contact popover label +#: ui/conversation-contact-popover.ui:294 +msgid "This email address is:" +msgstr "Alamat surel ini:" + +#. Contact popover label +#: ui/conversation-contact-popover.ui:319 +msgid "But was forged as:" +msgstr "Tetapi dipalsukan sebagai:" + +#. Contact popover label +#: ui/conversation-contact-popover.ui:344 +msgid "The sender may not be trustworthy" +msgstr "Pengirim mungkin tidak terpercaya" + #: ui/conversation-email.ui:27 msgid "Save all attachments" msgstr "Simpan semua lampiran" @@ -2349,39 +2939,23 @@ msgstr "Tandai pesan ini sebagai dibintangi" msgid "Mark this message as not starred" msgstr "Tandai pesan ini sebagai tidak dibintangi" -#: ui/conversation-email.ui:95 -msgid "Display the message menu" -msgstr "Tampilkan menu pesan" - -#: ui/conversation-email.ui:161 -msgid "Open selected attachments" -msgstr "Buka lampiran yang dipilih" - -#: ui/conversation-email.ui:178 -msgid "Save selected attachments" -msgstr "Simpan lampiran yang dipilih" - -#: ui/conversation-email.ui:195 -msgid "Select all attachments" -msgstr "Pilih semua lampiran" - -#: ui/conversation-email.ui:240 +#: ui/conversation-email.ui:124 msgid "Edit Draft" msgstr "Sunting Draf" -#: ui/conversation-email.ui:267 +#: ui/conversation-email.ui:151 msgid "Draft message" msgstr "Draf pesan" -#: ui/conversation-email.ui:283 +#: ui/conversation-email.ui:167 msgid "This message has not yet been sent." msgstr "Pesan ini belum dikirim." -#: ui/conversation-email.ui:329 +#: ui/conversation-email.ui:213 msgid "Message not saved" msgstr "Pesan tidak disimpan" -#: ui/conversation-email.ui:345 +#: ui/conversation-email.ui:229 msgid "This message was sent, but has not been saved to your account." msgstr "Pesan ini terkirim, tapi belum disimpan ke akun Anda." @@ -2407,24 +2981,40 @@ msgid "Mark Unread From _Here" msgstr "Tandai Belum Dibaca Dari _Sini" #. Translators: Menu item to move a single, specific message -#. to the trash +#. to the trash folder #: ui/conversation-email-menus.ui:50 -msgid "_Trash" -msgstr "_Sampah" +msgid "Move message to _Trash" +msgstr "Pindahkan pesan ke _Tong Sampah" #. Translators: Menu item to delete a single, specific message #: ui/conversation-email-menus.ui:57 -msgid "_Delete…" -msgstr "_Hapus…" +msgid "_Delete message…" +msgstr "_Hapus pesan…" #. Translators: Menu item to view the source for a message #: ui/conversation-email-menus.ui:69 msgid "_View Source" msgstr "Lihat Su_mber" -#: ui/conversation-email-menus.ui:87 -msgid "_Save All" -msgstr "Simpan Semu_a" +#: ui/conversation-message-link-popover.ui:54 +msgid "But actually goes to:" +msgstr "Tapi sebenarnya ke:" + +#: ui/conversation-message-link-popover.ui:84 +msgid "The link appears to go to:" +msgstr "Tautan ini nampaknya menuju ke:" + +#: ui/conversation-message-link-popover.ui:96 +msgid "Deceptive link found" +msgstr "Ditemukan tautan yang menipu" + +#: ui/conversation-message-link-popover.ui:111 +msgid "The email sender may be leading you to the wrong web site." +msgstr "Pengirim surel mungkin mengecoh Anda ke situs web yang salah." + +#: ui/conversation-message-link-popover.ui:124 +msgid "If unsure, contact the sender and ask before continuing." +msgstr "Bila tidak yakin, hubungi pengirim dan tanyakan sebelum melanjutkan." #: ui/conversation-message-menus.ui:7 msgid "_Open Link" @@ -2435,8 +3025,8 @@ msgid "Copy Link _Address" msgstr "Salin _Alamat Tautan" #: ui/conversation-message-menus.ui:17 -msgid "Send New _Message…" -msgstr "Kiri_m Pesan Baru…" +msgid "_New Conversation…" +msgstr "Percakapa_n Baru…" #: ui/conversation-message-menus.ui:21 msgid "Copy Email _Address" @@ -2450,31 +3040,27 @@ msgstr "Simpan C_itra Sebagai…" msgid "_Select All" msgstr "Pilih _Semua" -#: ui/conversation-message-menus.ui:43 -msgid "Search for messages from" -msgstr "Cari pesan dari" - -#: ui/conversation-message.ui:64 +#: ui/conversation-message.ui:63 msgid "From " msgstr "Dari " -#: ui/conversation-message.ui:80 ui/conversation-message.ui:179 +#: ui/conversation-message.ui:79 ui/conversation-message.ui:178 msgid "1/1/1970\t" msgstr "1/1/1970\t" -#: ui/conversation-message.ui:103 +#: ui/conversation-message.ui:102 msgid "Preview body text." msgstr "Pratinjau tubuh teks." -#: ui/conversation-message.ui:203 +#: ui/conversation-message.ui:202 msgid "Sent by:" msgstr "Dikirim oleh:" -#: ui/conversation-message.ui:248 +#: ui/conversation-message.ui:247 msgid "Reply to:" msgstr "Balas ke:" -#: ui/conversation-message.ui:292 +#: ui/conversation-message.ui:291 msgid "Subject" msgstr "Perihal" @@ -2494,54 +3080,18 @@ msgstr "Citra remote tidak ditampilkan" msgid "Only show remote images from senders you trust." msgstr "Hanya tampilkan citra remote dari pengirim yang Anda percayai." -#: ui/conversation-message.ui:692 -msgid "But actually goes to:" -msgstr "Tapi sebenarnya ke:" - -#: ui/conversation-message.ui:723 -msgid "The link appears to go to:" -msgstr "Tautan ini nampaknya menuju ke:" - -#: ui/conversation-message.ui:735 -msgid "Deceptive link found" -msgstr "Ditemukan tautan yang menipu" - -#: ui/conversation-message.ui:750 -msgid "The email sender may be leading you to the wrong web site." -msgstr "Pengirim surel mungkin mengecoh Anda ke situs web yang salah." - -#: ui/conversation-message.ui:763 -msgid "If unsure, contact the sender and ask before continuing." -msgstr "Bila tidak yakin, hubungi pengirim dan tanyakan sebelum melanjutkan." - #: ui/conversation-viewer.ui:60 msgid "Find in conversation" msgstr "Cari dalam percakapan" -#: ui/conversation-viewer.ui:74 +#: ui/conversation-viewer.ui:75 msgid "Find the previous occurrence of the search string." msgstr "Cari kemunculan sebelumnya dari kalimat yang dicari." -#: ui/conversation-viewer.ui:95 +#: ui/conversation-viewer.ui:96 msgid "Find the next occurrence of the search string." msgstr "Cari kemunculan selanjutnya dari kalimat yang dicari." -#: ui/edit_alternate_emails.glade:112 -msgid "Remove email address" -msgstr "Hapus alamat surel" - -#: ui/edit_alternate_emails.glade:136 -msgid "" -"Some email services require additional addresses be configured on the " -"server. Contact your email provider for more information." -msgstr "" -"Beberapa layanan surel memerlukan alamat-alamat tambahan ditata pada server. " -"Kontak penyedia surel Anda untuk informasi lebih jauh." - -#: ui/edit_alternate_emails.glade:175 -msgid "_Update" -msgstr "M_utakhirkan" - #: ui/find_bar.glade:66 msgid "Find:" msgstr "Cari:" @@ -2566,446 +3116,342 @@ msgstr "label" msgid "Conversation Shortcuts" msgstr "Pintasan Percakapan" -#: ui/gtk/help-overlay.ui:13 ui/gtk/help-overlay.ui:254 -msgctxt "shortcut window" -msgid "General" -msgstr "Umum" - -#: ui/gtk/help-overlay.ui:17 -msgctxt "shortcut window" -msgid "Move focus to the next/previous pane" -msgstr "Pindahkan fokus ke panel selanjutnya/sebelumnya" - -#: ui/gtk/help-overlay.ui:24 -msgctxt "shortcut window" -msgid "Move focus to conversation list" -msgstr "Pindahkan fokus ke daftar percakapan" - -#: ui/gtk/help-overlay.ui:31 -msgctxt "shortcut window" -msgid "Detach composer window" -msgstr "Copot jendela penyusun" - -#: ui/gtk/help-overlay.ui:38 -msgctxt "shortcut window" -msgid "Close composer window" -msgstr "Tutup jendela penyusun" - -#: ui/gtk/help-overlay.ui:45 -msgctxt "shortcut window" -msgid "Show keyboard shortcuts" -msgstr "Tampilkan pintasan papan tik" - -#: ui/gtk/help-overlay.ui:52 -msgctxt "shortcut window" -msgid "Show help" -msgstr "Tampilkan bantuan" - -#: ui/gtk/help-overlay.ui:59 -msgctxt "shortcut window" -msgid "Quit the application" -msgstr "Keluar aplikasi" - -#: ui/gtk/help-overlay.ui:68 -msgctxt "shortcut window" -msgid "Search" -msgstr "Cari" - -#: ui/gtk/help-overlay.ui:72 -msgctxt "shortcut window" -msgid "Jump to search box" -msgstr "Lompat ke kotak pencarian" - -#: ui/gtk/help-overlay.ui:79 -msgctxt "shortcut window" -msgid "Find in current conversation" -msgstr "Cari dalam percakapan saat ini" - -#: ui/gtk/help-overlay.ui:86 -msgctxt "shortcut window" -msgid "Find next/previous in current conversation" -msgstr "Cari selanjutnya/sebelumnya dalam percakapan saat ini" - -#: ui/gtk/help-overlay.ui:95 ui/gtk/help-overlay.ui:274 +#: ui/gtk/help-overlay.ui:13 ui/gtk/help-overlay.ui:355 msgctxt "shortcut window" msgid "Actions" msgstr "Aksi" -#: ui/gtk/help-overlay.ui:99 +#: ui/gtk/help-overlay.ui:17 msgctxt "shortcut window" -msgid "Compose a new message" -msgstr "Susun suatu pesan baru" +msgid "New conversation" +msgstr "Percakapan baru" -#: ui/gtk/help-overlay.ui:106 +#: ui/gtk/help-overlay.ui:24 msgctxt "shortcut window" -msgid "Reply to sender " -msgstr "Balas ke pengirim " +msgid "Reply to sender" +msgstr "Balas ke pengirim" -#: ui/gtk/help-overlay.ui:113 +#: ui/gtk/help-overlay.ui:31 ui/gtk/help-overlay.ui:269 msgctxt "shortcut window" msgid "Reply to all" msgstr "Balas ke semua" -#: ui/gtk/help-overlay.ui:120 +#: ui/gtk/help-overlay.ui:38 ui/gtk/help-overlay.ui:276 msgctxt "shortcut window" msgid "Forward" msgstr "Teruskan" -#: ui/gtk/help-overlay.ui:127 +#: ui/gtk/help-overlay.ui:45 ui/gtk/help-overlay.ui:283 msgctxt "shortcut window" -msgid "Archive" -msgstr "Arsip" +msgid "Un-mark/mark read" +msgstr "Tandai/hapus tanda sudah dibaca" -#: ui/gtk/help-overlay.ui:134 +#: ui/gtk/help-overlay.ui:52 ui/gtk/help-overlay.ui:290 msgctxt "shortcut window" -msgid "Move to trash" -msgstr "Pindah ke tong sampah" +msgid "Mark/un-mark starred" +msgstr "Tandai/hapus tanda dibintangi" + +#: ui/gtk/help-overlay.ui:59 ui/gtk/help-overlay.ui:297 +msgctxt "shortcut window" +msgid "Archive conversations" +msgstr "Arsipkan percakapan" + +#: ui/gtk/help-overlay.ui:66 ui/gtk/help-overlay.ui:304 +msgctxt "shortcut window" +msgid "Move conversations" +msgstr "Pindahkan percakapan" + +#: ui/gtk/help-overlay.ui:73 ui/gtk/help-overlay.ui:311 +msgctxt "shortcut window" +msgid "Label conversations" +msgstr "Labeli percakapan" + +#: ui/gtk/help-overlay.ui:80 +msgctxt "shortcut window" +msgid "Trash conversations" +msgstr "Buang percakapan ke tong sampah" + +#: ui/gtk/help-overlay.ui:87 ui/gtk/help-overlay.ui:318 +msgctxt "shortcut window" +msgid "Junk conversations" +msgstr "Sampahkan percakapan" + +#: ui/gtk/help-overlay.ui:95 ui/gtk/help-overlay.ui:325 +msgctxt "shortcut window" +msgid "Delete conversations" +msgstr "Hapus percakapan" + +#: ui/gtk/help-overlay.ui:104 +msgctxt "shortcut window" +msgid "Search" +msgstr "Cari" + +#: ui/gtk/help-overlay.ui:108 +msgctxt "shortcut window" +msgid "Search for conversations" +msgstr "Cari perbincangan" + +#: ui/gtk/help-overlay.ui:115 +msgctxt "shortcut window" +msgid "Find in current conversation" +msgstr "Cari dalam percakapan saat ini" #: ui/gtk/help-overlay.ui:141 msgctxt "shortcut window" -msgid "Toggle spam" -msgstr "Jungkitkan spam" +msgid "Undo" +msgstr "Batalkan" -#: ui/gtk/help-overlay.ui:148 +#: ui/gtk/help-overlay.ui:145 msgctxt "shortcut window" -msgid "Move the conversation" -msgstr "Pindahkan percakapan" +msgid "Undo the last action" +msgstr "Membatalkan aksi terakhir" -#: ui/gtk/help-overlay.ui:155 +#: ui/gtk/help-overlay.ui:152 msgctxt "shortcut window" -msgid "Label the conversation" -msgstr "Labeli ke percakapan" +msgid "Redo the last action" +msgstr "Ulangi langkah terakhir" -#: ui/gtk/help-overlay.ui:163 -msgctxt "shortcut window" -msgid "Mark read" -msgstr "Tandai sudah dibaca" - -#: ui/gtk/help-overlay.ui:170 -msgctxt "shortcut window" -msgid "Mark unread" -msgstr "Tandai belum dibaca" - -#: ui/gtk/help-overlay.ui:179 +#: ui/gtk/help-overlay.ui:161 msgctxt "shortcut window" msgid "View" msgstr "Tilik" -#: ui/gtk/help-overlay.ui:183 +#: ui/gtk/help-overlay.ui:165 msgctxt "shortcut window" msgid "Zoom in" msgstr "Perbesar" -#: ui/gtk/help-overlay.ui:190 +#: ui/gtk/help-overlay.ui:172 msgctxt "shortcut window" msgid "Zoom out" msgstr "Perkecil" -#: ui/gtk/help-overlay.ui:197 +#: ui/gtk/help-overlay.ui:179 msgctxt "shortcut window" msgid "Reset zoom" msgstr "Reset zum" +#: ui/gtk/help-overlay.ui:188 ui/gtk/help-overlay.ui:375 +msgctxt "shortcut window" +msgid "General" +msgstr "Umum" + +#: ui/gtk/help-overlay.ui:192 +msgctxt "shortcut window" +msgid "Show help" +msgstr "Tampilkan bantuan" + +#: ui/gtk/help-overlay.ui:199 +msgctxt "shortcut window" +msgid "Show keyboard shortcuts" +msgstr "Tampilkan pintasan papan tik" + #: ui/gtk/help-overlay.ui:206 msgctxt "shortcut window" -msgid "Additional Shortcuts" -msgstr "Pintasan Tambahan" +msgid "Open a new window" +msgstr "Buka jendela baru" -#: ui/gtk/help-overlay.ui:210 +#: ui/gtk/help-overlay.ui:213 msgctxt "shortcut window" -msgid "Star" -msgstr "Bintangi" +msgid "Close the current window" +msgstr "Tutup jendela kini" -#: ui/gtk/help-overlay.ui:217 +#: ui/gtk/help-overlay.ui:220 msgctxt "shortcut window" -msgid "Unstar" -msgstr "Hapus bintang" +msgid "Quit the application" +msgstr "Keluar aplikasi" -#: ui/gtk/help-overlay.ui:224 +#: ui/gtk/help-overlay.ui:229 msgctxt "shortcut window" -msgid "Delete" -msgstr "Hapus" +msgid "Keyboard navigation" +msgstr "Navigasi papan tik" -#: ui/gtk/help-overlay.ui:231 +#: ui/gtk/help-overlay.ui:233 msgctxt "shortcut window" -msgid "Jump to next (older) conversation" -msgstr "Lompat ke lokasi selanjutnya (lebih lama)" +msgid "Go to next/previous pane" +msgstr "Pindah ke panel selanjutnya/sebelumnya" -#: ui/gtk/help-overlay.ui:238 +#: ui/gtk/help-overlay.ui:241 msgctxt "shortcut window" -msgid "Jump to previous (newer) conversation" -msgstr "Lompat ke lokasi sebelumnya (lebih baru)" +msgid "Select next/previous conversation" +msgstr "Pilih percakapan selanjutnya/sebelumnya" -#: ui/gtk/help-overlay.ui:250 -msgid "Composer Shortcuts" -msgstr "Pintasan Penyusun" +#: ui/gtk/help-overlay.ui:248 +msgctxt "shortcut window" +msgid "Focus next/previous message" +msgstr "Fokus ke pesan berikutnya/sebelumnya" #: ui/gtk/help-overlay.ui:258 msgctxt "shortcut window" -msgid "Quote text" -msgstr "Kutip teks" +msgid "Single-key shortcuts" +msgstr "Pintasan tombol tunggal" -#: ui/gtk/help-overlay.ui:265 +#: ui/gtk/help-overlay.ui:262 msgctxt "shortcut window" -msgid "Unquote text" -msgstr "Tidak mengutip teks" +msgid "Reply to sender " +msgstr "Balas ke pengirim " -#: ui/gtk/help-overlay.ui:278 +#: ui/gtk/help-overlay.ui:332 +msgctxt "shortcut window" +msgid "Find in current conversations" +msgstr "Cari dalam percakapan saat ini" + +#: ui/gtk/help-overlay.ui:339 +msgctxt "shortcut window" +msgid "Select next/previous conversations" +msgstr "Pilih percakapan-percakapan selanjutnya/sebelumnya" + +#: ui/gtk/help-overlay.ui:351 +msgid "Composer Shortcuts" +msgstr "Pintasan Penyusun" + +#: ui/gtk/help-overlay.ui:359 msgctxt "shortcut window" msgid "Send" msgstr "Kirim" -#: ui/gtk/help-overlay.ui:285 +#: ui/gtk/help-overlay.ui:366 msgctxt "shortcut window" msgid "Add attachment" msgstr "Tambah lampiran" -#: ui/gtk/help-overlay.ui:294 +#: ui/gtk/help-overlay.ui:379 msgctxt "shortcut window" -msgid "Rich text mode" -msgstr "Mode rich text" +msgid "Close composer window" +msgstr "Tutup jendela penyusun" -#: ui/gtk/help-overlay.ui:298 +#: ui/gtk/help-overlay.ui:386 +msgctxt "shortcut window" +msgid "Detach composer window" +msgstr "Copot jendela penyusun" + +#: ui/gtk/help-overlay.ui:393 +msgctxt "shortcut window" +msgid "Editing" +msgstr "Penyuntingan" + +#: ui/gtk/help-overlay.ui:398 +msgctxt "shortcut window" +msgid "Move selection to the clipboard" +msgstr "Pindahkan pilihan ke papan klip" + +#: ui/gtk/help-overlay.ui:405 +msgctxt "shortcut window" +msgid "Copy selection to clipboard" +msgstr "Salin pilihan ke papan klip" + +#: ui/gtk/help-overlay.ui:412 +msgctxt "shortcut window" +msgid "Paste from the clipboard" +msgstr "Tempel data dari papan klip" + +#: ui/gtk/help-overlay.ui:419 +msgctxt "shortcut window" +msgid "Quote text" +msgstr "Kutip teks" + +#: ui/gtk/help-overlay.ui:426 +msgctxt "shortcut window" +msgid "Unquote text" +msgstr "Tidak mengutip teks" + +#: ui/gtk/help-overlay.ui:435 +msgctxt "shortcut window" +msgid "Rich text editing" +msgstr "Penyuntingan rich text" + +#: ui/gtk/help-overlay.ui:439 +msgctxt "shortcut window" +msgid "Paste without formatting" +msgstr "Tempel tanpa format" + +#: ui/gtk/help-overlay.ui:446 msgctxt "shortcut window" msgid "Bold text" msgstr "Teks tebal" -#: ui/gtk/help-overlay.ui:305 +#: ui/gtk/help-overlay.ui:453 msgctxt "shortcut window" msgid "Italicize text" msgstr "Miringkan teks" -#: ui/gtk/help-overlay.ui:312 +#: ui/gtk/help-overlay.ui:460 msgctxt "shortcut window" msgid "Underline text" msgstr "Garisbawahi teks" -#: ui/gtk/help-overlay.ui:319 +#: ui/gtk/help-overlay.ui:467 msgctxt "shortcut window" msgid "Strike text" msgstr "Coret teks" -#: ui/gtk/help-overlay.ui:326 -msgctxt "shortcut window" -msgid "Insert a link" -msgstr "Sisipkan tautan" - -#: ui/gtk/help-overlay.ui:333 +#: ui/gtk/help-overlay.ui:474 msgctxt "shortcut window" msgid "Remove formatting" msgstr "Buang format" -#: ui/gtk/menus.ui:13 -msgid "A_ccounts" -msgstr "A_kun" +#: ui/gtk/help-overlay.ui:481 +msgctxt "shortcut window" +msgid "Insert an image" +msgstr "Sisipkan sebuah citra" -#: ui/gtk/menus.ui:23 -msgid "_Keyboard Shortcuts" -msgstr "Pintasan Papan Ti_k" +#: ui/gtk/help-overlay.ui:488 +msgctxt "shortcut window" +msgid "Insert a link" +msgstr "Sisipkan tautan" -#: ui/login.glade:88 -msgid "email@example.com" -msgstr "email@example.com" +#: ui/main-toolbar.ui:23 +msgctxt "tooltip" +msgid "Compose Message" +msgstr "Susun Pesan" -#: ui/login.glade:107 ui/password-dialog.glade:108 -msgid "Password" -msgstr "Sandi" - -#: ui/login.glade:123 -msgid "E_mail address" -msgstr "Ala_mat surel" - -#: ui/login.glade:144 ui/login.glade:635 -msgid "_Password" -msgstr "_Sandi" - -#: ui/login.glade:178 -msgid "S_ervice" -msgstr "_Layanan" - -#: ui/login.glade:199 -msgid "N_ame" -msgstr "N_ama" - -#: ui/login.glade:256 -msgid "N_ickname" -msgstr "Nama pangg_ilan" - -#: ui/login.glade:280 -msgid "Work, Home, etc." -msgstr "Kantor, Rumah, dsb." - -#: ui/login.glade:291 -msgid "_Save sent mail" -msgstr "_Simpan surat terkirim" - -#: ui/login.glade:309 -msgid "Addi_tional email addresses…" -msgstr "Alamat surel _tambahan…" - -#: ui/login.glade:353 -msgid "IMAP settings" -msgstr "Pengaturan IMAP" - -#: ui/login.glade:372 -msgid "Se_rver" -msgstr "Se_rver" - -#: ui/login.glade:393 -msgid "imap.example.com" -msgstr "imap.example.com" - -#: ui/login.glade:409 -msgid "P_ort" -msgstr "P_ort" - -#: ui/login.glade:448 -msgid "smtp.example.com" -msgstr "smtp.example.com" - -#: ui/login.glade:480 -msgid "Ser_ver" -msgstr "Ser_ver" - -#: ui/login.glade:501 -msgid "Por_t" -msgstr "Por_t" - -#: ui/login.glade:522 -msgid "SMTP settings" -msgstr "Pengaturan SMTP" - -#: ui/login.glade:541 -msgid "User_name" -msgstr "_Nama pengguna" - -#: ui/login.glade:562 -msgid "Pass_word" -msgstr "San_di" - -#: ui/login.glade:582 -msgid "SMTP username" -msgstr "Nama pengguna SMTP" - -#: ui/login.glade:598 -msgid "SMTP password" -msgstr "Sandi SMTP" - -#: ui/login.glade:614 -msgid "_Username" -msgstr "Nama pengg_una" - -#: ui/login.glade:655 -msgid "IMAP username" -msgstr "Nama pengguna IMAP" - -#: ui/login.glade:671 -msgid "IMAP password" -msgstr "Sandi IMAP" - -#: ui/login.glade:688 -msgid "Encr_yption" -msgstr "Enkrip_si" - -#: ui/login.glade:711 -msgid "Encrypt_ion" -msgstr "Enkrips_i" - -#: ui/login.glade:733 ui/login.glade:751 -msgid "SSL/TLS" -msgstr "SSL/TLS" - -#: ui/login.glade:734 ui/login.glade:752 -msgid "STARTTLS" -msgstr "STARTTLS" - -#: ui/login.glade:764 -msgid "No authentication re_quired" -msgstr "Otenti_kasi tidak dibutuhkan" - -#: ui/login.glade:781 -msgid "Use IMAP cre_dentials" -msgstr "Pakai kre_densial IMAP" - -#: ui/login.glade:888 -msgid "Composer" -msgstr "Penyusun" - -#: ui/login.glade:901 -msgid "Save dra_fts on server" -msgstr "Simpan dra_f pada server" - -#: ui/login.glade:918 -msgid "Si_gn emails (HTML allowed):" -msgstr "Tandatan_gani surel (boleh HTML):" - -#: ui/login.glade:976 -msgid "Storage" -msgstr "Penyimpanan" - -#: ui/login.glade:998 -msgid "_Download mail" -msgstr "Un_duh surat" - -#: ui/main-toolbar.ui:51 +#: ui/main-toolbar.ui:61 msgid "Toggle search bar" msgstr "Jungkitkan bilah pencarian" -#: ui/main-toolbar.ui:72 -msgid "Empty Spam or Trash folders" -msgstr "Kosongkan folder Spam atau Sampah" - -#: ui/main-toolbar.ui:112 +#: ui/main-toolbar.ui:114 msgid "Reply" msgstr "Balas" -#: ui/main-toolbar.ui:135 +#: ui/main-toolbar.ui:137 msgid "Reply All" msgstr "Balas Semua" -#: ui/main-toolbar.ui:158 +#: ui/main-toolbar.ui:160 msgid "Forward" msgstr "Teruskan" -#: ui/main-toolbar.ui:264 +#: ui/main-toolbar.ui:265 msgid "Toggle find bar" msgstr "Jungkitkan bilah pencarian" -#: ui/main-toolbar.ui:306 +#: ui/main-toolbar.ui:286 msgid "_Archive" msgstr "_Arsip" -#: ui/main-toolbar-menus.ui:5 +#: ui/main-toolbar-menus.ui:21 +msgid "Toggle as S_pam" +msgstr "Jungkitkan sebagai Spam" + +#: ui/main-toolbar-menus.ui:28 msgid "Empty _Spam…" msgstr "Kosongkan _Spam…" -#: ui/main-toolbar-menus.ui:9 +#: ui/main-toolbar-menus.ui:32 msgid "Empty _Trash…" msgstr "Kosongkan _Tong Sampah…" -#: ui/main-toolbar-menus.ui:32 -msgid "Mark as S_pam" -msgstr "Tandai sebagai S_pam" +#: ui/main-toolbar-menus.ui:38 +msgid "_Accounts" +msgstr "_Akun" -#: ui/main-toolbar-menus.ui:36 -msgid "Mark as not S_pam" -msgstr "Tandai sebagai bukan S_pam" +#: ui/main-toolbar-menus.ui:46 +msgid "_Keyboard Shortcuts" +msgstr "Pintasan Papan Ti_k" -#: ui/main-window-info-bar.ui:97 -msgid "" -"If the problem is serious or persists, please copy and send these details to " -"the mailing list " -"or file a new " -"bug report." -msgstr "" -"Jika masalahnya serius atau berlanjut, salin dan kirim rincian ini ke milis atau kirim laporan kutu baru." - -#: ui/main-window-info-bar.ui:113 -msgid "Details:" -msgstr "Detail:" +#: ui/main-toolbar-menus.ui:57 +msgid "_About Geary" +msgstr "Tent_ang Geary" #: ui/password-dialog.glade:74 msgid "SMTP Credentials" @@ -3023,128 +3469,6 @@ msgstr "_Ingat sandi" msgid "_Authenticate" msgstr "Otentik_asikan" -#: ui/preferences-dialog.ui:38 -msgid "Reading" -msgstr "Membaca" - -#: ui/preferences-dialog.ui:51 -msgid "_Automatically select next message" -msgstr "Otom_atis pilih pesan selanjutnya" - -#: ui/preferences-dialog.ui:70 -msgid "_Display conversation preview" -msgstr "_Tampilkan pratinjau percakapan" - -#: ui/preferences-dialog.ui:89 -msgid "Use _three pane view" -msgstr "Pakai tilikan _tiga panel" - -#: ui/preferences-dialog.ui:113 -msgid "Notifications" -msgstr "Pemberitahuan" - -#: ui/preferences-dialog.ui:126 -msgid "_Play notification sounds" -msgstr "Bunyikan suara _pemberitahuan" - -#: ui/preferences-dialog.ui:145 -msgid "Show _notifications for new mail" -msgstr "Tu_njukkan pemberitahuan bagi surat baru" - -#: ui/preferences-dialog.ui:164 -msgid "_Watch for new mail when closed" -msgstr "A_wasi surat baru ketika ditutup" - -#: ui/preferences-dialog.ui:168 -msgid "Geary will keep running after all windows are closed" -msgstr "Geary akan terus berjalan setelah semua jendela ditutup" - -#: ui/preferences-dialog.ui:195 -msgid "Preferences" -msgstr "Preferensi" - -#: ui/remove_confirm.glade:43 -msgid "" -"Are you sure you want to remove this " -"account? " -msgstr "" -"Anda yakin ingin menghapus akun ini? " - -#: ui/remove_confirm.glade:58 -msgid "" -"All email associated with this account will be removed from your computer. " -"This will not affect email on the server." -msgstr "" -"Semua surel terkait akun ini akan dihapus dari komputer Anda. Ini tidak " -"mempengaruhi surel pada server." - -#: ui/remove_confirm.glade:80 -msgid "Nickname:" -msgstr "Nama panggilan:" - -#: ui/remove_confirm.glade:94 -msgid "Email address:" -msgstr "Alamat surel:" - #: ui/upgrade_dialog.glade:60 msgid "Geary update in progress…" msgstr "Pemutakhiran Geary sedang berlangsung…" - -#~ msgid "Default attachments directory" -#~ msgstr "Direktori lampiran bawaan" - -#~ msgid "Location used when opening and saving attachments." -#~ msgstr "Lokasi yang digunakan saat membuka dan menyimpan lampiran." - -#~ msgid "Default print output directory" -#~ msgstr "Direktori keluaran cetak bawaan" - -#~ msgid "Location used when printing to a file." -#~ msgstr "Lokasi yang digunakan saat mencetak ke berkas." - -#~ msgid "Geary will run in the background and notify of new mail" -#~ msgstr "Geary akan berjalan di latar dan memberitahukan adanya surel baru" - -#~ msgid "Geary Email" -#~ msgstr "Surel Geary" - -#~ msgid "Mail Client" -#~ msgstr "Klien Surat" - -#~ msgid "Geary Mail" -#~ msgstr "Surat Geary" - -#~ msgid "_Mark as…" -#~ msgstr "_Tandai sebagai…" - -#~ msgid "Add label" -#~ msgstr "Tambah label" - -#~ msgid "_Label" -#~ msgstr "_Label" - -#~ msgid "_Move" -#~ msgstr "_Pindahkan" - -#~ msgid "Compose new message (Ctrl+N, N)" -#~ msgstr "Susun pesan baru (Ctrl+N, N)" - -#~ msgid "Reply (Ctrl+R, R)" -#~ msgstr "Balas (Ctrl+R, R)" - -#~ msgid "Reply all (Ctrl+Shift+R, Shift+R)" -#~ msgstr "Balas semua (Ctrl+Shift+R, Shift+R)" - -#~ msgid "Forward (Ctrl+L, F)" -#~ msgstr "Maju (Ctrl+L, F)" - -#~ msgid "" -#~ "Geary encountered an error while connecting to the server. Please try " -#~ "again in a few moments." -#~ msgstr "" -#~ "Geary menemui galat ketika menyambung ke server. Harap coba lagi setelah " -#~ "beberapa saat." - -#~ msgid "Try Again" -#~ msgstr "Coba Lagi" diff --git a/po/pl.po b/po/pl.po index f5746184..bf7b4d58 100644 --- a/po/pl.po +++ b/po/pl.po @@ -16,8 +16,8 @@ msgid "" msgstr "" "Project-Id-Version: geary\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/geary/issues\n" -"POT-Creation-Date: 2019-11-07 01:41+0000\n" -"PO-Revision-Date: 2019-11-10 12:58+0100\n" +"POT-Creation-Date: 2019-12-17 23:56+0000\n" +"PO-Revision-Date: 2019-12-26 13:53+0100\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "Language: pl\n" @@ -40,6 +40,7 @@ msgstr "Wysyłanie plików za pomocą programu Geary" #: desktop/org.gnome.Geary.appdata.xml.in.in:12 #: desktop/org.gnome.Geary.desktop.in.in:3 #: src/client/accounts/accounts-editor-servers-pane.vala:555 +#: src/client/application/application-main-window.vala:547 msgid "Geary" msgstr "Geary" @@ -52,7 +53,7 @@ msgstr "Poczta" #: desktop/geary-autostart.desktop.in.in:5 #: desktop/org.gnome.Geary.appdata.xml.in.in:16 #: desktop/org.gnome.Geary.desktop.in.in:5 -#: src/client/application/geary-application.vala:31 +#: src/client/application/application-client.vala:32 msgid "Send and receive email" msgstr "Wysyłanie i odbieranie poczty" @@ -134,6 +135,10 @@ msgstr "" msgid "Compose Message" msgstr "Utwórz wiadomość" +#: desktop/org.gnome.Geary.desktop.in.in:26 +msgid "New Window" +msgstr "Nowe okno" + #: desktop/org.gnome.Geary.gschema.xml:8 msgid "Maximize window" msgstr "Maksymalizacja okna" @@ -216,10 +221,22 @@ msgid "True if we should display a short preview of each message." msgstr "Wyświetlanie krótkiego podglądu każdej wiadomości." #: desktop/org.gnome.Geary.gschema.xml:68 +msgid "Use single key shortcuts" +msgstr "Skróty jednoklawiszowe" + +#: desktop/org.gnome.Geary.gschema.xml:69 +msgid "" +"Enables shortcuts for email actions that do not require pressing to " +"emulate those used by Gmail." +msgstr "" +"Włącza skróty do działań na wiadomościach, które nie wymagają naciśnięcia " +"klawisza , aby naśladować skróty w serwisie Gmail." + +#: desktop/org.gnome.Geary.gschema.xml:76 msgid "Languages that shall be used in the spell checker" msgstr "Języki używane do sprawdzania pisowni" -#: desktop/org.gnome.Geary.gschema.xml:69 +#: desktop/org.gnome.Geary.gschema.xml:77 msgid "" "A list of POSIX locales, with the empty list disabling spell checking and " "the null list using desktop languages by default." @@ -227,74 +244,86 @@ msgstr "" "Lista lokalizacji POSIX. Pusta lista wyłącza sprawdzanie pisowni, a lista " "NULL powoduje użycie domyślnego języka środowiska." -#: desktop/org.gnome.Geary.gschema.xml:76 +#: desktop/org.gnome.Geary.gschema.xml:84 msgid "Languages that are displayed in the spell checker popover" msgstr "Języki wyświetlane w oknie sprawdzania pisowni" -#: desktop/org.gnome.Geary.gschema.xml:77 +#: desktop/org.gnome.Geary.gschema.xml:85 msgid "" "List of languages that are always displayed in the popover of the spell " "checker." msgstr "Lista języków zawsze wyświetlanych w oknie sprawdzania pisowni." -#: desktop/org.gnome.Geary.gschema.xml:82 +#: desktop/org.gnome.Geary.gschema.xml:90 msgid "Notify of new mail at startup" msgstr "Powiadamianie o nowych wiadomościach po uruchomieniu" -#: desktop/org.gnome.Geary.gschema.xml:83 +#: desktop/org.gnome.Geary.gschema.xml:91 msgid "True to notify of new mail at startup." msgstr "Powiadamianie o nowych wiadomościach po uruchomieniu." -#: desktop/org.gnome.Geary.gschema.xml:88 +#: desktop/org.gnome.Geary.gschema.xml:96 msgid "Ask when opening an attachment" msgstr "Pytanie podczas otwierania załącznika" -#: desktop/org.gnome.Geary.gschema.xml:89 +#: desktop/org.gnome.Geary.gschema.xml:97 msgid "True to ask when opening an attachment." msgstr "Pytanie podczas otwierania załącznika." -#: desktop/org.gnome.Geary.gschema.xml:94 +#: desktop/org.gnome.Geary.gschema.xml:102 msgid "Whether to compose emails in HTML" msgstr "Tworzenie wiadomości w formacie HTML" -#: desktop/org.gnome.Geary.gschema.xml:95 +#: desktop/org.gnome.Geary.gschema.xml:103 msgid "True to compose emails in HTML; false for plain text." msgstr "" "Tworzenie wiadomości w formacie HTML. Wyłączenie powoduje tworzenie " "wiadomości w zwykłym tekście." -#: desktop/org.gnome.Geary.gschema.xml:100 +#: desktop/org.gnome.Geary.gschema.xml:108 msgid "Advisory strategy for full-text searching" msgstr "Strategia wyszukiwania w treści" -#: desktop/org.gnome.Geary.gschema.xml:101 +#: desktop/org.gnome.Geary.gschema.xml:109 msgid "" "Acceptable values are “exact”, “conservative”, “aggressive”, and “horizon”." msgstr "" "Przyjmowane wartości: „exact” (dokładna), „conservative” (konserwatywna), " "„aggressive” (agresywna) i „horizon” (horyzontalna)." -#: desktop/org.gnome.Geary.gschema.xml:106 +#: desktop/org.gnome.Geary.gschema.xml:114 msgid "Zoom of conversation viewer" msgstr "Powiększenie widoku wątku" -#: desktop/org.gnome.Geary.gschema.xml:107 +#: desktop/org.gnome.Geary.gschema.xml:115 msgid "The zoom to apply on the conservation view." msgstr "Powiększenie widoku wątku." -#: desktop/org.gnome.Geary.gschema.xml:112 +#: desktop/org.gnome.Geary.gschema.xml:120 msgid "Size of detached composer window" msgstr "Rozmiar odłączonego okna tworzenia wiadomości" -#: desktop/org.gnome.Geary.gschema.xml:113 +#: desktop/org.gnome.Geary.gschema.xml:121 msgid "The last recorded size of the detached composer window." msgstr "Ostatnio zapisany rozmiar odłączonego okna tworzenia wiadomości." -#: desktop/org.gnome.Geary.gschema.xml:118 +#: desktop/org.gnome.Geary.gschema.xml:126 +msgid "Undo sending email delay" +msgstr "Opóźnienie cofnięcia wysyłania wiadomości" + +#: desktop/org.gnome.Geary.gschema.xml:127 +msgid "" +"The number of seconds to wait before sending an email. Set to zero or less " +"to disable." +msgstr "" +"Ile sekund czekać przed wysłaniem wiadomości. Ustawienie na zero lub mniej " +"wyłącza tę funkcję." + +#: desktop/org.gnome.Geary.gschema.xml:133 msgid "Whether we migrated the old settings" msgstr "Poprzednie ustawienia zostały migrowane" -#: desktop/org.gnome.Geary.gschema.xml:119 +#: desktop/org.gnome.Geary.gschema.xml:134 msgid "" "False to check for the old “org.yorba.geary”-schema and copy its values." msgstr "" @@ -304,24 +333,24 @@ msgstr "" #. Translators: In-app notification label, when #. the app had a problem pinning an otherwise #. untrusted TLS certificate -#: src/client/accounts/accounts-editor.vala:204 +#: src/client/accounts/accounts-editor.vala:210 msgid "Failed to store certificate" msgstr "Zachowanie certyfikatu się nie powiodło" #. Translators: Label for adding an email account #. account for a generic IMAP service provider. -#: src/client/accounts/accounts-editor-add-pane.vala:109 +#: src/client/accounts/accounts-editor-add-pane.vala:108 msgid "All others" msgstr "Wszystkie pozostałe" #. Translators: In-app notification label -#: src/client/accounts/accounts-editor-add-pane.vala:196 +#: src/client/accounts/accounts-editor-add-pane.vala:195 #: src/client/accounts/accounts-editor-servers-pane.vala:316 msgid "Check your receiving login and password" msgstr "Proszę sprawdzić poprawność loginu i hasła odbierania" #. Translators: In-app notification label -#: src/client/accounts/accounts-editor-add-pane.vala:211 +#: src/client/accounts/accounts-editor-add-pane.vala:210 #: src/client/accounts/accounts-editor-servers-pane.vala:329 msgid "Check your receiving server details" msgstr "Proszę sprawdzić poprawność informacji o serwerze odbierania" @@ -331,51 +360,51 @@ msgstr "Proszę sprawdzić poprawność informacji o serwerze odbierania" #. succeeded, so the user probably needs to #. specify custom creds here #. Translators: In-app notification label -#: src/client/accounts/accounts-editor-add-pane.vala:233 +#: src/client/accounts/accounts-editor-add-pane.vala:232 #: src/client/accounts/accounts-editor-servers-pane.vala:350 msgid "Check your sending login and password" msgstr "Proszę sprawdzić poprawność loginu i hasła wysyłania" #. Translators: In-app notification label -#: src/client/accounts/accounts-editor-add-pane.vala:247 +#: src/client/accounts/accounts-editor-add-pane.vala:246 #: src/client/accounts/accounts-editor-servers-pane.vala:363 msgid "Check your sending server details" msgstr "Proszę sprawdzić poprawność informacji o serwerze wysyłania" #. Translators: In-app notification label -#: src/client/accounts/accounts-editor-add-pane.vala:262 +#: src/client/accounts/accounts-editor-add-pane.vala:261 msgid "Check your email address and password" msgstr "Proszę sprawdzić poprawność adresu e-mail i hasła" #. Translators: In-app notification label -#: src/client/accounts/accounts-editor-add-pane.vala:273 +#: src/client/accounts/accounts-editor-add-pane.vala:272 msgid "Could not connect, check your network" msgstr "Nie można się połączyć, proszę sprawdzić sieć" #. Translators: In-app notification label for a #. generic error creating an account -#: src/client/accounts/accounts-editor-add-pane.vala:286 +#: src/client/accounts/accounts-editor-add-pane.vala:285 msgid "An unexpected problem occurred" msgstr "Wystąpił nieoczekiwany problem" #. Translators: In-app notification label, the #. string substitution is a more detailed reason. -#: src/client/accounts/accounts-editor-add-pane.vala:304 +#: src/client/accounts/accounts-editor-add-pane.vala:303 #, c-format msgid "Account not created: %s" msgstr "Nie utworzono konta: %s" #. Translators: Label for the person's actual name when adding #. an account -#: src/client/accounts/accounts-editor-add-pane.vala:551 +#: src/client/accounts/accounts-editor-add-pane.vala:558 msgid "Your name" msgstr "Imię i nazwisko" #. Translators: Label used for the address part of an #. email address when editing a user's sender address #. preferences for an account. -#: src/client/accounts/accounts-editor-add-pane.vala:568 -#: src/client/accounts/accounts-editor-edit-pane.vala:501 +#: src/client/accounts/accounts-editor-add-pane.vala:575 +#: src/client/accounts/accounts-editor-edit-pane.vala:513 msgid "Email address" msgstr "Adres e-mail" @@ -384,8 +413,8 @@ msgstr "Adres e-mail" #. Translators: This is used as a placeholder for the #. address part of an email address when editing a user's #. sender address preferences for an account. -#: src/client/accounts/accounts-editor-add-pane.vala:571 -#: src/client/accounts/accounts-editor-edit-pane.vala:469 +#: src/client/accounts/accounts-editor-add-pane.vala:579 +#: src/client/accounts/accounts-editor-edit-pane.vala:479 msgid "person@example.com" msgstr "e-mail@example.com" @@ -393,15 +422,15 @@ msgstr "e-mail@example.com" #. when adding an account #. Translators: Label for the user's login name for an #. IMAP, SMTP, etc service -#: src/client/accounts/accounts-editor-add-pane.vala:585 -#: src/client/accounts/accounts-editor-servers-pane.vala:880 +#: src/client/accounts/accounts-editor-add-pane.vala:593 +#: src/client/accounts/accounts-editor-servers-pane.vala:884 msgid "Login name" msgstr "Login" #. Translators: Label for the user's password for an IMAP, #. SMTP, etc service -#: src/client/accounts/accounts-editor-add-pane.vala:599 -#: src/client/accounts/accounts-editor-servers-pane.vala:999 +#: src/client/accounts/accounts-editor-add-pane.vala:607 +#: src/client/accounts/accounts-editor-servers-pane.vala:1006 #: ui/password-dialog.glade:108 msgid "Password" msgstr "Hasło" @@ -410,14 +439,14 @@ msgstr "Hasło" #. adding an account. #. Translators: This label describes the host name or IP #. address and port used by an account's IMAP service. -#: src/client/accounts/accounts-editor-add-pane.vala:621 -#: src/client/accounts/accounts-editor-servers-pane.vala:727 +#: src/client/accounts/accounts-editor-add-pane.vala:629 +#: src/client/accounts/accounts-editor-servers-pane.vala:728 msgid "IMAP server" msgstr "Serwer IMAP" #. Translators: Placeholder for the IMAP server hostname #. when adding an account. -#: src/client/accounts/accounts-editor-add-pane.vala:624 +#: src/client/accounts/accounts-editor-add-pane.vala:632 msgid "imap.example.com" msgstr "imap.example.com" @@ -425,20 +454,20 @@ msgstr "imap.example.com" #. adding an account. #. Translators: This label describes the host name or IP #. address and port used by an account's SMTP service. -#: src/client/accounts/accounts-editor-add-pane.vala:630 -#: src/client/accounts/accounts-editor-servers-pane.vala:733 +#: src/client/accounts/accounts-editor-add-pane.vala:638 +#: src/client/accounts/accounts-editor-servers-pane.vala:734 msgid "SMTP server" msgstr "Serwer SMTP" #. Translators: Placeholder for the SMTP server hostname #. when adding an account. -#: src/client/accounts/accounts-editor-add-pane.vala:633 +#: src/client/accounts/accounts-editor-add-pane.vala:641 msgid "smtp.example.com" msgstr "smtp.example.com" #. Translators: Label in the account editor for the user's #. custom name for an account. -#: src/client/accounts/accounts-editor-edit-pane.vala:278 +#: src/client/accounts/accounts-editor-edit-pane.vala:277 #: ui/accounts_editor_remove_pane.ui:123 msgid "Account name" msgstr "Nazwa konta" @@ -447,46 +476,46 @@ msgstr "Nazwa konta" #. the name of an account. The string #. substitution is the old name of the #. account. -#: src/client/accounts/accounts-editor-edit-pane.vala:312 +#: src/client/accounts/accounts-editor-edit-pane.vala:318 #, c-format msgid "Change account name back to “%s”" msgstr "Zmienia nazwę konta z powrotem na „%s”" #. Translators: Tooltip for adding a new email sender/from #. address's address to an account -#: src/client/accounts/accounts-editor-edit-pane.vala:336 +#: src/client/accounts/accounts-editor-edit-pane.vala:342 msgid "Add a new sender email address" msgstr "Dodaje nowy adres e-mail nadawcy" #. Translators: Label used to indicate the user has #. provided no display name for one of their sender #. email addresses in their account settings. -#: src/client/accounts/accounts-editor-edit-pane.vala:417 +#: src/client/accounts/accounts-editor-edit-pane.vala:423 msgid "Name not set" msgstr "Nie ustawiono nazwy" #. Translators: This is used as a placeholder for the #. display name for an email address when editing a user's #. sender address preferences for an account. -#: src/client/accounts/accounts-editor-edit-pane.vala:456 +#: src/client/accounts/accounts-editor-edit-pane.vala:464 msgid "Sender Name" msgstr "Nazwa nadawcy" -#: src/client/accounts/accounts-editor-edit-pane.vala:479 +#: src/client/accounts/accounts-editor-edit-pane.vala:491 msgid "Remove" msgstr "Usuń" #. Translators: Label used for the display name part of an #. email address when editing a user's sender address #. preferences for an account. -#: src/client/accounts/accounts-editor-edit-pane.vala:494 +#: src/client/accounts/accounts-editor-edit-pane.vala:506 msgid "Sender name" msgstr "Nazwa nadawcy" #. Translators: Label used as the undo tooltip after adding an #. new sender email address to an account. The string #. substitution is the email address added. -#: src/client/accounts/accounts-editor-edit-pane.vala:561 +#: src/client/accounts/accounts-editor-edit-pane.vala:573 #, c-format msgid "Remove “%s”" msgstr "Usuwa adres „%s”" @@ -494,7 +523,7 @@ msgstr "Usuwa adres „%s”" #. Translators: Label used as the undo tooltip after editing a #. sender address for an account. The string substitution is #. the email address edited. -#: src/client/accounts/accounts-editor-edit-pane.vala:601 +#: src/client/accounts/accounts-editor-edit-pane.vala:613 #, c-format msgid "Undo changes to “%s”" msgstr "Cofa zmiany adresu „%s”" @@ -502,7 +531,7 @@ msgstr "Cofa zmiany adresu „%s”" #. Translators: Label used as the undo tooltip after removing #. a sender address from an account. The string substitution #. is the email address edited. -#: src/client/accounts/accounts-editor-edit-pane.vala:688 +#: src/client/accounts/accounts-editor-edit-pane.vala:700 #, c-format msgid "Add “%s” back" msgstr "Dodaje adres „%s” z powrotem" @@ -510,14 +539,14 @@ msgstr "Dodaje adres „%s” z powrotem" #. Translators: Label used as the undo tooltip after removing #. a sender address from an account. The string substitution #. is the email address edited. -#: src/client/accounts/accounts-editor-edit-pane.vala:730 +#: src/client/accounts/accounts-editor-edit-pane.vala:742 msgid "Undo signature changes" msgstr "Cofa zmiany podpisu" #. Translators: This label describes the account #. preference for the length of time (weeks, months or #. years) that past email should be downloaded. -#: src/client/accounts/accounts-editor-edit-pane.vala:778 +#: src/client/accounts/accounts-editor-edit-pane.vala:790 msgid "Download mail" msgstr "Pobieranie wiadomości" @@ -526,44 +555,44 @@ msgstr "Pobieranie wiadomości" #. should be downloaded for an account. The #. string substitution is the duration, #. e.g. "1 month back". -#: src/client/accounts/accounts-editor-edit-pane.vala:810 +#: src/client/accounts/accounts-editor-edit-pane.vala:822 #, c-format msgid "Change download period back to: %s" msgstr "Zmienia czas pobierania z powrotem na: %s" -#: src/client/accounts/accounts-editor-edit-pane.vala:831 +#: src/client/accounts/accounts-editor-edit-pane.vala:843 msgid "Everything" msgstr "Wszystko" -#: src/client/accounts/accounts-editor-edit-pane.vala:835 +#: src/client/accounts/accounts-editor-edit-pane.vala:847 msgid "2 weeks back" msgstr "ostatnie 2 tygodnie" -#: src/client/accounts/accounts-editor-edit-pane.vala:839 +#: src/client/accounts/accounts-editor-edit-pane.vala:851 msgid "1 month back" msgstr "ostatni miesiąc" -#: src/client/accounts/accounts-editor-edit-pane.vala:843 +#: src/client/accounts/accounts-editor-edit-pane.vala:855 msgid "3 months back" msgstr "ostatnie 3 miesiące" -#: src/client/accounts/accounts-editor-edit-pane.vala:847 +#: src/client/accounts/accounts-editor-edit-pane.vala:859 msgid "6 months back" msgstr "ostatnie 6 miesięcy" -#: src/client/accounts/accounts-editor-edit-pane.vala:851 +#: src/client/accounts/accounts-editor-edit-pane.vala:863 msgid "1 year back" msgstr "ostatni rok" -#: src/client/accounts/accounts-editor-edit-pane.vala:855 +#: src/client/accounts/accounts-editor-edit-pane.vala:867 msgid "2 years back" msgstr "ostatnie 2 lata" -#: src/client/accounts/accounts-editor-edit-pane.vala:859 +#: src/client/accounts/accounts-editor-edit-pane.vala:871 msgid "4 years back" msgstr "ostatnie 4 lata" -#: src/client/accounts/accounts-editor-edit-pane.vala:865 +#: src/client/accounts/accounts-editor-edit-pane.vala:877 #, c-format msgid "%d day back" msgid_plural "%d days back" @@ -572,12 +601,12 @@ msgstr[1] "ostatnie %d dni" msgstr[2] "ostatnie %d dni" #: src/client/accounts/accounts-editor-list-pane.vala:248 -#: src/client/components/main-window.vala:1623 +#: src/client/application/application-main-window.vala:2037 msgid "Undo" msgstr "Cofnij" #: src/client/accounts/accounts-editor-list-pane.vala:257 -#: src/client/components/main-window.vala:1613 +#: src/client/application/application-main-window.vala:2027 msgid "Redo" msgstr "Ponów" @@ -655,8 +684,8 @@ msgstr "Zabezpieczenia połączenia" #. Translators: Label used when no auth scheme is used #. by an account's IMAP or SMTP service. #: src/client/accounts/accounts-editor-row.vala:479 -#: src/client/accounts/accounts-editor-servers-pane.vala:752 -#: src/client/accounts/accounts-editor-servers-pane.vala:964 +#: src/client/accounts/accounts-editor-servers-pane.vala:755 +#: src/client/accounts/accounts-editor-servers-pane.vala:970 #: src/engine/api/geary-special-folder-type.vala:58 msgid "None" msgstr "Brak" @@ -673,7 +702,8 @@ msgstr "TLS" #. credentials (none, use IMAP, custom) when adding a new #. account #. Button label for retrying when a login error has occurred -#: src/client/accounts/accounts-editor-row.vala:534 ui/main-window.ui:347 +#: src/client/accounts/accounts-editor-row.vala:534 +#: ui/application-main-window.ui:346 msgid "Login" msgstr "Login" @@ -733,12 +763,12 @@ msgstr "Zapisywanie wysłanych wiadomości na serwerze" #. Translators: Label used when an account's IMAP or #. SMTP service uses OAuth2. The string replacement is #. the service's login name. -#: src/client/accounts/accounts-editor-servers-pane.vala:950 +#: src/client/accounts/accounts-editor-servers-pane.vala:956 #, c-format msgid "%s using OAuth2" msgstr "%s za pomocą OAuth2" -#: src/client/accounts/accounts-editor-servers-pane.vala:960 +#: src/client/accounts/accounts-editor-servers-pane.vala:966 msgid "Use receiving server login" msgstr "Login serwera odbierania" @@ -769,19 +799,198 @@ msgstr "Plik w „%s” już istnieje. Zastąpienie go nadpisze jego zawartoś msgid "_Replace" msgstr "_Zastąp" +#: src/client/application/application-client.vala:33 +msgid "Copyright 2016 Software Freedom Conservancy Inc." +msgstr "Copyright 2016 Software Freedom Conservancy Inc." + +#: src/client/application/application-client.vala:34 +msgid "Copyright 2016-2019 Geary Development Team." +msgstr "Copyright 2016-2019 Zespół programistów Geary" + +#: src/client/application/application-client.vala:36 +msgid "Visit the Geary web site" +msgstr "Witryna programu Geary" + +#. / Command line option +#: src/client/application/application-client.vala:94 +msgid "Print debug logging" +msgstr "Wyświetla komunikaty dziennika debugowania" + +#. / Command line option +#: src/client/application/application-client.vala:97 +msgid "Start with the main window hidden (deprecated)" +msgstr "Uruchamia z ukrytym głównym oknem (przestarzałe)" + +#. / Command line option +#: src/client/application/application-client.vala:100 +msgid "Enable WebKitGTK Inspector in web views" +msgstr "Włącza Inspektora biblioteki WebKitGTK w widokach WWW" + +#. / Command line option +#: src/client/application/application-client.vala:103 +msgid "Log conversation monitoring" +msgstr "Zapisuje w dzienniku monitoring wątków" + +#. / Command line option +#: src/client/application/application-client.vala:106 +msgid "Log IMAP network deserialization" +msgstr "Zapisuje w dzienniku deserializację sieciową IMAP" + +#. / Command line option. "Normalization" can also be called +#. / "synchronization". +#: src/client/application/application-client.vala:110 +msgid "Log folder normalization" +msgstr "Zapisuje w dzienniku normalizacje katalogów" + +#. / Command line option +#: src/client/application/application-client.vala:113 +msgid "Log network activity" +msgstr "Zapisuje w dzienniku aktywność sieciową" + +#. / Command line option +#: src/client/application/application-client.vala:116 +msgid "Log periodic activity" +msgstr "Zapisuje w dzienniku okresową aktywność" + +#. / Command line option. The IMAP replay queue is how changes +#. / on the server are replicated on the client. It could +#. / also be called the IMAP events queue. +#: src/client/application/application-client.vala:121 +msgid "Log IMAP replay queue" +msgstr "Zapisuje w dzienniku kolejkę odpowiedzi IMAP" + +#. / Command line option. Serialization is how commands and +#. / responses are converted into a stream of bytes for +#. / network transmission +#: src/client/application/application-client.vala:126 +msgid "Log IMAP network serialization" +msgstr "Zapisuje w dzienniku serializację sieciową IMAP" + +#. / Command line option +#: src/client/application/application-client.vala:129 +msgid "Log database queries (generates lots of messages)" +msgstr "" +"Zapisuje w dzienniku zapytania do bazy danych (generuje dużo komunikatów)" + +#. / Command line option +#: src/client/application/application-client.vala:132 +msgid "Perform a graceful quit" +msgstr "Poprawnie kończy działanie" + +#: src/client/application/application-client.vala:134 +msgid "Open a new window" +msgstr "Otwiera nowe okno" + +#. / Command line option +#: src/client/application/application-client.vala:137 +msgid "Revoke all pinned TLS server certificates" +msgstr "Unieważnia wszystkie przypięte certyfikaty serwerów TLS" + +#. / Command line option +#: src/client/application/application-client.vala:140 +msgid "Display program version" +msgstr "Wyświetla wersję programu" + +#. / Application runtime information label +#: src/client/application/application-client.vala:264 +msgid "Geary version" +msgstr "Wersja programu Geary" + +#. / Application runtime information label +#: src/client/application/application-client.vala:266 +msgid "Geary revision" +msgstr "Wydanie programu Geary" + +#. / Application runtime information label +#: src/client/application/application-client.vala:268 +msgid "GTK version" +msgstr "Wersja biblioteki GTK" + +#. / Applciation runtime information label +#: src/client/application/application-client.vala:275 +msgid "GLib version" +msgstr "Wersja biblioteki GLib" + +#. / Application runtime information label +#: src/client/application/application-client.vala:282 +msgid "WebKitGTK version" +msgstr "Wersja biblioteki WebKitGTK" + +#. / Application runtime information label +#: src/client/application/application-client.vala:289 +msgid "Desktop environment" +msgstr "Środowisko pulpitu" + +#. Translators: This is the file type displayed for +#. attachments with unknown file types. +#: src/client/application/application-client.vala:291 +#: src/client/components/components-attachment-pane.vala:91 +msgid "Unknown" +msgstr "Nieznany" + +#. / Application runtime information label +#: src/client/application/application-client.vala:321 +msgid "Distribution name" +msgstr "Nazwa dystrybucji" + +#. / Application runtime information label +#: src/client/application/application-client.vala:326 +msgid "Distribution release" +msgstr "Wydanie dystrybucji" + +#. / Application runtime information label +#: src/client/application/application-client.vala:334 +msgid "Installation prefix" +msgstr "Przedrostek instalacji" + +#: src/client/application/application-client.vala:566 +#, c-format +msgid "About %s" +msgstr "O programie %s" + +#. Translators: add your name and email address to receive +#. credit in the About dialog For example: Yamada Taro +#. +#: src/client/application/application-client.vala:570 +msgid "translator-credits" +msgstr "" +"scrx , 2012\n" +"Piotrek290 , 2012-2013\n" +"Piotrek Dąbrowski , 2013\n" +"Piotr Sokół , 2012-2013\n" +"PriArd , 2012\n" +"wmq , 2012\n" +"yorbajim , 2013\n" +"zacol , 2012\n" +"Piotr Drąg , 2014-2019\n" +"Aviary.pl , 2014-2019" + +#. / Warning printed to the console when a deprecated +#. / command line option is used. +#: src/client/application/application-client.vala:938 +msgid "The `--hidden` option is deprecated and will be removed in the future." +msgstr "Opcja „--hidden” jest przestarzała i zostanie usunięta w przyszłości." + +#. / Command line warning, string substitution +#. / is the given argument +#: src/client/application/application-client.vala:971 +#, c-format +msgid "Unrecognised program argument: “%s”" +msgstr "Nieznany parametr programu: „%s”" + #. / Notification title. -#: src/client/application/application-controller.vala:454 +#: src/client/application/application-controller.vala:457 #, c-format msgid "A problem occurred sending email for %s" msgstr "Wystąpił problem podczas wysyłania wiadomości z konta %s" #. / Notification body -#: src/client/application/application-controller.vala:458 +#: src/client/application/application-controller.vala:461 msgid "Email will not be sent until re-connected" msgstr "Wiadomości nie będą wysyłane do czasu ponownego połączenia" #. / Translators: Label for in-app notification -#: src/client/application/application-controller.vala:564 +#: src/client/application/application-controller.vala:567 msgid "Conversation marked" msgid_plural "Conversations marked" msgstr[0] "Oznaczono wątek" @@ -789,7 +998,7 @@ msgstr[1] "Oznaczono wątki" msgstr[2] "Oznaczono wątki" #. / Translators: Label for in-app notification -#: src/client/application/application-controller.vala:570 +#: src/client/application/application-controller.vala:573 msgid "Conversation un-marked" msgid_plural "Conversations un-marked" msgstr[0] "Usunięto oznaczenie wątku" @@ -799,8 +1008,8 @@ msgstr[2] "Usunięto oznaczenie wątków" #. / Translators: Label for in-app #. / notification. String substitution is the name #. / of the destination folder. -#: src/client/application/application-controller.vala:596 -#: src/client/application/application-controller.vala:680 +#: src/client/application/application-controller.vala:599 +#: src/client/application/application-controller.vala:683 #, c-format msgid "Conversation moved to %s" msgid_plural "Conversations moved to %s" @@ -813,8 +1022,8 @@ msgstr[2] "Przeniesiono wątki do „%s”" #. / of the source folder. #. / Translators: Label for in-app notification. String #. / substitution is the name of the destination folder. -#: src/client/application/application-controller.vala:604 -#: src/client/application/application-controller.vala:626 +#: src/client/application/application-controller.vala:607 +#: src/client/application/application-controller.vala:629 #, c-format msgid "Conversation restored to %s" msgid_plural "Conversations restored to %s" @@ -823,7 +1032,7 @@ msgstr[1] "Przywrócono wątki do „%s”" msgstr[2] "Przywrócono wątki do „%s”" #. / Translators: Label for in-app notification. -#: src/client/application/application-controller.vala:647 +#: src/client/application/application-controller.vala:650 msgid "Conversation archived" msgid_plural "Conversations archived" msgstr[0] "Przeniesiono wątek do archiwum" @@ -832,7 +1041,7 @@ msgstr[2] "Przeniesiono wątki do archiwum" #. / Translators: Label for in-app notification. String #. / substitution is the name of the destination folder. -#: src/client/application/application-controller.vala:703 +#: src/client/application/application-controller.vala:706 #, c-format msgid "Message restored to %s" msgid_plural "Messages restored to %s" @@ -841,7 +1050,7 @@ msgstr[1] "Przywrócono wiadomości do „%s”" msgstr[2] "Przywrócono wiadomości do „%s”" #. / Translators: Label for in-app notification. -#: src/client/application/application-controller.vala:724 +#: src/client/application/application-controller.vala:727 msgid "Message archived" msgid_plural "Messages archived" msgstr[0] "Przeniesiono wiadomość do archiwum" @@ -851,7 +1060,7 @@ msgstr[2] "Przeniesiono wiadomości do archiwum" #. / Translators: Label for in-app #. / notification. String substitution is the name #. / of the destination folder. -#: src/client/application/application-controller.vala:759 +#: src/client/application/application-controller.vala:762 #, c-format msgid "Message moved to %s" msgid_plural "Messages moved to %s" @@ -862,7 +1071,7 @@ msgstr[2] "Przeniesiono wiadomości do „%s”" #. / Translators: Label for in-app #. / notification. String substitution is the name #. / of the destination folder. -#: src/client/application/application-controller.vala:787 +#: src/client/application/application-controller.vala:790 #, c-format msgid "Conversation labelled as %s" msgid_plural "Conversations labelled as %s" @@ -873,7 +1082,7 @@ msgstr[2] "Dodano etykietę „%s”" #. / Translators: Label for in-app #. / notification. String substitution is the name #. / of the destination folder. -#: src/client/application/application-controller.vala:795 +#: src/client/application/application-controller.vala:798 #, c-format msgid "Conversation un-labelled as %s" msgid_plural "Conversations un-labelled as %s" @@ -881,19 +1090,12 @@ msgstr[0] "Usunięto etykietę „%s”" msgstr[1] "Usunięto etykietę „%s”" msgstr[2] "Usunięto etykietę „%s”" -#: src/client/application/application-controller.vala:1193 -msgid "Labels" -msgstr "Etykiety" - -#. give the user two options: reset the Account local store, or exit Geary. A third -#. could be done to leave the Account in an unopened state, but we don't currently -#. have provisions for that. -#: src/client/application/application-controller.vala:1206 +#: src/client/application/application-controller.vala:1221 #, c-format msgid "Unable to open the database for %s" msgstr "Nie można otworzyć bazy danych dla %s" -#: src/client/application/application-controller.vala:1207 +#: src/client/application/application-controller.vala:1222 #, c-format msgid "" "There was an error opening the local mail database for this account. This is " @@ -918,20 +1120,20 @@ msgstr "" "Przebudowanie bazy danych usunie wszystkie lokalne wiadomości e-mail i ich " "załączniki. Poczta na serwerze nie zostanie usunięta." -#: src/client/application/application-controller.vala:1209 +#: src/client/application/application-controller.vala:1224 msgid "_Rebuild" msgstr "P_rzebuduj" -#: src/client/application/application-controller.vala:1209 +#: src/client/application/application-controller.vala:1224 msgid "E_xit" msgstr "Za_kończ" -#: src/client/application/application-controller.vala:1218 +#: src/client/application/application-controller.vala:1234 #, c-format msgid "Unable to rebuild database for “%s”" msgstr "Nie można przebudować bazy danych dla „%s”" -#: src/client/application/application-controller.vala:1219 +#: src/client/application/application-controller.vala:1235 #, c-format msgid "" "Error during rebuild:\n" @@ -942,187 +1144,95 @@ msgstr "" "\n" "%s" -#. Translators: The label for an in-app notification. The -#. string substitution is a list of recipients of the email. -#: src/client/application/application-controller.vala:1642 +#. / Translators: The label for an in-app notification. The +#. / string substitution is a list of recipients of the email. +#: src/client/application/application-controller.vala:1558 #, c-format -msgid "Successfully sent mail to %s." -msgstr "Pomyślnie wysłano wiadomość do: %s." +msgid "Email sent to %s" +msgstr "Wysłano wiadomość do %s" -#: src/client/application/geary-application.vala:32 -msgid "Copyright 2016 Software Freedom Conservancy Inc." -msgstr "Copyright 2016 Software Freedom Conservancy Inc." - -#: src/client/application/geary-application.vala:33 -msgid "Copyright 2016-2019 Geary Development Team." -msgstr "Copyright 2016-2019 Zespół programistów Geary" - -#: src/client/application/geary-application.vala:35 -msgid "Visit the Geary web site" -msgstr "Witryna programu Geary" - -#. / Command line option -#: src/client/application/geary-application.vala:110 -msgid "Print debug logging" -msgstr "Wyświetla komunikaty dziennika debugowania" - -#. / Command line option -#: src/client/application/geary-application.vala:113 -msgid "Start with the main window hidden (deprecated)" -msgstr "Uruchamia z ukrytym głównym oknem (przestarzałe)" - -#. / Command line option -#: src/client/application/geary-application.vala:116 -msgid "Enable WebKitGTK Inspector in web views" -msgstr "Włącza Inspektora biblioteki WebKitGTK w widokach WWW" - -#. / Command line option -#: src/client/application/geary-application.vala:119 -msgid "Log conversation monitoring" -msgstr "Zapisuje w dzienniku monitoring wątków" - -#. / Command line option -#: src/client/application/geary-application.vala:122 -msgid "Log IMAP network deserialization" -msgstr "Zapisuje w dzienniku deserializację sieciową IMAP" - -#. / Command line option. "Normalization" can also be called -#. / "synchronization". -#: src/client/application/geary-application.vala:126 -msgid "Log folder normalization" -msgstr "Zapisuje w dzienniku normalizacje katalogów" - -#. / Command line option -#: src/client/application/geary-application.vala:129 -msgid "Log network activity" -msgstr "Zapisuje w dzienniku aktywność sieciową" - -#. / Command line option -#: src/client/application/geary-application.vala:132 -msgid "Log periodic activity" -msgstr "Zapisuje w dzienniku okresową aktywność" - -#. / Command line option. The IMAP replay queue is how changes -#. / on the server are replicated on the client. It could -#. / also be called the IMAP events queue. -#: src/client/application/geary-application.vala:137 -msgid "Log IMAP replay queue" -msgstr "Zapisuje w dzienniku kolejkę odpowiedzi IMAP" - -#. / Command line option. Serialization is how commands and -#. / responses are converted into a stream of bytes for -#. / network transmission -#: src/client/application/geary-application.vala:142 -msgid "Log IMAP network serialization" -msgstr "Zapisuje w dzienniku serializację sieciową IMAP" - -#. / Command line option -#: src/client/application/geary-application.vala:145 -msgid "Log database queries (generates lots of messages)" -msgstr "" -"Zapisuje w dzienniku zapytania do bazy danych (generuje dużo komunikatów)" - -#. / Command line option -#: src/client/application/geary-application.vala:148 -msgid "Perform a graceful quit" -msgstr "Poprawnie kończy działanie" - -#. / Command line option -#: src/client/application/geary-application.vala:151 -msgid "Revoke all pinned TLS server certificates" -msgstr "Unieważnia wszystkie przypięte certyfikaty serwerów TLS" - -#. / Command line option -#: src/client/application/geary-application.vala:154 -msgid "Display program version" -msgstr "Wyświetla wersję programu" - -#. / Application runtime information label -#: src/client/application/geary-application.vala:286 -msgid "Geary version" -msgstr "Wersja programu Geary" - -#. / Application runtime information label -#: src/client/application/geary-application.vala:288 -msgid "Geary revision" -msgstr "Wydanie programu Geary" - -#. / Application runtime information label -#: src/client/application/geary-application.vala:290 -msgid "GTK version" -msgstr "Wersja biblioteki GTK" - -#. / Applciation runtime information label -#: src/client/application/geary-application.vala:297 -msgid "GLib version" -msgstr "Wersja biblioteki GLib" - -#. / Application runtime information label -#: src/client/application/geary-application.vala:304 -msgid "WebKitGTK version" -msgstr "Wersja biblioteki WebKitGTK" - -#. / Application runtime information label -#: src/client/application/geary-application.vala:311 -msgid "Desktop environment" -msgstr "Środowisko pulpitu" - -#. Translators: This is the file type displayed for -#. attachments with unknown file types. -#: src/client/application/geary-application.vala:313 -#: src/client/components/components-attachment-pane.vala:91 -msgid "Unknown" -msgstr "Nieznany" - -#. / Application runtime information label -#: src/client/application/geary-application.vala:343 -msgid "Distribution name" -msgstr "Nazwa dystrybucji" - -#. / Application runtime information label -#: src/client/application/geary-application.vala:348 -msgid "Distribution release" -msgstr "Wydanie dystrybucji" - -#. / Application runtime information label -#: src/client/application/geary-application.vala:356 -msgid "Installation prefix" -msgstr "Przedrostek instalacji" - -#: src/client/application/geary-application.vala:518 +#. / Translators: The label for an in-app notification. The +#. / string substitution is a list of recipients of the email. +#: src/client/application/application-controller.vala:2636 #, c-format -msgid "About %s" -msgstr "O programie %s" +msgid "Email to %s queued for delivery" +msgstr "Wiadomość do %s została dodana do kolejki do wysłania" -#. Translators: add your name and email address to receive -#. credit in the About dialog For example: Yamada Taro -#. -#: src/client/application/geary-application.vala:522 -msgid "translator-credits" -msgstr "" -"scrx , 2012\n" -"Piotrek290 , 2012-2013\n" -"Piotrek Dąbrowski , 2013\n" -"Piotr Sokół , 2012-2013\n" -"PriArd , 2012\n" -"wmq , 2012\n" -"yorbajim , 2013\n" -"zacol , 2012\n" -"Piotr Drąg , 2014-2019\n" -"Aviary.pl , 2014-2019" - -#. / Warning printed to the console when a deprecated -#. / command line option is used. -#: src/client/application/geary-application.vala:859 -msgid "The `--hidden` option is deprecated and will be removed in the future." -msgstr "Opcja „--hidden” jest przestarzała i zostanie usunięta w przyszłości." - -#. / Command line warning, string substitution -#. / is the given argument -#: src/client/application/geary-application.vala:891 +#. / Translators: The label for an in-app notification. The +#. / string substitution is a list of recipients of the email. +#: src/client/application/application-controller.vala:2701 #, c-format -msgid "Unrecognised program argument: “%s”" -msgstr "Nieznany parametr programu: „%s”" +msgid "Email to %s saved" +msgstr "Zapisano wiadomość do %s" + +#. / Translators: A label for an in-app notification. +#: src/client/application/application-controller.vala:2716 +#: src/client/application/application-controller.vala:2774 +msgid "Composer could not be restored" +msgstr "Nie można przywrócić okna tworzenia wiadomości" + +#. / Translators: The label for an in-app notification. The +#. / string substitution is a list of recipients of the email. +#: src/client/application/application-controller.vala:2759 +#, c-format +msgid "Email to %s discarded" +msgstr "Odrzucono wiadomość do %s" + +#. / Translators: Main window title, first string +#. / substitution being the currently selected folder name, +#. / the second being the selected account name. +#: src/client/application/application-main-window.vala:552 +#, c-format +msgid "%s — %s" +msgstr "%s — %s" + +#: src/client/application/application-main-window.vala:961 +msgid "Labels" +msgstr "Etykiety" + +#. / Translators: Primary text for a confirmation dialog +#: src/client/application/application-main-window.vala:1297 +msgid "Do you want to permanently delete this conversation?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "Trwale usunąć ten wątek?" +msgstr[1] "Trwale usunąć te wątki?" +msgstr[2] "Trwale usunąć te wątki?" + +#: src/client/application/application-main-window.vala:1302 +#: src/client/application/application-main-window.vala:1317 +msgid "Delete" +msgstr "Usuń" + +#. / Translators: Primary text for a confirmation dialog +#: src/client/application/application-main-window.vala:1312 +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "Trwale usunąć tę wiadomość?" +msgstr[1] "Trwale usunąć te wiadomości?" +msgstr[2] "Trwale usunąć te wiadomości?" + +#: src/client/application/application-main-window.vala:1325 +#, c-format +msgid "Empty all email from your %s folder?" +msgstr "Usunąć wszystkie wiadomości z katalogu %s?" + +#: src/client/application/application-main-window.vala:1328 +msgid "This removes the email from Geary and your email server." +msgstr "Spowoduje to usunięcie wiadomości z programu Geary i serwera poczty." + +#: src/client/application/application-main-window.vala:1329 +msgid "This cannot be undone." +msgstr "Tego nie można cofnąć." + +#: src/client/application/application-main-window.vala:1330 +#, c-format +msgid "Empty %s" +msgstr "Opróżnij %s" + +#: src/client/application/application-main-window.vala:1660 +#, c-format +msgid "%s (%d)" +msgstr "%s (%d)" #. Translators: The first argument will be a #. description of the document type, the second will @@ -1130,7 +1240,7 @@ msgstr "Nieznany parametr programu: „%s”" #. Document (100.9MB) #. / In the composer, the filename followed by its filesize, i.e. "notes.txt (1.12KB)" #: src/client/components/components-attachment-pane.vala:107 -#: src/client/composer/composer-widget.vala:1666 +#: src/client/composer/composer-widget.vala:1815 #, c-format msgid "%s (%s)" msgstr "%s (%s)" @@ -1151,152 +1261,166 @@ msgstr "" msgid "Don’t _ask me again" msgstr "_Bez pytania ponownie" -#: src/client/components/components-inspector.vala:68 +#: src/client/components/components-inspector.vala:72 msgid "Inspector" msgstr "Inspektor" #. / Translators: Title for Inspector logs pane #. / Translators: Title for problem report dialog logs pane -#: src/client/components/components-inspector.vala:77 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:91 +#: src/client/components/components-inspector.vala:87 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:102 msgid "Logs" msgstr "Dzienniki" #. / Translators: Title for Inspector system system information pane #. / Translators: Title for problem report system information #. / pane -#: src/client/components/components-inspector.vala:81 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:94 +#: src/client/components/components-inspector.vala:91 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:105 msgid "System" msgstr "System" #. Button label for saving problem report information -#: src/client/components/components-inspector.vala:198 -#: src/client/components/components-inspector.vala:201 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:210 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:213 +#: src/client/components/components-inspector.vala:208 +#: src/client/components/components-inspector.vala:211 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:221 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:224 #: ui/problem-details-dialog.ui:42 msgid "Save As" msgstr "Zapisz jako" -#: src/client/components/components-inspector.vala:202 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:214 +#: src/client/components/components-inspector.vala:212 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:225 #: ui/accounts_editor_servers_pane.ui:17 msgid "Cancel" msgstr "Anuluj" +#. / Translators: Preferences label +#: src/client/components/components-preferences-window.vala:43 +msgid "_Automatically select next message" +msgstr "_Automatyczne wybieranie następnej wiadomości" + +#. / Translators: Preferences label +#: src/client/components/components-preferences-window.vala:53 +msgid "_Display conversation preview" +msgstr "P_odgląd wątku" + +#. / Translators: Preferences label +#: src/client/components/components-preferences-window.vala:63 +msgid "Use _three pane view" +msgstr "Widok _trzech paneli" + +#. / Translators: Preferences label +#: src/client/components/components-preferences-window.vala:73 +msgid "Use _single key email shortcuts" +msgstr "_Skróty jednoklawiszowe" + +#: src/client/components/components-preferences-window.vala:75 +msgid "" +"Enable keyboard shortcuts for email actions that do not require pressing " +"" +msgstr "" +"Włącza skróty klawiszowe do działań na wiadomościach, które nie wymagają " +"naciśnięcia klawisza " + +#. / Translators: Preferences label +#: src/client/components/components-preferences-window.vala:86 +msgid "_Watch for new mail when closed" +msgstr "_Monitorowanie nowych wiadomości po zamknięciu" + +#. / Translators: Preferences tooltip +#: src/client/components/components-preferences-window.vala:90 +msgid "Geary will keep running after all windows are closed" +msgstr "Program Geary będzie nadal działał po zamknięciu wszystkich okien" + +#. / Translators: Search entry placeholder text +#: src/client/components/components-search-bar.vala:12 +#: src/client/folder-list/folder-list-search-branch.vala:53 +#: src/engine/api/geary-special-folder-type.vala:51 +msgid "Search" +msgstr "Wyszukaj" + +#. / Translators: Search entry tooltip +#: src/client/components/components-search-bar.vala:32 +msgid "Search all mail in account for keywords" +msgstr "Przeszukuje wszystkie wiadomości z konta pod kątem słów kluczowych" + +#. / Translators: Search entry placeholder, string +#. / replacement is the name of an account +#: src/client/components/components-search-bar.vala:81 +#: src/client/folder-list/folder-list-search-branch.vala:54 +#, c-format +msgid "Search %s account" +msgstr "Przeszukiwanie konta %s" + #. Translators: Tooltip used when an entry requires a valid #. email address to be entered, but one is not provided. -#: src/client/components/components-validator.vala:378 +#: src/client/components/components-validator.vala:390 msgid "An email address is required" msgstr "Wymagany jest adres e-mail" #. Translators: Tooltip used when an entry requires a valid #. email address to be entered, but the address is invalid. -#: src/client/components/components-validator.vala:382 +#: src/client/components/components-validator.vala:394 msgid "Not a valid email address" msgstr "Nieprawidłowy adres e-mail" #. Translators: Tooltip used when an entry requires a valid, #. resolvable server name to be entered, but one is not #. provided. -#: src/client/components/components-validator.vala:428 +#: src/client/components/components-validator.vala:440 msgid "A server name is required" msgstr "Wymagana jest nazwa serwera" #. Translators: Tooltip used when an entry requires a valid #. server name to be entered, but it was unable to be #. looked-up in the DNS. -#: src/client/components/components-validator.vala:433 +#: src/client/components/components-validator.vala:445 msgid "Could not look up server name" msgstr "Nie można wyszukać nazwy serwera" -#: src/client/components/main-toolbar.vala:139 +#: src/client/components/main-toolbar.vala:142 msgid "Mark conversation" msgid_plural "Mark conversations" msgstr[0] "Oznacza wątek" msgstr[1] "Oznacza wątki" msgstr[2] "Oznacza wątki" -#: src/client/components/main-toolbar.vala:144 +#: src/client/components/main-toolbar.vala:147 msgid "Add label to conversation" msgid_plural "Add label to conversations" msgstr[0] "Nadaje etykietę wątkowi" msgstr[1] "Nadaje etykietę wątkom" msgstr[2] "Nadaje etykietę wątkom" -#: src/client/components/main-toolbar.vala:149 +#: src/client/components/main-toolbar.vala:152 msgid "Move conversation" msgid_plural "Move conversations" msgstr[0] "Przenosi wątek" msgstr[1] "Przenosi wątki" msgstr[2] "Przenosi wątki" -#: src/client/components/main-toolbar.vala:154 +#: src/client/components/main-toolbar.vala:157 msgid "Archive conversation" msgid_plural "Archive conversations" msgstr[0] "Archiwizuje wątek" msgstr[1] "Archiwizuje wątki" msgstr[2] "Archiwizuje wątki" -#: src/client/components/main-toolbar.vala:163 +#: src/client/components/main-toolbar.vala:168 msgid "Move conversation to Trash" msgid_plural "Move conversations to Trash" msgstr[0] "Przenosi wątek do kosza" msgstr[1] "Przenosi wątki do kosza" msgstr[2] "Przenosi wątki do kosza" -#: src/client/components/main-toolbar.vala:171 +#: src/client/components/main-toolbar.vala:178 msgid "Delete conversation" msgid_plural "Delete conversations" msgstr[0] "Usuwa wątek" msgstr[1] "Usuwa wątki" msgstr[2] "Usuwa wątki" -#. / Translators: Primary text for a confirmation dialog -#: src/client/components/main-window.vala:985 -msgid "Do you want to permanently delete this conversation?" -msgid_plural "Do you want to permanently delete these conversations?" -msgstr[0] "Trwale usunąć ten wątek?" -msgstr[1] "Trwale usunąć te wątki?" -msgstr[2] "Trwale usunąć te wątki?" - -#: src/client/components/main-window.vala:990 -#: src/client/components/main-window.vala:1005 -msgid "Delete" -msgstr "Usuń" - -#. / Translators: Primary text for a confirmation dialog -#: src/client/components/main-window.vala:1000 -msgid "Do you want to permanently delete this message?" -msgid_plural "Do you want to permanently delete these messages?" -msgstr[0] "Trwale usunąć tę wiadomość?" -msgstr[1] "Trwale usunąć te wiadomości?" -msgstr[2] "Trwale usunąć te wiadomości?" - -#: src/client/components/main-window.vala:1013 -#, c-format -msgid "Empty all email from your %s folder?" -msgstr "Usunąć wszystkie wiadomości z katalogu %s?" - -#: src/client/components/main-window.vala:1016 -msgid "This removes the email from Geary and your email server." -msgstr "Spowoduje to usunięcie wiadomości z programu Geary i serwera poczty." - -#: src/client/components/main-window.vala:1017 -msgid "This cannot be undone." -msgstr "Tego nie można cofnąć." - -#: src/client/components/main-window.vala:1018 -#, c-format -msgid "Empty %s" -msgstr "Opróżnij %s" - -#: src/client/components/main-window.vala:1361 -#, c-format -msgid "%s (%d)" -msgstr "%s (%d)" - #. Translators: Info bar title for a generic account #. problem. #: src/client/components/main-window-info-bar.vala:44 @@ -1366,29 +1490,6 @@ msgstr "Wyświetla informacje techniczne o błędzie" msgid "_Retry" msgstr "_Ponów" -#: src/client/components/search-bar.vala:8 -#: src/client/folder-list/folder-list-search-branch.vala:38 -#: src/engine/api/geary-special-folder-type.vala:51 -msgid "Search" -msgstr "Wyszukaj" - -#. Search entry. -#: src/client/components/search-bar.vala:23 -msgid "Search all mail in account for keywords (Ctrl+S)" -msgstr "" -"Przeszukuje wszystkie wiadomości z konta pod kątem słów kluczowych (Ctrl+S)" - -#: src/client/components/search-bar.vala:83 -#, c-format -msgid "Indexing %s account" -msgstr "Indeksowanie konta %s" - -#: src/client/components/search-bar.vala:110 -#: src/client/folder-list/folder-list-search-branch.vala:39 -#, c-format -msgid "Search %s account" -msgstr "Przeszukiwanie konta %s" - #. / Displayed in the space-limited status bar while a message is in the process of being sent. #: src/client/components/status-bar.vala:26 msgid "Sending…" @@ -1476,19 +1577,24 @@ msgstr "Nieprawidłowy adres URL odnośnika" msgid "Invalid email address" msgstr "Nieprawidłowy adres e-mail" -#: src/client/composer/composer-widget.vala:159 +#. / Translators: Title for an empty composer window +#: src/client/composer/composer-widget.vala:28 +msgid "New Message" +msgstr "Nowa wiadomość" + +#: src/client/composer/composer-widget.vala:210 msgid "Saved" msgstr "Zapisano" -#: src/client/composer/composer-widget.vala:160 +#: src/client/composer/composer-widget.vala:211 msgid "Saving" msgstr "Zapisywanie" -#: src/client/composer/composer-widget.vala:161 +#: src/client/composer/composer-widget.vala:212 msgid "Error saving" msgstr "Błąd podczas zapisywania" -#: src/client/composer/composer-widget.vala:162 +#: src/client/composer/composer-widget.vala:213 msgid "Press Backspace to delete quote" msgstr "Naciśnięcie klawisza Backspace usunie cytat" @@ -1497,7 +1603,7 @@ msgstr "Naciśnięcie klawisza Backspace usunie cytat" #. checking, include all variants of each word. No spaces are #. allowed. The words will be converted to lower case based on #. locale and English versions included automatically. -#: src/client/composer/composer-widget.vala:178 +#: src/client/composer/composer-widget.vala:229 msgid "" "attach|attaching|attaches|attachment|attachments|attached|enclose|enclosed|" "enclosing|encloses|enclosure|enclosures" @@ -1509,89 +1615,90 @@ msgstr "" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. Keep, Discard or Cancel. -#: src/client/composer/composer-widget.vala:1182 +#: src/client/composer/composer-widget.vala:814 msgid "Do you want to keep or discard this draft message?" msgstr "Zachować lub odrzucić ten szkic?" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. only Discard or Cancel. -#: src/client/composer/composer-widget.vala:1212 +#: src/client/composer/composer-widget.vala:840 msgid "Do you want to discard this draft message?" msgstr "Odrzucić ten szkic?" -#: src/client/composer/composer-widget.vala:1331 +#: src/client/composer/composer-widget.vala:1484 msgid "Send message with an empty subject and body?" msgstr "Wysłać wiadomość niezawierającą tematu i treści?" -#: src/client/composer/composer-widget.vala:1333 +#: src/client/composer/composer-widget.vala:1486 msgid "Send message with an empty subject?" msgstr "Wysłać wiadomość niezawierającą tematu?" -#: src/client/composer/composer-widget.vala:1335 +#: src/client/composer/composer-widget.vala:1488 msgid "Send message with an empty body?" msgstr "Wysłać wiadomość niezawierającą treści?" -#: src/client/composer/composer-widget.vala:1344 +#: src/client/composer/composer-widget.vala:1497 msgid "Send message without an attachment?" msgstr "Wysłać wiadomość niezawierającą załączników?" -#: src/client/composer/composer-widget.vala:1658 +#: src/client/composer/composer-widget.vala:1807 #, c-format msgid "“%s” already attached for delivery." msgstr "Do wiadomości już załączono „%s”." -#: src/client/composer/composer-widget.vala:1703 -#, c-format -msgid "“%s” could not be found." -msgstr "Nie można odnaleźć „%s”." - -#: src/client/composer/composer-widget.vala:1709 -#, c-format -msgid "“%s” is a folder." -msgstr "„%s” jest katalogiem." - -#: src/client/composer/composer-widget.vala:1715 +#: src/client/composer/composer-widget.vala:1837 +#: src/client/composer/composer-widget.vala:1887 #, c-format msgid "“%s” is an empty file." msgstr "„%s” jest pustym plikiem." -#: src/client/composer/composer-widget.vala:1728 +#: src/client/composer/composer-widget.vala:1875 +#, c-format +msgid "“%s” could not be found." +msgstr "Nie można odnaleźć „%s”." + +#: src/client/composer/composer-widget.vala:1881 +#, c-format +msgid "“%s” is a folder." +msgstr "„%s” jest katalogiem." + +#: src/client/composer/composer-widget.vala:1900 #, c-format msgid "“%s” could not be opened for reading." msgstr "Nie można otworzyć „%s” do odczytania." -#: src/client/composer/composer-widget.vala:1736 +#: src/client/composer/composer-widget.vala:1908 msgid "Cannot add attachment" msgstr "Nie można dodać załącznika" #. Translators: Human-readable version of the RFC 822 To header -#: src/client/composer/composer-widget.vala:1793 +#: src/client/composer/composer-widget.vala:1965 #: src/client/conversation-viewer/conversation-email.vala:559 -#: src/client/util/util-email.vala:216 ui/conversation-message.ui:312 +#: src/client/util/util-email.vala:235 ui/conversation-message.ui:312 msgid "To:" msgstr "Do:" #. Translators: Human-readable version of the RFC 822 CC header -#: src/client/composer/composer-widget.vala:1799 +#: src/client/composer/composer-widget.vala:1971 #: src/client/conversation-viewer/conversation-email.vala:564 -#: src/client/util/util-email.vala:221 ui/conversation-message.ui:357 +#: src/client/util/util-email.vala:240 ui/conversation-message.ui:357 msgid "Cc:" msgstr "DW:" #. Translators: Human-readable version of the RFC 822 BCC header -#: src/client/composer/composer-widget.vala:1805 +#: src/client/composer/composer-widget.vala:1977 #: src/client/conversation-viewer/conversation-email.vala:569 #: ui/conversation-message.ui:402 msgid "Bcc:" msgstr "UDW:" #. Translators: Human-readable version of the RFC 822 Reply-To header -#: src/client/composer/composer-widget.vala:1811 +#: src/client/composer/composer-widget.vala:1983 msgid "Reply-To: " msgstr "Odpowiedź do: " -#: src/client/composer/composer-widget.vala:1951 +#: src/client/composer/composer-widget.vala:2172 msgid "Select Color" msgstr "Wybór koloru" @@ -1600,27 +1707,23 @@ msgstr "Wybór koloru" #. printf argument will be the alternate email address, #. and the second will be the account's primary email #. address. -#: src/client/composer/composer-widget.vala:2143 +#: src/client/composer/composer-widget.vala:2364 #, c-format msgid "%1$s via %2$s" msgstr "%1$s przez %2$s" #. Composer label (with mnemonic underscore) for the account selector #. when choosing what address to send a message from. -#: src/client/composer/composer-widget.vala:2198 +#: src/client/composer/composer-widget.vala:2420 msgid "_From:" msgstr "_Od:" #. Translators: This is the name of the file chooser filter #. when inserting an image in the composer. -#: src/client/composer/composer-widget.vala:2480 +#: src/client/composer/composer-widget.vala:2723 msgid "Images" msgstr "Obrazy" -#: src/client/composer/composer-window.vala:14 -msgid "New Message" -msgstr "Nowa wiadomość" - #: src/client/composer/spell-check-popover.vala:108 msgid "Remove this language from the preferred list" msgstr "Usuwa ten język z listy preferowanych" @@ -1634,7 +1737,7 @@ msgid "Search for more languages" msgstr "Więcej języków" #. / Translators: Context menu item -#: src/client/conversation-list/conversation-list-view.vala:312 +#: src/client/conversation-list/conversation-list-view.vala:335 msgid "Move conversation to _Trash" msgid_plural "Move conversations to _Trash" msgstr[0] "_Przenieś wątek do kosza" @@ -1642,45 +1745,45 @@ msgstr[1] "_Przenieś wątki do kosza" msgstr[2] "_Przenieś wątki do kosza" #. / Translators: Context menu item -#: src/client/conversation-list/conversation-list-view.vala:322 +#: src/client/conversation-list/conversation-list-view.vala:347 msgid "_Delete conversation" msgid_plural "_Delete conversations" msgstr[0] "_Usuń wątek" msgstr[1] "_Usuń wątki" msgstr[2] "_Usuń wątki" -#: src/client/conversation-list/conversation-list-view.vala:331 +#: src/client/conversation-list/conversation-list-view.vala:360 #: ui/main-toolbar-menus.ui:5 msgid "Mark as _Read" msgstr "Oznacz jako p_rzeczytane" -#: src/client/conversation-list/conversation-list-view.vala:334 +#: src/client/conversation-list/conversation-list-view.vala:368 #: ui/main-toolbar-menus.ui:9 msgid "Mark as _Unread" msgstr "Oznacz jako niep_rzeczytane" -#: src/client/conversation-list/conversation-list-view.vala:337 +#: src/client/conversation-list/conversation-list-view.vala:376 #: ui/main-toolbar-menus.ui:17 msgid "U_nstar" msgstr "Usuń wy_różnienie" -#: src/client/conversation-list/conversation-list-view.vala:339 +#: src/client/conversation-list/conversation-list-view.vala:383 #: ui/main-toolbar-menus.ui:13 msgid "_Star" msgstr "_Wyróżnij" #. Translators: Menu item to reply to a specific message. -#: src/client/conversation-list/conversation-list-view.vala:342 +#: src/client/conversation-list/conversation-list-view.vala:392 #: ui/conversation-email-menus.ui:9 msgid "_Reply" msgstr "_Odpowiedz" -#: src/client/conversation-list/conversation-list-view.vala:343 +#: src/client/conversation-list/conversation-list-view.vala:398 msgid "R_eply All" msgstr "O_dpowiedz wszystkim" #. Translators: Menu item to forward a specific message. -#: src/client/conversation-list/conversation-list-view.vala:344 +#: src/client/conversation-list/conversation-list-view.vala:404 #: ui/conversation-email-menus.ui:21 msgid "_Forward" msgstr "_Przekaż" @@ -1691,23 +1794,23 @@ msgstr "Ja" #. Translators: Human-readable version of the RFC 822 From header #: src/client/conversation-viewer/conversation-email.vala:554 -#: src/client/util/util-email.vala:207 +#: src/client/util/util-email.vala:226 msgid "From:" msgstr "Od:" #. Translators: Human-readable version of the RFC 822 Date header #: src/client/conversation-viewer/conversation-email.vala:574 -#: src/client/util/util-email.vala:212 +#: src/client/util/util-email.vala:231 msgid "Date:" msgstr "Data:" #. Translators: Human-readable version of the RFC 822 Subject header #: src/client/conversation-viewer/conversation-email.vala:584 -#: src/client/util/util-email.vala:210 +#: src/client/util/util-email.vala:229 msgid "Subject:" msgstr "Temat:" -#: src/client/conversation-viewer/conversation-message.vala:132 +#: src/client/conversation-viewer/conversation-message.vala:128 msgid "This email address may have been forged" msgstr "Ten adres e-mail może być fałszywy" @@ -1715,44 +1818,44 @@ msgstr "Ten adres e-mail może być fałszywy" #. in load_contacts. #. Translators: This is displayed in place of the from address #. when the message has no from address. -#: src/client/conversation-viewer/conversation-message.vala:449 +#: src/client/conversation-viewer/conversation-message.vala:465 msgid "No sender" msgstr "Brak nadawcy" #. Translators: This separates multiple 'from' #. addresses in the compact header for a message. -#: src/client/conversation-viewer/conversation-message.vala:841 +#: src/client/conversation-viewer/conversation-message.vala:959 msgid ", " msgstr ", " #. Translators: This string is used as the HTML IMG ALT #. attribute value when displaying an inline image in an email #. that did not specify a file name. E.g. Image\n" "Language-Team: Swedish \n" "Language: sv\n" @@ -27,7 +27,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.2.3\n" +"X-Generator: Poedit 2.2.4\n" #: desktop/geary-attach.contract.desktop.in:3 msgid "Send by email" @@ -42,6 +42,7 @@ msgstr "Skicka filer med Geary" #: desktop/org.gnome.Geary.appdata.xml.in.in:12 #: desktop/org.gnome.Geary.desktop.in.in:3 #: src/client/accounts/accounts-editor-servers-pane.vala:555 +#: src/client/application/application-main-window.vala:547 msgid "Geary" msgstr "Geary" @@ -54,7 +55,7 @@ msgstr "E-post" #: desktop/geary-autostart.desktop.in.in:5 #: desktop/org.gnome.Geary.appdata.xml.in.in:16 #: desktop/org.gnome.Geary.desktop.in.in:5 -#: src/client/application/geary-application.vala:30 +#: src/client/application/application-client.vala:32 msgid "Send and receive email" msgstr "Skicka och ta emot e-post" @@ -133,6 +134,10 @@ msgstr "E-post;Epost;IMAP;GMail;Yahoo;Hotmail;Outlook;" msgid "Compose Message" msgstr "Skriv meddelande" +#: desktop/org.gnome.Geary.desktop.in.in:26 +msgid "New Window" +msgstr "Nytt fönster" + #: desktop/org.gnome.Geary.gschema.xml:8 msgid "Maximize window" msgstr "Maximera fönster" @@ -215,10 +220,22 @@ msgid "True if we should display a short preview of each message." msgstr "True om en kort förhandsvisning ska visas för varje meddelande." #: desktop/org.gnome.Geary.gschema.xml:68 +msgid "Use single key shortcuts" +msgstr "Använd kortkommandon med en tangent" + +#: desktop/org.gnome.Geary.gschema.xml:69 +msgid "" +"Enables shortcuts for email actions that do not require pressing to " +"emulate those used by Gmail." +msgstr "" +"Aktiverar kortkommandon för e-poståtgärder som inte kräver att trycks " +"ned, för att emulera de som används av Gmail." + +#: desktop/org.gnome.Geary.gschema.xml:76 msgid "Languages that shall be used in the spell checker" msgstr "Språk som ska användas i stavningskontrollen" -#: desktop/org.gnome.Geary.gschema.xml:69 +#: desktop/org.gnome.Geary.gschema.xml:77 msgid "" "A list of POSIX locales, with the empty list disabling spell checking and " "the null list using desktop languages by default." @@ -226,89 +243,85 @@ msgstr "" "En lista över POSIX-lokaler, där en tom lista inaktiverar stavningskontroll " "och null-listan använder skrivbordets språk som standard." -#: desktop/org.gnome.Geary.gschema.xml:76 +#: desktop/org.gnome.Geary.gschema.xml:84 msgid "Languages that are displayed in the spell checker popover" msgstr "Språk som visas i stavningskontrollens kontextfönster" -#: desktop/org.gnome.Geary.gschema.xml:77 +#: desktop/org.gnome.Geary.gschema.xml:85 msgid "" "List of languages that are always displayed in the popover of the spell " "checker." msgstr "" "Lista över språk som alltid visas i stavningskontrollens kontextfönster." -#: desktop/org.gnome.Geary.gschema.xml:82 -msgid "Enable notification sounds" -msgstr "Aktivera aviseringsljud" - -#: desktop/org.gnome.Geary.gschema.xml:83 -msgid "True to play sounds for notifications and sending." -msgstr "True för att spela ljud för aviseringar och för att skicka." - -#: desktop/org.gnome.Geary.gschema.xml:88 -msgid "Show notifications for new mail" -msgstr "Visa aviseringar för ny e-post" - -#: desktop/org.gnome.Geary.gschema.xml:89 -msgid "True to show notification bubbles." -msgstr "True för att visa aviseringsbubblor." - -#: desktop/org.gnome.Geary.gschema.xml:94 +#: desktop/org.gnome.Geary.gschema.xml:90 msgid "Notify of new mail at startup" msgstr "Avisera om ny e-post vid uppstart" -#: desktop/org.gnome.Geary.gschema.xml:95 +#: desktop/org.gnome.Geary.gschema.xml:91 msgid "True to notify of new mail at startup." msgstr "True för att avisera om ny e-post vid uppstart." -#: desktop/org.gnome.Geary.gschema.xml:100 +#: desktop/org.gnome.Geary.gschema.xml:96 msgid "Ask when opening an attachment" msgstr "Fråga vid öppnandet av en bilaga" -#: desktop/org.gnome.Geary.gschema.xml:101 +#: desktop/org.gnome.Geary.gschema.xml:97 msgid "True to ask when opening an attachment." msgstr "True för att fråga vid öppnandet av en bilaga." -#: desktop/org.gnome.Geary.gschema.xml:106 +#: desktop/org.gnome.Geary.gschema.xml:102 msgid "Whether to compose emails in HTML" msgstr "Huruvida e-post ska skrivas i html" -#: desktop/org.gnome.Geary.gschema.xml:107 +#: desktop/org.gnome.Geary.gschema.xml:103 msgid "True to compose emails in HTML; false for plain text." msgstr "True för att skriva e-post i html; false för ren text." -#: desktop/org.gnome.Geary.gschema.xml:112 +#: desktop/org.gnome.Geary.gschema.xml:108 msgid "Advisory strategy for full-text searching" msgstr "Rekommenderad strategi för fulltextsökning" -#: desktop/org.gnome.Geary.gschema.xml:113 +#: desktop/org.gnome.Geary.gschema.xml:109 msgid "" "Acceptable values are “exact”, “conservative”, “aggressive”, and “horizon”." msgstr "" "Tillåtna värden är ”exact”, ”conservative”, ”aggressive”, och ”horizon”." -#: desktop/org.gnome.Geary.gschema.xml:118 +#: desktop/org.gnome.Geary.gschema.xml:114 msgid "Zoom of conversation viewer" msgstr "Zooma till konversationsvisaren" -#: desktop/org.gnome.Geary.gschema.xml:119 +#: desktop/org.gnome.Geary.gschema.xml:115 msgid "The zoom to apply on the conservation view." msgstr "Zoom att tillämpa på konversationsvyn." -#: desktop/org.gnome.Geary.gschema.xml:124 +#: desktop/org.gnome.Geary.gschema.xml:120 msgid "Size of detached composer window" msgstr "Storlek på frånkopplat textinmatningsfönster" -#: desktop/org.gnome.Geary.gschema.xml:125 +#: desktop/org.gnome.Geary.gschema.xml:121 msgid "The last recorded size of the detached composer window." msgstr "" "Den senast lagrade storleken för det frikopplade textinmatningsfönstret." -#: desktop/org.gnome.Geary.gschema.xml:130 +#: desktop/org.gnome.Geary.gschema.xml:126 +msgid "Undo sending email delay" +msgstr "Fördröjning för att kunna ångra sändande av e-post" + +#: desktop/org.gnome.Geary.gschema.xml:127 +msgid "" +"The number of seconds to wait before sending an email. Set to zero or less " +"to disable." +msgstr "" +"Antalet sekunder att vänta innan ett e-postmeddelande skickas. Ställ in till " +"noll eller mindre för att inaktivera." + +#: desktop/org.gnome.Geary.gschema.xml:133 msgid "Whether we migrated the old settings" msgstr "Huruvida de gamla inställningarna migrerades" -#: desktop/org.gnome.Geary.gschema.xml:131 +#: desktop/org.gnome.Geary.gschema.xml:134 msgid "" "False to check for the old “org.yorba.geary”-schema and copy its values." msgstr "" @@ -318,24 +331,24 @@ msgstr "" #. Translators: In-app notification label, when #. the app had a problem pinning an otherwise #. untrusted TLS certificate -#: src/client/accounts/accounts-editor.vala:204 +#: src/client/accounts/accounts-editor.vala:210 msgid "Failed to store certificate" msgstr "Misslyckades med att lagra certifikat" #. Translators: Label for adding an email account #. account for a generic IMAP service provider. -#: src/client/accounts/accounts-editor-add-pane.vala:109 +#: src/client/accounts/accounts-editor-add-pane.vala:108 msgid "All others" msgstr "Alla andra" #. Translators: In-app notification label -#: src/client/accounts/accounts-editor-add-pane.vala:196 +#: src/client/accounts/accounts-editor-add-pane.vala:195 #: src/client/accounts/accounts-editor-servers-pane.vala:316 msgid "Check your receiving login and password" msgstr "Kontrollera din inloggning och lösenord för mottagning" #. Translators: In-app notification label -#: src/client/accounts/accounts-editor-add-pane.vala:211 +#: src/client/accounts/accounts-editor-add-pane.vala:210 #: src/client/accounts/accounts-editor-servers-pane.vala:329 msgid "Check your receiving server details" msgstr "Kontrollera dina detaljer för mottagande server" @@ -345,51 +358,51 @@ msgstr "Kontrollera dina detaljer för mottagande server" #. succeeded, so the user probably needs to #. specify custom creds here #. Translators: In-app notification label -#: src/client/accounts/accounts-editor-add-pane.vala:233 +#: src/client/accounts/accounts-editor-add-pane.vala:232 #: src/client/accounts/accounts-editor-servers-pane.vala:350 msgid "Check your sending login and password" msgstr "Kontrollera din inloggning och lösenord för sändning" #. Translators: In-app notification label -#: src/client/accounts/accounts-editor-add-pane.vala:247 +#: src/client/accounts/accounts-editor-add-pane.vala:246 #: src/client/accounts/accounts-editor-servers-pane.vala:363 msgid "Check your sending server details" msgstr "Kontrollera dina detaljer för sändande server" #. Translators: In-app notification label -#: src/client/accounts/accounts-editor-add-pane.vala:262 +#: src/client/accounts/accounts-editor-add-pane.vala:261 msgid "Check your email address and password" msgstr "Kontrollera din e-postadress och lösenord" #. Translators: In-app notification label -#: src/client/accounts/accounts-editor-add-pane.vala:273 +#: src/client/accounts/accounts-editor-add-pane.vala:272 msgid "Could not connect, check your network" msgstr "Det gick inte att ansluta, kontrollera ditt nätverk" #. Translators: In-app notification label for a #. generic error creating an account -#: src/client/accounts/accounts-editor-add-pane.vala:286 +#: src/client/accounts/accounts-editor-add-pane.vala:285 msgid "An unexpected problem occurred" msgstr "Ett oväntat problem uppstod" #. Translators: In-app notification label, the #. string substitution is a more detailed reason. -#: src/client/accounts/accounts-editor-add-pane.vala:304 +#: src/client/accounts/accounts-editor-add-pane.vala:303 #, c-format msgid "Account not created: %s" msgstr "Konto inte skapat: %s" #. Translators: Label for the person's actual name when adding #. an account -#: src/client/accounts/accounts-editor-add-pane.vala:551 +#: src/client/accounts/accounts-editor-add-pane.vala:558 msgid "Your name" msgstr "Ditt namn" #. Translators: Label used for the address part of an #. email address when editing a user's sender address #. preferences for an account. -#: src/client/accounts/accounts-editor-add-pane.vala:568 -#: src/client/accounts/accounts-editor-edit-pane.vala:501 +#: src/client/accounts/accounts-editor-add-pane.vala:575 +#: src/client/accounts/accounts-editor-edit-pane.vala:513 msgid "Email address" msgstr "E-postadress" @@ -398,8 +411,8 @@ msgstr "E-postadress" #. Translators: This is used as a placeholder for the #. address part of an email address when editing a user's #. sender address preferences for an account. -#: src/client/accounts/accounts-editor-add-pane.vala:571 -#: src/client/accounts/accounts-editor-edit-pane.vala:469 +#: src/client/accounts/accounts-editor-add-pane.vala:579 +#: src/client/accounts/accounts-editor-edit-pane.vala:479 msgid "person@example.com" msgstr "person@example.com" @@ -407,15 +420,15 @@ msgstr "person@example.com" #. when adding an account #. Translators: Label for the user's login name for an #. IMAP, SMTP, etc service -#: src/client/accounts/accounts-editor-add-pane.vala:585 -#: src/client/accounts/accounts-editor-servers-pane.vala:880 +#: src/client/accounts/accounts-editor-add-pane.vala:593 +#: src/client/accounts/accounts-editor-servers-pane.vala:884 msgid "Login name" msgstr "Inloggningsnamn" #. Translators: Label for the user's password for an IMAP, #. SMTP, etc service -#: src/client/accounts/accounts-editor-add-pane.vala:599 -#: src/client/accounts/accounts-editor-servers-pane.vala:999 +#: src/client/accounts/accounts-editor-add-pane.vala:607 +#: src/client/accounts/accounts-editor-servers-pane.vala:1006 #: ui/password-dialog.glade:108 msgid "Password" msgstr "Lösenord" @@ -424,14 +437,14 @@ msgstr "Lösenord" #. adding an account. #. Translators: This label describes the host name or IP #. address and port used by an account's IMAP service. -#: src/client/accounts/accounts-editor-add-pane.vala:621 -#: src/client/accounts/accounts-editor-servers-pane.vala:727 +#: src/client/accounts/accounts-editor-add-pane.vala:629 +#: src/client/accounts/accounts-editor-servers-pane.vala:728 msgid "IMAP server" msgstr "IMAP-server" #. Translators: Placeholder for the IMAP server hostname #. when adding an account. -#: src/client/accounts/accounts-editor-add-pane.vala:624 +#: src/client/accounts/accounts-editor-add-pane.vala:632 msgid "imap.example.com" msgstr "email@exempel.se" @@ -439,20 +452,20 @@ msgstr "email@exempel.se" #. adding an account. #. Translators: This label describes the host name or IP #. address and port used by an account's SMTP service. -#: src/client/accounts/accounts-editor-add-pane.vala:630 -#: src/client/accounts/accounts-editor-servers-pane.vala:733 +#: src/client/accounts/accounts-editor-add-pane.vala:638 +#: src/client/accounts/accounts-editor-servers-pane.vala:734 msgid "SMTP server" msgstr "SMTP-server" #. Translators: Placeholder for the SMTP server hostname #. when adding an account. -#: src/client/accounts/accounts-editor-add-pane.vala:633 +#: src/client/accounts/accounts-editor-add-pane.vala:641 msgid "smtp.example.com" msgstr "smtp.exempel.se" #. Translators: Label in the account editor for the user's #. custom name for an account. -#: src/client/accounts/accounts-editor-edit-pane.vala:278 +#: src/client/accounts/accounts-editor-edit-pane.vala:277 #: ui/accounts_editor_remove_pane.ui:123 msgid "Account name" msgstr "Kontonamn" @@ -461,46 +474,46 @@ msgstr "Kontonamn" #. the name of an account. The string #. substitution is the old name of the #. account. -#: src/client/accounts/accounts-editor-edit-pane.vala:312 +#: src/client/accounts/accounts-editor-edit-pane.vala:318 #, c-format msgid "Change account name back to “%s”" msgstr "Ändra tillbaka kontonamn till ”%s”" #. Translators: Tooltip for adding a new email sender/from #. address's address to an account -#: src/client/accounts/accounts-editor-edit-pane.vala:336 +#: src/client/accounts/accounts-editor-edit-pane.vala:342 msgid "Add a new sender email address" msgstr "Lägg till en ny e-postadress för sändning" #. Translators: Label used to indicate the user has #. provided no display name for one of their sender #. email addresses in their account settings. -#: src/client/accounts/accounts-editor-edit-pane.vala:417 +#: src/client/accounts/accounts-editor-edit-pane.vala:423 msgid "Name not set" msgstr "Namn har inte satts" #. Translators: This is used as a placeholder for the #. display name for an email address when editing a user's #. sender address preferences for an account. -#: src/client/accounts/accounts-editor-edit-pane.vala:456 +#: src/client/accounts/accounts-editor-edit-pane.vala:464 msgid "Sender Name" msgstr "Avsändarnamn" -#: src/client/accounts/accounts-editor-edit-pane.vala:479 +#: src/client/accounts/accounts-editor-edit-pane.vala:491 msgid "Remove" msgstr "Ta bort" #. Translators: Label used for the display name part of an #. email address when editing a user's sender address #. preferences for an account. -#: src/client/accounts/accounts-editor-edit-pane.vala:494 +#: src/client/accounts/accounts-editor-edit-pane.vala:506 msgid "Sender name" msgstr "Avsändarnamn" #. Translators: Label used as the undo tooltip after adding an #. new sender email address to an account. The string #. substitution is the email address added. -#: src/client/accounts/accounts-editor-edit-pane.vala:561 +#: src/client/accounts/accounts-editor-edit-pane.vala:573 #, c-format msgid "Remove “%s”" msgstr "Ta bort ”%s”" @@ -508,7 +521,7 @@ msgstr "Ta bort ”%s”" #. Translators: Label used as the undo tooltip after editing a #. sender address for an account. The string substitution is #. the email address edited. -#: src/client/accounts/accounts-editor-edit-pane.vala:601 +#: src/client/accounts/accounts-editor-edit-pane.vala:613 #, c-format msgid "Undo changes to “%s”" msgstr "Ångra ändringar till ”%s”" @@ -516,7 +529,7 @@ msgstr "Ångra ändringar till ”%s”" #. Translators: Label used as the undo tooltip after removing #. a sender address from an account. The string substitution #. is the email address edited. -#: src/client/accounts/accounts-editor-edit-pane.vala:688 +#: src/client/accounts/accounts-editor-edit-pane.vala:700 #, c-format msgid "Add “%s” back" msgstr "Lägg till ”%s” igen" @@ -524,14 +537,14 @@ msgstr "Lägg till ”%s” igen" #. Translators: Label used as the undo tooltip after removing #. a sender address from an account. The string substitution #. is the email address edited. -#: src/client/accounts/accounts-editor-edit-pane.vala:730 +#: src/client/accounts/accounts-editor-edit-pane.vala:742 msgid "Undo signature changes" msgstr "Ångra signaturändringar" #. Translators: This label describes the account #. preference for the length of time (weeks, months or #. years) that past email should be downloaded. -#: src/client/accounts/accounts-editor-edit-pane.vala:778 +#: src/client/accounts/accounts-editor-edit-pane.vala:790 msgid "Download mail" msgstr "Hämta e-post" @@ -540,99 +553,100 @@ msgstr "Hämta e-post" #. should be downloaded for an account. The #. string substitution is the duration, #. e.g. "1 month back". -#: src/client/accounts/accounts-editor-edit-pane.vala:810 +#: src/client/accounts/accounts-editor-edit-pane.vala:822 #, c-format msgid "Change download period back to: %s" msgstr "Ändra hämtningsperiod tillbaka till: %s" -#: src/client/accounts/accounts-editor-edit-pane.vala:831 +#: src/client/accounts/accounts-editor-edit-pane.vala:843 msgid "Everything" msgstr "Allt" -#: src/client/accounts/accounts-editor-edit-pane.vala:835 +#: src/client/accounts/accounts-editor-edit-pane.vala:847 msgid "2 weeks back" msgstr "två veckor tillbaka" -#: src/client/accounts/accounts-editor-edit-pane.vala:839 +#: src/client/accounts/accounts-editor-edit-pane.vala:851 msgid "1 month back" msgstr "en månad tillbaka" -#: src/client/accounts/accounts-editor-edit-pane.vala:843 +#: src/client/accounts/accounts-editor-edit-pane.vala:855 msgid "3 months back" msgstr "tre månader tillbaka" -#: src/client/accounts/accounts-editor-edit-pane.vala:847 +#: src/client/accounts/accounts-editor-edit-pane.vala:859 msgid "6 months back" msgstr "ett halvår tillbaka" -#: src/client/accounts/accounts-editor-edit-pane.vala:851 +#: src/client/accounts/accounts-editor-edit-pane.vala:863 msgid "1 year back" msgstr "ett år tillbaka" -#: src/client/accounts/accounts-editor-edit-pane.vala:855 +#: src/client/accounts/accounts-editor-edit-pane.vala:867 msgid "2 years back" msgstr "2 år tillbaka" -#: src/client/accounts/accounts-editor-edit-pane.vala:859 +#: src/client/accounts/accounts-editor-edit-pane.vala:871 msgid "4 years back" msgstr "4 år tillbaka" -#: src/client/accounts/accounts-editor-edit-pane.vala:865 +#: src/client/accounts/accounts-editor-edit-pane.vala:877 #, c-format msgid "%d day back" msgid_plural "%d days back" msgstr[0] "%d dag tillbaka" msgstr[1] "%d dagar tillbaka" -#: src/client/accounts/accounts-editor-list-pane.vala:247 -#: src/client/application/application-controller.vala:2392 +#: src/client/accounts/accounts-editor-list-pane.vala:248 +#: src/client/application/application-main-window.vala:2037 msgid "Undo" msgstr "Ångra" -#: src/client/accounts/accounts-editor-list-pane.vala:255 +#: src/client/accounts/accounts-editor-list-pane.vala:257 +#: src/client/application/application-main-window.vala:2027 msgid "Redo" msgstr "Gör om" -#: src/client/accounts/accounts-editor-list-pane.vala:349 -#: src/client/accounts/accounts-editor-list-pane.vala:437 +#: src/client/accounts/accounts-editor-list-pane.vala:351 +#: src/client/accounts/accounts-editor-list-pane.vala:439 #: src/client/accounts/accounts-editor-row.vala:279 msgid "Gmail" msgstr "Gmail" -#: src/client/accounts/accounts-editor-list-pane.vala:353 -#: src/client/accounts/accounts-editor-list-pane.vala:441 +#: src/client/accounts/accounts-editor-list-pane.vala:355 +#: src/client/accounts/accounts-editor-list-pane.vala:443 #: src/client/accounts/accounts-editor-row.vala:283 msgid "Outlook.com" msgstr "Outlook.com" -#: src/client/accounts/accounts-editor-list-pane.vala:357 -#: src/client/accounts/accounts-editor-list-pane.vala:445 +#: src/client/accounts/accounts-editor-list-pane.vala:359 +#: src/client/accounts/accounts-editor-list-pane.vala:447 #: src/client/accounts/accounts-editor-row.vala:287 msgid "Yahoo" msgstr "Yahoo" #. Translators: Tooltip for accounts that have been #. loaded but disabled by the user. -#: src/client/accounts/accounts-editor-list-pane.vala:375 +#: src/client/accounts/accounts-editor-list-pane.vala:377 msgid "This account has been disabled" msgstr "Detta konto har inaktiverats" #. Translators: Tooltip for accounts that have been #. loaded but because of some error are not able to be #. used. -#: src/client/accounts/accounts-editor-list-pane.vala:384 +#: src/client/accounts/accounts-editor-list-pane.vala:386 msgid "This account has encountered a problem and is unavailable" msgstr "Detta konto har stött på ett problem och är ej tillgängligt" #. Translators: Label for adding a generic email account -#: src/client/accounts/accounts-editor-list-pane.vala:434 +#: src/client/accounts/accounts-editor-list-pane.vala:436 msgid "Other email providers" msgstr "Andra e-postleverantörer" #. Translators: Notification shown after removing an #. account. The string substitution is the name of the #. account. -#: src/client/accounts/accounts-editor-list-pane.vala:551 +#: src/client/accounts/accounts-editor-list-pane.vala:553 #, c-format msgid "Account “%s” removed" msgstr "Kontot ”%s” togs bort" @@ -640,7 +654,7 @@ msgstr "Kontot ”%s” togs bort" #. Translators: Notification shown after removing an account #. is undone. The string substitution is the name of the #. account. -#: src/client/accounts/accounts-editor-list-pane.vala:558 +#: src/client/accounts/accounts-editor-list-pane.vala:560 #, c-format msgid "Account “%s” restored" msgstr "Kontot ”%s” återställdes" @@ -667,8 +681,8 @@ msgstr "Anslutningssäkerhet" #. Translators: Label used when no auth scheme is used #. by an account's IMAP or SMTP service. #: src/client/accounts/accounts-editor-row.vala:479 -#: src/client/accounts/accounts-editor-servers-pane.vala:752 -#: src/client/accounts/accounts-editor-servers-pane.vala:964 +#: src/client/accounts/accounts-editor-servers-pane.vala:755 +#: src/client/accounts/accounts-editor-servers-pane.vala:970 #: src/engine/api/geary-special-folder-type.vala:58 msgid "None" msgstr "Ingen" @@ -685,7 +699,8 @@ msgstr "TLS" #. credentials (none, use IMAP, custom) when adding a new #. account #. Button label for retrying when a login error has occurred -#: src/client/accounts/accounts-editor-row.vala:534 ui/main-window.ui:346 +#: src/client/accounts/accounts-editor-row.vala:534 +#: ui/application-main-window.ui:346 msgid "Login" msgstr "Inloggning" @@ -745,45 +760,327 @@ msgstr "Spara skickad e-post på server" #. Translators: Label used when an account's IMAP or #. SMTP service uses OAuth2. The string replacement is #. the service's login name. -#: src/client/accounts/accounts-editor-servers-pane.vala:950 +#: src/client/accounts/accounts-editor-servers-pane.vala:956 #, c-format msgid "%s using OAuth2" msgstr "%s använder OAuth2" -#: src/client/accounts/accounts-editor-servers-pane.vala:960 +#: src/client/accounts/accounts-editor-servers-pane.vala:966 msgid "Use receiving server login" msgstr "Använd inloggning för mottagningsserver" #. Translators: File name used in save chooser when saving #. attachments that do not otherwise have a name. -#: src/client/application/application-controller.vala:59 +#: src/client/application/application-attachment-manager.vala:21 msgid "Untitled" msgstr "Namnlös" +#. / Translators: Dialog primary label when prompting to +#. / overwrite a file. The string substitution is the file'sx +#. / name. +#: src/client/application/application-attachment-manager.vala:222 +#, c-format +msgid "A file named “%s” already exists. Do you want to replace it?" +msgstr "En fil med namnet ”%s” finns redan. Vill du ersätta den?" + +#. / Translators: Dialog secondary label when prompting to +#. / overwrite a file. The string substitution is the parent +#. / folder's name. +#: src/client/application/application-attachment-manager.vala:229 +#, c-format +msgid "" +"The file already exists in “%s”. Replacing it will overwrite its contents." +msgstr "" +"Filen finns redan i ”%s”. Att ersätta den kommer att skriva över dess " +"innehåll." + +#: src/client/application/application-attachment-manager.vala:236 +msgid "_Replace" +msgstr "E_rsätt" + +#: src/client/application/application-client.vala:33 +msgid "Copyright 2016 Software Freedom Conservancy Inc." +msgstr "Copyright 2016 Software Freedom Conservancy Inc." + +#: src/client/application/application-client.vala:34 +msgid "Copyright 2016-2019 Geary Development Team." +msgstr "Copyright 2016-2019 Gearys utvecklingsgrupp." + +#: src/client/application/application-client.vala:36 +msgid "Visit the Geary web site" +msgstr "Besök Gearys webbplats" + +#. / Command line option +#: src/client/application/application-client.vala:94 +msgid "Print debug logging" +msgstr "Skriv ut felsökningsloggning" + +#. / Command line option +#: src/client/application/application-client.vala:97 +msgid "Start with the main window hidden (deprecated)" +msgstr "Starta Geary med huvudfönstret dolt (föråldrat)" + +#. / Command line option +#: src/client/application/application-client.vala:100 +msgid "Enable WebKitGTK Inspector in web views" +msgstr "Aktivera WebKitGTK-inspektör i webbvyer" + +#. / Command line option +#: src/client/application/application-client.vala:103 +msgid "Log conversation monitoring" +msgstr "Logga konversationsövervakning" + +#. / Command line option +#: src/client/application/application-client.vala:106 +msgid "Log IMAP network deserialization" +msgstr "Logga avserialisering av IMAP-nätverksdata" + +#. / Command line option. "Normalization" can also be called +#. / "synchronization". +#: src/client/application/application-client.vala:110 +msgid "Log folder normalization" +msgstr "Logga mappsynkronisering" + +#. / Command line option +#: src/client/application/application-client.vala:113 +msgid "Log network activity" +msgstr "Logga nätverksaktivitet" + +#. / Command line option +#: src/client/application/application-client.vala:116 +msgid "Log periodic activity" +msgstr "Logga periodisk aktivitet" + +#. / Command line option. The IMAP replay queue is how changes +#. / on the server are replicated on the client. It could +#. / also be called the IMAP events queue. +#: src/client/application/application-client.vala:121 +msgid "Log IMAP replay queue" +msgstr "Logga IMAP-händelser" + +#. / Command line option. Serialization is how commands and +#. / responses are converted into a stream of bytes for +#. / network transmission +#: src/client/application/application-client.vala:126 +msgid "Log IMAP network serialization" +msgstr "Logga IMAP-nätverksserialisering" + +#. / Command line option +#: src/client/application/application-client.vala:129 +msgid "Log database queries (generates lots of messages)" +msgstr "Logga databasförfrågningar (detta genererar många meddelanden)" + +#. / Command line option +#: src/client/application/application-client.vala:132 +msgid "Perform a graceful quit" +msgstr "Avsluta" + +#: src/client/application/application-client.vala:134 +msgid "Open a new window" +msgstr "Öppna ett nytt fönster" + +#. / Command line option +#: src/client/application/application-client.vala:137 +msgid "Revoke all pinned TLS server certificates" +msgstr "Återkalla alla nålade TLS-servercertifikat" + +#. / Command line option +#: src/client/application/application-client.vala:140 +msgid "Display program version" +msgstr "Visa programversion" + +#. / Application runtime information label +#: src/client/application/application-client.vala:264 +msgid "Geary version" +msgstr "Geary-version" + +#. / Application runtime information label +#: src/client/application/application-client.vala:266 +msgid "Geary revision" +msgstr "Geary-revision" + +#. / Application runtime information label +#: src/client/application/application-client.vala:268 +msgid "GTK version" +msgstr "GTK-version" + +#. / Applciation runtime information label +#: src/client/application/application-client.vala:275 +msgid "GLib version" +msgstr "GLib-version" + +#. / Application runtime information label +#: src/client/application/application-client.vala:282 +msgid "WebKitGTK version" +msgstr "WebKitGTK-version" + +#. / Application runtime information label +#: src/client/application/application-client.vala:289 +msgid "Desktop environment" +msgstr "Skrivbordsmiljö" + +#. Translators: This is the file type displayed for +#. attachments with unknown file types. +#: src/client/application/application-client.vala:291 +#: src/client/components/components-attachment-pane.vala:91 +msgid "Unknown" +msgstr "Okänd" + +#. / Application runtime information label +#: src/client/application/application-client.vala:321 +msgid "Distribution name" +msgstr "Distributionsnamn" + +#. / Application runtime information label +#: src/client/application/application-client.vala:326 +msgid "Distribution release" +msgstr "Distributionsutgåva" + +#. / Application runtime information label +#: src/client/application/application-client.vala:334 +msgid "Installation prefix" +msgstr "Installationsprefix" + +#: src/client/application/application-client.vala:566 +#, c-format +msgid "About %s" +msgstr "Om %s" + +#. Translators: add your name and email address to receive +#. credit in the About dialog For example: Yamada Taro +#. +#: src/client/application/application-client.vala:570 +msgid "translator-credits" +msgstr "" +"Joachim Johansson \n" +"Mattias Eriksson \n" +"Josef Andersson \n" +"Anders Jonsson \n" +"\n" +"Skicka synpunkter på översättningen till\n" +"" + +#. / Warning printed to the console when a deprecated +#. / command line option is used. +#: src/client/application/application-client.vala:938 +msgid "The `--hidden` option is deprecated and will be removed in the future." +msgstr "Flaggan ”--hidden” är föråldrad och kommer att tas bort i framtiden." + +#. / Command line warning, string substitution +#. / is the given argument +#: src/client/application/application-client.vala:971 +#, c-format +msgid "Unrecognised program argument: “%s”" +msgstr "Okänt programargument: ”%s”" + #. / Notification title. -#: src/client/application/application-controller.vala:551 +#: src/client/application/application-controller.vala:457 #, c-format msgid "A problem occurred sending email for %s" msgstr "Ett problem uppstod då e-post skickades för %s" #. / Notification body -#: src/client/application/application-controller.vala:555 +#: src/client/application/application-controller.vala:461 msgid "Email will not be sent until re-connected" msgstr "E-post kommer inte att skickas innan du är ansluten igen" -#: src/client/application/application-controller.vala:906 -msgid "Labels" -msgstr "Etiketter" +#. / Translators: Label for in-app notification +#: src/client/application/application-controller.vala:567 +msgid "Conversation marked" +msgid_plural "Conversations marked" +msgstr[0] "Konversation markerad" +msgstr[1] "Konversationer markerade" -#. give the user two options: reset the Account local store, or exit Geary. A third -#. could be done to leave the Account in an unopened state, but we don't currently -#. have provisions for that. -#: src/client/application/application-controller.vala:919 +#. / Translators: Label for in-app notification +#: src/client/application/application-controller.vala:573 +msgid "Conversation un-marked" +msgid_plural "Conversations un-marked" +msgstr[0] "Konversation avmarkerad" +msgstr[1] "Konversationer avmarkerade" + +#. / Translators: Label for in-app +#. / notification. String substitution is the name +#. / of the destination folder. +#: src/client/application/application-controller.vala:599 +#: src/client/application/application-controller.vala:683 +#, c-format +msgid "Conversation moved to %s" +msgid_plural "Conversations moved to %s" +msgstr[0] "Konversation flyttad till %s" +msgstr[1] "Konversationer flyttades till %s" + +#. / Translators: Label for in-app +#. / notification. String substitution is the name +#. / of the source folder. +#. / Translators: Label for in-app notification. String +#. / substitution is the name of the destination folder. +#: src/client/application/application-controller.vala:607 +#: src/client/application/application-controller.vala:629 +#, c-format +msgid "Conversation restored to %s" +msgid_plural "Conversations restored to %s" +msgstr[0] "Konversation återställd till %s" +msgstr[1] "Konversationer återställda till %s" + +#. / Translators: Label for in-app notification. +#: src/client/application/application-controller.vala:650 +msgid "Conversation archived" +msgid_plural "Conversations archived" +msgstr[0] "Konversation arkiverad" +msgstr[1] "Konversationer arkiverade" + +#. / Translators: Label for in-app notification. String +#. / substitution is the name of the destination folder. +#: src/client/application/application-controller.vala:706 +#, c-format +msgid "Message restored to %s" +msgid_plural "Messages restored to %s" +msgstr[0] "Meddelande återställt till %s" +msgstr[1] "Meddelanden återställda till %s" + +#. / Translators: Label for in-app notification. +#: src/client/application/application-controller.vala:727 +msgid "Message archived" +msgid_plural "Messages archived" +msgstr[0] "Meddelande arkiverat" +msgstr[1] "Meddelanden arkiverade" + +#. / Translators: Label for in-app +#. / notification. String substitution is the name +#. / of the destination folder. +#: src/client/application/application-controller.vala:762 +#, c-format +msgid "Message moved to %s" +msgid_plural "Messages moved to %s" +msgstr[0] "Meddelande flyttat till %s" +msgstr[1] "Meddelanden flyttade till %s" + +#. / Translators: Label for in-app +#. / notification. String substitution is the name +#. / of the destination folder. +#: src/client/application/application-controller.vala:790 +#, c-format +msgid "Conversation labelled as %s" +msgid_plural "Conversations labelled as %s" +msgstr[0] "Konversation etiketterad som %s" +msgstr[1] "Konversationer etiketterade som %s" + +#. / Translators: Label for in-app +#. / notification. String substitution is the name +#. / of the destination folder. +#: src/client/application/application-controller.vala:798 +#, c-format +msgid "Conversation un-labelled as %s" +msgid_plural "Conversations un-labelled as %s" +msgstr[0] "Konversation inte längre etiketterad som %s" +msgstr[1] "Konversationer inte längre etiketterade som %s" + +#: src/client/application/application-controller.vala:1221 #, c-format msgid "Unable to open the database for %s" msgstr "Kunde inte öppna databasen för %s" -#: src/client/application/application-controller.vala:920 +#: src/client/application/application-controller.vala:1222 #, c-format msgid "" "There was an error opening the local mail database for this account. This is " @@ -806,20 +1103,20 @@ msgstr "" "Att bygga om databasen medför att alla lokala e-postmeddelanden och bifogade " "filer förstörs. E-post på din server är inte berörda av felet." -#: src/client/application/application-controller.vala:922 +#: src/client/application/application-controller.vala:1224 msgid "_Rebuild" msgstr "_Bygg om" -#: src/client/application/application-controller.vala:922 +#: src/client/application/application-controller.vala:1224 msgid "E_xit" msgstr "_Avsluta" -#: src/client/application/application-controller.vala:931 +#: src/client/application/application-controller.vala:1234 #, c-format msgid "Unable to rebuild database for “%s”" msgstr "Kunde inte bygga om databasen för ”%s”" -#: src/client/application/application-controller.vala:932 +#: src/client/application/application-controller.vala:1235 #, c-format msgid "" "Error during rebuild:\n" @@ -830,18 +1127,110 @@ msgstr "" "\n" "%s" -#: src/client/application/application-controller.vala:1726 +#. / Translators: The label for an in-app notification. The +#. / string substitution is a list of recipients of the email. +#: src/client/application/application-controller.vala:1558 #, c-format -msgid "Moved %d message to %s" -msgid_plural "Moved %d messages to %s" -msgstr[0] "Flyttade %d meddelande till %s" -msgstr[1] "Flyttade %d meddelanden till %s" +msgid "Email sent to %s" +msgstr "E-post skickad till %s" -#: src/client/application/application-controller.vala:1736 +#. / Translators: The label for an in-app notification. The +#. / string substitution is a list of recipients of the email. +#: src/client/application/application-controller.vala:2636 +#, c-format +msgid "Email to %s queued for delivery" +msgstr "E-post till %s köad för leverans" + +#. / Translators: The label for an in-app notification. The +#. / string substitution is a list of recipients of the email. +#: src/client/application/application-controller.vala:2701 +#, c-format +msgid "Email to %s saved" +msgstr "E-post till %s sparad" + +#. / Translators: A label for an in-app notification. +#: src/client/application/application-controller.vala:2716 +#: src/client/application/application-controller.vala:2774 +msgid "Composer could not be restored" +msgstr "Redigeraren kunde inte återställas" + +#. / Translators: The label for an in-app notification. The +#. / string substitution is a list of recipients of the email. +#: src/client/application/application-controller.vala:2759 +#, c-format +msgid "Email to %s discarded" +msgstr "E-post till %s förkastad" + +#. / Translators: Main window title, first string +#. / substitution being the currently selected folder name, +#. / the second being the selected account name. +#: src/client/application/application-main-window.vala:552 +#, c-format +msgid "%s — %s" +msgstr "%s — %s" + +#: src/client/application/application-main-window.vala:961 +msgid "Labels" +msgstr "Etiketter" + +#. / Translators: Primary text for a confirmation dialog +#: src/client/application/application-main-window.vala:1297 +msgid "Do you want to permanently delete this conversation?" +msgid_plural "Do you want to permanently delete these conversations?" +msgstr[0] "Vill du radera denna konversation permanent?" +msgstr[1] "Vill du radera dessa konversationer permanent?" + +#: src/client/application/application-main-window.vala:1302 +#: src/client/application/application-main-window.vala:1317 +msgid "Delete" +msgstr "Radera" + +#. / Translators: Primary text for a confirmation dialog +#: src/client/application/application-main-window.vala:1312 +msgid "Do you want to permanently delete this message?" +msgid_plural "Do you want to permanently delete these messages?" +msgstr[0] "Vill du radera detta meddelande permanent?" +msgstr[1] "Vill du radera dessa meddelanden permanent?" + +#: src/client/application/application-main-window.vala:1325 +#, c-format +msgid "Empty all email from your %s folder?" +msgstr "Ta bort alla e-postmeddelanden från din mapp %s?" + +#: src/client/application/application-main-window.vala:1328 +msgid "This removes the email from Geary and your email server." +msgstr "Detta tar bort e-postmeddelanden från Geary och din e-postserver." + +#: src/client/application/application-main-window.vala:1329 +msgid "This cannot be undone." +msgstr "Detta kan inte ångras." + +#: src/client/application/application-main-window.vala:1330 +#, c-format +msgid "Empty %s" +msgstr "Töm %s" + +#: src/client/application/application-main-window.vala:1660 +#, c-format +msgid "%s (%d)" +msgstr "%s (%d)" + +#. Translators: The first argument will be a +#. description of the document type, the second will +#. be a human-friendly size string. For example: +#. Document (100.9MB) +#. / In the composer, the filename followed by its filesize, i.e. "notes.txt (1.12KB)" +#: src/client/components/components-attachment-pane.vala:107 +#: src/client/composer/composer-widget.vala:1815 +#, c-format +msgid "%s (%s)" +msgstr "%s (%s)" + +#: src/client/components/components-attachment-pane.vala:379 msgid "Are you sure you want to open these attachments?" msgstr "Är du säker på att du vill öppna dessa bilagor?" -#: src/client/application/application-controller.vala:1737 +#: src/client/components/components-attachment-pane.vala:380 msgid "" "Attachments may cause damage to your system if opened. Only open files from " "trusted sources." @@ -849,363 +1238,164 @@ msgstr "" "Om du öppnar bifogade filer kan du skada ditt system. Öppna enbart filer " "från kontakter du litar på." -#: src/client/application/application-controller.vala:1738 +#: src/client/components/components-attachment-pane.vala:381 msgid "Don’t _ask me again" msgstr "Fråga _inte igen" -#. Translators: Dialog primary label when prompting to -#. overwrite a file. The string substitution is the file'sx -#. name. -#: src/client/application/application-controller.vala:1861 -#, c-format -msgid "A file named “%s” already exists. Do you want to replace it?" -msgstr "En fil med namnet ”%s” finns redan. Vill du ersätta den?" - -#. Translators: Dialog secondary label when prompting to -#. overwrite a file. The string substitution is the parent -#. folder's name. -#: src/client/application/application-controller.vala:1868 -#, c-format -msgid "" -"The file already exists in “%s”. Replacing it will overwrite its contents." -msgstr "" -"Filen finns redan i ”%s”. Att ersätta den kommer att skriva över dess " -"innehåll." - -#: src/client/application/application-controller.vala:1872 -msgid "_Replace" -msgstr "E_rsätt" - -#: src/client/application/application-controller.vala:2232 -#, c-format -msgid "Empty all email from your %s folder?" -msgstr "Ta bort alla e-postmeddelanden från din mapp %s?" - -#: src/client/application/application-controller.vala:2233 -msgid "This removes the email from Geary and your email server." -msgstr "Detta tar bort e-postmeddelanden från Geary och din e-postserver." - -#: src/client/application/application-controller.vala:2234 -msgid "This cannot be undone." -msgstr "Detta kan inte ångras." - -#: src/client/application/application-controller.vala:2235 -#, c-format -msgid "Empty %s" -msgstr "Töm %s" - -#: src/client/application/application-controller.vala:2252 -#, c-format -msgid "Error emptying %s" -msgstr "Fel vid tömning av %s" - -#: src/client/application/application-controller.vala:2283 -msgid "Do you want to permanently delete this message?" -msgid_plural "Do you want to permanently delete these messages?" -msgstr[0] "Vill du radera detta meddelande permanent?" -msgstr[1] "Vill du radera dessa meddelanden permanent?" - -#: src/client/application/application-controller.vala:2285 -msgid "Delete" -msgstr "Radera" - -#: src/client/application/application-controller.vala:2299 -#, c-format -msgid "Trashed %d message" -msgid_plural "Trashed %d messages" -msgstr[0] "Kastade %d meddelande" -msgstr[1] "Kastade %d meddelanden" - -#: src/client/application/application-controller.vala:2346 -#, c-format -msgid "Archived %d message" -msgid_plural "Archived %d messages" -msgstr[0] "Arkiverade %d meddelande" -msgstr[1] "Arkiverade %d meddelanden" - -#. Translators: The label for an in-app notification. The -#. string substitution is a list of recipients of the email. -#: src/client/application/application-controller.vala:2474 -#, c-format -msgid "Successfully sent mail to %s." -msgstr "Skickade e-post till %s." - -#: src/client/application/application-controller.vala:2552 -msgid "Failed to open default text editor." -msgstr "Det gick inte att öppna standardtextredigeraren." - -#: src/client/application/geary-application.vala:31 -msgid "Copyright 2016 Software Freedom Conservancy Inc." -msgstr "Copyright 2016 Software Freedom Conservancy Inc." - -#: src/client/application/geary-application.vala:32 -msgid "Copyright 2016-2019 Geary Development Team." -msgstr "Copyright 2016-2019 Gearys utvecklingsgrupp." - -#: src/client/application/geary-application.vala:34 -msgid "Visit the Geary web site" -msgstr "Besök Gearys webbplats" - -#. / Command line option -#: src/client/application/geary-application.vala:109 -msgid "Print debug logging" -msgstr "Skriv ut felsökningsloggning" - -#. / Command line option -#: src/client/application/geary-application.vala:112 -msgid "Start with the main window hidden (deprecated)" -msgstr "Starta Geary med huvudfönstret dolt (föråldrat)" - -#. / Command line option -#: src/client/application/geary-application.vala:115 -msgid "Enable WebKitGTK Inspector in web views" -msgstr "Aktivera WebKitGTK-inspektör i webbvyer" - -#. / Command line option -#: src/client/application/geary-application.vala:118 -msgid "Log conversation monitoring" -msgstr "Logga konversationsövervakning" - -#. / Command line option -#: src/client/application/geary-application.vala:121 -msgid "Log IMAP network deserialization" -msgstr "Logga avserialisering av IMAP-nätverksdata" - -#. / Command line option. "Normalization" can also be called -#. / "synchronization". -#: src/client/application/geary-application.vala:125 -msgid "Log folder normalization" -msgstr "Logga mappsynkronisering" - -#. / Command line option -#: src/client/application/geary-application.vala:128 -msgid "Log network activity" -msgstr "Logga nätverksaktivitet" - -#. / Command line option -#: src/client/application/geary-application.vala:131 -msgid "Log periodic activity" -msgstr "Logga periodisk aktivitet" - -#. / Command line option. The IMAP replay queue is how changes -#. / on the server are replicated on the client. It could -#. / also be called the IMAP events queue. -#: src/client/application/geary-application.vala:136 -msgid "Log IMAP replay queue" -msgstr "Logga IMAP-händelser" - -#. / Command line option. Serialization is how commands and -#. / responses are converted into a stream of bytes for -#. / network transmission -#: src/client/application/geary-application.vala:141 -msgid "Log IMAP network serialization" -msgstr "Logga IMAP-nätverksserialisering" - -#. / Command line option -#: src/client/application/geary-application.vala:144 -msgid "Log database queries (generates lots of messages)" -msgstr "Logga databasförfrågningar (detta genererar många meddelanden)" - -#. / Command line option -#: src/client/application/geary-application.vala:147 -msgid "Perform a graceful quit" -msgstr "Avsluta" - -#. / Command line option -#: src/client/application/geary-application.vala:150 -msgid "Revoke all pinned TLS server certificates" -msgstr "Återkalla alla nålade TLS-servercertifikat" - -#. / Command line option -#: src/client/application/geary-application.vala:153 -msgid "Display program version" -msgstr "Visa programversion" - -#. / Application runtime information label -#: src/client/application/geary-application.vala:280 -msgid "Geary version" -msgstr "Geary-version" - -#. / Application runtime information label -#: src/client/application/geary-application.vala:282 -msgid "Geary revision" -msgstr "Geary-revision" - -#. / Application runtime information label -#: src/client/application/geary-application.vala:284 -msgid "GTK version" -msgstr "GTK-version" - -#. / Applciation runtime information label -#: src/client/application/geary-application.vala:291 -msgid "GLib version" -msgstr "GLib-version" - -#. / Application runtime information label -#: src/client/application/geary-application.vala:298 -msgid "WebKitGTK version" -msgstr "WebKitGTK-version" - -#. / Application runtime information label -#: src/client/application/geary-application.vala:305 -msgid "Desktop environment" -msgstr "Skrivbordsmiljö" - -#. Translators: This is the file type displayed for -#. attachments with unknown file types. -#: src/client/application/geary-application.vala:307 -#: src/client/conversation-viewer/conversation-email.vala:159 -msgid "Unknown" -msgstr "Okänd" - -#. / Application runtime information label -#: src/client/application/geary-application.vala:337 -msgid "Distribution name" -msgstr "Distributionsnamn" - -#. / Application runtime information label -#: src/client/application/geary-application.vala:342 -msgid "Distribution release" -msgstr "Distributionsutgåva" - -#. / Application runtime information label -#: src/client/application/geary-application.vala:350 -msgid "Installation prefix" -msgstr "Installationsprefix" - -#: src/client/application/geary-application.vala:490 -#, c-format -msgid "About %s" -msgstr "Om %s" - -#. Translators: add your name and email address to receive -#. credit in the About dialog For example: Yamada Taro -#. -#: src/client/application/geary-application.vala:494 -msgid "translator-credits" -msgstr "" -"Joachim Johansson \n" -"Mattias Eriksson \n" -"Josef Andersson \n" -"Anders Jonsson \n" -"\n" -"Skicka synpunkter på översättningen till\n" -"" - -#. / Warning printed to the console when a deprecated -#. / command line option is used. -#: src/client/application/geary-application.vala:778 -msgid "The `--hidden` option is deprecated and will be removed in the future." -msgstr "Flaggan ”--hidden” är föråldrad och kommer att tas bort i framtiden." - -#. / Command line warning, string substitution -#. / is the given argument -#: src/client/application/geary-application.vala:810 -#, c-format -msgid "Unrecognised program argument: “%s”" -msgstr "Okänt programargument: ”%s”" - -#: src/client/components/components-inspector.vala:68 +#: src/client/components/components-inspector.vala:72 msgid "Inspector" msgstr "Inspektör" #. / Translators: Title for Inspector logs pane #. / Translators: Title for problem report dialog logs pane -#: src/client/components/components-inspector.vala:77 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:91 +#: src/client/components/components-inspector.vala:87 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:102 msgid "Logs" msgstr "Loggar" #. / Translators: Title for Inspector system system information pane #. / Translators: Title for problem report system information #. / pane -#: src/client/components/components-inspector.vala:81 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:94 +#: src/client/components/components-inspector.vala:91 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:105 msgid "System" msgstr "System" #. Button label for saving problem report information -#: src/client/components/components-inspector.vala:198 -#: src/client/components/components-inspector.vala:201 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:210 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:213 +#: src/client/components/components-inspector.vala:208 +#: src/client/components/components-inspector.vala:211 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:221 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:224 #: ui/problem-details-dialog.ui:42 msgid "Save As" msgstr "Spara som" -#: src/client/components/components-inspector.vala:202 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:214 +#: src/client/components/components-inspector.vala:212 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:225 #: ui/accounts_editor_servers_pane.ui:17 msgid "Cancel" msgstr "Avbryt" +#. / Translators: Preferences label +#: src/client/components/components-preferences-window.vala:43 +msgid "_Automatically select next message" +msgstr "Välj nästa meddelande _automatiskt" + +#. / Translators: Preferences label +#: src/client/components/components-preferences-window.vala:53 +msgid "_Display conversation preview" +msgstr "_Visa förhandsvisning av konversation" + +#. / Translators: Preferences label +#: src/client/components/components-preferences-window.vala:63 +msgid "Use _three pane view" +msgstr "Använd tredelad vy" + +#. / Translators: Preferences label +#: src/client/components/components-preferences-window.vala:73 +msgid "Use _single key email shortcuts" +msgstr "Använd e-po_stkortkommandon med en tangent" + +#: src/client/components/components-preferences-window.vala:75 +msgid "" +"Enable keyboard shortcuts for email actions that do not require pressing " +"" +msgstr "" +"Aktivera kortkommandon för e-poståtgärder som inte kräver att trycks " +"ned" + +#. / Translators: Preferences label +#: src/client/components/components-preferences-window.vala:86 +msgid "_Watch for new mail when closed" +msgstr "_Kontrollera om det finns ny e-post vid avslut" + +#. / Translators: Preferences tooltip +#: src/client/components/components-preferences-window.vala:90 +msgid "Geary will keep running after all windows are closed" +msgstr "Geary kommer att fortsätta köra efter att alla fönster stängts" + +#. / Translators: Search entry placeholder text +#: src/client/components/components-search-bar.vala:12 +#: src/client/folder-list/folder-list-search-branch.vala:53 +#: src/engine/api/geary-special-folder-type.vala:51 +msgid "Search" +msgstr "Sök" + +#. / Translators: Search entry tooltip +#: src/client/components/components-search-bar.vala:32 +msgid "Search all mail in account for keywords" +msgstr "Sök i all e-post i alla konton efter nyckelord" + +#. / Translators: Search entry placeholder, string +#. / replacement is the name of an account +#: src/client/components/components-search-bar.vala:81 +#: src/client/folder-list/folder-list-search-branch.vala:54 +#, c-format +msgid "Search %s account" +msgstr "Sök i konto %s" + #. Translators: Tooltip used when an entry requires a valid #. email address to be entered, but one is not provided. -#: src/client/components/components-validator.vala:378 +#: src/client/components/components-validator.vala:390 msgid "An email address is required" msgstr "En e-postadress krävs" #. Translators: Tooltip used when an entry requires a valid #. email address to be entered, but the address is invalid. -#: src/client/components/components-validator.vala:382 +#: src/client/components/components-validator.vala:394 msgid "Not a valid email address" msgstr "Inte en giltig e-postadress" #. Translators: Tooltip used when an entry requires a valid, #. resolvable server name to be entered, but one is not #. provided. -#: src/client/components/components-validator.vala:428 +#: src/client/components/components-validator.vala:440 msgid "A server name is required" msgstr "Ett servernamn krävs" #. Translators: Tooltip used when an entry requires a valid #. server name to be entered, but it was unable to be #. looked-up in the DNS. -#: src/client/components/components-validator.vala:433 +#: src/client/components/components-validator.vala:445 msgid "Could not look up server name" msgstr "Det gick inte att slå upp servernamn" -#: src/client/components/main-toolbar.vala:139 +#: src/client/components/main-toolbar.vala:142 msgid "Mark conversation" msgid_plural "Mark conversations" msgstr[0] "Markera konversation" msgstr[1] "Markera konversationer" -#: src/client/components/main-toolbar.vala:144 +#: src/client/components/main-toolbar.vala:147 msgid "Add label to conversation" msgid_plural "Add label to conversations" msgstr[0] "Lägg till etikett till konversation" msgstr[1] "Lägg till etikett till konversationer" -#: src/client/components/main-toolbar.vala:149 +#: src/client/components/main-toolbar.vala:152 msgid "Move conversation" msgid_plural "Move conversations" msgstr[0] "Flytta konversation" msgstr[1] "Flytta konversationer" -#: src/client/components/main-toolbar.vala:154 +#: src/client/components/main-toolbar.vala:157 msgid "Archive conversation" msgid_plural "Archive conversations" msgstr[0] "Arkivera konversation" msgstr[1] "Arkivera konversationer" -#: src/client/components/main-toolbar.vala:163 +#: src/client/components/main-toolbar.vala:168 msgid "Move conversation to Trash" msgid_plural "Move conversations to Trash" msgstr[0] "Flytta konversation till papperskorgen" msgstr[1] "Flytta konversationer till papperskorgen" -#: src/client/components/main-toolbar.vala:171 +#: src/client/components/main-toolbar.vala:178 msgid "Delete conversation" msgid_plural "Delete conversations" msgstr[0] "Radera konversation" msgstr[1] "Radera konversationer" -#: src/client/components/main-window.vala:738 -#, c-format -msgid "%s (%d)" -msgstr "%s (%d)" - #. Translators: Info bar title for a generic account #. problem. #: src/client/components/main-window-info-bar.vala:44 @@ -1275,28 +1465,6 @@ msgstr "Visa teknisk information om felet" msgid "_Retry" msgstr "_Försök igen" -#: src/client/components/search-bar.vala:8 -#: src/client/folder-list/folder-list-search-branch.vala:38 -#: src/engine/api/geary-special-folder-type.vala:51 -msgid "Search" -msgstr "Sök" - -#. Search entry. -#: src/client/components/search-bar.vala:23 -msgid "Search all mail in account for keywords (Ctrl+S)" -msgstr "Sök i all e-post i alla konton efter nyckelord (Ctrl+S)" - -#: src/client/components/search-bar.vala:83 -#, c-format -msgid "Indexing %s account" -msgstr "Indexerar %s konto" - -#: src/client/components/search-bar.vala:110 -#: src/client/folder-list/folder-list-search-branch.vala:39 -#, c-format -msgid "Search %s account" -msgstr "Sök i konto %s" - #. / Displayed in the space-limited status bar while a message is in the process of being sent. #: src/client/components/status-bar.vala:26 msgid "Sending…" @@ -1337,15 +1505,15 @@ msgstr "_Stäng" msgid "_Discard" msgstr "_Förkasta" -#: src/client/components/stock.vala:25 ui/main-toolbar-menus.ui:56 +#: src/client/components/stock.vala:25 ui/main-toolbar-menus.ui:52 msgid "_Help" msgstr "_Hjälp" -#: src/client/components/stock.vala:26 ui/conversation-email-menus.ui:77 +#: src/client/components/stock.vala:26 ui/components-attachment-pane-menus.ui:7 msgid "_Open" msgstr "_Öppna" -#: src/client/components/stock.vala:27 ui/main-toolbar-menus.ui:46 +#: src/client/components/stock.vala:27 ui/main-toolbar-menus.ui:42 msgid "_Preferences" msgstr "_Inställningar" @@ -1362,7 +1530,8 @@ msgstr "_Avsluta" msgid "_Remove" msgstr "_Ta bort" -#: src/client/components/stock.vala:31 ui/conversation-email-menus.ui:83 +#: src/client/components/stock.vala:31 +#: ui/components-attachment-pane-menus.ui:11 msgid "_Save" msgstr "_Spara" @@ -1383,27 +1552,33 @@ msgstr "Ogiltig länk-URL" msgid "Invalid email address" msgstr "Ogiltig e-postadress" -#: src/client/composer/composer-widget.vala:156 +#. / Translators: Title for an empty composer window +#: src/client/composer/composer-widget.vala:28 +msgid "New Message" +msgstr "Nytt meddelande" + +#: src/client/composer/composer-widget.vala:210 msgid "Saved" msgstr "Sparat" -#: src/client/composer/composer-widget.vala:157 +#: src/client/composer/composer-widget.vala:211 msgid "Saving" msgstr "Sparar" -#: src/client/composer/composer-widget.vala:158 +#: src/client/composer/composer-widget.vala:212 msgid "Error saving" msgstr "Misslyckades med att spara" -#: src/client/composer/composer-widget.vala:159 +#: src/client/composer/composer-widget.vala:213 msgid "Press Backspace to delete quote" msgstr "Tryck på Backsteg för att ta bort citat" #. Translators: This is list of keywords, separated by pipe ("|") #. characters, that suggest an attachment; since this is full-word -#. checking, include all variants of each word. No spaces are -#. allowed. -#: src/client/composer/composer-widget.vala:168 +#. checking, include all variants of each word. No spaces are +#. allowed. The words will be converted to lower case based on +#. locale and English versions included automatically. +#: src/client/composer/composer-widget.vala:229 msgid "" "attach|attaching|attaches|attachment|attachments|attached|enclose|enclosed|" "enclosing|encloses|enclosure|enclosures" @@ -1414,100 +1589,90 @@ msgstr "" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. Keep, Discard or Cancel. -#: src/client/composer/composer-widget.vala:1181 +#: src/client/composer/composer-widget.vala:814 msgid "Do you want to keep or discard this draft message?" msgstr "Vill du behålla eller förkasta detta utkast?" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. only Discard or Cancel. -#: src/client/composer/composer-widget.vala:1211 +#: src/client/composer/composer-widget.vala:840 msgid "Do you want to discard this draft message?" msgstr "Vill du förkasta detta utkast?" -#: src/client/composer/composer-widget.vala:1330 +#: src/client/composer/composer-widget.vala:1484 msgid "Send message with an empty subject and body?" msgstr "Skicka meddelande med en tom ämnesrad och utan innehåll?" -#: src/client/composer/composer-widget.vala:1332 +#: src/client/composer/composer-widget.vala:1486 msgid "Send message with an empty subject?" msgstr "Skicka meddelande med en tom ämnesrad?" -#: src/client/composer/composer-widget.vala:1334 +#: src/client/composer/composer-widget.vala:1488 msgid "Send message with an empty body?" msgstr "Skicka meddelande utan innehåll?" -#: src/client/composer/composer-widget.vala:1338 +#: src/client/composer/composer-widget.vala:1497 msgid "Send message without an attachment?" msgstr "Skicka meddelande utan att bifoga filer?" -#: src/client/composer/composer-widget.vala:1652 +#: src/client/composer/composer-widget.vala:1807 #, c-format msgid "“%s” already attached for delivery." msgstr "”%s” är redan bifogad och kommer att skickas." -#. / In the composer, the filename followed by its filesize, i.e. "notes.txt (1.12KB)" -#. Translators: The first argument will be a -#. description of the document type, the second will -#. be a human-friendly size string. For example: -#. Document (100.9MB) -#: src/client/composer/composer-widget.vala:1660 -#: src/client/conversation-viewer/conversation-email.vala:173 -#, c-format -msgid "%s (%s)" -msgstr "%s (%s)" - -#: src/client/composer/composer-widget.vala:1697 -#, c-format -msgid "“%s” could not be found." -msgstr "”%s” kunde inte hittas." - -#: src/client/composer/composer-widget.vala:1703 -#, c-format -msgid "“%s” is a folder." -msgstr "”%s” är en mapp." - -#: src/client/composer/composer-widget.vala:1709 +#: src/client/composer/composer-widget.vala:1837 +#: src/client/composer/composer-widget.vala:1887 #, c-format msgid "“%s” is an empty file." msgstr "”%s” är en tom fil." -#: src/client/composer/composer-widget.vala:1722 +#: src/client/composer/composer-widget.vala:1875 +#, c-format +msgid "“%s” could not be found." +msgstr "”%s” kunde inte hittas." + +#: src/client/composer/composer-widget.vala:1881 +#, c-format +msgid "“%s” is a folder." +msgstr "”%s” är en mapp." + +#: src/client/composer/composer-widget.vala:1900 #, c-format msgid "“%s” could not be opened for reading." msgstr "”%s” kunde inte öppnas för läsning." -#: src/client/composer/composer-widget.vala:1730 +#: src/client/composer/composer-widget.vala:1908 msgid "Cannot add attachment" msgstr "Kan inte bifoga din fil" #. Translators: Human-readable version of the RFC 822 To header -#: src/client/composer/composer-widget.vala:1787 -#: src/client/conversation-viewer/conversation-email.vala:976 -#: src/client/util/util-email.vala:216 ui/conversation-message.ui:312 +#: src/client/composer/composer-widget.vala:1965 +#: src/client/conversation-viewer/conversation-email.vala:559 +#: src/client/util/util-email.vala:235 ui/conversation-message.ui:312 msgid "To:" msgstr "Till:" #. Translators: Human-readable version of the RFC 822 CC header -#: src/client/composer/composer-widget.vala:1793 -#: src/client/conversation-viewer/conversation-email.vala:981 -#: src/client/util/util-email.vala:221 ui/conversation-message.ui:357 +#: src/client/composer/composer-widget.vala:1971 +#: src/client/conversation-viewer/conversation-email.vala:564 +#: src/client/util/util-email.vala:240 ui/conversation-message.ui:357 msgid "Cc:" msgstr "Cc:" #. Translators: Human-readable version of the RFC 822 BCC header -#: src/client/composer/composer-widget.vala:1799 -#: src/client/conversation-viewer/conversation-email.vala:986 +#: src/client/composer/composer-widget.vala:1977 +#: src/client/conversation-viewer/conversation-email.vala:569 #: ui/conversation-message.ui:402 msgid "Bcc:" msgstr "Bcc:" #. Translators: Human-readable version of the RFC 822 Reply-To header -#: src/client/composer/composer-widget.vala:1805 +#: src/client/composer/composer-widget.vala:1983 msgid "Reply-To: " msgstr "Svara-till: " -#: src/client/composer/composer-widget.vala:1945 +#: src/client/composer/composer-widget.vala:2172 msgid "Select Color" msgstr "Välj färg" @@ -1516,27 +1681,23 @@ msgstr "Välj färg" #. printf argument will be the alternate email address, #. and the second will be the account's primary email #. address. -#: src/client/composer/composer-widget.vala:2137 +#: src/client/composer/composer-widget.vala:2364 #, c-format msgid "%1$s via %2$s" msgstr "%1$s via %2$s" #. Composer label (with mnemonic underscore) for the account selector #. when choosing what address to send a message from. -#: src/client/composer/composer-widget.vala:2192 +#: src/client/composer/composer-widget.vala:2420 msgid "_From:" msgstr "_Från:" #. Translators: This is the name of the file chooser filter #. when inserting an image in the composer. -#: src/client/composer/composer-widget.vala:2472 +#: src/client/composer/composer-widget.vala:2723 msgid "Images" msgstr "Bilder" -#: src/client/composer/composer-window.vala:14 -msgid "New Message" -msgstr "Nytt meddelande" - #: src/client/composer/spell-check-popover.vala:108 msgid "Remove this language from the preferred list" msgstr "Ta bort detta språk från listan över föredragna språk" @@ -1550,7 +1711,7 @@ msgid "Search for more languages" msgstr "Sök efter fler språk" #. / Translators: Context menu item -#: src/client/conversation-list/conversation-list-view.vala:337 +#: src/client/conversation-list/conversation-list-view.vala:335 msgid "Move conversation to _Trash" msgid_plural "Move conversations to _Trash" msgstr[0] "Flytta konversation till _papperskorgen" @@ -1563,38 +1724,38 @@ msgid_plural "_Delete conversations" msgstr[0] "_Radera konversation" msgstr[1] "_Radera konversationer" -#: src/client/conversation-list/conversation-list-view.vala:356 +#: src/client/conversation-list/conversation-list-view.vala:360 #: ui/main-toolbar-menus.ui:5 msgid "Mark as _Read" msgstr "Markera som _läst" -#: src/client/conversation-list/conversation-list-view.vala:359 +#: src/client/conversation-list/conversation-list-view.vala:368 #: ui/main-toolbar-menus.ui:9 msgid "Mark as _Unread" msgstr "Markera som _oläst" -#: src/client/conversation-list/conversation-list-view.vala:362 +#: src/client/conversation-list/conversation-list-view.vala:376 #: ui/main-toolbar-menus.ui:17 msgid "U_nstar" msgstr "Markera som ov_iktigt" -#: src/client/conversation-list/conversation-list-view.vala:364 +#: src/client/conversation-list/conversation-list-view.vala:383 #: ui/main-toolbar-menus.ui:13 msgid "_Star" msgstr "Markera som _viktigt" #. Translators: Menu item to reply to a specific message. -#: src/client/conversation-list/conversation-list-view.vala:367 +#: src/client/conversation-list/conversation-list-view.vala:392 #: ui/conversation-email-menus.ui:9 msgid "_Reply" msgstr "Sva_ra" -#: src/client/conversation-list/conversation-list-view.vala:368 +#: src/client/conversation-list/conversation-list-view.vala:398 msgid "R_eply All" msgstr "Svara _alla" #. Translators: Menu item to forward a specific message. -#: src/client/conversation-list/conversation-list-view.vala:369 +#: src/client/conversation-list/conversation-list-view.vala:404 #: ui/conversation-email-menus.ui:21 msgid "_Forward" msgstr "Vidare_befordra" @@ -1604,24 +1765,24 @@ msgid "Me" msgstr "Jag" #. Translators: Human-readable version of the RFC 822 From header -#: src/client/conversation-viewer/conversation-email.vala:971 -#: src/client/util/util-email.vala:207 +#: src/client/conversation-viewer/conversation-email.vala:554 +#: src/client/util/util-email.vala:226 msgid "From:" msgstr "Från:" #. Translators: Human-readable version of the RFC 822 Date header -#: src/client/conversation-viewer/conversation-email.vala:991 -#: src/client/util/util-email.vala:212 +#: src/client/conversation-viewer/conversation-email.vala:574 +#: src/client/util/util-email.vala:231 msgid "Date:" msgstr "Datum:" #. Translators: Human-readable version of the RFC 822 Subject header -#: src/client/conversation-viewer/conversation-email.vala:1001 -#: src/client/util/util-email.vala:210 +#: src/client/conversation-viewer/conversation-email.vala:584 +#: src/client/util/util-email.vala:229 msgid "Subject:" msgstr "Ämne:" -#: src/client/conversation-viewer/conversation-message.vala:129 +#: src/client/conversation-viewer/conversation-message.vala:128 msgid "This email address may have been forged" msgstr "E-postadressen kan ha förfalskats" @@ -1629,44 +1790,44 @@ msgstr "E-postadressen kan ha förfalskats" #. in load_contacts. #. Translators: This is displayed in place of the from address #. when the message has no from address. -#: src/client/conversation-viewer/conversation-message.vala:447 +#: src/client/conversation-viewer/conversation-message.vala:465 msgid "No sender" msgstr "Ingen avsändare" #. Translators: This separates multiple 'from' #. addresses in the compact header for a message. -#: src/client/conversation-viewer/conversation-message.vala:840 +#: src/client/conversation-viewer/conversation-message.vala:959 msgid ", " msgstr ", " #. Translators: This string is used as the HTML IMG ALT #. attribute value when displaying an inline image in an email #. that did not specify a file name. E.g. Image\n" "Language-Team: Turkish \n" "Language: tr\n" @@ -218,8 +218,6 @@ msgid "True if we should display a short preview of each message." msgstr "Her iletinin kısa bir ön izlemesini göstermemiz gerekiyorsa doğru." #: desktop/org.gnome.Geary.gschema.xml:68 -#| msgctxt "shortcut window" -#| msgid "Single-key shortcuts" msgid "Use single key shortcuts" msgstr "Tek tuşlu kısayolları kullan" @@ -307,7 +305,6 @@ msgid "The last recorded size of the detached composer window." msgstr "Ayrılmış oluşturucu penceresinin kaydedilen son boyutu." #: desktop/org.gnome.Geary.gschema.xml:126 -#| msgid "Error sending email" msgid "Undo sending email delay" msgstr "Eposta göndermeyi geri alma gecikmesi" @@ -599,12 +596,12 @@ msgid_plural "%d days back" msgstr[0] "%d gün öncesinden" #: src/client/accounts/accounts-editor-list-pane.vala:248 -#: src/client/application/application-main-window.vala:2021 +#: src/client/application/application-main-window.vala:2037 msgid "Undo" msgstr "Geri Al" #: src/client/accounts/accounts-editor-list-pane.vala:257 -#: src/client/application/application-main-window.vala:2011 +#: src/client/application/application-main-window.vala:2027 msgid "Redo" msgstr "Yinele" @@ -877,7 +874,6 @@ msgid "Perform a graceful quit" msgstr "Hoş bir çıkış gerçekleştir" #: src/client/application/application-client.vala:134 -#| msgid "Use %s to open a new composer window" msgid "Open a new window" msgstr "Yeni pencere aç" @@ -961,36 +957,36 @@ msgstr "" #. / Warning printed to the console when a deprecated #. / command line option is used. -#: src/client/application/application-client.vala:913 +#: src/client/application/application-client.vala:938 msgid "The `--hidden` option is deprecated and will be removed in the future." msgstr "`--hidden` seçeneği terk edilmiştir ve gelecekte kaldırılacaktır." #. / Command line warning, string substitution #. / is the given argument -#: src/client/application/application-client.vala:946 +#: src/client/application/application-client.vala:971 #, c-format msgid "Unrecognised program argument: “%s”" msgstr "Tanınmayan program argümanı: “%s”" #. / Notification title. -#: src/client/application/application-controller.vala:477 +#: src/client/application/application-controller.vala:457 #, c-format msgid "A problem occurred sending email for %s" msgstr "%s için e-posta gönderilirken sorun oluştu" #. / Notification body -#: src/client/application/application-controller.vala:481 +#: src/client/application/application-controller.vala:461 msgid "Email will not be sent until re-connected" msgstr "Yeniden bağlanana dek e-posta gönderilmeyecek" #. / Translators: Label for in-app notification -#: src/client/application/application-controller.vala:587 +#: src/client/application/application-controller.vala:567 msgid "Conversation marked" msgid_plural "Conversations marked" msgstr[0] "Konuşma(lar) imlendi" #. / Translators: Label for in-app notification -#: src/client/application/application-controller.vala:593 +#: src/client/application/application-controller.vala:573 msgid "Conversation un-marked" msgid_plural "Conversations un-marked" msgstr[0] "Konuşmaların imi kaldırıldı" @@ -998,8 +994,8 @@ msgstr[0] "Konuşmaların imi kaldırıldı" #. / Translators: Label for in-app #. / notification. String substitution is the name #. / of the destination folder. -#: src/client/application/application-controller.vala:619 -#: src/client/application/application-controller.vala:703 +#: src/client/application/application-controller.vala:599 +#: src/client/application/application-controller.vala:683 #, c-format msgid "Conversation moved to %s" msgid_plural "Conversations moved to %s" @@ -1010,29 +1006,29 @@ msgstr[0] "Konuşma(lar) şuraya taşındı: %s" #. / of the source folder. #. / Translators: Label for in-app notification. String #. / substitution is the name of the destination folder. -#: src/client/application/application-controller.vala:627 -#: src/client/application/application-controller.vala:649 +#: src/client/application/application-controller.vala:607 +#: src/client/application/application-controller.vala:629 #, c-format msgid "Conversation restored to %s" msgid_plural "Conversations restored to %s" msgstr[0] "Konuşma(lar) şuraya geri yüklendi: %s" #. / Translators: Label for in-app notification. -#: src/client/application/application-controller.vala:670 +#: src/client/application/application-controller.vala:650 msgid "Conversation archived" msgid_plural "Conversations archived" msgstr[0] "Konuşma(lar) arşivlendi" #. / Translators: Label for in-app notification. String #. / substitution is the name of the destination folder. -#: src/client/application/application-controller.vala:726 +#: src/client/application/application-controller.vala:706 #, c-format msgid "Message restored to %s" msgid_plural "Messages restored to %s" msgstr[0] "İleti(ler) şuraya geri yüklendi: %s" #. / Translators: Label for in-app notification. -#: src/client/application/application-controller.vala:747 +#: src/client/application/application-controller.vala:727 msgid "Message archived" msgid_plural "Messages archived" msgstr[0] "İleti(ler) arşivlendi" @@ -1040,7 +1036,7 @@ msgstr[0] "İleti(ler) arşivlendi" #. / Translators: Label for in-app #. / notification. String substitution is the name #. / of the destination folder. -#: src/client/application/application-controller.vala:782 +#: src/client/application/application-controller.vala:762 #, c-format msgid "Message moved to %s" msgid_plural "Messages moved to %s" @@ -1049,7 +1045,7 @@ msgstr[0] "İleti(ler) şuraya taşındı: %s" #. / Translators: Label for in-app #. / notification. String substitution is the name #. / of the destination folder. -#: src/client/application/application-controller.vala:810 +#: src/client/application/application-controller.vala:790 #, c-format msgid "Conversation labelled as %s" msgid_plural "Conversations labelled as %s" @@ -1058,18 +1054,18 @@ msgstr[0] "Konuşma(lar) %s olarak etiketlendi" #. / Translators: Label for in-app #. / notification. String substitution is the name #. / of the destination folder. -#: src/client/application/application-controller.vala:818 +#: src/client/application/application-controller.vala:798 #, c-format msgid "Conversation un-labelled as %s" msgid_plural "Conversations un-labelled as %s" msgstr[0] "Konuşma(lar) %s olarak etiketlenmedi" -#: src/client/application/application-controller.vala:1238 +#: src/client/application/application-controller.vala:1221 #, c-format msgid "Unable to open the database for %s" msgstr "%s için veri tabanı açılamadı" -#: src/client/application/application-controller.vala:1239 +#: src/client/application/application-controller.vala:1222 #, c-format msgid "" "There was an error opening the local mail database for this account. This is " @@ -1093,20 +1089,20 @@ msgstr "" "Veri tabanının yeniden inşa edilmesi tüm yerel e-postaları ve eklerini yok " "edecektir.Sizin sunucunuzdaki postalar etkilenmeyecektir." -#: src/client/application/application-controller.vala:1241 +#: src/client/application/application-controller.vala:1224 msgid "_Rebuild" msgstr "_Yeniden oluştur" -#: src/client/application/application-controller.vala:1241 +#: src/client/application/application-controller.vala:1224 msgid "E_xit" msgstr "Ç_ık" -#: src/client/application/application-controller.vala:1251 +#: src/client/application/application-controller.vala:1234 #, c-format msgid "Unable to rebuild database for “%s”" msgstr "“%s” için veri tabanı yeniden oluşturulamadı" -#: src/client/application/application-controller.vala:1252 +#: src/client/application/application-controller.vala:1235 #, c-format msgid "" "Error during rebuild:\n" @@ -1119,34 +1115,34 @@ msgstr "" #. / Translators: The label for an in-app notification. The #. / string substitution is a list of recipients of the email. -#: src/client/application/application-controller.vala:1575 +#: src/client/application/application-controller.vala:1558 #, c-format msgid "Email sent to %s" msgstr "Şun(lar)a eposta gönderildi: %s" #. / Translators: The label for an in-app notification. The #. / string substitution is a list of recipients of the email. -#: src/client/application/application-controller.vala:2648 +#: src/client/application/application-controller.vala:2636 #, c-format msgid "Email to %s queued for delivery" msgstr "Şun(lar)a gidecek eposta iletim sırasında: %s" #. / Translators: The label for an in-app notification. The #. / string substitution is a list of recipients of the email. -#: src/client/application/application-controller.vala:2713 +#: src/client/application/application-controller.vala:2701 #, c-format msgid "Email to %s saved" msgstr "Şun(lar)a gidecek eposta kaydedildi: %s" #. / Translators: A label for an in-app notification. -#: src/client/application/application-controller.vala:2728 -#: src/client/application/application-controller.vala:2786 +#: src/client/application/application-controller.vala:2716 +#: src/client/application/application-controller.vala:2774 msgid "Composer could not be restored" msgstr "Oluşturucu kurtarılamadı" #. / Translators: The label for an in-app notification. The #. / string substitution is a list of recipients of the email. -#: src/client/application/application-controller.vala:2771 +#: src/client/application/application-controller.vala:2759 #, c-format msgid "Email to %s discarded" msgstr "Şun(lar)a gidecek eposta gözden çıkarıldı: %s" @@ -1159,46 +1155,46 @@ msgstr "Şun(lar)a gidecek eposta gözden çıkarıldı: %s" msgid "%s — %s" msgstr "%s — %s" -#: src/client/application/application-main-window.vala:949 +#: src/client/application/application-main-window.vala:961 msgid "Labels" msgstr "Etiketler" #. / Translators: Primary text for a confirmation dialog -#: src/client/application/application-main-window.vala:1281 +#: src/client/application/application-main-window.vala:1297 msgid "Do you want to permanently delete this conversation?" msgid_plural "Do you want to permanently delete these conversations?" msgstr[0] "Bu konuşmaları kalıcı olarak silmek istiyor musunuz?" -#: src/client/application/application-main-window.vala:1286 -#: src/client/application/application-main-window.vala:1301 +#: src/client/application/application-main-window.vala:1302 +#: src/client/application/application-main-window.vala:1317 msgid "Delete" msgstr "Sil" #. / Translators: Primary text for a confirmation dialog -#: src/client/application/application-main-window.vala:1296 +#: src/client/application/application-main-window.vala:1312 msgid "Do you want to permanently delete this message?" msgid_plural "Do you want to permanently delete these messages?" msgstr[0] "Bu ileti(ler)i kalıcı olarak silmek istiyor musunuz?" -#: src/client/application/application-main-window.vala:1309 +#: src/client/application/application-main-window.vala:1325 #, c-format msgid "Empty all email from your %s folder?" msgstr "%s klasörünüzdeki tüm e-postaları boşalt?" -#: src/client/application/application-main-window.vala:1312 +#: src/client/application/application-main-window.vala:1328 msgid "This removes the email from Geary and your email server." msgstr "Bu işlem e-postayı Geary’den ve e-posta sunucunuzdan kaldırır." -#: src/client/application/application-main-window.vala:1313 +#: src/client/application/application-main-window.vala:1329 msgid "This cannot be undone." msgstr "Bu geri alınamaz." -#: src/client/application/application-main-window.vala:1314 +#: src/client/application/application-main-window.vala:1330 #, c-format msgid "Empty %s" msgstr "%s boşalt" -#: src/client/application/application-main-window.vala:1644 +#: src/client/application/application-main-window.vala:1660 #, c-format msgid "%s (%d)" msgstr "%s (%d)" @@ -1209,7 +1205,7 @@ msgstr "%s (%d)" #. Document (100.9MB) #. / In the composer, the filename followed by its filesize, i.e. "notes.txt (1.12KB)" #: src/client/components/components-attachment-pane.vala:107 -#: src/client/composer/composer-widget.vala:1796 +#: src/client/composer/composer-widget.vala:1815 #, c-format msgid "%s (%s)" msgstr "%s (%s)" @@ -1237,7 +1233,7 @@ msgstr "İnceleyici" #. / Translators: Title for Inspector logs pane #. / Translators: Title for problem report dialog logs pane #: src/client/components/components-inspector.vala:87 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:101 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:102 msgid "Logs" msgstr "Günlükler" @@ -1245,21 +1241,21 @@ msgstr "Günlükler" #. / Translators: Title for problem report system information #. / pane #: src/client/components/components-inspector.vala:91 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:104 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:105 msgid "System" msgstr "Sistem" #. Button label for saving problem report information #: src/client/components/components-inspector.vala:208 #: src/client/components/components-inspector.vala:211 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:220 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:223 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:221 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:224 #: ui/problem-details-dialog.ui:42 msgid "Save As" msgstr "Farklı Kaydet" #: src/client/components/components-inspector.vala:212 -#: src/client/dialogs/dialogs-problem-details-dialog.vala:224 +#: src/client/dialogs/dialogs-problem-details-dialog.vala:225 #: ui/accounts_editor_servers_pane.ui:17 msgid "Cancel" msgstr "İptal Et" @@ -1281,8 +1277,6 @@ msgstr "_Üç bölmeli görünümü kullan" #. / Translators: Preferences label #: src/client/components/components-preferences-window.vala:73 -#| msgctxt "shortcut window" -#| msgid "Single-key shortcuts" msgid "Use _single key email shortcuts" msgstr "_Tek tuşlu eposta kısayolları kullan" @@ -1304,6 +1298,27 @@ msgstr "Kapatıldığında yeni postayı _gözetle" msgid "Geary will keep running after all windows are closed" msgstr "Geary, tüm pencereler kapatıldıktan sonra çalışmayı sürdürecek" +#. / Translators: Search entry placeholder text +#: src/client/components/components-search-bar.vala:12 +#: src/client/folder-list/folder-list-search-branch.vala:53 +#: src/engine/api/geary-special-folder-type.vala:51 +msgid "Search" +msgstr "Ara" + +#. / Translators: Search entry tooltip +#: src/client/components/components-search-bar.vala:32 +#| msgid "Search all mail in account for keywords (Ctrl+S)" +msgid "Search all mail in account for keywords" +msgstr "Anahtar sözcükleri hesaptaki tüm postalarda ara" + +#. / Translators: Search entry placeholder, string +#. / replacement is the name of an account +#: src/client/components/components-search-bar.vala:81 +#: src/client/folder-list/folder-list-search-branch.vala:54 +#, c-format +msgid "Search %s account" +msgstr "%s hesabını ara" + #. Translators: Tooltip used when an entry requires a valid #. email address to be entered, but one is not provided. #: src/client/components/components-validator.vala:390 @@ -1429,28 +1444,6 @@ msgstr "Hatayla ilgili teknik ayrıntıları gör" msgid "_Retry" msgstr "_Yeniden dene" -#: src/client/components/search-bar.vala:8 -#: src/client/folder-list/folder-list-search-branch.vala:53 -#: src/engine/api/geary-special-folder-type.vala:51 -msgid "Search" -msgstr "Ara" - -#. Search entry. -#: src/client/components/search-bar.vala:24 -msgid "Search all mail in account for keywords (Ctrl+S)" -msgstr "Anahtar sözcükler için hesaptaki tüm postaları ara (Ctrl+S)" - -#: src/client/components/search-bar.vala:88 -#, c-format -msgid "Indexing %s account" -msgstr "%s hesabı dizinleniyor" - -#: src/client/components/search-bar.vala:119 -#: src/client/folder-list/folder-list-search-branch.vala:54 -#, c-format -msgid "Search %s account" -msgstr "%s hesabını ara" - #. / Displayed in the space-limited status bar while a message is in the process of being sent. #: src/client/components/status-bar.vala:26 msgid "Sending…" @@ -1542,19 +1535,19 @@ msgstr "Geçersiz e-posta adresi" msgid "New Message" msgstr "Yeni İleti" -#: src/client/composer/composer-widget.vala:211 +#: src/client/composer/composer-widget.vala:210 msgid "Saved" msgstr "Kaydedildi" -#: src/client/composer/composer-widget.vala:212 +#: src/client/composer/composer-widget.vala:211 msgid "Saving" msgstr "Kaydediliyor" -#: src/client/composer/composer-widget.vala:213 +#: src/client/composer/composer-widget.vala:212 msgid "Error saving" msgstr "Kaydedilirken hata" -#: src/client/composer/composer-widget.vala:214 +#: src/client/composer/composer-widget.vala:213 msgid "Press Backspace to delete quote" msgstr "Alıntıyı silmek için Geri tuşuna basın" @@ -1563,7 +1556,7 @@ msgstr "Alıntıyı silmek için Geri tuşuna basın" #. checking, include all variants of each word. No spaces are #. allowed. The words will be converted to lower case based on #. locale and English versions included automatically. -#: src/client/composer/composer-widget.vala:230 +#: src/client/composer/composer-widget.vala:229 msgid "" "attach|attaching|attaches|attachment|attachments|attached|enclose|enclosed|" "enclosing|encloses|enclosure|enclosures" @@ -1574,90 +1567,90 @@ msgstr "" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. Keep, Discard or Cancel. -#: src/client/composer/composer-widget.vala:798 +#: src/client/composer/composer-widget.vala:814 msgid "Do you want to keep or discard this draft message?" msgstr "Bu iletiyi saklamak mı yoksa gözden çıkarmak mı istersiniz?" #. Translators: This dialog text is displayed to the #. user when closing a composer where the options are #. only Discard or Cancel. -#: src/client/composer/composer-widget.vala:824 +#: src/client/composer/composer-widget.vala:840 msgid "Do you want to discard this draft message?" msgstr "Bu taslak iletiyi gözden çıkarmak istiyor musunuz?" -#: src/client/composer/composer-widget.vala:1465 +#: src/client/composer/composer-widget.vala:1484 msgid "Send message with an empty subject and body?" msgstr "İleti konusu ve gövdesi olmadan gönderilsin mi?" -#: src/client/composer/composer-widget.vala:1467 +#: src/client/composer/composer-widget.vala:1486 msgid "Send message with an empty subject?" msgstr "İleti konusu olmadan gönderilsin mi?" -#: src/client/composer/composer-widget.vala:1469 +#: src/client/composer/composer-widget.vala:1488 msgid "Send message with an empty body?" msgstr "İleti, ileti gövdesi olmadan gönderilsin mi?" -#: src/client/composer/composer-widget.vala:1478 +#: src/client/composer/composer-widget.vala:1497 msgid "Send message without an attachment?" msgstr "İleti eki olmadan gönderilsin mi?" -#: src/client/composer/composer-widget.vala:1788 +#: src/client/composer/composer-widget.vala:1807 #, c-format msgid "“%s” already attached for delivery." msgstr "“%s” gönderim için zaten eklendi." -#: src/client/composer/composer-widget.vala:1818 -#: src/client/composer/composer-widget.vala:1868 +#: src/client/composer/composer-widget.vala:1837 +#: src/client/composer/composer-widget.vala:1887 #, c-format msgid "“%s” is an empty file." msgstr "“%s” boş bir dosya." -#: src/client/composer/composer-widget.vala:1856 +#: src/client/composer/composer-widget.vala:1875 #, c-format msgid "“%s” could not be found." msgstr "“%s” bulunamadı." -#: src/client/composer/composer-widget.vala:1862 +#: src/client/composer/composer-widget.vala:1881 #, c-format msgid "“%s” is a folder." msgstr "“%s” bir klasör." -#: src/client/composer/composer-widget.vala:1881 +#: src/client/composer/composer-widget.vala:1900 #, c-format msgid "“%s” could not be opened for reading." msgstr "“%s” okuma için açılamadı." -#: src/client/composer/composer-widget.vala:1889 +#: src/client/composer/composer-widget.vala:1908 msgid "Cannot add attachment" msgstr "Eklenti eklenemiyor" #. Translators: Human-readable version of the RFC 822 To header -#: src/client/composer/composer-widget.vala:1946 +#: src/client/composer/composer-widget.vala:1965 #: src/client/conversation-viewer/conversation-email.vala:559 #: src/client/util/util-email.vala:235 ui/conversation-message.ui:312 msgid "To:" msgstr "Kime:" #. Translators: Human-readable version of the RFC 822 CC header -#: src/client/composer/composer-widget.vala:1952 +#: src/client/composer/composer-widget.vala:1971 #: src/client/conversation-viewer/conversation-email.vala:564 #: src/client/util/util-email.vala:240 ui/conversation-message.ui:357 msgid "Cc:" msgstr "Cc:" #. Translators: Human-readable version of the RFC 822 BCC header -#: src/client/composer/composer-widget.vala:1958 +#: src/client/composer/composer-widget.vala:1977 #: src/client/conversation-viewer/conversation-email.vala:569 #: ui/conversation-message.ui:402 msgid "Bcc:" msgstr "Bcc:" #. Translators: Human-readable version of the RFC 822 Reply-To header -#: src/client/composer/composer-widget.vala:1964 +#: src/client/composer/composer-widget.vala:1983 msgid "Reply-To: " msgstr "Yanıtla: " -#: src/client/composer/composer-widget.vala:2144 +#: src/client/composer/composer-widget.vala:2172 msgid "Select Color" msgstr "Renk Seç" @@ -1666,20 +1659,20 @@ msgstr "Renk Seç" #. printf argument will be the alternate email address, #. and the second will be the account's primary email #. address. -#: src/client/composer/composer-widget.vala:2336 +#: src/client/composer/composer-widget.vala:2364 #, c-format msgid "%1$s via %2$s" msgstr "%2$s aracılığıyla %1$s" #. Composer label (with mnemonic underscore) for the account selector #. when choosing what address to send a message from. -#: src/client/composer/composer-widget.vala:2392 +#: src/client/composer/composer-widget.vala:2420 msgid "_From:" msgstr "_Gönderen:" #. Translators: This is the name of the file chooser filter #. when inserting an image in the composer. -#: src/client/composer/composer-widget.vala:2695 +#: src/client/composer/composer-widget.vala:2723 msgid "Images" msgstr "Resimler" @@ -1765,7 +1758,7 @@ msgstr "Tarih:" msgid "Subject:" msgstr "Konu:" -#: src/client/conversation-viewer/conversation-message.vala:132 +#: src/client/conversation-viewer/conversation-message.vala:128 msgid "This email address may have been forged" msgstr "Bu e-posta adresi taklit edilmiş olabilir" @@ -1773,20 +1766,20 @@ msgstr "Bu e-posta adresi taklit edilmiş olabilir" #. in load_contacts. #. Translators: This is displayed in place of the from address #. when the message has no from address. -#: src/client/conversation-viewer/conversation-message.vala:469 +#: src/client/conversation-viewer/conversation-message.vala:465 msgid "No sender" msgstr "Gönderen yok" #. Translators: This separates multiple 'from' #. addresses in the compact header for a message. -#: src/client/conversation-viewer/conversation-message.vala:963 +#: src/client/conversation-viewer/conversation-message.vala:959 msgid ", " msgstr ", " #. Translators: This string is used as the HTML IMG ALT #. attribute value when displaying an inline image in an email #. that did not specify a file name. E.g. Image from_list = new Gee.ArrayList(); [GtkChild] - private Gtk.EventBox to_box; + private Gtk.Box to_box; [GtkChild] private Gtk.Label to_label; private EmailEntry to_entry; private Components.EntryUndo to_undo; + [GtkChild] + private Gtk.Revealer extended_fields_revealer; + [GtkChild] private Gtk.EventBox cc_box; [GtkChild] @@ -508,7 +511,7 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { this.to_entry = new EmailEntry(this); this.to_entry.changed.connect(on_envelope_changed); - this.to_box.add(to_entry); + this.to_box.pack_start(to_entry, true, true); this.to_label.set_mnemonic_widget(this.to_entry); this.to_undo = new Components.EntryUndo(this.to_entry); @@ -530,8 +533,6 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { this.reply_to_label.set_mnemonic_widget(this.reply_to_entry); this.reply_to_undo = new Components.EntryUndo(this.reply_to_entry); - this.to_entry.margin_top = this.cc_entry.margin_top = this.bcc_entry.margin_top = this.reply_to_entry.margin_top = 6; - this.subject_undo = new Components.EntryUndo(this.subject_entry); this.subject_spell_entry = Gspell.Entry.get_from_gtk_entry( this.subject_entry @@ -1202,7 +1203,7 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { if (visible) { int height = hidden_on_attachment_drag_over.get_allocated_height(); this.hidden_on_attachment_drag_over.remove(this.hidden_on_attachment_drag_over_child); - this.visible_on_attachment_drag_over.add(this.visible_on_attachment_drag_over_child); + this.visible_on_attachment_drag_over.pack_start(this.visible_on_attachment_drag_over_child, true, true); this.visible_on_attachment_drag_over.set_size_request(-1, height); } else { this.hidden_on_attachment_drag_over.add(this.hidden_on_attachment_drag_over_child); @@ -2138,10 +2139,7 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface { GLib.Variant? new_state) { bool show_extended = new_state.get_boolean(); action.set_state(show_extended); - this.bcc_label.visible = - this.bcc_entry.visible = - this.reply_to_label.visible = - this.reply_to_entry.visible = show_extended; + this.extended_fields_revealer.reveal_child = show_extended; if (show_extended && this.current_mode == INLINE_COMPACT) { set_mode(INLINE); diff --git a/src/client/composer/composer-window.vala b/src/client/composer/composer-window.vala index 3f4c6f7a..df0be889 100644 --- a/src/client/composer/composer-window.vala +++ b/src/client/composer/composer-window.vala @@ -42,9 +42,9 @@ public class Composer.Window : Gtk.ApplicationWindow, Container { this.composer.update_window_title(); if (application.config.desktop_environment == UNITY) { - composer.header.show_close_button = false; composer.embed_header(); } else { + composer.header.show_close_button = true; set_titlebar(this.composer.header); } diff --git a/src/engine/imap-db/imap-db-attachment.vala b/src/engine/imap-db/imap-db-attachment.vala index f2aacc25..4db81717 100644 --- a/src/engine/imap-db/imap-db-attachment.vala +++ b/src/engine/imap-db/imap-db-attachment.vala @@ -180,7 +180,7 @@ private class Geary.ImapDB.Attachment : Geary.Attachment { target_stream ); stream = new GMime.StreamBuffer( - stream, GMime.StreamBufferMode.BLOCK_WRITE + stream, GMime.StreamBufferMode.WRITE ); part.write_to_stream(stream, RFC822.Part.EncodingConversion.NONE); diff --git a/src/engine/meson.build b/src/engine/meson.build index cb61c2aa..23b5fa48 100644 --- a/src/engine/meson.build +++ b/src/engine/meson.build @@ -325,7 +325,6 @@ geary_engine_dependencies = [ gmime, libmath, libxml, - libytnef, posix, sqlite ] diff --git a/src/engine/mime/mime-content-disposition.vala b/src/engine/mime/mime-content-disposition.vala index 9b34849f..675aac75 100644 --- a/src/engine/mime/mime-content-disposition.vala +++ b/src/engine/mime/mime-content-disposition.vala @@ -102,7 +102,7 @@ public class Geary.Mime.ContentDisposition : Geary.BaseObject { out is_unknown); is_unknown_disposition_type = is_unknown; original_disposition_type_string = content_disposition.get_disposition(); - params = new ContentParameters.from_gmime(content_disposition.get_params()); + params = new ContentParameters.from_gmime(content_disposition.get_parameters()); } } diff --git a/src/engine/mime/mime-content-parameters.vala b/src/engine/mime/mime-content-parameters.vala index 0267a9d5..6d2f5ef4 100644 --- a/src/engine/mime/mime-content-parameters.vala +++ b/src/engine/mime/mime-content-parameters.vala @@ -51,11 +51,13 @@ public class Geary.Mime.ContentParameters : BaseObject { } } - internal ContentParameters.from_gmime(GMime.Param? gmime_param) { + internal ContentParameters.from_gmime(GMime.ParamList? gmime_params) { Gee.Map params = new Gee.HashMap(); - while (gmime_param != null) { - params.set(gmime_param.get_name(), gmime_param.get_value()); - gmime_param = gmime_param.get_next(); + if (gmime_params != null) { + for (int i = 0; i < gmime_params.length(); i++) { + GMime.Param gmime_param = gmime_params.get_parameter_at(i); + params.set(gmime_param.get_name(), gmime_param.get_value()); + } } this(params); } diff --git a/src/engine/mime/mime-content-type.vala b/src/engine/mime/mime-content-type.vala index ed59a491..9fe333d8 100644 --- a/src/engine/mime/mime-content-type.vala +++ b/src/engine/mime/mime-content-type.vala @@ -74,7 +74,10 @@ public class Geary.Mime.ContentType : Geary.BaseObject { if (!str.contains("/")) throw new MimeError.PARSE("Invalid MIME Content-Type: %s", str); - return new ContentType.from_gmime(new GMime.ContentType.from_string(str)); + return new ContentType.from_gmime(GMime.ContentType.parse( + Geary.RFC822.get_parser_options(), + str + )); } /** @@ -158,7 +161,7 @@ public class Geary.Mime.ContentType : Geary.BaseObject { internal ContentType.from_gmime(GMime.ContentType content_type) { media_type = content_type.get_media_type().strip(); media_subtype = content_type.get_media_subtype().strip(); - params = new ContentParameters.from_gmime(content_type.get_params()); + params = new ContentParameters.from_gmime(content_type.get_parameters()); } /** diff --git a/src/engine/rfc822/rfc822-gmime-filter-blockquotes.vala b/src/engine/rfc822/rfc822-gmime-filter-blockquotes.vala index 7d18342d..6f8c118f 100644 --- a/src/engine/rfc822/rfc822-gmime-filter-blockquotes.vala +++ b/src/engine/rfc822/rfc822-gmime-filter-blockquotes.vala @@ -49,7 +49,7 @@ private class Geary.RFC822.FilterBlockquotes : GMime.Filter { return new_filter; } - private void do_filter(char[] inbuf, size_t prespace, out unowned char[] processed_buffer, + private void do_filter(uint8[] inbuf, size_t prespace, out unowned uint8[] processed_buffer, out size_t outprespace, bool flush) { // This may not be strictly necessary. @@ -64,7 +64,7 @@ private class Geary.RFC822.FilterBlockquotes : GMime.Filter { } for (uint i = 0; i < inbuf.length; i++) { - char c = inbuf[i]; + uint8 c = inbuf[i]; if (in_prefix && !in_tag) { if (c == Geary.RFC822.Utils.QUOTE_MARKER) { @@ -122,12 +122,12 @@ private class Geary.RFC822.FilterBlockquotes : GMime.Filter { outprespace = this.outpre; } - public override void filter(char[] inbuf, size_t prespace, out unowned char[] processed_buffer, + public override void filter(uint8[] inbuf, size_t prespace, out unowned uint8[] processed_buffer, out size_t outprespace) { do_filter(inbuf, prespace, out processed_buffer, out outprespace, false); } - public override void complete(char[] inbuf, size_t prespace, out unowned char[] processed_buffer, + public override void complete(uint8[] inbuf, size_t prespace, out unowned uint8[] processed_buffer, out size_t outprespace) { do_filter(inbuf, prespace, out processed_buffer, out outprespace, true); } diff --git a/src/engine/rfc822/rfc822-gmime-filter-flowed.vala b/src/engine/rfc822/rfc822-gmime-filter-flowed.vala index 3f5a28a9..d018c537 100644 --- a/src/engine/rfc822/rfc822-gmime-filter-flowed.vala +++ b/src/engine/rfc822/rfc822-gmime-filter-flowed.vala @@ -57,7 +57,7 @@ private class Geary.RFC822.FilterFlowed : GMime.Filter { return new_filter; } - public override void filter(char[] inbuf, size_t prespace, out unowned char[] processed_buffer, + public override void filter(uint8[] inbuf, size_t prespace, out unowned uint8[] processed_buffer, out size_t outprespace) { // Worst-case scenario: We are about to leave the prefix, @@ -67,7 +67,7 @@ private class Geary.RFC822.FilterFlowed : GMime.Filter { uint out_index = 0; for (uint i = 0; i < inbuf.length; i++) { - char c = inbuf[i]; + uint8 c = inbuf[i]; if (this.in_prefix) { if (c == '>') { @@ -147,7 +147,7 @@ private class Geary.RFC822.FilterFlowed : GMime.Filter { outprespace = this.outpre; } - public override void complete(char[] inbuf, size_t prespace, out unowned char[] processed_buffer, + public override void complete(uint8[] inbuf, size_t prespace, out unowned uint8[] processed_buffer, out size_t outprespace) { filter(inbuf, prespace, out processed_buffer, out outprespace); } diff --git a/src/engine/rfc822/rfc822-gmime-filter-plain.vala b/src/engine/rfc822/rfc822-gmime-filter-plain.vala index d66e3284..b38baac0 100644 --- a/src/engine/rfc822/rfc822-gmime-filter-plain.vala +++ b/src/engine/rfc822/rfc822-gmime-filter-plain.vala @@ -26,7 +26,7 @@ private class Geary.RFC822.FilterPlain : GMime.Filter { return new_filter; } - public override void filter(char[] inbuf, size_t prespace, out unowned char[] processed_buffer, + public override void filter(uint8[] inbuf, size_t prespace, out unowned uint8[] processed_buffer, out size_t outprespace) { // This may not be strictly necessary. @@ -34,7 +34,7 @@ private class Geary.RFC822.FilterPlain : GMime.Filter { uint out_index = 0; for (uint i = 0; i < inbuf.length; i++) { - char c = inbuf[i]; + uint8 c = inbuf[i]; if (in_prefix) { if (c == '>') { @@ -56,7 +56,7 @@ private class Geary.RFC822.FilterPlain : GMime.Filter { outprespace = this.outpre; } - public override void complete(char[] inbuf, size_t prespace, out unowned char[] processed_buffer, + public override void complete(uint8[] inbuf, size_t prespace, out unowned uint8[] processed_buffer, out size_t outprespace) { filter(inbuf, prespace, out processed_buffer, out outprespace); } diff --git a/src/engine/rfc822/rfc822-mailbox-address.vala b/src/engine/rfc822/rfc822-mailbox-address.vala index 73803f19..6d994136 100644 --- a/src/engine/rfc822/rfc822-mailbox-address.vala +++ b/src/engine/rfc822/rfc822-mailbox-address.vala @@ -42,11 +42,17 @@ public class Geary.RFC822.MailboxAddress : } private static string decode_name(string name) { - return GMime.utils_header_decode_phrase(prepare_header_text_part(name)); + return GMime.utils_header_decode_phrase( + Geary.RFC822.get_parser_options(), + prepare_header_text_part(name) + ); } private static string decode_address_part(string mailbox) { - return GMime.utils_header_decode_text(prepare_header_text_part(mailbox)); + return GMime.utils_header_decode_text( + Geary.RFC822.get_parser_options(), + prepare_header_text_part(mailbox) + ); } private static bool display_name_needs_quoting(string name) { @@ -118,8 +124,9 @@ public class Geary.RFC822.MailboxAddress : // _internet_address_decode_name() function. // see if a broken mailer has sent raw 8-bit information - string text = GMime.utils_text_is_8bit(part, part.length) - ? part : GMime.utils_decode_8bit(part, part.length); + string text = GMime.utils_text_is_8bit(part.data) + ? part : GMime.utils_decode_8bit(Geary.RFC822.get_parser_options(), + part.data); // unquote the string then decode the text GMime.utils_unquote_string(text); @@ -222,16 +229,19 @@ public class Geary.RFC822.MailboxAddress : } public MailboxAddress.from_rfc822_string(string rfc822) throws RFC822Error { - InternetAddressList addrlist = InternetAddressList.parse_string(rfc822); + GMime.InternetAddressList addrlist = GMime.InternetAddressList.parse( + Geary.RFC822.get_parser_options(), + rfc822 + ); if (addrlist == null) return; int length = addrlist.length(); for (int ctr = 0; ctr < length; ctr++) { - InternetAddress? addr = addrlist.get_address(ctr); + GMime.InternetAddress? addr = addrlist.get_address(ctr); // TODO: Handle group lists - InternetAddressMailbox? mbox_addr = addr as InternetAddressMailbox; + GMime.InternetAddressMailbox? mbox_addr = addr as GMime.InternetAddressMailbox; if (mbox_addr != null) { this.gmime(mbox_addr); return; @@ -240,11 +250,11 @@ public class Geary.RFC822.MailboxAddress : throw new RFC822Error.INVALID("Could not parse RFC822 address: %s", rfc822); } - public MailboxAddress.gmime(InternetAddressMailbox mailbox) { + public MailboxAddress.gmime(GMime.InternetAddressMailbox mailbox) { // GMime strips source route for us, so the address part // should only ever contain a single '@' string? name = mailbox.get_name(); - if (name != null) { + if (name != "") { this.name = decode_name(name); } @@ -456,7 +466,11 @@ public class Geary.RFC822.MailboxAddress : public string to_rfc822_string() { return has_distinct_name() ? "%s <%s>".printf( - GMime.utils_header_encode_phrase(this.name), + GMime.utils_header_encode_phrase( + Geary.RFC822.get_format_options(), + this.name, + "iso-8859-1" + ), to_rfc822_address() ) : to_rfc822_address(); diff --git a/src/engine/rfc822/rfc822-mailbox-addresses.vala b/src/engine/rfc822/rfc822-mailbox-addresses.vala index 8ebf79de..5d647fa7 100644 --- a/src/engine/rfc822/rfc822-mailbox-addresses.vala +++ b/src/engine/rfc822/rfc822-mailbox-addresses.vala @@ -74,27 +74,30 @@ public class Geary.RFC822.MailboxAddresses : } public MailboxAddresses.from_rfc822_string(string rfc822) { - InternetAddressList addrlist = InternetAddressList.parse_string(rfc822); + GMime.InternetAddressList addrlist = GMime.InternetAddressList.parse( + Geary.RFC822.get_parser_options(), + rfc822 + ); if (addrlist == null) return; int length = addrlist.length(); for (int ctr = 0; ctr < length; ctr++) { - InternetAddress? addr = addrlist.get_address(ctr); + GMime.InternetAddress? addr = addrlist.get_address(ctr); - InternetAddressMailbox? mbox_addr = addr as InternetAddressMailbox; + GMime.InternetAddressMailbox? mbox_addr = addr as GMime.InternetAddressMailbox; if (mbox_addr != null) { this.addrs.add(new MailboxAddress.gmime(mbox_addr)); } else { // XXX this is pretty bad - we just flatten the // group's addresses into this list, merging lists and // losing the group names. - InternetAddressGroup? mbox_group = addr as InternetAddressGroup; + GMime.InternetAddressGroup? mbox_group = addr as GMime.InternetAddressGroup; if (mbox_group != null) { - InternetAddressList group_list = mbox_group.get_members(); + GMime.InternetAddressList group_list = mbox_group.get_members(); for (int i = 0; i < group_list.length(); i++) { - InternetAddressMailbox? group_addr = - addrlist.get_address(i) as InternetAddressMailbox; + GMime.InternetAddressMailbox? group_addr = + addrlist.get_address(i) as GMime.InternetAddressMailbox; if (group_addr != null) { this.addrs.add(new MailboxAddress.gmime(group_addr)); } diff --git a/src/engine/rfc822/rfc822-message-data.vala b/src/engine/rfc822/rfc822-message-data.vala index 2d399986..d4a3aa0a 100644 --- a/src/engine/rfc822/rfc822-message-data.vala +++ b/src/engine/rfc822/rfc822-message-data.vala @@ -173,27 +173,13 @@ public class Geary.RFC822.Date : Geary.RFC822.MessageData, Geary.MessageData.Abs public DateTime value { get; private set; } public Date(string rfc822) throws ImapError { - int offset = 0; - int64 time_t_utc = GMime.utils_header_decode_date(rfc822, out offset); - if (time_t_utc == 0) - throw new ImapError.PARSE_ERROR( - "Unable to parse \"%s\": Not ISO-8601 date", rfc822 - ); - - DateTime? value = new DateTime.from_unix_utc(time_t_utc); + DateTime? value = GMime.utils_header_decode_date(rfc822); if (value == null) { throw new ImapError.PARSE_ERROR( "Unable to parse \"%s\": Outside supported range", rfc822 ); } this.value = value; - - if (offset != 0) { - this.value = value.to_timezone( - new GLib.TimeZone("%+05d".printf(offset)) - ); - } - this.original = rfc822; } @@ -206,18 +192,7 @@ public class Geary.RFC822.Date : Geary.RFC822.MessageData, Geary.MessageData.Abs * Returns the {@link Date} in RFC 822 format. */ public string to_rfc822_string() { - // Although GMime documents its conversion methods as - // requiring the tz offset in hours, it appears the number is - // handed directly to the string (i.e. an offset of -7:30 becomes - // "-0007", whereas we want "-0730"). - int hours = (int) GLib.Math.floor(value.get_utc_offset() / TimeSpan.HOUR); - int minutes = (int) ( - (value.get_utc_offset() % TimeSpan.HOUR) / (double) TimeSpan.HOUR * 60 - ); - return GMime.utils_header_format_date( - (time_t) this.value.to_utc().to_unix(), - (hours * 100) + minutes - ); + return GMime.utils_header_format_date(this.value); } /** @@ -261,7 +236,7 @@ public class Geary.RFC822.Subject : Geary.MessageData.StringMessageData, } public Subject.decode(string value) { - base (GMime.utils_header_decode_text(value)); + base (GMime.utils_header_decode_text(Geary.RFC822.get_parser_options(), value)); original = value; } @@ -337,9 +312,8 @@ public class Geary.RFC822.Header : Geary.MessageData.BlockMessageData, Geary.RFC GMime.Parser parser = new GMime.Parser.with_stream(Utils.create_stream_mem(buffer)); parser.set_respect_content_length(false); - parser.set_scan_from(false); - message = parser.construct_message(); + message = parser.construct_message(Geary.RFC822.get_parser_options()); if (message == null) throw new RFC822Error.INVALID("Unable to parse RFC 822 headers"); @@ -347,17 +321,22 @@ public class Geary.RFC822.Header : Geary.MessageData.BlockMessageData, Geary.RFC } public string? get_header(string name) throws RFC822Error { - return get_headers().get(name); + GMime.Header header = get_headers().get_header(name); + if (header != null) + // We should not parse the raw-value here, but use GMime's parsing + // functionality instead. + // See: https://gitlab.gnome.org/GNOME/geary/merge_requests/382#note_669699 + return GMime.utils_header_unfold(header.get_raw_value()); + else + return null; } public string[] get_header_names() throws RFC822Error { if (this.names == null) { this.names = new string[0]; - GMime.HeaderIter iter = new GMime.HeaderIter(); - if (get_headers().get_iter(iter) && iter.first()) { - do { - names += iter.get_name(); - } while (iter.next()); + GMime.HeaderList headers = get_headers(); + for (int i = 0; i < headers.get_count(); i++) { + names += headers.get_header_at(i).get_name(); } } return this.names; @@ -388,7 +367,7 @@ public class Geary.RFC822.PreviewText : Geary.RFC822.Text { // Parse the header. GMime.Stream header_stream = Utils.create_stream_mem(preview_header); GMime.Parser parser = new GMime.Parser.with_stream(header_stream); - GMime.Part? gpart = parser.construct_part() as GMime.Part; + GMime.Part? gpart = parser.construct_part(Geary.RFC822.get_parser_options()) as GMime.Part; if (gpart != null) { Part part = new Part(gpart); @@ -402,7 +381,7 @@ public class Geary.RFC822.PreviewText : Geary.RFC822.Text { new GMime.StreamMem.with_buffer(preview.get_uint8_array()), gpart.get_content_encoding() ); - gpart.set_content_object(body); + gpart.set_content(body); try { Memory.Buffer preview_buffer = part.write_to_buffer( diff --git a/src/engine/rfc822/rfc822-message.vala b/src/engine/rfc822/rfc822-message.vala index 02d4b397..df65b932 100644 --- a/src/engine/rfc822/rfc822-message.vala +++ b/src/engine/rfc822/rfc822-message.vala @@ -29,7 +29,6 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { */ public delegate string? InlinePartReplacer(Part part); - private const string HEADER_SENDER = "Sender"; private const string HEADER_IN_REPLY_TO = "In-Reply-To"; private const string HEADER_REFERENCES = "References"; private const string HEADER_MAILER = "X-Mailer"; @@ -89,7 +88,7 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { public Message(Full full) throws RFC822Error { GMime.Parser parser = new GMime.Parser.with_stream(Utils.create_stream_mem(full.buffer)); - message = parser.construct_message(); + message = parser.construct_message(Geary.RFC822.get_parser_options()); if (message == null) throw new RFC822Error.INVALID("Unable to parse RFC 822 message"); @@ -115,7 +114,7 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { stream_cat.add_source(new GMime.StreamMem.with_buffer(body.buffer.get_bytes().get_data())); GMime.Parser parser = new GMime.Parser.with_stream(stream_cat); - message = parser.construct_message(); + message = parser.construct_message(Geary.RFC822.get_parser_options()); if (message == null) throw new RFC822Error.INVALID("Unable to parse RFC 822 message"); @@ -136,67 +135,71 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { this.from = email.from; this.date = email.date; - // GMimeMessage.set_sender actually sets the From header - and - // although the API docs make it sound otherwise, it also - // supports a list of addresses - message.set_sender(this.from.to_rfc822_string()); - message.set_date_as_string(this.date.serialize()); - if (message_id != null) { - this.message_id = new MessageID(message_id); - message.set_message_id(message_id); + this.message.set_date(this.date.value); + + if (email.from != null) { + foreach (RFC822.MailboxAddress mailbox in email.from) + this.message.add_mailbox(FROM, mailbox.name, mailbox.address); } // Optional headers if (email.to != null) { this.to = email.to; foreach (RFC822.MailboxAddress mailbox in email.to) - this.message.add_recipient(GMime.RecipientType.TO, mailbox.name, mailbox.address); + this.message.add_mailbox(TO, mailbox.name, mailbox.address); } if (email.cc != null) { this.cc = email.cc; foreach (RFC822.MailboxAddress mailbox in email.cc) - this.message.add_recipient(GMime.RecipientType.CC, mailbox.name, mailbox.address); + this.message.add_mailbox(CC, mailbox.name, mailbox.address); } if (email.bcc != null) { this.bcc = email.bcc; foreach (RFC822.MailboxAddress mailbox in email.bcc) - this.message.add_recipient(GMime.RecipientType.BCC, mailbox.name, mailbox.address); + this.message.add_mailbox(BCC, mailbox.name, mailbox.address); } if (email.sender != null) { - this.sender = email.sender; - this.message.set_header(HEADER_SENDER, - email.sender.to_rfc822_string()); + this.message.add_mailbox(SENDER, this.sender.name, this.sender.address); } if (email.reply_to != null) { this.reply_to = email.reply_to; - this.message.set_reply_to(email.reply_to.to_rfc822_string()); + foreach (RFC822.MailboxAddress mailbox in email.reply_to) + this.message.add_mailbox(REPLY_TO, mailbox.name, mailbox.address); } if (email.in_reply_to != null) { this.in_reply_to = email.in_reply_to; + // We could use `this.message.add_mailbox()` in a similar way like + // we did for the other headers, but this would require to change + // the type of `email.in_reply_to` and `this.in_reply_to` from + // `RFC822.MessageIDList` to `RFC822.MailboxAddresses`. this.message.set_header(HEADER_IN_REPLY_TO, - email.in_reply_to.to_rfc822_string()); + email.in_reply_to.to_rfc822_string(), + Geary.RFC822.get_charset()); } if (email.references != null) { this.references = email.references; this.message.set_header(HEADER_REFERENCES, - email.references.to_rfc822_string()); + email.references.to_rfc822_string(), + Geary.RFC822.get_charset()); } if (email.subject != null) { this.subject = email.subject; - this.message.set_subject(email.subject.value); + this.message.set_subject(email.subject.value, + Geary.RFC822.get_charset()); } // User-Agent if (!Geary.String.is_empty(email.mailer)) { this.mailer = email.mailer; - this.message.set_header(HEADER_MAILER, email.mailer); + this.message.set_header(HEADER_MAILER, email.mailer, + Geary.RFC822.get_charset()); } // Build the message's body mime parts @@ -385,28 +388,15 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { // create the new object. Kinda sucks, but our hands are tied. this.from_buffer(email.message_to_memory_buffer(false, false)); - // GMime also drops the ball for the *new* message. When it comes out of the GMime - // Parser, its "mime part" somehow isn't realizing it has a Content-Type header - // already, so whenever you manipulate the headers, it adds a duplicate one. This - // odd looking hack ensures that any header manipulation is done while the "mime - // part" is an empty object, and when we re-set the "mime part", there's only the - // one Content-Type header. In other words, this hack prevents the duplicate - // header, somehow. - GMime.Object original_mime_part = message.get_mime_part(); - GMime.Message empty = new GMime.Message(true); - message.set_mime_part(empty.get_mime_part()); - - message.remove_header(HEADER_BCC); - bcc = null; - - message.set_mime_part(original_mime_part); + this.message.remove_header(HEADER_BCC); + this.bcc = null; } private GMime.Object? coalesce_related(Gee.List parts, string type) { GMime.Object? part = coalesce_parts(parts, "related"); if (parts.size > 1) { - part.set_header("Type", type); + part.set_header("Type", type, Geary.RFC822.get_charset()); } return part; } @@ -433,11 +423,12 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { FileQueryInfoFlags.NONE ); - GMime.Part part = new GMime.Part(); + GMime.Part part = new GMime.Part.with_type("text", "plain"); part.set_disposition(disposition.serialize()); part.set_filename(file.get_basename()); - GMime.ContentType content_type = new GMime.ContentType.from_string( + GMime.ContentType content_type = GMime.ContentType.parse( + Geary.RFC822.get_parser_options(), file_info.get_content_type() ); part.set_content_type(content_type); @@ -468,7 +459,10 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { ); } - GMime.ContentType? content_type = new GMime.ContentType.from_string(mime_type.get_mime_type()); + GMime.ContentType? content_type = GMime.ContentType.parse( + Geary.RFC822.get_parser_options(), + mime_type.get_mime_type() + ); if (content_type == null) { throw new RFC822Error.INVALID( @@ -476,7 +470,7 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { ); } - GMime.Part part = new GMime.Part(); + GMime.Part part = new GMime.Part.with_type("text", "plain"); part.set_disposition(disposition.serialize()); part.set_filename(basename); part.set_content_type(content_type); @@ -515,7 +509,7 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { } part.set_content_encoding(encoding); - part.set_content_object( + part.set_content( new GMime.DataWrapper.with_stream( stream, GMime.ContentEncoding.BINARY ) @@ -536,7 +530,7 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { Geary.Email email = new Geary.Email(id); email.set_message_header(new Geary.RFC822.Header(new Geary.Memory.StringBuffer( - message.get_headers()))); + message.get_headers(Geary.RFC822.get_format_options())))); email.set_send_date(date); email.set_originators(from, sender, reply_to); email.set_receivers(to, cc, bcc); @@ -884,68 +878,76 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { } private void stock_from_gmime() { - this.message.get_header_list().foreach((name, value) => { - switch (name.down()) { - case "from": - this.from = append_address(this.from, value); - break; + GMime.HeaderList headers = this.message.get_header_list(); + for (int i = 0; i < headers.get_count(); i++) { + GMime.Header header = headers.get_header_at(i); + string name = header.get_name(); + // We should not parse the raw-value here, but use GMime's parsing + // functionality instead. + // See: https://gitlab.gnome.org/GNOME/geary/merge_requests/382#note_669699 + string value = GMime.utils_header_unfold(header.get_raw_value()); + switch (name.down()) { + case "from": + this.from = append_address(this.from, value); + break; - case "sender": - try { - this.sender = new RFC822.MailboxAddress.from_rfc822_string(value); - } catch (Error err) { - debug("Could parse subject: %s", err.message); - } - break; + case "sender": + try { + this.sender = new RFC822.MailboxAddress.from_rfc822_string(value); + } catch (Error err) { + debug("Could parse subject: %s", err.message); + } + break; - case "reply-to": - this.reply_to = append_address(this.reply_to, value); - break; + case "reply-to": + this.reply_to = append_address(this.reply_to, value); + break; - case "to": - this.to = append_address(this.to, value); - break; + case "to": + this.to = append_address(this.to, value); + break; - case "cc": - this.cc = append_address(this.cc, value); - break; + case "cc": + this.cc = append_address(this.cc, value); + break; - case "bcc": - this.bcc = append_address(this.bcc, value); - break; + case "bcc": + this.bcc = append_address(this.bcc, value); + break; - case "subject": - this.subject = new RFC822.Subject.decode(value); - break; + case "subject": + this.subject = new RFC822.Subject.decode(value); + break; - case "date": - try { - this.date = new Geary.RFC822.Date(value); - } catch (Error err) { - debug("Could not parse date: %s", err.message); - } - break; + case "date": + try { + this.date = new Geary.RFC822.Date(value); + } catch (Error err) { + debug("Could not parse date: %s", err.message); + } + break; - case "message-id": - this.message_id = new MessageID(value); - break; + case "message-id": + this.message_id = new MessageID(value); + break; - case "in-reply-to": - this.in_reply_to = append_message_id(this.in_reply_to, value); - break; + case "in-reply-to": + this.in_reply_to = append_message_id(this.in_reply_to, value); + break; - case "references": - this.references = append_message_id(this.references, value); - break; + case "references": + this.references = append_message_id(this.references, value); + break; - case "x-mailer": - this.mailer = GMime.utils_header_decode_text(value); - break; + case "x-mailer": + this.mailer = GMime.utils_header_decode_text(Geary.RFC822.get_parser_options(), value); + break; - default: - break; - } - }); + default: + // do nothing + break; + } + }; } private MailboxAddresses append_address(MailboxAddresses? existing, @@ -990,11 +992,11 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { if (requested_disposition == Mime.DispositionType.UNSPECIFIED || disposition == requested_disposition) { GMime.Stream stream = new GMime.StreamMem(); - message.write_to_stream(stream); + message.write_to_stream(Geary.RFC822.get_format_options(), stream); GMime.DataWrapper data = new GMime.DataWrapper.with_stream(stream, GMime.ContentEncoding.BINARY); // Equivalent to no encoding GMime.Part part = new GMime.Part.with_type("message", "rfc822"); - part.set_content_object(data); + part.set_content(data); part.set_filename((message.get_subject() ?? _("(no subject)")) + ".eml"); attachments.add(new Part(part)); } @@ -1017,7 +1019,7 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { #if WITH_TNEF_SUPPORT if (content_type.is_type("application", "vnd.ms-tnef")) { GMime.StreamMem stream = new GMime.StreamMem(); - ((GMime.Part) root).get_content_object().write_to_stream(stream); + ((GMime.Part) root).get_content().write_to_stream(stream); ByteArray tnef_data = stream.get_byte_array(); Ytnef.TNEFStruct tn; if (Ytnef.ParseMemory(tnef_data.data, out tn) == 0) { @@ -1050,10 +1052,10 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { string filename = (string) filenameProp.data; uint8[] data = Bytes.unref_to_data(new Bytes(a.FileData.data)); - GMime.Part part = new GMime.Part(); + GMime.Part part = new GMime.Part.with_type("text", "plain"); part.set_filename(filename); - part.set_content_type(new GMime.ContentType.from_string(GLib.ContentType.guess(filename, data, null))); - part.set_content_object(new GMime.DataWrapper.with_stream(new GMime.StreamMem.with_buffer(data), GMime.ContentEncoding.BINARY)); + part.set_content_type(GMime.ContentType.parse(Geary.RFC822.get_parser_options(), GLib.ContentType.guess(filename, data, null))); + part.set_content(new GMime.DataWrapper.with_stream(new GMime.StreamMem.with_buffer(data), GMime.ContentEncoding.BINARY)); return part; } #endif @@ -1092,19 +1094,29 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { stream.set_owner(false); GMime.StreamFilter stream_filter = new GMime.StreamFilter(stream); - stream_filter.add(new GMime.FilterCRLF(encoded, dotstuffed)); + if (encoded) { + stream_filter.add(new GMime.FilterUnix2Dos(false)); + } else { + stream_filter.add(new GMime.FilterDos2Unix(false)); + } + if (dotstuffed) { + stream_filter.add(new GMime.FilterSmtpData()); + } - if (message.write_to_stream(stream_filter) < 0) - throw new RFC822Error.FAILED("Unable to write RFC822 message to memory buffer"); + if (message.write_to_stream(Geary.RFC822.get_format_options(), stream_filter) < 0) + throw new RFC822Error.FAILED("Unable to write RFC822 message to filter stream"); if (stream_filter.flush() != 0) + throw new RFC822Error.FAILED("Unable to flush RFC822 message to memory stream"); + + if (stream.flush() != 0) throw new RFC822Error.FAILED("Unable to flush RFC822 message to memory buffer"); return new Memory.ByteBuffer.from_byte_array(byte_array); } public string to_string() { - return message.to_string(); + return message.to_string(Geary.RFC822.get_format_options()); } /** @@ -1152,11 +1164,13 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { // Base64-encoded text needs to have CR's added after LF's // before encoding, otherwise it breaks format=flowed. See // Bug 753528. - filter_stream.add(new GMime.FilterCRLF(true, false)); + filter_stream.add(new GMime.FilterUnix2Dos(false)); } - GMime.ContentType complete_type = - new GMime.ContentType.from_string(content_type); + GMime.ContentType complete_type = GMime.ContentType.parse( + Geary.RFC822.get_parser_options(), + content_type + ); complete_type.set_parameter("charset", charset); if (is_flowed) { complete_type.set_parameter("format", "flowed"); @@ -1166,9 +1180,9 @@ public class Geary.RFC822.Message : BaseObject, EmailHeaderSet { filter_stream, GMime.ContentEncoding.DEFAULT ); - GMime.Part body_part = new GMime.Part(); + GMime.Part body_part = new GMime.Part.with_type("text", "plain"); body_part.set_content_type(complete_type); - body_part.set_content_object(body); + body_part.set_content(body); body_part.set_content_encoding(encoding); return body_part; } diff --git a/src/engine/rfc822/rfc822-part.vala b/src/engine/rfc822/rfc822-part.vala index b8a3b2a8..58c58ff0 100644 --- a/src/engine/rfc822/rfc822-part.vala +++ b/src/engine/rfc822/rfc822-part.vala @@ -160,7 +160,7 @@ public class Geary.RFC822.Part : Object { BodyFormatting format = BodyFormatting.NONE) throws RFC822Error { GMime.DataWrapper? wrapper = (this.source_part != null) - ? this.source_part.get_content_object() : null; + ? this.source_part.get_content() : null; if (wrapper == null) { throw new RFC822Error.INVALID( "Could not get the content wrapper for content-type %s", @@ -201,7 +201,7 @@ public class Geary.RFC822.Part : Object { if ((this.source_part == null || this.source_part.encoding != BASE64) && !(content_type.media_subtype in CR_PRESERVING_TEXT_TYPES)) { - filter.add(new GMime.FilterCRLF(false, false)); + filter.add(new GMime.FilterDos2Unix(false)); } if (flowed) { @@ -226,12 +226,18 @@ public class Geary.RFC822.Part : Object { filter.add(new Geary.RFC822.FilterBlockquotes()); } - wrapper.write_to_stream(filter); - filter.flush(); + if (wrapper.write_to_stream(filter) < 0) + throw new RFC822Error.FAILED("Unable to write textual RFC822 part to filter stream"); + if (filter.flush() != 0) + throw new RFC822Error.FAILED("Unable to flush textual RFC822 part to destination stream"); + if (destination.flush() != 0) + throw new RFC822Error.FAILED("Unable to flush textual RFC822 part to destination"); } else { // Keep as binary - wrapper.write_to_stream(destination); - destination.flush(); + if (wrapper.write_to_stream(destination) < 0) + throw new RFC822Error.FAILED("Unable to write binary RFC822 part to destination stream"); + if (destination.flush() != 0) + throw new RFC822Error.FAILED("Unable to flush binary RFC822 part to destination"); } } diff --git a/src/engine/rfc822/rfc822-utils.vala b/src/engine/rfc822/rfc822-utils.vala index 37a967fb..d9278f64 100644 --- a/src/engine/rfc822/rfc822-utils.vala +++ b/src/engine/rfc822/rfc822-utils.vala @@ -186,7 +186,7 @@ public string email_addresses_for_reply(Geary.RFC822.MailboxAddresses? addresses } -public bool comp_char_arr_slice(char[] array, uint start, string comp) { +public bool comp_char_arr_slice(uint8[] array, uint start, string comp) { for (int i = 0; i < comp.length; i++) { if (array[start + i] != comp[i]) return false; @@ -277,7 +277,7 @@ public async string get_best_charset(GMime.Stream in_stream, }, cancellable ); - return filter.charset(); + return filter.get_charset(); } /** diff --git a/src/engine/rfc822/rfc822.vala b/src/engine/rfc822/rfc822.vala index 9195eac1..cef728a2 100644 --- a/src/engine/rfc822/rfc822.vala +++ b/src/engine/rfc822/rfc822.vala @@ -19,11 +19,6 @@ public enum TextFormat { */ public const string UTF8_CHARSET = "UTF-8"; -/** - * Official IANA charset encoding name for the ASCII character set. - */ -public const string ASCII_CHARSET = "US-ASCII"; - private int init_count = 0; internal Regex? invalid_filename_character_re = null; @@ -32,18 +27,8 @@ public void init() { if (init_count++ != 0) return; - GMime.init(GMime.ENABLE_RFC2047_WORKAROUNDS); - - // This has the effect of ensuring all non US-ASCII and non-ISO-8859-1 - // headers are always encoded as UTF-8. This should be fine because - // message bodies are also always sent as UTF-8. - const string?[] USER_CHARSETS = { - UTF8_CHARSET, - // GMime.set_user_charsets calls g_strdupv under the hood, so - // the array needs to be null-terminated - null - }; - GMime.set_user_charsets(USER_CHARSETS); + GMime.init(); + GMime.ParserOptions.get_default().set_allow_addresses_without_domain(true); try { invalid_filename_character_re = new Regex("[/\\0]"); @@ -52,6 +37,17 @@ public void init() { } } +public GMime.FormatOptions get_format_options() { + return GMime.FormatOptions.get_default().clone(); +} + +public GMime.ParserOptions get_parser_options() { + return GMime.ParserOptions.get_default().clone(); +} + +public string? get_charset() { + return UTF8_CHARSET; +} internal bool is_utf_8(string charset) { string up = charset.up(); diff --git a/src/meson.build b/src/meson.build index 90b628d3..244c3699 100644 --- a/src/meson.build +++ b/src/meson.build @@ -132,7 +132,7 @@ if enable_valadoc '--pkg', 'gio-2.0', '--pkg', 'gee-0.8', '--pkg', 'sqlite3', - '--pkg', 'gmime-2.6', + '--pkg', 'gmime-3.0', '--pkg', 'javascriptcoregtk-4.0', '--pkg', 'libxml-2.0', '--pkg', 'libunwind', diff --git a/test/engine/imap-db/imap-db-attachment-test.vala b/test/engine/imap-db/imap-db-attachment-test.vala index d24f2b8d..bf201b70 100644 --- a/test/engine/imap-db/imap-db-attachment-test.vala +++ b/test/engine/imap-db/imap-db-attachment-test.vala @@ -21,7 +21,7 @@ class Geary.ImapDB.AttachmentTest : TestCase { public void new_from_minimal_mime_part() throws Error { GMime.Part part = new_part(null, ATTACHMENT_BODY.data); - part.set_header("Content-Type", ""); + part.set_header("Content-Type", "", Geary.RFC822.get_charset()); Attachment test = new Attachment.from_part( 1, new Geary.RFC822.Part(part) @@ -51,7 +51,8 @@ class Geary.ImapDB.AttachmentTest : TestCase { part.set_content_id(ID); part.set_content_description(DESC); part.set_content_disposition( - new GMime.ContentDisposition.from_string( + GMime.ContentDisposition.parse( + Geary.RFC822.get_parser_options(), "attachment; filename=%s".printf(NAME) ) ); @@ -74,7 +75,10 @@ class Geary.ImapDB.AttachmentTest : TestCase { public void new_from_inline_mime_part() throws Error { GMime.Part part = new_part(null, ATTACHMENT_BODY.data); part.set_content_disposition( - new GMime.ContentDisposition.from_string("inline") + GMime.ContentDisposition.parse( + Geary.RFC822.get_parser_options(), + "inline" + ) ); Attachment test = new Attachment.from_part( @@ -205,7 +209,8 @@ CREATE TABLE MessageAttachmentTable ( part.set_content_id(ID); part.set_content_description(DESCRIPTION); part.set_content_disposition( - new GMime.ContentDisposition.from_string( + GMime.ContentDisposition.parse( + Geary.RFC822.get_parser_options(), "inline; filename=%s;".printf(FILENAME) )); @@ -350,14 +355,17 @@ VALUES (2, 'text/plain'); private GMime.Part new_part(string? mime_type, uint8[] body, GMime.ContentEncoding encoding = GMime.ContentEncoding.DEFAULT) { - GMime.Part part = new GMime.Part(); + GMime.Part part = new GMime.Part.with_type("text", "plain"); if (mime_type != null) { - part.set_content_type(new GMime.ContentType.from_string(mime_type)); + part.set_content_type(GMime.ContentType.parse( + Geary.RFC822.get_parser_options(), + mime_type + )); } GMime.DataWrapper body_wrapper = new GMime.DataWrapper.with_stream( new GMime.StreamMem.with_buffer(body), encoding ); - part.set_content_object(body_wrapper); + part.set_content(body_wrapper); return part; } diff --git a/test/engine/rfc822-mailbox-address-test.vala b/test/engine/rfc822-mailbox-address-test.vala index c04d47e0..6b47a81f 100644 --- a/test/engine/rfc822-mailbox-address-test.vala +++ b/test/engine/rfc822-mailbox-address-test.vala @@ -12,6 +12,7 @@ class Geary.RFC822.MailboxAddressTest : TestCase { add_test("is_valid_address", is_valid_address); add_test("unescaped_constructor", unescaped_constructor); add_test("from_rfc822_string_encoded", from_rfc822_string_encoded); + add_test("prepare_header_text_part", prepare_header_text_part); // latter depends on the former, so test that first add_test("has_distinct_name", has_distinct_name); add_test("is_spoofed", is_spoofed); @@ -140,23 +141,37 @@ class Geary.RFC822.MailboxAddressTest : TestCase { // Courtesy Mailsploit https://www.mailsploit.com addr = new MailboxAddress.from_rfc822_string("\"=?utf-8?b?dGVzdCIgPHBvdHVzQHdoaXRlaG91c2UuZ292Pg==?==?utf-8?Q?=00=0A?=\" "); - assert(addr.name == "test ?\n"); + assert(addr.name == "test ?"); assert(addr.address == "demo@mailsploit.com"); // Courtesy Mailsploit https://www.mailsploit.com addr = new MailboxAddress.from_rfc822_string("\"=?utf-8?Q?=42=45=47=49=4E=20=2F=20=28=7C=29=7C=3C=7C=3E=7C=40=7C=2C=7C=3B=7C=3A=7C=5C=7C=22=7C=2F=7C=5B=7C=5D=7C=3F=7C=2E=7C=3D=20=2F=20=00=20=50=41=53=53=45=44=20=4E=55=4C=4C=20=42=59=54=45=20=2F=20=0D=0A=20=50=41=53=53=45=44=20=43=52=4C=46=20=2F=20?==?utf-8?b?RU5E=?=\""); assert(addr.name == null); assert(addr.address == "BEGIN / (|)|<|>|@|,|;|:|\\|\"|/|[|]|?|.|= / ? PASSED NULL BYTE / \r\n PASSED CRLF / END"); - - addr = new MailboxAddress.from_rfc822_string("=?UTF-8?Q?=22Firstname_=22=C2=AF\\=5F=28=E3=83=84=29=5F/=C2=AF=22_Lastname_via?==?UTF-8?Q?_Vendor=22_?="); - assert(addr.name == "Firstname ¯_(ツ)_/¯ Lastname via=?UTF-8?Q?_Vendor=22_"); - assert(addr.mailbox == "system"); - assert(addr.domain == "vendor.com"); } catch (Error err) { assert_not_reached(); } } + public void prepare_header_text_part() throws GLib.Error { + // Test if prepare_header_text_part() can handle crappy input without grilling the CPU + MailboxAddress addr = new MailboxAddress.imap( + "=?UTF-8?Q?=22Firstname_=22=C2=AF\\=5F=28=E3=83=84=29=5F/=C2=AF=22_Lastname_via?==?UTF-8?Q?_Vendor=22_?=", + null, + "=?UTF-8?Q?=22Firstname_=22=C2=AF\\=5F=28=E3=83=84=29=5F/=C2=AF=22_Lastname_via?==?UTF-8?Q?_Vendor=22_?=", + "vendor.com"); + assert(addr.name == "\"Firstname \"¯_(ツ)_/¯\" Lastname via Vendor\" "); + assert(addr.mailbox == "\"Firstname \"¯_(ツ)_/¯\" Lastname via Vendor\" "); + + // A second test with the input that have been passed to prepare_header_text_part() by the pre-GMime3 tests + addr = new MailboxAddress.imap( + "\"Firstname \"¯_(ツ)_/¯\" Lastname via=?UTF-8?Q?_Vendor=22_", + null, + "system", + "vendor.com"); + assert(addr.name == "Firstname ¯_(ツ)_/¯ Lastname via=?UTF-8?Q?_Vendor=22_"); + } + public void has_distinct_name() throws Error { assert(new MailboxAddress("example", "example@example.com").has_distinct_name() == true); diff --git a/test/engine/rfc822-part-test.vala b/test/engine/rfc822-part-test.vala index b6e82e60..9ec2cabf 100644 --- a/test/engine/rfc822-part-test.vala +++ b/test/engine/rfc822-part-test.vala @@ -40,7 +40,10 @@ class Geary.RFC822.PartTest : TestCase { part.set_content_id(ID); part.set_content_description(DESC); part.set_content_disposition( - new GMime.ContentDisposition.from_string("inline") + GMime.ContentDisposition.parse( + Geary.RFC822.get_parser_options(), + "inline" + ) ); Part test = new Part(part); @@ -91,15 +94,18 @@ class Geary.RFC822.PartTest : TestCase { private GMime.Part new_part(string? mime_type, uint8[] body) { - GMime.Part part = new GMime.Part(); + GMime.Part part = new GMime.Part.with_type("text", "plain"); if (mime_type != null) { - part.set_content_type(new GMime.ContentType.from_string(mime_type)); + part.set_content_type(GMime.ContentType.parse( + Geary.RFC822.get_parser_options(), + mime_type + )); } GMime.DataWrapper body_wrapper = new GMime.DataWrapper.with_stream( new GMime.StreamMem.with_buffer(body), GMime.ContentEncoding.BINARY ); - part.set_content_object(body_wrapper); + part.set_content(body_wrapper); part.encode(GMime.EncodingConstraint.7BIT); return part; } diff --git a/ui/composer-headerbar.ui b/ui/composer-headerbar.ui index a088e465..930854f0 100644 --- a/ui/composer-headerbar.ui +++ b/ui/composer-headerbar.ui @@ -5,7 +5,6 @@