Merge branch 'mainline' into remove-old-msgs-beyond-storage-pref

This commit is contained in:
Chris Heywood 2020-01-24 10:32:19 +01:00
commit a6595ebc2f
40 changed files with 2601 additions and 1513 deletions

3
.gitmodules vendored
View file

@ -1,3 +0,0 @@
[submodule "subprojects/libhandy"]
path = subprojects/libhandy
url = https://source.puri.sm/Librem5/libhandy.git

View file

@ -45,6 +45,12 @@
<description>True if the folder list Paned is in the horizontal orientation.</description>
</key>
<key name="formatting-toolbar-visible" type="b">
<default>true</default>
<summary>Show/hide formatting toolbar</summary>
<description>True if the formatting toolbar in the composer is shown.</description>
</key>
<key name="messages-pane-position" type="i">
<default>250</default>
<summary>Position of message list pane</summary>
@ -128,6 +134,13 @@
email. Set to zero or less to disable.</description>
</key>
<key name="brief-notification-duration" type="i">
<default>5</default>
<summary>Brief notification display time</summary>
<description>The length of time in seconds for which brief notifications should
be displayed.</description>
</key>
<key name="migrated-config" type="b">
<default>false</default>
<summary>Whether we migrated the old settings</summary>

View file

@ -3,13 +3,13 @@
# This file is distributed under the same license as the geary package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# Adolfo Jayme Barrientos <fitojb@ubuntu.com>, 2014, 2016.
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2014-2019.
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2014-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: geary master\n"
"POT-Creation-Date: 2019-11-25 09:56+0000\n"
"PO-Revision-Date: 2019-11-25 11:52+0100\n"
"POT-Creation-Date: 2020-01-12 16:30+0000\n"
"PO-Revision-Date: 2020-01-14 11:29+0100\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n"
"Language: es_ES\n"
@ -23,7 +23,7 @@ msgstr ""
msgctxt "_"
msgid "translator-credits"
msgstr ""
"Daniel Mustieles <daniel.mustieles@gmail.com>, 2014 - 2019\n"
"Daniel Mustieles <daniel.mustieles@gmail.com>, 2014 - 2020\n"
"Adolfo Jayme Barrientos <fitojb@ubuntu.com>, 2014"
#. (itstool) path: page/title
@ -212,31 +212,37 @@ msgstr ""
"la ventana emergente o pulsando <keyseq><key>Ctrl</key><key>U</key></keyseq>."
#. (itstool) path: page/title
#: C/archive.page:8
msgid "Archive, trash and delete messages"
msgstr "Archivar, enviar a la papelera y eliminar mensajes"
#. (itstool) path: page/p
#: C/archive.page:10
msgid "Delete or archive a message"
msgstr "Eliminar o archivar un mensaje"
#. (itstool) path: page/p
#: C/archive.page:12
msgid ""
"When you use Geary with a Gmail account, Geary lets you <em>archive</em> "
"messages. The <gui>Archive</gui> toolbar button archives the selected "
"conversation(s). Archived messages appear in the <gui>All Mail</gui> folder."
"Geary lets you archive messages if your server supports it. Clicking the "
"<gui style=\"button\">Archive</gui> toolbar button moves the conversation "
"from the current folder to the <gui>Archive</gui> folder for most email "
"services, or to <gui>All Mail</gui> for GMail. Archiving helps keep your "
"email organised by moving old and replied-to email out of the way."
msgstr ""
"Cuando usa Geary con una cuenta de Gmail, Geary le permite <em>archivar</em> "
"los mensajes. El botón <gui>Archivar</gui> de la barra de herramientas "
"archiva las conversaciones seleccionadas. Los mensajes archivados aparecen "
"en la carpeta <gui>Todos los correos</gui>."
#. (itstool) path: page/p
#: C/archive.page:16
#: C/archive.page:17
#, fuzzy
#| msgid ""
#| "With other mail servers, you can trash or delete, but not archive, "
#| "messages. To move one or more conversations to the <gui>Trash</gui> "
#| "folder, select them and press the <gui>Trash</gui> button on the toolbar. "
#| "To permanently delete the conversations, hold down <key>Shift</key> and "
#| "press the <gui>Delete</gui> button that appears in place of the "
#| "<gui>Trash</gui> button."
msgid ""
"With other mail servers, you can trash or delete, but not archive, messages. "
"To move one or more conversations to the <gui>Trash</gui> folder, select "
"them and press the <gui>Trash</gui> button on the toolbar. To permanently "
"delete the conversations, hold down <key>Shift</key> and press the "
"<gui>Delete</gui> button that appears in place of the <gui>Trash</gui> "
"button."
"To move conversations to the <gui>Trash</gui> folder, select them and click "
"the <gui style=\"button\">Trash</gui> toolbar button. To permanently delete "
"conversations, hold down <key>Shift</key> and click the <gui style=\"button"
"\">Delete</gui> button that appears in place of the <gui>Trash</gui> button, "
"or open the conversation in the <gui>Trash</gui> folder and click <gui style="
"\"button\">Delete</gui> there."
msgstr ""
"Con otros servidores de correo puede eliminar o enviar a la papelera, pero "
"no archivar mensajes. Para mover una o más conversaciones a la carpeta de "
@ -245,19 +251,31 @@ msgstr ""
"mantenga pulsada la tecla <key>Mayús</key> y pulse el botón <gui>Eliminar</"
"gui> que aparece en lugar del botón de <gui>Papelera</gui>."
#. (itstool) path: page/p
#: C/archive.page:21
#. (itstool) path: note/title
#: C/archive.page:26
msgid "Undoing changes"
msgstr "Deshacer cambios"
#. (itstool) path: note/p
#: C/archive.page:27
msgid ""
"Delete is not available from every folder, such as Search. Delete is also "
"unavailable for Gmail. For Gmail, <gui>Trash</gui> 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."
"Note that you can always undo archiving or trashing a message if you change "
"your mind. Click <gui style=\"button\">Undo</gui> on the pop-up notification "
"that appears, or type <keyseq><key>Ctrl</key><key>Z</key></keyseq>, or open "
"the folder, find the message, then move it back to your <gui>Inbox</gui>"
msgstr ""
#. (itstool) path: page/p
#: C/archive.page:34
msgid ""
"While both <gui style=\"button\">Archive</gui> and <gui style=\"button"
"\">Trash</gui> removes conversations from your <gui>Inbox</gui> folder, "
"there is an important difference. Clicking <gui style=\"button\">Archive</"
"gui> will ensure your conversations are kept so you can find them again "
"later. Clicking <gui style=\"button\">Trash</gui> will cause conversations "
"to be hidden from <link xref=\"search\"/>, and they will likely be deleted "
"in the future."
msgstr ""
"La eliminación no está disponible para todas la carpetas, como es el caso de "
"Buscar. Tampoco está disponible para Gmail. En este caso, la <gui>Papelera</"
"gui> moverá los mensajes a la carpeta Papelera en el servidor, donde el "
"usuario puede eliminarlos manualmente. El servidor eliminará automáticamente "
"los mensajes de esta carpeta pasados 30 días."
#. (itstool) path: page/title
#: C/bugs.page:10
@ -745,31 +763,21 @@ msgid "Preferences"
msgstr "Preferencias"
#. (itstool) path: page/p
#: C/preferences.page:11
#: C/preferences.page:12
msgid ""
"The <gui>Preferences</gui> option is available in either Geary's application "
"menu or the gear menu in the upper-right of the toolbar. (The location "
"depends on the install desktop shell. For GNOME Shell and Unity, the "
"application menu is available near the top-left corner of the screen.)"
"Geary allows you to customise how it works via its <gui style=\"group"
"\">Preferences</gui> window. To open the window, select <gui style=\"menuitem"
"\">Preferences</gui> from the application menu on the main window's toolbar. "
"You can change the following options:"
msgstr ""
"La opción <gui>Preferencias</gui> está disponible en el menú aplicación de "
"Geary o el menú de configuración en la parte superior derecha de la barra de "
"herramientas. (La ubicación depende de la shell de instalación de "
"escritorio. Para GNOME Shell y Unity, el menú aplicación esta disponible "
"cerca de la esquina superior izquierda de la pantalla.)"
#. (itstool) path: section/title
#: C/preferences.page:17
msgid "Reading"
msgstr "Lectura"
#. (itstool) path: item/title
#: C/preferences.page:20
#: C/preferences.page:19
msgid "<gui>Automatically select next message</gui>"
msgstr "<gui>Seleccionar automáticamente el mensaje siguiente</gui>"
#. (itstool) path: item/p
#: C/preferences.page:21
#: C/preferences.page:20
msgid ""
"When this option is enabled, Geary automatically selects the latest message "
"in a folder when you enter the folder. In addition, after archiving a "
@ -809,50 +817,32 @@ msgstr ""
"los tres paneles. Si no están seleccionadas, la lista de carpetas y de "
"conversaciones se aplicarán verticalmente en un único panel."
#. (itstool) path: section/title
#: C/preferences.page:40
msgid "Notifications"
msgstr "Notificaciones"
#. (itstool) path: item/title
#: C/preferences.page:43
msgid "<gui>Play notification sounds</gui>"
msgstr "<gui>Reproducir sonidos de notificación</gui>"
#. (itstool) path: item/p
#: C/preferences.page:44
msgid "When set, Geary plays a sound whenever a new message arrives."
#: C/preferences.page:38
msgid "<gui>Use single key email shortcuts</gui>"
msgstr ""
"Cuando está configurado, Geary reproduce un sonido cuando un mensaje nuevo "
"llega."
#. (itstool) path: item/title
#: C/preferences.page:47
msgid "<gui>Show notifications for new mail</gui>"
msgstr "<gui>Mostrar notificaciones de mensajes nuevos</gui>"
#. (itstool) path: item/p
#: C/preferences.page:48
#: C/preferences.page:39
#, fuzzy
#| msgid ""
#| "A number of keyboard shortcuts are available in the composer; see <link "
#| "xref=\"shortcuts\"/> for details."
msgid ""
"When set, Geary displays a <em>notification</em> each time a new message "
"arrives. Notifications are displayed in a system-dependent manner. On GNOME "
"Shell, notifications appear at the bottom of the display (older versions) or "
"centered just below the top bar (newer versions). In Ubuntu Unity, "
"notifications appear at the upper right of the display."
"Enable keyboard shortcuts for email actions that do not require pressing "
"<key>Ctrl</key>. These match the shortcuts used by GMail. See <link xref="
"\"shortcuts\"/> for details."
msgstr ""
"Cuando está configurado, Geary muestra una <em>notificación</em> cada vez "
"que un mensaje nuevo llega. Las notificaciones se muestran de una manera "
"dependiente del sistema. En GNOME Shell, las notificaciones se muestran en "
"la parte inferior de la pantalla (versiones antiguas). En Ubuntu Unity, las "
"notificaciones se muestran en la parte superior derecha de la pantalla."
"Hay disponibles varios atajos de teclado en la ventana del editor; consulte "
"<link xref=\"shortcuts\"/> para obtener más información."
#. (itstool) path: item/title
#: C/preferences.page:54
#: C/preferences.page:44
msgid "<gui>Watch for new mail when closed</gui>"
msgstr "<gui>Revisar si hay mensajes nuevos al cerrar</gui>"
#. (itstool) path: item/p
#: C/preferences.page:55
#: 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, "
@ -1041,13 +1031,19 @@ msgstr ""
msgid "Keyboard shortcuts"
msgstr "Atajos de teclado"
#. (itstool) path: page/p
#: C/shortcuts.page:12
#. (itstool) path: section/p
#: C/shortcuts.page:13
#, fuzzy
#| 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: <guiseq><gui>Geary</gui><gui>Keyboard "
#| "Shortcuts</gui></guiseq> or using the keyboard shortcuts listed below."
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: <guiseq><gui>Geary</gui><gui>Keyboard "
"Shortcuts</gui></guiseq> or using the keyboard shortcuts listed below."
"help to discover the full list. To open the shortcuts help, select <gui "
"style=\"menuitem\">Keyboard Shortcuts</gui> from the application menu on the "
"main window's toolbar, or using the keyboard shortcuts listed below."
msgstr ""
"Geary tiene atajos del teclado para la mayoría de operaciones habituales. "
"Use la ayuda integrada de los atajos del teclado de Geary para descubrir la "
@ -1055,8 +1051,8 @@ msgstr ""
"<guiseq><gui>Geary</gui><gui>Atajos del teclado</gui></guiseq> o usando los "
"atajos del teclado listados a continuación."
#. (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:"
@ -1065,28 +1061,47 @@ msgstr ""
"línea de Geary:"
#. (itstool) path: td/p
#: C/shortcuts.page:22
msgid "Display this User Manual"
msgstr "Mostrar este manual de usuario"
#: C/shortcuts.page:23
#| msgid "Display this User Manual"
msgid "Display this online help manual"
msgstr "Mostrar este manual en línea"
#. (itstool) path: td/p
#: C/shortcuts.page:23
#: C/shortcuts.page:24
msgid "<keyseq><key>F1</key></keyseq>"
msgstr "<keyseq><key>F1</key></keyseq>"
#. (itstool) path: td/p
#: C/shortcuts.page:26
#: C/shortcuts.page:27
msgid "Display all keyboard shortcuts"
msgstr "Mostrar los atajos del teclado"
#. (itstool) path: td/p
#: C/shortcuts.page:27
#: C/shortcuts.page:28
#| msgid "<keyseq><key>Ctrl</key><key>N</key></keyseq> or <key>N</key>"
msgid "<keyseq><key>Ctrl</key><key>?</key></keyseq>"
msgstr "<keyseq><key>Ctrl</key><key>?</key></keyseq>"
#. (itstool) path: section/title
#: C/shortcuts.page:36
#| msgid "Display all keyboard shortcuts"
msgid "Single key shortcuts"
msgstr "Atajos del teclado"
#. (itstool) path: section/p
#: C/shortcuts.page:38
msgid ""
"<keyseq><key>Ctrl</key><key>?</key></keyseq> or <keyseq><key>Ctrl</"
"key><key>F1</key></keyseq>"
"You can enable keyboard shortcuts for email actions that do not require "
"pressing <key>Ctrl</key>. These match the shortcuts used by GMail. See <link "
"xref=\"preferences\"/> for details."
msgstr ""
#. (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 ""
"<keyseq><key>Ctrl</key><key>?</key></keyseq> o <keyseq><key>Ctrl</"
"key><key>F1</key></keyseq>"
#. (itstool) path: page/title
#: C/star.page:10
@ -1158,32 +1173,88 @@ msgstr ""
"gui> en el menú desplegable."
#. (itstool) path: page/title
#: C/write.page:9
msgid "Write a message"
msgstr "Redactar un mensaje"
#: C/write.page:7
#| msgid "Composing and replying"
msgid "Writing new email and replying"
msgstr "Escribir un corroe nuevo y responder"
#. (itstool) path: section/title
#: C/write.page:12
#: C/write.page:10
msgid "Composing and replying"
msgstr "Redactar y responder"
#. (itstool) path: section/p
#: C/write.page:13
#: C/write.page:12
msgid ""
"To compose a new message in Geary, press the <gui>New Message</gui> button "
"on the toolbar."
"To start a new email conversation, click the <gui style=\"button\">Compose</"
"gui> button on the toolbar. Type the email address of the people to receive "
"the message in the <gui style=\"input\">To</gui> text field, and a subject "
"line in the <gui style=\"input\">Subject</gui> field. You can then type your "
"message in the text area below these. Once the message is read to send, "
"click <gui style=\"button\">Send</gui> or type <keyseq><key>Ctrl</"
"key><key>Enter</key></keyseq> to send the message."
msgstr ""
#. (itstool) path: note/title
#: C/write.page:23
msgid "Undoing sending"
msgstr "Deshacer el envío"
#. (itstool) path: note/p
#: C/write.page:24
msgid ""
"When sending an email, Geary will wait 5 seconds before delivering the "
"message. During this time, you will be able to click <gui style=\"button"
"\">Undo</gui> on the pop-up notification that appears or type "
"<keyseq><key>Ctrl</key><key>Z</key></keyseq> to re-open the email, and make "
"more changes to it."
msgstr ""
"Para redactar un mensaje nuevo en Geary, pulse el botón <gui>Mensaje nuevo</"
"gui> de la barra de herramientas."
#. (itstool) path: section/p
#: C/write.page:16
#: C/write.page:32
msgid ""
"To reply to a message, open the message menu in the upper right corner of "
"the message and choose <gui>Reply</gui>, <gui>Reply All</gui> or "
"<gui>Forward</gui>. You can also reply to the last message in a conversation "
"via the <gui>Reply</gui>, <gui>Reply All</gui> or <gui>Forward</gui> buttons "
"on the toolbar."
"When entering an email address in the <gui style=\"input\">To</gui> and <gui "
"style=\"input\">Cc</gui> 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, <gui "
"style=\"input\">Bcc</gui> and <gui style=\"input\">Reply-to</gui> fields can "
"be shown by selecting <gui style=\"menu\">Show extended fields</gui> from "
"the formatting toolbar menu."
msgstr ""
#. (itstool) path: section/p
#: C/write.page:41
msgid ""
"To reply to the currently selected conversation, click one of the <gui style="
"\"button\">Reply</gui>, <gui style=\"button\">Reply All</gui> or <gui style="
"\"button\">Forward</gui> toolbar buttons. This will open a new reply or "
"forwarded email composer for the latest message in the conversation."
msgstr ""
#. (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 <key>Backspace</key>. Alternatively, text can be selectively quoted "
"by selecting the desired text in a message and clicking <gui style=\"button"
"\">Reply</gui> or <gui style=\"button\">Reply All</gui>, only the selected "
"text will be quoted."
msgstr ""
#. (itstool) path: section/p
#: C/write.page:55
#, fuzzy
#| msgid ""
#| "To reply to a message, open the message menu in the upper right corner of "
#| "the message and choose <gui>Reply</gui>, <gui>Reply All</gui> or "
#| "<gui>Forward</gui>. You can also reply to the last message in a "
#| "conversation via the <gui>Reply</gui>, <gui>Reply All</gui> or "
#| "<gui>Forward</gui> buttons on the toolbar."
msgid ""
"To reply to a specific email message, open the message menu in the top "
"corner of the message and choose <gui>Reply</gui>, <gui>Reply All</gui> or "
"<gui>Forward</gui>."
msgstr ""
"Para responder a un mensaje, abra el menú del mensaje en la esquina superior "
"derecha de este, y seleccione <gui>Responder</gui>, <gui>Responder a todos</"
@ -1192,61 +1263,51 @@ msgstr ""
"todos</gui> o <gui>Reenviar</gui> de la barra de herramientas."
#. (itstool) path: section/title
#: C/write.page:21
msgid "Features"
msgstr "Características"
#: C/write.page:61
msgid "Text formatting, images and attachments"
msgstr ""
#. (itstool) path: section/p
#: C/write.page:23
#: C/write.page:63
msgid ""
"Geary's email composer lets you adjust the font, size and color of text. You "
"can also insert hyperlinks into messages."
"Geary's email composer lets you use text styles such as <em>bold</em> and "
"<em>italic</em>, indent text to quote it and links to web pages. Simply "
"select the text and click the appropriate button on the formatting toolbar."
msgstr ""
"El editor de mensajes de Geary le permite ajustar el tipo de letra, el "
"tamaño y el color del texto. También puede insertar hiperenlaces en los "
"mensajes."
#. (itstool) path: section/p
#: C/write.page:25
#: C/write.page:68
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."
"Bulleted and numbered lists can be inserted or removed by clicking the <gui "
"style=\"button\">Bulleted list</gui> and <gui style=\"button\">Numbered "
"list</gui> buttons on the formatting toolbar. The level of indentation of "
"list items can be adjusted using the <gui style=\"button\">Indent</gui> and "
"<gui style=\"button\">Un-indent</gui> formatting toolbar buttons."
msgstr ""
"Geary también puede enviar mensajes de texto sencillo. En el menú "
"desplegable, marque o desmarque «Texto enriquecido» para cambiar entre los "
"modos de texto sencillo y texto con formato."
#. (itstool) path: section/p
#: C/write.page:28
#: C/write.page:75
msgid ""
"You can attach a file to a message you're writing in either of these ways:"
"Images can be inserted into rich text messages by clicking the <gui style="
"\"button\">Insert Image</gui> button on the formatting toolbar and selecting "
"the image to attach, by dragging an image from the <gui>Files</gui> "
"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 ""
"Puede adjuntar un archivo a un mensaje que esté redactando de las siguientes "
"maneras:"
#. (itstool) path: item/p
#: C/write.page:30
msgid ""
"Press the <gui>Attach File</gui> button at the lower left of the composer "
"window, then select a file to attach."
msgstr ""
"Pulse en el botón <gui>Adjuntar un archivo</gui> en la esquina inferior "
"izquierda de la ventana del editor, y seleccione el archivo que quiere "
"adjuntar."
#. (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."
msgstr ""
"Arrastre el archivo desde el gestor de archivos Nautilus hasta la ventana "
"del editor, y suéltelo en los campos de texto en la parte superior de la "
"ventana o en la barra de herramientas inferior."
#. (itstool) path: section/p
#: C/write.page:36
#: C/write.page:82
msgid ""
"Documents, music, videos, and other files can be attached to the email by "
"clicking the <gui style=\"button\">Attach File</gui> button at the top of "
"the composer window and selecting the document to attach, or by dragging a "
"file from the <gui>Files</gui> 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 ""
#. (itstool) path: section/p
#: C/write.page:90
msgid ""
"A number of keyboard shortcuts are available in the composer; see <link xref="
"\"shortcuts\"/> for details."
@ -1255,25 +1316,59 @@ msgstr ""
"<link xref=\"shortcuts\"/> para obtener más información."
#. (itstool) path: section/p
#: C/write.page:38
#: C/write.page:93
#, fuzzy
#| msgid ""
#| "You may specify a signature to be inserted into the composer in the <link "
#| "xref=\"accounts\"/> dialog."
msgid ""
"You may specify a signature to be inserted into the composer in the <link "
"xref=\"accounts\"/> dialog."
"You may specify a signature to be inserted into the footer of email in the "
"composer via the <link xref=\"accounts\"/> dialog."
msgstr ""
"Debe especificar una firma para insertarla dentro del editor en el diálogo "
"<link xref=\"accounts\"/>."
#. (itstool) path: section/title
#: C/write.page:43
msgid "Drafts"
msgstr "Borradores"
#: C/write.page:98
msgid "Checking spelling"
msgstr "Comprobar la ortogracía"
#. (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 ""
#. (itstool) path: section/p
#: C/write.page:106
msgid ""
"To select languages for spell-checking, click the <gui style=\"button"
"\">Spell check</gui> 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 <gui style=\"button\">-</gui> 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 <gui style=\"button\">+</"
"gui> button to add it."
msgstr ""
#. (itstool) path: section/title
#: C/write.page:117
msgid "Saving drafts and restoring discarded messages"
msgstr ""
#. (itstool) path: section/p
#: C/write.page:119
#, fuzzy
#| 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."
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 ""
"Si está usando un servidor de correo que admite borradores, Geary guardará "
"automáticamente el mensaje a medida que lo escribe. Si cierra la ventana del "
@ -1281,29 +1376,197 @@ msgstr ""
"borrador."
#. (itstool) path: section/p
#: C/write.page:48
#: C/write.page:123
#, fuzzy
#| 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."
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 <gui>Drafts</gui> folder in the folder "
"list, select the message, and click \"Edit Draft\" in the conversation "
"viewer."
msgstr ""
"Para editar un borrador existente, seleccione la carpeta Borradores de la "
"lista de carpetas, elija el mensaje y pulse en «Editar el borrador» en el "
"visor de mensajes."
#. (itstool) path: section/p
#: C/write.page:51
msgid "Geary deletes the draft when you send the message."
#: C/write.page:127
#, fuzzy
#| msgid "Geary deletes the draft when you send the message."
msgid "Geary will delete the draft when you send the message."
msgstr "Geary eliminará el borrador cuando envíe el mensaje."
#. (itstool) path: note/p
#: C/write.page:130
msgid ""
"If you save or discard a composed email, you can re-open it by clicking <gui "
"style=\"button\">Undo</gui> on the pop-up notification that appears or by "
"typing <keyseq><key>Ctrl</key><key>Z</key></keyseq>. 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 <gui>Drafts</gui> folder, "
"if present."
msgstr ""
#. (itstool) path: section/title
#: C/write.page:141
#| msgid "Write a message"
msgid "Plain text messages"
msgstr "Mensajes de texto plano"
#. (itstool) path: section/p
#: C/write.page:143
msgid ""
"Geary can also send plain text messages. In the drop-down menu, check or "
"uncheck <gui style=\"menu\">Rich Text</gui> 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 ""
#. (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 “&gt;” character for each level of "
"quoting."
msgstr ""
#~ msgid "Delete or archive a message"
#~ msgstr "Eliminar o archivar un mensaje"
#~ msgid ""
#~ "When you use Geary with a Gmail account, Geary lets you <em>archive</em> "
#~ "messages. The <gui>Archive</gui> toolbar button archives the selected "
#~ "conversation(s). Archived messages appear in the <gui>All Mail</gui> "
#~ "folder."
#~ msgstr ""
#~ "Cuando usa Geary con una cuenta de Gmail, Geary le permite <em>archivar</"
#~ "em> los mensajes. El botón <gui>Archivar</gui> de la barra de "
#~ "herramientas archiva las conversaciones seleccionadas. Los mensajes "
#~ "archivados aparecen en la carpeta <gui>Todos los correos</gui>."
#~ msgid ""
#~ "Delete is not available from every folder, such as Search. Delete is also "
#~ "unavailable for Gmail. For Gmail, <gui>Trash</gui> 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 ""
#~ "La eliminación no está disponible para todas la carpetas, como es el caso "
#~ "de Buscar. Tampoco está disponible para Gmail. En este caso, la "
#~ "<gui>Papelera</gui> moverá los mensajes a la carpeta Papelera en el "
#~ "servidor, donde el usuario puede eliminarlos manualmente. El servidor "
#~ "eliminará automáticamente los mensajes de esta carpeta pasados 30 días."
#~ msgid ""
#~ "The <gui>Preferences</gui> option is available in either Geary's "
#~ "application menu or the gear menu in the upper-right of the toolbar. (The "
#~ "location depends on the install desktop shell. For GNOME Shell and Unity, "
#~ "the application menu is available near the top-left corner of the screen.)"
#~ msgstr ""
#~ "La opción <gui>Preferencias</gui> está disponible en el menú aplicación "
#~ "de Geary o el menú de configuración en la parte superior derecha de la "
#~ "barra de herramientas. (La ubicación depende de la shell de instalación "
#~ "de escritorio. Para GNOME Shell y Unity, el menú aplicación esta "
#~ "disponible cerca de la esquina superior izquierda de la pantalla.)"
#~ msgid "Reading"
#~ msgstr "Lectura"
#~ msgid "Notifications"
#~ msgstr "Notificaciones"
#~ msgid "<gui>Play notification sounds</gui>"
#~ msgstr "<gui>Reproducir sonidos de notificación</gui>"
#~ msgid "When set, Geary plays a sound whenever a new message arrives."
#~ msgstr ""
#~ "Cuando está configurado, Geary reproduce un sonido cuando un mensaje "
#~ "nuevo llega."
#~ msgid "<gui>Show notifications for new mail</gui>"
#~ msgstr "<gui>Mostrar notificaciones de mensajes nuevos</gui>"
#~ msgid ""
#~ "When set, Geary displays a <em>notification</em> each time a new message "
#~ "arrives. Notifications are displayed in a system-dependent manner. On "
#~ "GNOME Shell, notifications appear at the bottom of the display (older "
#~ "versions) or centered just below the top bar (newer versions). In Ubuntu "
#~ "Unity, notifications appear at the upper right of the display."
#~ msgstr ""
#~ "Cuando está configurado, Geary muestra una <em>notificación</em> cada vez "
#~ "que un mensaje nuevo llega. Las notificaciones se muestran de una manera "
#~ "dependiente del sistema. En GNOME Shell, las notificaciones se muestran "
#~ "en la parte inferior de la pantalla (versiones antiguas). En Ubuntu "
#~ "Unity, las notificaciones se muestran en la parte superior derecha de la "
#~ "pantalla."
#~ msgid ""
#~ "<keyseq><key>Ctrl</key><key>?</key></keyseq> or <keyseq><key>Ctrl</"
#~ "key><key>F1</key></keyseq>"
#~ msgstr ""
#~ "<keyseq><key>Ctrl</key><key>?</key></keyseq> o <keyseq><key>Ctrl</"
#~ "key><key>F1</key></keyseq>"
#~ msgid ""
#~ "To compose a new message in Geary, press the <gui>New Message</gui> "
#~ "button on the toolbar."
#~ msgstr ""
#~ "Para redactar un mensaje nuevo en Geary, pulse el botón <gui>Mensaje "
#~ "nuevo</gui> de la barra de herramientas."
#~ msgid "Features"
#~ msgstr "Características"
#~ msgid ""
#~ "Geary's email composer lets you adjust the font, size and color of text. "
#~ "You can also insert hyperlinks into messages."
#~ msgstr ""
#~ "El editor de mensajes de Geary le permite ajustar el tipo de letra, el "
#~ "tamaño y el color del texto. También puede insertar hiperenlaces en los "
#~ "mensajes."
#~ 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 ""
#~ "Geary también puede enviar mensajes de texto sencillo. En el menú "
#~ "desplegable, marque o desmarque «Texto enriquecido» para cambiar entre "
#~ "los modos de texto sencillo y texto con formato."
#~ msgid ""
#~ "You can attach a file to a message you're writing in either of these ways:"
#~ msgstr ""
#~ "Puede adjuntar un archivo a un mensaje que esté redactando de las "
#~ "siguientes maneras:"
#~ msgid ""
#~ "Press the <gui>Attach File</gui> button at the lower left of the composer "
#~ "window, then select a file to attach."
#~ msgstr ""
#~ "Pulse en el botón <gui>Adjuntar un archivo</gui> en la esquina inferior "
#~ "izquierda de la ventana del editor, y seleccione el archivo que quiere "
#~ "adjuntar."
#~ 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."
#~ msgstr ""
#~ "Arrastre el archivo desde el gestor de archivos Nautilus hasta la ventana "
#~ "del editor, y suéltelo en los campos de texto en la parte superior de la "
#~ "ventana o en la barra de herramientas inferior."
#~ msgid "Drafts"
#~ msgstr "Borradores"
#~ msgid "Geary has keyboard shortcuts for most common operations."
#~ msgstr "Geary incluye atajos de teclado para las operaciones más comunes."
#~ msgid "Compose a new message"
#~ msgstr "Redactar un mensaje nuevo"
#~ msgid "<keyseq><key>Ctrl</key><key>N</key></keyseq> or <key>N</key>"
#~ msgstr "<keyseq><key>Ctrl</key><key>N</key></keyseq> o <key>N</key>"
#~ msgid "Reply to sender"
#~ msgstr "Responder al remitente"

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" id="svg8" version="1.1" height="16" width="16">
<metadata id="metadata14">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
<dc:title/>
</cc:Work>
</rdf:RDF>
</metadata>
<defs id="defs12"/>
<g transform="translate(-17.966098,-9.83008)" id="g851">
<g transform="translate(-123.0341,-347.16992)" id="g11782" style="display:inline;enable-background:new">
<path transform="translate(141.0002,357)" d="M 3 2 L 3 4 L 9 4 C 9.42816 4 10 4.61414 10 5 L 10 6 L 5 6 C 4.08073 6 3.2644 6.3800638 2.75 6.9648438 C 2.2356 7.5496337 2.0072819 8.2891356 2.0136719 9.0097656 C 2.0200619 9.7303856 2.2591644 10.458569 2.7714844 11.037109 C 3.2838144 11.615649 4.09172 12 5 12 L 7 12 L 7 10 L 5 10 C 4.60213 10 4.4213712 9.8843506 4.2695312 9.7128906 C 4.1176913 9.5414306 4.0161519 9.2696144 4.0136719 8.9902344 C 4.0111919 8.7108644 4.1066231 8.4503663 4.2519531 8.2851562 C 4.3972831 8.1199362 4.57764 8 5 8 L 10 8 L 10 9 L 12 9 L 12 5 C 12 3.36566 10.6802 2 9 2 L 3 2 z " style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-variant-east-asian:normal;font-feature-settings:normal;font-variation-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;shape-margin:0;inline-size:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;anonymous:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;stop-color:#000000;stop-opacity:1;opacity:1" id="path857"/>
</g>
<rect class="success" style="opacity:1;vector-effect:none;fill:#ed333b;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect11786" width="6.9998798" height="5.9999051" x="25.966673" y="19.831032" rx="2" ry="2"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" inkscape:version="1.0beta2 (2b71d25d45, 2019-12-03)" sodipodi:docname="font-size-symbolic.svg" id="svg4" version="1.1" height="16" width="16">
<metadata id="metadata10">
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
</cc:Work>
</rdf:RDF>
</metadata>
<defs id="defs8"/>
<sodipodi:namedview inkscape:current-layer="svg4" inkscape:window-maximized="1" inkscape:window-y="0" inkscape:window-x="0" inkscape:cy="6.3588258" inkscape:cx="-0.95496834" inkscape:zoom="14.009553" showgrid="false" id="namedview6" inkscape:window-height="1016" inkscape:window-width="1920" inkscape:pageshadow="2" inkscape:pageopacity="0" guidetolerance="10" gridtolerance="10" objecttolerance="10" borderopacity="1" inkscape:document-rotation="0" bordercolor="#666666" pagecolor="#ffffff"/>
<g id="g11812" style="fill:#2e3436;fill-opacity:1" transform="translate(-4596.792,-4140.9136)">
<rect y="4147.9146" x="4597.7925" height="2" width="5.9998794" id="rect11804" style="opacity:1;vector-effect:none;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"/>
<rect transform="rotate(90)" style="opacity:1;vector-effect:none;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect11806" width="7.9999051" height="2" x="4147.9146" y="-4601.7925"/>
<rect style="opacity:1;vector-effect:none;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" id="rect11808" width="11.000482" height="3.0000949" x="4601.792" y="4142.9146"/>
<rect y="-4608.7925" x="4143.9146" height="3.0001204" width="12" id="rect11810" style="opacity:1;vector-effect:none;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" transform="rotate(90)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View file

@ -6,6 +6,8 @@ icon_files = files(
'detach-symbolic.svg',
'text-x-generic-symbolic.svg',
'edit-symbolic.svg',
'font-size-symbolic.svg',
'font-color-symbolic.svg',
'format-ordered-list-symbolic.svg',
'format-ordered-list-symbolic-rtl.svg',
'format-text-remove-symbolic.svg',

View file

@ -79,7 +79,7 @@ gthread = dependency('gthread-2.0', version: '>=' + target_glib)
iso_codes = dependency('iso-codes')
javascriptcoregtk = dependency('javascriptcoregtk-4.0', version: '>=' + target_webkit)
json_glib = dependency('json-glib-1.0', version: '>= 1.0')
libhandy = dependency('libhandy-0.0', version: '>= 0.0.9', required: false)
libhandy = dependency('libhandy-0.0', version: '>= 0.0.10')
libmath = cc.find_library('m')
libpeas = dependency('libpeas-1.0', version: '>= 1.24.0')
libsecret = dependency('libsecret-1', version: '>= 0.11')
@ -100,26 +100,6 @@ if not enchant.found()
enchant = dependency('enchant', version: '>=1.6')
endif
# Handy isn't necessarily packaged by distros, so fall back to a
# subproject until it is.
if not libhandy.found()
libhandy_subproj = subproject(
'libhandy',
default_options: [
'examples=false',
'glade_catalog=disabled',
'tests=false',
]
)
libhandy = declare_dependency(
dependencies: [
libhandy_subproj.get_variable('libhandy_dep'),
libhandy_subproj.get_variable('libhandy_vapi'),
]
)
endif
# Libunwind system dependencies above ensures appropriate versions,
# but this declared depencency is what we actually build against so we
# can include the custom VAPI correctly. We need to add unwind_lib to

View file

@ -90,8 +90,8 @@
"sources": [
{
"type": "archive",
"url": "https://github.com/libical/libical/releases/download/v3.0.5/libical-3.0.5.tar.gz",
"sha256": "7ad550c8c49c9b9983658e3ab3e68b1eee2439ec17b169a6b1e6ecb5274e78e6"
"url": "https://github.com/libical/libical/releases/download/v3.0.7/libical-3.0.7.tar.gz",
"sha256": "0abe66df1ea826e57db7f281c704ede834c84139012e6c686ea7adafd4e763fc"
}
],
"cleanup": [
@ -180,7 +180,8 @@
"sources": [
{
"type": "git",
"url": "https://source.puri.sm/Librem5/libhandy.git"
"url": "https://source.puri.sm/Librem5/libhandy.git",
"branch": "v0.0.13"
}
]
},

View file

@ -115,8 +115,8 @@ modules:
- "-DICAL_BUILD_DOCS=false"
sources:
- type: archive
url: https://github.com/libical/libical/releases/download/v3.0.5/libical-3.0.5.tar.gz
sha256: 7ad550c8c49c9b9983658e3ab3e68b1eee2439ec17b169a6b1e6ecb5274e78e6
url: https://github.com/libical/libical/releases/download/v3.0.7/libical-3.0.7.tar.gz
sha256: 0abe66df1ea826e57db7f281c704ede834c84139012e6c686ea7adafd4e763fc
cleanup:
- /lib/cmake
@ -184,6 +184,7 @@ modules:
sources:
- type: git
url: https://source.puri.sm/Librem5/libhandy.git
branch: v0.0.13
# Geary dependency
- name: libpeas

View file

@ -1,4 +1,5 @@
# List of source files that should *not* be translated.
# Please keep this file sorted alphabetically.
build
src/client/components/components-reflow-box.c
subprojects/libhandy

433
po/es.po
View file

@ -18,8 +18,8 @@ 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: 2020-01-08 10:10+0000\n"
"PO-Revision-Date: 2020-01-08 12:22+0100\n"
"POT-Creation-Date: 2020-01-23 08:37+0000\n"
"PO-Revision-Date: 2020-01-23 12:42+0100\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n"
"Language: es_ES\n"
@ -198,36 +198,45 @@ msgid "True if the folder list Paned is in the horizontal orientation."
msgstr "Cierto si el panel de lista de carpetas está en horizontal."
#: desktop/org.gnome.Geary.gschema.xml:50
msgid "Show/hide formatting toolbar"
msgstr "Mostrar u ocultar la barra de herramientas de formato"
#: desktop/org.gnome.Geary.gschema.xml:51
msgid "True if the formatting toolbar in the composer is shown."
msgstr ""
"Cierto si si se muestra la barra de herramientas de formato en el editor"
#: desktop/org.gnome.Geary.gschema.xml:56
msgid "Position of message list pane"
msgstr "Posición del panel de lista de mensajes"
#: desktop/org.gnome.Geary.gschema.xml:51
#: desktop/org.gnome.Geary.gschema.xml:57
msgid "Position of the message list Paned grabber."
msgstr "Posición del panel de exploración en la lista de mensajes."
#: desktop/org.gnome.Geary.gschema.xml:56
#: desktop/org.gnome.Geary.gschema.xml:62
msgid "Autoselect next message"
msgstr "Seleccionar el siguiente mensaje automáticamente"
#: desktop/org.gnome.Geary.gschema.xml:57
#: desktop/org.gnome.Geary.gschema.xml:63
msgid "True if we should autoselect the next available conversation."
msgstr ""
"Cierto si se debe seleccionar automáticamente la siguiente conversación "
"disponible."
#: desktop/org.gnome.Geary.gschema.xml:62
#: desktop/org.gnome.Geary.gschema.xml:68
msgid "Display message previews"
msgstr "Mostrar la vista previa de los mensajes"
#: desktop/org.gnome.Geary.gschema.xml:63
#: desktop/org.gnome.Geary.gschema.xml:69
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
#: desktop/org.gnome.Geary.gschema.xml:74
msgid "Use single key shortcuts"
msgstr "Usar atajos de una sola tecla"
#: desktop/org.gnome.Geary.gschema.xml:69
#: desktop/org.gnome.Geary.gschema.xml:75
msgid ""
"Enables shortcuts for email actions that do not require pressing <Ctrl> to "
"emulate those used by Gmail."
@ -235,11 +244,11 @@ msgstr ""
"Activar atajos para acciones del correo que no requieren pulsar <Ctrl> para "
"emular las utilizadas por Gmail."
#: desktop/org.gnome.Geary.gschema.xml:76
#: desktop/org.gnome.Geary.gschema.xml:82
msgid "Languages that shall be used in the spell checker"
msgstr "Idiomas que se deben usar en el corrector ortográfico"
#: desktop/org.gnome.Geary.gschema.xml:77
#: desktop/org.gnome.Geary.gschema.xml:83
msgid ""
"A list of POSIX locales, with the empty list disabling spell checking and "
"the null list using desktop languages by default."
@ -248,11 +257,11 @@ msgstr ""
"ortográfica y la lista nula usa los idiomas del escritorio de manera "
"predeterminada."
#: desktop/org.gnome.Geary.gschema.xml:84
#: desktop/org.gnome.Geary.gschema.xml:90
msgid "Languages that are displayed in the spell checker popover"
msgstr "Idiomas mostrados en la ventana emergente del corrector ortográfico"
#: desktop/org.gnome.Geary.gschema.xml:85
#: desktop/org.gnome.Geary.gschema.xml:91
msgid ""
"List of languages that are always displayed in the popover of the spell "
"checker."
@ -260,63 +269,63 @@ msgstr ""
"Lista de idiomas que se muestra siempre en la ventana emergente del "
"corrector ortográfico."
#: desktop/org.gnome.Geary.gschema.xml:90
#: desktop/org.gnome.Geary.gschema.xml:96
msgid "Notify of new mail at startup"
msgstr "Notificar si hay correo nuevo al iniciar"
#: desktop/org.gnome.Geary.gschema.xml:91
#: desktop/org.gnome.Geary.gschema.xml:97
msgid "True to notify of new mail at startup."
msgstr "Cierto para notificar cuando llegue correo nuevo al inicio."
#: desktop/org.gnome.Geary.gschema.xml:96
#: desktop/org.gnome.Geary.gschema.xml:102
msgid "Ask when opening an attachment"
msgstr "Preguntar al abrir un adjunto"
#: desktop/org.gnome.Geary.gschema.xml:97
#: desktop/org.gnome.Geary.gschema.xml:103
msgid "True to ask when opening an attachment."
msgstr "Cierto para preguntar al abrir un adjunto."
#: desktop/org.gnome.Geary.gschema.xml:102
#: desktop/org.gnome.Geary.gschema.xml:108
msgid "Whether to compose emails in HTML"
msgstr "Indica si se deben redactar los correos en HTML"
#: desktop/org.gnome.Geary.gschema.xml:103
#: desktop/org.gnome.Geary.gschema.xml:109
msgid "True to compose emails in HTML; false for plain text."
msgstr ""
"Cierto para redactar los correos en HTML; falso para redactarlos en texto "
"plano."
#: desktop/org.gnome.Geary.gschema.xml:108
#: desktop/org.gnome.Geary.gschema.xml:114
msgid "Advisory strategy for full-text searching"
msgstr "Estrategia de asesoriamento para la búsqueda de textos completos."
#: desktop/org.gnome.Geary.gschema.xml:109
#: desktop/org.gnome.Geary.gschema.xml:115
msgid ""
"Acceptable values are “exact”, “conservative”, “aggressive”, and “horizon”."
msgstr ""
"Los valores posibles son “exact”, “conservative”, “aggressive”, y “horizon”."
#: desktop/org.gnome.Geary.gschema.xml:114
#: desktop/org.gnome.Geary.gschema.xml:120
msgid "Zoom of conversation viewer"
msgstr "Ampliación del visor de conversaciones"
#: desktop/org.gnome.Geary.gschema.xml:115
#: desktop/org.gnome.Geary.gschema.xml:121
msgid "The zoom to apply on the conservation view."
msgstr "El nivel de ampliación que usar para la vista de conversación."
#: desktop/org.gnome.Geary.gschema.xml:120
#: desktop/org.gnome.Geary.gschema.xml:126
msgid "Size of detached composer window"
msgstr "Tamaño de la ventana desacoplada del editor"
#: desktop/org.gnome.Geary.gschema.xml:121
#: desktop/org.gnome.Geary.gschema.xml:127
msgid "The last recorded size of the detached composer window."
msgstr "El último tamaño guardado de la ventana desacoplada del editor."
#: desktop/org.gnome.Geary.gschema.xml:126
#: desktop/org.gnome.Geary.gschema.xml:132
msgid "Undo sending email delay"
msgstr "Retardo para deshacer el envío de correo"
#: desktop/org.gnome.Geary.gschema.xml:127
#: desktop/org.gnome.Geary.gschema.xml:133
msgid ""
"The number of seconds to wait before sending an email. Set to zero or less "
"to disable."
@ -324,11 +333,22 @@ msgstr ""
"El número de segundos que esperar antes de enviar un correo. Establecer a "
"cero o menos para desactivar."
#: desktop/org.gnome.Geary.gschema.xml:133
#: desktop/org.gnome.Geary.gschema.xml:139
msgid "Brief notification display time"
msgstr "Tiempo breve que mostrar la notificación"
#: desktop/org.gnome.Geary.gschema.xml:140
msgid ""
"The length of time in seconds for which brief notifications should be "
"displayed."
msgstr ""
"El tiempo, en segundos, que se deben mostrar las notificaciones breves."
#: desktop/org.gnome.Geary.gschema.xml:146
msgid "Whether we migrated the old settings"
msgstr "Indica si se ha migrado la configuración antigua"
#: desktop/org.gnome.Geary.gschema.xml:134
#: desktop/org.gnome.Geary.gschema.xml:147
msgid ""
"False to check for the old “org.yorba.geary”-schema and copy its values."
msgstr ""
@ -604,56 +624,56 @@ msgid_plural "%d days back"
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:2037
#: src/client/accounts/accounts-editor-list-pane.vala:252
#: src/client/application/application-main-window.vala:2043
msgid "Undo"
msgstr "Deshacer"
#: src/client/accounts/accounts-editor-list-pane.vala:257
#: src/client/application/application-main-window.vala:2027
#: src/client/accounts/accounts-editor-list-pane.vala:261
#: src/client/application/application-main-window.vala:2030
msgid "Redo"
msgstr "Rehacer"
#: src/client/accounts/accounts-editor-list-pane.vala:351
#: src/client/accounts/accounts-editor-list-pane.vala:439
#: 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:279
msgid "Gmail"
msgstr "Gmail"
#: src/client/accounts/accounts-editor-list-pane.vala:355
#: src/client/accounts/accounts-editor-list-pane.vala:443
#: 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:283
msgid "Outlook.com"
msgstr "Outlook.com"
#: src/client/accounts/accounts-editor-list-pane.vala:359
#: src/client/accounts/accounts-editor-list-pane.vala:447
#: src/client/accounts/accounts-editor-list-pane.vala:363
#: src/client/accounts/accounts-editor-list-pane.vala:451
#: 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:377
#: src/client/accounts/accounts-editor-list-pane.vala:381
msgid "This account has been disabled"
msgstr "Esta cuenta se ha desactivado"
#. 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
#: src/client/accounts/accounts-editor-list-pane.vala:390
msgid "This account has encountered a problem and is unavailable"
msgstr "Esta cuenta ha encontrado un problema y no está disponible"
#. Translators: Label for adding a generic email account
#: src/client/accounts/accounts-editor-list-pane.vala:436
#: src/client/accounts/accounts-editor-list-pane.vala:440
msgid "Other email providers"
msgstr "Otros proveedores de correo-e"
#. 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
#: src/client/accounts/accounts-editor-list-pane.vala:557
#, c-format
msgid "Account “%s” removed"
msgstr "Cuenta «%s» eliminada"
@ -661,7 +681,7 @@ msgstr "Cuenta «%s» eliminada"
#. 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
#: src/client/accounts/accounts-editor-list-pane.vala:564
#, c-format
msgid "Account “%s” restored"
msgstr "Cuenta «%s» restaurada"
@ -1139,27 +1159,27 @@ 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:2636
#: src/client/application/application-controller.vala:2641
#, 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:2701
#: src/client/application/application-controller.vala:2705
#, 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:2716
#: src/client/application/application-controller.vala:2774
#: src/client/application/application-controller.vala:2720
#: src/client/application/application-controller.vala:2778
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:2759
#: src/client/application/application-controller.vala:2763
#, c-format
msgid "Email to %s discarded"
msgstr "Correo a %s descartado"
@ -1177,44 +1197,44 @@ msgid "Labels"
msgstr "Etiquetas"
#. / Translators: Primary text for a confirmation dialog
#: src/client/application/application-main-window.vala:1297
#: src/client/application/application-main-window.vala:1300
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:1302
#: src/client/application/application-main-window.vala:1317
#: src/client/application/application-main-window.vala:1305
#: src/client/application/application-main-window.vala:1320
msgid "Delete"
msgstr "Eliminar"
#. / Translators: Primary text for a confirmation dialog
#: src/client/application/application-main-window.vala:1312
#: src/client/application/application-main-window.vala:1315
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:1325
#: src/client/application/application-main-window.vala:1328
#, 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:1328
#: src/client/application/application-main-window.vala:1331
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:1329
#: src/client/application/application-main-window.vala:1332
msgid "This cannot be undone."
msgstr "Esto no se puede deshacer."
#: src/client/application/application-main-window.vala:1330
#: src/client/application/application-main-window.vala:1333
#, c-format
msgid "Empty %s"
msgstr "Vaciar %s"
#: src/client/application/application-main-window.vala:1660
#: src/client/application/application-main-window.vala:1663
#, c-format
msgid "%s (%d)"
msgstr "%s (%d)"
@ -1225,7 +1245,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:1816
#: src/client/composer/composer-widget.vala:1826
#, c-format
msgid "%s (%s)"
msgstr "%s (%s)"
@ -1364,37 +1384,37 @@ msgstr "Se necesita un nombre de servidor"
msgid "Could not look up server name"
msgstr "No se pudo encontrar el nombre del servidor"
#: src/client/components/main-toolbar.vala:142
#: src/client/components/main-toolbar.vala:138
msgid "Mark conversation"
msgid_plural "Mark conversations"
msgstr[0] "Marcar conversación"
msgstr[1] "Marcar conversaciones"
#: src/client/components/main-toolbar.vala:147
#: src/client/components/main-toolbar.vala:143
msgid "Add label to conversation"
msgid_plural "Add label to conversations"
msgstr[0] "Añadir etiqueta a la conversación"
msgstr[1] "Añadir etiqueta a las conversaciones"
#: src/client/components/main-toolbar.vala:152
#: src/client/components/main-toolbar.vala:148
msgid "Move conversation"
msgid_plural "Move conversations"
msgstr[0] "Mover conversación"
msgstr[1] "Mover conversaciones"
#: src/client/components/main-toolbar.vala:157
#: src/client/components/main-toolbar.vala:153
msgid "Archive conversation"
msgid_plural "Archive conversations"
msgstr[0] "Archivar conversación"
msgstr[1] "Archivar conversación"
#: src/client/components/main-toolbar.vala:168
#: src/client/components/main-toolbar.vala:164
msgid "Move conversation to Trash"
msgid_plural "Move conversations to Trash"
msgstr[0] "Mover conversación a la papelera"
msgstr[1] "Mover conversaciones a la papelera"
#: src/client/components/main-toolbar.vala:178
#: src/client/components/main-toolbar.vala:174
msgid "Delete conversation"
msgid_plural "Delete conversations"
msgstr[0] "Eliminar conversación"
@ -1556,23 +1576,23 @@ msgid "Invalid email address"
msgstr "Dirección correo-e no válida"
#. / Translators: Title for an empty composer window
#: src/client/composer/composer-widget.vala:28
#: src/client/composer/composer-widget.vala:30
msgid "New Message"
msgstr "Mensaje nuevo"
#: src/client/composer/composer-widget.vala:210
#: src/client/composer/composer-widget.vala:214
msgid "Saved"
msgstr "Guardado"
#: src/client/composer/composer-widget.vala:211
#: src/client/composer/composer-widget.vala:215
msgid "Saving"
msgstr "Guardando"
#: src/client/composer/composer-widget.vala:212
#: src/client/composer/composer-widget.vala:216
msgid "Error saving"
msgstr "Error al guardar"
#: src/client/composer/composer-widget.vala:213
#: src/client/composer/composer-widget.vala:217
msgid "Press Backspace to delete quote"
msgstr "Pulse Retroceso para eliminar la cita"
@ -1581,7 +1601,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:229
#: src/client/composer/composer-widget.vala:233
msgid ""
"attach|attaching|attaches|attachment|attachments|attached|enclose|enclosed|"
"enclosing|encloses|enclosure|enclosures"
@ -1592,90 +1612,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:815
#: src/client/composer/composer-widget.vala:823
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:841
#: src/client/composer/composer-widget.vala:849
msgid "Do you want to discard this draft message?"
msgstr "¿Quiere descartar este mensaje en borrador?"
#: src/client/composer/composer-widget.vala:1485
#: src/client/composer/composer-widget.vala:1492
msgid "Send message with an empty subject and body?"
msgstr "¿Quiere enviar el mensaje sin asunto ni cuerpo?"
#: src/client/composer/composer-widget.vala:1487
#: src/client/composer/composer-widget.vala:1494
msgid "Send message with an empty subject?"
msgstr "¿Quiere enviar el mensaje sin asunto?"
#: src/client/composer/composer-widget.vala:1489
#: src/client/composer/composer-widget.vala:1496
msgid "Send message with an empty body?"
msgstr "¿Quiere enviar el mensaje sin cuerpo?"
#: src/client/composer/composer-widget.vala:1498
#: src/client/composer/composer-widget.vala:1505
msgid "Send message without an attachment?"
msgstr "¿Quiere enviar el mensaje sin el archivo adjunto?"
#: src/client/composer/composer-widget.vala:1808
#: src/client/composer/composer-widget.vala:1818
#, c-format
msgid "“%s” already attached for delivery."
msgstr "Ya se ha adjuntado «%s» para enviarlo."
#: src/client/composer/composer-widget.vala:1838
#: src/client/composer/composer-widget.vala:1888
#: src/client/composer/composer-widget.vala:1848
#: src/client/composer/composer-widget.vala:1898
#, c-format
msgid "“%s” is an empty file."
msgstr "«%s» es un archivo vacío."
#: src/client/composer/composer-widget.vala:1876
#: src/client/composer/composer-widget.vala:1886
#, c-format
msgid "“%s” could not be found."
msgstr "No se pudo encontrar «%s»."
#: src/client/composer/composer-widget.vala:1882
#: src/client/composer/composer-widget.vala:1892
#, c-format
msgid "“%s” is a folder."
msgstr "«%s» es una carpeta."
#: src/client/composer/composer-widget.vala:1901
#: src/client/composer/composer-widget.vala:1911
#, c-format
msgid "“%s” could not be opened for reading."
msgstr "No se pudo abrir «%s» para lectura."
#: src/client/composer/composer-widget.vala:1909
#: src/client/composer/composer-widget.vala:1919
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:1966
#: src/client/composer/composer-widget.vala:1976
#: 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:1972
#: src/client/composer/composer-widget.vala:1982
#: 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:1978
#: src/client/composer/composer-widget.vala:1988
#: 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:1984
#: src/client/composer/composer-widget.vala:1994
msgid "Reply-To: "
msgstr "Responder a:"
#: src/client/composer/composer-widget.vala:2170
#: src/client/composer/composer-widget.vala:2213
msgid "Select Color"
msgstr "Seleccionar color"
@ -1684,32 +1704,32 @@ 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:2362
#: src/client/composer/composer-widget.vala:2408
#, 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:2418
#: src/client/composer/composer-widget.vala:2464
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:2721
#: src/client/composer/composer-widget.vala:2769
msgid "Images"
msgstr "Imágenes"
#: src/client/composer/spell-check-popover.vala:108
#: src/client/composer/spell-check-popover.vala:109
msgid "Remove this language from the preferred list"
msgstr "Quitar este idioma de la lista de favoritos"
#: src/client/composer/spell-check-popover.vala:112
#: src/client/composer/spell-check-popover.vala:113
msgid "Add this language to the preferred list"
msgstr "Añadir este idioma de la lista de favoritos"
#: src/client/composer/spell-check-popover.vala:199
#: src/client/composer/spell-check-popover.vala:200
msgid "Search for more languages"
msgstr "Buscar más idiomas"
@ -2644,27 +2664,19 @@ msgstr "_Confiar en este servidor"
msgid "_Dont Trust This Server"
msgstr "_No confiar en este servidor"
#: ui/composer-headerbar.ui:18 ui/composer-headerbar.ui:175
#: ui/composer-headerbar.ui:23 ui/composer-headerbar.ui:107
msgid "Detach the composer from the window"
msgstr "Desacoplar el editor de la ventana"
#: ui/composer-headerbar.ui:58 ui/composer-headerbar.ui:83
msgid "Attach a file"
msgstr "Adjuntar un archivo"
#: ui/composer-headerbar.ui:107
msgid "Add original attachments"
msgstr "Añadir adjuntos originales"
#: ui/composer-headerbar.ui:203
#: ui/composer-headerbar.ui:135
msgid "_Send"
msgstr "_Enviar"
#: ui/composer-headerbar.ui:230
#: ui/composer-headerbar.ui:162
msgid "Discard and Close"
msgstr "Descartar y cerrar"
#: ui/composer-headerbar.ui:254
#: ui/composer-headerbar.ui:186
msgid "Save and Close"
msgstr "Guardar y cerrar"
@ -2690,95 +2702,63 @@ msgstr "Eliminar este enlace"
msgid "Open this link"
msgstr "Abrir este enlace"
#: ui/composer-menus.ui:7
msgid "S_ans Serif"
msgstr "S_ans serif"
#: ui/composer-menus.ui:12
msgid "S_erif"
msgstr "S_erif"
#: ui/composer-menus.ui:17
msgid "_Fixed Width"
msgstr "_Anchura fija"
#: ui/composer-menus.ui:24
msgid "_Small"
msgstr "_Pequeño"
#: ui/composer-menus.ui:29
msgid "_Medium"
msgstr "_Mediano"
#: ui/composer-menus.ui:34
msgid "Lar_ge"
msgstr "_Grande"
#: ui/composer-menus.ui:41
msgid "C_olor"
msgstr "C_olor"
#: ui/composer-menus.ui:47 ui/composer-menus.ui:56
msgid "_Rich Text"
msgstr "Texto en_riquecido"
#: ui/composer-menus.ui:66
#: ui/composer-menus.ui:8
msgid "_Undo"
msgstr "_Deshacer"
#: ui/composer-menus.ui:70
#: ui/composer-menus.ui:12
msgid "_Redo"
msgstr "_Rehacer"
#: ui/composer-menus.ui:76 ui/composer-menus.ui:94
#: ui/composer-menus.ui:18 ui/composer-menus.ui:36
msgid "Cu_t"
msgstr "Cor_tar"
#: ui/composer-menus.ui:80 ui/composer-menus.ui:98
#: ui/composer-menus.ui:22 ui/composer-menus.ui:40
#: ui/conversation-message-menus.ui:37
msgid "_Copy"
msgstr "_Copiar"
#: ui/composer-menus.ui:84 ui/composer-menus.ui:102
#: ui/composer-menus.ui:26 ui/composer-menus.ui:44
msgid "_Paste"
msgstr "_Pegar"
#: ui/composer-menus.ui:88
#: ui/composer-menus.ui:30
msgctxt "Clipboard paste as plain text"
msgid "Paste _Without Formatting"
msgstr "Pegar _sin formato"
#: ui/composer-menus.ui:108
#: ui/composer-menus.ui:50
msgid "Select _All"
msgstr "Seleccionar _todo"
#: ui/composer-menus.ui:115 ui/conversation-message-menus.ui:43
#: ui/composer-menus.ui:57 ui/conversation-message-menus.ui:43
msgid "_Inspect…"
msgstr "_Inspeccionar…"
#. Geary account mail will be sent from
#: ui/composer-widget.ui:61
#: ui/composer-widget.ui:60
msgid "From"
msgstr "De"
#. Address(es) e-mail is to be sent to
#: ui/composer-widget.ui:131
#: ui/composer-widget.ui:130
msgid "_To"
msgstr "_Para"
#: ui/composer-widget.ui:159
#: ui/composer-widget.ui:158
msgid "Show Cc, Bcc, and Reply-To fields"
msgstr "Mostrar los campos Cc, Cco y Responder a"
#: ui/composer-widget.ui:214
#: ui/composer-widget.ui:213
msgid "_Cc"
msgstr "_Cc"
#: ui/composer-widget.ui:258
#: ui/composer-widget.ui:257
msgid "_Bcc"
msgstr "Cc_o"
#: ui/composer-widget.ui:302
#: ui/composer-widget.ui:301
msgid "_Reply-To"
msgstr "_Responder a:"
@ -2794,62 +2774,135 @@ msgstr "Suelte los archivos aquí"
msgid "To add them as attachments"
msgstr "Para añadirlos como adjuntos"
#: ui/composer-widget.ui:488
msgid "Undo last edit"
msgstr "Deshacer la última edición"
#: ui/composer-widget.ui:512
msgid "Redo last edit"
msgstr "Deshacer la última edición"
#: ui/composer-widget.ui:550
#: ui/composer-widget.ui:585
msgid "Bold text"
msgstr "Texto en negrita"
#: ui/composer-widget.ui:574
#: ui/composer-widget.ui:609
msgid "Italic text"
msgstr "Texto en cursiva"
#: ui/composer-widget.ui:598
#: ui/composer-widget.ui:633
msgid "Underline text"
msgstr "Subrayar el texto"
#: ui/composer-widget.ui:622
#: ui/composer-widget.ui:657
msgid "Strikethrough text"
msgstr "Tachar el texto"
#: ui/composer-widget.ui:660
#: ui/composer-widget.ui:690
msgid "Insert bulleted list"
msgstr "Insertar lista de topos"
#: ui/composer-widget.ui:684
#: ui/composer-widget.ui:714
msgid "Insert numbered list"
msgstr "Insertar lista numerada"
#: ui/composer-widget.ui:722
#: ui/composer-widget.ui:747
msgid "Indent or quote text"
msgstr "Sangrar o citar texto"
#: ui/composer-widget.ui:746
#: ui/composer-widget.ui:771
msgid "Un-indent or unquote text"
msgstr "Quitar la sangría o la cita del texto"
#: ui/composer-widget.ui:784
msgid "Insert or update text link"
msgstr "Insertar o actualizar el enlace seleccionado"
#: ui/composer-widget.ui:808
msgid "Insert an image"
msgstr "Insertar una imagen"
#: ui/composer-widget.ui:842
#: ui/composer-widget.ui:800
msgid "Remove text formatting"
msgstr "Quitar el formato del texto"
#: ui/composer-widget.ui:866
#: ui/composer-widget.ui:819
msgid "Change font type"
msgstr "Cambiar tipo de la tipografía"
#: ui/composer-widget.ui:834
msgid "Sans Serif"
msgstr "Sans serif"
#: ui/composer-widget.ui:845
msgid "Serif"
msgstr "Serif"
#: ui/composer-widget.ui:856
msgid "Fixed Width"
msgstr "Anchura fija"
#: ui/composer-widget.ui:882
msgid "Change font color"
msgstr "Cambiar color de la tipografía"
#: ui/composer-widget.ui:897
msgid "Change font size"
msgstr "Cambiar tamaño de la tipografía"
#: ui/composer-widget.ui:932
msgid "Insert or update text link"
msgstr "Insertar o actualizar el enlace seleccionado"
#: ui/composer-widget.ui:956
msgid "Insert an image"
msgstr "Insertar una imagen"
#: ui/composer-widget.ui:998
msgid "Undo last edit"
msgstr "Deshacer la última edición"
#: ui/composer-widget.ui:1022
msgid "Redo last edit"
msgstr "Deshacer la última edición"
#: ui/composer-widget.ui:1051 ui/composer-widget.ui:1076
msgid "Attach a file"
msgstr "Adjuntar un archivo"
#: ui/composer-widget.ui:1100
msgid "Add original attachments"
msgstr "Añadir adjuntos originales"
#: ui/composer-widget.ui:1145
msgid "Enable or disable rich text mode"
msgstr "Activar o desactivar el modo de texto enriquecido"
#: ui/composer-widget.ui:1165
msgid "Show formatting toolbar"
msgstr "Mostrar barra de herramientas de formato"
#: ui/composer-widget.ui:1183
msgid "Select spell checking languages"
msgstr "Seleccione el idioma de la revisión ortográfica"
#: ui/composer-widget.ui:1247
msgid "S_ans Serif"
msgstr "S_ans serif"
#: ui/composer-widget.ui:1252
msgid "S_erif"
msgstr "S_erif"
#: ui/composer-widget.ui:1257
msgid "_Fixed Width"
msgstr "_Anchura fija"
#: ui/composer-widget.ui:1267
msgid "_Small"
msgstr "_Pequeño"
#: ui/composer-widget.ui:1272
msgid "_Medium"
msgstr "_Mediano"
#: ui/composer-widget.ui:1277
msgid "Lar_ge"
msgstr "_Grande"
#: ui/composer-widget.ui:1287
msgid "_Rich Text"
msgstr "Texto en_riquecido"
#: ui/composer-widget.ui:1292
#| msgid "_Rich Text"
msgid "_Plain Text"
msgstr "Texto _plano"
#: ui/components-attachment-pane.ui:29 ui/components-attachment-pane.ui:47
msgid "Select all attachments"
msgstr "Guardar todos los adjuntos"
@ -3435,23 +3488,23 @@ msgstr "Redactar mensaje"
msgid "Toggle search bar"
msgstr "Conmutar la barra de búsqueda"
#: ui/main-toolbar.ui:114
#: ui/main-toolbar.ui:113
msgid "Reply"
msgstr "Responder"
#: ui/main-toolbar.ui:137
#: ui/main-toolbar.ui:136
msgid "Reply All"
msgstr "Responder a todos"
#: ui/main-toolbar.ui:160
#: ui/main-toolbar.ui:159
msgid "Forward"
msgstr "Reenviar"
#: ui/main-toolbar.ui:265
#: ui/main-toolbar.ui:264
msgid "Toggle find bar"
msgstr "Conmutar la barra de búsqueda"
#: ui/main-toolbar.ui:286
#: ui/main-toolbar.ui:285
msgid "_Archive"
msgstr "_Archivar"
@ -3499,6 +3552,9 @@ msgstr "_Autenticar"
msgid "Geary update in progress…"
msgstr "Actualización de Geary en proceso…"
#~ msgid "C_olor"
#~ msgstr "C_olor"
#~ msgid "Show Extended Fields"
#~ msgstr "Mostrar campos ampliados"
@ -4355,15 +4411,6 @@ msgstr "Actualización de Geary en proceso…"
#~ msgid "Small"
#~ msgstr "Pequeño"
#~ msgid "Sans Serif"
#~ msgstr "Sans serif"
#~ msgid "Serif"
#~ msgstr "Serif"
#~ msgid "Fixed Width"
#~ msgstr "Anchura fija"
#~ msgid "_Attach File"
#~ msgstr "_Adjuntar archivo"

197
po/id.po
View file

@ -6,20 +6,21 @@
# Andika Triwidada <andika@gmail.com>, 2012-2014
# elementary Indonesia <elementaryindo@gmail.com>, 2012, 2013
# Mohamad Hasan Al Banna, 2013
# Kukuh Syafaat <kukuhsyafaat@gnome.org>, 2017, 2018, 2020.
msgid ""
msgstr ""
"Project-Id-Version: geary mainline\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/geary/issues\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 <atriwidada@gnome.org>\n"
"POT-Creation-Date: 2020-01-08 10:10+0000\n"
"PO-Revision-Date: 2020-01-14 20:18+0700\n"
"Last-Translator: Kukuh Syafaat <kukuhsyafaat@gnome.org>\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=2; plural=n!=1;\n"
"X-Generator: Poedit 2.2.1\n"
"X-Generator: Poedit 2.2.4\n"
#: desktop/geary-attach.contract.desktop.in:3
msgid "Send by email"
@ -943,7 +944,7 @@ msgid "translator-credits"
msgstr ""
"Andika Triwidada <andika@gmail.com>, 2012, 2013, 2016, 2017, 2019\n"
"Dani Pratomo <elementaryindo@gmail.com>, 2012.\n"
"Kukuh Syafaat <kukuhsyafaat@gnome.org>, 2017, 2018."
"Kukuh Syafaat <kukuhsyafaat@gnome.org>, 2017, 2018, 2020."
#. / Warning printed to the console when a deprecated
#. / command line option is used.
@ -1176,7 +1177,7 @@ msgstr "Hapus"
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] ""
msgstr[1] "Anda mau membuang pesan ini secara permanen?"
#: src/client/application/application-main-window.vala:1325
#, c-format
@ -1207,7 +1208,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:1815
#: src/client/composer/composer-widget.vala:1816
#, c-format
msgid "%s (%s)"
msgstr "%s (%s)"
@ -1350,37 +1351,37 @@ msgstr "Tidak bisa mencari nama server"
msgid "Mark conversation"
msgid_plural "Mark conversations"
msgstr[0] "Tandai percakapan"
msgstr[1] ""
msgstr[1] "Tandai percakapan"
#: 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] ""
msgstr[1] "Tambahkan label ke percakapan"
#: src/client/components/main-toolbar.vala:152
msgid "Move conversation"
msgid_plural "Move conversations"
msgstr[0] "Pindahkan percakapan"
msgstr[1] ""
msgstr[1] "Pindahkan percakapan"
#: src/client/components/main-toolbar.vala:157
msgid "Archive conversation"
msgid_plural "Archive conversations"
msgstr[0] "Arsipkan percakapan"
msgstr[1] ""
msgstr[1] "Arsipkan percakapan"
#: 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] ""
msgstr[1] "Pindahkan percakapan ke Tong Sampah"
#: src/client/components/main-toolbar.vala:178
msgid "Delete conversation"
msgid_plural "Delete conversations"
msgstr[0] "Hapus percakapan"
msgstr[1] ""
msgstr[1] "Hapus percakapan"
#. Translators: Info bar title for a generic account
#. problem.
@ -1575,90 +1576,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:814
#: src/client/composer/composer-widget.vala:815
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:840
#: src/client/composer/composer-widget.vala:841
msgid "Do you want to discard this draft message?"
msgstr "Anda mau membuang draf pesan ini?"
#: src/client/composer/composer-widget.vala:1484
#: src/client/composer/composer-widget.vala:1485
msgid "Send message with an empty subject and body?"
msgstr "Kirim pesan dengan subjek dan isi kosong?"
#: src/client/composer/composer-widget.vala:1486
#: src/client/composer/composer-widget.vala:1487
msgid "Send message with an empty subject?"
msgstr "Kirim pesan dengan subjek kosong?"
#: src/client/composer/composer-widget.vala:1488
#: src/client/composer/composer-widget.vala:1489
msgid "Send message with an empty body?"
msgstr "Kirim pesan tanpa isi?"
#: src/client/composer/composer-widget.vala:1497
#: src/client/composer/composer-widget.vala:1498
msgid "Send message without an attachment?"
msgstr "Kirim pesan tanpa lampiran?"
#: src/client/composer/composer-widget.vala:1807
#: src/client/composer/composer-widget.vala:1808
#, c-format
msgid "“%s” already attached for delivery."
msgstr "\"%s\" sudah dilampirkan untuk pengiriman."
#: src/client/composer/composer-widget.vala:1837
#: src/client/composer/composer-widget.vala:1887
#: src/client/composer/composer-widget.vala:1838
#: src/client/composer/composer-widget.vala:1888
#, c-format
msgid "“%s” is an empty file."
msgstr "\"%s\" adalah berkas kosong."
#: src/client/composer/composer-widget.vala:1875
#: src/client/composer/composer-widget.vala:1876
#, c-format
msgid "“%s” could not be found."
msgstr "\"%s\" tidak ditemukan."
#: src/client/composer/composer-widget.vala:1881
#: src/client/composer/composer-widget.vala:1882
#, c-format
msgid "“%s” is a folder."
msgstr "\"%s\" adalah sebuah folder."
#: src/client/composer/composer-widget.vala:1900
#: src/client/composer/composer-widget.vala:1901
#, c-format
msgid "“%s” could not be opened for reading."
msgstr "\"%s\" tak bisa dibuka untuk dibaca."
#: src/client/composer/composer-widget.vala:1908
#: src/client/composer/composer-widget.vala:1909
msgid "Cannot add attachment"
msgstr "Tak bisa menambah lampiran"
#. Translators: Human-readable version of the RFC 822 To header
#: src/client/composer/composer-widget.vala:1965
#: 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 "Ke:"
#. Translators: Human-readable version of the RFC 822 CC header
#: src/client/composer/composer-widget.vala:1971
#: 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:1977
#: src/client/composer/composer-widget.vala:1978
#: 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:1983
#: src/client/composer/composer-widget.vala:1984
msgid "Reply-To: "
msgstr "Balas-Ke: "
#: src/client/composer/composer-widget.vala:2172
#: src/client/composer/composer-widget.vala:2170
msgid "Select Color"
msgstr "Pilih Warna"
@ -1667,20 +1668,20 @@ msgstr "Pilih Warna"
#. 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
#: src/client/composer/composer-widget.vala:2362
#, 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:2420
#: src/client/composer/composer-widget.vala:2418
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:2723
#: src/client/composer/composer-widget.vala:2721
msgid "Images"
msgstr "Citra"
@ -1701,14 +1702,14 @@ msgstr "Cari lebih banyak bahasa lagi"
msgid "Move conversation to _Trash"
msgid_plural "Move conversations to _Trash"
msgstr[0] "Pindahkan percakapan ke _Tong Sampah"
msgstr[1] ""
msgstr[1] "Pindahkan percakapan ke _Tong Sampah"
#. / 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] ""
msgstr[1] "_Hapus percakapan"
#: src/client/conversation-list/conversation-list-view.vala:360
#: ui/main-toolbar-menus.ui:5
@ -2097,7 +2098,8 @@ msgstr "%a, %-e %b %Y pada %-H:%M"
msgid "%a, %b %-e, %Y at %X"
msgstr "%a, %-e %b %Y pada %X"
#: src/client/util/util-email.vala:38 src/engine/rfc822/rfc822-message.vala:998
#: src/client/util/util-email.vala:38
#: src/engine/rfc822/rfc822-message.vala:1000
msgid "(no subject)"
msgstr "(tanpa perihal)"
@ -2436,12 +2438,12 @@ msgstr "Dihapus"
msgid "Archive | Archives"
msgstr "Arsip | Archive | Archives"
#: src/engine/rfc822/rfc822-message.vala:467
#: src/engine/rfc822/rfc822-message.vala:458
#, c-format
msgid "Could not determine mime type for “%s”."
msgstr "Tidak dapat menentukan tipe mime untuk \"%s\"."
#: src/engine/rfc822/rfc822-message.vala:475
#: src/engine/rfc822/rfc822-message.vala:469
#, c-format
msgid "Could not determine content type for mime type “%s” on “%s”."
msgstr "Tidak dapat menentukan tipe isi untuk tipe mime \"%s\" pada \"%s\"."
@ -2620,27 +2622,27 @@ msgstr "_Percayai Server Ini"
msgid "_Dont Trust This Server"
msgstr "_Jangan Percayai Server Ini"
#: ui/composer-headerbar.ui:19 ui/composer-headerbar.ui:176
#: ui/composer-headerbar.ui:18 ui/composer-headerbar.ui:175
msgid "Detach the composer from the window"
msgstr "Copot penyusun dari jendela"
#: ui/composer-headerbar.ui:59 ui/composer-headerbar.ui:84
#: ui/composer-headerbar.ui:58 ui/composer-headerbar.ui:83
msgid "Attach a file"
msgstr "Lampirkan berkas"
#: ui/composer-headerbar.ui:108
#: ui/composer-headerbar.ui:107
msgid "Add original attachments"
msgstr "Tambahkan lampiran asli"
#: ui/composer-headerbar.ui:204
#: ui/composer-headerbar.ui:203
msgid "_Send"
msgstr "_Kirim"
#: ui/composer-headerbar.ui:231
#: ui/composer-headerbar.ui:230
msgid "Discard and Close"
msgstr "Buang dan Tutup"
#: ui/composer-headerbar.ui:255
#: ui/composer-headerbar.ui:254
msgid "Save and Close"
msgstr "Simpan dan Tutup"
@ -2694,135 +2696,135 @@ msgstr "_Besar"
msgid "C_olor"
msgstr "_Warna"
#: ui/composer-menus.ui:47 ui/composer-menus.ui:62
#: ui/composer-menus.ui:47 ui/composer-menus.ui:56
msgid "_Rich Text"
msgstr "_Rich Text"
#: ui/composer-menus.ui:53 ui/composer-menus.ui:68
msgid "Show Extended Fields"
msgstr "Tampilkan Ruas Yang Diperluas"
#: ui/composer-menus.ui:78
#: ui/composer-menus.ui:66
msgid "_Undo"
msgstr "Tak _Jadi"
#: ui/composer-menus.ui:82
#: ui/composer-menus.ui:70
msgid "_Redo"
msgstr "Jadi _Lagi"
#: ui/composer-menus.ui:88 ui/composer-menus.ui:106
#: ui/composer-menus.ui:76 ui/composer-menus.ui:94
msgid "Cu_t"
msgstr "Po_tong"
#: ui/composer-menus.ui:92 ui/composer-menus.ui:110
#: ui/composer-menus.ui:80 ui/composer-menus.ui:98
#: ui/conversation-message-menus.ui:37
msgid "_Copy"
msgstr "Sali_n"
#: ui/composer-menus.ui:96 ui/composer-menus.ui:114
#: ui/composer-menus.ui:84 ui/composer-menus.ui:102
msgid "_Paste"
msgstr "Tem_pel"
#: ui/composer-menus.ui:100
#: ui/composer-menus.ui:88
msgctxt "Clipboard paste as plain text"
msgid "Paste _Without Formatting"
msgstr "Tempel _Tanpa Format"
#: ui/composer-menus.ui:120
#: ui/composer-menus.ui:108
msgid "Select _All"
msgstr "Pilih Semu_a"
#: ui/composer-menus.ui:127 ui/conversation-message-menus.ui:43
#: ui/composer-menus.ui:115 ui/conversation-message-menus.ui:43
msgid "_Inspect…"
msgstr "Per_iksa…"
#. Address(es) e-mail is to be sent to
#: ui/composer-widget.ui:56
msgid "_To"
msgstr "_Ke"
#: ui/composer-widget.ui:75
msgid "_Cc"
msgstr "_Cc"
#: ui/composer-widget.ui:130
msgid "_Subject"
msgstr "_Perihal"
#: ui/composer-widget.ui:149
msgid "_Bcc"
msgstr "_Bcc"
#: ui/composer-widget.ui:179
msgid "_Reply-To"
msgstr "B_alas-Ke"
#. Geary account mail will be sent from
#: ui/composer-widget.ui:208
#: ui/composer-widget.ui:61
msgid "From"
msgstr "Dari"
#: ui/composer-widget.ui:293
#. Address(es) e-mail is to be sent to
#: ui/composer-widget.ui:131
msgid "_To"
msgstr "_Ke"
#: ui/composer-widget.ui:159
msgid "Show Cc, Bcc, and Reply-To fields"
msgstr "Tampilkan kolom Cc, Bcc, dan Balas-Ke"
#: ui/composer-widget.ui:214
msgid "_Cc"
msgstr "_Cc"
#: ui/composer-widget.ui:258
msgid "_Bcc"
msgstr "_Bcc"
#: ui/composer-widget.ui:302
msgid "_Reply-To"
msgstr "B_alas-Ke"
#: ui/composer-widget.ui:355
msgid "_Subject"
msgstr "_Perihal"
#: ui/composer-widget.ui:428
msgid "Drop files here"
msgstr "Jatuhkan berkas di sini"
#: ui/composer-widget.ui:309
#: ui/composer-widget.ui:444
msgid "To add them as attachments"
msgstr "Untuk menambahkan mereka sebagai lampiran"
#: ui/composer-widget.ui:353
#: ui/composer-widget.ui:488
msgid "Undo last edit"
msgstr "Batalkan suntingan terakhir"
#: ui/composer-widget.ui:377
#: ui/composer-widget.ui:512
msgid "Redo last edit"
msgstr "Jadikan lagi penyuntingan terakhir"
#: ui/composer-widget.ui:415
#: ui/composer-widget.ui:550
msgid "Bold text"
msgstr "Teks tebal"
#: ui/composer-widget.ui:439
#: ui/composer-widget.ui:574
msgid "Italic text"
msgstr "Teks miring"
#: ui/composer-widget.ui:463
#: ui/composer-widget.ui:598
msgid "Underline text"
msgstr "Garisbawahi teks"
#: ui/composer-widget.ui:487
#: ui/composer-widget.ui:622
msgid "Strikethrough text"
msgstr "Coret teks"
#: ui/composer-widget.ui:525
#: ui/composer-widget.ui:660
msgid "Insert bulleted list"
msgstr "Sisipkan daftar bulet"
#: ui/composer-widget.ui:549
#: ui/composer-widget.ui:684
msgid "Insert numbered list"
msgstr "Sisipkan daftar bernomor"
#: ui/composer-widget.ui:587
#: ui/composer-widget.ui:722
msgid "Indent or quote text"
msgstr "Indentasikan atau kutip teks"
#: ui/composer-widget.ui:611
#: ui/composer-widget.ui:746
msgid "Un-indent or unquote text"
msgstr "Batalkan indentasi atau pengutipan teks"
#: ui/composer-widget.ui:649
#: ui/composer-widget.ui:784
msgid "Insert or update text link"
msgstr "Sisipkan atau mutakhirkan tautan teks"
#: ui/composer-widget.ui:673
#: ui/composer-widget.ui:808
msgid "Insert an image"
msgstr "Sisipkan sebuah citra"
#: ui/composer-widget.ui:707
#: ui/composer-widget.ui:842
msgid "Remove text formatting"
msgstr "Buang performatan teks"
#: ui/composer-widget.ui:731
#: ui/composer-widget.ui:866
msgid "Select spell checking languages"
msgstr "Pilih bahasa pemeriksaan ejaan"
@ -3472,3 +3474,6 @@ msgstr "Otentik_asikan"
#: ui/upgrade_dialog.glade:60
msgid "Geary update in progress…"
msgstr "Pemutakhiran Geary sedang berlangsung…"
#~ msgid "Show Extended Fields"
#~ msgstr "Tampilkan Ruas Yang Diperluas"

180
po/pl.po
View file

@ -1,5 +1,5 @@
# Polish translation for geary.
# Copyright © 2012-2019 the geary authors.
# Copyright © 2012-2020 the geary authors.
# This file is distributed under the same license as the geary package.
# scrx <mattpiskorz@gmail.com>, 2012.
# Piotrek290 <piotrek290@gmail.com>, 2012-2013.
@ -9,15 +9,15 @@
# wmq <wmqkla@gmail.com>, 2012.
# yorbajim <jim@yorba.org>, 2013.
# zacol <zacol1@gmail.com>, 2012.
# Piotr Drąg <piotrdrag@gmail.com>, 2014-2019.
# Aviary.pl <community-poland@mozilla.org>, 2014-2019.
# Piotr Drąg <piotrdrag@gmail.com>, 2014-2020.
# Aviary.pl <community-poland@mozilla.org>, 2014-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: geary\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/geary/issues\n"
"POT-Creation-Date: 2019-12-17 23:56+0000\n"
"PO-Revision-Date: 2019-12-26 13:53+0100\n"
"POT-Creation-Date: 2020-01-08 10:10+0000\n"
"PO-Revision-Date: 2020-01-12 17:29+0100\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <community-poland@mozilla.org>\n"
"Language: pl\n"
@ -962,8 +962,8 @@ msgstr ""
"wmq <wmqkla@gmail.com>, 2012\n"
"yorbajim <jim@yorba.org>, 2013\n"
"zacol <zacol1@gmail.com>, 2012\n"
"Piotr Drąg <piotrdrag@gmail.com>, 2014-2019\n"
"Aviary.pl <community-poland@mozilla.org>, 2014-2019"
"Piotr Drąg <piotrdrag@gmail.com>, 2014-2020\n"
"Aviary.pl <community-poland@mozilla.org>, 2014-2020"
#. / Warning printed to the console when a deprecated
#. / command line option is used.
@ -1240,7 +1240,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:1815
#: src/client/composer/composer-widget.vala:1816
#, c-format
msgid "%s (%s)"
msgstr "%s (%s)"
@ -1615,90 +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:814
#: src/client/composer/composer-widget.vala:815
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:840
#: src/client/composer/composer-widget.vala:841
msgid "Do you want to discard this draft message?"
msgstr "Odrzucić ten szkic?"
#: src/client/composer/composer-widget.vala:1484
#: src/client/composer/composer-widget.vala:1485
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:1486
#: src/client/composer/composer-widget.vala:1487
msgid "Send message with an empty subject?"
msgstr "Wysłać wiadomość niezawierającą tematu?"
#: src/client/composer/composer-widget.vala:1488
#: src/client/composer/composer-widget.vala:1489
msgid "Send message with an empty body?"
msgstr "Wysłać wiadomość niezawierającą treści?"
#: src/client/composer/composer-widget.vala:1497
#: src/client/composer/composer-widget.vala:1498
msgid "Send message without an attachment?"
msgstr "Wysłać wiadomość niezawierającą załączników?"
#: src/client/composer/composer-widget.vala:1807
#: src/client/composer/composer-widget.vala:1808
#, c-format
msgid "“%s” already attached for delivery."
msgstr "Do wiadomości już załączono „%s”."
#: src/client/composer/composer-widget.vala:1837
#: src/client/composer/composer-widget.vala:1887
#: src/client/composer/composer-widget.vala:1838
#: src/client/composer/composer-widget.vala:1888
#, c-format
msgid "“%s” is an empty file."
msgstr "„%s” jest pustym plikiem."
#: src/client/composer/composer-widget.vala:1875
#: src/client/composer/composer-widget.vala:1876
#, c-format
msgid "“%s” could not be found."
msgstr "Nie można odnaleźć „%s”."
#: src/client/composer/composer-widget.vala:1881
#: src/client/composer/composer-widget.vala:1882
#, c-format
msgid "“%s” is a folder."
msgstr "„%s” jest katalogiem."
#: src/client/composer/composer-widget.vala:1900
#: src/client/composer/composer-widget.vala:1901
#, c-format
msgid "“%s” could not be opened for reading."
msgstr "Nie można otworzyć „%s” do odczytania."
#: src/client/composer/composer-widget.vala:1908
#: src/client/composer/composer-widget.vala:1909
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:1965
#: 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 "Do:"
#. Translators: Human-readable version of the RFC 822 CC header
#: src/client/composer/composer-widget.vala:1971
#: 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 "DW:"
#. Translators: Human-readable version of the RFC 822 BCC header
#: src/client/composer/composer-widget.vala:1977
#: src/client/composer/composer-widget.vala:1978
#: 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:1983
#: src/client/composer/composer-widget.vala:1984
msgid "Reply-To: "
msgstr "Odpowiedź do: "
#: src/client/composer/composer-widget.vala:2172
#: src/client/composer/composer-widget.vala:2170
msgid "Select Color"
msgstr "Wybór koloru"
@ -1707,20 +1707,20 @@ 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:2364
#: src/client/composer/composer-widget.vala:2362
#, 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:2420
#: src/client/composer/composer-widget.vala:2418
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:2723
#: src/client/composer/composer-widget.vala:2721
msgid "Images"
msgstr "Obrazy"
@ -2149,7 +2149,8 @@ msgstr "%a, %-e %b %Y o %H%M"
msgid "%a, %b %-e, %Y at %X"
msgstr "%a, %-e %b %Y o %X"
#: src/client/util/util-email.vala:38 src/engine/rfc822/rfc822-message.vala:998
#: src/client/util/util-email.vala:38
#: src/engine/rfc822/rfc822-message.vala:1000
msgid "(no subject)"
msgstr "(brak tematu)"
@ -2487,12 +2488,12 @@ msgstr "Elementy usunięte"
msgid "Archive | Archives"
msgstr "Archiwum | Archiwa"
#: src/engine/rfc822/rfc822-message.vala:467
#: src/engine/rfc822/rfc822-message.vala:458
#, c-format
msgid "Could not determine mime type for “%s”."
msgstr "Nie można ustalić typu MIME dla „%s”."
#: src/engine/rfc822/rfc822-message.vala:475
#: src/engine/rfc822/rfc822-message.vala:469
#, c-format
msgid "Could not determine content type for mime type “%s” on “%s”."
msgstr "Nie można ustalić typu treści dla typu MIME „%s” na „%s”."
@ -2671,27 +2672,27 @@ msgstr "Z_aufaj temu serwerowi"
msgid "_Dont Trust This Server"
msgstr "_Nie ufaj temu serwerowi"
#: ui/composer-headerbar.ui:19 ui/composer-headerbar.ui:176
#: ui/composer-headerbar.ui:18 ui/composer-headerbar.ui:175
msgid "Detach the composer from the window"
msgstr "Odłącza okno tworzenia wiadomości"
#: ui/composer-headerbar.ui:59 ui/composer-headerbar.ui:84
#: ui/composer-headerbar.ui:58 ui/composer-headerbar.ui:83
msgid "Attach a file"
msgstr "Załącza plik"
#: ui/composer-headerbar.ui:108
#: ui/composer-headerbar.ui:107
msgid "Add original attachments"
msgstr "Dodaje oryginalne załączniki"
#: ui/composer-headerbar.ui:204
#: ui/composer-headerbar.ui:203
msgid "_Send"
msgstr "_Wyślij"
#: ui/composer-headerbar.ui:231
#: ui/composer-headerbar.ui:230
msgid "Discard and Close"
msgstr "Odrzuca i zamyka"
#: ui/composer-headerbar.ui:255
#: ui/composer-headerbar.ui:254
msgid "Save and Close"
msgstr "Zapisuje i zamyka"
@ -2745,135 +2746,136 @@ msgstr "_Duży"
msgid "C_olor"
msgstr "K_olor"
#: ui/composer-menus.ui:47 ui/composer-menus.ui:62
#: ui/composer-menus.ui:47 ui/composer-menus.ui:56
msgid "_Rich Text"
msgstr "Tekst _sformatowany"
#: ui/composer-menus.ui:53 ui/composer-menus.ui:68
msgid "Show Extended Fields"
msgstr "Rozszerzone pola"
#: ui/composer-menus.ui:78
#: ui/composer-menus.ui:66
msgid "_Undo"
msgstr "Cof_nij"
#: ui/composer-menus.ui:82
#: ui/composer-menus.ui:70
msgid "_Redo"
msgstr "P_onów"
#: ui/composer-menus.ui:88 ui/composer-menus.ui:106
#: ui/composer-menus.ui:76 ui/composer-menus.ui:94
msgid "Cu_t"
msgstr "_Wytnij"
#: ui/composer-menus.ui:92 ui/composer-menus.ui:110
#: ui/composer-menus.ui:80 ui/composer-menus.ui:98
#: ui/conversation-message-menus.ui:37
msgid "_Copy"
msgstr "S_kopiuj"
#: ui/composer-menus.ui:96 ui/composer-menus.ui:114
#: ui/composer-menus.ui:84 ui/composer-menus.ui:102
msgid "_Paste"
msgstr "Wk_lej"
#: ui/composer-menus.ui:100
#: ui/composer-menus.ui:88
msgctxt "Clipboard paste as plain text"
msgid "Paste _Without Formatting"
msgstr "Wklej be_z formatowania"
#: ui/composer-menus.ui:120
#: ui/composer-menus.ui:108
msgid "Select _All"
msgstr "Zaznacz _wszystko"
#: ui/composer-menus.ui:127 ui/conversation-message-menus.ui:43
#: ui/composer-menus.ui:115 ui/conversation-message-menus.ui:43
msgid "_Inspect…"
msgstr "Z_badaj…"
#. Address(es) e-mail is to be sent to
#: ui/composer-widget.ui:56
msgid "_To"
msgstr "_Do"
#: ui/composer-widget.ui:75
msgid "_Cc"
msgstr "Do _wiadomości"
#: ui/composer-widget.ui:130
msgid "_Subject"
msgstr "_Temat"
#: ui/composer-widget.ui:149
msgid "_Bcc"
msgstr "_Ukryty do wiadomości"
#: ui/composer-widget.ui:179
msgid "_Reply-To"
msgstr "_Odpowiedź do"
#. Geary account mail will be sent from
#: ui/composer-widget.ui:208
#: ui/composer-widget.ui:61
msgid "From"
msgstr "Od"
#: ui/composer-widget.ui:293
#. Address(es) e-mail is to be sent to
#: ui/composer-widget.ui:131
msgid "_To"
msgstr "_Do"
#: ui/composer-widget.ui:159
msgid "Show Cc, Bcc, and Reply-To fields"
msgstr ""
"Wyświetla pola „Do wiadomości”, „Ukryty do wiadomości” i „Odpowiedź do”"
#: ui/composer-widget.ui:214
msgid "_Cc"
msgstr "Do _wiadomości"
#: ui/composer-widget.ui:258
msgid "_Bcc"
msgstr "_Ukryty do wiadomości"
#: ui/composer-widget.ui:302
msgid "_Reply-To"
msgstr "_Odpowiedź do"
#: ui/composer-widget.ui:355
msgid "_Subject"
msgstr "_Temat"
#: ui/composer-widget.ui:428
msgid "Drop files here"
msgstr "Tutaj można upuścić pliki,"
#: ui/composer-widget.ui:309
#: ui/composer-widget.ui:444
msgid "To add them as attachments"
msgstr "aby dodać je jako załączniki."
#: ui/composer-widget.ui:353
#: ui/composer-widget.ui:488
msgid "Undo last edit"
msgstr "Cofa ostatnią modyfikację"
#: ui/composer-widget.ui:377
#: ui/composer-widget.ui:512
msgid "Redo last edit"
msgstr "Ponawia ostatnią modyfikację"
#: ui/composer-widget.ui:415
#: ui/composer-widget.ui:550
msgid "Bold text"
msgstr "Pogrubia tekst"
#: ui/composer-widget.ui:439
#: ui/composer-widget.ui:574
msgid "Italic text"
msgstr "Pochyla tekst"
#: ui/composer-widget.ui:463
#: ui/composer-widget.ui:598
msgid "Underline text"
msgstr "Podkreśla tekst"
#: ui/composer-widget.ui:487
#: ui/composer-widget.ui:622
msgid "Strikethrough text"
msgstr "Przekreśla tekst"
#: ui/composer-widget.ui:525
#: ui/composer-widget.ui:660
msgid "Insert bulleted list"
msgstr "Wstawia listę wypunktowaną"
#: ui/composer-widget.ui:549
#: ui/composer-widget.ui:684
msgid "Insert numbered list"
msgstr "Wstawia listę numerowaną"
#: ui/composer-widget.ui:587
#: ui/composer-widget.ui:722
msgid "Indent or quote text"
msgstr "Wcina lub cytuje tekst"
#: ui/composer-widget.ui:611
#: ui/composer-widget.ui:746
msgid "Un-indent or unquote text"
msgstr "Usuwa wcięcie lub cytowanie tekstu"
#: ui/composer-widget.ui:649
#: ui/composer-widget.ui:784
msgid "Insert or update text link"
msgstr "Wstawia lub aktualizuje odnośnik tekstowy"
#: ui/composer-widget.ui:673
#: ui/composer-widget.ui:808
msgid "Insert an image"
msgstr "Wstawia obraz"
#: ui/composer-widget.ui:707
#: ui/composer-widget.ui:842
msgid "Remove text formatting"
msgstr "Usuwa formatowanie tekstu"
#: ui/composer-widget.ui:731
#: ui/composer-widget.ui:866
msgid "Select spell checking languages"
msgstr "Wybiera język sprawdzania pisowni"

174
po/sv.po
View file

@ -11,15 +11,15 @@
# joachimj <joachim.j@gmail.com>, 2013
# TommyBrunn <tommy.brunn@gmail.com>, 2012
# Mattias Eriksson <snaggen@gmail.com>, 2014, 2015.
# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2016, 2018, 2019.
# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2016, 2018, 2019, 2020.
# Josef Andersson <l10nl18nsweja@gmail.com>, 2016, 2017, 2018.
#
msgid ""
msgstr ""
"Project-Id-Version: geary\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/geary/issues\n"
"POT-Creation-Date: 2019-12-17 23:56+0000\n"
"PO-Revision-Date: 2019-12-22 22:26+0100\n"
"POT-Creation-Date: 2020-01-08 10:10+0000\n"
"PO-Revision-Date: 2020-01-11 17:24+0100\n"
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
@ -1221,7 +1221,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:1815
#: src/client/composer/composer-widget.vala:1816
#, c-format
msgid "%s (%s)"
msgstr "%s (%s)"
@ -1589,90 +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:814
#: src/client/composer/composer-widget.vala:815
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:840
#: src/client/composer/composer-widget.vala:841
msgid "Do you want to discard this draft message?"
msgstr "Vill du förkasta detta utkast?"
#: src/client/composer/composer-widget.vala:1484
#: src/client/composer/composer-widget.vala:1485
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:1486
#: src/client/composer/composer-widget.vala:1487
msgid "Send message with an empty subject?"
msgstr "Skicka meddelande med en tom ämnesrad?"
#: src/client/composer/composer-widget.vala:1488
#: src/client/composer/composer-widget.vala:1489
msgid "Send message with an empty body?"
msgstr "Skicka meddelande utan innehåll?"
#: src/client/composer/composer-widget.vala:1497
#: src/client/composer/composer-widget.vala:1498
msgid "Send message without an attachment?"
msgstr "Skicka meddelande utan att bifoga filer?"
#: src/client/composer/composer-widget.vala:1807
#: src/client/composer/composer-widget.vala:1808
#, c-format
msgid "“%s” already attached for delivery."
msgstr "”%s” är redan bifogad och kommer att skickas."
#: src/client/composer/composer-widget.vala:1837
#: src/client/composer/composer-widget.vala:1887
#: src/client/composer/composer-widget.vala:1838
#: src/client/composer/composer-widget.vala:1888
#, c-format
msgid "“%s” is an empty file."
msgstr "”%s” är en tom fil."
#: src/client/composer/composer-widget.vala:1875
#: src/client/composer/composer-widget.vala:1876
#, c-format
msgid "“%s” could not be found."
msgstr "”%s” kunde inte hittas."
#: src/client/composer/composer-widget.vala:1881
#: src/client/composer/composer-widget.vala:1882
#, c-format
msgid "“%s” is a folder."
msgstr "”%s” är en mapp."
#: src/client/composer/composer-widget.vala:1900
#: src/client/composer/composer-widget.vala:1901
#, 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:1908
#: src/client/composer/composer-widget.vala:1909
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:1965
#: 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 "Till:"
#. Translators: Human-readable version of the RFC 822 CC header
#: src/client/composer/composer-widget.vala:1971
#: 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:1977
#: src/client/composer/composer-widget.vala:1978
#: 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:1983
#: src/client/composer/composer-widget.vala:1984
msgid "Reply-To: "
msgstr "Svara-till: "
#: src/client/composer/composer-widget.vala:2172
#: src/client/composer/composer-widget.vala:2170
msgid "Select Color"
msgstr "Välj färg"
@ -1681,20 +1681,20 @@ 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:2364
#: src/client/composer/composer-widget.vala:2362
#, 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:2420
#: src/client/composer/composer-widget.vala:2418
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:2723
#: src/client/composer/composer-widget.vala:2721
msgid "Images"
msgstr "Bilder"
@ -2111,7 +2111,8 @@ msgstr "%a, %-e %b %Y klockan %H:%M"
msgid "%a, %b %-e, %Y at %X"
msgstr "%a, %-e %b %Y klockan %X"
#: src/client/util/util-email.vala:38 src/engine/rfc822/rfc822-message.vala:998
#: src/client/util/util-email.vala:38
#: src/engine/rfc822/rfc822-message.vala:1000
msgid "(no subject)"
msgstr "(inget ämne)"
@ -2450,12 +2451,12 @@ msgstr "Borttaget"
msgid "Archive | Archives"
msgstr "Arkiv | Archive | Archives"
#: src/engine/rfc822/rfc822-message.vala:467
#: src/engine/rfc822/rfc822-message.vala:458
#, c-format
msgid "Could not determine mime type for “%s”."
msgstr "Kunde inte avgöra mimetyp för ”%s”."
#: src/engine/rfc822/rfc822-message.vala:475
#: src/engine/rfc822/rfc822-message.vala:469
#, c-format
msgid "Could not determine content type for mime type “%s” on “%s”."
msgstr "Kunde inte avgöra innehållstyp för mimetypen ”%s” på ”%s”."
@ -2635,27 +2636,27 @@ msgstr "Li_ta på denna server"
msgid "_Dont Trust This Server"
msgstr "Lita inte på _denna server"
#: ui/composer-headerbar.ui:19 ui/composer-headerbar.ui:176
#: ui/composer-headerbar.ui:18 ui/composer-headerbar.ui:175
msgid "Detach the composer from the window"
msgstr "Koppla loss redigeraren från fönstret"
#: ui/composer-headerbar.ui:59 ui/composer-headerbar.ui:84
#: ui/composer-headerbar.ui:58 ui/composer-headerbar.ui:83
msgid "Attach a file"
msgstr "Bifoga en fil"
#: ui/composer-headerbar.ui:108
#: ui/composer-headerbar.ui:107
msgid "Add original attachments"
msgstr "Lägg till ursprungliga bilagor"
#: ui/composer-headerbar.ui:204
#: ui/composer-headerbar.ui:203
msgid "_Send"
msgstr "_Skicka"
#: ui/composer-headerbar.ui:231
#: ui/composer-headerbar.ui:230
msgid "Discard and Close"
msgstr "Förkasta och stäng"
#: ui/composer-headerbar.ui:255
#: ui/composer-headerbar.ui:254
msgid "Save and Close"
msgstr "Spara och stäng"
@ -2709,135 +2710,135 @@ msgstr "_Stor"
msgid "C_olor"
msgstr "Fär_g"
#: ui/composer-menus.ui:47 ui/composer-menus.ui:62
#: ui/composer-menus.ui:47 ui/composer-menus.ui:56
msgid "_Rich Text"
msgstr "_Rich Text"
#: ui/composer-menus.ui:53 ui/composer-menus.ui:68
msgid "Show Extended Fields"
msgstr "Visa utökade fält"
#: ui/composer-menus.ui:78
#: ui/composer-menus.ui:66
msgid "_Undo"
msgstr "_Ångra"
#: ui/composer-menus.ui:82
#: ui/composer-menus.ui:70
msgid "_Redo"
msgstr "_Upprepa"
#: ui/composer-menus.ui:88 ui/composer-menus.ui:106
#: ui/composer-menus.ui:76 ui/composer-menus.ui:94
msgid "Cu_t"
msgstr "Klipp u_t"
#: ui/composer-menus.ui:92 ui/composer-menus.ui:110
#: ui/composer-menus.ui:80 ui/composer-menus.ui:98
#: ui/conversation-message-menus.ui:37
msgid "_Copy"
msgstr "_Kopiera"
#: ui/composer-menus.ui:96 ui/composer-menus.ui:114
#: ui/composer-menus.ui:84 ui/composer-menus.ui:102
msgid "_Paste"
msgstr "_Klistra in"
#: ui/composer-menus.ui:100
#: ui/composer-menus.ui:88
msgctxt "Clipboard paste as plain text"
msgid "Paste _Without Formatting"
msgstr "Klistra in _utan formatering"
#: ui/composer-menus.ui:120
#: ui/composer-menus.ui:108
msgid "Select _All"
msgstr "Välj _alla"
#: ui/composer-menus.ui:127 ui/conversation-message-menus.ui:43
#: ui/composer-menus.ui:115 ui/conversation-message-menus.ui:43
msgid "_Inspect…"
msgstr "_Inspektera…"
#. Address(es) e-mail is to be sent to
#: ui/composer-widget.ui:56
msgid "_To"
msgstr "_Till"
#: ui/composer-widget.ui:75
msgid "_Cc"
msgstr "_Cc"
#: ui/composer-widget.ui:130
msgid "_Subject"
msgstr "_Ämne"
#: ui/composer-widget.ui:149
msgid "_Bcc"
msgstr "_Bcc"
#: ui/composer-widget.ui:179
msgid "_Reply-To"
msgstr "Sva_ra-till"
#. Geary account mail will be sent from
#: ui/composer-widget.ui:208
#: ui/composer-widget.ui:61
msgid "From"
msgstr "Från"
#: ui/composer-widget.ui:293
#. Address(es) e-mail is to be sent to
#: ui/composer-widget.ui:131
msgid "_To"
msgstr "_Till"
#: ui/composer-widget.ui:159
msgid "Show Cc, Bcc, and Reply-To fields"
msgstr "Visa fälten Cc, Bcc och Svara-till"
#: ui/composer-widget.ui:214
msgid "_Cc"
msgstr "_Cc"
#: ui/composer-widget.ui:258
msgid "_Bcc"
msgstr "_Bcc"
#: ui/composer-widget.ui:302
msgid "_Reply-To"
msgstr "Sva_ra-till"
#: ui/composer-widget.ui:355
msgid "_Subject"
msgstr "_Ämne"
#: ui/composer-widget.ui:428
msgid "Drop files here"
msgstr "Släpp filer här"
#: ui/composer-widget.ui:309
#: ui/composer-widget.ui:444
msgid "To add them as attachments"
msgstr "För att bifoga dem"
#: ui/composer-widget.ui:353
#: ui/composer-widget.ui:488
msgid "Undo last edit"
msgstr "Ångra senaste redigering"
#: ui/composer-widget.ui:377
#: ui/composer-widget.ui:512
msgid "Redo last edit"
msgstr "Gör om senaste redigering"
#: ui/composer-widget.ui:415
#: ui/composer-widget.ui:550
msgid "Bold text"
msgstr "Fet text"
#: ui/composer-widget.ui:439
#: ui/composer-widget.ui:574
msgid "Italic text"
msgstr "Kursiv text"
#: ui/composer-widget.ui:463
#: ui/composer-widget.ui:598
msgid "Underline text"
msgstr "Understryk text"
#: ui/composer-widget.ui:487
#: ui/composer-widget.ui:622
msgid "Strikethrough text"
msgstr "Genomstruken text"
#: ui/composer-widget.ui:525
#: ui/composer-widget.ui:660
msgid "Insert bulleted list"
msgstr "Infoga punktlista"
#: ui/composer-widget.ui:549
#: ui/composer-widget.ui:684
msgid "Insert numbered list"
msgstr "Infoga numrerad lista"
#: ui/composer-widget.ui:587
#: ui/composer-widget.ui:722
msgid "Indent or quote text"
msgstr "Indentera eller citera text"
#: ui/composer-widget.ui:611
#: ui/composer-widget.ui:746
msgid "Un-indent or unquote text"
msgstr "Avindentera eller avcitera text"
#: ui/composer-widget.ui:649
#: ui/composer-widget.ui:784
msgid "Insert or update text link"
msgstr "Infoga eller uppdatera textlänk"
#: ui/composer-widget.ui:673
#: ui/composer-widget.ui:808
msgid "Insert an image"
msgstr "Infoga en bild"
#: ui/composer-widget.ui:707
#: ui/composer-widget.ui:842
msgid "Remove text formatting"
msgstr "Ta bort textformatering"
#: ui/composer-widget.ui:731
#: ui/composer-widget.ui:866
msgid "Select spell checking languages"
msgstr "Välj språk för stavningskontroll"
@ -3488,6 +3489,9 @@ msgstr "_Autentisera"
msgid "Geary update in progress…"
msgstr "Geary-uppgradering pågår…"
#~ msgid "Show Extended Fields"
#~ msgstr "Visa utökade fält"
#~ msgid "Enable notification sounds"
#~ msgstr "Aktivera aviseringsljud"

177
po/tr.po
View file

@ -10,14 +10,14 @@
# Necdet Yücel <necdetyucel@gmail.com>, 2015.
# Simge Sezgin <simgesezgin88@gmail.com>, 2015.
# Muhammet Kara <muhammetk@gmail.com>, 2014, 2016.
# Emin Tufan Çetin <etcetin@gmail.com>, 2016-2019.
# Emin Tufan Çetin <etcetin@gmail.com>, 2016-2020.
#
msgid ""
msgstr ""
"Project-Id-Version: geary.mainline\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/geary/issues\n"
"POT-Creation-Date: 2019-12-17 23:56+0000\n"
"PO-Revision-Date: 2019-12-27 16:09+0300\n"
"POT-Creation-Date: 2020-01-08 10:10+0000\n"
"PO-Revision-Date: 2020-01-10 19:01+0300\n"
"Last-Translator: Emin Tufan Çetin <etcetin@gmail.com>\n"
"Language-Team: Turkish <gnome-turk@gnome.org>\n"
"Language: tr\n"
@ -1205,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:1815
#: src/client/composer/composer-widget.vala:1816
#, c-format
msgid "%s (%s)"
msgstr "%s (%s)"
@ -1307,7 +1307,6 @@ 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"
@ -1567,90 +1566,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:814
#: src/client/composer/composer-widget.vala:815
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:840
#: src/client/composer/composer-widget.vala:841
msgid "Do you want to discard this draft message?"
msgstr "Bu taslak iletiyi gözden çıkarmak istiyor musunuz?"
#: src/client/composer/composer-widget.vala:1484
#: src/client/composer/composer-widget.vala:1485
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:1486
#: src/client/composer/composer-widget.vala:1487
msgid "Send message with an empty subject?"
msgstr "İleti konusu olmadan gönderilsin mi?"
#: src/client/composer/composer-widget.vala:1488
#: src/client/composer/composer-widget.vala:1489
msgid "Send message with an empty body?"
msgstr "İleti, ileti gövdesi olmadan gönderilsin mi?"
#: src/client/composer/composer-widget.vala:1497
#: src/client/composer/composer-widget.vala:1498
msgid "Send message without an attachment?"
msgstr "İleti eki olmadan gönderilsin mi?"
#: src/client/composer/composer-widget.vala:1807
#: src/client/composer/composer-widget.vala:1808
#, c-format
msgid "“%s” already attached for delivery."
msgstr "“%s” gönderim için zaten eklendi."
#: src/client/composer/composer-widget.vala:1837
#: src/client/composer/composer-widget.vala:1887
#: src/client/composer/composer-widget.vala:1838
#: src/client/composer/composer-widget.vala:1888
#, c-format
msgid "“%s” is an empty file."
msgstr "“%s” boş bir dosya."
#: src/client/composer/composer-widget.vala:1875
#: src/client/composer/composer-widget.vala:1876
#, c-format
msgid "“%s” could not be found."
msgstr "“%s” bulunamadı."
#: src/client/composer/composer-widget.vala:1881
#: src/client/composer/composer-widget.vala:1882
#, c-format
msgid "“%s” is a folder."
msgstr "“%s” bir klasör."
#: src/client/composer/composer-widget.vala:1900
#: src/client/composer/composer-widget.vala:1901
#, c-format
msgid "“%s” could not be opened for reading."
msgstr "“%s” okuma için açılamadı."
#: src/client/composer/composer-widget.vala:1908
#: src/client/composer/composer-widget.vala:1909
msgid "Cannot add attachment"
msgstr "Eklenti eklenemiyor"
#. Translators: Human-readable version of the RFC 822 To header
#: src/client/composer/composer-widget.vala:1965
#: 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 "Kime:"
#. Translators: Human-readable version of the RFC 822 CC header
#: src/client/composer/composer-widget.vala:1971
#: 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:1977
#: src/client/composer/composer-widget.vala:1978
#: 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:1983
#: src/client/composer/composer-widget.vala:1984
msgid "Reply-To: "
msgstr "Yanıtla: "
msgstr "Şuna Yanıtla: "
#: src/client/composer/composer-widget.vala:2172
#: src/client/composer/composer-widget.vala:2170
msgid "Select Color"
msgstr "Renk Seç"
@ -1659,20 +1658,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:2364
#: src/client/composer/composer-widget.vala:2362
#, 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:2420
#: src/client/composer/composer-widget.vala:2418
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:2723
#: src/client/composer/composer-widget.vala:2721
msgid "Images"
msgstr "Resimler"
@ -2075,7 +2074,8 @@ msgstr "%a, %b %-e, %Y / %H:%M"
msgid "%a, %b %-e, %Y at %X"
msgstr "%a, %b %-e, %Y / %X"
#: src/client/util/util-email.vala:38 src/engine/rfc822/rfc822-message.vala:998
#: src/client/util/util-email.vala:38
#: src/engine/rfc822/rfc822-message.vala:1000
msgid "(no subject)"
msgstr "(konu yok)"
@ -2414,12 +2414,12 @@ msgstr "Silinen Ögeler"
msgid "Archive | Archives"
msgstr "Arşiv | Arşivler"
#: src/engine/rfc822/rfc822-message.vala:467
#: src/engine/rfc822/rfc822-message.vala:458
#, c-format
msgid "Could not determine mime type for “%s”."
msgstr "“%s” için mime türü saptanamadı."
#: src/engine/rfc822/rfc822-message.vala:475
#: src/engine/rfc822/rfc822-message.vala:469
#, c-format
msgid "Could not determine content type for mime type “%s” on “%s”."
msgstr "“%2$s” üstündeki “%1$s” mime türü için içerik türü saptanamadı."
@ -2596,27 +2596,27 @@ msgstr "Bu Sunucuya _Güven"
msgid "_Dont Trust This Server"
msgstr "Bu Sunucuya Güven_me"
#: ui/composer-headerbar.ui:19 ui/composer-headerbar.ui:176
#: ui/composer-headerbar.ui:18 ui/composer-headerbar.ui:175
msgid "Detach the composer from the window"
msgstr "Oluşturucuyu pencereden ayır"
#: ui/composer-headerbar.ui:59 ui/composer-headerbar.ui:84
#: ui/composer-headerbar.ui:58 ui/composer-headerbar.ui:83
msgid "Attach a file"
msgstr "Dosya ekle"
#: ui/composer-headerbar.ui:108
#: ui/composer-headerbar.ui:107
msgid "Add original attachments"
msgstr "Özgün ekleri ekle"
#: ui/composer-headerbar.ui:204
#: ui/composer-headerbar.ui:203
msgid "_Send"
msgstr "_Gönder"
#: ui/composer-headerbar.ui:231
#: ui/composer-headerbar.ui:230
msgid "Discard and Close"
msgstr "Gözden Çıkar ve Kapat"
#: ui/composer-headerbar.ui:255
#: ui/composer-headerbar.ui:254
msgid "Save and Close"
msgstr "Kaydet ve Kapat"
@ -2670,135 +2670,135 @@ msgstr "Büy_ük"
msgid "C_olor"
msgstr "R_enk"
#: ui/composer-menus.ui:47 ui/composer-menus.ui:62
#: ui/composer-menus.ui:47 ui/composer-menus.ui:56
msgid "_Rich Text"
msgstr "_Zengin Metin"
#: ui/composer-menus.ui:53 ui/composer-menus.ui:68
msgid "Show Extended Fields"
msgstr "Genişletilmiş Alanları Göster"
#: ui/composer-menus.ui:78
#: ui/composer-menus.ui:66
msgid "_Undo"
msgstr "_Geri Al"
#: ui/composer-menus.ui:82
#: ui/composer-menus.ui:70
msgid "_Redo"
msgstr "_Yinele"
#: ui/composer-menus.ui:88 ui/composer-menus.ui:106
#: ui/composer-menus.ui:76 ui/composer-menus.ui:94
msgid "Cu_t"
msgstr "Ke_s"
#: ui/composer-menus.ui:92 ui/composer-menus.ui:110
#: ui/composer-menus.ui:80 ui/composer-menus.ui:98
#: ui/conversation-message-menus.ui:37
msgid "_Copy"
msgstr "_Kopyala"
#: ui/composer-menus.ui:96 ui/composer-menus.ui:114
#: ui/composer-menus.ui:84 ui/composer-menus.ui:102
msgid "_Paste"
msgstr "_Yapıştır"
#: ui/composer-menus.ui:100
#: ui/composer-menus.ui:88
msgctxt "Clipboard paste as plain text"
msgid "Paste _Without Formatting"
msgstr "Biçimlendirmede_n Yapıştır"
#: ui/composer-menus.ui:120
#: ui/composer-menus.ui:108
msgid "Select _All"
msgstr "Tümünü S_eç"
#: ui/composer-menus.ui:127 ui/conversation-message-menus.ui:43
#: ui/composer-menus.ui:115 ui/conversation-message-menus.ui:43
msgid "_Inspect…"
msgstr "_Denetle…"
#. Address(es) e-mail is to be sent to
#: ui/composer-widget.ui:56
msgid "_To"
msgstr "_Kime"
#: ui/composer-widget.ui:75
msgid "_Cc"
msgstr "_Cc"
#: ui/composer-widget.ui:130
msgid "_Subject"
msgstr "_Konu"
#: ui/composer-widget.ui:149
msgid "_Bcc"
msgstr "_Bcc"
#: ui/composer-widget.ui:179
msgid "_Reply-To"
msgstr "_Yanıtla"
#. Geary account mail will be sent from
#: ui/composer-widget.ui:208
#: ui/composer-widget.ui:61
msgid "From"
msgstr "Gönderen"
#: ui/composer-widget.ui:293
#. Address(es) e-mail is to be sent to
#: ui/composer-widget.ui:131
msgid "_To"
msgstr "_Kime"
#: ui/composer-widget.ui:159
msgid "Show Cc, Bcc, and Reply-To fields"
msgstr "Cc, Bcc ve Şuna Yanıtla alanlarını göster"
#: ui/composer-widget.ui:214
msgid "_Cc"
msgstr "_Cc"
#: ui/composer-widget.ui:258
msgid "_Bcc"
msgstr "_Bcc"
#: ui/composer-widget.ui:302
msgid "_Reply-To"
msgstr "_Şuna Yanıtla"
#: ui/composer-widget.ui:355
msgid "_Subject"
msgstr "_Konu"
#: ui/composer-widget.ui:428
msgid "Drop files here"
msgstr "Dosyaları buraya bırak"
#: ui/composer-widget.ui:309
#: ui/composer-widget.ui:444
msgid "To add them as attachments"
msgstr "Onları ek olarak eklemek için"
#: ui/composer-widget.ui:353
#: ui/composer-widget.ui:488
msgid "Undo last edit"
msgstr "Son düzenlemeyi geri al"
#: ui/composer-widget.ui:377
#: ui/composer-widget.ui:512
msgid "Redo last edit"
msgstr "Son düzenlemeyi yinele"
#: ui/composer-widget.ui:415
#: ui/composer-widget.ui:550
msgid "Bold text"
msgstr "Kalın yazı"
#: ui/composer-widget.ui:439
#: ui/composer-widget.ui:574
msgid "Italic text"
msgstr "Eğik metin"
#: ui/composer-widget.ui:463
#: ui/composer-widget.ui:598
msgid "Underline text"
msgstr "Metnin altını çiz"
#: ui/composer-widget.ui:487
#: ui/composer-widget.ui:622
msgid "Strikethrough text"
msgstr "Çizgili metin"
#: ui/composer-widget.ui:525
#: ui/composer-widget.ui:660
msgid "Insert bulleted list"
msgstr "Sırasız liste yerleştir"
#: ui/composer-widget.ui:549
#: ui/composer-widget.ui:684
msgid "Insert numbered list"
msgstr "Sıralı liste yerleştir"
#: ui/composer-widget.ui:587
#: ui/composer-widget.ui:722
msgid "Indent or quote text"
msgstr "Girintile veya metin alıntıla"
#: ui/composer-widget.ui:611
#: ui/composer-widget.ui:746
msgid "Un-indent or unquote text"
msgstr "Girintiyi veya alıntıyı kaldır"
#: ui/composer-widget.ui:649
#: ui/composer-widget.ui:784
msgid "Insert or update text link"
msgstr "Metin bağlantısı ekle veya güncelle"
#: ui/composer-widget.ui:673
#: ui/composer-widget.ui:808
msgid "Insert an image"
msgstr "Resim yerleştir"
#: ui/composer-widget.ui:707
#: ui/composer-widget.ui:842
msgid "Remove text formatting"
msgstr "Metin biçimlendirmeyi kaldır"
#: ui/composer-widget.ui:731
#: ui/composer-widget.ui:866
msgid "Select spell checking languages"
msgstr "Yazım denetimi dillerini seç"
@ -3450,6 +3450,9 @@ msgstr "_Kimlik Doğrula"
msgid "Geary update in progress…"
msgstr "Geary güncellemesi sürüyor…"
#~ msgid "Show Extended Fields"
#~ msgstr "Genişletilmiş Alanları Göster"
#~ msgid "Indexing %s account"
#~ msgstr "%s hesabı dizinleniyor"

View file

@ -243,8 +243,12 @@ internal class Accounts.EditorListPane : Gtk.Grid, EditorPane, CommandPane {
private void on_execute(Application.Command command) {
if (command.executed_label != null) {
int notification_time =
command.executed_notification_brief ?
editor.application.config.brief_notification_duration : 0;
Components.InAppNotification ian =
new Components.InAppNotification(command.executed_label);
new Components.InAppNotification(
command.executed_label, notification_time);
ian.set_button(_("Undo"), Action.Edit.prefix(Action.Edit.UNDO));
this.editor.add_notification(ian);
}

View file

@ -71,6 +71,14 @@ public abstract class Application.Command : GLib.Object {
*/
public string? executed_label { get; protected set; default = null; }
/**
* True if executed_label should be displayed only briefly to the user.
* Set this to true for very frequent notifications.
*/
public bool executed_notification_brief {
get; protected set; default = false;
}
/**
* A human-readable label describing the result of calling {@link undo}.
*

View file

@ -14,6 +14,7 @@ public class Application.Configuration : Geary.BaseObject {
public const string ASK_OPEN_ATTACHMENT_KEY = "ask-open-attachment";
public const string AUTOSELECT_KEY = "autoselect";
public const string BRIEF_NOTIFICATION_DURATION = "brief-notification-duration";
public const string COMPOSER_WINDOW_SIZE_KEY = "composer-window-size";
public const string COMPOSE_AS_HTML_KEY = "compose-as-html";
public const string CONVERSATION_VIEWER_ZOOM_KEY = "conversation-viewer-zoom";
@ -22,6 +23,7 @@ public class Application.Configuration : Geary.BaseObject {
public const string FOLDER_LIST_PANE_POSITION_HORIZONTAL_KEY = "folder-list-pane-position-horizontal";
public const string FOLDER_LIST_PANE_POSITION_KEY = "folder-list-pane-position";
public const string FOLDER_LIST_PANE_POSITION_VERTICAL_KEY = "folder-list-pane-position-vertical";
public const string FORMATTING_TOOLBAR_VISIBLE = "formatting-toolbar-visible";
public const string MESSAGES_PANE_POSITION_KEY = "messages-pane-position";
public const string SEARCH_STRATEGY_KEY = "search-strategy";
public const string SINGLE_KEY_SHORTCUTS = "single-key-shortcuts";
@ -104,6 +106,11 @@ public class Application.Configuration : Geary.BaseObject {
get { return settings.get_boolean(FOLDER_LIST_PANE_HORIZONTAL_KEY); }
}
public bool formatting_toolbar_visible {
get { return settings.get_boolean(FORMATTING_TOOLBAR_VISIBLE); }
set { settings.set_boolean(FORMATTING_TOOLBAR_VISIBLE, value); }
}
public int messages_pane_position {
get { return settings.get_int(MESSAGES_PANE_POSITION_KEY); }
set { settings.set_int(MESSAGES_PANE_POSITION_KEY, value); }
@ -154,6 +161,10 @@ public class Application.Configuration : Geary.BaseObject {
get { return settings.get_int(UNDO_SEND_DELAY); }
}
/** The number of seconds for which brief notifications should be displayed. */
public int brief_notification_duration {
get { return settings.get_int(BRIEF_NOTIFICATION_DURATION); }
}
// Creates a configuration object.
public Configuration(string schema_id) {

View file

@ -1599,7 +1599,9 @@ internal class Application.Controller : Geary.BaseObject {
"Email sent to %s"
).printf(Util.Email.to_short_recipient_display(sent));
Components.InAppNotification notification =
new Components.InAppNotification(message);
new Components.InAppNotification(
message, application.config.brief_notification_duration
);
foreach (MainWindow window in this.application.get_main_windows()) {
window.add_notification(notification);
}
@ -2390,6 +2392,7 @@ private class Application.ArchiveEmailCommand : RevokableCommand {
base(source, conversations, messages);
this.source = source;
this.executed_label = executed_label;
this.executed_notification_brief = true;
this.undone_label = undone_label;
}
@ -2696,13 +2699,14 @@ private class Application.SendComposerCommand : ComposerCommand {
public override async void execute(GLib.Cancellable? cancellable)
throws GLib.Error {
Geary.ComposedEmail email = yield this.composer.get_composed_email();
/// Translators: The label for an in-app notification. The
/// string substitution is a list of recipients of the email.
this.executed_label = _(
"Email to %s queued for delivery"
).printf(Util.Email.to_short_recipient_display(email));
if (this.can_undo) {
/// Translators: The label for an in-app notification. The
/// string substitution is a list of recipients of the email.
this.executed_label = _(
"Email to %s queued for delivery"
).printf(Util.Email.to_short_recipient_display(email));
this.saved = yield this.smtp.save_email(email, cancellable);
this.commit_timer.start();
} else {

View file

@ -1216,7 +1216,7 @@ public class Application.MainWindow :
on_conversation_view_added
);
this.conversations_paned.pack2(this.conversation_viewer, true, true);
this.conversations_paned.pack2(this.conversation_viewer, true, false);
// Main toolbar
this.main_toolbar = new MainToolbar(config);
@ -1230,7 +1230,10 @@ public class Application.MainWindow :
this.main_toolbar.show_close_button = false;
this.main_layout.pack_start(main_toolbar, false, true, 0);
} else {
set_titlebar(this.main_toolbar);
var titlebar = new Hdy.TitleBar();
titlebar.show();
titlebar.add(this.main_toolbar);
set_titlebar(titlebar);
}
// Status bar
@ -2041,8 +2044,11 @@ public class Application.MainWindow :
private void on_command_redo(Command command) {
update_command_actions();
if (command.executed_label != null) {
int notification_time =
command.executed_notification_brief ?
application.config.brief_notification_duration : 0;
Components.InAppNotification ian =
new Components.InAppNotification(command.executed_label);
new Components.InAppNotification(command.executed_label, notification_time);
ian.set_button(_("Undo"), Action.Edit.prefix(Action.Edit.UNDO));
add_notification(ian);
}

View file

@ -26,7 +26,13 @@ public class Components.InAppNotification : Gtk.Revealer {
* @param message The message that should be displayed.
* @param keepalive The amount of seconds that the notification should stay visible.
*/
public InAppNotification(string message, uint keepalive = DEFAULT_KEEPALIVE) {
public InAppNotification(string message, uint keepalive = -1) {
if (keepalive == 0) {
this.message_label.label = "";
return; // skip the notification
}
if (keepalive == -1)
keepalive = DEFAULT_KEEPALIVE;
this.transition_type = Gtk.RevealerTransitionType.SLIDE_DOWN;
this.message_label.label = message;
@ -44,8 +50,10 @@ public class Components.InAppNotification : Gtk.Revealer {
}
public override void show() {
base.show();
this.reveal_child = true;
if (this.message_label.label != "") {
base.show();
this.reveal_child = true;
}
}
/**

View file

@ -0,0 +1,495 @@
/*
* Copyright (C) 2020 Alexander Mikhaylenko <exalm7659@gmail.com>
* Copyright (C) 2020 James Westman <james@flyingpimonster.net>
*
* SPDX-License-Identifier: LGPL-2.1+
*/
#include "config.h"
#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
#define COMPONENTS_TYPE_REFLOW_BOX (components_reflow_box_get_type())
G_DECLARE_FINAL_TYPE (ComponentsReflowBox, components_reflow_box, COMPONENTS, REFLOW_BOX, GtkContainer)
ComponentsReflowBox *components_reflow_box_new (void);
guint components_reflow_box_get_spacing (ComponentsReflowBox *self);
void components_reflow_box_set_spacing (ComponentsReflowBox *self,
guint spacing);
guint components_reflow_box_get_row_spacing (ComponentsReflowBox *self);
void components_reflow_box_set_row_spacing (ComponentsReflowBox *self,
guint row_spacing);
struct _ComponentsReflowBox
{
GtkContainer parent_instance;
GList *children;
guint spacing;
guint row_spacing;
};
G_DEFINE_TYPE (ComponentsReflowBox, components_reflow_box, GTK_TYPE_CONTAINER);
enum {
PROP_0,
PROP_SPACING,
PROP_ROW_SPACING,
LAST_PROP,
};
static GParamSpec *props[LAST_PROP];
static void
components_reflow_box_init (ComponentsReflowBox *self)
{
gtk_widget_set_has_window (GTK_WIDGET (self), FALSE);
}
static void
components_reflow_box_get_property (GObject *object,
guint prop_id,
GValue *value,
GParamSpec *pspec)
{
ComponentsReflowBox *self = COMPONENTS_REFLOW_BOX (object);
switch (prop_id) {
case PROP_SPACING:
g_value_set_uint (value, components_reflow_box_get_spacing (self));
break;
case PROP_ROW_SPACING:
g_value_set_uint (value, components_reflow_box_get_row_spacing (self));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
}
static void
components_reflow_box_set_property (GObject *object,
guint prop_id,
const GValue *value,
GParamSpec *pspec)
{
ComponentsReflowBox *self = COMPONENTS_REFLOW_BOX (object);
switch (prop_id) {
case PROP_SPACING:
components_reflow_box_set_spacing (self, g_value_get_uint (value));
break;
case PROP_ROW_SPACING:
components_reflow_box_set_row_spacing (self, g_value_get_uint (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
}
/**
* components_reflow_box_set_spacing:
* @self: a #ComponentsReflowBox
* @spacing: the spacing
*
* Sets the spacing for @self.
*
* Since: 0.0.14
*/
void
components_reflow_box_set_spacing (ComponentsReflowBox *self,
guint spacing)
{
if (self->spacing == spacing)
return;
self->spacing = spacing;
gtk_widget_queue_resize (GTK_WIDGET (self));
g_object_notify_by_pspec (G_OBJECT (self), props[PROP_SPACING]);
}
/**
* components_reflow_box_get_spacing:
* @self: a #ComponentsReflowBox
*
* Gets the spacing for @self.
*
* Returns: the spacing for @self.
*
* Since: 0.0.14
*/
guint
components_reflow_box_get_spacing (ComponentsReflowBox *self)
{
return self->spacing;
}
/**
* components_reflow_box_set_row_spacing:
* @self: a #ComponentsReflowBox
* @row_spacing: the row spacing
*
* Sets the row spacing for @self.
*
* Since: 0.0.14
*/
void
components_reflow_box_set_row_spacing (ComponentsReflowBox *self,
guint row_spacing)
{
if (self->row_spacing == row_spacing)
return;
self->row_spacing = row_spacing;
gtk_widget_queue_resize (GTK_WIDGET (self));
g_object_notify_by_pspec (G_OBJECT (self), props[PROP_ROW_SPACING]);
}
/**
* components_reflow_box_get_row_spacing:
* @self: a #ComponentsReflowBox
*
* Gets the row spacing for @self.
*
* Returns: the row spacing for @self.
*
* Since: 0.0.14
*/
guint
components_reflow_box_get_row_spacing (ComponentsReflowBox *self)
{
return self->row_spacing;
}
static void
allocate_row (ComponentsReflowBox *self,
GtkAllocation *allocation,
gint y,
GList *row_start,
GList *next_row,
gint row_height,
gint extra_space,
gint n_expand_children)
{
gboolean rtl;
gint x = 0;
gint expand_per_child = 0;
if (row_start == NULL)
return;
rtl = gtk_widget_get_direction (GTK_WIDGET (self)) == GTK_TEXT_DIR_RTL;
if (rtl)
x = allocation->width;
if (n_expand_children > 0) {
expand_per_child = extra_space / n_expand_children;
} else {
GtkAlign align;
align = gtk_widget_get_halign (GTK_WIDGET (self));
if (align == GTK_ALIGN_CENTER) {
if (rtl)
x -= (extra_space / 2);
else
x += (extra_space / 2);
} else if (align == GTK_ALIGN_END) {
if (rtl)
x -= extra_space;
else
x += extra_space;
}
}
for (GList *l = row_start; l != NULL && l != next_row; l = l->next) {
GtkWidget *child = GTK_WIDGET (l->data);
int w, min_w;
GtkAllocation child_alloc;
if (!gtk_widget_get_visible (child))
continue;
gtk_widget_get_preferred_width (child, &min_w, &w);
w = CLAMP (w, min_w, allocation->width);
if (gtk_widget_get_hexpand (child)) {
w += expand_per_child;
}
if (rtl)
x -= w;
child_alloc.x = x + allocation->x;
if (rtl)
x -= self->spacing;
else
x += w + self->spacing;
child_alloc.y = y + allocation->y;
child_alloc.width = w;
child_alloc.height = row_height;
gtk_widget_size_allocate (child, &child_alloc);
}
}
static gint
calculate_sizes (ComponentsReflowBox *self,
GtkAllocation *allocation,
gboolean dry_run)
{
gint x = 0;
gint y = 0;
gint row_height = 0;
GList *row_start = self->children;
gint n_expand_children = 0;
for (GList *l = self->children; l != NULL; l = l->next) {
GtkWidget *child = GTK_WIDGET (l->data);
int w, h, min_w;
if (!gtk_widget_get_visible (child))
continue;
gtk_widget_get_preferred_width (child, &min_w, &w);
gtk_widget_get_preferred_height (child, NULL, &h);
w = CLAMP (w, min_w, allocation->width);
if (x + w > allocation->width) {
/* no more space on this row, create a new one */
/* first, do the allocations for the previous row, if needed */
if (!dry_run) {
allocate_row (self, allocation, y, row_start, l, row_height,
allocation->width + self->spacing - x, n_expand_children);
}
/* now reset everything for the next row */
x = 0;
y += row_height + self->row_spacing;
row_height = 0;
n_expand_children = 0;
row_start = l;
}
if (gtk_widget_get_hexpand (child))
n_expand_children ++;
row_height = MAX (row_height, h);
x += w + self->spacing;
}
if (!dry_run) {
/* allocate the last row */
allocate_row (self, allocation, y, row_start, NULL, row_height,
allocation->width + self->spacing - x, n_expand_children);
}
return y + row_height;
}
static void
components_reflow_box_size_allocate(GtkWidget *widget,
GtkAllocation *allocation)
{
ComponentsReflowBox *self = COMPONENTS_REFLOW_BOX (widget);
calculate_sizes(self, allocation, FALSE);
GTK_WIDGET_CLASS (components_reflow_box_parent_class)->size_allocate (widget, allocation);
}
static GtkSizeRequestMode
components_reflow_box_get_request_mode(GtkWidget *widget)
{
return GTK_SIZE_REQUEST_HEIGHT_FOR_WIDTH;
}
static void
components_reflow_box_get_preferred_width(GtkWidget *widget,
gint *minimum_width,
gint *natural_width)
{
ComponentsReflowBox *self = COMPONENTS_REFLOW_BOX (widget);
gint min = 0;
gint nat = 0;
for (GList *l = self->children; l != NULL; l = l->next) {
GtkWidget *child = GTK_WIDGET (l->data);
int child_min, child_nat;
if (!gtk_widget_get_visible (child))
continue;
gtk_widget_get_preferred_width (child, &child_min, &child_nat);
min = MAX (min, child_min);
nat += child_nat + self->spacing;
}
/* remove the extra spacing, avoid off-by-one error */
if (self->children != NULL)
nat -= self->spacing;
if (minimum_width)
*minimum_width = min;
if (natural_width)
*natural_width = nat;
}
static void
components_reflow_box_get_preferred_width_for_height (GtkWidget *widget,
gint height,
gint *minimum_width,
gint *natural_width)
{
components_reflow_box_get_preferred_width (widget, minimum_width, natural_width);
}
static void
components_reflow_box_get_preferred_height_for_width (GtkWidget *widget,
gint width,
gint *minimum_height,
gint *natural_height)
{
ComponentsReflowBox *self = COMPONENTS_REFLOW_BOX (widget);
GtkAllocation allocation;
gint h;
allocation.width = width;
h = calculate_sizes (self, &allocation, TRUE);
if (minimum_height)
*minimum_height = h;
if (natural_height)
*natural_height = h;
}
static void
components_reflow_box_add (GtkContainer *container,
GtkWidget *widget)
{
ComponentsReflowBox *self = COMPONENTS_REFLOW_BOX (container);
self->children = g_list_append (self->children, widget);
gtk_widget_set_parent (widget, GTK_WIDGET (self));
}
static void
components_reflow_box_remove (GtkContainer *container,
GtkWidget *widget)
{
ComponentsReflowBox *self = COMPONENTS_REFLOW_BOX (container);
gtk_widget_unparent (widget);
self->children = g_list_remove (self->children, widget);
}
static void
components_reflow_box_forall (GtkContainer *container,
gboolean include_internals,
GtkCallback callback,
gpointer callback_data)
{
ComponentsReflowBox *self = COMPONENTS_REFLOW_BOX (container);
// while loop instead of for loop in case the callback removes children
GList *l = self->children;
while (l != NULL) {
GtkWidget *child = GTK_WIDGET (l->data);
l = l->next;
callback (child, callback_data);
}
}
static void
components_reflow_box_class_init (ComponentsReflowBoxClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
GtkContainerClass *container_class = GTK_CONTAINER_CLASS (klass);
object_class->set_property = components_reflow_box_set_property;
object_class->get_property = components_reflow_box_get_property;
widget_class->size_allocate = components_reflow_box_size_allocate;
widget_class->get_request_mode = components_reflow_box_get_request_mode;
widget_class->get_preferred_width = components_reflow_box_get_preferred_width;
widget_class->get_preferred_width_for_height = components_reflow_box_get_preferred_width_for_height;
widget_class->get_preferred_height_for_width = components_reflow_box_get_preferred_height_for_width;
container_class->add = components_reflow_box_add;
container_class->remove = components_reflow_box_remove;
container_class->forall = components_reflow_box_forall;
/**
* ComponentsReflowBox:spacing:
*
* The spacing between children
*
* Since: 0.0.14
*/
props[PROP_SPACING] =
g_param_spec_uint ("spacing",
_("Spacing"),
_("Spacing between children"),
0,
G_MAXUINT,
0,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
/**
* ComponentsReflowBox:row-spacing:
*
* The spacing between rows of children
*
* Since: 0.0.14
*/
props[PROP_ROW_SPACING] =
g_param_spec_uint ("row-spacing",
_("Row spacing"),
_("Spacing between rows of children"),
0,
G_MAXUINT,
0,
G_PARAM_READWRITE | G_PARAM_EXPLICIT_NOTIFY);
g_object_class_install_properties (object_class, LAST_PROP, props);
}
/**
* components_reflow_box_new:
*
* Create a new #ComponentsReflowBox widget.
*
* Returns: The newly created #ComponentsReflowBox widget
*
* Since: 0.0.14
*/
ComponentsReflowBox *
components_reflow_box_new (void)
{
return g_object_new (COMPONENTS_TYPE_REFLOW_BOX, NULL);
}

View file

@ -14,8 +14,6 @@ public class MainToolbar : Gtk.Box {
public string folder { get; set; }
// Close button settings
public bool show_close_button { get; set; default = true; }
public bool show_close_button_left { get; private set; default = true; }
public bool show_close_button_right { get; private set; default = true; }
// Search and find bar
public bool search_open { get; set; default = false; }
public bool find_open { get; set; default = false; }
@ -33,7 +31,6 @@ public class MainToolbar : Gtk.Box {
private Gtk.ToggleButton search_conversations_button;
[GtkChild]
private Gtk.MenuButton main_menu_button;
private Binding guest_header_binding;
// Conversation header elements
[GtkChild]
@ -51,6 +48,9 @@ public class MainToolbar : Gtk.Box {
[GtkChild]
private Gtk.ToggleButton find_button;
[GtkChild]
private Hdy.HeaderGroup header_group;
private bool show_trash_button = true;
// Load these at construction time
@ -72,10 +72,6 @@ public class MainToolbar : Gtk.Box {
this.bind_property("account", this.folder_header, "title", BindingFlags.SYNC_CREATE);
this.bind_property("folder", this.folder_header, "subtitle", BindingFlags.SYNC_CREATE);
}
this.bind_property("show-close-button-left", this.folder_header, "show-close-button",
BindingFlags.SYNC_CREATE);
this.bind_property("show-close-button-right", this.conversation_header, "show-close-button",
BindingFlags.SYNC_CREATE);
// Assemble the main/mark menus
Gtk.Builder builder = new Gtk.Builder.from_resource("/org/gnome/Geary/main-toolbar-menus.ui");
@ -95,27 +91,17 @@ public class MainToolbar : Gtk.Box {
this.bind_property("find-open", this.find_button, "active",
BindingFlags.SYNC_CREATE | BindingFlags.BIDIRECTIONAL);
Gtk.Settings.get_default().notify["gtk-decoration-layout"].connect(set_window_buttons);
this.realize.connect(set_window_buttons);
}
public void set_conversation_header(Gtk.HeaderBar header) {
conversation_header.hide();
header.get_style_context().add_class("geary-titlebar");
header.get_style_context().add_class("geary-titlebar-right");
guest_header_binding = bind_property("show-close-button-right", header,
"show-close-button", BindingFlags.SYNC_CREATE);
this.header_group.add_header_bar(header);
pack_start(header, true, true);
header.decoration_layout = conversation_header.decoration_layout;
}
public void remove_conversation_header(Gtk.HeaderBar header) {
remove(header);
header.get_style_context().remove_class("geary-titlebar");
header.get_style_context().remove_class("geary-titlebar-right");
guest_header_binding.unbind();
header.decoration_layout = Gtk.Settings.get_default().gtk_decoration_layout;
this.header_group.remove_header_bar(header);
conversation_header.show();
}
@ -124,18 +110,6 @@ public class MainToolbar : Gtk.Box {
update_conversation_buttons();
}
private void set_window_buttons() {
string[] buttons = Gtk.Settings.get_default().gtk_decoration_layout.split(":");
this.show_close_button_left = this.show_close_button;
this.show_close_button_right = this.show_close_button;
this.folder_header.decoration_layout = buttons[0] + ":";
this.conversation_header.decoration_layout = (
(buttons.length == 2)
? ":" + buttons[1]
: ""
);
}
// Updates tooltip text depending on number of conversations selected.
private void update_conversation_buttons() {
this.mark_message_button.tooltip_text = ngettext(

View file

@ -26,10 +26,6 @@ public class Composer.Headerbar : Gtk.HeaderBar {
[GtkChild]
private Gtk.Label recipients_label;
[GtkChild]
private Gtk.Button new_message_attach_button;
[GtkChild]
private Gtk.Box conversation_attach_buttons;
[GtkChild]
private Gtk.Button save_and_close_button;
@ -42,6 +38,7 @@ public class Composer.Headerbar : Gtk.HeaderBar {
Gtk.Settings.get_default().notify["gtk-decoration-layout"].connect(
on_gtk_decoration_layout_changed
);
this.show_close_button = this.config.desktop_environment != UNITY;
}
public override void destroy() {
@ -56,11 +53,6 @@ public class Composer.Headerbar : Gtk.HeaderBar {
recipients_button.tooltip_text = tooltip;
}
public void set_show_pending_attachments(bool show) {
this.new_message_attach_button.visible = !show;
this.conversation_attach_buttons.visible = show;
}
internal void set_mode(Widget.PresentationMode mode) {
switch (mode) {
case Widget.PresentationMode.DETACHED:

View file

@ -55,11 +55,16 @@ public class Composer.WebView : Components.WebView {
public string link_url { get; private set; default = ""; }
public string font_family { get; private set; default = "sans"; }
public uint font_size { get; private set; default = 12; }
public Gdk.RGBA font_color {
get;
private set;
default = Util.Gtk.rgba(0, 0, 0, 1);
}
private uint context = 0;
public EditContext(string message) {
string[] values = message.split(",");
string[] values = message.split(";");
this.context = (uint) uint64.parse(values[0]);
this.link_url = values[1];
@ -73,6 +78,10 @@ public class Composer.WebView : Components.WebView {
}
this.font_size = (uint) uint64.parse(values[3]);
Gdk.RGBA font_color = {0, 0, 0, 0};
font_color.parse(values[4]);
this.font_color = font_color;
}
}

View file

@ -11,6 +11,8 @@ private errordomain AttachmentError {
DUPLICATE
}
[CCode (cname = "components_reflow_box_get_type")]
private extern Type components_reflow_box_get_type();
/**
* A widget for editing an email message.
@ -129,8 +131,9 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
private const string ACTION_COLOR = "color";
private const string ACTION_INSERT_IMAGE = "insert-image";
private const string ACTION_INSERT_LINK = "insert-link";
private const string ACTION_COMPOSE_AS_HTML = "compose-as-html";
private const string ACTION_TEXT_FORMAT = "text-format";
private const string ACTION_SHOW_EXTENDED_HEADERS = "show-extended-headers";
private const string ACTION_SHOW_FORMATTING = "show-formatting";
private const string ACTION_DISCARD = "discard";
private const string ACTION_DETACH = "detach";
private const string ACTION_SEND = "send";
@ -180,12 +183,13 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
{ ACTION_ADD_ORIGINAL_ATTACHMENTS, on_pending_attachments },
{ ACTION_CLOSE, on_close },
{ ACTION_DISCARD, on_discard },
{ ACTION_COMPOSE_AS_HTML, on_toggle_action, null, "true", on_compose_as_html_toggled },
{ ACTION_TEXT_FORMAT, null, "s", "'html'", on_text_format },
{ ACTION_DETACH, on_detach },
{ ACTION_OPEN_INSPECTOR, on_open_inspector },
{ ACTION_SELECT_DICTIONARY, on_select_dictionary },
{ ACTION_SEND, on_send },
{ ACTION_SHOW_EXTENDED_HEADERS, on_toggle_action, null, "false", on_show_extended_headers_toggled },
{ ACTION_SHOW_FORMATTING, on_toggle_action, null, "false", on_show_formatting },
};
public static void add_accelerators(Application.Client application) {
@ -310,12 +314,14 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
[GtkChild]
private Gtk.Label from_label;
[GtkChild] private Gtk.Box from_row;
[GtkChild]
private Gtk.Label from_single;
[GtkChild]
private Gtk.ComboBoxText from_multiple;
private Gee.ArrayList<FromAddressMap> from_list = new Gee.ArrayList<FromAddressMap>();
[GtkChild] Gtk.Box to_row;
[GtkChild]
private Gtk.Box to_box;
[GtkChild]
@ -323,32 +329,36 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
private EmailEntry to_entry;
private Components.EntryUndo to_undo;
[GtkChild]
private Gtk.Revealer extended_fields_revealer;
[GtkChild] private Gtk.Revealer extended_fields_revealer;
[GtkChild] Gtk.Box extended_fields_box;
[GtkChild] private Gtk.ToggleButton show_extended_fields;
[GtkChild] private Gtk.Box filled_fields;
[GtkChild] Gtk.Box cc_row;
[GtkChild]
private Gtk.EventBox cc_box;
private Gtk.Box cc_box;
[GtkChild]
private Gtk.Label cc_label;
private EmailEntry cc_entry;
private Components.EntryUndo cc_undo;
[GtkChild] Gtk.Box bcc_row;
[GtkChild]
private Gtk.EventBox bcc_box;
private Gtk.Box bcc_box;
[GtkChild]
private Gtk.Label bcc_label;
private EmailEntry bcc_entry;
private Components.EntryUndo bcc_undo;
[GtkChild] Gtk.Box reply_to_row;
[GtkChild]
private Gtk.EventBox reply_to_box;
private Gtk.Box reply_to_box;
[GtkChild]
private Gtk.Label reply_to_label;
private EmailEntry reply_to_entry;
private Components.EntryUndo reply_to_undo;
[GtkChild]
private Gtk.Label subject_label;
[GtkChild] private Gtk.Box subject_row;
[GtkChild]
private Gtk.Entry subject_entry;
private Components.EntryUndo subject_undo;
@ -371,21 +381,22 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
private Gtk.Widget recipients;
[GtkChild]
private Gtk.Box header_area;
[GtkChild]
private Gtk.Box insert_buttons;
[GtkChild]
private Gtk.Box font_style_buttons;
[GtkChild]
private Gtk.Box list_buttons;
[GtkChild] private Gtk.Button new_message_attach_button;
[GtkChild] private Gtk.Box conversation_attach_buttons;
[GtkChild] private Gtk.Revealer formatting;
[GtkChild] private Gtk.MenuButton font_button;
[GtkChild] private Gtk.Stack font_button_stack;
[GtkChild] private Gtk.MenuButton font_size_button;
[GtkChild] private Gtk.Image font_color_icon;
[GtkChild] private Gtk.MenuButton text_format_button;
[GtkChild]
private Gtk.Button insert_link_button;
[GtkChild]
private Gtk.Button remove_format_button;
[GtkChild]
private Gtk.Button select_dictionary_button;
[GtkChild]
private Gtk.MenuButton menu_button;
[GtkChild]
private Gtk.Label info_label;
[GtkChild]
@ -394,9 +405,6 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
private GLib.SimpleActionGroup composer_actions = new GLib.SimpleActionGroup();
private GLib.SimpleActionGroup editor_actions = new GLib.SimpleActionGroup();
private Menu html_menu;
private Menu plain_menu;
private Menu context_menu_model;
private Menu context_menu_rich_text;
private Menu context_menu_plain_text;
@ -483,6 +491,7 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
public Widget(Application.Client application,
Geary.Account initial_account,
ComposeType compose_type) {
components_reflow_box_get_type();
base_ref();
this.application = application;
this.account = initial_account;
@ -516,18 +525,21 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
this.to_undo = new Components.EntryUndo(this.to_entry);
this.cc_entry = new EmailEntry(this);
this.cc_entry.hexpand = true;
this.cc_entry.changed.connect(on_envelope_changed);
this.cc_box.add(cc_entry);
this.cc_label.set_mnemonic_widget(this.cc_entry);
this.cc_undo = new Components.EntryUndo(this.cc_entry);
this.bcc_entry = new EmailEntry(this);
this.bcc_entry.hexpand = true;
this.bcc_entry.changed.connect(on_envelope_changed);
this.bcc_box.add(bcc_entry);
this.bcc_label.set_mnemonic_widget(this.bcc_entry);
this.bcc_undo = new Components.EntryUndo(this.bcc_entry);
this.reply_to_entry = new EmailEntry(this);
this.reply_to_entry.hexpand = true;
this.reply_to_entry.changed.connect(on_envelope_changed);
this.reply_to_box.add(reply_to_entry);
this.reply_to_label.set_mnemonic_widget(this.reply_to_entry);
@ -551,8 +563,6 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
Gtk.Builder builder = new Gtk.Builder.from_resource(
"/org/gnome/Geary/composer-menus.ui"
);
this.html_menu = (Menu) builder.get_object("html_menu_model");
this.plain_menu = (Menu) builder.get_object("plain_menu_model");
this.context_menu_model = (Menu) builder.get_object("context_menu_model");
this.context_menu_rich_text = (Menu) builder.get_object("context_menu_rich_text");
this.context_menu_plain_text = (Menu) builder.get_object("context_menu_plain_text");
@ -610,7 +620,14 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
);
this.background_work_pulse.repetition = FOREVER;
// Set the from_multiple combo box to ellipsize. This can't be done
// from the .ui file.
var cells = this.from_multiple.get_cells();
((Gtk.CellRendererText) cells.data).ellipsize = END;
load_entry_completions();
update_color_icon.begin(Util.Gtk.rgba(0, 0, 0, 0));
}
public Widget.from_mailbox(Application.Client application,
@ -754,8 +771,8 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
// model and hence the menu_button constructs a new
// popover.
this.composer_actions.change_action_state(
ACTION_COMPOSE_AS_HTML,
this.application.config.compose_as_html
ACTION_TEXT_FORMAT,
this.application.config.compose_as_html ? "html" : "plain"
);
set_mode(DETACHED);
@ -1036,7 +1053,6 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
switch (this.compose_type) {
// Restoring a draft
case ComposeType.NEW_MESSAGE:
bool show_extended = false;
if (referred.from != null)
this.from = referred.from;
if (referred.to != null)
@ -1044,11 +1060,9 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
if (referred.cc != null)
this.cc_entry.addresses = referred.cc;
if (referred.bcc != null) {
show_extended = true;
this.bcc_entry.addresses = referred.bcc;
}
if (referred.reply_to != null) {
show_extended = true;
this.reply_to_entry.addresses = referred.reply_to;
}
if (referred.in_reply_to != null)
@ -1067,14 +1081,6 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
} catch (Error error) {
debug("Error getting draft message body: %s", error.message);
}
if (show_extended) {
this.editor_actions.change_action_state(
ACTION_SHOW_EXTENDED_HEADERS, true
);
this.composer_actions.change_action_state(
ACTION_SHOW_EXTENDED_HEADERS, true
);
}
break;
case ComposeType.REPLY:
@ -1097,6 +1103,8 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
Geary.RFC822.TextFormat.HTML);
break;
}
update_extended_headers();
return referred_quote;
}
@ -1146,10 +1154,16 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
ACTION_SHOW_EXTENDED_HEADERS, false
);
entries_users.change_action_state(
ACTION_COMPOSE_AS_HTML, this.application.config.compose_as_html
ACTION_TEXT_FORMAT,
this.application.config.compose_as_html ? "html" : "plain"
);
}
this.composer_actions.change_action_state(
ACTION_SHOW_FORMATTING,
this.application.config.formatting_toolbar_visible
);
get_action(Action.Edit.UNDO).set_enabled(false);
get_action(Action.Edit.REDO).set_enabled(false);
@ -1421,10 +1435,6 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
if (this.container != null) {
this.container.top_window.title = subject;
}
if (this.application.config.desktop_environment != UNITY) {
this.header.title = subject;
}
}
internal void set_mode(PresentationMode new_mode) {
@ -1435,20 +1445,17 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
case PresentationMode.DETACHED:
case PresentationMode.PANED:
this.recipients.set_visible(true);
this.subject_label.set_visible(true);
this.subject_entry.set_visible(true);
this.subject_row.visible = true;
break;
case PresentationMode.INLINE:
this.recipients.set_visible(true);
this.subject_label.set_visible(false);
this.subject_entry.set_visible(false);
this.subject_row.visible = false;
break;
case PresentationMode.INLINE_COMPACT:
this.recipients.set_visible(false);
this.subject_label.set_visible(false);
this.subject_entry.set_visible(false);
this.subject_row.visible = false;
set_compact_header_recipients();
break;
}
@ -1795,7 +1802,10 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
}
}
}
this.header.set_show_pending_attachments(manual_enabled);
this.new_message_attach_button.visible = !manual_enabled;
this.conversation_attach_buttons.visible = manual_enabled;
return have_added;
}
@ -2114,31 +2124,63 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
action.change_state(!action.state.get_boolean());
}
private void on_compose_as_html_toggled(SimpleAction? action, Variant? new_state) {
bool compose_as_html = new_state.get_boolean();
action.set_state(compose_as_html);
private void on_text_format(SimpleAction? action, Variant? new_state) {
bool compose_as_html = new_state.get_string() == "html";
action.set_state(new_state.get_string());
foreach (string html_action in HTML_ACTIONS)
get_action(html_action).set_enabled(compose_as_html);
update_cursor_actions();
this.insert_buttons.visible = compose_as_html;
this.font_style_buttons.visible = compose_as_html;
this.list_buttons.visible = compose_as_html;
this.remove_format_button.visible = compose_as_html;
this.menu_button.menu_model = (compose_as_html) ? this.html_menu : this.plain_menu;
var show_formatting = (SimpleAction) this.composer_actions.lookup_action(ACTION_SHOW_FORMATTING);
show_formatting.set_enabled(compose_as_html);
update_formatting_toolbar();
this.editor.set_rich_text(compose_as_html);
this.application.config.compose_as_html = compose_as_html;
this.text_format_button.popover.popdown();
}
private void reparent_widget(Gtk.Widget child, Gtk.Container new_parent) {
((Gtk.Container) child.get_parent()).remove(child);
new_parent.add(child);
}
private void update_extended_headers(bool reorder=true) {
bool cc = this.cc_entry.addresses != null;
bool bcc = this.bcc_entry.addresses != null;
bool reply_to = this.reply_to_entry.addresses != null;
if (reorder) {
if (cc) {
reparent_widget(this.cc_row, this.filled_fields);
} else {
reparent_widget(this.cc_row, this.extended_fields_box);
}
if (bcc) {
reparent_widget(this.bcc_row, this.filled_fields);
} else {
reparent_widget(this.bcc_row, this.extended_fields_box);
}
if (reply_to) {
reparent_widget(this.reply_to_row, this.filled_fields);
} else {
reparent_widget(this.reply_to_row, this.extended_fields_box);
}
}
this.show_extended_fields.visible = !(cc && bcc && reply_to);
}
private void on_show_extended_headers_toggled(GLib.SimpleAction? action,
GLib.Variant? new_state) {
bool show_extended = new_state.get_boolean();
action.set_state(show_extended);
update_extended_headers();
this.extended_fields_revealer.reveal_child = show_extended;
if (show_extended && this.current_mode == INLINE_COMPACT) {
@ -2146,11 +2188,29 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
}
}
private void update_formatting_toolbar() {
var show_formatting = (SimpleAction) this.composer_actions.lookup_action(ACTION_SHOW_FORMATTING);
var text_format = (SimpleAction) this.composer_actions.lookup_action(ACTION_TEXT_FORMAT);
this.formatting.reveal_child = text_format.get_state().get_string() == "html" && show_formatting.get_state().get_boolean();
}
private void on_show_formatting(SimpleAction? action, Variant? new_state) {
bool show_formatting = new_state.get_boolean();
this.application.config.formatting_toolbar_visible = show_formatting;
action.set_state(new_state);
update_formatting_toolbar();
}
private void on_font_family(SimpleAction action, Variant? param) {
string font = param.get_string();
this.editor.execute_editing_command_with_argument(
"fontname", param.get_string()
"fontname", font
);
action.set_state(param.get_string());
action.set_state(font);
this.font_button_stack.visible_child_name = font;
this.font_button.popover.popdown();
}
private void on_font_size(SimpleAction action, Variant? param) {
@ -2164,15 +2224,35 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
this.editor.execute_editing_command_with_argument("fontsize", size);
action.set_state(param.get_string());
this.font_size_button.popover.popdown();
}
private async void update_color_icon(Gdk.RGBA color) {
var theme = Gtk.IconTheme.get_default();
var icon = theme.lookup_icon("font-color-symbolic", 16, 0);
Gdk.RGBA fg_color = Util.Gtk.rgba(0, 0, 0, 1);
this.get_style_context().lookup_color("theme_fg_color", out fg_color);
try {
var pixbuf = yield icon.load_symbolic_async(fg_color, color, null, null, null);
this.font_color_icon.pixbuf = pixbuf;
} catch(Error e) {
warning("Could not load icon `font-color-symbolic`!");
this.font_color_icon.icon_name = "font-color-symbolic";
}
}
private void on_select_color() {
Gtk.ColorChooserDialog dialog = new Gtk.ColorChooserDialog(_("Select Color"),
this.container.top_window);
if (dialog.run() == Gtk.ResponseType.OK) {
var rgba = dialog.get_rgba();
this.editor.execute_editing_command_with_argument(
"forecolor", dialog.get_rgba().to_string()
"forecolor", rgba.to_string()
);
this.update_color_icon.begin(rgba);
}
dialog.destroy();
}
@ -2392,7 +2472,7 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
// the from address had to be set
private bool update_from_field() {
this.from_multiple.changed.disconnect(on_from_changed);
this.from_single.visible = this.from_multiple.visible = this.from_label.visible = false;
this.from_single.visible = this.from_multiple.visible = this.from_row.visible = false;
// Don't show in inline unless the current account has
// multiple email accounts or aliases, since these will be replies to a
@ -2411,7 +2491,7 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
return false;
}
this.from_label.visible = true;
this.from_row.visible = true;
this.from_label.set_mnemonic_widget(this.from_multiple);
// Composer label (with mnemonic underscore) for the account selector
// when choosing what address to send a message from.
@ -2607,6 +2687,7 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
[GtkCallback]
private void on_envelope_changed() {
draft_changed();
update_extended_headers(false);
}
private void on_from_changed() {
@ -2657,6 +2738,8 @@ public class Composer.Widget : Gtk.EventBox, Geary.BaseInterface {
ACTION_FONT_FAMILY, context.font_family
);
this.update_color_icon.begin(context.font_color);
if (context.font_size < 11)
this.editor_actions.change_action_state(ACTION_FONT_SIZE, "small");
else if (context.font_size > 20)

View file

@ -44,7 +44,6 @@ public class Composer.Window : Gtk.ApplicationWindow, Container {
if (application.config.desktop_environment == UNITY) {
composer.embed_header();
} else {
composer.header.show_close_button = true;
set_titlebar(this.composer.header);
}

View file

@ -60,6 +60,8 @@ public class SpellCheckPopover {
this.is_lang_visible = is_active || is_visible;
Gtk.Box box = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 6);
box.margin = 6;
box.margin_start = 12;
lang_name = Util.International.language_name_from_locale(lang_code);
country_name = Util.International.country_name_from_locale(lang_code);
@ -69,7 +71,6 @@ public class SpellCheckPopover {
label_text += " (" + country_name + ")";
Gtk.Label label = new Gtk.Label(label_text);
label.set_halign(Gtk.Align.START);
label.set_size_request(-1, 24);
box.pack_start(label, false, false);

View file

@ -37,6 +37,7 @@ geary_client_vala_sources = files(
'components/components-inspector-system-view.vala',
'components/components-placeholder-pane.vala',
'components/components-preferences-window.vala',
'components/components-reflow-box.c',
'components/components-search-bar.vala',
'components/components-validator.vala',
'components/components-web-view.vala',

View file

@ -218,4 +218,13 @@ namespace Util.Gtk {
return new_url;
}
public Gdk.RGBA rgba(double red, double green, double blue, double alpha) {
return Gdk.RGBA() {
red = red,
green = green,
blue = blue,
alpha = alpha
};
}
}

@ -1 +0,0 @@
Subproject commit b6ff87ea07c69171aa7c743d8c2740527b525271

View file

@ -35,15 +35,20 @@ public class Composer.WebViewTest : Components.WebViewTestCase<Composer.WebView>
}
public void edit_context() throws Error {
assert(!(new WebView.EditContext("0,,,").is_link));
assert(new WebView.EditContext("1,,,").is_link);
assert(new WebView.EditContext("1,url,,").link_url == "url");
assert(!(new WebView.EditContext("0;;;;").is_link));
assert(new WebView.EditContext("1;;;;").is_link);
assert(new WebView.EditContext("1;url;;;").link_url == "url");
assert(new WebView.EditContext("0,,Helvetica,").font_family == "sans");
assert(new WebView.EditContext("0,,Times New Roman,").font_family == "serif");
assert(new WebView.EditContext("0,,Courier,").font_family == "monospace");
assert(new WebView.EditContext("0;;Helvetica;;").font_family == "sans");
assert(new WebView.EditContext("0;;Times New Roman;;").font_family == "serif");
assert(new WebView.EditContext("0;;Courier;;").font_family == "monospace");
assert(new WebView.EditContext("0,,,12").font_size == 12);
assert(new WebView.EditContext("0;;;12;").font_size == 12);
assert(new WebView.EditContext("0;;;;rgb(0, 0, 0)").font_color == Util.Gtk.rgba(0, 0, 0, 1));
assert(new WebView.EditContext("0;;;;rgb(255, 0, 0)").font_color == Util.Gtk.rgba(1, 0, 0, 1));
assert(new WebView.EditContext("0;;;;rgb(0, 255, 0)").font_color == Util.Gtk.rgba(0, 1, 0, 1));
assert(new WebView.EditContext("0;;;;rgb(0, 0, 255)").font_color == Util.Gtk.rgba(0, 0, 1, 1));
}
public void get_html() throws GLib.Error {

View file

@ -127,7 +127,7 @@ class Composer.PageStateTest : Components.WebViewTestCase<Composer.WebView> {
Util.JS.to_string(
run_javascript(@"new EditContext(document.getElementById('test')).encode()")
.get_js_value()
).has_prefix("1,url,"));
).has_prefix("1;url;"));
} catch (Util.JS.Error err) {
print("Util.JS.Error: %s\n", err.message);
assert_not_reached();
@ -138,7 +138,7 @@ class Composer.PageStateTest : Components.WebViewTestCase<Composer.WebView> {
}
public void edit_context_font() throws Error {
string html = "<p id=\"test\" style=\"font-family: Comic Sans; font-size: 144\">para</p>";
string html = "<p id=\"test\" style=\"font-family: Comic Sans; font-size: 144; color: #FF7F01\">para</p>";
load_body_fixture(html);
try {
@ -146,7 +146,7 @@ class Composer.PageStateTest : Components.WebViewTestCase<Composer.WebView> {
Util.JS.to_string(
run_javascript(@"new EditContext(document.getElementById('test')).encode()")
.get_js_value()
) == "0,,Comic Sans,144");
) == "0;;Comic Sans;144;rgb(255, 127, 1)");
} catch (Util.JS.Error err) {
print("Util.JS.Error: %s\n", err.message);
assert_not_reached();

View file

@ -5,6 +5,11 @@
<template class="ComposerHeaderbar" parent="GtkHeaderBar">
<property name="visible">True</property>
<property name="can_focus">False</property>
<child type="title">
<object class="GtkBox">
<property name="visible">False</property>
</object>
</child>
<child>
<object class="GtkBox" id="detach_start">
<property name="visible">True</property>
@ -50,85 +55,12 @@
</object>
</child>
<child>
<object class="GtkButton" id="new_message_attach_button">
<object class="GtkButton">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="focus_on_click">False</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Attach a file</property>
<property name="action_name">cmh.add-attachment</property>
<property name="always_show_image">True</property>
<child>
<object class="GtkImage" id="new_message_attach_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixel_size">16</property>
<property name="icon_name">mail-attachment-symbolic</property>
</object>
</child>
<property name="label">Cancel</property>
<property name="action_name">cmh.composer-close</property>
</object>
<packing>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkBox" id="conversation_attach_buttons">
<property name="can_focus">False</property>
<child>
<object class="GtkButton" id="conversation_attach_new_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="focus_on_click">False</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Attach a file</property>
<property name="action_name">cmh.add-attachment</property>
<property name="always_show_image">True</property>
<child>
<object class="GtkImage" id="conversation_attach_new_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixel_size">16</property>
<property name="icon_name">mail-attachment-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkButton" id="conversation_attach_original_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="focus_on_click">False</property>
<property name="receives_default">False</property>
<property name="tooltip_text" translatable="yes">Add original attachments</property>
<property name="action_name">cmh.add-original-attachments</property>
<property name="always_show_image">True</property>
<child>
<object class="GtkImage" id="conversation_attach_original_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="pixel_size">16</property>
<property name="icon_name">edit-copy-symbolic</property>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<style>
<class name="linked"/>
</style>
</object>
<packing>
<property name="position">2</property>
</packing>
</child>
<child>
<object class="GtkButton" id="recipients_button">

View file

@ -4,7 +4,7 @@
<requires lib="gtk+" version="3.14"/>
<template class="ComposerLinkPopover" parent="GtkPopover">
<property name="can_focus">False</property>
<property name="position">bottom</property>
<property name="position">top</property>
<child>
<object class="GtkGrid">
<property name="visible">True</property>

View file

@ -1,64 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<menu id="html_menu_model">
<section>
<item>
<attribute name="label" translatable="yes">S_ans Serif</attribute>
<attribute name="action">edt.font-family</attribute>
<attribute name="target">sans</attribute>
</item>
<item>
<attribute name="label" translatable="yes">S_erif</attribute>
<attribute name="action">edt.font-family</attribute>
<attribute name="target">serif</attribute>
</item>
<item>
<attribute name="label" translatable="yes">_Fixed Width</attribute>
<attribute name="action">edt.font-family</attribute>
<attribute name="target">monospace</attribute>
</item>
</section>
<section>
<item>
<attribute name="label" translatable="yes">_Small</attribute>
<attribute name="action">edt.font-size</attribute>
<attribute name="target">small</attribute>
</item>
<item>
<attribute name="label" translatable="yes">_Medium</attribute>
<attribute name="action">edt.font-size</attribute>
<attribute name="target">medium</attribute>
</item>
<item>
<attribute name="label" translatable="yes">Lar_ge</attribute>
<attribute name="action">edt.font-size</attribute>
<attribute name="target">large</attribute>
</item>
</section>
<section>
<item>
<attribute name="label" translatable="yes">C_olor</attribute>
<attribute name="action">edt.color</attribute>
</item>
</section>
<section>
<item>
<attribute name="label" translatable="yes">_Rich Text</attribute>
<attribute name="action">win.compose-as-html</attribute>
</item>
</section>
</menu>
<menu id="plain_menu_model">
<section>
<item>
<attribute name="label" translatable="yes">_Rich Text</attribute>
<attribute name="action">win.compose-as-html</attribute>
</item>
</section>
</menu>
<menu id="context_menu_model">
<section id="context_menu_webkit_spelling"/>
<section>

View file

@ -684,21 +684,24 @@ EditContext.prototype = {
}
this.fontFamily = fontFamily;
this.fontSize = styles.getPropertyValue("font-size").replace("px", "");
this.fontColor = styles.getPropertyValue("color");
},
equals: function(other) {
return other != null
&& this.context == other.context
&& this.linkUrl == other.linkUrl
&& this.fontFamily == other.fontFamily
&& this.fontSize == other.fontSize;
&& this.fontSize == other.fontSize
&& this.fontColor == other.fontColor;
},
encode: function() {
return [
this.context.toString(16),
this.linkUrl,
this.fontFamily,
this.fontSize
].join(",");
this.fontSize,
this.fontColor
].join(";");
}
};

File diff suppressed because it is too large Load diff

View file

@ -45,15 +45,6 @@
border-right: 0;
}
.geary-titlebar-left:dir(ltr),
.geary-titlebar-right:dir(rtl) {
border-top-right-radius: 0px;
}
.geary-titlebar-right:dir(ltr),
.geary-titlebar-left:dir(rtl) {
border-top-left-radius: 0px;
}
/* MainWindowInfoBarSet */
.geary-info-bar-frame > border {

View file

@ -14,6 +14,7 @@
<object class="GtkHeaderBar" id="folder_header">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_close_button" bind-source="MainToolbar" bind-property="show_close_button" bind-flags="sync-create"/>
<child>
<object class="GtkButton" id="compose_new_message_button">
<property name="visible">True</property>
@ -73,10 +74,6 @@
<property name="position">3</property>
</packing>
</child>
<style>
<class name="geary-titlebar"/>
<class name="geary-titlebar-left"/>
</style>
</object>
<packing>
<property name="expand">False</property>
@ -89,6 +86,9 @@
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<style>
<class name="sidebar"/>
</style>
</object>
<packing>
<property name="expand">False</property>
@ -100,7 +100,7 @@
<object class="GtkHeaderBar" id="conversation_header">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="show_close_button">True</property>
<property name="show_close_button" bind-source="MainToolbar" bind-property="show_close_button" bind-flags="sync-create"/>
<child>
<object class="GtkBox" id="reply_forward_buttons">
<property name="visible">True</property>
@ -331,11 +331,6 @@
<property name="position">4</property>
</packing>
</child>
<style>
<class name="geary-titlebar"/>
<class name="geary-titlebar-right"/>
<class name="titlebar"/>
</style>
</object>
<packing>
<property name="expand">True</property>
@ -344,4 +339,10 @@
</packing>
</child>
</template>
<object class="HdyHeaderGroup" id="header_group">
<headerbars>
<headerbar name="folder_header"/>
<headerbar name="conversation_header"/>
</headerbars>
</object>
</interface>