BROKE PROTOCOL

BROKE PROTOCOL

Not enough ratings
Vehicle Names
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
13.312 KB
10 Aug, 2024 @ 6:10am
1 Change Note ( view )

Subscribe to download
Vehicle Names

Description
Vehicle Names

This useful API will allow you to translate any vehicle name in any of the languages available in the game.
It comes with a default english file containing all the default vehicles names. You can easily add more names to it to add names to modded vehicles.

Add names or languages
First of all, you can download any ai-generated language file[drive.google.com]. They contain translated names for the default vehicles. Some translations may be incorrect.

Translations are located in Plugins/Settings/VehicleNames/{languageCode}.json where {languageCode} is the 2 letters language code (eg: en.json, fr.json, ru.json, de.json, etc...)

To add a new language, create a json file in the VehicleNames folder, the name must always be the language code.
To add a vehicle to the list, they must follow the format "vehicleName": "Translated Name" (example: en.json: "UnisharkPimpMobile": "Pimp Mobile" - fr.json: "UnisharkPimpMobile": "Voiture de Pimp")

API
If you want your plugin to display pretty names or translated names, you can reference !0VehicleNames.dll in your plugin.
The returned name fallback order is: Name in the requested language > Name in English > vehicleName

Here is a list of the exposed methods:
  • GetVehicleName(string vehicleName, string languageCode = "en") // Get the translated name of a vehicle by its name, in the given language
  • GetVehicleName(this ShTransport transport, string languageCode = "en") // Get the translated name of a vehicle by its entity, in the given language
  • TranslateVehicleName(this ShPlayer player, string vehicleName) // Get the translated name of a vehicle by its name, in the player's language
  • TranslateVehicleName(this ShPlayer player, ShTransport transport) // Get the translated name of a vehicle by its entity, in the player's language

Example of code:
// ... using VehicleNames; namespace ExamplePlugin { public class Commands : IScript { public Commands() { CommandHandler.RegisterCommand("GetVehicleName", new Action<ShPlayer, string, string>(GetVehicleName), permission: "test"); CommandHandler.RegisterCommand("GetMyVehicleName", new Action<ShPlayer, string>(GetMyVehicleName), permission: "test"); } // Get the name of vehicleName in the given language and the player's language public GetVehicleName(ShPlayer player, string vehicleName, string languageCode = "en") { string requestedName = VehicleNames.API.GetVehicleName(vehicleName, languageCode); string translatedName = player.TranslateVehicleName(vehicleName); player.svPlayer.SendGameMessage($"Name for language {languageCode}: {requestedName}, Name in your language: {translatedName}"); } // Get the name of the player's current vehicle in the given language and the player's language public GetMyVehicleName(ShPlayer player, string languageCode = "en") { if (player.curMount is ShTransport transport) { string requestedName = transport.GetVehicleName(languageCode); string translatedName = player.TranslateVehicleName(transport); player.svPlayer.SendGameMessage($"Name for language {languageCode}: {requestedName}, Name in your language: {translatedName}"); } } } }