Documentation
  • 📄TeamsGG Documentation
    • Common Errors
  • Paid Scripts
    • 📱Phone
      • 🧠Installation
      • 🦄Unique phones
      • 💿Configure
        • 💄Additional Features
        • 📸Camera
        • 🍏Apps
        • 🪵Logs
        • 🖼️Media Customization
        • 🗣️Multi-Language Support
        • 🗃️SIM Cards
        • 🚗Valet System
      • ⏭️Exports
        • Client side
          • 👁️‍🗨️General
          • ☀️Groups
          • 🏢Companies
          • 🔧Misc
        • Server side
          • 🆔Identify Player
          • ☎️Sim Cards
          • ☀️Groups
          • 🌐Cell Broadcast
          • 💸YPay
          • 📧Mail
          • 📪Notifications
          • 📵Screen Damage
          • 🔧Misc
      • 🪛Commands
      • 🍎Custom apps
    • ☎️Boomer Phone
      • 🧠Installation
      • 🦄Unique phones
      • ⏯️Exports
        • Client side
    • 🏠Properties
      • 🧠Installation
      • 💿Configure
      • 🐚Add More Shells
      • ⏭️Exports
        • Client side
          • GetCurrentPropertyId
          • GetCurrentProperty
          • IsPointInsideProperty
          • OpenPropertyMenu
          • AddKey
          • RemoveKey
          • SetWaypointToProperty
          • GetAllProperties
          • GetKeyHolders
          • PoliceRaidDoor
        • Server side
          • GetAllProperties
          • AddKey
          • RemoveKey
          • ToggleDoorlock
          • GetPlayersInProperty
          • GetKeyHolders
          • DeleteProperty
          • AddStarterApartment
      • 👜State bags
    • 🏦Banking
      • 🧠Installation
      • ⏯️Exports
        • Client side
        • Server side
    • 💸Billing
      • 🧠Installation
      • ⏭️Exports
        • Client side
        • Server side
    • 📊Hud
      • 🧠Installation
      • ⏭️Exports
        • Client side
    • 📦Storage Units
      • 🧠Installation
Powered by GitBook
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
  1. Paid Scripts
  2. Phone
  3. Configure

Multi-Language Support

The YSeries phone system provides multi-language support, allowing you to customize the phone interface for different languages and regions.

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:

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:

{
    "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:

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:

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


PreviousMedia CustomizationNextSIM Cards

Last updated 4 days ago

📱
💿
🗣️