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.
| Property | Description |
|---|---|
| ID | Unique identifier (e.g., "EN-US", "JP"). |
| Name | Display name (e.g., "English"). |
| Localized Name | Native name (e.g., "日本語"). |
| Icon | Optional 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.
| Property | Description |
|---|---|
| ID | Unique identifier for the table (e.g., "Subtitles"). |
| Sheet GID | The specific Google Sheet tab ID (required only for Google Sheets integration). |
Settings
Global behaviors for the localization system.
| Property | Description |
|---|---|
| Default Language | The language used when the game starts for the first time or if a key is missing. |
| Get System Language | If enabled, the system tries to match Application.systemLanguage to one of your defined languages on startup. |
| Save Language Selection | Automatically saves the selected language to PlayerPrefs and loads it on the next session. |
| Enable Logs | Prints 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.
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();
}
}