Пример #1
0
 def test_validate_translation_c_format(self):
     # Correct c-format translations will be validated.
     english = "English %s number %d"
     flags = ["c-format"]
     translations = {0: "Translation %s number %d"}
     # This should not raise GettextValidationError.
     validate_translation(english, None, translations, flags)
Пример #2
0
 def test_validate_translation_no_flag(self):
     # Mismatched format specifiers don't matter if no format has been
     # specified.
     english = "English %s number %d"
     flags = []
     translations = {0: "Translation number %d"}
     # This should not raise GettextValidationError.
     validate_translation(english, None, translations, flags)
Пример #3
0
 def test_validate_translation_c_format_plural_no_singular_format(self):
     # As a special case, the singular does not need format specifiers.
     english_singular = "English %s number %d"
     english_plural = "English plural %s number %d"
     flags = ["c-format"]
     translations = {
         0: "Translation singular",
         1: "Translation plural %s number %d",
         }
     # This should not raise GettextValidationError.
     validate_translation(
         english_singular, english_plural, translations, flags)
Пример #4
0
 def test_validate_translation_c_format_plural(self):
     # Correct c-format translations will be validated on plurals.
     english_singular = "English %s number %d"
     english_plural = "English plural %s number %d"
     flags = ["c-format"]
     translations = {
         0: "Translation singular %s number %d",
         1: "Translation plural %s number %d",
         }
     # This should not raise GettextValidationError.
     validate_translation(
         english_singular, english_plural, translations, flags)
Пример #5
0
    def _validateMessage(self, potmsgset, message, translations, message_data):
        """Validate the message and report success or failure."""
        try:
            validate_translation(potmsgset.singular_text,
                                 potmsgset.plural_text, translations,
                                 potmsgset.flags)
        except GettextValidationError as e:
            self._addUpdateError(message_data, potmsgset, unicode(e))
            message.validation_status = (
                TranslationValidationStatus.UNKNOWNERROR)
            return False

        message.validation_status = TranslationValidationStatus.OK
        return True
    def _validateMessage(self, potmsgset, message,
                         translations, message_data):
        """Validate the message and report success or failure."""
        try:
            validate_translation(
                potmsgset.singular_text, potmsgset.plural_text,
                translations, potmsgset.flags)
        except GettextValidationError as e:
            self._addUpdateError(message_data, potmsgset, unicode(e))
            message.validation_status = (
                TranslationValidationStatus.UNKNOWNERROR)
            return False

        message.validation_status = TranslationValidationStatus.OK
        return True
Пример #7
0
    def _check_message_for_error(self, translationmessage):
        """Return error message for `translationmessage`, if any.

        :return: Error message string if there is an error, or None otherwise.
        """
        potmsgset = translationmessage.potmsgset
        # validate_translation takes a dict but translations are a list.
        msgstrs = dict(enumerate(translationmessage.translations))

        try:
            validate_translation(potmsgset.singular_text,
                                 potmsgset.plural_text, msgstrs,
                                 potmsgset.flags)
        except GettextValidationError as error:
            self._error_count += 1
            return unicode(error)

        return None