Project/ProjectTranslationsBrowser.py

changeset 3190
a9a94491c4fd
parent 3160
209a07d7e401
child 3320
144159e0d032
equal deleted inserted replaced
3189:9a21c547de5f 3190:a9a94491c4fd
63 self.isTranslationsBrowser = True 63 self.isTranslationsBrowser = True
64 64
65 self.selectedItemsFilter = \ 65 self.selectedItemsFilter = \
66 [ProjectBrowserFileItem, ProjectBrowserSimpleDirectoryItem] 66 [ProjectBrowserFileItem, ProjectBrowserSimpleDirectoryItem]
67 67
68 self.setWindowTitle(self.trUtf8('Translations')) 68 self.setWindowTitle(self.tr('Translations'))
69 69
70 self.setWhatsThis(self.trUtf8( 70 self.setWhatsThis(self.tr(
71 """<b>Project Translations Browser</b>""" 71 """<b>Project Translations Browser</b>"""
72 """<p>This allows to easily see all translations contained in""" 72 """<p>This allows to easily see all translations contained in"""
73 """ the current project. Several actions can be executed via""" 73 """ the current project. Several actions can be executed via"""
74 """ the context menu.</p>""" 74 """ the context menu.</p>"""
75 )) 75 ))
108 self.menu = QMenu(self) 108 self.menu = QMenu(self)
109 if self.project.getProjectType() in \ 109 if self.project.getProjectType() in \
110 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", 110 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin",
111 "PySide", "PySideC"]: 111 "PySide", "PySideC"]:
112 act = self.menu.addAction( 112 act = self.menu.addAction(
113 self.trUtf8('Generate translation'), self.__generateSelected) 113 self.tr('Generate translation'), self.__generateSelected)
114 self.tsMenuActions.append(act) 114 self.tsMenuActions.append(act)
115 self.tsprocMenuActions.append(act) 115 self.tsprocMenuActions.append(act)
116 act = self.menu.addAction( 116 act = self.menu.addAction(
117 self.trUtf8('Generate translation (with obsolete)'), 117 self.tr('Generate translation (with obsolete)'),
118 self.__generateObsoleteSelected) 118 self.__generateObsoleteSelected)
119 self.tsMenuActions.append(act) 119 self.tsMenuActions.append(act)
120 self.tsprocMenuActions.append(act) 120 self.tsprocMenuActions.append(act)
121 act = self.menu.addAction( 121 act = self.menu.addAction(
122 self.trUtf8('Generate all translations'), self.__generateAll) 122 self.tr('Generate all translations'), self.__generateAll)
123 self.tsprocMenuActions.append(act) 123 self.tsprocMenuActions.append(act)
124 act = self.menu.addAction( 124 act = self.menu.addAction(
125 self.trUtf8('Generate all translations (with obsolete)'), 125 self.tr('Generate all translations (with obsolete)'),
126 self.__generateObsoleteAll) 126 self.__generateObsoleteAll)
127 self.tsprocMenuActions.append(act) 127 self.tsprocMenuActions.append(act)
128 self.menu.addSeparator() 128 self.menu.addSeparator()
129 act = self.menu.addAction( 129 act = self.menu.addAction(
130 self.trUtf8('Open in Qt-Linguist'), self._openItem) 130 self.tr('Open in Qt-Linguist'), self._openItem)
131 self.tsMenuActions.append(act) 131 self.tsMenuActions.append(act)
132 act = self.menu.addAction( 132 act = self.menu.addAction(
133 self.trUtf8('Open in Editor'), self.__openFileInEditor) 133 self.tr('Open in Editor'), self.__openFileInEditor)
134 self.tsMenuActions.append(act) 134 self.tsMenuActions.append(act)
135 self.menu.addSeparator() 135 self.menu.addSeparator()
136 act = self.menu.addAction( 136 act = self.menu.addAction(
137 self.trUtf8('Release translation'), self.__releaseSelected) 137 self.tr('Release translation'), self.__releaseSelected)
138 self.tsMenuActions.append(act) 138 self.tsMenuActions.append(act)
139 self.qmprocMenuActions.append(act) 139 self.qmprocMenuActions.append(act)
140 act = self.menu.addAction( 140 act = self.menu.addAction(
141 self.trUtf8('Release all translations'), self.__releaseAll) 141 self.tr('Release all translations'), self.__releaseAll)
142 self.qmprocMenuActions.append(act) 142 self.qmprocMenuActions.append(act)
143 self.menu.addSeparator() 143 self.menu.addSeparator()
144 act = self.menu.addAction( 144 act = self.menu.addAction(
145 self.trUtf8('Preview translation'), self.__TRPreview) 145 self.tr('Preview translation'), self.__TRPreview)
146 self.qmMenuActions.append(act) 146 self.qmMenuActions.append(act)
147 act = self.menu.addAction( 147 act = self.menu.addAction(
148 self.trUtf8('Preview all translations'), self.__TRPreviewAll) 148 self.tr('Preview all translations'), self.__TRPreviewAll)
149 self.menu.addSeparator() 149 self.menu.addSeparator()
150 else: 150 else:
151 if self.hooks["extractMessages"] is not None: 151 if self.hooks["extractMessages"] is not None:
152 act = self.menu.addAction( 152 act = self.menu.addAction(
153 self.hooksMenuEntries.get( 153 self.hooksMenuEntries.get(
154 "extractMessages", 154 "extractMessages",
155 self.trUtf8('Extract messages')), 155 self.tr('Extract messages')),
156 self.__extractMessages) 156 self.__extractMessages)
157 self.menuActions.append(act) 157 self.menuActions.append(act)
158 self.menu.addSeparator() 158 self.menu.addSeparator()
159 if self.hooks["generateSelected"] is not None: 159 if self.hooks["generateSelected"] is not None:
160 act = self.menu.addAction( 160 act = self.menu.addAction(
161 self.hooksMenuEntries.get( 161 self.hooksMenuEntries.get(
162 "generateSelected", 162 "generateSelected",
163 self.trUtf8('Generate translation')), 163 self.tr('Generate translation')),
164 self.__generateSelected) 164 self.__generateSelected)
165 self.tsMenuActions.append(act) 165 self.tsMenuActions.append(act)
166 self.tsprocMenuActions.append(act) 166 self.tsprocMenuActions.append(act)
167 if self.hooks["generateSelectedWithObsolete"] is not None: 167 if self.hooks["generateSelectedWithObsolete"] is not None:
168 act = self.menu.addAction( 168 act = self.menu.addAction(
169 self.hooksMenuEntries.get( 169 self.hooksMenuEntries.get(
170 "generateSelectedWithObsolete", 170 "generateSelectedWithObsolete",
171 self.trUtf8('Generate translation (with obsolete)')), 171 self.tr('Generate translation (with obsolete)')),
172 self.__generateObsoleteSelected) 172 self.__generateObsoleteSelected)
173 self.tsMenuActions.append(act) 173 self.tsMenuActions.append(act)
174 self.tsprocMenuActions.append(act) 174 self.tsprocMenuActions.append(act)
175 if self.hooks["generateAll"] is not None: 175 if self.hooks["generateAll"] is not None:
176 act = self.menu.addAction( 176 act = self.menu.addAction(
177 self.hooksMenuEntries.get( 177 self.hooksMenuEntries.get(
178 "generateAll", 178 "generateAll",
179 self.trUtf8('Generate all translations')), 179 self.tr('Generate all translations')),
180 self.__generateAll) 180 self.__generateAll)
181 self.tsprocMenuActions.append(act) 181 self.tsprocMenuActions.append(act)
182 if self.hooks["generateAllWithObsolete"] is not None: 182 if self.hooks["generateAllWithObsolete"] is not None:
183 act = self.menu.addAction( 183 act = self.menu.addAction(
184 self.hooksMenuEntries.get( 184 self.hooksMenuEntries.get(
185 "generateAllWithObsolete", 185 "generateAllWithObsolete",
186 self.trUtf8( 186 self.tr(
187 'Generate all translations (with obsolete)')), 187 'Generate all translations (with obsolete)')),
188 self.__generateObsoleteAll) 188 self.__generateObsoleteAll)
189 self.tsprocMenuActions.append(act) 189 self.tsprocMenuActions.append(act)
190 self.menu.addSeparator() 190 self.menu.addSeparator()
191 if self.hooks["open"] is not None: 191 if self.hooks["open"] is not None:
192 act = self.menu.addAction( 192 act = self.menu.addAction(
193 self.hooksMenuEntries.get( 193 self.hooksMenuEntries.get(
194 "open", self.trUtf8('Open')), 194 "open", self.tr('Open')),
195 self._openItem) 195 self._openItem)
196 self.tsMenuActions.append(act) 196 self.tsMenuActions.append(act)
197 act = self.menu.addAction( 197 act = self.menu.addAction(
198 self.trUtf8('Open in Editor'), self.__openFileInEditor) 198 self.tr('Open in Editor'), self.__openFileInEditor)
199 self.tsMenuActions.append(act) 199 self.tsMenuActions.append(act)
200 self.menu.addSeparator() 200 self.menu.addSeparator()
201 if self.hooks["releaseSelected"] is not None: 201 if self.hooks["releaseSelected"] is not None:
202 act = self.menu.addAction( 202 act = self.menu.addAction(
203 self.hooksMenuEntries.get( 203 self.hooksMenuEntries.get(
204 "releaseSelected", 204 "releaseSelected",
205 self.trUtf8('Release translation')), 205 self.tr('Release translation')),
206 self.__releaseSelected) 206 self.__releaseSelected)
207 self.tsMenuActions.append(act) 207 self.tsMenuActions.append(act)
208 self.qmprocMenuActions.append(act) 208 self.qmprocMenuActions.append(act)
209 if self.hooks["releaseAll"] is not None: 209 if self.hooks["releaseAll"] is not None:
210 act = self.menu.addAction( 210 act = self.menu.addAction(
211 self.hooksMenuEntries.get( 211 self.hooksMenuEntries.get(
212 "releaseAll", 212 "releaseAll",
213 self.trUtf8('Release all translations')), 213 self.tr('Release all translations')),
214 self.__releaseAll) 214 self.__releaseAll)
215 self.qmprocMenuActions.append(act) 215 self.qmprocMenuActions.append(act)
216 self.menu.addSeparator() 216 self.menu.addSeparator()
217 act = self.menu.addAction( 217 act = self.menu.addAction(
218 self.trUtf8('Remove from project'), self.__removeLanguageFile) 218 self.tr('Remove from project'), self.__removeLanguageFile)
219 self.menuActions.append(act) 219 self.menuActions.append(act)
220 act = self.menu.addAction( 220 act = self.menu.addAction(
221 self.trUtf8('Delete'), self.__deleteLanguageFile) 221 self.tr('Delete'), self.__deleteLanguageFile)
222 self.menuActions.append(act) 222 self.menuActions.append(act)
223 self.menu.addSeparator() 223 self.menu.addSeparator()
224 self.__addTranslationAct = self.menu.addAction( 224 self.__addTranslationAct = self.menu.addAction(
225 self.trUtf8('Add translation...'), self.project.addLanguage) 225 self.tr('Add translation...'), self.project.addLanguage)
226 self.menu.addAction( 226 self.menu.addAction(
227 self.trUtf8('Add translation files...'), 227 self.tr('Add translation files...'),
228 self.__addTranslationFiles) 228 self.__addTranslationFiles)
229 self.menu.addSeparator() 229 self.menu.addSeparator()
230 self.menu.addAction( 230 self.menu.addAction(
231 self.trUtf8('Copy Path to Clipboard'), self._copyToClipboard) 231 self.tr('Copy Path to Clipboard'), self._copyToClipboard)
232 self.menu.addSeparator() 232 self.menu.addSeparator()
233 self.menu.addAction(self.trUtf8('Configure...'), self._configure) 233 self.menu.addAction(self.tr('Configure...'), self._configure)
234 234
235 self.backMenu = QMenu(self) 235 self.backMenu = QMenu(self)
236 if self.project.getProjectType() in \ 236 if self.project.getProjectType() in \
237 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", 237 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin",
238 "PySide", "PySideC"]: 238 "PySide", "PySideC"]:
239 act = self.backMenu.addAction( 239 act = self.backMenu.addAction(
240 self.trUtf8('Generate all translations'), 240 self.tr('Generate all translations'),
241 self.__generateAll) 241 self.__generateAll)
242 self.tsprocBackMenuActions.append(act) 242 self.tsprocBackMenuActions.append(act)
243 act = self.backMenu.addAction( 243 act = self.backMenu.addAction(
244 self.trUtf8('Generate all translations (with obsolete)'), 244 self.tr('Generate all translations (with obsolete)'),
245 self.__generateObsoleteAll) 245 self.__generateObsoleteAll)
246 self.tsprocBackMenuActions.append(act) 246 self.tsprocBackMenuActions.append(act)
247 act = self.backMenu.addAction( 247 act = self.backMenu.addAction(
248 self.trUtf8('Release all translations'), 248 self.tr('Release all translations'),
249 self.__releaseAll) 249 self.__releaseAll)
250 self.qmprocBackMenuActions.append(act) 250 self.qmprocBackMenuActions.append(act)
251 self.backMenu.addSeparator() 251 self.backMenu.addSeparator()
252 act = self.backMenu.addAction( 252 act = self.backMenu.addAction(
253 self.trUtf8('Preview all translations'), 253 self.tr('Preview all translations'),
254 self.__TRPreview) 254 self.__TRPreview)
255 else: 255 else:
256 if self.hooks["extractMessages"] is not None: 256 if self.hooks["extractMessages"] is not None:
257 act = self.backMenu.addAction( 257 act = self.backMenu.addAction(
258 self.hooksMenuEntries.get( 258 self.hooksMenuEntries.get(
259 "extractMessages", 259 "extractMessages",
260 self.trUtf8('Extract messages')), 260 self.tr('Extract messages')),
261 self.__extractMessages) 261 self.__extractMessages)
262 self.backMenu.addSeparator() 262 self.backMenu.addSeparator()
263 if self.hooks["generateAll"] is not None: 263 if self.hooks["generateAll"] is not None:
264 act = self.backMenu.addAction( 264 act = self.backMenu.addAction(
265 self.hooksMenuEntries.get( 265 self.hooksMenuEntries.get(
266 "generateAll", 266 "generateAll",
267 self.trUtf8('Generate all translations')), 267 self.tr('Generate all translations')),
268 self.__generateAll) 268 self.__generateAll)
269 self.tsprocBackMenuActions.append(act) 269 self.tsprocBackMenuActions.append(act)
270 if self.hooks["generateAllWithObsolete"] is not None: 270 if self.hooks["generateAllWithObsolete"] is not None:
271 act = self.backMenu.addAction( 271 act = self.backMenu.addAction(
272 self.hooksMenuEntries.get( 272 self.hooksMenuEntries.get(
273 "generateAllWithObsolete", 273 "generateAllWithObsolete",
274 self.trUtf8( 274 self.tr(
275 'Generate all translations (with obsolete)')), 275 'Generate all translations (with obsolete)')),
276 self.__generateObsoleteAll) 276 self.__generateObsoleteAll)
277 self.tsprocBackMenuActions.append(act) 277 self.tsprocBackMenuActions.append(act)
278 if self.hooks["releaseAll"] is not None: 278 if self.hooks["releaseAll"] is not None:
279 act = self.backMenu.addAction( 279 act = self.backMenu.addAction(
280 self.hooksMenuEntries.get( 280 self.hooksMenuEntries.get(
281 "releaseAll", 281 "releaseAll",
282 self.trUtf8('Release all translations')), 282 self.tr('Release all translations')),
283 self.__releaseAll) 283 self.__releaseAll)
284 self.qmprocBackMenuActions.append(act) 284 self.qmprocBackMenuActions.append(act)
285 self.backMenu.addSeparator() 285 self.backMenu.addSeparator()
286 self.__addTranslationBackAct = self.backMenu.addAction( 286 self.__addTranslationBackAct = self.backMenu.addAction(
287 self.trUtf8('Add translation...'), self.project.addLanguage) 287 self.tr('Add translation...'), self.project.addLanguage)
288 self.backMenu.addAction( 288 self.backMenu.addAction(
289 self.trUtf8('Add translation files...'), 289 self.tr('Add translation files...'),
290 self.__addTranslationFiles) 290 self.__addTranslationFiles)
291 self.backMenu.addSeparator() 291 self.backMenu.addSeparator()
292 self.backMenu.addAction(self.trUtf8('Configure...'), self._configure) 292 self.backMenu.addAction(self.tr('Configure...'), self._configure)
293 self.backMenu.setEnabled(False) 293 self.backMenu.setEnabled(False)
294 294
295 # create the menu for multiple selected files 295 # create the menu for multiple selected files
296 self.multiMenu = QMenu(self) 296 self.multiMenu = QMenu(self)
297 if self.project.getProjectType() in \ 297 if self.project.getProjectType() in \
298 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", 298 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin",
299 "PySide", "PySideC"]: 299 "PySide", "PySideC"]:
300 act = self.multiMenu.addAction( 300 act = self.multiMenu.addAction(
301 self.trUtf8('Generate translations'), 301 self.tr('Generate translations'),
302 self.__generateSelected) 302 self.__generateSelected)
303 self.tsMultiMenuActions.append(act) 303 self.tsMultiMenuActions.append(act)
304 self.tsprocMultiMenuActions.append(act) 304 self.tsprocMultiMenuActions.append(act)
305 act = self.multiMenu.addAction( 305 act = self.multiMenu.addAction(
306 self.trUtf8('Generate translations (with obsolete)'), 306 self.tr('Generate translations (with obsolete)'),
307 self.__generateObsoleteSelected) 307 self.__generateObsoleteSelected)
308 self.tsMultiMenuActions.append(act) 308 self.tsMultiMenuActions.append(act)
309 self.tsprocMultiMenuActions.append(act) 309 self.tsprocMultiMenuActions.append(act)
310 self.multiMenu.addSeparator() 310 self.multiMenu.addSeparator()
311 act = self.multiMenu.addAction( 311 act = self.multiMenu.addAction(
312 self.trUtf8('Open in Qt-Linguist'), self._openItem) 312 self.tr('Open in Qt-Linguist'), self._openItem)
313 self.tsMultiMenuActions.append(act) 313 self.tsMultiMenuActions.append(act)
314 act = self.multiMenu.addAction( 314 act = self.multiMenu.addAction(
315 self.trUtf8('Open in Editor'), self.__openFileInEditor) 315 self.tr('Open in Editor'), self.__openFileInEditor)
316 self.tsMultiMenuActions.append(act) 316 self.tsMultiMenuActions.append(act)
317 self.multiMenu.addSeparator() 317 self.multiMenu.addSeparator()
318 act = self.multiMenu.addAction( 318 act = self.multiMenu.addAction(
319 self.trUtf8('Release translations'), self.__releaseSelected) 319 self.tr('Release translations'), self.__releaseSelected)
320 self.tsMultiMenuActions.append(act) 320 self.tsMultiMenuActions.append(act)
321 self.qmprocMultiMenuActions.append(act) 321 self.qmprocMultiMenuActions.append(act)
322 self.multiMenu.addSeparator() 322 self.multiMenu.addSeparator()
323 act = self.multiMenu.addAction( 323 act = self.multiMenu.addAction(
324 self.trUtf8('Preview translations'), self.__TRPreview) 324 self.tr('Preview translations'), self.__TRPreview)
325 self.qmMultiMenuActions.append(act) 325 self.qmMultiMenuActions.append(act)
326 else: 326 else:
327 if self.hooks["extractMessages"] is not None: 327 if self.hooks["extractMessages"] is not None:
328 act = self.multiMenu.addAction( 328 act = self.multiMenu.addAction(
329 self.hooksMenuEntries.get( 329 self.hooksMenuEntries.get(
330 "extractMessages", 330 "extractMessages",
331 self.trUtf8('Extract messages')), 331 self.tr('Extract messages')),
332 self.__extractMessages) 332 self.__extractMessages)
333 self.multiMenuActions.append(act) 333 self.multiMenuActions.append(act)
334 self.multiMenu.addSeparator() 334 self.multiMenu.addSeparator()
335 if self.hooks["generateSelected"] is not None: 335 if self.hooks["generateSelected"] is not None:
336 act = self.multiMenu.addAction( 336 act = self.multiMenu.addAction(
337 self.hooksMenuEntries.get( 337 self.hooksMenuEntries.get(
338 "generateSelected", 338 "generateSelected",
339 self.trUtf8('Generate translations')), 339 self.tr('Generate translations')),
340 self.__generateSelected) 340 self.__generateSelected)
341 self.tsMultiMenuActions.append(act) 341 self.tsMultiMenuActions.append(act)
342 self.tsprocMultiMenuActions.append(act) 342 self.tsprocMultiMenuActions.append(act)
343 if self.hooks["generateSelectedWithObsolete"] is not None: 343 if self.hooks["generateSelectedWithObsolete"] is not None:
344 act = self.multiMenu.addAction( 344 act = self.multiMenu.addAction(
345 self.hooksMenuEntries.get( 345 self.hooksMenuEntries.get(
346 "generateSelectedWithObsolete", 346 "generateSelectedWithObsolete",
347 self.trUtf8('Generate translations (with obsolete)')), 347 self.tr('Generate translations (with obsolete)')),
348 self.__generateObsoleteSelected) 348 self.__generateObsoleteSelected)
349 self.tsMultiMenuActions.append(act) 349 self.tsMultiMenuActions.append(act)
350 self.tsprocMultiMenuActions.append(act) 350 self.tsprocMultiMenuActions.append(act)
351 self.multiMenu.addSeparator() 351 self.multiMenu.addSeparator()
352 if self.hooks["open"] is not None: 352 if self.hooks["open"] is not None:
353 act = self.multiMenu.addAction( 353 act = self.multiMenu.addAction(
354 self.hooksMenuEntries.get( 354 self.hooksMenuEntries.get(
355 "open", self.trUtf8('Open')), 355 "open", self.tr('Open')),
356 self._openItem) 356 self._openItem)
357 self.tsMultiMenuActions.append(act) 357 self.tsMultiMenuActions.append(act)
358 act = self.multiMenu.addAction( 358 act = self.multiMenu.addAction(
359 self.trUtf8('Open in Editor'), self.__openFileInEditor) 359 self.tr('Open in Editor'), self.__openFileInEditor)
360 self.tsMultiMenuActions.append(act) 360 self.tsMultiMenuActions.append(act)
361 self.multiMenu.addSeparator() 361 self.multiMenu.addSeparator()
362 if self.hooks["releaseSelected"] is not None: 362 if self.hooks["releaseSelected"] is not None:
363 act = self.multiMenu.addAction( 363 act = self.multiMenu.addAction(
364 self.hooksMenuEntries.get( 364 self.hooksMenuEntries.get(
365 "releaseSelected", 365 "releaseSelected",
366 self.trUtf8('Release translations')), 366 self.tr('Release translations')),
367 self.__releaseSelected) 367 self.__releaseSelected)
368 self.tsMultiMenuActions.append(act) 368 self.tsMultiMenuActions.append(act)
369 self.qmprocMultiMenuActions.append(act) 369 self.qmprocMultiMenuActions.append(act)
370 self.multiMenu.addSeparator() 370 self.multiMenu.addSeparator()
371 act = self.multiMenu.addAction( 371 act = self.multiMenu.addAction(
372 self.trUtf8('Remove from project'), self.__removeLanguageFile) 372 self.tr('Remove from project'), self.__removeLanguageFile)
373 self.multiMenuActions.append(act) 373 self.multiMenuActions.append(act)
374 act = self.multiMenu.addAction( 374 act = self.multiMenu.addAction(
375 self.trUtf8('Delete'), self.__deleteLanguageFile) 375 self.tr('Delete'), self.__deleteLanguageFile)
376 self.multiMenuActions.append(act) 376 self.multiMenuActions.append(act)
377 self.multiMenu.addSeparator() 377 self.multiMenu.addSeparator()
378 self.multiMenu.addAction(self.trUtf8('Configure...'), self._configure) 378 self.multiMenu.addAction(self.tr('Configure...'), self._configure)
379 379
380 self.dirMenu = QMenu(self) 380 self.dirMenu = QMenu(self)
381 if self.project.getProjectType() in \ 381 if self.project.getProjectType() in \
382 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin", 382 ["Qt4", "Qt4C", "PyQt5", "PyQt5C", "E4Plugin",
383 "PySide", "PySideC"]: 383 "PySide", "PySideC"]:
384 act = self.dirMenu.addAction( 384 act = self.dirMenu.addAction(
385 self.trUtf8('Generate all translations'), 385 self.tr('Generate all translations'),
386 self.__generateAll) 386 self.__generateAll)
387 self.tsprocDirMenuActions.append(act) 387 self.tsprocDirMenuActions.append(act)
388 act = self.dirMenu.addAction( 388 act = self.dirMenu.addAction(
389 self.trUtf8('Generate all translations (with obsolete)'), 389 self.tr('Generate all translations (with obsolete)'),
390 self.__generateObsoleteAll) 390 self.__generateObsoleteAll)
391 self.tsprocDirMenuActions.append(act) 391 self.tsprocDirMenuActions.append(act)
392 act = self.dirMenu.addAction( 392 act = self.dirMenu.addAction(
393 self.trUtf8('Release all translations'), 393 self.tr('Release all translations'),
394 self.__releaseAll) 394 self.__releaseAll)
395 self.qmprocDirMenuActions.append(act) 395 self.qmprocDirMenuActions.append(act)
396 self.dirMenu.addSeparator() 396 self.dirMenu.addSeparator()
397 act = self.dirMenu.addAction( 397 act = self.dirMenu.addAction(
398 self.trUtf8('Preview all translations'), 398 self.tr('Preview all translations'),
399 self.__TRPreview) 399 self.__TRPreview)
400 else: 400 else:
401 if self.hooks["extractMessages"] is not None: 401 if self.hooks["extractMessages"] is not None:
402 act = self.dirMenu.addAction( 402 act = self.dirMenu.addAction(
403 self.hooksMenuEntries.get( 403 self.hooksMenuEntries.get(
404 "extractMessages", 404 "extractMessages",
405 self.trUtf8('Extract messages')), 405 self.tr('Extract messages')),
406 self.__extractMessages) 406 self.__extractMessages)
407 self.dirMenuActions.append(act) 407 self.dirMenuActions.append(act)
408 self.dirMenu.addSeparator() 408 self.dirMenu.addSeparator()
409 if self.hooks["generateAll"] is not None: 409 if self.hooks["generateAll"] is not None:
410 act = self.dirMenu.addAction( 410 act = self.dirMenu.addAction(
411 self.hooksMenuEntries.get( 411 self.hooksMenuEntries.get(
412 "generateAll", 412 "generateAll",
413 self.trUtf8('Generate all translations')), 413 self.tr('Generate all translations')),
414 self.__generateAll) 414 self.__generateAll)
415 self.tsprocDirMenuActions.append(act) 415 self.tsprocDirMenuActions.append(act)
416 if self.hooks["generateAllWithObsolete"] is not None: 416 if self.hooks["generateAllWithObsolete"] is not None:
417 act = self.dirMenu.addAction( 417 act = self.dirMenu.addAction(
418 self.hooksMenuEntries.get( 418 self.hooksMenuEntries.get(
419 "generateAllWithObsolete", 419 "generateAllWithObsolete",
420 self.trUtf8( 420 self.tr(
421 'Generate all translations (with obsolete)')), 421 'Generate all translations (with obsolete)')),
422 self.__generateObsoleteAll) 422 self.__generateObsoleteAll)
423 self.tsprocDirMenuActions.append(act) 423 self.tsprocDirMenuActions.append(act)
424 if self.hooks["releaseAll"] is not None: 424 if self.hooks["releaseAll"] is not None:
425 act = self.dirMenu.addAction( 425 act = self.dirMenu.addAction(
426 self.hooksMenuEntries.get( 426 self.hooksMenuEntries.get(
427 "releaseAll", 427 "releaseAll",
428 self.trUtf8('Release all translations')), 428 self.tr('Release all translations')),
429 self.__releaseAll) 429 self.__releaseAll)
430 self.qmprocDirMenuActions.append(act) 430 self.qmprocDirMenuActions.append(act)
431 self.dirMenu.addSeparator() 431 self.dirMenu.addSeparator()
432 act = self.dirMenu.addAction( 432 act = self.dirMenu.addAction(
433 self.trUtf8('Delete'), self._deleteDirectory) 433 self.tr('Delete'), self._deleteDirectory)
434 self.dirMenuActions.append(act) 434 self.dirMenuActions.append(act)
435 self.dirMenu.addSeparator() 435 self.dirMenu.addSeparator()
436 self.__addTranslationDirAct = self.dirMenu.addAction( 436 self.__addTranslationDirAct = self.dirMenu.addAction(
437 self.trUtf8('Add translation...'), self.project.addLanguage) 437 self.tr('Add translation...'), self.project.addLanguage)
438 self.dirMenu.addAction( 438 self.dirMenu.addAction(
439 self.trUtf8('Add translation files...'), 439 self.tr('Add translation files...'),
440 self.__addTranslationFiles) 440 self.__addTranslationFiles)
441 self.dirMenu.addSeparator() 441 self.dirMenu.addSeparator()
442 self.dirMenu.addAction( 442 self.dirMenu.addAction(
443 self.trUtf8('Copy Path to Clipboard'), self._copyToClipboard) 443 self.tr('Copy Path to Clipboard'), self._copyToClipboard)
444 self.dirMenu.addSeparator() 444 self.dirMenu.addSeparator()
445 self.dirMenu.addAction(self.trUtf8('Configure...'), self._configure) 445 self.dirMenu.addAction(self.tr('Configure...'), self._configure)
446 446
447 self.dirMultiMenu = None 447 self.dirMultiMenu = None
448 448
449 self.menu.aboutToShow.connect(self.__showContextMenu) 449 self.menu.aboutToShow.connect(self.__showContextMenu)
450 self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti) 450 self.multiMenu.aboutToShow.connect(self.__showContextMenuMulti)
673 673
674 from UI.DeleteFilesConfirmationDialog import \ 674 from UI.DeleteFilesConfirmationDialog import \
675 DeleteFilesConfirmationDialog 675 DeleteFilesConfirmationDialog
676 dlg = DeleteFilesConfirmationDialog( 676 dlg = DeleteFilesConfirmationDialog(
677 self.parent(), 677 self.parent(),
678 self.trUtf8("Delete translation files"), 678 self.tr("Delete translation files"),
679 self.trUtf8("Do you really want to delete these translation files" 679 self.tr("Do you really want to delete these translation files"
680 " from the project?"), 680 " from the project?"),
681 translationFiles) 681 translationFiles)
682 682
683 if dlg.exec_() == QDialog.Accepted: 683 if dlg.exec_() == QDialog.Accepted:
684 for fn in translationFiles: 684 for fn in translationFiles:
685 self.closeSourceWindow.emit(fn) 685 self.closeSourceWindow.emit(fn)
776 except IndexError: 776 except IndexError:
777 langs = [] 777 langs = []
778 if not langs: 778 if not langs:
779 E5MessageBox.warning( 779 E5MessageBox.warning(
780 self, 780 self,
781 self.trUtf8("Write temporary project file"), 781 self.tr("Write temporary project file"),
782 self.trUtf8("""No translation files (*.ts) selected.""")) 782 self.tr("""No translation files (*.ts) selected."""))
783 return False 783 return False
784 784
785 # create a prefix relative from the *.ts down to the project path 785 # create a prefix relative from the *.ts down to the project path
786 langLevel = {} 786 langLevel = {}
787 for lang in langs: 787 for lang in langs:
825 pf.close() 825 pf.close()
826 self.__tmpProjects.append(outFile) 826 self.__tmpProjects.append(outFile)
827 except IOError: 827 except IOError:
828 E5MessageBox.critical( 828 E5MessageBox.critical(
829 self, 829 self,
830 self.trUtf8("Write temporary project file"), 830 self.tr("Write temporary project file"),
831 self.trUtf8( 831 self.tr(
832 "<p>The temporary project file <b>{0}</b> could not" 832 "<p>The temporary project file <b>{0}</b> could not"
833 " be written.</p>").format(outFile)) 833 " be written.</p>").format(outFile))
834 834
835 if len(self.__tmpProjects) == 0: 835 if len(self.__tmpProjects) == 0:
836 return False 836 return False
934 if exitStatus == QProcess.NormalExit and exitCode == 0: 934 if exitStatus == QProcess.NormalExit and exitCode == 0:
935 ui = e5App().getObject("UserInterface") 935 ui = e5App().getObject("UserInterface")
936 if ui.notificationsEnabled(): 936 if ui.notificationsEnabled():
937 ui.showNotification( 937 ui.showNotification(
938 UI.PixmapCache.getPixmap("linguist48.png"), 938 UI.PixmapCache.getPixmap("linguist48.png"),
939 self.trUtf8("Translation file generation"), 939 self.tr("Translation file generation"),
940 self.trUtf8( 940 self.tr(
941 "The generation of the translation files (*.ts)" 941 "The generation of the translation files (*.ts)"
942 " was successful.")) 942 " was successful."))
943 else: 943 else:
944 E5MessageBox.information( 944 E5MessageBox.information(
945 self, 945 self,
946 self.trUtf8("Translation file generation"), 946 self.tr("Translation file generation"),
947 self.trUtf8( 947 self.tr(
948 "The generation of the translation files (*.ts)" 948 "The generation of the translation files (*.ts)"
949 " was successful.")) 949 " was successful."))
950 else: 950 else:
951 E5MessageBox.critical( 951 E5MessageBox.critical(
952 self, 952 self,
953 self.trUtf8("Translation file generation"), 953 self.tr("Translation file generation"),
954 self.trUtf8( 954 self.tr(
955 "The generation of the translation files (*.ts) has" 955 "The generation of the translation files (*.ts) has"
956 " failed.")) 956 " failed."))
957 957
958 proc = self.sender() 958 proc = self.sender()
959 for index in range(len(self.__pylupdateProcesses)): 959 for index in range(len(self.__pylupdateProcesses)):
1056 self.pylupdateProcRunning = True 1056 self.pylupdateProcRunning = True
1057 self.__pylupdateProcesses.append((proc, tempProjectFile)) 1057 self.__pylupdateProcesses.append((proc, tempProjectFile))
1058 else: 1058 else:
1059 E5MessageBox.critical( 1059 E5MessageBox.critical(
1060 self, 1060 self,
1061 self.trUtf8('Process Generation Error'), 1061 self.tr('Process Generation Error'),
1062 self.trUtf8( 1062 self.tr(
1063 'Could not start {0}.<br>' 1063 'Could not start {0}.<br>'
1064 'Ensure that it is in the search path.' 1064 'Ensure that it is in the search path.'
1065 ).format(self.pylupdate)) 1065 ).format(self.pylupdate))
1066 1066
1067 # cleanup 1067 # cleanup
1119 if exitStatus == QProcess.NormalExit and exitCode == 0: 1119 if exitStatus == QProcess.NormalExit and exitCode == 0:
1120 ui = e5App().getObject("UserInterface") 1120 ui = e5App().getObject("UserInterface")
1121 if ui.notificationsEnabled(): 1121 if ui.notificationsEnabled():
1122 ui.showNotification( 1122 ui.showNotification(
1123 UI.PixmapCache.getPixmap("linguist48.png"), 1123 UI.PixmapCache.getPixmap("linguist48.png"),
1124 self.trUtf8("Translation file release"), 1124 self.tr("Translation file release"),
1125 self.trUtf8("The release of the translation files (*.qm)" 1125 self.tr("The release of the translation files (*.qm)"
1126 " was successful.")) 1126 " was successful."))
1127 else: 1127 else:
1128 E5MessageBox.information( 1128 E5MessageBox.information(
1129 self, 1129 self,
1130 self.trUtf8("Translation file release"), 1130 self.tr("Translation file release"),
1131 self.trUtf8("The release of the translation files (*.qm)" 1131 self.tr("The release of the translation files (*.qm)"
1132 " was successful.")) 1132 " was successful."))
1133 if self.project.pdata["TRANSLATIONSBINPATH"] and \ 1133 if self.project.pdata["TRANSLATIONSBINPATH"] and \
1134 self.project.pdata["TRANSLATIONSBINPATH"][0]: 1134 self.project.pdata["TRANSLATIONSBINPATH"][0]:
1135 target = os.path.join( 1135 target = os.path.join(
1136 self.project.ppath, 1136 self.project.ppath,
1137 self.project.pdata["TRANSLATIONSBINPATH"][0]) 1137 self.project.pdata["TRANSLATIONSBINPATH"][0])
1142 if os.path.exists(qmFile): 1142 if os.path.exists(qmFile):
1143 shutil.move(qmFile, target) 1143 shutil.move(qmFile, target)
1144 else: 1144 else:
1145 E5MessageBox.critical( 1145 E5MessageBox.critical(
1146 self, 1146 self,
1147 self.trUtf8("Translation file release"), 1147 self.tr("Translation file release"),
1148 self.trUtf8( 1148 self.tr(
1149 "The release of the translation files (*.qm) has failed.")) 1149 "The release of the translation files (*.qm) has failed."))
1150 1150
1151 proc = self.sender() 1151 proc = self.sender()
1152 for index in range(len(self.__lreleaseProcesses)): 1152 for index in range(len(self.__lreleaseProcesses)):
1153 if proc == self.__lreleaseProcesses[index][0]: 1153 if proc == self.__lreleaseProcesses[index][0]:
1228 self.lreleaseProcRunning = True 1228 self.lreleaseProcRunning = True
1229 self.__lreleaseProcesses.append((proc, tempProjectFile)) 1229 self.__lreleaseProcesses.append((proc, tempProjectFile))
1230 else: 1230 else:
1231 E5MessageBox.critical( 1231 E5MessageBox.critical(
1232 self, 1232 self,
1233 self.trUtf8('Process Generation Error'), 1233 self.tr('Process Generation Error'),
1234 self.trUtf8( 1234 self.tr(
1235 '<p>Could not start lrelease.<br>' 1235 '<p>Could not start lrelease.<br>'
1236 'Ensure that it is available as <b>{0}</b>.</p>' 1236 'Ensure that it is available as <b>{0}</b>.</p>'
1237 ).format(lrelease)) 1237 ).format(lrelease))
1238 1238
1239 # cleanup 1239 # cleanup

eric ide

mercurial