{"id":20213853,"url":"https://github.com/dachcom-digital/pimcore-i18n","last_synced_at":"2025-10-10T20:38:25.691Z","repository":{"id":22333781,"uuid":"95963798","full_name":"dachcom-digital/pimcore-i18n","owner":"dachcom-digital","description":"Pimcore - i18n Manager","archived":false,"fork":false,"pushed_at":"2025-09-08T10:59:19.000Z","size":765,"stargazers_count":29,"open_issues_count":9,"forks_count":17,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-09-08T12:13:13.069Z","etag":null,"topics":["hreflang","i18n","internationalization","pimcore","seo"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dachcom-digital.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2017-07-01T12:46:54.000Z","updated_at":"2025-09-08T10:17:36.000Z","dependencies_parsed_at":"2024-04-24T12:42:46.721Z","dependency_job_id":"c0edf038-67bc-48ca-b3d6-a53c6e7118b6","html_url":"https://github.com/dachcom-digital/pimcore-i18n","commit_stats":{"total_commits":234,"total_committers":16,"mean_commits":14.625,"dds":"0.20512820512820518","last_synced_commit":"cfb2a42760cd100923af8bcffa90873265763669"},"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"purl":"pkg:github/dachcom-digital/pimcore-i18n","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dachcom-digital%2Fpimcore-i18n","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dachcom-digital%2Fpimcore-i18n/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dachcom-digital%2Fpimcore-i18n/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dachcom-digital%2Fpimcore-i18n/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dachcom-digital","download_url":"https://codeload.github.com/dachcom-digital/pimcore-i18n/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dachcom-digital%2Fpimcore-i18n/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279005273,"owners_count":26083863,"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","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["hreflang","i18n","internationalization","pimcore","seo"],"created_at":"2024-11-14T06:12:14.465Z","updated_at":"2025-10-10T20:38:25.686Z","avatar_url":"https://github.com/dachcom-digital.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Pimcore - I18n\n[![Software License](https://img.shields.io/badge/license-GPLv3-brightgreen.svg?style=flat-square)](LICENSE.md)\n[![Software License](https://img.shields.io/badge/license-DCL-white.svg?style=flat-square\u0026color=%23ff5c5c)](LICENSE.md)\n[![Latest Release](https://img.shields.io/packagist/v/dachcom-digital/i18n.svg?style=flat-square)](https://packagist.org/packages/dachcom-digital/i18n)\n[![Tests](https://img.shields.io/github/actions/workflow/status/dachcom-digital/pimcore-i18n/.github/workflows/codeception.yml?branch=master\u0026style=flat-square\u0026logo=github\u0026label=codeception)](https://github.com/dachcom-digital/pimcore-i18n/actions?query=workflow%3ACodeception+branch%3Amaster)\n[![PhpStan](https://img.shields.io/github/actions/workflow/status/dachcom-digital/pimcore-i18n/.github/workflows/php-stan.yml?branch=master\u0026style=flat-square\u0026logo=github\u0026label=phpstan%20level%204)](https://github.com/dachcom-digital/pimcore-i18n/actions?query=workflow%3A\"PHP+Stan\"+branch%3Amaster)\n\n![i18n](https://user-images.githubusercontent.com/700119/27761666-f3ed6746-5e60-11e7-955a-3030453c68ff.jpg)\n\n## Scheme\n![i18n scheme](https://user-images.githubusercontent.com/700119/141124503-59576527-e5b1-47b3-a38e-d06e51555bde.png)\n\n## Introduction\nPimcore already comes with some great features to build internationalized websites. \nBut there are some gaps we have to handle by ourselves: search engine guidelines, geo based redirects, dynamic link handling for internal documents and of course: full qualified URLs for and in every context. \nThis bundle helps you to master this challenges and gives you the freedom to elaborate complex URL building and (country) based localization strategies.\n**Please read the [I18n overview page](./docs/1_I18n.md) before starting!**\n\n### Release Plan\n| Release | Supported Pimcore Versions        | Supported Symfony Versions | Release Date | Maintained     | Branch     |\n|---------|-----------------------------------|----------------------------|--------------|----------------|------------|\n| **5.x** | `11.0`                            | `6.2`                      | 09.10.2023   | Feature Branch | dev-master |\n| **4.x** | `10.1` - `10.6`                   | `5.4`                      | 12.11.2021   | Unsupported    | 4.x        |\n| **3.x** | `6.0` - `6.3`, `6.5` - `6.9`      | `3.4`, `^4.4`              | 18.07.2019   | Unsupported    | 3.x        |\n| **2.4** | `5.4`, `5.5`, `5.6`, `5.7`, `5.8` | `3.4`                      | 24.05.2019   | Unsupported    | 2.4        |\n\n### Installation  \n\n```json\n\"require\" : {\n    \"dachcom-digital/i18n\" : \"~5.1.0\"\n}\n```\n\nAdd Bundle to `bundles.php`:\n```php\nreturn [\n    I18nBundle\\I18nBundle::class =\u003e ['all' =\u003e true],\n];\n```\n\n- Execute: `$ bin/console pimcore:bundle:install I18nBundle`\n\n## Upgrading\n- Execute: `$ bin/console doctrine:migrations:migrate --prefix 'I18nBundle\\Migrations'`\n\n## Features\n- Generate fully qualified URLs in any context with symfony's default router\n- Geo redirects (read more about the redirector adapter [here](docs/51_RedirectorAdapter.md))\n- Thanks to the hardlink element you can easily create copies of webpages with additional country information without adding and maintaining duplicate content\n- Manage [href-lang](docs/25_HrefLang.md) tags\n- Domain mapping (`domain.com`) and/or language slug (`/en`) strategies\n- [front page mapping](docs/30_FrontPageMapping.md) for hardlink trees\n\n### Before you start\nWhen using this bundle, you should:\n- **not** using any router but the default `RouterInterface` object. \n- **not** using `pimcore_url` or `$staticRoute-\u003eassemble()` but using the default `RouterInterface` instead\n- extend your `LinkGeneratorInterface` objects with the `I18nLinkGeneratorInterface` and adjust dem accordingly\n- **read** the [How I18nBundle works](./docs/1_I18n.md) section\n\n### Preparation\n- If you're using `system` as your `locale_adapter`, which is the default, you need to enable all required locales in pimcore system settings\n- Always be sure that every document translation is connected via the [localization tool](https://www.pimcore.org/docs/5.0.0/Multi_Language_i18n/Localize_your_Documents.html).\n- If you're using the country detection, you need a valid maxmind geo ip [data provider](docs/10_GeoControl.md)\n\n## Further Information\n- [I18n Overview Page](./docs/1_I18n.md): Learn all about the i18n principals.\n- [Geo IP/Control](docs/10_GeoControl.md): Enable GeoIP Data Provider.\n- [Zone Definitions](docs/20_Zones.md): Learn more about i18n zone definitions and how to manage them.\n  - [Custom I18n Context Look-Up](docs/21_I18nContext.md) (🔥 New!)\n- [Href-Lang](docs/25_HrefLang.md): Find out more about the href-lang tag generator.\n- [Language Configuration](docs/26_Languages.md): Configure languages.\n- [Country Configuration](docs/27_Countries.md): Configure countries.\n- Route and Alternate Links Generation\n  - [Document Routes](docs/90_DocumentRoutes.md): Build document routes\n  - [Static Routes](docs/91_StaticRoutes.md): Build translatable static routes and implement href-lang tags.\n  - [Symfony Route](docs/92_SymfonyRoutes.md): Build translatable symfony routes and implement href-lang tags.\n- [Front Page Mapping](docs/30_FrontPageMapping.md): Learn how to map a custom front page.\n- [Localized Error Documents](docs/40_LocaleErrorDocument.md): Learn how to create localized error documents.\n- [Custom Locale Adapter](docs/50_CustomLocaleAdapter.md): Learn how to create a custom locale adapter.\n- [Redirector Adapter](docs/51_RedirectorAdapter.md): Learn more about redirector adapter and how to implement a custom one.\n- [Pimcore Redirects with I18n](docs/52_PimcoreRedirects.md): Learn how to create localized pimcore redirects.\n- [Code Examples](docs/60_CodeExamples.md): See some examples.\n- [Context Switch Event](docs/70_ContextSwitch.md): Detect zone/language/country switches.\n- [Canonical Links](docs/80_CanonicalLinks.md): Canonical links in hardlinks.\n- [Navigation Caching](docs/110_NavigationCaching.md): Cache your navigation right!\n- [Cookie Settings](docs/120_CookieSettings.md): Change Symfony default cookie settings.\n\n## Upgrade Info\nBefore updating, please [check our upgrade notes!](UPGRADE.md)  \n\n## License\n**DACHCOM.DIGITAL AG**, Löwenhofstrasse 15, 9424 Rheineck, Schweiz  \n[dachcom.com](https://www.dachcom.com), dcdi@dachcom.ch  \nCopyright © 2024 DACHCOM.DIGITAL. All rights reserved.  \n\nFor licensing details please visit [LICENSE.md](LICENSE.md)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdachcom-digital%2Fpimcore-i18n","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdachcom-digital%2Fpimcore-i18n","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdachcom-digital%2Fpimcore-i18n/lists"}