Merge lp:~leonardolemos/pantheon-mail/fix-translations into lp:~elementary-apps/pantheon-mail/trunk
- fix-translations
- Merge into 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 | ||||||||
Related bugs: |
|
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.
- 2060. By Leonardo Lemos
-
Fix CMakeLists.txt file
Revision history for this message
Rico Tzschichholz (ricotz) wrote : | # |
Does this really build without issues?
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"); |
Two remaining issues in the code