> For the complete documentation index, see [llms.txt](https://docs.devhub.gg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devhub.gg/car-thief/configuration/sh.config_translations.lua.md).

# sh.config\_translations.lua

Every player-facing string lives in this file under `Config.Lang`. Translate the values into your language — keep the keys and any `{placeholder}` tokens (e.g. `{name}`, `{position}`, `{time}`) unchanged, as the script fills them in at runtime.

## <mark style="color:yellow;">**Ui**</mark> <mark style="color:yellow;"></mark><mark style="color:yellow;">— terminal & device interface</mark>

Labels shown inside the Car Checker terminal and the Key Cloner device.

```lua
Config.Lang = {
    Ui = {
        title = "VEHICLE REGISTRY TERMINAL",
        session = "SESSION",
        access = "ACCESS",
        granted = "GRANTED",
        node = "NODE",
        owner_profile = "OWNER PROFILE",
        owner_name = "OWNER NAME",
        registry = "Registry: ",
        model = "MODEL",
        year = "YEAR",
        vin = "VIN",
        color = "COLOR",
        class = "CLASS",
        insurance = "INSURANCE",
        active = "ACTIVE",
        inactive = "INACTIVE",
        registration = "REGISTRATION",
        valid = "VALID",
        invalid = "INVALID",
        last_check = "LAST CHECK",
        vehicle_preview = "VEHICLE PREVIEW",
        image_feed = "Image feed: LIVE",
        stream_id = "STREAM ID",
        signal = "SIGNAL",
        license_plate = "LICENSE PLATE",
        match = "MATCH: 1",
        status = "STATUS: ",
        hits = "HITS: 0",
        terminal_init = "root@registry:~$ query plate ",
        terminal_response = "response: record found",
        terminal_owner = "owner: ",
        terminal_vehicle = "vehicle: ",
        terminal_status = "status: ",
        wanted = "WANTED",
        clean = "CLEAN",
        type_a_license_plate = "Type a license plate number below",
        search = "SEARCH",
        invalid_license_plate = "Invalid license plate number",
        key_cloner_initializing = "Trying to read key...",
        key_cloner_distance_hint = "(When you're closer that will be faster)",
        confirm_security_code = "To confirm, please re-enter the security code",
        key_code_input_placeholder = "Type the key code here",
        key_code = "Key code",
        save_key = "Save Key",
        trying_to_unlock_vehicle = "Trying to unlock the vehicle...",
        detection_indicator = "Detection indicator",
        key_reader_title = "KEY READER",
        key_cloner_title = "SECURITY CODE",
        vehicle_unlock_title = "VEHICLE UNLOCK",
    },
```

* **Description**: Interface text for the in-game devices. `terminal_init` is a fake shell prompt prefix; the player's typed plate is appended to it.

***

## <mark style="color:yellow;">**Script**</mark> <mark style="color:yellow;"></mark><mark style="color:yellow;">— notifications & targets</mark>

Notifications, target prompts and NPC dialog lines shown during the job. Several values contain `{placeholder}` tokens that are replaced at runtime.

```lua
    Script = {
        no_available_locations = "No available Car Meet locations",
        already_in_task = "You already have an active Car Meet task",
        car_meet_blip = "Car Meet Location",
        task_started = "The location of the car meet is marked on your GPS. Your objective is to steal the vehicle belonging to \"{name}\"",
        found_wanted_car = "This is the car we're looking for. Follow the owner and copy his key.",
        no_vehicle_nearby = "There is no vehicle nearby to focus on.",
        not_the_wanted_car = "It's not the one we're looking for. Keep looking.",

        -- Informant
        informant_blip = "Informant",
        informant_target = "Talk",
        informant_npc_name = "Informant",
        informant_dialog_intro = "Word is you're after some quick money. I've got a buyer who wants a very specific car lifted from a meet tonight.",
        informant_dialog_ask = "Tell me about the job",
        informant_dialog_target = "The car you're after belongs to {name}. Find them at the meet, copy their key and bring the car to the buyer. Take this gear - you'll need it.",
        informant_dialog_ack = "Understood",
        informant_go_talk = "Meet your contact to get the details of the job.",
        informant_items_given = "Your contact handed you the gear you need for the job.",
        plate_focus_hint_scan = "Focus on nearest plate",
        plate_focus_hint_back = "Back to terminal",
        not_in_task = "You are not currently in a Car Meet task",
        already_found_wanted_car = "You have already found the wanted car. Follow the owner and copy his key.",
        key_cloner_no_car = "You haven't found the wanted car yet. Find it and then use the Key Cloner again.",
        key_cloner_success = "Good job! The vehicle key's identification code has been saved to the device. Go up to the vehicle owner to distract him.",
        key_cloner_cant_find_car = "It looks like the vehicle is too far away. The device isn't detecting it.",
        car_already_unlocked = "The car is already unlocked",
        car_unlocked = "Success! The car is now unlocked",
        init_returning_vehicle_notify = "Good job! Now return the vehicle to complete the task.",
        return_vehicle_blip = "Return Vehicle",
        talk_with_npc = "Leave the vehicle here and go talk to the guy.",
        vehicle_is_too_far = "The vehicle is too far away. Get closer and try again.",
        return_vehicle_target = "Talk.",
        return_vehicle_dialog_text = "Hey, I see you got the car. Thanks for that!",
        return_vehicle_dialog_option = "Return vehicle",
        end_task_notify = "Great work! You've completed the task.",
        reward_received = "You collected your cut for the stolen vehicle.",
        car_meet_interrupted_key_cloner_failed_initialization = "{name} figured out what you were trying to do and called the police. You'd better get out of there.",
        car_meet_interrupted_distract_ped_failed = "Are you out of your mind? I'm calling the police.",
        car_meet_interrupted_ped_caught_you = "{name} realized you were trying to steal his car and called the police. You'd better get out of here.",
        wait_a_moment = "Wait a moment before receiving your next task",
        distract_ped = "Talk",
        distract_ped_dialog_text = "Hey? Can I help you with something?",
        distracted_ped = "{name} will be distracted for another {time}s.",
        distract_ped_first = "You need to distract the vehicle owner first before using the Key Cloner.",
        ped_distracted_successfully = "You successfully distracted the vehicle owner. Now's your chance to unlock the car.",

        -- Queue system
        notify_missing_requirement = "Missing requirement: {label}.",
        notify_no_required_item = "You do not have the required item.",
        not_enough_police = "Not enough police online",
        notify_rewards_to_collect = "You have rewards to collect from your laptop.",
        queue_already_in = "You are already in the queue.",
        queue_on_cooldown = "You have a personal cooldown before you can join the queue again.",
        queue_unable_to_join = "Unable to join the queue.",
        queue_joined = "You have joined the queue. Your position: {position}",
        queue_current_position = "Your current queue position is: {position}",
        queue_cooldown_seconds = "You have a personal cooldown of {cooldown} seconds before you can join the queue again.",
        queue_not_in_queue = "You are not currently in the queue.",

        -- Queue NPC
        target_talk_to_ped = "Talk",
        target_start_mission = "Start Task",
        target_check_queue = "Check Queue",
        npc_name = "Car Meet Contact",
        npc_role = "Fixer",
        npc_dialog_intro = "Want to lift a car from a meet? Here's what you'll need to start the job:",
        npc_dialog_no_requirements = "No special requirements to start this job.",
        npc_requirement_item = "{amount}x {label}",
    }
}
```

* **Description**: All notifications, target labels and dialog text used across the job.
* **Placeholders**: Keep tokens such as `{name}` (target owner / NPC name), `{position}` (queue position), `{cooldown}` / `{time}` (seconds), `{label}` and `{amount}` (requirement item) intact — they are filled in by the script.

***
