diff --git a/.github/workflows/grammar.yml b/.github/workflows/grammar.yml new file mode 100644 index 00000000..4f55b4fd --- /dev/null +++ b/.github/workflows/grammar.yml @@ -0,0 +1,16 @@ +name: Grammar check + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + - name: Run yaspeller + run: | + sudo npm install yaspeller -g + yaspeller ./src/main/resources/org/sonar/l10n/core_ru.properties --ignore-latin + diff --git a/.yaspellerrc b/.yaspellerrc new file mode 100644 index 00000000..95b82c30 --- /dev/null +++ b/.yaspellerrc @@ -0,0 +1,21 @@ +{ + "checkYo": false, + "lang": "ru", + "format": "auto", + "dictionary": [ + "токен[\\W]*", + "реквест[\\W]*", + "коммит[\\W]*", + "пулл", + "Вкл", + "Переактивировать", + "логировани[яеи]", + "Предпросмотр", + "Подпроект[ыу]*" + ], + "ignoreText": [ + "-ов", + "-ях", + "гггг-ММ-дд" // формат даты + ] +} \ No newline at end of file diff --git a/src/main/java/org/silverbulleters/sonar/plugins/l10n/RussianPackPlugin.java b/src/main/java/org/silverbulleters/sonar/plugins/l10n/RussianPackPlugin.java index 384bded1..f72f6e2c 100644 --- a/src/main/java/org/silverbulleters/sonar/plugins/l10n/RussianPackPlugin.java +++ b/src/main/java/org/silverbulleters/sonar/plugins/l10n/RussianPackPlugin.java @@ -5,7 +5,7 @@ * SilverBulleters, LLC * mailto:b2b@silverbulleters.org * - * Copyright © 2020-2020 + * Copyright © 2020-2021 * 1c-syntax and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later diff --git a/src/main/resources/org/sonar/l10n/core_ru.properties b/src/main/resources/org/sonar/l10n/core_ru.properties index affc015d..f769d7a5 100644 --- a/src/main/resources/org/sonar/l10n/core_ru.properties +++ b/src/main/resources/org/sonar/l10n/core_ru.properties @@ -120,7 +120,7 @@ new_name=Новое имя none=Нет no_tags=Нет тегов not_now=Не сейчас -off=Выкл +off=Выкл. on=Вкл or=Или organization_key=Ключ организации @@ -137,10 +137,10 @@ permalink=Постоянная ссылка plugin=Плагин project=Проект projects=Проекты -projects_=проект(ов) +projects_=проект(-ов) project_singular=проект project_plural=проекты -projects_management=Управление уроектами +projects_management=Управление проектами quality_profile=Профиль качества raw=Неформатированный recent_history=Недавняя история @@ -165,7 +165,7 @@ save=Сохранить search_verb=Поиск see_all=Просмотреть все select_verb=Выбрать -selected=Выбранно +selected=Выбрано set=Установить set_up=Настроить severity=Серьезность @@ -199,7 +199,7 @@ updated=Обновлено updated_on=Обновлено update_verb=Обновить updating=Обновление -unselected=Невыбранно +unselected=Не выбрано user=Пользователь value=Значение variation=Вариация @@ -529,7 +529,7 @@ update_key.page=Обновить ключ update_key.page.description=Отредактируйте ключ проекта. Изменения должны производиться ДО начала анализа проекта с новым ключом, иначе вместо модификации существующего проекта в процессе анализа будет создан еще один проект. deletion.page=Удаление project_deletion.page.description=Удалить этот проект. Операция не может быть отменена. -portfolio_deletion.page.description=Это портфолио и его подпортфолио будут удалены. Если на портфолио ссылаются другие сущности, связи будут удалены. Независимые сущности, на которые ссылается этот портфолио, такие как проекты и другие портфолио верхнего уровня, не будут удалены. Эта операция не может быть отменена. +portfolio_deletion.page.description=Это портфолио и его дочерние портфолио будут удалены. Если на портфолио ссылаются другие сущности, связи будут удалены. Независимые сущности, на которые ссылается этот портфолио, такие как проекты и другие портфолио верхнего уровня, не будут удалены. Эта операция не может быть отменена. application_deletion.page.description=Удалить это приложение. Проекты приложения не будут удалены. Проекты, на которые ссылается это приложение, не будут удалены. Эта операция не может быть отменена. application.branches.help=Легко создавайте ветки приложений, состоящие из веток проектов в вашем приложении. application.branches.link=Создать ветку @@ -658,7 +658,7 @@ issue.status.REVIEWED=Рассмотрено issue.resolution.FALSE-POSITIVE=Ложно issue.resolution.FALSE-POSITIVE.description=Замечания, вручную определенные как Ложные. Усилия этих замечаний не будут учитываться. issue.resolution.FIXED=Исправлено -issue.resolution.FIXED.description=Замечания, которые были исправлены в коде или переанализированы. +issue.resolution.FIXED.description=Замечания, которые были исправлены в коде или закрыты после повторного анализа. issue.resolution.WONTFIX=Неактуально issue.resolution.WONTFIX.description=Замечания, допустимые в этом контексте. Они и их усилия будут проигнорированы. issue.resolution.REMOVED=Удалено @@ -803,7 +803,7 @@ projects.sorting.new_security=Безопасность projects.sorting.new_maintainability=Сопровождаемость projects.sorting.new_coverage=Покрытие projects.sorting.new_duplications=Дублирование -projects.sorting.new_lines=Новые cтроки +projects.sorting.new_lines=Новые строки projects.view.overall=Общее состояние projects.view.new_code=Новый код projects.worse_of_reliablity_and_security=Худший из надежности и безопасности @@ -823,7 +823,7 @@ projects.limited_set_of_projects=Отображение проектов огр projects.facets.quality_gate=Порог качества projects.facets.quality_gate.warning_help=Статус предупреждения устарел. Этот фильтр исчезнет, когда не останется ни одного предупреждения для Порога качества. projects.facets.languages=Языки -projects.facets.new_lines=Новые cтроки +projects.facets.new_lines=Новые строки projects.facets.tags=Теги projects.sort.disabled=Отключено, так как с текущим выбором проекта сортировка не может повлиять на отображаемый результат. projects.sort.analysis_date=по дате последнего анализа (старый вначале) @@ -835,7 +835,7 @@ projects.sort.-reliability=по надежности (сначала худши projects.sort.security=по безопасности (сначала лучшие) projects.sort.-security=по безопасности (сначала худшие) projects.sort.maintainability=по сопровождаемости (сначала лучшие) -projects.sort.-maintainability=по соппровождаемости (сначала худшие) +projects.sort.-maintainability=по сопровождаемости (сначала худшие) projects.sort.coverage=по покрытию (сначала лучшие) projects.sort.-coverage=по покрытию (сначала худшие) projects.sort.duplications=по дублированию (сначала лучшие) @@ -931,14 +931,14 @@ property.sonar.coverage.exclusions.description=Шаблоны, использу property.category.technicalDebt=Технический долг property.error.notBoolean=Допустимые параметры - "истина" и "ложь" property.error.notInteger=Разрешены только цифры -property.error.notFloat=Недробное число +property.error.notFloat=Целое число property.error.notRegexp=Недопустимое регулярное выражение Java property.error.notInOptions=Недопустимый параметр property.category.scm=SCM property.sonar.leak.period.description=Период, используемый для сравнения показателей и отслеживания новых замечаний. Возможные значения\:
При указании количества дней или даты снимок, выбранный в качестве базового для сравнения, является первым доступным в соответствующем временном диапазоне. В частности, первым анализом в диапазоне считается анализ перед началом Периода нового кода
Изменение этого параметра вступает в силу только после последующего анализа проекта.
property.sonar.leak.period.description.intro=Период для сравнения показателей и отслеживания новых замечаний. Значения\: property.sonar.leak.period.description.item1=Количество дней до анализа, например 5. -property.sonar.leak.period.description.item2=Пользовательская дата. Формат гггг-ММ-дд, например 2010-12-25 +property.sonar.leak.period.description.item2=Пользовательская дата. Формат 'гггг-ММ-дд', например 2010-12-25 property.sonar.leak.period.description.item3='previous_version' для сравнения с предыдущей версией в истории проекта property.sonar.leak.period.description.item4=Версия, например, '1.2' или 'Базовая' property.sonar.leak.period.description.details1=При указании количества дней или даты снимок, выбранный в качестве базового для сравнения, является первым доступным в соответствующем временном диапазоне. В частности, первым анализом в диапазоне считается анализ перед началом Периода нового кода. @@ -1029,7 +1029,7 @@ select2.tooShort=Пожалуйста, введите по крайней мер # DUPLICATION VIEWER # #------------------------------------------------------------------------------ -duplications.dups_found_on_deleted_resource=Этот файл содержит дублирующиеся участки с некоторыми удаленными ресурсами. Этот проект должен быть переанализирован для удаления этих устаревших дублирующихся участков. +duplications.dups_found_on_deleted_resource=Этот файл содержит дублирующиеся участки с некоторыми удаленными ресурсами. Этот проект должен быть повторно проанализирован для удаления этих устаревших дублирующихся участков. #------------------------------------------------------------------------------ @@ -1105,7 +1105,7 @@ project_activity.custom_metric.covered_lines=Покрытые строки # #------------------------------------------------------------------------------ update_key.old_key=Старый ключ -update_key.new_key=Новый нлюч +update_key.new_key=Новый ключ update_key.are_you_sure_to_change_key=Вы уверены, что вы хотите изменить ключ "{0}"? @@ -1202,7 +1202,7 @@ quality_profiles.latest_new_rules.activated={0}, активировано в {1} quality_profiles.latest_new_rules.not_activated={0}, еще не активировано quality_profiles.deprecated_rules=Устаревшие правила quality_profiles.deprecated_rules_description=Эти устаревшие правила будут в конечном итоге исчезнут. Вам стоит найти им замену. -quality_profiles.deprecated_rules_are_still_activated=Устаревшие правила по-прежнему активированы в {0} профиле(ях) качества\: +quality_profiles.deprecated_rules_are_still_activated=Устаревшие правила по-прежнему активированы в {0} профиле(-ях) качества\: quality_profiles.sonarway_missing_rules=Правила "Sonar way" не включены quality_profiles.sonarway_missing_rules_description=Рекомендуемые правила отсутствуют в вашем профиле quality_profiles.stagnant_profiles=Застоявшиеся профили @@ -1335,7 +1335,7 @@ coding_rules.parameters.default_value=Значение по умолчанию\: coding_rules.quality_profiles=Профили качества coding_rules.quality_profiles.template_caption=Шаблон правила был активирован в следующих профилях в предыдущих версиях {instance}. Эта возможность больше недоступна. Вместо этого, пожалуйста, создайте собственное правило. coding_rules.quality_profile=Профиль качества -coding_rules.reactivate=Переактировать +coding_rules.reactivate=Переактивировать coding_rules.reactivate.help=Правило с таким ключом было ранее удалено. Пожалуйста, активируйте существующее правило или измените ключ, чтобы создать новое правило. coding_rules.return_to_list=Вернуться к списку coding_rules.remove_extended_description=Удалить расширенное описание @@ -1407,7 +1407,7 @@ coding_rules.remediation_function=Функция восстановления coding_rules.remediation_function.LINEAR=Линейная coding_rules.remediation_function.LINEAR_OFFSET=Линейная со смещением coding_rules.remediation_function.CONSTANT_ISSUE=Постоянная/замечание -coding_rules.remediation_function.coeff=Коэфф +coding_rules.remediation_function.coeff=Коэфф. coding_rules.remediation_function.offset=Смещение coding_rules.remediation_function.constant=Постоянная @@ -1557,7 +1557,7 @@ provisioning.no_analysis.delete=Вы должны либо повторить а provisioning.no_analysis.delete_project=удалить проект provisioning.no_analysis_on_main_branch=Ветка "{branchName}" еще не проанализирована. provisioning.no_analysis_on_main_branch.bad_configuration=Ветка "{branchName}" еще не проанализирована, и у вас уже есть несколько веток. Похоже, это не ваш {branchType}, проверьте вашу конфигурацию. -provisioning.only_provisioned=Только подготовленые +provisioning.only_provisioned=Только подготовленные provisioning.only_provisioned.tooltip=Подготовленные проекты – это проекты, которые были созданы, но не были проанализированы. @@ -1659,13 +1659,13 @@ metric.code_smells.description=Дефекты кода metric.code_smells.name=Дефекты кода metric.cognitive_complexity.description=Когнитивная сложность metric.cognitive_complexity.name=Когнитивная сложность -metric.commented_out_code_lines.description=Закоментированные строки кода +metric.commented_out_code_lines.description=Закомментированные строки кода metric.commented_out_code_lines.name=Закомментированные строки кода metric.comment_blank_lines.description=Комментарии, которые не содержат комментарии metric.comment_blank_lines.name=Пустые комментарии metric.comment_lines.description=Количество строк комментариев metric.comment_lines.name=Строки комментариев -metric.comment_lines_density.description=Комментарии, взвешенные по некомментированным строкам кода + строкам комментариев +metric.comment_lines_density.description=Комментарии, взвешенные по строкам кода без комментариев + строкам комментариев metric.comment_lines_density.name=Комментарии (%) metric.comment_lines_density.short_name=Комментарии metric.complexity.description=Цикломатическая сложность @@ -1746,7 +1746,7 @@ metric.function_complexity_distribution.name=Распределение функ metric.generated_lines.description=Количество сгенерированных строк metric.generated_lines.name.suffix=сгенерированных строк metric.generated_lines.name=Сгенерированные строки -metric.generated_ncloc.description=Сгенерированные незакомментированные строки кода +metric.generated_ncloc.description=Сгенерированные не закомментированные строки кода metric.generated_ncloc.name.suffix=сгенерированных строк кода metric.generated_ncloc.name=Сгенерированные строки кода metric.has_rating_X=Рейтинг\: {0} @@ -1797,8 +1797,8 @@ metric.major_violations.name=Важные замечания metric.minor_violations.description=Незначительные замечания metric.minor_violations.name=Незначительные замечания metric.ncloc.name=Строки кода -metric.ncloc.description=Незакомментированные строки кода -metric.ncloc_language_distribution.description=Незакомментированные строки кода, распределенные по языкам +metric.ncloc.description=Не закомментированные строки кода +metric.ncloc_language_distribution.description=Не закомментированные строки кода, распределенные по языкам metric.ncloc_language_distribution.name=Строки кода по языку metric.new_blocker_violations.description=Новые блокирующие замечания metric.new_blocker_violations.name=Новые блокирующие замечания @@ -1860,8 +1860,8 @@ metric.new_major_violations.description=Новые важные замечани metric.new_major_violations.name=Новые важные замечания metric.new_minor_violations.description=Новые незначительные замечания metric.new_minor_violations.name=Новые незначительные замечания -metric.new_lines.name=Новые cтроки -metric.new_lines.description=Новые cтроки +metric.new_lines.name=Новые строки +metric.new_lines.description=Новые строки metric.new_lines.short_name=Строки metric.new_overall_branch_coverage.description=Покрытие условий нового/измененного кода всеми тестами metric.new_overall_branch_coverage.name=Общее покрытие условий в новом коде @@ -2438,7 +2438,7 @@ overview.quality_gate_failed_with_x=с {0} ошибками overview.you_should_define_quality_gate=Вы должны определить порог качества на этот проект. overview.quality_gate.ignored_conditions=Некоторые условия Порога Качества в новом коде были проигнорированы из-за небольшого количества новых строк overview.quality_gate.ignored_conditions.tooltip=В начале периода нового кода, если совсем мало строк кода были добавлено или изменено, то может быть трудно достичь желаемого уровня показателей покрытия кода или дублирования. Для предотвращения нарушения Порога качества условия дублирования и покрытия в новом коде игнорируются до тех пор, пока количество новых строк кода меньше 20. -overview.quality_gate.conditions_on_new_code=Для нового кода проверяются только те условия, что определены в Пороге качества. Посмотрете связанную с проектом {link} для уточнения деталей. +overview.quality_gate.conditions_on_new_code=Для нового кода проверяются только те условия, что определены в Пороге качества. Изучите связанную с проектом {link} для уточнения деталей. overview.quality_profiles=Профили качества overview.new_code_period_x=Новый код\: {0} overview.started_x=начался {0} @@ -2483,7 +2483,7 @@ overview.metric.duplications=Дублирование overview.metric.duplicated_blocks=Дублирующиеся участки overview.metric.new_duplications=Дублирование в новом коде overview.metric.ncloc=Строки кода -overview.metric.new_lines=Новые cтроки +overview.metric.new_lines=Новые строки overview.metric.new_lines_to_cover=Новые строки для покрытия overview.metric.files=Файлы overview.coverage_on=Покрытие в @@ -2590,7 +2590,7 @@ documentation.skip_to_nav=Перейти к навигации по докуме #------------------------------------------------------------------------------ code.open_component_page=Открыть страницу компонентов code.search_placeholder=Поиск файлов... -code.search_placeholder.portfolio=Поиск проектов и суб-портфолио... +code.search_placeholder.portfolio=Поиск проектов и дочерних портфолио... #------------------------------------------------------------------------------ @@ -2897,7 +2897,7 @@ onboarding.binding_organization=Привязывание организации onboarding.team.header=Присоединиться к команде onboarding.team.first_step=Поздравляем, первый шаг выполнен\! onboarding.team.how_to_join=Чтобы присоединиться к команде, единственное, что вам нужно сделать - это быть зарегистрированным пользователем Sonarcloud. Администратор организации Sonarcloud, к которой вы хотите присоединиться, должен добавить вас в список участников {link}. Попросите его сделать это\! -onboarding.team.work_in_progress=В настояще время мы работаем над лучшими способами присоединения к команде или приглашения людей в вашу команду. +onboarding.team.work_in_progress=В настоящее время мы работаем над лучшими способами присоединения к команде или приглашения людей в вашу команду. onboarding.analyze_your_code.note=Бесплатно onboarding.analyze_your_code=Анализ вашего кода @@ -3080,7 +3080,7 @@ branches.last_analysis_date=Дата последнего анализа branches.search_for_branches=Поиск веток... branches.pull_requests=Пулл-реквесты branches.short_lived.quality_gate.description=Определение статуса ветки пропущено по причине отсутствия открытых замечаний. Оставшиеся замечания в количестве {0} штук были подтверждены. -branches.short_lived_branches=Коротко-живующие ветки +branches.short_lived_branches=Короткоживущие ветки branches.pull_request.for_merge_into_x_from_y=для слияния из {branch} в {target} branches.see_the_pr=См. PR branches.measures.new_coverage.help=Покрытие в новом коде. Подробности {link}. @@ -3261,14 +3261,14 @@ favorite.action.add=Добавить в избранное favorite.action.remove=Удалить из избранного favorite.check.TRK=Нажмите, чтобы отметить этот проект как избранный. favorite.check.VW=Нажмите, чтобы отметить это портфолио как избранное. -favorite.check.SVW=Нажмите, чтобы отметить это суб-портфолио как избранное. +favorite.check.SVW=Нажмите, чтобы отметить это дочернее портфолио как избранное. favorite.check.APP=Нажмите, чтобы отметить это приложение как избранное. favorite.check.FIL=Нажмите, чтобы отметить этот файл как избранный. favorite.check.UTS=Нажмите, чтобы отметить этот файл теста как избранный. favorite.current.TRK=Этот проект помечен как избранный. favorite.current.VW=Это портфолио помечено как избранное. -favorite.current.SVW=Это суб-портфолио помечено как избранное. +favorite.current.SVW=Это дочернее портфолио помечено как избранное. favorite.current.APP=Это приложение помечено как избранное. favorite.current.FIL=Этот файл помечен как избранный. favorite.current.UTS=Этот файл теста помечен как избранный. @@ -3303,7 +3303,7 @@ webhooks.update=Обновить веб-хук webhooks.secret=Секретный ключ webhooks.secret_header=Секретный ключ? webhooks.secret.bad_format=Допустимая длина секретного ключа - 200 символов -webhooks.secret.description=Если указано, то секретный ключ будет использован для формирования 16-тиричного HMAC отпечатка (в нижнем регистре) http-заголовка 'X-Sonar-Webhook-HMAC-SHA256' +webhooks.secret.description=Если указано, то секретный ключ будет использован для формирования шестнадцатеричного HMAC отпечатка (в нижнем регистре) http-заголовка 'X-Sonar-Webhook-HMAC-SHA256' webhooks.url=URL webhooks.url.bad_format=Неправильный формат URL-адреса. webhooks.url.bad_protocol=URL должен начинаться с "http\://" или "https\://". diff --git a/src/test/java/org/silverbulleters/sonar/plugins/l10n/RussianPackPluginTest.java b/src/test/java/org/silverbulleters/sonar/plugins/l10n/RussianPackPluginTest.java index 7928268d..b0e946b6 100644 --- a/src/test/java/org/silverbulleters/sonar/plugins/l10n/RussianPackPluginTest.java +++ b/src/test/java/org/silverbulleters/sonar/plugins/l10n/RussianPackPluginTest.java @@ -5,7 +5,7 @@ * SilverBulleters, LLC * mailto:b2b@silverbulleters.org * - * Copyright © 2020-2020 + * Copyright © 2020-2021 * 1c-syntax and contributors * * SPDX-License-Identifier: LGPL-3.0-or-later