diff --git a/app/views/mailer/attachments_add_bg.rhtml b/app/views/mailer/attachments_add_bg.rhtml new file mode 100644 index 00000000..e38a9726 --- /dev/null +++ b/app/views/mailer/attachments_add_bg.rhtml @@ -0,0 +1,6 @@ +<%= @added_to %> +<%= @attachments.size %> файл(а) добавени. +<% @attachments.each do |attachment | %> +- <%= attachment.filename %><% end %> + +<%= @url %> \ No newline at end of file diff --git a/app/views/mailer/document_add_bg.rhtml b/app/views/mailer/document_add_bg.rhtml new file mode 100644 index 00000000..aef4f1ff --- /dev/null +++ b/app/views/mailer/document_add_bg.rhtml @@ -0,0 +1,4 @@ +Добавен е документ в <%= @document.project.name %> (<%= @document.category.name %>): +<%= l(:field_title) %>: <%= @document.title %> + +http://<%= Setting.host_name %>/documents/show/<%= @document.id %> \ No newline at end of file diff --git a/app/views/mailer/issue_add_bg.rhtml b/app/views/mailer/issue_add_bg.rhtml new file mode 100644 index 00000000..b7f0ce74 --- /dev/null +++ b/app/views/mailer/issue_add_bg.rhtml @@ -0,0 +1,3 @@ +Публикувана е нова задача с номер #<%= @issue.id %>. +---------------------------------------- +<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/issue_edit_bg.rhtml b/app/views/mailer/issue_edit_bg.rhtml new file mode 100644 index 00000000..5807c0e7 --- /dev/null +++ b/app/views/mailer/issue_edit_bg.rhtml @@ -0,0 +1,8 @@ +Задача #<%= @issue.id %> е обновена. +<%= @journal.user.name %> +<% for detail in @journal.details %> +<%= show_detail(detail, true) %> +<% end %> +<%= @journal.notes if @journal.notes? %> +---------------------------------------- +<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file diff --git a/app/views/mailer/lost_password_bg.rhtml b/app/views/mailer/lost_password_bg.rhtml new file mode 100644 index 00000000..f415769f --- /dev/null +++ b/app/views/mailer/lost_password_bg.rhtml @@ -0,0 +1,3 @@ +За да смените паролата си, използвайте следния линк: + +http://<%= Setting.host_name %>/account/lost_password?token=<%= @token.value %> \ No newline at end of file diff --git a/app/views/mailer/register_bg.rhtml b/app/views/mailer/register_bg.rhtml new file mode 100644 index 00000000..79e7ed90 --- /dev/null +++ b/app/views/mailer/register_bg.rhtml @@ -0,0 +1,3 @@ +За да активирате акаунта си използвайте следния линк: + +http://<%= Setting.host_name %>/account/register?token=<%= @token.value %> \ No newline at end of file diff --git a/lang/bg.yml b/lang/bg.yml new file mode 100644 index 00000000..41b6c6d8 --- /dev/null +++ b/lang/bg.yml @@ -0,0 +1,444 @@ +_gloc_rule_default: '|n| n==1 ? "" : "_plural" ' + +actionview_datehelper_select_day_prefix: +actionview_datehelper_select_month_names: Януари,Февруари,Март,Април,Май,Юни,Юли,Август,Септември,Октомври,Ноември,Декември +actionview_datehelper_select_month_names_abbr: Яну,Фев,Мар,Апр,Май,Юни,Юли,Авг,Сеп,Окт,Ное,Дек +actionview_datehelper_select_month_prefix: +actionview_datehelper_select_year_prefix: +actionview_datehelper_time_in_words_day: 1 ден +actionview_datehelper_time_in_words_day_plural: %d дни +actionview_datehelper_time_in_words_hour_about: около час +actionview_datehelper_time_in_words_hour_about_plural: около %d часа +actionview_datehelper_time_in_words_hour_about_single: около час +actionview_datehelper_time_in_words_minute: 1 минута +actionview_datehelper_time_in_words_minute_half: половин минута +actionview_datehelper_time_in_words_minute_less_than: по-малко от минута +actionview_datehelper_time_in_words_minute_plural: %d минути +actionview_datehelper_time_in_words_minute_single: 1 минута +actionview_datehelper_time_in_words_second_less_than: по-малко от секунда +actionview_datehelper_time_in_words_second_less_than_plural: по-малко от %d секунди +actionview_instancetag_blank_option: Изберете + +activerecord_error_inclusion: не съществува в списъка +activerecord_error_exclusion: е запазено +activerecord_error_invalid: е невалидно +activerecord_error_confirmation: липсва одобрение +activerecord_error_accepted: трябва да се приеме +activerecord_error_empty: не може да е празно +activerecord_error_blank: не може да е празно +activerecord_error_too_long: е прекалено дълго +activerecord_error_too_short: е прекалено късо +activerecord_error_wrong_length: е с грешна дължина +activerecord_error_taken: вече съществува +activerecord_error_not_a_number: не е число +activerecord_error_not_a_date: е невалидна дата +activerecord_error_greater_than_start_date: трябва да е след началната дата + +general_fmt_age: %d yr +general_fmt_age_plural: %d yrs +general_fmt_date: %%d.%%m.%%Y +general_fmt_datetime: %%d.%%m.%%Y %%H:%%M +general_fmt_datetime_short: %%b %%d, %%H:%%M +general_fmt_time: %%H:%%M +general_text_No: 'Не' +general_text_Yes: 'Да' +general_text_no: 'не' +general_text_yes: 'да' +general_lang_bg: 'Bulgarian' +general_csv_separator: ',' +general_csv_encoding: ISO-8859-1 +general_pdf_encoding: ISO-8859-1 +general_day_names: Понеделник,Вторник,Сряда,Четвъртък,Петък,Събота,Неделя + +notice_account_updated: Профилът е обновен успешно. +notice_account_invalid_creditentials: Невалиден потребител или парола. +notice_account_password_updated: Паролата е успешно променена. +notice_account_wrong_password: Грешна парола +notice_account_register_done: Акаунтът е създаден успешно. +notice_account_unknown_email: Непознат потребител. +notice_can_t_change_password: Този акаунт е с външен метод за оторизация. Невъзможна смяна на паролата. +notice_account_lost_email_sent: Изпратен ви е e-mail с инструкции за избор на нова парола. +notice_account_activated: Акаунтът ви е активиран. Вече може да влезете. +notice_successful_create: Успешно създаване. +notice_successful_update: Успешно обновяване. +notice_successful_delete: Успешно изтриване. +notice_successful_connection: Успешно свързване. +notice_file_not_found: Несъществуваща или преместена страница. +notice_locking_conflict: Друг потребител променя тези данни в момента. +notice_scm_error: Несъществуващ обект в склада. +notice_not_authorized: Нямате право на достъп до тази страница. + +mail_subject_lost_password: Вашата парола +mail_subject_register: Активация на акаунт + +gui_validation_error: 1 грешка +gui_validation_error_plural: %d грешки + +field_name: Име +field_description: Описание +field_summary: Тема +field_is_required: Задължително +field_firstname: Име +field_lastname: Фамилия +field_mail: Email +field_filename: Файл +field_filesize: Големина +field_downloads: Downloads +field_author: Автор +field_created_on: Създадена +field_updated_on: Обновена +field_field_format: Формат +field_is_for_all: За всички проекти +field_possible_values: Възможни стойности +field_regexp: Регулярен израз +field_min_length: Мин. дължина +field_max_length: Макс. дължина +field_value: Стойност +field_category: Категория +field_title: Заглавие +field_project: Проект +field_issue: Задача +field_status: Статус +field_notes: Бележка +field_is_closed: Затворена задача +field_is_default: Статус по подразбиране +field_html_color: Цвят +field_tracker: Тракер +field_subject: Тема +field_due_date: Крайна дата +field_assigned_to: Възложена на +field_priority: Приоритет +field_fixed_version: Версия +field_user: Потребител +field_role: Роля +field_homepage: Начална страница +field_is_public: Публичен +field_parent: Подпроект на +field_is_in_chlog: Да се вижда ли в Изменения +field_is_in_roadmap: Да се вижда ли в Пътна карта +field_login: Потребител +field_mail_notification: Известия по пощата +field_admin: Администратор +field_last_login_on: Последно свързване +field_language: Език +field_effective_date: Дата +field_password: Парола +field_new_password: Нова парола +field_password_confirmation: Потвърждение +field_version: Версия +field_type: Type +field_host: Хост +field_port: Порт +field_account: Акаунт +field_base_dn: Base DN +field_attr_login: Login attribute +field_attr_firstname: Firstname attribute +field_attr_lastname: Lastname attribute +field_attr_mail: Email attribute +field_onthefly: Динамично създаване на потребител +field_start_date: Начална дата +field_done_ratio: %% Прогрес +field_auth_source: Начин на оторизация +field_hide_mail: Скрий e-mail адреса ми +field_comments: Коментар +field_url: Адрес +field_start_page: Начална страница +field_subproject: Подпроект +field_hours: Часове +field_activity: Дейност +field_spent_on: Дата +field_identifier: Идентификатор +field_is_filter: Използва се за филтър + +setting_app_title: Заглавие +setting_app_subtitle: Описание +setting_welcome_text: Допълнителен текст +setting_default_language: Език по подразбиране +setting_login_required: Изискване за вход +setting_self_registration: Регистрация от потребители +setting_attachment_max_size: Максимално голям приложен файл +setting_issues_export_limit: Лимит за експорт на задачи +setting_mail_from: E-mail адрес за емисии +setting_host_name: Хост +setting_text_formatting: Форматиране на текста +setting_wiki_compression: Wiki компресиране на историята +setting_feeds_limit: Лимит на Feeds +setting_autofetch_changesets: Автоматично обработване на commits в SVN склада +setting_sys_api_enabled: Разрешаване на WS за управление на SVN склада +setting_commit_ref_keywords: Отбелязващи ключови думи +setting_commit_fix_keywords: Приключващи ключови думи + +label_user: Потребител +label_user_plural: Потребители +label_user_new: Нов потребител +label_project: Проект +label_project_new: Нов проект +label_project_plural: Проекти +label_project_latest: Последни проекти +label_issue: Задача +label_issue_new: Нова задача +label_issue_plural: Задачи +label_issue_view_all: Всички задачи +label_document: Документ +label_document_new: Нов документ +label_document_plural: Документи +label_role: Роля +label_role_plural: Роли +label_role_new: Нова роля +label_role_and_permissions: Роли и права +label_member: Член +label_member_new: Нов член +label_member_plural: Членове +label_tracker: Тракер +label_tracker_plural: Тракери +label_tracker_new: Нов тракер +label_workflow: Workflow +label_issue_status: Статус на задача +label_issue_status_plural: Статуси на задачи +label_issue_status_new: Нов статус +label_issue_category: Категория задача +label_issue_category_plural: Категории задачи +label_issue_category_new: Нова категория +label_custom_field: Измислено поле +label_custom_field_plural: Измислени полета +label_custom_field_new: Ново измислено поле +label_enumerations: Списъци +label_enumeration_new: Нова стойност +label_information: Информация +label_information_plural: Информация +label_please_login: Вход +label_register: Регистрация +label_password_lost: Забравена парола +label_home: Начало +label_my_page: Моята страница +label_my_account: Моят профил +label_my_projects: Моите проекти +label_administration: Администрация +label_login: Вход +label_logout: Изход +label_help: Помощ +label_reported_issues: Публикувани задачи +label_assigned_to_me_issues: Назначени на мен +label_last_login: Последно свързване +label_last_updates: Последно обновена +label_last_updates_plural: %d последно обновени +label_registered_on: Регистрация +label_activity: Дейност +label_new: Нов +label_logged_as: Логнат като +label_environment: Среда +label_authentication: Оторизация +label_auth_source: Начин на оторозация +label_auth_source_new: Нов начин на оторизация +label_auth_source_plural: Начини на оторизация +label_subproject_plural: Подпроекти +label_min_max_length: Мин. - Макс. дължина +label_list: Списък +label_date: Дата +label_integer: Число +label_boolean: Чекбокс +label_string: Текст +label_text: Дълъг текст +label_attribute: Атрибут +label_attribute_plural: Атрибути +label_download: %d Download +label_download_plural: %d Downloads +label_no_data: Няма изходни данни +label_change_status: Промяна на статуса +label_history: История +label_attachment: Файл +label_attachment_new: Нов файл +label_attachment_delete: Изтриване +label_attachment_plural: Файлове +label_report: Доклад +label_report_plural: Доклади +label_news: Новини +label_news_new: Добави +label_news_plural: Новини +label_news_latest: Последни новини +label_news_view_all: Виж всички +label_change_log: Изменения +label_settings: Настройки +label_overview: Общ изглед +label_version: Версия +label_version_new: Нова версия +label_version_plural: Версии +label_confirmation: Одобрение +label_export_to: Експорт към +label_read: Read... +label_public_projects: Публични проекти +label_open_issues: отворена +label_open_issues_plural: отворени +label_closed_issues: затворена +label_closed_issues_plural: затворени +label_total: Общо +label_permissions: Права +label_current_status: Текущ статус +label_new_statuses_allowed: Позволени статуси +label_all: всички +label_none: никакви +label_next: Следващ +label_previous: Предишен +label_used_by: Използва се от +label_details: Детайли... +label_add_note: Добавяне на бележка +label_per_page: На страница +label_calendar: Календар +label_months_from: месеци от +label_gantt: Gantt +label_internal: Вътрешен +label_last_changes: последни %d промени +label_change_view_all: Виж всички промени +label_personalize_page: Персонализиране +label_comment: Коментар +label_comment_plural: Коментари +label_comment_add: Добавяне на коментар +label_comment_added: Добавен коментар +label_comment_delete: Изтриване на коментари +label_query: Измислена заявка +label_query_plural: Измислени заявки +label_query_new: Нова заявка +label_filter_add: Добави филтър +label_filter_plural: Филтри +label_equals: е +label_not_equals: не е +label_in_less_than: по-малко от +label_in_more_than: повече от +label_in: в следващите +label_today: днес +label_less_than_ago: преди по-малко от +label_more_than_ago: преди повече от +label_ago: преди дни +label_contains: съдържа +label_not_contains: не съдържа +label_day_plural: дни +label_repository: SVN Склад +label_browse: Разглеждане +label_modification: %d промяна +label_modification_plural: %d промени +label_revision: Ревизия +label_revision_plural: Ревизии +label_added: добавено +label_modified: променено +label_deleted: изтрито +label_latest_revision: Последна ревизия +label_latest_revision_plural: Последни ревизии +label_view_revisions: Виж ревизиите +label_max_size: Максимална големина +label_on: 'от' +label_sort_highest: Премести най-горе +label_sort_higher: Премести по-горе +label_sort_lower: Премести по-долу +label_sort_lowest: Премести най-долу +label_roadmap: Пътна карта +label_roadmap_due_in: Излиза след +label_roadmap_no_issues: Няма задачи за тази версия +label_search: Търсене +label_result: %d резултат +label_result_plural: %d резултати +label_all_words: Всички думи +label_wiki: Wiki +label_wiki_edit: Wiki редакция +label_wiki_edit_plural: Wiki редакции +label_page_index: Индекс +label_current_version: Текуща версия +label_preview: Преглед +label_feed_plural: Feeds +label_changes_details: Подробни промени +label_issue_tracking: Тракинг +label_spent_time: Отделено време +label_f_hour: %.2f час +label_f_hour_plural: %.2f часа +label_time_tracking: Отделяне на време +label_change_plural: Промени +label_statistics: Статистики +label_commits_per_month: Commits за месец +label_commits_per_author: Commits за автор +label_view_diff: Виж разликите +label_diff_inline: хоризонтално +label_diff_side_by_side: вертикално +label_options: Опции +label_copy_workflow_from: Копирай workflow от +label_permissions_report: Справка за права +label_watched_issues: Наблюдавани задачи +label_related_issues: Свързани задачи +label_applied_status: Промени статуса на +label_loading: Зареждане... + +button_login: Вход +button_submit: Изпращане +button_save: Запис +button_check_all: Маркирай всички +button_uncheck_all: Изчисти всички +button_delete: Изтриване +button_create: Създаване +button_test: Тест +button_edit: Редакция +button_add: Добавяне +button_change: Промяна +button_apply: Приложи +button_clear: Изчисти +button_lock: Заключване +button_unlock: Отключване +button_download: Download +button_list: Списък +button_view: Преглед +button_move: Преместване +button_back: Назад +button_cancel: Отказ +button_activate: Активация +button_sort: Сортиране +button_log_time: Отделяне на време +button_rollback: Върни се към тази ревизия +button_watch: Наблюдавай +button_unwatch: Спри наблюдението + +status_active: активен +status_registered: регистриран +status_locked: заключен + +text_select_mail_notifications: Изберете събития за изпращане на e-mail. +text_regexp_info: пр. ^[A-Z0-9]+$ +text_min_max_length_info: 0 - без ограничения +text_project_destroy_confirmation: Сигурни ли сте, че искате да изтриете проекта и данните в него? +text_workflow_edit: Изберете роля и тракер за да редактирате workflow +text_are_you_sure: Сигурни ли сте? +text_journal_changed: промяна от %s на %s +text_journal_set_to: установено на %s +text_journal_deleted: изтрито +text_tip_task_begin_day: задача започваща този ден +text_tip_task_end_day: задача завършваща този ден +text_tip_task_begin_end_day: задача започваща и завършваща този ден +text_project_identifier_info: 'Позволени са малки букви (a-z), цифри и тирета.
Невъзможна промяна след запис.' +text_caracters_maximum: До %d символа. +text_length_between: От %d до %d символа. +text_tracker_no_workflow: Няма дефиниран workflow за този тракер +text_unallowed_characters: Непозволени символи +text_coma_separated: Позволено е изброяване (с разделител запетая). +text_issues_ref_in_commit_messages: Отбелязване и приключване на задачи от commit съобщения + +default_role_manager: Мениджър +default_role_developper: Разработчик +default_role_reporter: Публикуващ +default_tracker_bug: Бъг +default_tracker_feature: Функционалност +default_tracker_support: Поддръжка +default_issue_status_new: Нова +default_issue_status_assigned: Възложена +default_issue_status_resolved: Приключена +default_issue_status_feedback: Обратна връзка +default_issue_status_closed: Затворена +default_issue_status_rejected: Отхвърлена +default_doc_category_user: Документация за потребителя +default_doc_category_tech: Техническа документация +default_priority_low: Нисък +default_priority_normal: Нормален +default_priority_high: Висок +default_priority_urgent: Спешен +default_priority_immediate: Веднага +default_activity_design: Дизайн +default_activity_development: Разработка + +enumeration_issue_priorities: Приоритети на задачи +enumeration_doc_categories: Категории документи +enumeration_activities: Дейности (time tracking) diff --git a/public/javascripts/calendar/lang/calendar-bg.js b/public/javascripts/calendar/lang/calendar-bg.js new file mode 100644 index 00000000..edc870e3 --- /dev/null +++ b/public/javascripts/calendar/lang/calendar-bg.js @@ -0,0 +1,127 @@ +// ** I18N + +// Calendar BG language +// Author: Nikolay Solakov, +// Encoding: any +// Distributed under the same terms as the calendar itself. + +// For translators: please use UTF-8 if possible. We strongly believe that +// Unicode is the answer to a real internationalized world. Also please +// include your contact information in the header, as can be seen above. + +// full day names +Calendar._DN = new Array +("Неделя", + "Понеделник", + "Вторник", + "Сряда", + "Четвъртък", + "Петък", + "Събота", + "Неделя"); + +// Please note that the following array of short day names (and the same goes +// for short month names, _SMN) isn't absolutely necessary. We give it here +// for exemplification on how one can customize the short day names, but if +// they are simply the first N letters of the full name you can simply say: +// +// Calendar._SDN_len = N; // short day name length +// Calendar._SMN_len = N; // short month name length +// +// If N = 3 then this is not needed either since we assume a value of 3 if not +// present, to be compatible with translation files that were written before +// this feature. + +// short day names +Calendar._SDN = new Array +("Нед", + "Пон", + "Вто", + "Сря", + "Чет", + "Пет", + "Съб", + "Нед"); + +// First day of the week. "0" means display Sunday first, "1" means display +// Monday first, etc. +Calendar._FD = 1; + +// full month names +Calendar._MN = new Array +("Януари", + "Февруари", + "Март", + "Април", + "Май", + "Юни", + "Юли", + "Август", + "Септември", + "Октомври", + "Ноември", + "Декември"); + +// short month names +Calendar._SMN = new Array +("Яну", + "Фев", + "Мар", + "Апр", + "Май", + "Юни", + "Юли", + "Авг", + "Сеп", + "Окт", + "Ное", + "Дек"); + +// tooltips +Calendar._TT = {}; +Calendar._TT["INFO"] = "За календара"; + +Calendar._TT["ABOUT"] = +"DHTML Date/Time Selector\n" + +"(c) dynarch.com 2002-2005 / Author: Mihai Bazon\n" + // don't translate this this ;-) +"For latest version visit: http://www.dynarch.com/projects/calendar/\n" + +"Distributed under GNU LGPL. See http://gnu.org/licenses/lgpl.html for details." + +"\n\n" + +"Избор на дата:\n" + +"- Използвайте \xab, \xbb за избор на година\n" + +"- Използвайте " + String.fromCharCode(0x2039) + ", " + String.fromCharCode(0x203a) + " за избор на месец\n" + +"- Задръжте натиснат бутона за списък с години/месеци."; +Calendar._TT["ABOUT_TIME"] = "\n\n" + +"Избор на час:\n" + +"- Кликнете на числата от часа за да ги увеличите\n" + +"- или Shift-click за намаляването им\n" + +"- или кликнете и влачете за по-бърза промяна."; + +Calendar._TT["PREV_YEAR"] = "Предишна година (задръжте за списък)"; +Calendar._TT["PREV_MONTH"] = "Предишен месец (задръжте за списък)"; +Calendar._TT["GO_TODAY"] = "Днешна дата"; +Calendar._TT["NEXT_MONTH"] = "Следващ месец (задръжте за списък)"; +Calendar._TT["NEXT_YEAR"] = "Следваща година (задръжте за списък)"; +Calendar._TT["SEL_DATE"] = "Избор на дата"; +Calendar._TT["DRAG_TO_MOVE"] = "Дръпнете за преместване"; +Calendar._TT["PART_TODAY"] = " (днес)"; + +// the following is to inform that "%s" is to be the first day of week +// %s will be replaced with the day name. +Calendar._TT["DAY_FIRST"] = "Седмицата започва с %s"; + +// This may be locale-dependent. It specifies the week-end days, as an array +// of comma-separated numbers. The numbers are from 0 to 6: 0 means Sunday, 1 +// means Monday, etc. +Calendar._TT["WEEKEND"] = "0,6"; + +Calendar._TT["CLOSE"] = "Затвори"; +Calendar._TT["TODAY"] = "Днес"; +Calendar._TT["TIME_PART"] = "(Shift-)Click или влачене за промяна на стойност"; + +// date formats +Calendar._TT["DEF_DATE_FORMAT"] = "%Y-%m-%d"; +Calendar._TT["TT_DATE_FORMAT"] = "%a, %b %e"; + +Calendar._TT["WK"] = "седм"; +Calendar._TT["TIME"] = "Час:"; diff --git a/test/functional/application_controller_test.rb b/test/functional/application_controller_test.rb index 28b9775a..c766229c 100644 --- a/test/functional/application_controller_test.rb +++ b/test/functional/application_controller_test.rb @@ -30,7 +30,7 @@ class ApplicationControllerTest < Test::Unit::TestCase # check that all 6 supported languages are valid def test_localization - assert_equal 8, GLoc.valid_languages.size + assert_equal 9, GLoc.valid_languages.size GLoc.valid_languages.each do |lang| assert set_language_if_valid(lang) end