Localization

Localization

Manage all your in-game text in 15 languages and update it live without a new release

Get Started Free

Fifteen Languages, One Key

Store up to 15 language values per key in one place and edit them side by side, the same way you manage news translations.

Players Download Only Their Language

The SDK requests a single language at runtime, so devices only ever fetch the strings they actually need.

Live Updates, No Rebuild

Fix a typo or reword a button and players see it after the next cache window, with no store submission required.

Quick Integration

Quick Integration

Unity (C#)
// Unity C#: Localization
using PM.horizOn.Cloud.Manager;
using UnityEngine;

var loc = LocalizationManager.Instance;

// Pick the player's language once
loc.SetLanguage("de");

// A single string for the current language
string label = await loc.GetLocalization("menu.play");
Debug.Log($"Play button: {label}");

// Every key of one language at startup (cached in memory)
var all = await loc.GetAllLocalizations("de");
REST
# REST API: Localization

# Fetch every key for one language
curl -X GET "https://horizon.pm/api/v1/app/localization/all?lang=de" \
  -H "X-API-Key: YOUR_API_KEY"

# Fetch a single key (falls back to en if the language is missing)
curl -X GET "https://horizon.pm/api/v1/app/localization/menu.play?lang=de" \
  -H "X-API-Key: YOUR_API_KEY"

# List the languages that actually have content
curl -X GET https://horizon.pm/api/v1/app/localization/languages \
  -H "X-API-Key: YOUR_API_KEY"

These examples use the Unity SDK (C#) and the REST API. Godot and Unreal have the same calls in their own SDKs: see the quickstart

Frequently Asked Questions

Frequently Asked Questions

Ready to Integrate?

Start building with horizOn today. Free tier included.