--- a/src/eric7/i18n/eric7_ru.ts Sun Feb 16 14:56:07 2025 +0100 +++ b/src/eric7/i18n/eric7_ru.ts Sun Feb 16 15:05:39 2025 +0100 @@ -56175,18 +56175,18 @@ </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="346" /> - <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source> - <translation>return/continue/break внутри блоков finally заставляют исключения отключаться. Исключения должны быть отключены в блоках except. Управляющие операторы могут быть перемещены за пределы блока finally.</translation> + <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except{0} blocks. Control statements can be moved outside the finally block.</source> + <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="352" /> - <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source> - <translation>Литерал односимвольного кортежа является избыточным. Используйте 'except {0}:' вместо 'except ({0},):'.</translation> + <source>A length-one tuple literal is redundant. Write 'except{1} {0}:' instead of 'except{1} ({0},):'.</source> + <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="357" /> - <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source> - <translation>Избыточные типы исключений в 'except ({0}){1}:'. Используйте 'except {2}{1}:', чтобы перехватывать точно такие же исключения.</translation> + <source>Redundant exception types in 'except{3} ({0}){1}:'. Write 'except{3} {2}{1}:', which catches exactly the same exceptions.</source> + <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="362" /> @@ -56240,8 +56240,8 @@ </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="417" /> - <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source> - <translation>Исключение '{0}' было перехвачено несколько раз. Будет рассмотрено только первое исключение, а все остальные исключения могут быть безопасно удалены.</translation> + <source>Exception '{0}' has been caught multiple times. Only the first except{1} will be considered and all other except{1} catches can be safely removed.</source> + <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="422" /> @@ -56260,8 +56260,8 @@ </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="442" /> - <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source> - <translation>Использование 'except ():' с пустым кортежем ничего не обрабатывает/не перехватывает. Добавьте исключения для обработки.</translation> + <source>Using 'except{0} ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source> + <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="447" /> @@ -56300,8 +56300,8 @@ </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="480" /> - <source>Class '__init__' methods must not return or yield and any values.</source> - <translation>Методы класса '__init__' не должны возвращать или выдавать какие-либо значения.</translation> + <source>Class '__init__' methods must not return or yield any values.</source> + <translation type="unfinished" /> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="484" /> @@ -56314,156 +56314,185 @@ <translation>Исключение с добавленным примечанием не используется. Вы забыли его активировать?</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="495" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="494" /> + <source>Repeated key-value pair in dictionary literal.</source> + <translation type="unfinished" /> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="499" /> <source>Editing a loop's mutable iterable often leads to unexpected results/bugs.</source> <translation>Редактирование изменяемого итерационного параметра цикла часто приводит к неожиданным результатам/ошибкам.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="500" /> - <source>unncessary f-string</source> - <translation>ненужная f-string</translation> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="504" /> + <source>unncessary f-string</source> + <translation>ненужная f-string</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="508" /> <source>cannot use 'self.__class__' as first argument of 'super()' call</source> <translation>не используйте 'self .__ class__' в качестве первого аргумента вызова 'super ()'</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="509" /> - <source>found {0} formatter</source> - <translation>найден {0} форматтер</translation> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="513" /> - <source>format string does contain unindexed parameters</source> - <translation>строка формата действительно содержит неиндексированные параметры</translation> + <source>found {0} formatter</source> + <translation>найден {0} форматтер</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="517" /> - <source>docstring does contain unindexed parameters</source> - <translation>строка документации действительно содержит неиндексированные параметры</translation> + <source>format string does contain unindexed parameters</source> + <translation>строка формата действительно содержит неиндексированные параметры</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="521" /> - <source>other string does contain unindexed parameters</source> - <translation>другая строка действительно содержит неиндексированные параметры</translation> + <source>docstring does contain unindexed parameters</source> + <translation>строка документации действительно содержит неиндексированные параметры</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="525" /> - <source>format call uses too large index ({0})</source> - <translation>формат вызова использует слишком большой индекс ({0})</translation> + <source>other string does contain unindexed parameters</source> + <translation>другая строка действительно содержит неиндексированные параметры</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="529" /> - <source>format call uses missing keyword ({0})</source> - <translation>формат вызова использует отсутствующее ключевое слово ({0})</translation> + <source>format call uses too large index ({0})</source> + <translation>формат вызова использует слишком большой индекс ({0})</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="533" /> - <source>format call uses keyword arguments but no named entries</source> - <translation>формат вызова использует ключевые аргументы, но нет именованных записей</translation> + <source>format call uses missing keyword ({0})</source> + <translation>формат вызова использует отсутствующее ключевое слово ({0})</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="537" /> - <source>format call uses variable arguments but no numbered entries</source> - <translation>формат ячейки использует переменные аргументы, но нет пронумерованных записей</translation> + <source>format call uses keyword arguments but no named entries</source> + <translation>формат вызова использует ключевые аргументы, но нет именованных записей</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="541" /> - <source>format call uses implicit and explicit indexes together</source> - <translation>формат вызова использует скрытые и явные индексы вместе</translation> + <source>format call uses variable arguments but no numbered entries</source> + <translation>формат ячейки использует переменные аргументы, но нет пронумерованных записей</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="545" /> - <source>format call provides unused index ({0})</source> - <translation>формат вызова предоставляет неиспользованный индекс ({0})</translation> + <source>format call uses implicit and explicit indexes together</source> + <translation>формат вызова использует скрытые и явные индексы вместе</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="549" /> + <source>format call provides unused index ({0})</source> + <translation>формат вызова предоставляет неиспользованный индекс ({0})</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="553" /> <source>format call provides unused keyword ({0})</source> <translation>формат вызова предоставляет неиспользуемое ключевое слово ({0})</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="554" /> - <source>expected these __future__ imports: {0}; but only got: {1}</source> - <translation>ожидался __future__ imports: {0}; получены только: {1}</translation> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="558" /> + <source>expected these __future__ imports: {0}; but only got: {1}</source> + <translation>ожидался __future__ imports: {0}; получены только: {1}</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="562" /> <source>expected these __future__ imports: {0}; but got none</source> <translation>ожидался __future__ imports: {0}; не получено ничего</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="563" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="567" /> <source>gettext import with alias _ found: {0}</source> <translation>gettext import with alias _ found: {0}</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="568" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="572" /> <source>print statement found</source> <translation>обнаружена инструкция печати</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="573" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="577" /> <source>one element tuple found</source> <translation>найден одноэлементный кортеж</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="578" /> - <source>mutable default argument of type {0}</source> - <translation>изменяемый аргумент по умолчанию типа {0}</translation> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="586" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="582" /> + <source>mutable default argument of type {0}</source> + <translation>изменяемый аргумент по умолчанию типа {0}</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="590" /> <source>mutable default argument of function call '{0}'</source> <translation>измененный аргумент по умолчанию для вызова функции '{0}'</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="591" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="595" /> <source>None should not be added at any return if function has no return value except None</source> <translation>если функция не имеет возвращаемого значения, (кроме None), None не следует добавлять в каждый return</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="596" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="600" /> <source>an explicit value at every return should be added if function has a return value except None</source> <translation>если функция имеет возвращаемое значение, (кроме None), то явное значение должно быть добавлено каждому return</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="601" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="605" /> <source>an explicit return at the end of the function should be added if it has a return value except None</source> <translation>в конец функции, если она имеет возвращаемое значение, (кроме None), должен быть добавлен явный return</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="606" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="610" /> <source>a value should not be assigned to a variable if it will be used as a return value only</source> <translation>значение не должно присваиваться переменной, если оно будет использоваться только как возвращаемое значение</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="612" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="616" /> <source>prefer implied line continuation inside parentheses, brackets and braces as opposed to a backslash</source> <translation>для предполагаемого продолжения строки предпочтительнее использование круглых, квадратных или фигурных скобок, а не обратного слеша</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="618" /> - <source>implicitly concatenated string or bytes literals on one line</source> - <translation>неявно объединенные строковые или байтовые литералы в одной строке</translation> - </message> - <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="622" /> - <source>implicitly concatenated string or bytes literals over continuation line</source> - <translation>неявно объединенные строковые или байтовые литералы в строке продолжения</translation> + <source>implicitly concatenated string or bytes literals on one line</source> + <translation>неявно объединенные строковые или байтовые литералы в одной строке</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="626" /> + <source>implicitly concatenated string or bytes literals over continuation line</source> + <translation>неявно объединенные строковые или байтовые литералы в строке продолжения</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="630" /> <source>explicitly concatenated string or bytes should be implicitly concatenated</source> <translation>явно объединенные строковые или байтовые литералы должны быть неявно объединены</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="631" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Miscellaneous/translations.py" line="635" /> <source>commented code lines should be removed</source> <translation>закомментированные строки кода должны быть удалены</translation> </message> + <message> + <source>return/continue/break inside finally blocks cause exceptions to be silenced. Exceptions should be silenced in except blocks. Control statements can be moved outside the finally block.</source> + <translation type="vanished">return/continue/break внутри блоков finally заставляют исключения отключаться. Исключения должны быть отключены в блоках except. Управляющие операторы могут быть перемещены за пределы блока finally.</translation> + </message> + <message> + <source>A length-one tuple literal is redundant. Write 'except {0}:' instead of 'except ({0},):'.</source> + <translation type="vanished">Литерал односимвольного кортежа является избыточным. Используйте 'except {0}:' вместо 'except ({0},):'.</translation> + </message> + <message> + <source>Redundant exception types in 'except ({0}){1}:'. Write 'except {2}{1}:', which catches exactly the same exceptions.</source> + <translation type="vanished">Избыточные типы исключений в 'except ({0}){1}:'. Используйте 'except {2}{1}:', чтобы перехватывать точно такие же исключения.</translation> + </message> + <message> + <source>Exception '{0}' has been caught multiple times. Only the first except will be considered and all other except catches can be safely removed.</source> + <translation type="vanished">Исключение '{0}' было перехвачено несколько раз. Будет рассмотрено только первое исключение, а все остальные исключения могут быть безопасно удалены.</translation> + </message> + <message> + <source>Using 'except ():' with an empty tuple does not handle/catch anything. Add exceptions to handle.</source> + <translation type="vanished">Использование 'except ():' с пустым кортежем ничего не обрабатывает/не перехватывает. Добавьте исключения для обработки.</translation> + </message> + <message> + <source>Class '__init__' methods must not return or yield and any values.</source> + <translation type="vanished">Методы класса '__init__' не должны возвращать или выдавать какие-либо значения.</translation> + </message> </context> <context> <name>MouseClickDialog</name> @@ -59718,164 +59747,164 @@ <context> <name>Pip</name> <message> - <location filename="../PipInterface/Pip.py" line="156" /> + <location filename="../PipInterface/Pip.py" line="157" /> <source>python exited with an error ({0}).</source> <translation>python завершен с ошибкой ({0}).</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="165" /> + <location filename="../PipInterface/Pip.py" line="166" /> <source>python did not finish within 30 seconds.</source> <translation>python не завершился в течение 30 секунд.</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="167" /> + <location filename="../PipInterface/Pip.py" line="168" /> <source>python could not be started.</source> <translation>невозможно запустить python.</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="228" /> + <location filename="../PipInterface/Pip.py" line="229" /> <source><project></source> <translation><project></translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="253" /> - <source>Interpreter for Virtual Environment</source> - <translation>Интерпретатор для виртуального окружения</translation> - </message> - <message> <location filename="../PipInterface/Pip.py" line="254" /> + <source>Interpreter for Virtual Environment</source> + <translation>Интерпретатор для виртуального окружения</translation> + </message> + <message> + <location filename="../PipInterface/Pip.py" line="255" /> <source>No interpreter configured for the selected virtual environment.</source> <translation>Для выбранного виртуального окружения не настроен интерпретатор.</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="307" /> + <location filename="../PipInterface/Pip.py" line="308" /> <source>Install PIP</source> <translation>Установка PIP</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="354" /> + <location filename="../PipInterface/Pip.py" line="355" /> <source>Repair PIP</source> <translation>Восстановление PIP</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="486" /> - <location filename="../PipInterface/Pip.py" line="468" /> + <location filename="../PipInterface/Pip.py" line="487" /> + <location filename="../PipInterface/Pip.py" line="469" /> <source>Upgrade Packages</source> <translation>Обновление пакетов</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="469" /> + <location filename="../PipInterface/Pip.py" line="470" /> <source>There are no packages except 'eric-ide' or 'PyQt6' left for upgrade.</source> <translation>Никаких пакетов для обновления не осталось, кроме 'eric-ide' или 'PyQt6'.</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="532" /> + <location filename="../PipInterface/Pip.py" line="533" /> <source>Install Packages</source> <translation>Установка пакетов</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="563" /> + <location filename="../PipInterface/Pip.py" line="564" /> <source>Install Packages from Requirements</source> <translation>Установка пакетов, перечисленных в зависимостях</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="585" /> + <location filename="../PipInterface/Pip.py" line="586" /> <source>Install Project</source> <translation>Установка проекта</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="620" /> - <location filename="../PipInterface/Pip.py" line="610" /> - <source>Install 'pyproject' Dependencies</source> - <translation>Установка зависимостей 'pyproject'</translation> - </message> - <message> - <location filename="../PipInterface/Pip.py" line="748" /> - <location filename="../PipInterface/Pip.py" line="611" /> - <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source> - <translation>Выбранный файл 'project.toml' не содержит раздела 'project.dependencies'. Прервать...</translation> - </message> - <message> <location filename="../PipInterface/Pip.py" line="621" /> + <location filename="../PipInterface/Pip.py" line="611" /> + <source>Install 'pyproject' Dependencies</source> + <translation>Установка зависимостей 'pyproject'</translation> + </message> + <message> + <location filename="../PipInterface/Pip.py" line="749" /> + <location filename="../PipInterface/Pip.py" line="612" /> + <source>The selected 'pyproject.toml' file does not contain a 'project.dependencies' section. Aborting...</source> + <translation>Выбранный файл 'project.toml' не содержит раздела 'project.dependencies'. Прервать...</translation> + </message> + <message> + <location filename="../PipInterface/Pip.py" line="622" /> <source><p>The selected 'pyproject.toml' file could not be read.</p><p>Reason: {0}</p></source> <translation><p>Не удалось прочитать выбранный файл 'project.toml'.</p><p>Причина: {0}</p></translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="641" /> + <location filename="../PipInterface/Pip.py" line="642" /> <source>Install Packages from 'pyproject.toml'</source> <translation>Установить пакеты из 'pyproject.toml'</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="775" /> - <location filename="../PipInterface/Pip.py" line="701" /> - <location filename="../PipInterface/Pip.py" line="671" /> - <location filename="../PipInterface/Pip.py" line="662" /> - <source>Uninstall Packages</source> - <translation>Деинсталяция пакетов</translation> - </message> - <message> <location filename="../PipInterface/Pip.py" line="776" /> <location filename="../PipInterface/Pip.py" line="702" /> + <location filename="../PipInterface/Pip.py" line="672" /> <location filename="../PipInterface/Pip.py" line="663" /> + <source>Uninstall Packages</source> + <translation>Деинсталяция пакетов</translation> + </message> + <message> + <location filename="../PipInterface/Pip.py" line="777" /> + <location filename="../PipInterface/Pip.py" line="703" /> + <location filename="../PipInterface/Pip.py" line="664" /> <source>Do you really want to uninstall these packages?</source> <translation>Вы действительно хотите деинсталировать эти пакеты?</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="719" /> + <location filename="../PipInterface/Pip.py" line="720" /> <source>Uninstall Packages from Requirements</source> <translation>Деинсталяция пакетов, перечисленных в требованиях</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="758" /> - <location filename="../PipInterface/Pip.py" line="747" /> - <source>Uninstall 'pyproject' Dependencies</source> - <translation>Деинсталировать зависимости 'pyproject'</translation> - </message> - <message> <location filename="../PipInterface/Pip.py" line="759" /> + <location filename="../PipInterface/Pip.py" line="748" /> + <source>Uninstall 'pyproject' Dependencies</source> + <translation>Деинсталировать зависимости 'pyproject'</translation> + </message> + <message> + <location filename="../PipInterface/Pip.py" line="760" /> <source><p>The selected 'pyproject.toml' file could not be read. </p><p>Reason: {0}</p></source> <translation><p>Не удалось прочитать выбранный файл 'project.toml'. </p><p>Причина: {0}</p></translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="786" /> + <location filename="../PipInterface/Pip.py" line="787" /> <source>Uninstall Packages from 'pyproject.toml'</source> <translation>Деинсталировать пакеты из 'pyproject.toml'</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="1197" /> + <location filename="../PipInterface/Pip.py" line="1198" /> <source>Cache Info</source> <translation>Информация о кэше</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="1223" /> - <location filename="../PipInterface/Pip.py" line="1214" /> + <location filename="../PipInterface/Pip.py" line="1224" /> + <location filename="../PipInterface/Pip.py" line="1215" /> <source>List Cached Files</source> <translation>Список кэшированных файлов</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="1215" /> + <location filename="../PipInterface/Pip.py" line="1216" /> <source>Enter a file pattern (empty for all):</source> <translation>Задайте шаблон файлов (пустая строка - все файлы):</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="1247" /> - <location filename="../PipInterface/Pip.py" line="1240" /> + <location filename="../PipInterface/Pip.py" line="1248" /> + <location filename="../PipInterface/Pip.py" line="1241" /> <source>Remove Cached Files</source> <translation>Удалить кэшированные файлы</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="1241" /> + <location filename="../PipInterface/Pip.py" line="1242" /> <source>Enter a file pattern:</source> <translation>Задайте шаблон файла:</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="1272" /> - <location filename="../PipInterface/Pip.py" line="1264" /> + <location filename="../PipInterface/Pip.py" line="1273" /> + <location filename="../PipInterface/Pip.py" line="1265" /> <source>Purge Cache</source> <translation>Очистить кэш</translation> </message> <message> - <location filename="../PipInterface/Pip.py" line="1265" /> + <location filename="../PipInterface/Pip.py" line="1266" /> <source>Do you really want to purge the pip cache? All files need to be downloaded again.</source> <translation>Вы действительно хотите очистить pip-кэш? Все файлы должны быть загружены снова.</translation> </message> @@ -74540,249 +74569,246 @@ </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="166" /> - <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with its defusedxml equivalent function.</source> - <translation>Известно, что использование '{0}' для анализа ненадежных данных XML уязвимо для атак XML. Замените '{0}' его эквивалентной функцией defusedxml.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="172" /> <source>FTP-related functions are being called. FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source> <translation>Вызваны связанные с FTP функции. FTP считается небезопасным. Используйте SSH/SFTP/SCP или другой протокол шифрования.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="177" /> - <source>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</source> - <translation>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="184" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="171" /> <source>By default, Python will create a secure, verified SSL context for use in such classes as HTTPSConnection. However, it still allows using an insecure context via the _create_unverified_context that reverts to the previous behavior that does not validate certificates or perform hostname checks.</source> <translation>По умолчанию Python создаст безопасный проверенный контекст SSL для использования в таких классах, как HTTPSConnection. Но, тем не менее, он все еще позволяет использовать незащищенный контекст через _create_unverified_context, который возвращается к предыдущему поведению, которое не проверяет сертификаты или не выполняет проверки имени хоста.</translation> </message> <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="180" /> + <source>Use of insecure {0} hash function.</source> + <translation>Использование небезопасной хэш-функции {0}.</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="183" /> + <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source> + <translation>Использование небезопасного хэша {0} в целях безопасности. Рассмотрим «usedforsecurity=False».</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="188" /> + <source>A telnet-related module is being imported. Telnet is considered insecure. Use SSH or some other encrypted protocol.</source> + <translation>Импортируется модуль, связанный с telnet. Telnet считается небезопасным. Используйте SSH или другой протокол шифрования.</translation> + </message> + <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="193" /> - <source>Use of insecure {0} hash function.</source> - <translation>Использование небезопасной хэш-функции {0}.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="196" /> - <source>Use of insecure {0} hash for security. Consider 'usedforsecurity=False'.</source> - <translation>Использование небезопасного хэша {0} в целях безопасности. Рассмотрим «usedforsecurity=False».</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="201" /> - <source>A telnet-related module is being imported. Telnet is considered insecure. Use SSH or some other encrypted protocol.</source> - <translation>Импортируется модуль, связанный с telnet. Telnet считается небезопасным. Используйте SSH или другой протокол шифрования.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="206" /> <source>A FTP-related module is being imported. FTP is considered insecure. Use SSH/SFTP/SCP or some other encrypted protocol.</source> <translation>Импортируется модуль, связанный с FTP. FTP считается небезопасным. Используйте SSH/SFTP/SCP или другой протокол шифрования.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="215" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="211" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="202" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="198" /> <source>Consider possible security implications associated with the '{0}' module.</source> <translation>Учитывайте возможные последствия для безопасности, связанные с модулем {0}.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="243" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="237" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="231" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="225" /> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="219" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="230" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="224" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="218" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="212" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="206" /> <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package, or make sure defusedxml.defuse_stdlib() is called.</source> <translation>Известно, что использование '{0}' для анализа ненадежных данных XML уязвимо для атак XML. Замените '{0}' эквивалентным пакетом defusedxml или убедитесь, что вызывается defusedxml.defuse_stdlib ().</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="249" /> - <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package.</source> - <translation>Известно, что использование '{0}' для анализа ненадежных данных XML уязвимо для XML-атак. Замените '{0}' эквивалентным пакетом defusedxml.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="255" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="236" /> <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Use defusedxml.xmlrpc.monkey_patch() function to monkey-patch xmlrpclib and mitigate XML vulnerabilities.</source> <translation>Известно, что использование '{0}' для анализа ненадежных данных XML уязвимо для XML-атак. Используйте функцию defusedxml.xmlrpc.monkey_patch(), чтобы обезопасить xmlrpclib и устранить уязвимости XML.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="261" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="242" /> <source>Consider possible security implications associated with '{0}' module.</source> <translation>Учтитывайте возможные последствия для безопасности, связанные с модулем '{0}'.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="265" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="246" /> <source>The pyCrypto library and its module '{0}' are no longer actively maintained and have been deprecated. Consider using pyca/cryptography library.</source> <translation>Библиотека pyCrypto и ее модуль '{0}' больше не поддерживаются и не рекомендуются к использованию. Подумайте об использовании библиотеки pyca/cryptography.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="271" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="252" /> <source>An IPMI-related module is being imported. IPMI is considered insecure. Use an encrypted protocol.</source> <translation>Импортируется модуль, связанный с IPMI. IPMI считается небезопасным. Используйте зашифрованный протокол.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="277" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="258" /> <source>'requests' call with verify=False disabling SSL certificate checks, security issue.</source> <translation>Вызов 'request' с параметром verify = False отключает проверку SSL-сертификатов, проблема безопасности.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="283" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="264" /> <source>'ssl.wrap_socket' call with insecure SSL/TLS protocol version identified, security issue.</source> <translation>Вызов 'ssl.wrap_socket' с идентификацией небезопасной версии протокола SSL/TLS, проблема безопасности.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="288" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="269" /> <source>'SSL.Context' call with insecure SSL/TLS protocol version identified, security issue.</source> <translation>Вызов 'SSL.Context' с идентификацией небезопасной версии протокола SSL/TLS, проблема безопасности.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="293" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="274" /> <source>Function call with insecure SSL/TLS protocol version identified, security issue.</source> <translation>Вызов функции с идентификацией небезопасной версии протокола SSL/TLS, проблема безопасности.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="298" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="279" /> <source>Function definition identified with insecure SSL/TLS protocol version by default, possible security issue.</source> <translation>Определение функции с идентификацией небезопасной версии протокола SSL/TLS по умолчанию, возможная проблема безопасности.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="303" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="284" /> <source>'ssl.wrap_socket' call with no SSL/TLS protocol version specified, the default 'SSLv23' could be insecure, possible security issue.</source> <translation>Вызов 'ssl.wrap_socket' без указания версии протокола SSL/TLS, по умолчанию 'SSLv23', может быть небезопасным, возможна проблема безопасности.</translation> </message> <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="290" /> + <source>{0} key sizes below {1:d} bits are considered breakable.</source> + <translation>Размеры ключей {0} меньше {1:d} битов считаются разрушаемыми.</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="294" /> + <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source> + <translation>Использование небезопасного 'yaml.load()'. Позволяет создавать экземпляры произвольных объектов. Рассмотрите yaml.safe_load().</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="300" /> + <source>Paramiko call with policy set to automatically trust the unknown host key.</source> + <translation>Вызов Paramiko с установленной политикой автоматического доверия неизвестному ключу хоста.</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="305" /> + <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source> + <translation>Использование SNMPv1 и SNMPv2 небезопасно. По возможности следует использовать SNMPv3.</translation> + </message> + <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="309" /> - <source>{0} key sizes below {1:d} bits are considered breakable.</source> - <translation>Размеры ключей {0} меньше {1:d} битов считаются разрушаемыми.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="313" /> - <source>Use of unsafe 'yaml.load()'. Allows instantiation of arbitrary objects. Consider 'yaml.safe_load()'.</source> - <translation>Использование небезопасного 'yaml.load()'. Позволяет создавать экземпляры произвольных объектов. Рассмотрите yaml.safe_load().</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="319" /> - <source>Paramiko call with policy set to automatically trust the unknown host key.</source> - <translation>Вызов Paramiko с установленной политикой автоматического доверия неизвестному ключу хоста.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="324" /> - <source>The use of SNMPv1 and SNMPv2 is insecure. You should use SNMPv3 if possible.</source> - <translation>Использование SNMPv1 и SNMPv2 небезопасно. По возможности следует использовать SNMPv3.</translation> + <source>You should not use SNMPv3 without encryption. noAuthNoPriv & authNoPriv is insecure.</source> + <translation>Вы не должны использовать SNMPv3 без шифрования. noAuthNoPriv и authNoPriv небезопасны.</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="315" /> + <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source> + <translation>Возможно введение оболочки через вызов 'Paramiko', проверьте правильность санации входов.</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="320" /> + <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source> + <translation>Вызов 'subprocess' с параметром shell=True кажется безопасным, но может быть изменен в будущем, подумайте о перезаписи без shell</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="325" /> + <source>'subprocess' call with shell=True identified, security issue.</source> + <translation>Идентифицирован вызов 'subprocess' с параметром shell = True, проблема безопасности.</translation> </message> <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="328" /> - <source>You should not use SNMPv3 without encryption. noAuthNoPriv & authNoPriv is insecure.</source> - <translation>Вы не должны использовать SNMPv3 без шифрования. noAuthNoPriv и authNoPriv небезопасны.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="334" /> - <source>Possible shell injection via 'Paramiko' call, check inputs are properly sanitized.</source> - <translation>Возможно введение оболочки через вызов 'Paramiko', проверьте правильность санации входов.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="339" /> - <source>'subprocess' call with shell=True seems safe, but may be changed in the future, consider rewriting without shell</source> - <translation>Вызов 'subprocess' с параметром shell=True кажется безопасным, но может быть изменен в будущем, подумайте о перезаписи без shell</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="344" /> - <source>'subprocess' call with shell=True identified, security issue.</source> - <translation>Идентифицирован вызов 'subprocess' с параметром shell = True, проблема безопасности.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="347" /> <source>'subprocess' call - check for execution of untrusted input.</source> <translation>вызов 'subprocess' - проверка выполнения ненадежного ввода.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="350" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="331" /> <source>Function call with shell=True parameter identified, possible security issue.</source> <translation>Идентифицирован вызов функции с параметром shell = True, возможна проблема безопасности.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="355" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="336" /> <source>Starting a process with a shell: Seems safe, but may be changed in the future, consider rewriting without shell</source> <translation>Запуск процесса с shell: кажется безопасным, но в будущем может быть изменен, подумайте о переписывании без shell</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="360" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="341" /> <source>Starting a process with a shell, possible injection detected, security issue.</source> <translation>Запуск процесса с shell, обнаружение возможного внедрения, проблема безопасности.</translation> </message> <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="346" /> + <source>Starting a process without a shell.</source> + <translation>Запуск процесса без shell.</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="349" /> + <source>Starting a process with a partial executable path.</source> + <translation>Запуск процесса с частичным исполняемым путем.</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="353" /> + <source>Possible SQL injection vector through string-based query construction.</source> + <translation>Возможный вектор внедрения SQL через построение строки на основе запроса.</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="358" /> + <source>Possible wildcard injection in call: {0}</source> + <translation>Возможно введение символа подстановки при вызове: {0}</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="362" /> + <source>Use of 'extra()' opens a potential SQL attack vector.</source> + <translation>Использование 'extra()' открывает потенциальный вектор атаки SQL.</translation> + </message> + <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="365" /> - <source>Starting a process without a shell.</source> - <translation>Запуск процесса без shell.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="368" /> - <source>Starting a process with a partial executable path.</source> - <translation>Запуск процесса с частичным исполняемым путем.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="372" /> - <source>Possible SQL injection vector through string-based query construction.</source> - <translation>Возможный вектор внедрения SQL через построение строки на основе запроса.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="377" /> - <source>Possible wildcard injection in call: {0}</source> - <translation>Возможно введение символа подстановки при вызове: {0}</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="381" /> - <source>Use of 'extra()' opens a potential SQL attack vector.</source> - <translation>Использование 'extra()' открывает потенциальный вектор атаки SQL.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="384" /> <source>Use of 'RawSQL()' opens a potential SQL attack vector.</source> <translation>Использование 'RawSQL()' открывает потенциальный вектор атаки SQL.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="388" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="369" /> <source>Use of insecure logging.config.listen() detected.</source> <translation>Обнаружено использование небезопасной функции logging.config.listen().</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="393" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="374" /> <source>The Python source file contains bidirectional control characters ({0}).</source> <translation>Исходный файл Python содержит двунаправленные управляющие символы ({0}).</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="398" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="379" /> <source>Use of unsafe PyTorch load or save.</source> <translation>Использование небезопасной загрузки или сохранения PyTorch.</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="402" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="383" /> <source>Using jinja2 templates with 'autoescape=False' is dangerous and can lead to XSS. Use 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source> <translation>Использование шаблонов jinja2 с 'autoescape=False' опасно и может привести к XSS. Используйте 'autoescape=True' или используйте функцию 'select_autoescape' для устранения уязвимостей XSS.</translation> </message> <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="389" /> + <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source> + <translation>По умолчанию jinja2 устанавливает для 'autoescape' значение False. Рекомендуется использовать 'autoescape=True' или использовать функцию 'select_autoescape' для устранения уязвимостей XSS.</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="396" /> + <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source> + <translation>Шаблоны Mako разрешают рендеринг HTML/JS по умолчанию и по своей природе открыты для атак XSS. Убедитесь, что переменные во всех шаблонах должным образом очищены с помощью флагов 'n', 'h' или 'x' (в зависимости от контекста). Например, для экранирования HTML используйте переменную 'data', выполните ${{ data |h }}.</translation> + </message> + <message> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="404" /> + <source>Potential XSS on 'mark_safe()' function.</source> + <translation>Потенциальный XSS на функцию 'mark_safe()'.</translation> + </message> + <message> <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="408" /> - <source>By default, jinja2 sets 'autoescape' to False. Consider using 'autoescape=True' or use the 'select_autoescape' function to mitigate XSS vulnerabilities.</source> - <translation>По умолчанию jinja2 устанавливает для 'autoescape' значение False. Рекомендуется использовать 'autoescape=True' или использовать функцию 'select_autoescape' для устранения уязвимостей XSS.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="415" /> - <source>Mako templates allow HTML/JS rendering by default and are inherently open to XSS attacks. Ensure variables in all templates are properly sanitized via the 'n', 'h' or 'x' flags (depending on context). For example, to HTML escape the variable 'data' do ${{ data |h }}.</source> - <translation>Шаблоны Mako разрешают рендеринг HTML/JS по умолчанию и по своей природе открыты для атак XSS. Убедитесь, что переменные во всех шаблонах должным образом очищены с помощью флагов 'n', 'h' или 'x' (в зависимости от контекста). Например, для экранирования HTML используйте переменную 'data', выполните ${{ data |h }}.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="423" /> - <source>Potential XSS on 'mark_safe()' function.</source> - <translation>Потенциальный XSS на функцию 'mark_safe()'.</translation> - </message> - <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="427" /> <source>Possible hardcoded AWS access key ID: {0}</source> <translation>Возможный жестко закодированный идентификатор ключа доступа AWS: {0}</translation> </message> <message> - <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="430" /> + <location filename="../Plugins/CheckerPlugins/CodeStyleChecker/Security/translations.py" line="411" /> <source>Possible hardcoded AWS secret access key: {0}</source> <translation>Возможный жестко закодированный секретный ключ доступа AWS: {0}</translation> </message> + <message> + <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with its defusedxml equivalent function.</source> + <translation type="vanished">Известно, что использование '{0}' для анализа ненадежных данных XML уязвимо для атак XML. Замените '{0}' его эквивалентной функцией defusedxml.</translation> + </message> + <message> + <source>The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</source> + <translation type="vanished">The input method in Python 2 will read from standard input, evaluate and run the resulting string as Python source code. This is similar, though in many ways worse, than using eval. On Python 2, use raw_input instead, input is safe in Python 3.</translation> + </message> + <message> + <source>Using '{0}' to parse untrusted XML data is known to be vulnerable to XML attacks. Replace '{0}' with the equivalent defusedxml package.</source> + <translation type="vanished">Известно, что использование '{0}' для анализа ненадежных данных XML уязвимо для XML-атак. Замените '{0}' эквивалентным пакетом defusedxml.</translation> + </message> </context> <context> <name>SecurityPage</name>