Языковая папка: куда на самом деле кладутся моды
Все моды для Доты живут в папке, названной по языку. Какая именно - решает файл настроек игры, а не параметр запуска, и это поменялось 24 июля 2026 года.
Проверено
Откуда берётся имя папки
В путях поиска Доты есть запись с подстановкой языка, и при старте движок подставляет туда настоящее значение. Какое бы оно ни было, папка game/dota_<значение> монтируется, и всё, что в ней лежит, грузится поверх игровых архивов. На этом механизме и держатся моды. Ничего не патчится и никуда не внедряется: в папку, куда движок и так смотрит, добавляется ещё один архив.
Языка два, а не один
Июльский патч 2026 года разделил настройку надвое и перенёс обе в game/dota/cfg/boot.vcfg:
"boot"
{
"UILanguage" "russian"
"AudioLanguage" "russian"
}Здесь важен AudioLanguage. Именно его движок подставляет в путь поиска, поэтому смена языка озвучки просит перезапуск, а смена языка интерфейса нет. Текст интерфейса лежит в игровом pak01 сразу на всех языках, и своей папки у него никогда не было.
Почему -language mods перестал работать
Старый трюк держался на том, что аргумент принимал что угодно. Ты писал -language mods или -language tempcontent, движок подставлял это слово в путь поиска, и появлялась папка, куда можно было спрятать моды подальше от настоящих языковых. Теперь слово, которого Дота не знает как язык, не даёт ничего. Папка не создаётся, не монтируется, и моды в ней не грузятся.
Аргумент работает и язык по-прежнему ставит. Он просто больше не выдумывает папку. Каждый гайд, который до сих пор учит этому шагу, отправляет людей в каталог, который игра никогда не откроет, и это самая частая причина, по которой правильно поставленный мод ничего не делает.
Что со всем этим делает параметр запуска
-language в параметрах запуска Steam стоит выше настройки в boot.vcfg. Это измерено, а не предположено: на машине с -language dutch и записанным в boot.vcfg AudioLanguage russian игра смонтировала dota_dutch и dota_russian не открыла вовсе. В консольном логе перечислено смонтированное, и русской папки там нет.
Порядок такой: -language с настоящим языком Доты побеждает всё; если его нет, решает AudioLanguage из boot.vcfg; а -language с выдуманным словом не решает ничего, потому что папку по нему движок не смонтирует. Ещё параметр блокирует обе языковые настройки, пока стоит, поэтому язык текста перестаёт меняться в самой игре.
Именно этим пользуются другие инструменты для модов: ставят язык, на котором никто не играет, наполняют названную им папку и возвращают английский текст отдельным архивом. Это работает, и поэтому мод, положенный в папку по языку твоей озвучки, всё равно может ничего не делать. Приложение читает параметр запуска и ставит моды в ту папку, которую игра действительно смонтирует.
Как найти свою папку
- Открой папку игрыSteam, правой кнопкой по Dota 2, «Управление», «Просмотреть локальные файлы», дальше в
game. - Сначала посмотри параметры запускаSteam, правой кнопкой по Dota 2, «Свойства». Если там есть
-language что-то, решает он, и папка этоdota_что-то. - Параметра нет - читай boot.vcfgТекстовый файл в
game/dota/cfg/. Ответ это AudioLanguage, и папка та, что совпадает с ним.
Ни одной папки dota_ нет? Значит озвучка английская, а для неё Valve папку не поставляет: английская речь лежит внутри базовой игры. Создать папку самому тоже нельзя, а переключение озвучки на русскую, корейскую или китайскую английских голосов тебя не лишает. Весь случай целиком.
Программа делает это за тебя и показывает папку, в которую пишет. В первый раз туда стоит взглянуть.
Если сменить язык озвучки
Игра начинает монтировать другую папку, а все поставленные моды остаются в старой. Ничего не пропало и не сломалось, игра просто смотрит в другое место. Программа умеет перенести моды, когда это замечает; руками это перенос файлов pakNN в новую папку.
Четыре языка озвучки, три папки
Реплики героев Дота записывает на четырёх языках: английский, русский, китайский и корейский. У трёх из них есть папка в каталоге игры - dota_russian, dota_schinese, dota_koreana. У английского её нет, потому что английская речь и так лежит в самой игре. Все остальные языки Доты, нидерландский, немецкий и прочие, это только текст: озвучки за ними нет, поэтому и папки Valve для них не кладёт.
Эти три папки есть на диске у каждого, у кого установлена Дота, независимо от того, качал он когда-нибудь эту озвучку или нет. На этой детали держится всё остальное на странице.
Язык в Steam и язык озвучки в игре - две разные настройки
Язык в свойствах Доты в Steam решает, какая озвучка лежит у тебя на диске. Язык озвучки внутри игры решает, какую из них играть. Разные места, разные задачи, и совпадать они не обязаны.
Steam держит ровно одну озвучку. Выбрал русский в свойствах - скачалась русская речь; выбрал потом корейский - русская удалилась, скачалась корейская. И так гигабайты туда и обратно каждый раз. Английский не качает ничего, он и так в игре, поэтому переключение свойств на английский это способ удалить ту озвучку, которая у тебя была.
А если игре сказали играть озвучку, которой на диске нет, она откатывается на английскую. Ничего не сломано и ничего не пропало: английский это основа, поверх которой лежит всё остальное.
Что с этим делает приложение
Ставит язык озвучки внутри игры на один из трёх, у которых есть папка, и кладёт моды в эту папку. У того, у кого в Steam стоит английский, эта озвучка никогда не качалась, поэтому папка монтируется, не неся ничего кроме модов, а речь остаётся английской - это откат по умолчанию. На слух ничего не меняется. Язык текста остаётся тот, который ты выбрал.
Ни параметра запуска, ни папки, созданной руками, ни отдельного архива, чтобы отменить побочный эффект. Это собственная настройка игры, использованная по назначению.
Почему параметр запуска - путь хуже
Настоящий язык параметром работает: -language dutch ставит текст на нидерландский, речь оставляет английской и монтирует dota_dutch. Так учат старые гайды и так до сих пор делают некоторые инструменты. Вместе с этим приезжает три вещи.
- Папки не существует. Её надо создать и положить внутрь свой
gameinfo.gi, скопированный из настоящей языковой папки. - Обе языковые настройки блокируются, пока параметр стоит. Меню внутри игры их обратно не поменяет, поэтому вернуть английский текст можно только положив в эту папку архив с английской локализацией.
- Программе, которая всё это настраивает, приходится писать в конфигурационные файлы самого Steam.
И ещё то, что Valve сделали в июле. Папки, выдуманные из ничего, монтироваться перестали. Языки без собственной озвучки - самое близкое к выдуманной папке, что осталось, а три языка с озвучкой игра обязана монтировать, иначе этой озвучке негде звучать. Держаться этих трёх ничего не стоит и ничего не просит у Steam.
Вопросы
- На каких языках у Доты есть озвучка?
- На четырёх, и этот список никак не связан с двадцатью девятью языками перевода интерфейса. Папка есть у трёх:
dota_russian,dota_koreana,dota_schinese. Английский четвёртый, и папки у него нет, потому что английская речь лежит внутри базовой игры. Что делать, если озвучка английская. - Можно ли всё-таки держать моды в отдельной папке?
- Придумав ей имя - нет. Моды кладутся в ту языковую папку, которую игра и так монтирует, в свои слоты pak. Это то, что делает программа.
- Надо ли править gameinfo.gi?
- Нет. Гайды, которые учат его править, заходят к той же проблеме с другой стороны, и менять файл, который клиент проверяет, - обмен хуже, чем воспользоваться папкой, которая и так работает.