FreeScriptsDocsSupport

Browse

  • Documentation
    • FAQ
  • πŸ“± Phone
    • 🧠 Installation
    • πŸ¦„ Unique phones
    • πŸ’Ώ Configure
      • πŸ’„ Additional Features
      • πŸ“Έ Camera
      • πŸ“Ή Video Calls
      • 🍏 Apps
      • πŸͺ΅ Logs
      • πŸ”‹ Battery System
      • πŸ–ΌοΈ Media Customization
      • πŸ—£οΈ Multi-Language Support
      • πŸ—ƒοΈ SIM Cards
      • πŸš— Valet System
      • πŸ–ΌοΈ Wallpapers App
      • β›… Weather Widget
    • ⏭️ Exports
      • Client side
        • πŸ‘οΈβ€πŸ—¨οΈ General
        • πŸ“ž Calls
        • β˜€οΈ Groups
        • 🏒 Companies
        • πŸ”§ Misc
        • πŸ—Ό Signal Towers
      • Server side
        • πŸ†” Identify Player
        • ☎️ Sim Cards
        • πŸ“ž Calls
        • πŸ’¬ Messages
        • β˜€οΈ Groups
        • 🌐 Cell Broadcast
        • πŸ’Έ YPay
        • πŸ“§ Mail
        • πŸ“ͺ Notifications
        • πŸ“΅ Screen Damage
        • πŸ—―οΈ Dark Chat
        • πŸ”§ Misc
    • πŸͺ› Commands
    • πŸ“‘ Events
      • Server side
        • πŸ“¨ Messages
        • πŸ“± Social Media
        • ☎️ Calls
    • 🍎 Custom apps
    • 🏦 Banking App
    • πŸ“ˆ Markets App
    • πŸ‘œ State bags
  • ☎️ Boomer Phone
    • 🧠 Installation
    • πŸ¦„ Unique phones
    • ⏯️ Exports
      • Client side
  • 🏠 Properties
    • 🧠 Installation
    • πŸ’Ώ Configure
    • πŸ”— Compatibility
      • Phones
        • YSeries
        • LB Phone
    • πŸ“– Guides
      • πŸ›οΈ Starter Apartments
      • 🐚 Add More Shells
      • πŸ”‘ Physical Keys
      • πŸͺ‘ Furniture As Items
      • πŸ› οΈ Fix Interactable Points
      • πŸ“‹ Discord Logs Setup
    • ⏭️ Exports
      • Client side
        • GetCurrentPropertyId
        • GetCurrentProperty
        • IsPointInsideProperty
        • OpenPropertyMenu
        • AddKey
        • RemoveKey
        • SetWaypointToProperty
        • GetAllProperties
        • GetKeyHolders
        • PoliceRaidDoor
        • WrapIntoProperty
        • GetClosestDoor
        • GetEntryCoordinates
        • UseLockpick
        • PoliceRaidDoor
      • Server side
        • GetAllProperties
        • GetPropertyData
        • AddKey
        • RemoveKey
        • ToggleDoorlock
        • GetPlayersInProperty
        • GetKeyHolders
        • DeleteProperty
        • AddStarterApartment
        • SellProperty
        • TransferProperty
    • πŸͺ Hooks System
      • buyProperty
      • rentProperty
      • sellProperty
      • deleteProperty
      • createDoor
      • saveSettings
      • setInteractablePoint
      • canEnter
      • canExit
    • πŸ‘œ State bags
  • 🏦 Banking
    • 🧠 Installation
    • πŸͺ› Commands
    • ⏯️ Exports
      • Client side
      • Server side
    • πŸͺ΅ Logs
    • πŸͺ Hooks
    • 🏦 Banking App
  • πŸ’Έ Billing
    • 🧠 Installation
    • ⏭️ Exports
      • Client side
      • Server side
  • πŸ“Š Hud
    • 🧠 Installation
    • ⏭️ Exports
      • Client side
  • πŸ“¦ Storage Units
    • 🧠 Installation
  • 🎰 Slots
    • 🧠 Installation
    • πŸ“± Phone app
  • πŸŽƒ Minigames
    • 🎯 Exports and Usage
    • πŸ”§ Commands

πŸ—£οΈ Multi-Language Support

Adding New Languages

Step 1: Configure Language Entry

  1. Navigate to /config/config.locales.lua
  2. Add a new entry to the Config.Locales array:
lua
Config.Locales = {
    {
        value = "en",
        label = "English"
    },
    {
        value = "es", 
        label = "EspaΓ±ol"
    },
    {
        value = "fr",
        label = "FranΓ§ais" 
    },
    -- Add your new language here
    {
        value = "de",
        label = "Deutsch"
    }
}

Step 2: Create Language File

  1. Navigate to /ui/build/locales/
  2. Create a new JSON file named exactly the same as the value field from Step 1
  3. Example: For German, create de.json

Step 3: Restart Server

Restart the server to apply the language changes.

Language File Structure

Basic Structure

Language files should follow this JSON structure:

json
{
    "common": {
        "save": "Save",
        "cancel": "Cancel", 
        "delete": "Delete",
        "edit": "Edit",
        "add": "Add",
        "close": "Close",
        "ok": "OK"
    },
    "apps": {
        "phone": "Phone",
        "messages": "Messages",
        "contacts": "Contacts",
        "settings": "Settings",
        "camera": "Camera",
        "gallery": "Gallery"
    },
    "settings": {
        "general": "General",
        "display": "Display", 
        "sounds": "Sounds",
        "privacy": "Privacy"
    }
}

Language Selection

User Language Selection

Players can typically change their language through:

  1. Settings App: Navigate to Settings -> Language
  2. Initial Setup: Language selection during first phone setup

Server Default Language

Configure the default server language in config/config.locales.lua:

lua
Config.DefaultLocale = "en" -- Set default language

Advanced Features

Dynamic Language Loading

The system supports dynamic language loading, meaning:

  • Languages can be switched without restart
  • New translations take effect immediately
  • Fallback to default language for missing translations

Translation Fallbacks

If a translation is missing:

  1. System checks current language file
  2. Falls back to default language (usually English)
  3. Shows translation key if no fallback exists

Regional Variants

Support for regional language variants:

lua
Config.Locales = {
    {
        value = "en_US",
        label = "English (US)"
    },
    {
        value = "en_GB", 
        label = "English (UK)"
    },
    {
        value = "fr_FR",
        label = "FranΓ§ais (France)"
    },
    {
        value = "fr_CA",
        label = "FranΓ§ais (Canada)"
    }
}

Troubleshooting

Common Issues

  1. Translations not appearing:
    • Check file naming matches value field exactly
    • Verify JSON syntax is valid
    • Ensure server restart was completed
  2. Partial translations:
    • Check for missing translation keys
    • Verify JSON structure is complete
    • Test fallback language functionality
  3. Language selection not working:
    • Verify locale configuration is correct
    • Check player language preference storage
    • Test with different language options

Debug Steps

  1. File Validation: Use JSON validators for syntax checking
  2. Console Logs: Check for language loading errors
  3. UI Testing: Test interface with different languages
  4. Player Testing: Have players test language switching

On this page

  • Adding New Languages
  • Step 1: Configure Language Entry
  • Step 2: Create Language File
  • Step 3: Restart Server
  • Language File Structure
  • Basic Structure
  • Language Selection
  • User Language Selection
  • Server Default Language
  • Advanced Features
  • Dynamic Language Loading
  • Translation Fallbacks
  • Regional Variants
  • Troubleshooting
  • Common Issues
  • Debug Steps

All Rights Reserved

TeamsGG Β© 2026

Pages

FreeScriptsDocsSupport

Legal

Terms of ServiceRefunds

Tebex

Tebex ImpressumTebex TermsTebex Privacy

Socials

DiscordYouTube