diff --git a/options/locale/locale_pt-PT.ini b/options/locale/locale_pt-PT.ini
index 07c0c85206..b337343a14 100644
--- a/options/locale/locale_pt-PT.ini
+++ b/options/locale/locale_pt-PT.ini
@@ -933,6 +933,7 @@ delete_preexisting=Eliminar ficheiros pré-existentes
 delete_preexisting_content=Eliminar ficheiros em %s
 delete_preexisting_success=Eliminados os ficheiros não adoptados em %s
 blame_prior=Ver a responsabilização anterior a esta modificação
+author_search_tooltip=Mostra um máximo de 30 utilizadores
 
 transfer.accept=Aceitar transferência
 transfer.accept_desc=`Transferir para "%s"`
@@ -2307,6 +2308,7 @@ release.tag_helper=Escolha uma etiqueta existente ou crie uma nova.
 release.tag_helper_new=Nova etiqueta. Esta etiqueta será criada a partir do destino.
 release.tag_helper_existing=Etiqueta existente.
 release.title=Título
+release.title_empty=O título não pode estar vazio.
 release.content=Conteúdo
 release.prerelease_desc=Marcar como pré-lançamento
 release.prerelease_helper=Marcar este lançamento como inadequado para uso em produção.
diff --git a/options/locale/locale_ru-RU.ini b/options/locale/locale_ru-RU.ini
index e1f79bac2e..49f8e44ae1 100644
--- a/options/locale/locale_ru-RU.ini
+++ b/options/locale/locale_ru-RU.ini
@@ -56,6 +56,7 @@ new_mirror=Новое зеркало
 new_fork=Новый форк репозитория
 new_org=Новая организация
 new_project=Новый проект
+new_project_column=Новый столбец
 manage_org=Управление организациями
 admin_panel=Панель управления
 account_settings=Настройки аккаунта
@@ -108,8 +109,13 @@ never=Никогда
 rss_feed=RSS-лента
 
 [aria]
+navbar=Панель навигации
+footer=Подвал
+footer.links=Ссылки
 
 [filter]
+string.asc=A - Я
+string.desc=Я - А
 
 [error]
 occurred=Произошла ошибка
@@ -235,6 +241,7 @@ default_enable_timetracking_popup=Включить отслеживание вр
 no_reply_address=Скрытый почтовый домен
 no_reply_address_helper=Доменное имя для пользователей со скрытым адресом электронной почты. Например, имя пользователя 'joe' будет зарегистрировано в Git как 'joe@noreply.example.org' если скрытый домен электронной почты установлен как 'noreply.example.org'.
 password_algorithm=Алгоритм хеширования пароля
+invalid_password_algorithm=Некорректный алгоритм хеширования пароля
 
 [home]
 uname_holder=Имя пользователя / Адрес эл. почты
@@ -350,6 +357,7 @@ password_pwned_err=Не удалось завершить запрос к HaveIB
 
 [mail]
 view_it_on=Посмотреть на %s
+reply=или ответьте на это письмо
 link_not_working_do_paste=Не работает? Попробуйте скопировать и вставить в ваш браузер.
 hi_user_x=Привет <b>%s</b>,
 
@@ -408,6 +416,7 @@ repo.transfer.body=Для того чтобы принять или отклон
 repo.collaborator.added.subject=%s добавил(а) вас в %s
 repo.collaborator.added.text=Вы были добавлены в качестве соавтора репозитория:
 
+team_invite.subject=%[1] приглашает вас присоединиться к организации %[2]
 
 [modal]
 yes=Да
@@ -500,6 +509,7 @@ activity=Активность
 followers=Подписчики
 starred=Избранные репозитории
 watched=Отслеживаемые репозитории
+code=Код
 projects=Проекты
 following=Подписки
 follow=Подписаться
@@ -1132,6 +1142,7 @@ projects.template.desc_helper=Выберите шаблон проекта дл
 projects.type.uncategorized=Без категории
 projects.column.edit_title=Название
 projects.column.new_title=Название
+projects.column.new=Новый столбец
 projects.column.color=Цвет
 projects.open=Открыть
 projects.close=Закрыть
@@ -1212,6 +1223,7 @@ issues.filter_milestone_no_select=Все этапы
 issues.filter_project_none=Нет проекта
 issues.filter_assignee=Назначено
 issues.filter_assginee_no_select=Все назначения
+issues.filter_poster=Автор
 issues.filter_type=Тип
 issues.filter_type.all_issues=Все задачи
 issues.filter_type.assigned_to_you=Назначено вам
@@ -1520,6 +1532,7 @@ pulls.update_branch_rebase=Обновить ветку через rebase
 pulls.update_branch_success=Обновление ветки выполнено успешно
 pulls.update_not_allowed=У вас недостаточно прав для обновления ветки
 pulls.outdated_with_base_branch=Эта ветка отстает от базовой ветки
+pulls.close=Закрыть запрос на слияние
 pulls.closed_at=`закрыл этот запрос на слияние <a id="%[1]s" href="#%[1]s">%[2]s</a>`
 pulls.reopened_at=`переоткрыл этот запрос на слияние <a id="%[1]s" href="#%[1]s">%[2]s</a>`
 pulls.merge_instruction_hint=`Вы также можете просмотреть инструкции <a class="show-instruction">командной строки</a>.`
@@ -1900,7 +1913,10 @@ settings.web_hook_name_feishu_or_larksuite=Feishu / Lark Suite
 settings.web_hook_name_feishu=Feishu
 settings.web_hook_name_larksuite=Lark Suite
 settings.web_hook_name_wechatwork=WeCom (Wechat Work)
+settings.web_hook_name_packagist=Packagist
+settings.packagist_username=Имя пользователя Packagist
 settings.packagist_api_token=Токен API
+settings.packagist_package_url=Ссылка на пакет Packagist
 settings.deploy_keys=Ключи развёртывания
 settings.add_deploy_key=Добавить ключ развёртывания
 settings.deploy_key_desc=Ключи развёртывания предоставляют доступ к репозиторию только для чтения.
@@ -2096,6 +2112,7 @@ release.tag_name=Имя тега
 release.target=Цель
 release.tag_helper=Выберите существующий тег, или создайте новый.
 release.title=Заголовок
+release.title_empty=Заголовок не может быть пустым.
 release.content=Содержимое
 release.prerelease_desc=Это предварительный релиз
 release.prerelease_helper=Отдельно отметим, что этот релиз не готов к использованию в продакшене.
@@ -2153,6 +2170,7 @@ branch.renamed=Ветка %s была переименована в %s.
 tag.create_tag=Создать тег <strong>%s</strong>
 tag.create_tag_operation=Создать тег
 tag.confirm_create_tag=Создать тег
+tag.create_tag_from=Создать новый тег из '%s'
 
 tag.create_success=Тег '%s' был создан.
 
@@ -2161,6 +2179,7 @@ topic.done=Сохранить
 topic.count_prompt=Вы не можете выбрать более 25 тем
 topic.format_prompt=Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
+find_file.go_to_file=Перейти к файлу
 
 error.csv.too_large=Не удается отобразить этот файл, потому что он слишком большой.
 error.csv.unexpected=Не удается отобразить этот файл, потому что он содержит неожиданный символ в строке %d и столбце %d.
@@ -2174,6 +2193,7 @@ create_org=Создать организацию
 repo_updated=Обновлено
 members=Участники
 teams=Команды
+code=Код
 lower_members=Участники
 lower_repositories=Репозитории
 create_new_team=Создание команды
@@ -2255,6 +2275,7 @@ teams.members=Члены группы разработки
 teams.update_settings=Обновить настройки
 teams.delete_team=Удалить команду
 teams.add_team_member=Добавление члена группы разработки
+teams.invite_team_member=Пригласить в %s
 teams.delete_team_title=Удалить команду
 teams.delete_team_desc=Удаление команды отменяет доступ к репозиторию для её членов. Продолжить?
 teams.delete_team_success=Команда удалена.
@@ -2403,6 +2424,7 @@ users.update_profile=Обновить профиль пользователя
 users.delete_account=Удалить эту учётную запись
 users.still_own_repo=Этот пользователь всё ещё является владельцем одного или более репозиториев. Сначала удалите или передайте эти репозитории.
 users.still_has_org=Этот пользователь всё ещё является членом одной или более организаций. Сначала удалите пользователя из всех организаций.
+users.purge=Удалить пользователя
 users.purge_help=Принудительное удаление пользователя и любых репозиториев, организаций и пакетов, принадлежащих пользователю. Комментарии тоже будут удалены.
 users.deletion_success=Учётная запись успешно удалена.
 users.reset_2fa=Сброс 2FA
@@ -2450,6 +2472,7 @@ repos.forks=Форки
 repos.issues=Задачи
 repos.size=Размер
 
+packages.package_manage_panel=Управление пакетами
 packages.owner=Владелец
 packages.creator=Автор
 packages.name=Наименование
@@ -2504,6 +2527,7 @@ auths.restricted_filter_helper=Оставьте пустым, чтобы не н
 auths.group_search_base=Поисковая база групп DN
 auths.group_attribute_list_users=Атрибут группы, содержащий список пользователей
 auths.user_attribute_in_group=Атрибут пользователя в группе
+auths.enable_ldap_groups=Включить группы LDAP
 auths.ms_ad_sa=Атрибуты поиска MS AD
 auths.smtp_auth=Тип аутентификации SMTP
 auths.smtphost=Узел SMTP
@@ -2645,14 +2669,19 @@ config.queue_length=Длина очереди
 config.deliver_timeout=Задержка доставки
 config.skip_tls_verify=Пропустить проверку TLS
 
+config.mailer_config=Настройки почты
 config.mailer_enabled=Почта включена
+config.mailer_enable_helo=Включить HELO
 config.mailer_name=Имя
+config.mailer_protocol=Протокол
+config.mailer_smtp_addr=Адрес SMTP
 config.mailer_smtp_port=SMTP-порт
 config.mailer_user=Пользователь
 config.mailer_use_sendmail=Использовать Sendmail
 config.mailer_sendmail_path=Путь к Sendmail
 config.mailer_sendmail_args=Дополнительные аргументы для Sendmail
 config.mailer_sendmail_timeout=Тайм-аут Sendmail
+config.mailer_use_dummy=Заглушка
 config.test_email_placeholder=Электронная почта (например, test@example.com)
 config.send_test_mail=Отправить тестовое письмо
 config.test_mail_failed=Не удалось отправить тестовое письмо на «%s»: %v
@@ -2705,6 +2734,8 @@ config.access_log_template=Шаблон
 config.xorm_log_mode=Режим журнала XORM
 config.xorm_log_sql=Лог SQL
 
+config.get_setting_failed=Получить параметр %s не удалось
+config.set_setting_failed=Задать параметр %s не удалось
 
 monitor.cron=Задачи cron
 monitor.name=Название
@@ -2713,6 +2744,7 @@ monitor.next=Следующий раз
 monitor.previous=Предыдущий раз
 monitor.execute_times=Количество выполнений
 monitor.process=Запущенные процессы
+monitor.stacktrace=Трассировки стека
 monitor.goroutines=%d горутин
 monitor.desc=Описание
 monitor.start=Время начала
@@ -2729,6 +2761,7 @@ monitor.queue.type=Тип
 monitor.queue.exemplar=Тип образца
 monitor.queue.numberworkers=Количество рабочих
 monitor.queue.maxnumberworkers=Максимальное количество рабочих
+monitor.queue.numberinqueue=Позиция в очереди
 monitor.queue.review=Просмотр конфигурации
 monitor.queue.review_add=Обзор/Добавить Рабочих
 monitor.queue.configuration=Начальная конфигурация
@@ -2864,6 +2897,7 @@ pin=Прикрепить уведомление
 mark_as_read=Отметить как прочитанное
 mark_as_unread=Пометить как непрочитанное
 mark_all_as_read=Пометить все как прочитанные
+subscriptions=Подписки
 
 [gpg]
 default_key=Подписано ключом по умолчанию
@@ -2882,28 +2916,64 @@ error.unit_not_allowed=У вас нет доступа к этому разде
 title=Пакеты
 desc=Управление пакетами репозитория.
 empty=Пока нет пакетов.
+empty.repo=Вы загрузили пакет, но он здесь не отображается? Перейдите в <a href="%[1]s">настройки пакета</a> и свяжите его с этим репозиторием.
 filter.type=Тип
 filter.type.all=Все
 filter.no_result=Фильтр не дал результатов.
+published_by=Опубликовано %[1]s <a href="%[2]s">%[3]s</a>
+published_by_in=Опубликовано %[1]s <a href="%[2]s">%[3]s</a> в <a href="%[4]s"><strong>%[5]s</strong></a>
 installation=Установка
 about=Об этом пакете
 requirements=Требования
 dependencies=Зависимости
+keywords=Ключевые слова
+details=Подробнее
+details.author=Автор
+details.project_site=Сайт проекта
+details.license=Лицензия
+versions=Версии
+versions.on=вкл
+versions.view_all=Показать всё
 dependency.version=Версия
+chef.install=Чтобы установить пакет, выполните следующую команду:
 composer.install=Чтобы установить пакет с помощью Composer, выполните следующую команду:
+composer.documentation=Для получения дополнительной информации о реестре Composer смотрите <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/composer/">документацию</a>.
 composer.dependencies=Зависимости
 conan.details.repository=Репозиторий
+conan.registry=Настроить реестр из командной строки:
 conan.install=Чтобы установить пакет с помощью Conan, выполните следующую команду:
+container.details.type=Тип образа
+container.digest=Отпечаток:
 container.multi_arch=ОС / архитектура
 container.labels=Метки
 container.labels.key=Ключ
 container.labels.value=Значение
 generic.documentation=Для получения дополнительной информации об общем реестре смотрите <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/generic">документацию</a>.
+helm.registry=Настроить реестр из командной строки:
+helm.install=Чтобы установить пакет, выполните следующую команду:
+helm.documentation=Для получения дополнительной информации о реестре Helm смотрите <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/helm/">документацию</a>.
+nuget.registry=Настроить реестр из командной строки:
+nuget.documentation=Для получения дополнительной информации о реестре NuGet смотрите <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/nuget/">документацию</a>.
 npm.dependencies=Зависимости
+npm.dependencies.peer=Одноранговые зависимости
+npm.dependencies.optional=Необязательные зависимости
+npm.details.tag=Тег
+pypi.requires=Требуется Python
+pypi.documentation=Для получения дополнительной информации о реестре PyPI смотрите <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/pypi/">документацию</a>.
+rubygems.install=Чтобы установить пакет с помощью gem, выполните следующую команду:
+rubygems.install2=или добавьте его в Gemfile:
 rubygems.required.ruby=Требуется версия Ruby
 rubygems.required.rubygems=Требуется версия RubyGem
+rubygems.documentation=Для получения дополнительной информации о реестре RubyGems смотрите <a target="_blank" rel="noopener noreferrer" href="https://docs.gitea.io/en-us/packages/rubygems/">документацию</a>.
+swift.registry=Настроить реестр из командной строки:
+settings.link=Связать этот пакет с репозиторием
+settings.link.description=Если связать пакет с репозиторием, он добавится в список пакетов репозитория.
+settings.link.select=Выберите репозиторий
 settings.link.button=Обновить ссылку на репозиторий
+settings.link.success=Связь с репозиторием успешно обновлена.
+settings.link.error=Не удалось обновить привязку к репозиторию.
 settings.delete=Удалить пакет
+settings.delete.description=Удаление пакета необратимо и не может быть отменено.
 settings.delete.notice=Вы собираетесь удалить %s (%s). Эта операция необратима, вы уверены?
 settings.delete.success=Пакет был удалён.
 settings.delete.error=Не удалось удалить пакет.