diff --git a/VERSION b/VERSION index 231b2e09..8e7f6c2c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -Version 2.1.1 (2012-10-15 14:48:33) dev +Version 2.1.1 (2012-10-15 16:28:43) dev diff --git a/applications/admin/languages/uk.py b/applications/admin/languages/uk.py index b70f3a8c..afd690fb 100644 --- a/applications/admin/languages/uk.py +++ b/applications/admin/languages/uk.py @@ -34,10 +34,12 @@ 'App does not exist or your are not authorized': 'Додаток не існує, або ви не авторизовані', 'appadmin': 'Aдм.панель', 'appadmin is disabled because insecure channel': "адмін.панель відключено через використання ненадійного каналу зв'язку", +'Application': 'Додаток (Application)', 'application "%s" uninstalled': 'додаток "%s" вилучено', 'application %(appname)s installed with md5sum: %(digest)s': 'додаток %(appname)s встановлено з md5sum: %(digest)s', 'Application cannot be generated in demo mode': 'В демо-режимі генерувати додатки не можна', 'application compiled': 'додаток скомпільовано', +'Application exists already': 'Додаток вже існує', 'application is compiled and cannot be designed': 'додаток скомпільований. налаштування змінювати не можна', 'Application name:': 'Назва додатку:', 'are not used': 'не використовуються', @@ -160,6 +162,7 @@ 'Error snapshot': 'Розгорнутий знімок стану (Error snapshot)', 'Error ticket': 'Позначка (ticket) про помилку', 'Errors': 'Помилки', +'Errors in form, please check it out.': 'Помилка у формі, будь-ласка перевірте її.', 'Exception %(extype)s: %(exvalue)s': 'Виключення %(extype)s: %(exvalue)s', 'Exception %s': 'Виключення %s', 'Exception instance attributes': 'Атрибути примірника класу Exception (виключення)', @@ -388,6 +391,7 @@ 'There are no models': 'Моделей, наразі, нема', 'There are no modules': 'Модулів поки що нема', 'There are no plugins': 'Жодної втулки, наразі, не встановлено', +'There are no private files': 'Приватних файлів поки що нема', 'There are no static files': 'Статичних файлів, наразі, нема', 'There are no translators': 'Перекладів нема', 'There are no translators, only default language is supported': 'Перекладів нема, підтримується тільки мова оригіналу', @@ -418,6 +422,7 @@ 'Traceback': 'Стек викликів (Traceback)', 'Translation strings for the application': 'Пари рядків <оригінал>:<переклад> для вибраної мови', 'try something like': 'спробуйте щось схоже на', +'Try the mobile interface': 'Спробуйте мобільний інтерфейс', 'try view': 'дивитись результат', 'Type PDB debugger command in here and hit Return (Enter) to execute it.': 'наберіть тут будь-які команди ладнача PDB і натисніть клавішу [Return] ([Enter]), щоб запустити їх на виконання.', 'Type python statement in here and hit Return (Enter) to execute it.': 'Наберіть тут будь-які вирази Python і натисніть клавішу [Return] ([Enter]), щоб запустити їх на виконання.', @@ -463,7 +468,7 @@ 'Views': 'Відображення (Views)', 'views': 'відображення', 'WARNING:': 'ПОПЕРЕДЖЕННЯ:', -'Web Framework': 'Web Framework', +'Web Framework': 'Веб-каркас (Web Framework)', 'web2py apps to deploy': 'Готові до розгортання додатки web2py', 'web2py Debugger': 'Ладнач web2py', 'web2py downgrade': 'повернення на попередню версію web2py', diff --git a/applications/welcome/languages/uk.py b/applications/welcome/languages/uk.py index 453745c9..9597e58e 100644 --- a/applications/welcome/languages/uk.py +++ b/applications/welcome/languages/uk.py @@ -89,6 +89,7 @@ 'export as csv file': 'експортувати як файл csv', 'FAQ': 'ЧаПи (FAQ)', 'First name': "Ім'я", +'Forgot username?': "Забули ім'я користувача?", 'Forms and Validators': 'Форми та коректність даних', 'Free Applications': 'Вільні додатки', 'Group %(group_id)s created': 'Групу %(group_id)s створено', diff --git a/gluon/languages.py b/gluon/languages.py index 0b669d6b..d493cb26 100644 --- a/gluon/languages.py +++ b/gluon/languages.py @@ -35,7 +35,8 @@ pjoin = os.path.join pexists = os.path.exists pdirname = os.path.dirname isdir = os.path.isdir -is_gae = settings.global_settings.web2py_runtime_gae +is_writable = not (settings.global_settings.web2py_runtime_gae or + settings.global_settings.languages_readonly) DEFAULT_LANGUAGE = 'en' DEFAULT_LANGUAGE_NAME = 'English' @@ -274,7 +275,7 @@ def write_plural_dict(filename, contents): fp.write('%s: %s,\n' % (repr(Utf8(key)), forms)) fp.write('}\n') except (IOError, OSError): - if not is_gae: + if is_writable: logging.warning('Unable to write to file %s' % filename) return finally: @@ -537,7 +538,7 @@ class translator(object): form = self.construct_plural_form(word, id) forms[id-1] = form self.plural_dict[word] = forms - if self.plural_file and not is_gae: + if self.plural_file and is_writable: write_plural_dict(self.plural_file, self.plural_dict) return form @@ -723,7 +724,7 @@ class translator(object): # guess translation same as original self.t[key] = mt = self.default_t.get(key, message) # update language file for latter translation - if self.language_file != self.default_language_file and not is_gae: + if self.language_file != self.default_language_file and is_writable: write_dict(self.language_file, self.t) return regex_backslash.sub( lambda m: m.group(1).translate(ttab_in), mt)