本文整理汇总了Python中transifex.resources.formats.pofile.POHandler.set_language方法的典型用法代码示例。如果您正苦于以下问题:Python POHandler.set_language方法的具体用法?Python POHandler.set_language怎么用?Python POHandler.set_language使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类transifex.resources.formats.pofile.POHandler
的用法示例。
在下文中一共展示了POHandler.set_language方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_po_save2db
# 需要导入模块: from transifex.resources.formats.pofile import POHandler [as 别名]
# 或者: from transifex.resources.formats.pofile.POHandler import set_language [as 别名]
def test_po_save2db(self):
"""Test creating source strings from a PO/POT file works"""
handler = POHandler('%s/tests.pot' %
os.path.split(__file__)[0])
l = Language.objects.get(code='en_US')
handler.set_language(l)
handler.parse_file(is_source=True)
r = self.resource
handler.bind_resource(r)
handler.save2db(is_source=True)
self.assertEqual( SourceEntity.objects.filter(resource=r).count(), 6)
self.assertEqual( len(Translation.objects.filter(source_entity__resource=r,
language=l)), 7)
handler.bind_file('%s/ar.po' % os.path.split(__file__)[0])
l = Language.objects.by_code_or_alias('ar')
handler.set_language(l)
handler.parse_file()
handler.save2db()
self.assertEqual( SourceEntity.objects.filter(resource=r).count(), 6)
self.assertEqual( len(Translation.objects.filter(source_entity__resource=r,
language=l)), 11)
r.delete()
示例2: test_string_freeze_breakage_outsourced
# 需要导入模块: from transifex.resources.formats.pofile import POHandler [as 别名]
# 或者: from transifex.resources.formats.pofile.POHandler import set_language [as 别名]
def test_string_freeze_breakage_outsourced(self):
"""Check string breakage for outsourced projects."""
timestamp = datetime.datetime.now() - datetime.timedelta(hours=1)
timestamp2 = datetime.datetime.now() + datetime.timedelta(hours=1)
self.release.stringfreeze_date = timestamp
self.release.develfreeze_date = timestamp2
self.release.save()
## Loading POT (en_US) into the self.resource3
handler = POHandler('%s/tests.pot' % self.pofile_path)
handler.set_language(self.language_en)
handler.parse_file(is_source=True)
# Resource 3 - Outsourced
handler.bind_resource(self.resource3)
# We are listing to the post_save_translation signal raised in
# _post_save2db method.
handler.save2db(is_source=True)
# Sorted mails list
mails = key_sort(mail.outbox, 'to')
self.assertEqual(len(mails), 3)
self.assertEqual(mails[0].subject, self._gen_assert_msg(
'[localhost] Release string '
'freeze breakage: Release1'))
self.assertEqual(mails[0].to, ['[email protected]'])
self.assertEqual(mails[1].to, ['[email protected]'])
self.assertEqual(mails[2].to, ['[email protected]'])
示例3: test_order
# 需要导入模块: from transifex.resources.formats.pofile import POHandler [as 别名]
# 或者: from transifex.resources.formats.pofile.POHandler import set_language [as 别名]
def test_order(self):
handler = POHandler(os.path.join(
os.path.dirname(__file__), 'copyright.po')
)
handler.bind_resource(self.resource)
handler.set_language(self.resource.source_language)
handler.parse_file(is_source=True)
handler.save2db(is_source=True)
cr = Copyright.objects.assign(
language=self.language_en, resource=self.resource,
owner='CC', year='2014')
cr = Copyright.objects.assign(
language=self.language_en, resource=self.resource,
owner='ZZ', year='2014')
cr = Copyright.objects.assign(
language=self.language_en, resource=self.resource,
owner='BA', year='2015')
handler.compile()
lines_iterator = handler.compiled_template.split("\n")
for n, line in enumerate(lines_iterator):
if line == "## Translators:":
break
line = lines_iterator[n + 1]
self.assertTrue('AB' in line)
line = lines_iterator[n + 3]
self.assertTrue('BA' in line)
line = lines_iterator[n + 4]
self.assertTrue('CC' in line)
line = lines_iterator[n + 6]
self.assertTrue('ZZ' in line)
示例4: test_po_parser_ar
# 需要导入模块: from transifex.resources.formats.pofile import POHandler [as 别名]
# 或者: from transifex.resources.formats.pofile.POHandler import set_language [as 别名]
def test_po_parser_ar(self):
"""Tests for ar PO file."""
handler = POHandler('%s/ar.po' %
os.path.split(__file__)[0])
handler.set_language(self.language_ar)
handler.parse_file()
self.stringset = handler.stringset
nplurals = 0
for s in self.stringset.strings:
# Testing if source entity and translation are NOT the same
self.assertNotEqual(s.source_entity, s.translation)
# Testing plural number
if s.source_entity == '{0} results':
self.assertEqual(s.rule, 5)
if s.source_entity == '{0} result' and s.pluralized:
nplurals += 1
# Asserting nplurals based on the number of plurals of the
# '{0 results}' entity - ar has nplurals=6.
self.assertEqual(nplurals, 6)
示例5: test_wrong_po
# 需要导入模块: from transifex.resources.formats.pofile import POHandler [as 别名]
# 或者: from transifex.resources.formats.pofile.POHandler import set_language [as 别名]
def test_wrong_po(self):
handler = POHandler(os.path.join(
os.path.dirname(__file__), 'wrong.pot')
)
handler.bind_resource(self.resource)
handler.set_language(self.resource.source_language)
self.assertRaises(PoParseError, handler.parse_file, is_source=True)
示例6: test_pot_parser
# 需要导入模块: from transifex.resources.formats.pofile import POHandler [as 别名]
# 或者: from transifex.resources.formats.pofile.POHandler import set_language [as 别名]
def test_pot_parser(self):
"""POT file tests."""
# Parsing POT file
handler = POHandler('%s/tests.pot' %
os.path.split(__file__)[0])
handler.set_language(self.resource.source_language)
handler.parse_file(is_source=True)
self.stringset = handler.stringset
entities = 0
# POT has no associated language
self.assertEqual(self.stringset.target_language, None)
for s in self.stringset.strings:
# Testing if source entity and translation are the same
if not s.pluralized:
self.assertEqual(s.source_entity, s.translation)
# Testing plural number
if s.source_entity == '{0} results':
self.assertEqual(s.rule, 5)
# Counting number of entities
if s.rule == 5:
entities += 1
# Asserting number of entities - POT file has 3 entries.
self.assertEqual(entities, 6)
示例7: test_po_parser_pt_BR_with_warning_messages
# 需要导入模块: from transifex.resources.formats.pofile import POHandler [as 别名]
# 或者: from transifex.resources.formats.pofile.POHandler import set_language [as 别名]
def test_po_parser_pt_BR_with_warning_messages(self):
"""
Tests if nplural warning is raised for 'pt_BR' PO file loaded as an
'ar' language.
"""
handler = POHandler('%s/pt_BR.po' % os.path.split(__file__)[0])
handler.set_language(self.language_ar)
handler.parse_file()
self.assertTrue('nplural' in handler.warning_messages.keys())
示例8: test_copyright_on_save
# 需要导入模块: from transifex.resources.formats.pofile import POHandler [as 别名]
# 或者: from transifex.resources.formats.pofile.POHandler import set_language [as 别名]
def test_copyright_on_save(self):
handler = POHandler(os.path.join(
os.path.dirname(__file__), 'copyright.po')
)
handler.bind_resource(self.resource)
handler.set_language(self.resource.source_language)
handler.parse_file(is_source=True)
handler.save2db(is_source=True)
self.assertIn("AB", handler.compile())
示例9: test_general_po
# 需要导入模块: from transifex.resources.formats.pofile import POHandler [as 别名]
# 或者: from transifex.resources.formats.pofile.POHandler import set_language [as 别名]
def test_general_po(self):
"""
Test with a PO file containing multiple different 'breakable'
cases.
"""
# Empty our resource
SourceEntity.objects.filter(resource=self.resource).delete()
# Import file with two senteces
handler = POHandler('%s/general/test.pot' %
os.path.split(__file__)[0])
handler.bind_resource(self.resource)
handler.set_language(self.resource.source_language)
handler.parse_file(is_source=True)
handler.save2db(is_source=True)
handler.compile()
exported_file = polib.pofile(handler.compiled_template)
for entry in exported_file:
se = SourceEntity.objects.get(
string = entry.msgid,
context = entry.msgctxt or 'None',
resource = self.resource
)
if se.pluralized:
plurals = Translation.objects.filter(
source_entity__resource = self.resource,
language = self.resource.source_language,
source_entity__string = entry.msgid
).order_by('rule')
plural_keys = {}
# last rule excluding other(5)
lang_rules = self.resource.source_language.get_pluralrules_numbers()
# Initialize all plural rules up to the last
for p,n in enumerate(lang_rules):
plural_keys[str(p)] = ""
for n,p in enumerate(plurals):
plural_keys[str(n)] = p.string
self.assertEqual(entry.msgstr_plural, plural_keys)
else:
trans = se.get_translation(
self.resource.source_language.code, rule=5
)
self.assertEqual(entry.msgstr, trans.string.encode('utf-8'), "Source '%s'"\
" differs from translation %s" % (entry.msgstr,
trans.string.encode('utf-8')))
示例10: _load_pot
# 需要导入模块: from transifex.resources.formats.pofile import POHandler [as 别名]
# 或者: from transifex.resources.formats.pofile.POHandler import set_language [as 别名]
def _load_pot(self):
test_file = os.path.join(TEST_FILES_PATH, 'test.pot')
# First empty our resource
self.resource.entities.all().delete()
# Load file
handler = POHandler(test_file)
handler.bind_resource(self.resource)
handler.set_language(self.resource.source_language)
handler.parse_file(is_source=True)
handler.save2db(is_source=True)
return handler
示例11: test_headers_on_pot
# 需要导入模块: from transifex.resources.formats.pofile import POHandler [as 别名]
# 或者: from transifex.resources.formats.pofile.POHandler import set_language [as 别名]
def test_headers_on_pot(self):
handler = POHandler(os.path.join(
os.path.dirname(__file__), 'tests.pot')
)
handler.bind_resource(self.resource)
handler.set_language(self.resource.source_language)
handler.parse_file(is_source=True)
handler.save2db(is_source=True)
handler.compile()
self.assertFalse("FIRST AUTHOR" in handler.compiled_template)
handler.compile_pot()
self.assertTrue("FIRST AUTHOR" in handler.compiled_template)
示例12: test_poheader_load_soureclang
# 需要导入模块: from transifex.resources.formats.pofile import POHandler [as 别名]
# 或者: from transifex.resources.formats.pofile.POHandler import set_language [as 别名]
def test_poheader_load_soureclang(self):
"""Test load of existing PO file with copyright headers."""
test_file = os.path.join(settings.TX_ROOT,
'./resources/tests/lib/pofile/copyright.po')
handler = POHandler(test_file)
handler.bind_resource(self.resource)
handler.set_language(self.resource.source_language)
handler.parse_file(is_source=True)
handler.save2db(is_source=True)
c = Copyright.objects.filter(
resource=self.resource, language=self.resource.source_language
)
self.assertEquals(len(c), 3)
示例13: test_convert_to_suggestions
# 需要导入模块: from transifex.resources.formats.pofile import POHandler [as 别名]
# 或者: from transifex.resources.formats.pofile.POHandler import set_language [as 别名]
def test_convert_to_suggestions(self):
"""Test convert to suggestions when importing new source files"""
# Empty our resource
SourceEntity.objects.filter(resource=self.resource).delete()
# Make sure that we have no suggestions to begin with
self.assertEqual(Suggestion.objects.filter(source_entity__in=
SourceEntity.objects.filter(resource=self.resource).values('id')).count(), 0)
# Import file with two senteces
handler = POHandler('%s/suggestions/tests.pot' %
os.path.split(__file__)[0])
handler.bind_resource(self.resource)
handler.set_language(self.resource.source_language)
handler.parse_file(is_source=True)
handler.save2db(is_source=True)
# import pt_BR translation
handler = POHandler('%s/suggestions/pt_BR.po' %
os.path.split(__file__)[0])
handler.bind_resource(self.resource)
handler.set_language(self.language)
handler.parse_file()
handler.save2db()
# Make sure that we have all translations in the db
self.assertEqual(Translation.objects.filter(source_entity__in=
SourceEntity.objects.filter(resource=self.resource).values('id')).count(), 5)
# import source with small modifications
handler = POHandler('%s/suggestions/tests-diff.pot' %
os.path.split(__file__)[0])
handler.bind_resource(self.resource)
handler.set_language(self.resource.source_language)
handler.parse_file(is_source=True)
handler.save2db(is_source=True)
# Make sure that all suggestions were added
self.assertEqual(Suggestion.objects.filter(source_entity__in=
SourceEntity.objects.filter(resource=self.resource).values('id')).count(), 2)
# Make both strings are now untranslated
self.assertEqual(Translation.objects.filter(source_entity__in=
SourceEntity.objects.filter(resource=self.resource).values('id')).count(), 3)
# import pt_BR translation again
handler = POHandler('%s/suggestions/pt_BR.po' %
os.path.split(__file__)[0])
handler.bind_resource(self.resource)
handler.set_language(self.language)
handler.parse_file()
handler.save2db()
# Make sure that we have all translations in the db
self.assertEqual(Translation.objects.filter(source_entity__in=
SourceEntity.objects.filter(resource=self.resource).values('id')).count(), 3)
示例14: test_logical_ids
# 需要导入模块: from transifex.resources.formats.pofile import POHandler [as 别名]
# 或者: from transifex.resources.formats.pofile.POHandler import set_language [as 别名]
def test_logical_ids(self):
"""Test po files with logical ids instead of normal strings"""
# Empty our resource
SourceEntity.objects.filter(resource=self.resource).delete()
# Make sure that we have no suggestions to begin with
self.assertEqual(Suggestion.objects.filter(source_entity__in=
SourceEntity.objects.filter(resource=self.resource).values('id')).count(), 0)
# Import file with two senteces
handler = POHandler('%s/logical_ids/tests.pot' %
os.path.split(__file__)[0])
handler.bind_resource(self.resource)
handler.set_language(self.resource.source_language)
handler.parse_file(is_source=True)
handler.save2db(is_source=True)
# import pt_BR translation
handler = POHandler('%s/logical_ids/pt_BR.po' %
os.path.split(__file__)[0])
handler.bind_resource(self.resource)
handler.set_language(self.language)
handler.parse_file()
handler.save2db()
# Make sure that we have all translations in the db
self.assertEqual(Translation.objects.filter(source_entity__in=
SourceEntity.objects.filter(resource=self.resource).values('id')).count(), 2)
source = SourceEntity.objects.get(resource=self.resource)
en_trans = Translation.objects.get(source_entity__resource=self.resource,
language = self.resource.source_language)
pt_trans = Translation.objects.get(source_entity__resource=self.resource,
language = self.language)
# Check to see that the correct strings appear as the translations and
# not the logical id
self.assertEqual(en_trans.string, "Hello, World!")
self.assertEqual(pt_trans.string, "Holas, Amigos!")
self.assertEqual(source.string, "source_1")
示例15: _test_po_save2db
# 需要导入模块: from transifex.resources.formats.pofile import POHandler [as 别名]
# 或者: from transifex.resources.formats.pofile.POHandler import set_language [as 别名]
def _test_po_save2db(self):
"""Test creating source strings from a PO/POT file works"""
handler = POHandler('%s/tests.pot' %
os.path.split(__file__)[0])
l = Language.objects.get(code='en_US')
handler.set_language(l)
handler.parse_file(is_source=True)
r = self.resource
handler.bind_resource(r)
handler.save2db(is_source=True)
self.assertEqual( SourceEntity.objects.filter(resource=r).count(), 6)
self.assertEqual( len(Translation.objects.filter(source_entity__resource=r,
language=l)), 7)
handler.bind_file('%s/ar.po' % os.path.split(__file__)[0])
l = Language.objects.by_code_or_alias('ar')
handler.set_language(l)
handler.parse_file()
handler.save2db()
self.assertEqual( SourceEntity.objects.filter(resource=r).count(), 6)
self.assertEqual( len(Translation.objects.filter(source_entity__resource=r,
language=l)), 11)
self._mark_translation_as_reviewed(self.resource,
[
'{0} result',
'Location',
],
self.language_ar, 7
)
#update resource with the same source file and
#check that the resource.last_update does not
#change from its previous value
last_update = self.resource.last_update
handler.bind_file('%s/tests.pot' %
os.path.split(__file__)[0])
l = Language.objects.get(code='en_US')
handler.set_language(l)
handler.parse_file(True)
handler.save2db(is_source=True)
self.assertEqual(self.resource.last_update, last_update)
self.assertEqual( SourceEntity.objects.filter(resource=r).count(), 6)
self.assertEqual( len(Translation.objects.filter(source_entity__resource=r,
language=l)), 7)
return handler