$ bzr commit -m "fix translations strings" Committing to: /home/stani/sync/python/phatch/trunk/ modified locale/en/LC_MESSAGES/phatch.mo modified locale/en/LC_MESSAGES/phatch.pot modified phatch/core/lib/formField.py modified phatch/pyWx/gui.py
=== modified file 'locale/en/LC_MESSAGES/phatch.mo' Binary files locale/en/LC_MESSAGES/phatch.mo 2009-06-05 13:15:12 +0000 and locale/en/LC_MESSAGES/phatch.mo 2009-06-05 13:52:18 +0000 differ === modified file 'locale/en/LC_MESSAGES/phatch.pot' --- locale/en/LC_MESSAGES/phatch.pot 2009-06-05 13:15:12 +0000 +++ locale/en/LC_MESSAGES/phatch.pot 2009-06-05 13:52:18 +0000 @@ -2,8 +2,8 @@ msgstr "" "Project-Id-Version: Phatch\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-06-05 15:10+0100\n" -"PO-Revision-Date: 2009-06-05 15:10+0100\n" +"POT-Creation-Date: 2009-06-05 15:52+0100\n" +"PO-Revision-Date: 2009-06-05 15:52+0100\n" "Last-Translator: Stani <[email protected]>\n" "Language-Team: <[email protected]>\n" "MIME-Version: 1.0\n" @@ -572,265 +572,254 @@ msgid "Use the Image Inspector to list all the variables." msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:38 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:36 +msgid "You can only use files with the following extensions" +msgstr "" + +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:39 msgid "left" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:38 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:39 msgid "center" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:38 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:39 msgid "right" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:39 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:40 msgid "top" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:39 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:40 msgid "middle" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:39 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:40 msgid "bottom" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:52 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:53 msgid "Monochrome (1-bit pixels, black and white)" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:53 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:54 msgid "Grayscale (8-bit pixels, black and white)" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:54 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:55 msgid "RGB (3x8-bit pixels, true color)" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:55 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:56 msgid "RGBA (4x8-bit pixels, RGB with transparency mask)" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:56 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:57 msgid "CMYK (4x8-bit pixels, color separation)" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:57 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:58 msgid "P (8-bit pixels, mapped using a color palette)" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:58 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:59 msgid "YCbCr (3x8-bit pixels, color video format)" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:59 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:60 msgid "I (32-bit integer pixels)" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:60 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:61 msgid "F (32-bit floating point pixels)" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:61 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:62 msgid "blur" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:61 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:62 msgid "contour" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:61 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:62 msgid "detail" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:62 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:63 msgid "edge enhance" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:62 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:63 msgid "edge enhance more" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:63 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:64 msgid "emboss" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:63 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:64 msgid "find edges" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:63 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:64 msgid "smooth" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:64 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:65 msgid "smooth more" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:64 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:65 msgid "sharpen" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:65 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:66 msgid "nearest" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:65 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:66 msgid "bilinear" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:66 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:67 msgid "antialias" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:67 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:68 msgid "Rotate 90" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:67 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:68 msgid "Rotate 180" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:67 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:68 msgid "Rotate 270" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:68 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:69 msgid "Flip Left Right" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:68 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:69 msgid "Flip Top Bottom" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:70 -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:751 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:71 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:753 msgid "Normal" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:72 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:73 msgid "none" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:208 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:209 msgid "compression" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:452 -msgid "the variable" -msgstr "" - -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:453 -msgid "doesn't exist" -msgstr "" - -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:496 -msgid "invalid syntax" -msgstr "" - -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:497 -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:518 -msgid "for integer" -msgstr "" - -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:500 -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:503 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:454 +#, python-format +msgid "the variable <%s> doesn't exist" +msgstr "" + +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:498 +#, python-format +msgid "invalid syntax \"%s\" for integer" +msgstr "" + +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:501 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:504 msgid "string" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:513 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:514 msgid "integer" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:517 -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:566 -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:603 -msgid "invalid literal" +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:519 +#, python-format +msgid "invalid literal \"%s\" for integer" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:528 -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:570 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:529 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:572 msgid "positive integer" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:535 -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:577 -msgid "is negative, but should be positive" +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:536 +#, python-format +msgid "the integer value \"%s\" is negative, but should be positive" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:541 -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:583 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:542 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:585 msgid "positive, non-zero integer" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:547 -msgid "the integer value" -msgstr "" - -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:548 -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:590 -msgid "is zero, but should be non-zero." -msgstr "" - -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:556 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:549 +#, python-format +msgid "the integer value \"%s\" is zero, but should be non-zero" +msgstr "" + +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:557 msgid "resolution" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:559 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:560 msgid "float" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:566 -msgid "for float" -msgstr "" - -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:589 -msgid "the float value" -msgstr "" - -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:594 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:568 +#, python-format +msgid "invalid literal \"%s\" for float" +msgstr "" + +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:579 +#, python-format +msgid "the float value \"%s\" is negative, but should be positive" +msgstr "" + +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:592 +#, python-format +msgid "the float value \"%s\" is zero, but should be non-zero" +msgstr "" + +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:596 msgid "boolean" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:604 -msgid "for boolean" +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:606 +#, python-format +msgid "invalid literal \"%s\" for boolean" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:607 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:610 msgid "choice" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:633 -msgid "the file extension" -msgstr "" - -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:634 -msgid "is invalid." -msgstr "" - -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:635 -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:642 -msgid "You can only use files with the following extensions" -msgstr "" - -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:641 -msgid "a filename with a valid extension was expected." -msgstr "" - -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:656 -msgid "the filename" -msgstr "" - -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:657 -msgid "does not exist." -msgstr "" - -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:738 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:636 +#, python-format +msgid "the file extension \"%s\" is invalid" +msgstr "" + +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:643 +msgid "a filename with a valid extension was expected" +msgstr "" + +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:659 +#, python-format +msgid "the filename \"%s\" does not exist" +msgstr "" + +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:740 msgid "automatic" msgstr "" -#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:830 +#: /home/stani/sync/python/phatch/trunk/phatch/core/lib/formField.py:832 msgid "Tag should start with \"Exif.\" or \"Iptc.\"" msgstr "" === modified file 'phatch/core/lib/formField.py' --- phatch/core/lib/formField.py 2009-06-05 00:29:01 +0000 +++ phatch/core/lib/formField.py 2009-06-05 13:50:44 +0000 @@ -33,6 +33,7 @@ NO_FIELDS = Fields() _t = unicode USE_INSPECTOR = _('Use the Image Inspector to list all the variables.') +USE_EXTENSIONS = _('You can only use files with the following extensions') #---image ALIGN_HORIZONTAL = [_t('left'),_t('center'),_t('right')] @@ -449,8 +450,8 @@ except: reason = '?' raise ValidationError(self.description, - "%s: %s '%s' %s."%(_(label),_("the variable"), - variable,_("doesn't exist")), + "%s: %s."%(_(label), + _("the variable <%s> doesn't exist")%variable), USE_INSPECTOR) def to_python(self,x,label): @@ -493,8 +494,8 @@ except NameError: pass raise ValidationError(self.description, - '%s: %s "%s" %s.'%(_(label),_('invalid syntax'),x, - _('for integer'))) + '%s: %s.'%(_(label), + _('invalid syntax "%s" for integer')%x)) class _CharField(Field): description = _('string') @@ -514,8 +515,8 @@ def to_python(self,x,label): error = ValidationError(self.description, - '%s: %s "%s" %s.'%(_(label),_('invalid literal'),x, - _('for integer'))) + '%s: %s.'%(_(label), + _('invalid literal "%s" for integer')%x)) try: return int(round(self.eval(x,label))) except ValueError: @@ -531,8 +532,8 @@ value = super(PositiveIntegerField, self).to_python(x,label) if value < 0: raise ValidationError(self.description, - '%s: %s "%s" %s.'%(_(label),('the integer value'),x, - _('is negative, but should be positive'))) + '%s: %s.'%(_(label), + _('the integer value "%s" is negative, but should be positive')%x)) return value class PositiveNonZeroIntegerField(PositiveIntegerField): @@ -544,8 +545,8 @@ value = super(PositiveNonZeroIntegerField, self).to_python(x,label) if value == 0: raise ValidationError(self.description, - '%s: %s "%s" %s.'%(_(label),_('the integer value'),x, - _('is zero, but should be non-zero.'))) + '%s: %s.'%(_(label), + _('the integer value "%s" is zero, but should be non-zero')%x)) return value class DpiField(PositiveNonZeroIntegerField): @@ -563,7 +564,8 @@ return float(self.eval(x,label)) except ValueError, message: raise ValidationError(self.description, - '%s: %s "%s" %s.'%(_(label),_('invalid literal'),x,_('for float'))) + '%s: %s.'%(_(label), + _('invalid literal "%s" for float')%x)) class PositiveFloatField(FloatField): """""" @@ -573,8 +575,8 @@ value = super(PositiveFloatField, self).to_python(x,label) if value < 0: raise ValidationError(self.description, - '%s: %s "%s" %s.'%(_(label),('the float value'),x, - _('is negative, but should be positive'))) + '%s: %s.'%(_(label), + _('the float value "%s" is negative, but should be positive')%x)) return value class PositiveNonZeroFloatField(PositiveIntegerField): @@ -586,8 +588,8 @@ value = super(PositiveNonZeroIntegerField, self).to_python(x,label) if value == 0: raise ValidationError(self.description, - '%s: %s "%s" %s.'%(_(label),_('the float value'),x, - _('is zero, but should be non-zero.'))) + '%s: %s.'%(_(label), + _('the float value "%s" is zero, but should be non-zero')%x)) return value class BooleanField(Field): @@ -600,8 +602,9 @@ if x.lower() in ['1','true','yes']: return True if x.lower() in ['0','false','no']: return False raise ValidationError(self.description, - '%s: %s "%s" %s (%s,%s).'%(_(label),_('invalid literal'), x, - _('for boolean'),_('true'),_('false'))) + '%s: %s (%s,%s).'%(_(label), + _('invalid literal "%s" for boolean')%x, + _('true'),_('false'))) class ChoiceField(CharField): description = _('choice') @@ -629,17 +632,16 @@ if self.extensions and not (ext.lower() in self.extensions): if ext: raise ValidationError(self.description, - '%s: %s "%s" %s\n\n%s:\n%s.'%(_(label), - _('the file extension'),ext, - _('is invalid.'), - _('You can only use files with the following extensions'), + '%s: %s.\n\n%s:\n%s.'%(_(label), + _('the file extension "%s" is invalid')%ext, + USE_EXTENSIONS, ', '.join(self.extensions))) else: raise ValidationError(self.description, - '%s: %s\n%s:\n%s.'%( + '%s: %s.\n%s:\n%s.'%( _(label), - _('a filename with a valid extension was expected.'), - _('You can only use files with the following extensions'), + _('a filename with a valid extension was expected'), + USE_EXTENSIONS, textwrap.fill(', '.join(self.extensions),70))) return value @@ -653,8 +655,8 @@ return '' if (x==value or not test) and (not is_file(value)): raise ValidationError(self.description, - '%s: %s "%s" %s.'%(_(label),_('the filename'),value, - _('does not exist.'))) + '%s: %s.'%(_(label), + _('the filename "%s" does not exist')%value)) return value class DictionaryReadFileField(ReadFileField): === modified file 'phatch/pyWx/gui.py' --- phatch/pyWx/gui.py 2009-06-03 15:52:30 +0000 +++ phatch/pyWx/gui.py 2009-06-05 13:57:36 +0000 @@ -540,8 +540,7 @@ dlg = dialogs.WritePluginDialog(self,'\n'.join([ _('A html tutorial will open in your internet browser.'), '', - _('You only need to know PIL to write a plugin for Phatch,')+' ', - _('as Phatch will generate the user interface automatically.'), + _('You only need to know PIL to write a plugin for Phatch, as Phatch will generate the user interface automatically.'), _('Study the action plugins in:')+' '+ct.PHATCH_ACTIONS_PATH, '', _('If you want to contribute a plugin for Phatch,')+' '+\ ** Changed in: phatch Status: In Progress => Fix Committed -- Words order isn't i18n friendly https://bugs.launchpad.net/bugs/198365 You received this bug notification because you are a member of Phatch Developers, which is subscribed to Phatch. Status in Phatch = Photo & Batch!: Fix Committed Bug description: In a number of cases Phatch doesn't respect langauges other than English. For example, in Save action's dialog there are messages like "PNG Optimize" or "JPG Size Maximum". Translatable part is "Optimize" and "Size Maximum" only. Thjis is perfectly OK for English, but in Russian the words order will be "Optimize PNG" and "Maximum Size of JPG" respectively. The usual way to handle this is using variables. E.g.: "% Optimize" and "%s Size Maximum". Then translators can place the variable whereever they like it. Same applies to dialogs captions. E.g. "Phatch actions" where only "actions" is translatable. Until you fix it, translated GUI will look ugly :( _______________________________________________ Mailing list: https://launchpad.net/~phatch-dev Post to : [email protected] Unsubscribe : https://launchpad.net/~phatch-dev More help : https://help.launchpad.net/ListHelp

