t('4.5', p, s, {'X': '1'}, None, 'One file found.') t('4.6', p, s, {'X': '2'}, None, '2 files found.') s = u'{X_PLURAL:Найден {X:|один|{X}} файл|Найдены {X} файла|{X:Не найдено|Найдено {X}} файлов}.' t('5.1', p, s, {'X': 0}, {'locale': 'ru'}, u'Не найдено файлов.') t('5.2', p, s, {'X': 1}, {'locale': 'ru'}, u'Найден один файл.') t('5.3', p, s, {'X': 2}, {'locale': 'ru'}, u'Найдены 2 файла.') t('5.4', p, s, {'X': 5}, {'locale': 'ru'}, u'Найдено 5 файлов.') s = '{FOO}' t('6.1', p, s, {'FOO': 1}, None, '1') t('6.2', p, s, {'FOO': 5.5}, None, '5.5') t('6.3', p, s, {'FOO': 'bar'}, None, 'bar') s = u'Удалить {N_PLURAL:этот {N} файл|эти {N} файла|эти {N} файлов} навсегда?' p.set_locale('ru') t('7.1', p, s, {'N': 5}, None, u'Удалить эти 5 файлов навсегда?') t('7.2', p, s, {'N': 5}, {'locale': 'en'}, u'Удалить эти 5 файла навсегда?') t('7.3', p, s, {'N': 5}, None, u'Удалить эти 5 файлов навсегда?') p.set_locale('en'); t('7.4', p, s, {'N': 5}, None, u'Удалить эти 5 файла навсегда?') # Test for locale overrides and fallback s = 'Test {N_PLURAL:Foo|Bar {N}}' p = Plurr({'locale': 'ru'}) p._plural_equations['foo-bar'] = lambda n: 1 if (n != 2) else 0 t('8.1', p, s, {'N': 2}, {'locale': 'foo-bar'}, 'Test Foo') t('8.2', p, s, {'N': 2}, {'locale': 'foo_BAR'}, 'Test Bar 2')
#!/usr/bin/env python # -*- coding: utf-8 -*- import sys sys.path.append("..") import time from plurr import Plurr p = Plurr() x = 1000000 start = time.clock() for i in xrange(x): dummy = p.set_locale('ru') end = time.clock() time = end - start print('Execution time ({0} calls): {1} sec ({2} ms per call)'.format(x, time, time * 1000 / x))
t('4.5', p, s, {'X': '1'}, None, 'One file found.') t('4.6', p, s, {'X': '2'}, None, '2 files found.') s = u'{X_PLURAL:Найден {X:|один|{X}} файл|Найдены {X} файла|{X:Не найдено|Найдено {X}} файлов}.' t('5.1', p, s, {'X': 0}, {'locale': 'ru'}, u'Не найдено файлов.') t('5.2', p, s, {'X': 1}, {'locale': 'ru'}, u'Найден один файл.') t('5.3', p, s, {'X': 2}, {'locale': 'ru'}, u'Найдены 2 файла.') t('5.4', p, s, {'X': 5}, {'locale': 'ru'}, u'Найдено 5 файлов.') s = '{FOO}' t('6.1', p, s, {'FOO': 1}, None, '1') t('6.2', p, s, {'FOO': 5.5}, None, '5.5') t('6.3', p, s, {'FOO': 'bar'}, None, 'bar') s = u'Удалить {N_PLURAL:этот {N} файл|эти {N} файла|эти {N} файлов} навсегда?' p.set_locale('ru') t('7.1', p, s, {'N': 5}, None, u'Удалить эти 5 файлов навсегда?') t('7.2', p, s, {'N': 5}, {'locale': 'en'}, u'Удалить эти 5 файла навсегда?') t('7.3', p, s, {'N': 5}, None, u'Удалить эти 5 файлов навсегда?') p.set_locale('en') t('7.4', p, s, {'N': 5}, None, u'Удалить эти 5 файла навсегда?') # Test for locale overrides and fallback s = 'Test {N_PLURAL:Foo|Bar {N}}' p = Plurr({'locale': 'ru'}) p._plural_equations['foo-bar'] = lambda n: 1 if (n != 2) else 0 t('8.1', p, s, {'N': 2}, {'locale': 'foo-bar'}, 'Test Foo') t('8.2', p, s, {'N': 2}, {'locale': 'foo_BAR'}, 'Test Bar 2')