Localization — Changelog
Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.
All notable changes to this pack are recorded here.
The format follows Keep a Changelog and the pack follows Semantic Versioning.
The version below must always match the one declared in Runtime/AssemblyInfo.cs — that
is the version the FOS Hub shows, and the one the Hub compares against the installed Core.
Nothing yet.
1.0.0 — 2026-08-19
Section titled “1.0.0 — 2026-08-19”First release. Requires FOS Essentials Core 1.0.0.
Components
FOSLocaleManager— one per world. Holds the languages, the translation table and the current language. The first language is the pivot every other one falls back to.FOSLocalizedText— binds a key to aTMP_Textor a legacyText.FOSLocalizedImage— swaps a sprite per language.FOSLanguageButton— switches the world to one language, with an optional selected/unselected highlight.
Authoring
- Translation Table window: keys and languages edited in a real table instead of two arrays that have to be kept aligned by hand.
- CSV round-trip — export for a translator, merge the file back in. A translator never has to open Unity.
- Automatic
OnClickwiring for a language button. - Editor interface translated into English, French, Spanish and German.
Persistence
- The player’s choice is remembered between visits through VRChat
PlayerData, under a configurable key so it cannot collide with another system in the world. - The stored choice is read on
OnPlayerRestored:PlayerDatais not readable before that event, and reading it earlier silently returns nothing.
- Everything here is local: no synced variable, no network traffic, no ownership. Two players standing next to each other have no reason to read the same language, and synchronising the choice would mean one of them loses it every time the other clicks.
- The key and value arrays are hidden from the inspector on purpose. They are an implementation detail of the table window, and editing them directly is how they end up misaligned.
- The reasoning behind each of these choices is in
README.md.
