>>> Готово: >>> http://websvn.kde.org/?view=revision&revision=1152219 (trunk) >>> http://websvn.kde.org/?view=revision&revision=1152232 (stable)
После перехода на 4 формы множественного числа хотелось бы реализовать этот потенциал улучшения переводов. Мне не очень хотелось проверять тысячу строк, использующих формы множественного числа, поэтому я решил пройтись только по некоторым. А именно, по тем строкам, где совпадают msgstr[1] и msgstr[2]. Благо, что таких строк всего лишь около сотни. Результаты проверки: http://websvn.kde.org/?view=revision&revision=1153718 Надеюсь, что по такому критерию можно найти почти (а может быть и все?) строки, которые страдали от нехватки 4-й формы множественного числа. Если кто-то интересуется Pology, во вложении находится "sieve" для Pology, находящий строки с совпадающими msgstr[1] и msgstr[2]. -- Alexander Potashev
# -*- coding: UTF-8 -*- """ Find messages with msgstr[1] == msgstr[2] #For every fuzzy message, the translation and fuzzy data (the flag, #previous fields) are removed. Manual (translator) comments are left in #by default, but can be removed as well. #Obsolete fuzzy messages are completely removed. Sieve options: - C{lokalize}: open catalogs at matched messages in Lokalize @author: Alexander Potashev <aspotas...@gmail.com> @license: GPLv3 """ from pology import _, n_ from pology.misc.report import report from pology.misc.msgreport import report_msg_content from pology.misc.msgreport import report_msg_to_lokalize def setup_sieve (p): p.set_desc(_("@info sieve discription", "Find messages with msgstr[1] == msgstr[2]." )) p.add_param("lokalize", bool, defval=False, desc=_("@info sieve parameter discription", "Open catalogs at matched messages in Lokalize." )) class Sieve (object): def __init__ (self, params): self.p = params self.nfound = 0 def process (self, msg, cat): if (msg.msgid_plural is not None and msg.msgstr[1] == msg.msgstr[2] and not msg.obsolete and not msg.fuzzy and not msg.untranslated): self.nfound += 1 report_msg_content(msg, cat) if self.p.lokalize: report_msg_to_lokalize(msg, cat) print "-" * 20 def finalize (self): if self.nfound > 0: msg = n_("@info:progress", "Found %(num)d message of translation.", "Found %(num)d messages of translation.", num=self.nfound) report("===== " + msg)
_______________________________________________ kde-russian mailing list kde-russian@lists.kde.ru https://lists.kde.ru/mailman/listinfo/kde-russian