HotoCocoaco / sm-map-translator

Sourcemod plugin for No More Room in Hell and Zombie Panic Source that allows map objectives and other miscellaneous text to be translated via auto-generated configs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

4150650 (1)

[SM] Map Translator

Translates map texts via translation files, allowing players to see messages in their preferred language.

The following texts are supported:

Installation

Usage

  • Navigate to cfg/sourcemod and open plugin.map-translator.cfg

    Note: it's plugin.nmrih-map-translator.cfg in NMRiH for backward compatibility

  • Set mt_autolearn_langs to a space-separated list of language codes you wish to generate translations for.

     // Example for English, Spanish and Korean
     mt_autolearn_langs "en es ko"

    Note: You can see the full list of language codes at addons/sourcemod/configs/languages.cfg

  • The plugin will now create translation files for maps as they're loaded. They're stored in addons/sourcemod/translations/_maps

     "Phrases"
     {
     	"edf566344eb9f2cb892e073e70c70181"
     	{
     		"en"		"Destroy the puppet"
     		"es"		"Destroy the puppet"
     		"ko"		"Destroy the puppet"
     	}
     }

    You can then edit these files to change the message printed for each language.

     "Phrases"
     {
     	"edf566344eb9f2cb892e073e70c70181"
     	{
     		"en"		"Get rid of the puppet"
     		"es"		"Destruye la marioneta"
     		"ko"		"인형을 파괴해"
     	}
     }

Commands

Command Description Required Flags
mt_forcelang Forces perceived language to a given language code. ADMFLAG_ROOT
mt_bulk_learn_nmo Generate translations for all .nmo files in NMRiH without loading the maps. ADMFLAG_ROOT
mt_force_export Force export learned translations immediately. ADMFLAG_ROOT
mt_debug_clients Print perceived language code for each client. ADMFLAG_ROOT

CVars

CVars are read from cfg/sourcemod/plugin.map-translator.cfg

ConVar Description Default Value
mt_ignore_numerical Don't translate or learn fully numerical messages such as codes, countdowns, etc. 1
mt_autolearn_langs Space-separated list of language entries to include in auto generated translation files, for example: en es ko en
mt_fallback_lang Clients whose language is not translated will see messages in this language en
mt_extended_learning Whether the game will learn text entities that have been modified during gameplay. This can improve detection on maps with VScript, but it can also increase memory usage and the size of the generated translation file 0

Notes

  • You must escape quotes with a backslash (\) to prevent parsing errors.

     // Example 
     "en" "Destroy \"Robert\" the puppet"
  • This plugin is incompatible with Multilingual Objectives and Multilingual Objective Beta.

  • You are not expected to manually add new entries, only edit existing — if a specific text is not getting picked up, please create an issue. However, nothing will break if you do, the section name (e.g. edf566344eb9f2cb892e073e70c70181) is just an MD5 hash of the original text.

About

Sourcemod plugin for No More Room in Hell and Zombie Panic Source that allows map objectives and other miscellaneous text to be translated via auto-generated configs

License:GNU General Public License v3.0


Languages

Language:SourcePawn 100.0%