Merge lp:~leonardolemos/pantheon-mail/fix-translations into lp:~elementary-apps/pantheon-mail/trunk

Proposed by Leonardo Lemos
Status: Merged
Approved by: Corentin Noël
Approved revision: 2060
Merged at revision: 2054
Proposed branch: lp:~leonardolemos/pantheon-mail/fix-translations
Merge into: lp:~elementary-apps/pantheon-mail/trunk
Diff against target: 971 lines (+383/-201)
11 files modified
cmake/Translations.cmake (+206/-135)
cmake/ValaPrecompile.cmake (+88/-50)
cmake/ValaVersion.cmake (+3/-3)
data/CMakeLists.txt (+10/-3)
data/mail-attach.contract (+1/-1)
data/pantheon-mail-autostart.desktop.in.in (+3/-3)
data/pantheon-mail.desktop.in.in (+5/-5)
po/CMakeLists.txt (+3/-0)
po/extra/extra.pot (+33/-0)
po/pantheon-mail.pot (+29/-1)
src/Translations.vala (+2/-0)
To merge this branch: bzr merge lp:~leonardolemos/pantheon-mail/fix-translations
Reviewer Review Type Date Requested Status
Corentin Noël Needs Fixing
Review via email: mp+294730@code.launchpad.net

Commit message

Correctly translate the Desktop files.
Translate the contract files.

Description of the change

This branch fixes lp:1577023 and lp:1577995 issues by making correct use of CMake Translations module for .desktop files and using the Translations.vala workaround for .contract files.

To post a comment you must log in.
Revision history for this message
Corentin Noël (tintou) wrote :

Two remaining issues in the code

review: Needs Fixing
2060. By Leonardo Lemos

Fix CMakeLists.txt file

Revision history for this message
Rico Tzschichholz (ricotz) wrote :
Revision history for this message
Rico Tzschichholz (ricotz) wrote :

PLEASE TEST BUILD!

I can confirm that this breaks the build in some non-obvious way and therefore should not have been merged.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'cmake/Translations.cmake'
2--- cmake/Translations.cmake 2015-11-20 20:12:38 +0000
3+++ cmake/Translations.cmake 2016-05-17 01:07:53 +0000
4@@ -1,135 +1,206 @@
5-# Translations.cmake, CMake macros written for Marlin, feel free to re-use them
6-
7-macro (add_translations_directory NLS_PACKAGE)
8- add_custom_target (i18n ALL COMMENT “Building i18n messages.”)
9- find_program (MSGFMT_EXECUTABLE msgfmt)
10- # be sure that all languages are present
11- # Using all usual languages code from https://www.gnu.org/software/gettext/manual/html_node/Language-Codes.html#Language-Codes
12- # Rare language codes should be added on-demand.
13- set (LANGUAGES_NEEDED aa ab ae af ak am an ar as ast av ay az ba be bg bh bi bm bn bo br bs ca ce ch ckb co cr cs cu cv cy da de dv dz ee el en_AU en_CA en_GB eo es et eu fa ff fi fj fo fr fr_CA fy ga gd gl gn gu gv ha he hi ho hr ht hu hy hz ia id ie ig ii ik io is it iu ja jv ka kg ki kj kk kl km kn ko kr ks ku kv kw ky la lb lg li ln lo lt lu lv mg mh mi mk ml mn mo mr ms mt my na nb nd ne ng nl nn no nr nv ny oc oj om or os pa pi pl ps pt pt_BR qu rm rn ro ru rue rw sa sc sd se sg si sk sl sm sma sn so sq sr ss st su sv sw ta te tg th ti tk tl tn to tr ts tt tw ty ug uk ur uz ve vi vo wa wo xh yi yo za zh zh_CN zh_HK zh_TW zu)
14- foreach (LANGUAGE_NEEDED ${LANGUAGES_NEEDED})
15- create_po_file (${LANGUAGE_NEEDED})
16- endforeach (LANGUAGE_NEEDED ${LANGUAGES_NEEDED})
17- # generate .mo from .po
18- file (GLOB PO_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.po)
19- foreach (PO_INPUT ${PO_FILES})
20- get_filename_component (PO_INPUT_BASE ${PO_INPUT} NAME_WE)
21- set (MO_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${PO_INPUT_BASE}.mo)
22- add_custom_command (TARGET i18n COMMAND ${MSGFMT_EXECUTABLE} -o ${MO_OUTPUT} ${PO_INPUT})
23-
24- install (FILES ${MO_OUTPUT} DESTINATION
25- share/locale/${PO_INPUT_BASE}/LC_MESSAGES
26- RENAME ${NLS_PACKAGE}.mo)
27- endforeach (PO_INPUT ${PO_FILES})
28-endmacro (add_translations_directory)
29-
30-# Apply the right default template.
31-macro (create_po_file LANGUAGE_NEEDED)
32- set (FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LANGUAGE_NEEDED}.po)
33- if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LANGUAGE_NEEDED}.po)
34- file (APPEND ${FILE} "msgid \"\"\n")
35- file (APPEND ${FILE} "msgstr \"\"\n")
36- file (APPEND ${FILE} "\"MIME-Version: 1.0\\n\"\n")
37- file (APPEND ${FILE} "\"Content-Type: text/plain; charset=UTF-8\\n\"\n")
38-
39- if ("${LANGUAGE_NEEDED}" STREQUAL "ja"
40- OR "${LANGUAGE_NEEDED}" STREQUAL "vi"
41- OR "${LANGUAGE_NEEDED}" STREQUAL "ko")
42- file (APPEND ${FILE} "\"Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;\\n\"\n")
43- elseif ("${LANGUAGE_NEEDED}" STREQUAL "en"
44- OR "${LANGUAGE_NEEDED}" STREQUAL "de"
45- OR "${LANGUAGE_NEEDED}" STREQUAL "nl"
46- OR "${LANGUAGE_NEEDED}" STREQUAL "sv"
47- OR "${LANGUAGE_NEEDED}" STREQUAL "nb"
48- OR "${LANGUAGE_NEEDED}" STREQUAL "nn"
49- OR "${LANGUAGE_NEEDED}" STREQUAL "nb"
50- OR "${LANGUAGE_NEEDED}" STREQUAL "no"
51- OR "${LANGUAGE_NEEDED}" STREQUAL "fo"
52- OR "${LANGUAGE_NEEDED}" STREQUAL "es"
53- OR "${LANGUAGE_NEEDED}" STREQUAL "pt"
54- OR "${LANGUAGE_NEEDED}" STREQUAL "it"
55- OR "${LANGUAGE_NEEDED}" STREQUAL "bg"
56- OR "${LANGUAGE_NEEDED}" STREQUAL "he"
57- OR "${LANGUAGE_NEEDED}" STREQUAL "fi"
58- OR "${LANGUAGE_NEEDED}" STREQUAL "et"
59- OR "${LANGUAGE_NEEDED}" STREQUAL "eo"
60- OR "${LANGUAGE_NEEDED}" STREQUAL "hu"
61- OR "${LANGUAGE_NEEDED}" STREQUAL "tr"
62- OR "${LANGUAGE_NEEDED}" STREQUAL "es")
63- file (APPEND ${FILE} "\"Plural-Forms: nplurals=2; plural=n != 1;\\n\"\n")
64- elseif ("${LANGUAGE_NEEDED}" STREQUAL "fr"
65- OR "${LANGUAGE_NEEDED}" STREQUAL "fr_CA"
66- OR "${LANGUAGE_NEEDED}" STREQUAL "pt_BR")
67- file (APPEND ${FILE} "\"Plural-Forms: nplurals=2; plural=n>1;\\n\"\n")
68- elseif ("${LANGUAGE_NEEDED}" STREQUAL "lv")
69- file (APPEND ${FILE} "\"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\\n\"\n")
70- elseif ("${LANGUAGE_NEEDED}" STREQUAL "ro")
71- file (APPEND ${FILE} "\"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2;\\n\"\n")
72- elseif ("${LANGUAGE_NEEDED}" STREQUAL "lt")
73- file (APPEND ${FILE} "\"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2;\\n\"\n")
74- elseif ("${LANGUAGE_NEEDED}" STREQUAL "ru"
75- OR "${LANGUAGE_NEEDED}" STREQUAL "uk"
76- OR "${LANGUAGE_NEEDED}" STREQUAL "be"
77- OR "${LANGUAGE_NEEDED}" STREQUAL "sr"
78- OR "${LANGUAGE_NEEDED}" STREQUAL "hr")
79- file (APPEND ${FILE} "\"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\\n\"\n")
80- elseif ("${LANGUAGE_NEEDED}" STREQUAL "cs"
81- OR "${LANGUAGE_NEEDED}" STREQUAL "sk")
82- file (APPEND ${FILE} "\"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\\n\"\n")
83- elseif ("${LANGUAGE_NEEDED}" STREQUAL "pl")
84- file (APPEND ${FILE} "\"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\\n\"\n")
85- elseif ("${LANGUAGE_NEEDED}" STREQUAL "sl")
86- file (APPEND ${FILE} "\"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\\n\"\n")
87- endif ()
88-
89- endif ()
90-endmacro (create_po_file)
91-
92-macro (add_translations_catalog NLS_PACKAGE)
93- add_custom_target (pot COMMENT “Building translation catalog.”)
94- find_program (XGETTEXT_EXECUTABLE xgettext)
95-
96- set(C_SOURCE "")
97- set(VALA_SOURCE "")
98- set(GLADE_SOURCE "")
99-
100- foreach(FILES_INPUT ${ARGN})
101- set(BASE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${FILES_INPUT})
102-
103- file (GLOB_RECURSE SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/ ${BASE_DIRECTORY}/*.c)
104- foreach(C_FILE ${SOURCE_FILES})
105- set(C_SOURCE ${C_SOURCE} ${C_FILE})
106- endforeach()
107-
108- file (GLOB_RECURSE SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/ ${BASE_DIRECTORY}/*.vala)
109- foreach(VALA_C_FILE ${SOURCE_FILES})
110- set(VALA_SOURCE ${VALA_SOURCE} ${VALA_C_FILE})
111- endforeach()
112-
113- file (GLOB_RECURSE SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/ ${BASE_DIRECTORY}/*.ui)
114- foreach(GLADE_C_FILE ${SOURCE_FILES})
115- set(GLADE_SOURCE ${GLADE_SOURCE} ${GLADE_C_FILE})
116- endforeach()
117- endforeach()
118-
119- set(BASE_XGETTEXT_COMMAND
120- ${XGETTEXT_EXECUTABLE} -d ${NLS_PACKAGE}
121- -o ${CMAKE_CURRENT_SOURCE_DIR}/${NLS_PACKAGE}.pot
122- --add-comments="/" --keyword="_" --keyword="N_" --keyword="C_:1c,2" --keyword="NC_:1c,2" --keyword="ngettext:1,2" --keyword="Q_:1g" --from-code=UTF-8)
123-
124- set(CONTINUE_FLAG "")
125-
126- IF(NOT "${C_SOURCE}" STREQUAL "")
127- add_custom_command(TARGET pot WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND ${BASE_XGETTEXT_COMMAND} ${C_SOURCE})
128- set(CONTINUE_FLAG "-j")
129- ENDIF()
130-
131- IF(NOT "${VALA_SOURCE}" STREQUAL "")
132- add_custom_command(TARGET pot WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND ${BASE_XGETTEXT_COMMAND} ${CONTINUE_FLAG} -LC\# ${VALA_SOURCE})
133- set(CONTINUE_FLAG "-j")
134- ENDIF()
135-
136- IF(NOT "${GLADE_SOURCE}" STREQUAL "")
137- add_custom_command (TARGET pot WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND ${BASE_XGETTEXT_COMMAND} ${CONTINUE_FLAG} -LGlade ${GLADE_SOURCE})
138- ENDIF()
139-endmacro ()
140+# Translations.cmake, CMake macros written for Marlin, feel free to re-use them
141+include(CMakeParseArguments)
142+
143+macro (add_translations_directory NLS_PACKAGE)
144+ add_custom_target (i18n ALL COMMENT “Building i18n messages.”)
145+ find_program (MSGFMT_EXECUTABLE msgfmt)
146+ # be sure that all languages are present
147+ # Using all usual languages code from https://www.gnu.org/software/gettext/manual/html_node/Language-Codes.html#Language-Codes
148+ # Rare language codes should be added on-demand.
149+ set (LANGUAGES_NEEDED aa ab ae af ak am an ar as ast av ay az ba be bg bh bi bm bn bo br bs ca ce ch ckb co cr cs cu cv cy da de dv dz ee el en_AU en_CA en_GB eo es et eu fa ff fi fj fo fr fr_CA fy ga gd gl gn gu gv ha he hi ho hr ht hu hy hz ia id ie ig ii ik io is it iu ja jv ka kg ki kj kk kl km kn ko kr ks ku kv kw ky la lb lg li ln lo lt lu lv mg mh mi mk ml mn mo mr ms mt my na nb nd ne ng nl nn no nr nv ny oc oj om or os pa pi pl ps pt pt_BR qu rm rn ro ru rue rw sa sc sd se sg si sk sl sm sma sn so sq sr ss st su sv sw ta te tg th ti tk tl tn to tr ts tt tw ty ug uk ur uz ve vi vo wa wo xh yi yo za zh zh_CN zh_HK zh_TW zu)
150+ foreach (LANGUAGE_NEEDED ${LANGUAGES_NEEDED})
151+ create_po_file (${LANGUAGE_NEEDED})
152+ endforeach (LANGUAGE_NEEDED ${LANGUAGES_NEEDED})
153+ # generate .mo from .po
154+ file (GLOB PO_FILES ${CMAKE_CURRENT_SOURCE_DIR}/*.po)
155+ foreach (PO_INPUT ${PO_FILES})
156+ get_filename_component (PO_INPUT_BASE ${PO_INPUT} NAME_WE)
157+ set (MO_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${PO_INPUT_BASE}.mo)
158+ add_custom_command (TARGET i18n COMMAND ${MSGFMT_EXECUTABLE} -o ${MO_OUTPUT} ${PO_INPUT})
159+
160+ install (FILES ${MO_OUTPUT} DESTINATION
161+ share/locale/${PO_INPUT_BASE}/LC_MESSAGES
162+ RENAME ${NLS_PACKAGE}.mo)
163+ endforeach (PO_INPUT ${PO_FILES})
164+endmacro (add_translations_directory)
165+
166+# Apply the right default template.
167+macro (create_po_file LANGUAGE_NEEDED)
168+ set (FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LANGUAGE_NEEDED}.po)
169+ if (NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${LANGUAGE_NEEDED}.po)
170+ file (APPEND ${FILE} "msgid \"\"\n")
171+ file (APPEND ${FILE} "msgstr \"\"\n")
172+ file (APPEND ${FILE} "\"MIME-Version: 1.0\\n\"\n")
173+ file (APPEND ${FILE} "\"Content-Type: text/plain; charset=UTF-8\\n\"\n")
174+
175+ if ("${LANGUAGE_NEEDED}" STREQUAL "ja"
176+ OR "${LANGUAGE_NEEDED}" STREQUAL "vi"
177+ OR "${LANGUAGE_NEEDED}" STREQUAL "ko")
178+ file (APPEND ${FILE} "\"Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;\\n\"\n")
179+ elseif ("${LANGUAGE_NEEDED}" STREQUAL "en"
180+ OR "${LANGUAGE_NEEDED}" STREQUAL "de"
181+ OR "${LANGUAGE_NEEDED}" STREQUAL "nl"
182+ OR "${LANGUAGE_NEEDED}" STREQUAL "sv"
183+ OR "${LANGUAGE_NEEDED}" STREQUAL "nb"
184+ OR "${LANGUAGE_NEEDED}" STREQUAL "nn"
185+ OR "${LANGUAGE_NEEDED}" STREQUAL "nb"
186+ OR "${LANGUAGE_NEEDED}" STREQUAL "no"
187+ OR "${LANGUAGE_NEEDED}" STREQUAL "fo"
188+ OR "${LANGUAGE_NEEDED}" STREQUAL "es"
189+ OR "${LANGUAGE_NEEDED}" STREQUAL "pt"
190+ OR "${LANGUAGE_NEEDED}" STREQUAL "it"
191+ OR "${LANGUAGE_NEEDED}" STREQUAL "bg"
192+ OR "${LANGUAGE_NEEDED}" STREQUAL "he"
193+ OR "${LANGUAGE_NEEDED}" STREQUAL "fi"
194+ OR "${LANGUAGE_NEEDED}" STREQUAL "et"
195+ OR "${LANGUAGE_NEEDED}" STREQUAL "eo"
196+ OR "${LANGUAGE_NEEDED}" STREQUAL "hu"
197+ OR "${LANGUAGE_NEEDED}" STREQUAL "tr"
198+ OR "${LANGUAGE_NEEDED}" STREQUAL "es")
199+ file (APPEND ${FILE} "\"Plural-Forms: nplurals=2; plural=n != 1;\\n\"\n")
200+ elseif ("${LANGUAGE_NEEDED}" STREQUAL "fr"
201+ OR "${LANGUAGE_NEEDED}" STREQUAL "fr_CA"
202+ OR "${LANGUAGE_NEEDED}" STREQUAL "pt_BR")
203+ file (APPEND ${FILE} "\"Plural-Forms: nplurals=2; plural=n>1;\\n\"\n")
204+ elseif ("${LANGUAGE_NEEDED}" STREQUAL "lv")
205+ file (APPEND ${FILE} "\"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\\n\"\n")
206+ elseif ("${LANGUAGE_NEEDED}" STREQUAL "ro")
207+ file (APPEND ${FILE} "\"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2;\\n\"\n")
208+ elseif ("${LANGUAGE_NEEDED}" STREQUAL "lt")
209+ file (APPEND ${FILE} "\"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2;\\n\"\n")
210+ elseif ("${LANGUAGE_NEEDED}" STREQUAL "ru"
211+ OR "${LANGUAGE_NEEDED}" STREQUAL "uk"
212+ OR "${LANGUAGE_NEEDED}" STREQUAL "be"
213+ OR "${LANGUAGE_NEEDED}" STREQUAL "sr"
214+ OR "${LANGUAGE_NEEDED}" STREQUAL "hr")
215+ file (APPEND ${FILE} "\"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\\n\"\n")
216+ elseif ("${LANGUAGE_NEEDED}" STREQUAL "cs"
217+ OR "${LANGUAGE_NEEDED}" STREQUAL "sk")
218+ file (APPEND ${FILE} "\"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\\n\"\n")
219+ elseif ("${LANGUAGE_NEEDED}" STREQUAL "pl")
220+ file (APPEND ${FILE} "\"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\\n\"\n")
221+ elseif ("${LANGUAGE_NEEDED}" STREQUAL "sl")
222+ file (APPEND ${FILE} "\"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\\n\"\n")
223+ endif ()
224+
225+ endif ()
226+endmacro (create_po_file)
227+
228+macro (configure_file_translation SOURCE RESULT PO_DIR)
229+ cmake_parse_arguments (ARGS "IS_DESKTOP;IS_GSCHEMA;IS_XML;IS_KEY" "" "" ${ARGN})
230+ find_program (INTLTOOL_MERGE_EXECUTABLE intltool-merge)
231+ set(EXTRA_PO_DIR ${PO_DIR}/extra/)
232+ get_filename_component(EXTRA_PO_DIR ${EXTRA_PO_DIR} ABSOLUTE)
233+
234+ # Intltool can't create a new directory.
235+ get_filename_component(SOURCE_DIRECTORY ${SOURCE} DIRECTORY)
236+ file(MAKE_DIRECTORY ${SOURCE_DIRECTORY})
237+
238+ set (INTLTOOL_FLAG "")
239+ if (${SOURCE} MATCHES ".desktop" OR ${ARGS_IS_DESKTOP})
240+ set (INTLTOOL_FLAG "--desktop-style")
241+ elseif (${SOURCE} MATCHES ".gschema" OR ${ARGS_IS_GSCHEMA})
242+ set (INTLTOOL_FLAG "--schemas-style")
243+ elseif (${ARGS_IS_KEY})
244+ set (INTLTOOL_FLAG "--keys-style")
245+ else ()
246+ set (INTLTOOL_FLAG "--xml-style")
247+ endif ()
248+ execute_process (WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND ${INTLTOOL_MERGE_EXECUTABLE} --quiet ${INTLTOOL_FLAG} ${EXTRA_PO_DIR} ${SOURCE} ${RESULT})
249+endmacro ()
250+
251+macro (add_translations_catalog NLS_PACKAGE)
252+ cmake_parse_arguments (ARGS "" "" "DESKTOP_FILES;APPDATA_FILES;SCHEMA_FILES;KEY_FILES" ${ARGN})
253+ add_custom_target (pot COMMENT “Building translation catalog.”)
254+ find_program (XGETTEXT_EXECUTABLE xgettext)
255+ find_program (INTLTOOL_EXTRACT_EXECUTABLE intltool-extract)
256+
257+ set(EXTRA_PO_DIR ${CMAKE_CURRENT_SOURCE_DIR}/extra)
258+
259+ set(C_SOURCE "")
260+ set(VALA_SOURCE "")
261+ set(GLADE_SOURCE "")
262+
263+ foreach(FILES_INPUT ${ARGN})
264+ if((${FILES_INPUT} MATCHES ${CMAKE_SOURCE_DIR}) OR (${FILES_INPUT} MATCHES ${CMAKE_BINARY_DIR}))
265+ set(BASE_DIRECTORY ${FILES_INPUT})
266+ else ()
267+ set(BASE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${FILES_INPUT})
268+ endif ()
269+
270+ file (GLOB_RECURSE SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/ ${BASE_DIRECTORY}/*.c)
271+ foreach(C_FILE ${SOURCE_FILES})
272+ set(C_SOURCE ${C_SOURCE} ${C_FILE})
273+ endforeach()
274+
275+ file (GLOB_RECURSE SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/ ${BASE_DIRECTORY}/*.vala)
276+ foreach(VALA_FILE ${SOURCE_FILES})
277+ set(VALA_SOURCE ${VALA_SOURCE} ${VALA_FILE})
278+ endforeach()
279+
280+ file (GLOB_RECURSE SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/ ${BASE_DIRECTORY}/*.ui)
281+ foreach(GLADE_FILE ${SOURCE_FILES})
282+ set(GLADE_SOURCE ${GLADE_SOURCE} ${GLADE_FILE})
283+ endforeach()
284+ endforeach()
285+
286+ set (XGETTEXT_C_ARGS --add-comments="/" --keyword="_" --keyword="N_" --keyword="C_:1c,2" --keyword="NC_:1c,2" --keyword="ngettext:1,2" --keyword="Q_:1g")
287+ set(BASE_XGETTEXT_COMMAND
288+ ${XGETTEXT_EXECUTABLE} -d ${NLS_PACKAGE}
289+ -o ${CMAKE_CURRENT_SOURCE_DIR}/${NLS_PACKAGE}.pot
290+ ${XGETTEXT_C_ARGS} --from-code=UTF-8)
291+
292+ set(EXTRA_XGETTEXT_COMMAND
293+ ${XGETTEXT_EXECUTABLE} -d extra
294+ -o ${EXTRA_PO_DIR}/extra.pot --no-location --from-code=UTF-8)
295+
296+ set (INTLTOOL_EXTRACT_COMMAND
297+ ${INTLTOOL_EXTRACT_EXECUTABLE} --local --srcdir=/)
298+
299+ set(CONTINUE_FLAG "")
300+
301+ IF(NOT "${C_SOURCE}" STREQUAL "")
302+ add_custom_command(TARGET pot WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND ${BASE_XGETTEXT_COMMAND} ${C_SOURCE})
303+ set(CONTINUE_FLAG "-j")
304+ ENDIF()
305+
306+ IF(NOT "${VALA_SOURCE}" STREQUAL "")
307+ add_custom_command(TARGET pot WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND ${BASE_XGETTEXT_COMMAND} ${CONTINUE_FLAG} -LC\# ${VALA_SOURCE})
308+ set(CONTINUE_FLAG "-j")
309+ ENDIF()
310+
311+ IF(NOT "${GLADE_SOURCE}" STREQUAL "")
312+ add_custom_command (TARGET pot WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND ${BASE_XGETTEXT_COMMAND} ${CONTINUE_FLAG} -LGlade ${GLADE_SOURCE})
313+ ENDIF()
314+
315+ # We need to create the directory if one extra content exists.
316+ IF((NOT "${ARGS_DESKTOP_FILES}" STREQUAL "") OR (NOT "${ARGS_KEY_FILES}" STREQUAL "") OR (NOT "${ARGS_APPDATA_SOURCE}" STREQUAL "") OR (NOT "${ARGS_SCHEMA_SOURCE}" STREQUAL ""))
317+ file(MAKE_DIRECTORY ${EXTRA_PO_DIR})
318+ ENDIF()
319+
320+ set(CONTINUE_FLAG "")
321+
322+ foreach(DESKTOP_SOURCE ${ARGS_DESKTOP_FILES} ${ARGS_KEY_FILES})
323+ get_filename_component(DESKTOP_SOURCE ${DESKTOP_SOURCE} ABSOLUTE)
324+ add_custom_command(TARGET pot WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${INTLTOOL_EXTRACT_COMMAND} --type=gettext/keys ${DESKTOP_SOURCE})
325+ get_filename_component(DESKTOP_SOURCE_NAME ${DESKTOP_SOURCE} NAME)
326+ add_custom_command(TARGET pot WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND ${EXTRA_XGETTEXT_COMMAND} ${CONTINUE_FLAG} ${XGETTEXT_C_ARGS} ${CMAKE_CURRENT_BINARY_DIR}/tmp/${DESKTOP_SOURCE_NAME}.h)
327+ set(CONTINUE_FLAG "-j")
328+ endforeach()
329+
330+ foreach(APPDATA_SOURCE ${ARGS_APPDATA_FILES})
331+ get_filename_component(APPDATA_SOURCE ${APPDATA_SOURCE} ABSOLUTE)
332+ add_custom_command(TARGET pot WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${INTLTOOL_EXTRACT_COMMAND} --type=gettext/xml ${APPDATA_SOURCE})
333+ get_filename_component(APPDATA_SOURCE_NAME ${APPDATA_SOURCE} NAME)
334+ add_custom_command(TARGET pot WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND ${EXTRA_XGETTEXT_COMMAND} ${CONTINUE_FLAG} ${XGETTEXT_C_ARGS} ${CMAKE_CURRENT_BINARY_DIR}/tmp/${APPDATA_SOURCE_NAME}.h)
335+ set(CONTINUE_FLAG "-j")
336+ endforeach()
337+
338+ foreach(SCHEMA_SOURCE ${ARGS_SCHEMA_FILES})
339+ get_filename_component(SCHEMA_SOURCE ${SCHEMA_SOURCE} ABSOLUTE)
340+ add_custom_command(TARGET pot WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${INTLTOOL_EXTRACT_COMMAND} --type=gettext/schemas ${SCHEMA_SOURCE})
341+ get_filename_component(SCHEMA_SOURCE_NAME ${SCHEMA_SOURCE} NAME)
342+ add_custom_command(TARGET pot WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND ${EXTRA_XGETTEXT_COMMAND} ${CONTINUE_FLAG} ${XGETTEXT_C_ARGS} ${CMAKE_CURRENT_BINARY_DIR}/tmp/${SCHEMA_SOURCE_NAME}.h)
343+ set(CONTINUE_FLAG "-j")
344+ endforeach()
345+endmacro ()
346\ No newline at end of file
347
348=== modified file 'cmake/ValaPrecompile.cmake'
349--- cmake/ValaPrecompile.cmake 2015-02-13 02:39:33 +0000
350+++ cmake/ValaPrecompile.cmake 2016-05-17 01:07:53 +0000
351@@ -1,5 +1,6 @@
352 ##
353 # Copyright 2009-2010 Jakob Westhoff. All rights reserved.
354+# Copyright 2012-2016 elementary LLC.
355 #
356 # Redistribution and use in source and binary forms, with or without
357 # modification, are permitted provided that the following conditions are met:
358@@ -27,8 +28,8 @@
359 # either expressed or implied, of Jakob Westhoff
360 ##
361
362-include(ParseArguments)
363 find_package(Vala REQUIRED)
364+include(CMakeParseArguments)
365
366 ##
367 # Compile vala files to their c equivalents for further processing.
368@@ -39,14 +40,10 @@
369 #
370 # The first parameter provided is a variable, which will be filled with a list
371 # of c files outputted by the vala compiler. This list can than be used in
372-# conjunction with functions like "add_executable" or others to create the
373-# necessary compile rules with CMake.
374-#
375-# The second parameter provided is a unique name for the source bundle, which
376-# is used to create a .stamp file that marks the last time the bundle was
377-# compiled to C.
378+# conjuction with functions like "add_executable" or others to create the
379+# neccessary compile rules with CMake.
380 #
381-# The initial variables are followed by a list of .vala files to be compiled.
382+# The initial variable is followed by a list of .vala files to be compiled.
383 # Please take care to add every vala file belonging to the currently compiled
384 # project or library as Vala will otherwise not be able to resolve all
385 # dependencies.
386@@ -78,10 +75,18 @@
387 # be a header file as well as an internal header file being generated called
388 # <provided_name>.h and <provided_name>_internal.h
389 #
390+# GENERATE_GIR
391+# Have the compiler generate a GObject-Introspection repository file with
392+# name: <provided_name>.gir. This can be later used to create a binary typelib
393+# using the GI compiler.
394+#
395+# GENERATE_SYMBOLS
396+# Output a <provided_name>.symbols file containing all the exported symbols.
397+#
398 # The following call is a simple example to the vala_precompile macro showing
399 # an example to every of the optional sections:
400 #
401-# vala_precompile(VALA_C mysourcebundle
402+# vala_precompile(VALA_C mytargetname
403 # source1.vala
404 # source2.vala
405 # source3.vala
406@@ -99,81 +104,77 @@
407 # myvapi
408 # GENERATE_HEADER
409 # myheader
410+# GENERATE_GIR
411+# mygir
412+# GENERATE_SYMBOLS
413+# mysymbols
414 # )
415 #
416 # Most important is the variable VALA_C which will contain all the generated c
417 # file names after the call.
418 ##
419
420-macro(vala_precompile output source_bundle_name)
421- parse_arguments(ARGS "PACKAGES;OPTIONS;DIRECTORY;GENERATE_HEADER;GENERATE_VAPI;CUSTOM_VAPIS" "" ${ARGN})
422-
423+macro(vala_precompile output target_name)
424+ cmake_parse_arguments (ARGS "" "GENERATE_GIR;GENERATE_SYMBOLS;GENERATE_HEADER;GENERATE_VAPI;DIRECTORY" "PACKAGES;OPTIONS;CUSTOM_VAPIS" ${ARGN})
425+
426 if(ARGS_DIRECTORY)
427 set(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${ARGS_DIRECTORY})
428 else(ARGS_DIRECTORY)
429 set(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
430 endif(ARGS_DIRECTORY)
431-
432 include_directories(${DIRECTORY})
433-
434 set(vala_pkg_opts "")
435 foreach(pkg ${ARGS_PACKAGES})
436 list(APPEND vala_pkg_opts "--pkg=${pkg}")
437 endforeach(pkg ${ARGS_PACKAGES})
438-
439-
440 set(in_files "")
441 set(out_files "")
442+ set(out_files_display "")
443 set(${output} "")
444- foreach(src ${ARGS_DEFAULT_ARGS})
445- string(REPLACE ${CMAKE_CURRENT_SOURCE_DIR}/ "" src ${src})
446+
447+ foreach(src ${ARGS_UNPARSED_ARGUMENTS})
448 string(REGEX MATCH "^/" IS_MATCHED ${src})
449-
450 if(${IS_MATCHED} MATCHES "/")
451- set(in_file ${src})
452+ set(src_file_path ${src})
453 else()
454- set(in_file "${CMAKE_CURRENT_SOURCE_DIR}/${src}")
455+ set(src_file_path ${CMAKE_CURRENT_SOURCE_DIR}/${src})
456 endif()
457-
458+ list(APPEND in_files ${src_file_path})
459 string(REPLACE ".vala" ".c" src ${src})
460 string(REPLACE ".gs" ".c" src ${src})
461-
462 if(${IS_MATCHED} MATCHES "/")
463 get_filename_component(VALA_FILE_NAME ${src} NAME)
464 set(out_file "${CMAKE_CURRENT_BINARY_DIR}/${VALA_FILE_NAME}")
465+ list(APPEND out_files "${CMAKE_CURRENT_BINARY_DIR}/${VALA_FILE_NAME}")
466 else()
467 set(out_file "${DIRECTORY}/${src}")
468+ list(APPEND out_files "${DIRECTORY}/${src}")
469 endif()
470-
471- list(APPEND in_files ${in_file})
472- list(APPEND out_files ${out_file})
473 list(APPEND ${output} ${out_file})
474+ list(APPEND out_files_display "${src}")
475 endforeach(src ${ARGS_DEFAULT_ARGS})
476
477 set(custom_vapi_arguments "")
478 if(ARGS_CUSTOM_VAPIS)
479+ # Check for relative and absolute paths
480 foreach(vapi ${ARGS_CUSTOM_VAPIS})
481- SET(_srcdir_regexp "${CMAKE_SOURCE_DIR}")
482- SET(_bindir_regexp "${CMAKE_BINARY_DIR}")
483- STRING(REGEX REPLACE "\\+" "\\\\+" _srcdir_regexp "${_srcdir_regexp}")
484- STRING(REGEX REPLACE "\\+" "\\\\+" _bindir_regexp "${_bindir_regexp}")
485- if(${vapi} MATCHES ${_srcdir_regexp} OR ${vapi} MATCHES ${_bindir_regexp})
486+ string(REGEX MATCH "^/" IS_MATCHED ${vapi})
487+ if(${IS_MATCHED} MATCHES "/")
488 list(APPEND custom_vapi_arguments ${vapi})
489- else(${vapi} MATCHES ${_srcdir_regexp} OR ${vapi} MATCHES ${_bindir_regexp})
490+ else()
491 list(APPEND custom_vapi_arguments ${CMAKE_CURRENT_SOURCE_DIR}/${vapi})
492- endif(${vapi} MATCHES ${_srcdir_regexp} OR ${vapi} MATCHES ${_bindir_regexp})
493+ endif()
494 endforeach(vapi ${ARGS_CUSTOM_VAPIS})
495 endif(ARGS_CUSTOM_VAPIS)
496
497- set(STAMP_FILE ".${source_bundle_name}.stamp")
498-
499 set(vapi_arguments "")
500 if(ARGS_GENERATE_VAPI)
501 list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_VAPI}.vapi")
502- set(vapi_arguments "--vapi=${ARGS_GENERATE_VAPI}.vapi")
503-
504+ list(APPEND out_files_display "${ARGS_GENERATE_VAPI}.vapi")
505+ set(vapi_arguments "--library=${ARGS_GENERATE_VAPI}" "--vapi=${ARGS_GENERATE_VAPI}.vapi")
506+
507 # Header and internal header is needed to generate internal vapi
508- if(NOT ARGS_GENERATE_HEADER)
509+ if (NOT ARGS_GENERATE_HEADER)
510 set(ARGS_GENERATE_HEADER ${ARGS_GENERATE_VAPI})
511 endif(NOT ARGS_GENERATE_HEADER)
512 endif(ARGS_GENERATE_VAPI)
513@@ -181,33 +182,70 @@
514 set(header_arguments "")
515 if(ARGS_GENERATE_HEADER)
516 list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_HEADER}.h")
517- list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_HEADER}_internal.h")
518- list(APPEND header_arguments "--header=${DIRECTORY}/${ARGS_GENERATE_HEADER}.h")
519- list(APPEND header_arguments "--internal-header=${DIRECTORY}/${ARGS_GENERATE_HEADER}_internal.h")
520+ list(APPEND out_files_display "${ARGS_GENERATE_HEADER}.h")
521+ list(APPEND header_arguments "--header=${ARGS_GENERATE_HEADER}.h")
522 endif(ARGS_GENERATE_HEADER)
523
524- add_custom_command(OUTPUT ${STAMP_FILE}
525- COMMAND
526- ${VALA_EXECUTABLE}
527+ set(gir_arguments "")
528+ set(gircomp_command "")
529+ if(ARGS_GENERATE_GIR)
530+ list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_GIR}.gir")
531+ list(APPEND out_files_display "${ARGS_GENERATE_GIR}.gir")
532+ set(gir_arguments "--gir=${ARGS_GENERATE_GIR}.gir")
533+
534+ include (FindGirCompiler)
535+ find_package(GirCompiler REQUIRED)
536+
537+ set(gircomp_command
538+ COMMAND
539+ ${G_IR_COMPILER_EXECUTABLE}
540+ ARGS
541+ "${DIRECTORY}/${ARGS_GENERATE_GIR}.gir"
542+ -o "${DIRECTORY}/${ARGS_GENERATE_GIR}.typelib")
543+ endif(ARGS_GENERATE_GIR)
544+
545+ set(symbols_arguments "")
546+ if(ARGS_GENERATE_SYMBOLS)
547+ list(APPEND out_files "${DIRECTORY}/${ARGS_GENERATE_SYMBOLS}.symbols")
548+ list(APPEND out_files_display "${ARGS_GENERATE_SYMBOLS}.symbols")
549+ set(symbols_arguments "--symbols=${ARGS_GENERATE_SYMBOLS}.symbols")
550+ endif(ARGS_GENERATE_SYMBOLS)
551+
552+ # Workaround for a bug that would make valac run twice. This file is written
553+ # after the vala compiler generates C source code.
554+ set(OUTPUT_STAMP ${CMAKE_CURRENT_BINARY_DIR}/${target_name}_valac.stamp)
555+
556+ add_custom_command(
557+ OUTPUT
558+ ${OUTPUT_STAMP}
559+ COMMAND
560+ ${VALA_EXECUTABLE}
561 ARGS
562 "-C"
563 ${header_arguments}
564- ${vapi_arguments}
565+ ${vapi_arguments}
566+ ${gir_arguments}
567+ ${symbols_arguments}
568 "-b" ${CMAKE_CURRENT_SOURCE_DIR}
569 "-d" ${DIRECTORY}
570 ${vala_pkg_opts}
571 ${ARGS_OPTIONS}
572+ "-g"
573 ${in_files}
574 ${custom_vapi_arguments}
575 COMMAND
576 touch
577 ARGS
578- ${STAMP_FILE}
579+ ${OUTPUT_STAMP}
580 DEPENDS
581- ${in_files}
582+ ${in_files}
583 ${ARGS_CUSTOM_VAPIS}
584+ COMMENT
585+ "Generating ${out_files_display}"
586+ ${gircomp_command}
587 )
588-
589- add_custom_command(OUTPUT ${out_files} DEPENDS ${STAMP_FILE})
590+
591+ # This command will be run twice for some reason (pass a non-empty string to COMMENT
592+ # in order to see it). Since valac is not executed from here, this won't be a problem.
593+ add_custom_command(OUTPUT ${out_files} DEPENDS ${OUTPUT_STAMP} COMMENT "")
594 endmacro(vala_precompile)
595-
596
597=== modified file 'cmake/ValaVersion.cmake'
598--- cmake/ValaVersion.cmake 2012-07-30 14:34:15 +0000
599+++ cmake/ValaVersion.cmake 2016-05-17 01:07:53 +0000
600@@ -27,8 +27,8 @@
601 # either expressed or implied, of Jakob Westhoff
602 ##
603
604-include(ParseArguments)
605 find_package(Vala REQUIRED)
606+include(CMakeParseArguments)
607
608 ##
609 # Ensure a certain valac version is available
610@@ -52,7 +52,7 @@
611 # If no option is specified the version will be treated as a minimal version.
612 ##
613 macro(ensure_vala_version version)
614- parse_arguments(ARGS "" "MINIMUM;MAXIMUM;EXACT" ${ARGN})
615+ cmake_parse_arguments (ARGS "" "MINIMUM;MAXIMUM;EXACT" "" ${ARGN})
616 set(compare_message "")
617 set(error_message "")
618 if(ARGS_MINIMUM)
619@@ -78,7 +78,7 @@
620 if(${VALA_VERSION} VERSION_LESS ${version} OR ${VALA_VERSION} VERSION_EQUAL ${version})
621 set(version_accepted TRUE)
622 endif(${VALA_VERSION} VERSION_LESS ${version} OR ${VALA_VERSION} VERSION_EQUAL ${version})
623- else(ARGS_MINIMUM)
624+ else(ARGS_MAXIMUM)
625 if(${VALA_VERSION} VERSION_GREATER ${version} OR ${VALA_VERSION} VERSION_EQUAL ${version})
626 set(version_accepted TRUE)
627 endif(${VALA_VERSION} VERSION_GREATER ${version} OR ${VALA_VERSION} VERSION_EQUAL ${version})
628
629=== modified file 'data/CMakeLists.txt'
630--- data/CMakeLists.txt 2016-03-14 21:11:21 +0000
631+++ data/CMakeLists.txt 2016-05-17 01:07:53 +0000
632@@ -1,9 +1,16 @@
633 #
634 # Build and install pantheon-mail.desktop
635 #
636-
637-configure_file(pantheon-mail.desktop.in ${CMAKE_CURRENT_BINARY_DIR}/pantheon-mail.desktop)
638-configure_file(pantheon-mail-autostart.desktop.in ${CMAKE_CURRENT_BINARY_DIR}/pantheon-mail-autostart.desktop)
639+include(Translations)
640+
641+configure_file(pantheon-mail.desktop.in.in ${CMAKE_CURRENT_BINARY_DIR}/pantheon-mail.desktop.in)
642+configure_file(${CMAKE_CURRENT_BINARY_DIR}/pantheon-mail.desktop.in ${CMAKE_CURRENT_BINARY_DIR}/pantheon-mail.desktop)
643+configure_file_translation(${CMAKE_CURRENT_BINARY_DIR}/pantheon-mail.desktop.in ${CMAKE_CURRENT_BINARY_DIR}/pantheon-mail.desktop ${CMAKE_SOURCE_DIR}/po/)
644+
645+configure_file(pantheon-mail-autostart.desktop.in.in ${CMAKE_CURRENT_BINARY_DIR}/pantheon-mail-autostart.desktop.in)
646+configure_file(${CMAKE_CURRENT_BINARY_DIR}/pantheon-mail-autostart.desktop.in ${CMAKE_CURRENT_BINARY_DIR}/pantheon-mail-autostart.desktop)
647+configure_file_translation(${CMAKE_CURRENT_BINARY_DIR}/pantheon-mail-autostart.desktop.in ${CMAKE_CURRENT_BINARY_DIR}/pantheon-mail-autostart.desktop ${CMAKE_SOURCE_DIR}/po/)
648+
649
650 install(FILES pantheon-mail.appdata.xml DESTINATION share/appdata)
651 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pantheon-mail.desktop DESTINATION share/applications)
652
653=== modified file 'data/mail-attach.contract'
654--- data/mail-attach.contract 2015-11-30 17:28:30 +0000
655+++ data/mail-attach.contract 2016-05-17 01:07:53 +0000
656@@ -4,4 +4,4 @@
657 Description=Send files using Mail
658 MimeType=!inode;
659 Exec=mail-attach %F
660-X-GNOME-Gettext-Domain=geary
661+X-GNOME-Gettext-Domain=pantheon-mail
662
663=== renamed file 'data/pantheon-mail-autostart.desktop.in' => 'data/pantheon-mail-autostart.desktop.in.in'
664--- data/pantheon-mail-autostart.desktop.in 2015-11-24 22:59:32 +0000
665+++ data/pantheon-mail-autostart.desktop.in.in 2016-05-17 01:07:53 +0000
666@@ -1,10 +1,10 @@
667 [Desktop Entry]
668-Name=@APP_NAME@
669-Comment=@RELEASE_NAME@
670+_Name=@APP_NAME@
671+_Comment=@RELEASE_NAME@
672 TryExec=@EXEC_NAME@
673 Exec=@EXEC_NAME@ --hidden
674 Icon=@DESKTOP_ICON@
675-Keywords=Email;E-mail;Mail;
676+_Keywords=Email;E-mail;Mail;
677 Type=Application
678 Terminal=false
679 Categories=GNOME;GTK;Network;Email;
680
681=== renamed file 'data/pantheon-mail.desktop.in' => 'data/pantheon-mail.desktop.in.in'
682--- data/pantheon-mail.desktop.in 2016-02-08 21:29:43 +0000
683+++ data/pantheon-mail.desktop.in.in 2016-05-17 01:07:53 +0000
684@@ -1,10 +1,10 @@
685 [Desktop Entry]
686-Name=@APP_NAME@
687-Comment=@RELEASE_NAME@
688+_Name=@APP_NAME@
689+_Comment=@RELEASE_NAME@
690 TryExec=@EXEC_NAME@
691 Exec=@EXEC_NAME@ %U
692 Icon=@DESKTOP_ICON@
693-Keywords=Email;E-mail;Mail;
694+_Keywords=Email;E-mail;Mail;
695 Terminal=false
696 Type=Application
697 MimeType=x-scheme-handler/mailto;
698@@ -15,10 +15,10 @@
699 Actions=AboutDialog;Compose;
700
701 [Desktop Action AboutDialog]
702-Name=About @APP_NAME@
703+_Name=About @APP_NAME@
704 Exec=@EXEC_NAME@ --about
705
706 [Desktop Action Compose]
707-Name=Compose Message
708+_Name=Compose Message
709 Exec=@EXEC_NAME@ mailto:
710
711
712=== modified file 'po/CMakeLists.txt'
713--- po/CMakeLists.txt 2015-12-15 13:32:42 +0000
714+++ po/CMakeLists.txt 2016-05-17 01:07:53 +0000
715@@ -3,4 +3,7 @@
716 add_translations_catalog(${GETTEXT_PACKAGE}
717 ../src
718 ../data
719+ DESKTOP_FILES
720+ ${CMAKE_BINARY_DIR}/data/pantheon-mail.desktop.in
721+ ${CMAKE_BINARY_DIR}/data/pantheon-mail-autostart.desktop.in
722 )
723
724=== added directory 'po/extra'
725=== added file 'po/extra/extra.pot'
726--- po/extra/extra.pot 1970-01-01 00:00:00 +0000
727+++ po/extra/extra.pot 2016-05-17 01:07:53 +0000
728@@ -0,0 +1,33 @@
729+# SOME DESCRIPTIVE TITLE.
730+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
731+# This file is distributed under the same license as the PACKAGE package.
732+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
733+#
734+#, fuzzy
735+msgid ""
736+msgstr ""
737+"Project-Id-Version: PACKAGE VERSION\n"
738+"Report-Msgid-Bugs-To: \n"
739+"POT-Creation-Date: 2016-05-15 18:08+0400\n"
740+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
741+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
742+"Language-Team: LANGUAGE <LL@li.org>\n"
743+"Language: \n"
744+"MIME-Version: 1.0\n"
745+"Content-Type: text/plain; charset=CHARSET\n"
746+"Content-Transfer-Encoding: 8bit\n"
747+
748+msgid "Mail"
749+msgstr ""
750+
751+msgid "Lightweight email client"
752+msgstr ""
753+
754+msgid "Email;E-mail;Mail;"
755+msgstr ""
756+
757+msgid "About Mail"
758+msgstr ""
759+
760+msgid "Compose Message"
761+msgstr ""
762
763=== modified file 'po/pantheon-mail.pot'
764--- po/pantheon-mail.pot 2016-03-21 16:44:26 +0000
765+++ po/pantheon-mail.pot 2016-05-17 01:07:53 +0000
766@@ -8,7 +8,7 @@
767 msgstr ""
768 "Project-Id-Version: PACKAGE VERSION\n"
769 "Report-Msgid-Bugs-To: \n"
770-"POT-Creation-Date: 2016-03-21 09:44-0700\n"
771+"POT-Creation-Date: 2016-05-15 18:08+0400\n"
772 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
773 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
774 "Language-Team: LANGUAGE <LL@li.org>\n"
775@@ -1379,12 +1379,14 @@
776 #: ../src/client/conversation-viewer/conversation-viewer.vala:413
777 #: ../src/client/conversation-viewer/conversation-viewer.vala:415
778 #: ../src/client/conversation-viewer/conversation-viewer.vala:302
779+#: ../src/client/conversation-viewer/conversation-viewer.vala:308
780 msgid "No conversations selected."
781 msgstr ""
782
783 #: ../src/client/conversation-viewer/conversation-viewer.vala:415
784 #: ../src/client/conversation-viewer/conversation-viewer.vala:417
785 #: ../src/client/conversation-viewer/conversation-viewer.vala:304
786+#: ../src/client/conversation-viewer/conversation-viewer.vala:310
787 msgid "%u conversation selected."
788 msgid_plural "%u conversations selected."
789 msgstr[0] ""
790@@ -1393,12 +1395,14 @@
791 #: ../src/client/conversation-viewer/conversation-viewer.vala:444
792 #: ../src/client/conversation-viewer/conversation-viewer.vala:446
793 #: ../src/client/conversation-viewer/conversation-viewer.vala:333
794+#: ../src/client/conversation-viewer/conversation-viewer.vala:339
795 msgid "No search results found."
796 msgstr ""
797
798 #: ../src/client/conversation-viewer/conversation-viewer.vala:446
799 #: ../src/client/conversation-viewer/conversation-viewer.vala:448
800 #: ../src/client/conversation-viewer/conversation-viewer.vala:335
801+#: ../src/client/conversation-viewer/conversation-viewer.vala:341
802 msgid "No conversations in folder."
803 msgstr ""
804
805@@ -1406,6 +1410,7 @@
806 #: ../src/client/conversation-viewer/conversation-viewer.vala:713
807 #: ../src/client/conversation-viewer/ConversationWidget.vala:426
808 #: ../src/client/conversation-viewer/ConversationWidget.vala:450
809+#: ../src/client/conversation-viewer/ConversationWidget.vala:453
810 msgid "This message contains remote images."
811 msgstr ""
812
813@@ -1413,6 +1418,7 @@
814 #: ../src/client/conversation-viewer/conversation-viewer.vala:713
815 #: ../src/client/conversation-viewer/ConversationWidget.vala:424
816 #: ../src/client/conversation-viewer/ConversationWidget.vala:448
817+#: ../src/client/conversation-viewer/ConversationWidget.vala:451
818 msgid "Show Images"
819 msgstr ""
820
821@@ -1425,6 +1431,7 @@
822 #: ../src/client/conversation-viewer/conversation-viewer.vala:738
823 #: ../src/client/conversation-viewer/ConversationWidget.vala:377
824 #: ../src/client/conversation-viewer/ConversationWidget.vala:397
825+#: ../src/client/conversation-viewer/ConversationWidget.vala:400
826 msgid "Edit Draft"
827 msgstr ""
828
829@@ -1484,6 +1491,7 @@
830 #: ../src/client/conversation-viewer/conversation-viewer.vala:1302
831 #: ../src/client/conversation-viewer/ConversationWidget.vala:1129
832 #: ../src/client/conversation-viewer/ConversationWidget.vala:1153
833+#: ../src/client/conversation-viewer/ConversationWidget.vala:1157
834 msgid "_Copy"
835 msgstr ""
836
837@@ -1491,6 +1499,7 @@
838 #: ../src/client/conversation-viewer/conversation-viewer.vala:1310
839 #: ../src/client/conversation-viewer/ConversationWidget.vala:1137
840 #: ../src/client/conversation-viewer/ConversationWidget.vala:1161
841+#: ../src/client/conversation-viewer/ConversationWidget.vala:1165
842 msgid "Copy _Email Address"
843 msgstr ""
844
845@@ -1500,6 +1509,7 @@
846 #: ../src/client/conversation-viewer/ConversationWidget.vala:1146
847 #: ../src/client/conversation-viewer/ConversationWidget.vala:1170
848 #: ../data/ui/composer.ui:103
849+#: ../src/client/conversation-viewer/ConversationWidget.vala:1174
850 msgid "Copy _Link"
851 msgstr ""
852
853@@ -1514,6 +1524,7 @@
854 #: ../src/client/components/stock.vala:31
855 #: ../src/client/conversation-viewer/ConversationWidget.vala:1157
856 #: ../src/client/conversation-viewer/ConversationWidget.vala:1181
857+#: ../src/client/conversation-viewer/ConversationWidget.vala:1185
858 msgid "Select _All"
859 msgstr ""
860
861@@ -1521,6 +1532,7 @@
862 #: ../src/client/conversation-viewer/conversation-viewer.vala:1335
863 #: ../src/client/conversation-viewer/ConversationWidget.vala:1163
864 #: ../src/client/conversation-viewer/ConversationWidget.vala:1187
865+#: ../src/client/conversation-viewer/ConversationWidget.vala:1191
866 msgid "_Inspect"
867 msgstr ""
868
869@@ -1590,6 +1602,7 @@
870 #: ../src/client/conversation-viewer/conversation-viewer.vala:2367
871 #: ../src/client/conversation-viewer/ConversationWidget.vala:1038
872 #: ../src/client/conversation-viewer/ConversationWidget.vala:1062
873+#: ../src/client/conversation-viewer/ConversationWidget.vala:1066
874 msgid "Failed to open default text editor."
875 msgstr ""
876
877@@ -1878,11 +1891,13 @@
878
879 #: ../src/client/application/geary-application.vala:25
880 #: ../src/client/application/geary-application.vala:24
881+#: ../src/Translations.vala:1
882 msgid "Send by Email"
883 msgstr ""
884
885 #: ../src/client/application/geary-application.vala:26
886 #: ../src/client/application/geary-application.vala:25
887+#: ../src/Translations.vala:2
888 msgid "Send files using Mail"
889 msgstr ""
890
891@@ -2601,6 +2616,7 @@
892 #: ../src/client/conversation-viewer/ConversationWidget.vala:1112
893 #: ../src/client/conversation-viewer/ConversationWidget.vala:267
894 #: ../src/client/conversation-viewer/ConversationWidget.vala:1136
895+#: ../src/client/conversation-viewer/ConversationWidget.vala:1140
896 msgid "Mark as Unread"
897 msgstr ""
898
899@@ -2608,6 +2624,7 @@
900 #: ../src/client/conversation-viewer/ConversationWidget.vala:1110
901 #: ../src/client/conversation-viewer/ConversationWidget.vala:269
902 #: ../src/client/conversation-viewer/ConversationWidget.vala:1134
903+#: ../src/client/conversation-viewer/ConversationWidget.vala:1138
904 msgid "Mark as Read"
905 msgstr ""
906
907@@ -2625,31 +2642,38 @@
908 #: ../src/client/conversation-viewer/ConversationWidget.vala:602
909 #: ../src/client/conversation-viewer/ConversationWidget.vala:337
910 #: ../src/client/conversation-viewer/ConversationWidget.vala:626
911+#: ../src/client/conversation-viewer/ConversationWidget.vala:340
912+#: ../src/client/conversation-viewer/ConversationWidget.vala:630
913 msgid "View message"
914 msgstr ""
915
916 #: ../src/client/conversation-viewer/ConversationWidget.vala:386
917 #: ../src/client/conversation-viewer/ConversationWidget.vala:406
918+#: ../src/client/conversation-viewer/ConversationWidget.vala:409
919 msgid "This message contains one or more attachments"
920 msgstr ""
921
922 #: ../src/client/conversation-viewer/ConversationWidget.vala:425
923 #: ../src/client/conversation-viewer/ConversationWidget.vala:449
924+#: ../src/client/conversation-viewer/ConversationWidget.vala:452
925 msgid "Always Show from Sender"
926 msgstr ""
927
928 #: ../src/client/conversation-viewer/ConversationWidget.vala:553
929 #: ../src/client/conversation-viewer/ConversationWidget.vala:577
930+#: ../src/client/conversation-viewer/ConversationWidget.vala:581
931 msgid "Compose New Message"
932 msgstr ""
933
934 #: ../src/client/conversation-viewer/ConversationWidget.vala:554
935 #: ../src/client/conversation-viewer/ConversationWidget.vala:578
936+#: ../src/client/conversation-viewer/ConversationWidget.vala:582
937 msgid "Copy Email Address"
938 msgstr ""
939
940 #: ../src/client/conversation-viewer/ConversationWidget.vala:615
941 #: ../src/client/conversation-viewer/ConversationWidget.vala:639
942+#: ../src/client/conversation-viewer/ConversationWidget.vala:643
943 msgid "Hide message"
944 msgstr ""
945
946@@ -2675,14 +2699,18 @@
947
948 #: ../src/client/conversation-viewer/ConversationWidget.vala:410
949 #: ../src/client/conversation-viewer/ConversationWidget.vala:423
950+#: ../src/client/conversation-viewer/ConversationWidget.vala:413
951+#: ../src/client/conversation-viewer/ConversationWidget.vala:426
952 msgid "Star message"
953 msgstr ""
954
955 #: ../src/client/conversation-viewer/ConversationWidget.vala:420
956+#: ../src/client/conversation-viewer/ConversationWidget.vala:423
957 msgid "Unstar message"
958 msgstr ""
959
960 #: ../src/client/conversation-viewer/ConversationWidget.vala:430
961+#: ../src/client/conversation-viewer/ConversationWidget.vala:433
962 msgid "More"
963 msgstr ""
964
965
966=== added file 'src/Translations.vala'
967--- src/Translations.vala 1970-01-01 00:00:00 +0000
968+++ src/Translations.vala 2016-05-17 01:07:53 +0000
969@@ -0,0 +1,2 @@
970+_("Send by Email");
971+_("Send files using Mail");

Subscribers

People subscribed via source and target branches