summaryrefslogtreecommitdiffstats
path: root/ipalib/plugins/migration.py
diff options
context:
space:
mode:
authorJohn Dennis <jdennis@redhat.com>2011-10-11 16:19:54 -0400
committerRob Crittenden <rcritten@redhat.com>2011-10-11 22:46:02 -0400
commit97fc2ed0ef401f2352e43f065d0bdf76f5c7521e (patch)
treee84c47fce584b43af79217d5f88fb15a7186d1c3 /ipalib/plugins/migration.py
parent592bf621615b002c7945a9700aab0d5fc33cfe26 (diff)
downloadfreeipa-97fc2ed0ef401f2352e43f065d0bdf76f5c7521e.tar.gz
freeipa-97fc2ed0ef401f2352e43f065d0bdf76f5c7521e.tar.xz
freeipa-97fc2ed0ef401f2352e43f065d0bdf76f5c7521e.zip
Ticket 1718 - Fix Spanish po translation file
There were quite errors in es.po, it was difficult or impossible to track down where they came from, Transifex does not have good revision history. I fixed about 20% of the msgstr's in the file that had obvious problems which could be spotted by a non-Spanish speaking person. Spurious backslashes and backslash-newlines had been introduced. I tracked this particular problem down to a bug in polib. polib is a Python library which can read/write po/mo files. In Fedora it's packaged as python-polib. polib is used by the Transifex instance to read/write po files. We don't currently use polib in IPA (that will change soon though) but I wrote utilities using polib to help fix the bad po file and analyze what had gone wrong. I discovered that if one simply uses polib to read a po file into memory and they write that po file back out from memory you don't end up with the same contents if there are backslashed escapes in the file. I tracked this down to the escape() and unescape() functions in polib. This caused me to look to see if upstream polib had been fixed. It had. Therefore I think the spurious backslashes were introduced when Transifex was using an older broken version of polib. I filed this Fedora bug https://bugzilla.redhat.com/show_bug.cgi?id=744419 to get the fixes into python-polib. I manually corrected all the backslash errors. I compared all 1329 translations from a known good version of es.po with the current version and generated a new es.po by taking the translation (e.g. msgstr) from the two po files which was obviously correct. In those instances where neither msgstr was obviosuly correct the deleted the translation entirely. I also wrote utilities to validate any "substitution" variables appearing in the text. I discovered a number of instances where the substitution variable had been malformed by the translator such that it was syntactically invalid. This is how we originally discovered problems with the translation, it was throwing Python exceptions. I fixed all those errors. I also found approximately 80 translations where the leading whitespace had been altered by the translator. Those also were fixed. I cannot verify that the remaining translations are a correct Spanish translation of the original text (in fact a number of them I looked at seemed dubious to me, for example it omitted recongnizable keywords). But I do believe that the obvious errors are fixed and we shouldn't be throwing any more Python exceptions because of malformed substitution variables.
Diffstat (limited to 'ipalib/plugins/migration.py')
0 files changed, 0 insertions, 0 deletions