From 014ddf8248fdf8619ab8688cda48783994ea0509 Mon Sep 17 00:00:00 2001 From: tyrbonit Date: Mon, 19 Mar 2018 22:42:48 +0900 Subject: [PATCH] Fix Pluralizaiton UnicodeDecodeError #1883 and #1808 --- applications/welcome/languages/plural-ru.py | 24 ++++++++++----------- gluon/languages.py | 6 +++--- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/applications/welcome/languages/plural-ru.py b/applications/welcome/languages/plural-ru.py index 29699b8c..4cf2d24e 100755 --- a/applications/welcome/languages/plural-ru.py +++ b/applications/welcome/languages/plural-ru.py @@ -1,15 +1,15 @@ # -*- coding: utf-8 -*- { -'выбрана': ['\\xd0\\xb2\\xd1\\x8b\\xd0\\xb1\\xd1\\x80\\xd0\\xb0\\xd0\\xbd\\xd1\\x8b', '\\xd0\\xb2\\xd1\\x8b\\xd0\\xb1\\xd1\\x80\\xd0\\xb0\\xd0\\xbd\\xd0\\xbe'], -'год': ['\\xd0\\xb3\\xd0\\xbe\\xd0\\xb4\\xd0\\xb0', '\\xd0\\xbb\\xd0\\xb5\\xd1\\x82'], -'день': ['\\xd0\\xb4\\xd0\\xbd\\xd1\\x8f', '\\xd0\\xb4\\xd0\\xbd\\xd0\\xb5\\xd0\\xb9'], -'запись': ['\\xd0\\xb7\\xd0\\xb0\\xd0\\xbf\\xd0\\xb8\\xd1\\x81\\xd0\\xb8', '\\xd0\\xb7\\xd0\\xb0\\xd0\\xbf\\xd0\\xb8\\xd1\\x81\\xd0\\xb5\\xd0\\xb9'], -'изменена': ['\\xd0\\xb8\\xd0\\xb7\\xd0\\xbc\\xd0\\xb5\\xd0\\xbd\\xd0\\xb5\\xd0\\xbd\\xd1\\x8b', '\\xd0\\xb8\\xd0\\xb7\\xd0\\xbc\\xd0\\xb5\\xd0\\xbd\\xd0\\xb5\\xd0\\xbd\\xd0\\xbe'], -'месяц': ['\\xd0\\xbc\\xd0\\xb5\\xd1\\x81\\xd1\\x8f\\xd1\\x86\\xd0\\xb0', '\\xd0\\xbc\\xd0\\xb5\\xd1\\x81\\xd1\\x8f\\xd1\\x86\\xd0\\xb5\\xd0\\xb2'], -'минуту': ['\\xd0\\xbc\\xd0\\xb8\\xd0\\xbd\\xd1\\x83\\xd1\\x82\\xd1\\x8b', '\\xd0\\xbc\\xd0\\xb8\\xd0\\xbd\\xd1\\x83\\xd1\\x82'], -'неделю': ['\\xd0\\xbd\\xd0\\xb5\\xd0\\xb4\\xd0\\xb5\\xd0\\xbb\\xd0\\xb8', '\\xd0\\xbd\\xd0\\xb5\\xd0\\xb4\\xd0\\xb5\\xd0\\xbb\\xd1\\x8c'], -'секунду': ['\\xd1\\x81\\xd0\\xb5\\xd0\\xba\\xd1\\x83\\xd0\\xbd\\xd0\\xb4\\xd1\\x8b', '\\xd1\\x81\\xd0\\xb5\\xd0\\xba\\xd1\\x83\\xd0\\xbd\\xd0\\xb4'], -'строка': ['\\xd1\\x81\\xd1\\x82\\xd1\\x80\\xd0\\xbe\\xd0\\xba\\xd0\\xb8', '\\xd1\\x81\\xd1\\x82\\xd1\\x80\\xd0\\xbe\\xd0\\xba'], -'удалена': ['\\xd1\\x83\\xd0\\xb4\\xd0\\xb0\\xd0\\xbb\\xd0\\xb5\\xd0\\xbd\\xd1\\x8b', '\\xd1\\x83\\xd0\\xb4\\xd0\\xb0\\xd0\\xbb\\xd0\\xb5\\xd0\\xbd\\xd0\\xbe'], -'час': ['\\xd1\\x87\\xd0\\xb0\\xd1\\x81\\xd0\\xb0', '\\xd1\\x87\\xd0\\xb0\\xd1\\x81\\xd0\\xbe\\xd0\\xb2'], +'выбрана': ['выбраны','выбрано'], +'год': ['года','лет'], +'день': ['дня', 'дней'], +'запись': ['записи','записей'], +'изменена': ['изменены','изменено'], +'месяц': ['месяца','месяцев'], +'минуту': ['минуты','минут'], +'неделю': ['недели','недель'], +'секунду': ['секунды','секунд'], +'строка': ['строки','строк'], +'удалена': ['удалены','удалено'], +'час': ['часа','часов'], } diff --git a/gluon/languages.py b/gluon/languages.py index 293ecac9..9f7d108a 100644 --- a/gluon/languages.py +++ b/gluon/languages.py @@ -110,15 +110,15 @@ def markmin(s): def upper_fun(s): - return to_unicode(s).upper() + return to_bytes(to_unicode(s).upper()) def title_fun(s): - return to_unicode(s).title() + return to_bytes(to_unicode(s).title()) def cap_fun(s): - return to_unicode(s).capitalize() + return to_bytes(to_unicode(s).capitalize()) ttab_in = maketrans("\\%{}", '\x1c\x1d\x1e\x1f')