{"id":26512289,"url":"https://github.com/audunegames/localization","last_synced_at":"2026-02-06T11:05:24.665Z","repository":{"id":176173169,"uuid":"652734628","full_name":"audunegames/localization","owner":"audunegames","description":"Simple string localization system for Unity","archived":false,"fork":false,"pushed_at":"2025-01-08T21:29:23.000Z","size":316,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T20:07:11.512Z","etag":null,"topics":["i18n","localization","unity"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/audunegames.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-12T17:27:25.000Z","updated_at":"2025-01-08T21:29:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"afcd299c-274b-4da6-b22b-174567d5a3ca","html_url":"https://github.com/audunegames/localization","commit_stats":null,"previous_names":["audunegames/unity-localization","audunegames/localization"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/audunegames/localization","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/audunegames%2Flocalization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/audunegames%2Flocalization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/audunegames%2Flocalization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/audunegames%2Flocalization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/audunegames","download_url":"https://codeload.github.com/audunegames/localization/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/audunegames%2Flocalization/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259847065,"owners_count":22921053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["i18n","localization","unity"],"created_at":"2025-03-21T03:28:23.312Z","updated_at":"2026-02-06T11:05:24.658Z","avatar_url":"https://github.com/audunegames.png","language":"C#","readme":"# Audune Localization\n\n[![openupm](https://img.shields.io/npm/v/com.audune.localization?label=openupm\u0026registry_uri=https://package.openupm.com)](https://openupm.com/packages/com.audune.localization/)\n\n\n## Features\n\n* A localization system component that is configured solely with components on a GameObject. Add locale loaders and selectors to the system to control the ways locales are loaded and selectors. Acces the functonality of the system through scripting.\n* Create locales with scriptable objects, or import them from TOML or [PO files](https://www.gnu.org/software/gettext/manual/html_node/PO-Files.html). Custom parsers for importing locales can also be defined.\n* Format strings in a locale using the [ICU message format](https://lokalise.com/blog/complete-guide-to-icu-message-format/). Messages have support for `number`, `date`, `plural`, `selectordinal`, and `select` formats. Plural rules for all locales defined by the [CLDR](https://www.unicode.org/cldr/charts/44/supplemental/language_plural_rules.html#cs) are included in the package and automatically applied.\n* Reference strings from the table of locales in your code or in the inspector to localize them on demand. Add arguments to a reference or format the result via scripting.\n* Define custom locale loaders to define sources where the system loads locales from. A locale loader that loads locales from assets, as well as a loader that loads additional locale sat runtime from the StreamingAssets folder, are included.\n* Define custom locale selectors to control which locale is selected when the game starts. Selectors that are include can select a locale based on a command line argument, the system language, and a specific asset that acts as the defualt locale.\n\n## Installation\n\n### Requirements\n\nThis package depends on the following packages:\n\n* [Serializable Types](https://openupm.com/packages/com.audune.utils.types/), version **1.0.4** or higher.\n* [Serializable Dictionary](https://openupm.com/packages/com.audune.utils.dictionary/), version **1.0.5** or higher.\n* [UnityEditor Utilities](https://openupm.com/packages/com.audune.utils.unityeditor/), version **2.0.7** or higher.\n\nIf you're installing the required packages from the [OpenUPM registry](https://openupm.com/), make sure to add a scoped registry with the URL `https://package.openupm.com` and the required scopes before installing the packages.\n\n### Installing from the OpenUPM registry\n\nTo install this package as a package from the OpenUPM registry in the Unity Editor, use the following steps:\n\n* In the Unity editor, navigate to **Edit › Project Settings... › Package Manager**.\n* Add the following Scoped Registry, or edit the existing OpenUPM entry to include the new Scope:\n\n```\nName:     package.openupm.com\nURL:      https://package.openupm.com\nScope(s): com.audune.localization\n```\n\n* Navigate to **Window › Package Manager**.\n* Click the **+** icon and click **Add package by name...**\n* Enter the following name in the corresponding field and click **Add**:\n\n```\ncom.audune.localization\n```\n\n### Installing as a Git package\n\nTo install this package as a Git package in the Unity Editor, use the following steps:\n\n* In the Unity editor, navigate to **Window › Package Manager**.\n* Click the **+** icon and click **Add package from git URL...**\n* Enter the following URL in the URL field and click **Add**:\n\n```\nhttps://github.com/audunegames/localization.git\n```\n\n## Usage\n\n### Example locale file in the TOML format\n\n```toml\n# The code of the locale, specified as an IETF language tag\ncode = \"nl\"\n\n# The names of the locale\nenglish_name = \"Dutch\"\nnative_name = \"Nederlands\"\n\n# Alternative codes that are accessible via scripting\nalt_codes = {steam = \"dutch\"}\n\n# Formats for formatting messages, specified as C# number formats\nnumber_format = {decimal = '0.##', percent = '0.##%', currency = 'c'}\ndate_format = {short = 'd', long = 'D'}\ntime_format = {short = 't', long = 'T'}\n\n# Example of a string table\n[strings.ui.main_menu]\nplay = \"Game spelen\"\noptions = \"Opties\"\nquit = \"Game afsluiten\"\n```\n\n## License\n\nThis package is licensed under the GNU LGPL 3.0 license. See `LICENSE.txt` for more information.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faudunegames%2Flocalization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faudunegames%2Flocalization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faudunegames%2Flocalization/lists"}