phatch-dev team mailing list archive
-
phatch-dev team
-
Mailing list archive
-
Message #00065
[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 :(