You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: concepts/translations/built-in-translation-system.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,10 +70,10 @@ determine if an update is necessary.
70
70
When loading translations, the system follows a defined priority order to resolve conflicts:
71
71
72
72
1. Database translations – These have the highest priority. You can define them to override all other translations.
73
-
2.Region-specific translations (e.g. `en-GB`, `en-US` or `de-DE`) – These can be provided for country-dependent
73
+
2.Country-specific translations (e.g. `en-GB`, `en-US` or `de-DE`) – These can be provided for country-dependent
74
74
translations or dialects as small patch files. For more information about the language-layer changes, you can have a
75
75
look at its documentation.
76
-
3.Region-agnostic translations (`en` and `de`) – These are shipped with Shopware and its plugins. They ensure that the
76
+
3.Country-agnostic translations (`en` and `de`) – These are shipped with Shopware and its plugins. They ensure that the
77
77
system always has a reliable fallback language and provide a consistent developer experience without requiring you
78
78
to wait until your translations are accepted at [translate.shopware.com](https://translate.shopware.com). For more details on selecting a fallback language and structuring your snippet files, see the [Fallback Languages guide](/concepts/translations/fallback-language-selection.md).
79
79
4. Built-in translation system – Finally, the translations installed via the built-in translation system are applied.
Copy file name to clipboardExpand all lines: guides/plugins/apps/administration/adding-snippets.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,8 @@ nav:
7
7
# Adding translations for apps
8
8
9
9
Adding snippets to the administration works the same way for plugins and apps. The only difference is the file structure and that apps are not allowed to override existing snippet keys. The only thing to do, therefore, is to create new files in the following directory: `<app root>/Resources/app/administration/snippet`
10
-
Additionally, you need JSON file for each language you want to support, using its specific language locale, e.g. `de-DE.json`, `en-GB.json`. For more details on selecting a fallback language and structuring your snippet files, see the [Fallback Languages guide](/concepts/translations/fallback-language-selection.md).
10
+
Additionally, you need JSON files for each language you want to support, using the respective language locale (e.g., `de.json`, `en.json`). You can also include patch files for dialects, such as `en-US.json`, to provide country-specific translations.
11
+
12
+
For more details on selecting a fallback language and structuring your snippet files, see the [Fallback Languages guide](../../../../concepts/translations/fallback-language-selection.md).
11
13
12
14
Since everything else works the same, please refer to our [Adding translations for plugins](../../plugins/administration/templates-styling/adding-snippets) guide for more information.
Copy file name to clipboardExpand all lines: guides/plugins/apps/content/index.md
+1-3Lines changed: 1 addition & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,4 @@ nav:
7
7
8
8
# Content
9
9
10
-
create layouts, and control the visibility of content based on various conditions. It provides a flexible and intuitive system for managing and presenting your store's content, helping you deliver a seamless and engaging customer experience.
11
-
12
-
The following section guides how to extend Shopware CMS via a custom app.
10
+
You can assign content to specific categories, create layouts, and control the visibility of content based on various conditions. It provides a flexible and intuitive system for managing and presenting your store's content, helping you deliver a seamless and engaging customer experience.
Copy file name to clipboardExpand all lines: guides/plugins/themes/index.md
+2Lines changed: 2 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,11 +9,13 @@ nav:
9
9
10
10
Basically a theme can be an app/plugin that aims at changing the visual appearance of the Storefront.
11
11
12
+
```text
12
13
Extensions
13
14
├── Plugin
14
15
│ └── can include a Theme (not for Cloud)
15
16
└── App
16
17
└── can include a Theme (Cloud-ready)
18
+
```
17
19
18
20
A Shopware theme plugin/app allows businesses to customize and modify the appearance and design of their online store. It provides the ability to change the layout, styling, and visual elements, such as fonts, colors, and images, to match your brand identity and desired user experience. Businesses can easily manage and apply their custom themes, switch between them, and ensure consistent branding across their store.
2.**Language base layer** (e.g., `en`, `de`, `es`) **NEW fallback layer**
21
-
3.**Default fallback** (`en`) - Last resort
21
+
3.**British English fallback** (`en-GB`) - Legacy fallback to maximize compatibility
22
+
4.**Default fallback** (`en`) - Last resort
22
23
23
24
When a translation key is requested, Shopware will:
24
25
25
-
- First check the specific region variant (e.g., `es-AR`)
26
+
- First check the specific country variant (e.g., `es-AR`)
26
27
- If not found, check the base language (e.g., `es`)
28
+
- If not found, the legacy fallback will be checked (`en-GB`)
27
29
- Finally, fall back to `en` if still not found
28
30
29
31
**Result**: ~90% reduction in duplicate translations while maintaining full functionality.
30
32
31
-
## Migrating your extensions
33
+
## Migrating Your Extensions
34
+
35
+
### Automatic
36
+
37
+
Shipping with Shopware **6.7.3**, there's the command line tool `bin/console translation:lint-filenames` that can be used to
38
+
check the translation files, or use the `--fix` parameter to even automate the migration process. For more information, see [this migration article](../../../../../concepts/translations/fallback-language-selection.md#migration-and-linting-via-command).
32
39
33
40
### Manual
34
41
35
-
### Step 1: Rename your existing files
42
+
####Step 1: Rename your existing files
36
43
37
44
Rename your existing files from country-specific naming to the language base layer naming.
Re-create empty files with the former names of the country-specific naming.
49
56
50
57
```Generic
51
58
├── messages.en-GB.base.json
52
59
├── messages.de-DE.base.json
53
60
├── messages.fr-FR.base.json
54
-
└············
61
+
└···
55
62
```
56
63
57
-
### Step 3: Remove duplicates from other country-specific files
64
+
####Step 3: Remove duplicates from other country-specific files
58
65
59
66
Check for duplicate translations across country-specific files and remove them from the country-specific layer.
60
67
@@ -66,21 +73,16 @@ Here are some example locales that are a dialect to the generic base layer.
66
73
├── messages.de-AT.base.json (dialect of de-DE with the de base layer)
67
74
├── messages.de-CH.base.json (dialect of de-DE with the de base layer)
68
75
├── messages.pt-BR.base.json (dialect of pt-PT with the pt base layer)
69
-
└············
76
+
└···
70
77
```
71
78
72
-
For more details on selecting a fallback language and structuring your snippet files, see the [Fallback Languages guide](/concepts/translations/fallback-language-selection.md).
73
-
74
-
### Automatic
75
-
76
-
Shipping with Shopware **6.7.3**, there's the command line tool `bin/console snippet:check-files` that can be used to
77
-
check the translation files, or use the `--fix` parameter to even automate the migration process.
79
+
For more details on selecting a fallback language and structuring your snippet files, see the [Fallback Languages guide](../../../../../concepts/translations/fallback-language-selection.md).
78
80
79
81
## Testing Your Migration
80
82
81
83
After the snippet files have been renamed, changing the locale to one of the empty snippet sets should still provide
82
-
all translated strings. Changing to a region-specific locale should also provide all translated strings with just
83
-
region-specific terms being replaced.
84
+
all translated strings. Changing to a country-specific locale should also provide all translated strings with just
0 commit comments