Logo

Localization Settings

The central configuration asset for the localization system

Overview

Localization Settings is a ScriptableObject that acts as the brain of the system. It stores references to all your languages, tables, and global configuration options.

You can access your settings file via the project window, or by navigating to Tools -> Evo Localization -> Open Localization Settings (if you have created one).


Configuration

Languages

This list defines the languages available in your application. Each entry links to a LocalizationLanguage asset. You can add, remove, and create new language assets directly from this list.

PropertyDescription
IDUnique identifier (e.g., "EN-US", "JP").
NameDisplay name (e.g., "English").
Localized NameNative name (e.g., "日本語").
IconOptional flag or icon texture.

Tables

This list defines the categorization of your localized content (e.g., UI, Dialog, Items). Each entry links to a LocalizationTable asset.

PropertyDescription
IDUnique identifier for the table (e.g., "Subtitles").
Sheet GIDThe specific Google Sheet tab ID (required only for Google Sheets integration).

Settings

Global behaviors for the localization system.

PropertyDescription
Default LanguageThe language used when the game starts for the first time or if a key is missing.
Get System LanguageIf enabled, the system tries to match Application.systemLanguage to one of your defined languages on startup.
Save Language SelectionAutomatically saves the selected language to PlayerPrefs and loads it on the next session.
Enable LogsPrints debug information to the console when keys are missing or events occur.

Google Sheets

Contains configuration for the Google Sheets integration, including the Spreadsheet ID, auto-fetch settings, and update intervals.

See the Google Sheets page for details.


CSV Import / Export

You can bulk edit data by exporting tables to CSV.

Expand a Table entry in the list

Click Export CSV to save the current data

Edit the file in Excel or Google Sheets [cite: 20]

Click Import CSV to merge changes back into the asset


Scripting API

While you rarely need to fetch settings at runtime, you can access them via the LocalizationManager.

AccessingSettings.cs
using UnityEngine;
using Evo.Localization;

public class AccessingSettings : MonoBehaviour
{
    void Start()
    {
        // Get the singleton settings
        var settings = LocalizationManager.GetSettings();

        if (settings != null)
        {
            Debug.Log($"Default Language: {settings.defaultLanguageID}");
            Debug.Log($"Total Tables: {settings.tables.Count}");
        }
        
        // You can also load default settings statically
        var staticSettings = LocalizationSettings.GetDefault();
    }
}

On this page