← Back to team overview

phatch-dev team mailing list archive

[Bug 198365] Re: Words order isn't i18n friendly

 

$ 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 <spe.stani.be@xxxxxxxxx>\n"
 "Language-Team:  <spe.stani.be@xxxxxxxxx>\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 :(