S&box Wiki

Revision Difference

localization#563088

<cat>UI.Intro</cat>⤶ <title>Localization</title>⤶ ⤶ # What Is Localization⤶ ⤶ Instead of doing `label.Text = "Hello World"`, you do `label.Text = "#helloworld";`. This way you can use the localization system to change `#helloworld` into `こんにちは世界` if they have their language set to Japanese.⤶ ⤶ # Tokens⤶ ⤶ When doing UI stuff if you set a value to a string starting with `#` - it'll become a token, which means it'll look for its real value in the localization system.⤶ ⤶ This works both when creating Panels using code and using templates.⤶ ⤶ # Definitions⤶ ⤶ To create your definitions create a folder in the root of your addon called `Localization`.⤶ ⤶ Then inside that create a folder for the language. `en` is English. Then create a Json file inside that, which will hold your tokens.⤶ ⤶ # Example⤶ ⤶ Filename: `Localization\en\sandbox.json`⤶ ⤶ ```⤶ {⤶ "spawnmenu.props" : "models",⤶ "spawnmenu.entities" : "entities",⤶ "spawnmenu.cloudmodels": "asset.party",⤶ "spawnmenu.tools": "tools",⤶ "spawnmenu.utility": "utility"⤶ }⤶ ```⤶ ⤶ Then our code can do something like this..⤶ ⤶ ```csharp⤶ Add.Button( "#spawnmenu.utility" );⤶ ```⤶ ⤶ # Languages⤶ ⤶ You can currently use the following languages for localization:⤶ ⤶ | English Name | API language code |⤶ |-----------------------|-------------------|⤶ | Arabic | ar |⤶ | Bulgarian | bg |⤶ | Simplified Chinese | zh-cn |⤶ | Traditional Chinese | zh-tw |⤶ | Czech | cs |⤶ | Danish | da |⤶ | Dutch | nl |⤶ | English | en |⤶ | Finnish | fi |⤶ | French | fr |⤶ | German | de |⤶ | Greek | el |⤶ | Hungarian | hu |⤶ | Italian | it |⤶ | Japanese | ja |⤶ | Korean | ko |⤶ | Norwegian | no |⤶ | Pirate | en-pt |⤶ | Polish | pl |⤶ | Portuguese | pt |⤶ | Portuguese-Brazil | pt-br |⤶ | Romanian | ro |⤶ | Russian | ru |⤶ | Spanish-Spain | es |⤶ | Spanish-Latin America | es-419 |⤶ | Swedish | sv |⤶ | Thai | th |⤶ | Turkish | tr |⤶ | Ukrainian | uk |⤶ | Vietnamese | vn |⤶