Pimcore already comes with some great features to build internationalized websites. But 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. This bundle helps you to master this challenges and gives you the freedom to elaborate complex URL building and (country) based localization strategies. Please read the read the I18n overview page before starting!
Release | Supported Pimcore Versions | Supported Symfony Versions | Release Date | Maintained | Branch |
---|---|---|---|---|---|
4.x | 10.1 - 10.5 |
5.4 |
12.11.2021 | Feature Branch | master |
3.x | 6.0 - 6.3 , 6.5 - 6.9 |
3.4 , ^4.4 |
18.07.2019 | Unsupported | 3.x |
2.4 | 5.4 , 5.5 , 5.6 , 5.7 , 5.8 |
3.4 |
24.05.2019 | Unsupported | 2.4 |
"require" : {
"dachcom-digital/i18n" : "~4.1.0"
}
- Execute:
$ bin/console pimcore:bundle:enable I18nBundle
- Execute:
$ bin/console pimcore:bundle:install I18nBundle
- Execute:
$ bin/console doctrine:migrations:migrate --prefix 'I18nBundle\Migrations'
- Generate fully qualified URLs in any context with symfony's default router
- Geo redirects (read more about the redirector adapter here)
- Thanks to the hardlink element you can easily create copies of webpages with additional country information without adding and maintaining duplicate content
- Manage href-lang tags
- Domain mapping (
domain.com
) and/or language slug (/en
) strategies - front page mapping for hardlink trees
When using this bundle, you should:
- not using any router but the default
RouterInterface
object. - not using
pimcore_url
or$staticRoute->assemble()
but using the defaultRouterInterface
instead - extend your
LinkGeneratorInterface
objects with theI18nLinkGeneratorInterface
and adjust dem accordingly - read the How I18nBundle works section
- If you're using
system
as yourlocale_adapter
, which is the default, you need to enable all required locales in pimcore system settings - Always be sure that every document translation is connected via the localization tool.
- If you're using the country detection, you need a valid maxmind geo ip data provider
- I18n Overview Page: Learn all about the i18n principals.
- Geo IP/Control: Enable GeoIP Data Provider.
- Zone Definitions: Learn more about i18n zone definitions and how to manage them.
- Custom I18n Context Look-Up] (🔥 New!)
- Href-Lang: Find out more about the href-lang tag generator.
- Language Configuration: Configure languages.
- Country Configuration: Configure countries.
- Route and Alternate Links Generation
- Document Routes: Build document routes
- Static Routes: Build translatable static routes and implement href-lang tags.
- Symfony Route: Build translatable symfony routes and implement href-lang tags.
- Front Page Mapping: Learn how to map a custom front page.
- Localized Error Documents: Learn how to create localized error documents.
- Custom Locale Adapter: Learn how to create a custom locale adapter.
- Redirector Adapter: Learn more about redirector adapter and how to implement a custom one.
- Pimcore Redirects with I18n: Learn how to create localized pimcore redirects.
- Code Examples: See some examples.
- Context Switch Event: Detect zone/language/country switches.
- Canonical Links: Canonical links in hardlinks.
- Navigation Caching: Cache your navigation right!
- Cookie Settings: Change Symfony default cookie settings.
Copyright: DACHCOM.DIGITAL
For licensing details please visit LICENSE.md
Before updating, please check our upgrade notes!