@intlayer/docs 7.5.11 → 7.5.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/blog/ar/intlayer_with_i18next.md +0 -2
- package/blog/ar/intlayer_with_next-i18next.md +0 -2
- package/blog/ar/intlayer_with_react-i18next.md +0 -2
- package/blog/de/intlayer_with_i18next.md +0 -45
- package/blog/de/intlayer_with_next-i18next.md +0 -46
- package/blog/de/intlayer_with_react-i18next.md +0 -2
- package/blog/en/intlayer_with_i18next.md +0 -46
- package/blog/en/intlayer_with_next-i18next.md +0 -48
- package/blog/en/intlayer_with_next-intl.md +0 -44
- package/blog/en/intlayer_with_react-i18next.md +0 -44
- package/blog/en/intlayer_with_react-intl.md +0 -42
- package/blog/en/intlayer_with_vue-i18n.md +0 -44
- package/blog/en-GB/intlayer_with_i18next.md +0 -45
- package/blog/en-GB/intlayer_with_next-i18next.md +0 -47
- package/blog/en-GB/intlayer_with_next-intl.md +0 -42
- package/blog/en-GB/intlayer_with_react-i18next.md +0 -43
- package/blog/en-GB/intlayer_with_react-intl.md +0 -42
- package/blog/en-GB/intlayer_with_vue-i18n.md +0 -46
- package/blog/es/intlayer_with_i18next.md +0 -45
- package/blog/es/intlayer_with_next-i18next.md +0 -47
- package/blog/es/intlayer_with_next-intl.md +0 -42
- package/blog/es/intlayer_with_react-i18next.md +0 -43
- package/blog/es/intlayer_with_react-intl.md +0 -42
- package/blog/es/intlayer_with_vue-i18n.md +0 -46
- package/blog/fr/intlayer_with_i18next.md +0 -45
- package/blog/fr/intlayer_with_next-i18next.md +0 -47
- package/blog/fr/intlayer_with_next-intl.md +0 -42
- package/blog/fr/intlayer_with_react-i18next.md +0 -43
- package/blog/fr/intlayer_with_react-intl.md +0 -42
- package/blog/fr/intlayer_with_vue-i18n.md +0 -46
- package/blog/hi/intlayer_with_i18next.md +0 -2
- package/blog/hi/intlayer_with_next-i18next.md +0 -2
- package/blog/hi/intlayer_with_react-i18next.md +0 -2
- package/blog/id/intlayer_with_i18next.md +0 -2
- package/blog/id/intlayer_with_next-i18next.md +0 -2
- package/blog/id/intlayer_with_react-i18next.md +0 -2
- package/blog/it/intlayer_with_i18next.md +0 -2
- package/blog/it/intlayer_with_next-i18next.md +0 -2
- package/blog/it/intlayer_with_react-i18next.md +0 -2
- package/blog/ja/intlayer_with_i18next.md +0 -45
- package/blog/ja/intlayer_with_next-i18next.md +0 -46
- package/blog/ja/intlayer_with_next-intl.md +0 -42
- package/blog/ja/intlayer_with_react-i18next.md +0 -42
- package/blog/ja/intlayer_with_react-intl.md +0 -42
- package/blog/ja/intlayer_with_vue-i18n.md +0 -46
- package/blog/ko/intlayer_with_i18next.md +0 -2
- package/blog/ko/intlayer_with_next-i18next.md +0 -2
- package/blog/ko/intlayer_with_react-i18next.md +0 -1
- package/blog/pl/intlayer_with_i18next.md +0 -45
- package/blog/pl/intlayer_with_next-i18next.md +0 -46
- package/blog/pl/intlayer_with_next-intl.md +0 -42
- package/blog/pl/intlayer_with_react-i18next.md +0 -43
- package/blog/pl/intlayer_with_react-intl.md +0 -42
- package/blog/pl/intlayer_with_vue-i18n.md +0 -46
- package/blog/pt/intlayer_with_i18next.md +0 -2
- package/blog/pt/intlayer_with_next-i18next.md +0 -2
- package/blog/pt/intlayer_with_react-i18next.md +0 -2
- package/blog/ru/intlayer_with_i18next.md +0 -45
- package/blog/ru/intlayer_with_next-i18next.md +0 -47
- package/blog/ru/intlayer_with_next-intl.md +0 -42
- package/blog/ru/intlayer_with_react-i18next.md +0 -43
- package/blog/ru/intlayer_with_react-intl.md +0 -42
- package/blog/ru/intlayer_with_vue-i18n.md +0 -46
- package/blog/tr/intlayer_with_i18next.md +0 -2
- package/blog/tr/intlayer_with_next-i18next.md +0 -1
- package/blog/tr/intlayer_with_react-i18next.md +0 -2
- package/blog/vi/intlayer_with_i18next.md +0 -2
- package/blog/vi/intlayer_with_next-i18next.md +0 -2
- package/blog/vi/intlayer_with_react-i18next.md +0 -2
- package/blog/zh/intlayer_with_i18next.md +0 -2
- package/blog/zh/intlayer_with_next-i18next.md +0 -2
- package/blog/zh/intlayer_with_react-i18next.md +0 -2
- package/blog/zh/intlayer_with_vue-i18n.md +0 -46
- package/dist/cjs/generated/blog.entry.cjs +58 -29
- package/dist/cjs/generated/blog.entry.cjs.map +1 -1
- package/dist/cjs/generated/docs.entry.cjs +218 -99
- package/dist/cjs/generated/docs.entry.cjs.map +1 -1
- package/dist/cjs/generated/frequentQuestions.entry.cjs +30 -15
- package/dist/cjs/generated/frequentQuestions.entry.cjs.map +1 -1
- package/dist/cjs/generated/legal.entry.cjs +4 -2
- package/dist/cjs/generated/legal.entry.cjs.map +1 -1
- package/dist/esm/generated/blog.entry.mjs +58 -29
- package/dist/esm/generated/blog.entry.mjs.map +1 -1
- package/dist/esm/generated/docs.entry.mjs +218 -99
- package/dist/esm/generated/docs.entry.mjs.map +1 -1
- package/dist/esm/generated/frequentQuestions.entry.mjs +30 -15
- package/dist/esm/generated/frequentQuestions.entry.mjs.map +1 -1
- package/dist/esm/generated/legal.entry.mjs +4 -2
- package/dist/esm/generated/legal.entry.mjs.map +1 -1
- package/dist/types/generated/blog.entry.d.ts.map +1 -1
- package/dist/types/generated/docs.entry.d.ts +1 -0
- package/dist/types/generated/docs.entry.d.ts.map +1 -1
- package/dist/types/generated/frequentQuestions.entry.d.ts.map +1 -1
- package/dist/types/generated/legal.entry.d.ts.map +1 -1
- package/docs/ar/intlayer_with_next-i18next.md +0 -1
- package/docs/ar/intlayer_with_nextjs_14.md +28 -0
- package/docs/ar/intlayer_with_nextjs_15.md +28 -0
- package/docs/ar/intlayer_with_nextjs_16.md +28 -0
- package/docs/ar/intlayer_with_nextjs_no_locale_path.md +1159 -0
- package/docs/ar/plugins/sync-json.md +6 -2
- package/docs/de/intlayer_with_next-i18next.md +0 -1
- package/docs/de/intlayer_with_nextjs_14.md +28 -0
- package/docs/de/intlayer_with_nextjs_15.md +28 -0
- package/docs/de/intlayer_with_nextjs_16.md +28 -0
- package/docs/de/intlayer_with_nextjs_no_locale_path.md +1152 -0
- package/docs/de/plugins/sync-json.md +6 -2
- package/docs/en/intlayer_with_next-i18next.md +0 -1
- package/docs/en/intlayer_with_nextjs_14.md +28 -0
- package/docs/en/intlayer_with_nextjs_15.md +28 -0
- package/docs/en/intlayer_with_nextjs_16.md +31 -1
- package/docs/en/intlayer_with_nextjs_no_locale_path.md +1132 -0
- package/docs/en/plugins/sync-json.md +6 -2
- package/docs/en-GB/intlayer_with_next-i18next.md +0 -1
- package/docs/en-GB/intlayer_with_nextjs_14.md +28 -0
- package/docs/en-GB/intlayer_with_nextjs_15.md +28 -0
- package/docs/en-GB/intlayer_with_nextjs_16.md +28 -0
- package/docs/en-GB/intlayer_with_nextjs_no_locale_path.md +1154 -0
- package/docs/en-GB/plugins/sync-json.md +6 -2
- package/docs/es/intlayer_with_next-i18next.md +0 -1
- package/docs/es/intlayer_with_nextjs_14.md +28 -0
- package/docs/es/intlayer_with_nextjs_15.md +28 -0
- package/docs/es/intlayer_with_nextjs_16.md +28 -0
- package/docs/es/intlayer_with_nextjs_no_locale_path.md +1143 -0
- package/docs/es/plugins/sync-json.md +6 -2
- package/docs/fr/intlayer_with_next-i18next.md +0 -1
- package/docs/fr/intlayer_with_nextjs_14.md +28 -0
- package/docs/fr/intlayer_with_nextjs_15.md +28 -0
- package/docs/fr/intlayer_with_nextjs_16.md +28 -0
- package/docs/fr/intlayer_with_nextjs_no_locale_path.md +1174 -0
- package/docs/fr/plugins/sync-json.md +9 -5
- package/docs/hi/intlayer_with_next-i18next.md +0 -1
- package/docs/hi/intlayer_with_nextjs_14.md +28 -0
- package/docs/hi/intlayer_with_nextjs_15.md +28 -0
- package/docs/hi/intlayer_with_nextjs_16.md +28 -0
- package/docs/hi/intlayer_with_nextjs_no_locale_path.md +1151 -0
- package/docs/hi/plugins/sync-json.md +6 -2
- package/docs/id/intlayer_with_next-i18next.md +0 -1
- package/docs/id/intlayer_with_nextjs_14.md +28 -0
- package/docs/id/intlayer_with_nextjs_15.md +28 -0
- package/docs/id/intlayer_with_nextjs_16.md +28 -0
- package/docs/id/intlayer_with_nextjs_no_locale_path.md +1154 -0
- package/docs/id/plugins/sync-json.md +6 -2
- package/docs/it/intlayer_with_next-i18next.md +0 -1
- package/docs/it/intlayer_with_nextjs_14.md +28 -0
- package/docs/it/intlayer_with_nextjs_15.md +28 -0
- package/docs/it/intlayer_with_nextjs_16.md +28 -0
- package/docs/it/intlayer_with_nextjs_no_locale_path.md +1148 -0
- package/docs/it/plugins/sync-json.md +6 -2
- package/docs/ja/intlayer_with_next-i18next.md +0 -1
- package/docs/ja/intlayer_with_nextjs_14.md +28 -0
- package/docs/ja/intlayer_with_nextjs_15.md +28 -0
- package/docs/ja/intlayer_with_nextjs_16.md +28 -0
- package/docs/ja/intlayer_with_nextjs_no_locale_path.md +1222 -0
- package/docs/ja/plugins/sync-json.md +6 -2
- package/docs/ko/intlayer_with_next-i18next.md +0 -1
- package/docs/ko/intlayer_with_nextjs_14.md +28 -0
- package/docs/ko/intlayer_with_nextjs_15.md +28 -0
- package/docs/ko/intlayer_with_nextjs_16.md +28 -0
- package/docs/ko/intlayer_with_nextjs_no_locale_path.md +1205 -0
- package/docs/ko/plugins/sync-json.md +6 -2
- package/docs/pl/intlayer_with_next-i18next.md +0 -1
- package/docs/pl/intlayer_with_nextjs_14.md +28 -0
- package/docs/pl/intlayer_with_nextjs_15.md +28 -0
- package/docs/pl/intlayer_with_nextjs_16.md +28 -0
- package/docs/pl/intlayer_with_nextjs_no_locale_path.md +1149 -0
- package/docs/pl/plugins/sync-json.md +6 -2
- package/docs/pt/intlayer_with_next-i18next.md +0 -1
- package/docs/pt/intlayer_with_nextjs_14.md +28 -0
- package/docs/pt/intlayer_with_nextjs_15.md +28 -0
- package/docs/pt/intlayer_with_nextjs_16.md +28 -0
- package/docs/pt/intlayer_with_nextjs_no_locale_path.md +1152 -0
- package/docs/pt/plugins/sync-json.md +6 -2
- package/docs/ru/intlayer_with_next-i18next.md +0 -1
- package/docs/ru/intlayer_with_nextjs_14.md +28 -0
- package/docs/ru/intlayer_with_nextjs_15.md +28 -0
- package/docs/ru/intlayer_with_nextjs_16.md +28 -0
- package/docs/ru/intlayer_with_nextjs_no_locale_path.md +1204 -0
- package/docs/ru/plugins/sync-json.md +6 -2
- package/docs/tr/intlayer_with_next-i18next.md +0 -1
- package/docs/tr/intlayer_with_nextjs_14.md +28 -0
- package/docs/tr/intlayer_with_nextjs_15.md +28 -0
- package/docs/tr/intlayer_with_nextjs_16.md +28 -0
- package/docs/tr/intlayer_with_nextjs_no_locale_path.md +1159 -0
- package/docs/tr/plugins/sync-json.md +6 -2
- package/docs/uk/compiler.md +133 -0
- package/docs/uk/component_i18n.md +194 -0
- package/docs/uk/intlayer_with_nextjs_14.md +1646 -0
- package/docs/uk/intlayer_with_nextjs_15.md +1910 -0
- package/docs/uk/intlayer_with_nextjs_16.md +1763 -0
- package/docs/uk/intlayer_with_nextjs_no_locale_path.md +1159 -0
- package/docs/uk/intlayer_with_react_native+expo.md +715 -0
- package/docs/uk/packages/intlayer/getConfiguration.md +145 -0
- package/docs/uk/vs_code_extension.md +133 -0
- package/docs/vi/intlayer_with_next-i18next.md +0 -1
- package/docs/vi/intlayer_with_nextjs_14.md +28 -0
- package/docs/vi/intlayer_with_nextjs_15.md +28 -0
- package/docs/vi/intlayer_with_nextjs_16.md +28 -0
- package/docs/vi/intlayer_with_nextjs_no_locale_path.md +1151 -0
- package/docs/vi/plugins/sync-json.md +6 -2
- package/docs/zh/intlayer_with_next-i18next.md +0 -1
- package/docs/zh/intlayer_with_nextjs_14.md +28 -0
- package/docs/zh/intlayer_with_nextjs_15.md +28 -0
- package/docs/zh/intlayer_with_nextjs_16.md +28 -0
- package/docs/zh/intlayer_with_nextjs_no_locale_path.md +1206 -0
- package/docs/zh/plugins/sync-json.md +9 -5
- package/frequent_questions/ar/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/de/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/en/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/en-GB/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/es/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/fr/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/hi/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/id/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/it/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/ja/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/ko/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/pl/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/pt/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/ru/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/tr/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/vi/SSR_Next_no_[locale].md +1 -1
- package/frequent_questions/zh/SSR_Next_no_[locale].md +1 -1
- package/package.json +6 -6
- package/src/generated/blog.entry.ts +29 -0
- package/src/generated/docs.entry.ts +119 -0
- package/src/generated/frequentQuestions.entry.ts +15 -0
- package/src/generated/legal.entry.ts +2 -0
|
@@ -122,52 +122,6 @@ CLIを使ってJSONの翻訳を変更した場合やCMSを使用した場合、I
|
|
|
122
122
|
|
|
123
123
|
`syncJSON`プラグインの詳細については、[syncJSONプラグインのドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/plugins/sync-json.md)を参照してください。
|
|
124
124
|
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
### (オプション)ステップ3:コンポーネントごとのJSON翻訳の実装
|
|
128
|
-
|
|
129
|
-
デフォルトでは、IntlayerはJSONファイルとコンテンツ宣言ファイルの両方を読み込み、マージし、同期します。詳細については、[コンテンツ宣言のドキュメント](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ja/dictionary/content_file.md)を参照してください。しかし、必要に応じてIntlayerプラグインを使用して、コードベースのどこにでもあるJSONのローカライズをコンポーネントごとに管理することも可能です。
|
|
130
|
-
|
|
131
|
-
そのためには、`loadJSON`プラグインを使用できます。
|
|
132
|
-
|
|
133
|
-
```ts fileName="intlayer.config.ts"
|
|
134
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
135
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
136
|
-
|
|
137
|
-
const config: IntlayerConfig = {
|
|
138
|
-
internationalization: {
|
|
139
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
140
|
-
defaultLocale: Locales.ENGLISH,
|
|
141
|
-
},
|
|
142
|
-
|
|
143
|
-
// 現在のJSONファイルをIntlayerの辞書と同期させる
|
|
144
|
-
plugins: [
|
|
145
|
-
/**
|
|
146
|
-
* src内の{key}.i18n.jsonパターンに一致するすべてのJSONファイルを読み込みます
|
|
147
|
-
*/
|
|
148
|
-
loadJSON({
|
|
149
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
150
|
-
locale: Locales.ENGLISH,
|
|
151
|
-
priority: 1, // これらのJSONファイルが`./locales/en/${key}.json`のファイルより優先されることを保証します
|
|
152
|
-
}),
|
|
153
|
-
/**
|
|
154
|
-
* ローカルディレクトリ内のJSONファイルに出力と翻訳を書き戻しながら読み込みます
|
|
155
|
-
*/
|
|
156
|
-
syncJSON({
|
|
157
|
-
format: "vue-i18n",
|
|
158
|
-
source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`,
|
|
159
|
-
priority: 0,
|
|
160
|
-
}),
|
|
161
|
-
],
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
export default config;
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
これは、`src` ディレクトリ内の `{key}.i18n.json` パターンに一致するすべての JSON ファイルを読み込み、Intlayer の辞書としてロードします。
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
125
|
## Git 設定
|
|
172
126
|
|
|
173
127
|
生成されたファイルをバージョン管理から除外します:
|
|
@@ -104,7 +104,6 @@ const config: IntlayerConfig = {
|
|
|
104
104
|
},
|
|
105
105
|
plugins: [
|
|
106
106
|
syncJSON({
|
|
107
|
-
format: "i18next",
|
|
108
107
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
109
108
|
}),
|
|
110
109
|
],
|
|
@@ -154,7 +153,6 @@ const config: IntlayerConfig = {
|
|
|
154
153
|
* locales 디렉토리 내 JSON 파일에 출력 및 번역을 로드하고 다시 씁니다
|
|
155
154
|
*/
|
|
156
155
|
syncJSON({
|
|
157
|
-
format: "i18next",
|
|
158
156
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
159
157
|
priority: 0,
|
|
160
158
|
}),
|
|
@@ -112,7 +112,6 @@ const config: IntlayerConfig = {
|
|
|
112
112
|
},
|
|
113
113
|
plugins: [
|
|
114
114
|
syncJSON({
|
|
115
|
-
format: "i18next",
|
|
116
115
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
117
116
|
}),
|
|
118
117
|
],
|
|
@@ -164,7 +163,6 @@ const config: IntlayerConfig = {
|
|
|
164
163
|
* 로케일 디렉토리 내 JSON 파일에 출력 및 번역을 다시 작성하고 로드합니다.
|
|
165
164
|
*/
|
|
166
165
|
syncJSON({
|
|
167
|
-
format: "i18next",
|
|
168
166
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
169
167
|
priority: 0,
|
|
170
168
|
}),
|
|
@@ -104,7 +104,6 @@ const config: IntlayerConfig = {
|
|
|
104
104
|
},
|
|
105
105
|
plugins: [
|
|
106
106
|
syncJSON({
|
|
107
|
-
format: "i18next",
|
|
108
107
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
109
108
|
}),
|
|
110
109
|
],
|
|
@@ -124,50 +123,6 @@ Jeśli zmiany zostaną wprowadzone za pomocą CLI do tłumaczenia JSON lub za po
|
|
|
124
123
|
|
|
125
124
|
Aby zobaczyć więcej szczegółów dotyczących wtyczki `syncJSON`, proszę zapoznać się z [dokumentacją wtyczki syncJSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/plugins/sync-json.md).
|
|
126
125
|
|
|
127
|
-
### (Opcjonalny) Krok 3: Implementacja tłumaczeń JSON na poziomie komponentów
|
|
128
|
-
|
|
129
|
-
Domyślnie Intlayer załaduje, połączy i zsynchronizuje zarówno pliki JSON, jak i pliki deklaracji treści. Zobacz [dokumentację deklaracji treści](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/content_file.md) po więcej szczegółów. Jednak jeśli wolisz, używając wtyczki Intlayer, możesz również zaimplementować zarządzanie tłumaczeniami JSON na poziomie poszczególnych komponentów, zlokalizowanych w dowolnym miejscu w Twojej bazie kodu.
|
|
130
|
-
|
|
131
|
-
Do tego możesz użyć wtyczki `loadJSON`.
|
|
132
|
-
|
|
133
|
-
```ts fileName="intlayer.config.ts"
|
|
134
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
135
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
136
|
-
|
|
137
|
-
const config: IntlayerConfig = {
|
|
138
|
-
internationalization: {
|
|
139
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
140
|
-
defaultLocale: Locales.ENGLISH,
|
|
141
|
-
},
|
|
142
|
-
|
|
143
|
-
// Synchronizuj swoje obecne pliki JSON ze słownikami Intlayer
|
|
144
|
-
plugins: [
|
|
145
|
-
/**
|
|
146
|
-
* Załaduje wszystkie pliki JSON w katalogu src, które pasują do wzoru {key}.i18n.json
|
|
147
|
-
*/
|
|
148
|
-
loadJSON({
|
|
149
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
150
|
-
locale: Locales.ENGLISH,
|
|
151
|
-
priority: 1, // Zapewnia, że te pliki JSON mają wyższy priorytet niż pliki w `./locales/en/${key}.json`
|
|
152
|
-
}),
|
|
153
|
-
/**
|
|
154
|
-
* Załaduje oraz zapisze wynik i tłumaczenia z powrotem do plików JSON w katalogu locales
|
|
155
|
-
*/
|
|
156
|
-
syncJSON({
|
|
157
|
-
format: "i18next",
|
|
158
|
-
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
159
|
-
priority: 0,
|
|
160
|
-
}),
|
|
161
|
-
],
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
export default config;
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
To spowoduje załadowanie wszystkich plików JSON w katalogu `src`, które pasują do wzoru `{key}.i18n.json` i załaduje je jako słowniki Intlayer.
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
126
|
## Konfiguracja Git
|
|
172
127
|
|
|
173
128
|
Zaleca się ignorowanie automatycznie generowanych plików Intlayer:
|
|
@@ -143,52 +143,6 @@ Jeśli zmiany zostaną wprowadzone za pomocą CLI do tłumaczenia JSON lub przy
|
|
|
143
143
|
|
|
144
144
|
Aby zobaczyć więcej szczegółów na temat wtyczki `syncJSON`, prosimy zapoznać się z [dokumentacją wtyczki syncJSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/plugins/sync-json.md).
|
|
145
145
|
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
### (Opcjonalny) Krok 3: Implementacja tłumaczeń JSON na poziomie komponentu
|
|
149
|
-
|
|
150
|
-
Domyślnie Intlayer załaduje, połączy i zsynchronizuje zarówno pliki JSON, jak i pliki deklaracji zawartości. Zobacz [dokumentację deklaracji zawartości](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/content_file.md) po więcej szczegółów. Jednak jeśli wolisz, używając wtyczki Intlayer, możesz również zaimplementować zarządzanie tłumaczeniami JSON na poziomie poszczególnych komponentów, zlokalizowanych w dowolnym miejscu w Twojej bazie kodu.
|
|
151
|
-
|
|
152
|
-
Do tego możesz użyć wtyczki `loadJSON`.
|
|
153
|
-
|
|
154
|
-
```ts fileName="intlayer.config.ts"
|
|
155
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
156
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
157
|
-
|
|
158
|
-
const config: IntlayerConfig = {
|
|
159
|
-
internationalization: {
|
|
160
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
161
|
-
defaultLocale: Locales.ENGLISH,
|
|
162
|
-
},
|
|
163
|
-
|
|
164
|
-
// Synchronizuj swoje obecne pliki JSON ze słownikami Intlayer
|
|
165
|
-
plugins: [
|
|
166
|
-
/**
|
|
167
|
-
* Załaduje wszystkie pliki JSON w katalogu src, które pasują do wzorca {key}.i18n.json
|
|
168
|
-
*/
|
|
169
|
-
loadJSON({
|
|
170
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
171
|
-
locale: Locales.ENGLISH,
|
|
172
|
-
priority: 1, // Zapewnia, że te pliki JSON mają pierwszeństwo przed plikami w `./public/locales/en/${key}.json`
|
|
173
|
-
}),
|
|
174
|
-
/**
|
|
175
|
-
* Załaduje i zapisze wynik oraz tłumaczenia z powrotem do plików JSON w katalogu locales
|
|
176
|
-
*/
|
|
177
|
-
syncJSON({
|
|
178
|
-
format: "i18next",
|
|
179
|
-
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
180
|
-
priority: 0,
|
|
181
|
-
}),
|
|
182
|
-
],
|
|
183
|
-
};
|
|
184
|
-
|
|
185
|
-
export default config;
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
To spowoduje załadowanie wszystkich plików JSON w katalogu `src`, które pasują do wzorca `{key}.i18n.json` i załaduje je jako słowniki Intlayer.
|
|
189
|
-
|
|
190
|
-
---
|
|
191
|
-
|
|
192
146
|
## Konfiguracja Git
|
|
193
147
|
|
|
194
148
|
Wyklucz generowane pliki z kontroli wersji:
|
|
@@ -119,48 +119,6 @@ Jeśli zmiany zostaną wprowadzone za pomocą CLI do tłumaczenia JSON lub przy
|
|
|
119
119
|
|
|
120
120
|
Aby zobaczyć więcej szczegółów na temat wtyczki `syncJSON`, proszę zapoznać się z [dokumentacją wtyczki syncJSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/plugins/sync-json.md).
|
|
121
121
|
|
|
122
|
-
### (Opcjonalny) Krok 3: Implementacja tłumaczeń JSON per-komponent
|
|
123
|
-
|
|
124
|
-
Domyślnie Intlayer załaduje, scali i zsynchronizuje zarówno pliki JSON, jak i pliki deklaracji treści. Szczegóły można znaleźć w [dokumentacji dotyczącej deklaracji treści](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/content_file.md). Jednak jeśli wolisz, korzystając z wtyczki Intlayer, możesz również zaimplementować zarządzanie JSON na poziomie poszczególnych komponentów, zlokalizowanych w dowolnym miejscu w Twojej bazie kodu.
|
|
125
|
-
|
|
126
|
-
Do tego celu możesz użyć wtyczki `loadJSON`.
|
|
127
|
-
|
|
128
|
-
```ts fileName="intlayer.config.ts"
|
|
129
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
130
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
131
|
-
|
|
132
|
-
const config: IntlayerConfig = {
|
|
133
|
-
internationalization: {
|
|
134
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
135
|
-
defaultLocale: Locales.ENGLISH,
|
|
136
|
-
},
|
|
137
|
-
|
|
138
|
-
// Synchronizuj swoje obecne pliki JSON ze słownikami Intlayer
|
|
139
|
-
plugins: [
|
|
140
|
-
/**
|
|
141
|
-
* Załaduje wszystkie pliki JSON w katalogu src, które pasują do wzorca {key}.i18n.json
|
|
142
|
-
*/
|
|
143
|
-
loadJSON({
|
|
144
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
145
|
-
locale: Locales.ENGLISH,
|
|
146
|
-
priority: 1, // Zapewnia, że te pliki JSON mają pierwszeństwo przed plikami w `./locales/en/${key}.json`
|
|
147
|
-
}),
|
|
148
|
-
/**
|
|
149
|
-
* Załaduje oraz zapisze wynik i tłumaczenia z powrotem do plików JSON w katalogu locales
|
|
150
|
-
*/
|
|
151
|
-
syncJSON({
|
|
152
|
-
format: "icu",
|
|
153
|
-
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
154
|
-
priority: 0,
|
|
155
|
-
}),
|
|
156
|
-
],
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
export default config;
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
To załaduje wszystkie pliki JSON w katalogu `src`, które pasują do wzorca `{key}.i18n.json` i załaduje je jako słowniki Intlayer.
|
|
163
|
-
|
|
164
122
|
## Konfiguracja Git
|
|
165
123
|
|
|
166
124
|
Zaleca się ignorowanie automatycznie generowanych plików Intlayer:
|
|
@@ -102,7 +102,6 @@ const config: IntlayerConfig = {
|
|
|
102
102
|
},
|
|
103
103
|
plugins: [
|
|
104
104
|
syncJSON({
|
|
105
|
-
format: "i18next",
|
|
106
105
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
107
106
|
}),
|
|
108
107
|
],
|
|
@@ -122,48 +121,6 @@ Jeśli zmiany zostaną dokonane za pomocą CLI do tłumaczenia JSON lub przy uż
|
|
|
122
121
|
|
|
123
122
|
Aby zobaczyć więcej szczegółów dotyczących wtyczki `syncJSON`, prosimy o zapoznanie się z [dokumentacją wtyczki syncJSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/plugins/sync-json.md).
|
|
124
123
|
|
|
125
|
-
### (Opcjonalny) Krok 3: Implementacja tłumaczeń JSON na poziomie komponentów
|
|
126
|
-
|
|
127
|
-
Domyślnie Intlayer załaduje, połączy i zsynchronizuje zarówno pliki JSON, jak i pliki deklaracji zawartości. Więcej informacji można znaleźć w [dokumentacji deklaracji zawartości](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/content_file.md). Jednak jeśli wolisz, korzystając z wtyczki Intlayer, możesz również zaimplementować zarządzanie JSON na poziomie poszczególnych komponentów, zlokalizowanych w dowolnym miejscu w Twojej bazie kodu.
|
|
128
|
-
|
|
129
|
-
Do tego celu możesz użyć wtyczki `loadJSON`.
|
|
130
|
-
|
|
131
|
-
```ts fileName="intlayer.config.ts"
|
|
132
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
133
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
134
|
-
|
|
135
|
-
const config: IntlayerConfig = {
|
|
136
|
-
internationalization: {
|
|
137
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
138
|
-
defaultLocale: Locales.ENGLISH,
|
|
139
|
-
},
|
|
140
|
-
|
|
141
|
-
// Synchronizuj swoje obecne pliki JSON ze słownikami Intlayer
|
|
142
|
-
plugins: [
|
|
143
|
-
/**
|
|
144
|
-
* Załaduje wszystkie pliki JSON w katalogu src, które pasują do wzorca {key}.i18n.json
|
|
145
|
-
*/
|
|
146
|
-
loadJSON({
|
|
147
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
148
|
-
locale: Locales.ENGLISH,
|
|
149
|
-
priority: 1, // Zapewnia, że te pliki JSON mają pierwszeństwo przed plikami w `./locales/en/${key}.json`
|
|
150
|
-
}),
|
|
151
|
-
/**
|
|
152
|
-
* Załaduje i zapisze wynik oraz tłumaczenia z powrotem do plików JSON w katalogu locales
|
|
153
|
-
*/
|
|
154
|
-
syncJSON({
|
|
155
|
-
format: "i18next",
|
|
156
|
-
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
157
|
-
priority: 0,
|
|
158
|
-
}),
|
|
159
|
-
],
|
|
160
|
-
};
|
|
161
|
-
|
|
162
|
-
export default config;
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
To spowoduje załadowanie wszystkich plików JSON w katalogu `src`, które pasują do wzorca `{key}.i18n.json` i załaduje je jako słowniki Intlayer.
|
|
166
|
-
|
|
167
124
|
## Konfiguracja Git
|
|
168
125
|
|
|
169
126
|
Zaleca się ignorowanie automatycznie generowanych plików Intlayer:
|
|
@@ -120,48 +120,6 @@ Jeśli zmiany zostaną dokonane za pomocą CLI do tłumaczenia JSON lub przy uż
|
|
|
120
120
|
|
|
121
121
|
Aby zobaczyć więcej szczegółów na temat wtyczki `syncJSON`, prosimy o zapoznanie się z [dokumentacją wtyczki syncJSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/plugins/sync-json.md).
|
|
122
122
|
|
|
123
|
-
### (Opcjonalny) Krok 3: Implementacja tłumaczeń JSON per-komponent
|
|
124
|
-
|
|
125
|
-
Domyślnie Intlayer załaduje, scali i zsynchronizuje zarówno pliki JSON, jak i pliki deklaracji zawartości. Zobacz [dokumentację deklaracji zawartości](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/content_file.md) po więcej szczegółów. Jednak jeśli wolisz, używając wtyczki Intlayer, możesz również zaimplementować zarządzanie JSON per-komponent, zlokalizowanym w dowolnym miejscu w Twojej bazie kodu.
|
|
126
|
-
|
|
127
|
-
Do tego możesz użyć wtyczki `loadJSON`.
|
|
128
|
-
|
|
129
|
-
```ts fileName="intlayer.config.ts"
|
|
130
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
131
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
132
|
-
|
|
133
|
-
const config: IntlayerConfig = {
|
|
134
|
-
internationalization: {
|
|
135
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
136
|
-
defaultLocale: Locales.ENGLISH,
|
|
137
|
-
},
|
|
138
|
-
|
|
139
|
-
// Synchronizuj swoje aktualne pliki JSON ze słownikami Intlayer
|
|
140
|
-
plugins: [
|
|
141
|
-
/**
|
|
142
|
-
* Załaduje wszystkie pliki JSON w katalogu src, które pasują do wzorca {key}.i18n.json
|
|
143
|
-
*/
|
|
144
|
-
loadJSON({
|
|
145
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
146
|
-
locale: Locales.ENGLISH,
|
|
147
|
-
priority: 1, // Zapewnia, że te pliki JSON mają pierwszeństwo przed plikami w `./locales/en/${key}.json`
|
|
148
|
-
}),
|
|
149
|
-
/**
|
|
150
|
-
* Załaduje i zapisze wynik oraz tłumaczenia z powrotem do plików JSON w katalogu locales
|
|
151
|
-
*/
|
|
152
|
-
syncJSON({
|
|
153
|
-
format: "icu",
|
|
154
|
-
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
155
|
-
priority: 0,
|
|
156
|
-
}),
|
|
157
|
-
],
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
export default config;
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
To spowoduje załadowanie wszystkich plików JSON w katalogu `src`, które pasują do wzorca `{key}.i18n.json` i załaduje je jako słowniki Intlayer.
|
|
164
|
-
|
|
165
123
|
## Konfiguracja Git
|
|
166
124
|
|
|
167
125
|
Zaleca się ignorowanie automatycznie generowanych plików Intlayer:
|
|
@@ -122,52 +122,6 @@ Jeśli zmiany zostaną dokonane za pomocą CLI do tłumaczenia JSON lub za pomoc
|
|
|
122
122
|
|
|
123
123
|
Aby zobaczyć więcej szczegółów dotyczących wtyczki `syncJSON`, proszę zapoznać się z [dokumentacją wtyczki syncJSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/plugins/sync-json.md).
|
|
124
124
|
|
|
125
|
-
---
|
|
126
|
-
|
|
127
|
-
### (Opcjonalny) Krok 3: Implementacja tłumaczeń JSON per-komponent
|
|
128
|
-
|
|
129
|
-
Domyślnie Intlayer załaduje, scali i zsynchronizuje zarówno pliki JSON, jak i pliki deklaracji treści. Zobacz [dokumentację deklaracji treści](https://github.com/aymericzip/intlayer/blob/main/docs/docs/pl/dictionary/content_file.md) po więcej szczegółów. Jednak jeśli wolisz, używając wtyczki Intlayer, możesz również zaimplementować zarządzanie JSON per-komponent, zlokalizowanym w dowolnym miejscu w Twoim kodzie.
|
|
130
|
-
|
|
131
|
-
W tym celu możesz użyć wtyczki `loadJSON`.
|
|
132
|
-
|
|
133
|
-
```ts fileName="intlayer.config.ts"
|
|
134
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
135
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
136
|
-
|
|
137
|
-
const config: IntlayerConfig = {
|
|
138
|
-
internationalization: {
|
|
139
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
140
|
-
defaultLocale: Locales.ENGLISH,
|
|
141
|
-
},
|
|
142
|
-
|
|
143
|
-
// Synchronizuj swoje obecne pliki JSON ze słownikami Intlayer
|
|
144
|
-
plugins: [
|
|
145
|
-
/**
|
|
146
|
-
* Załaduje wszystkie pliki JSON w katalogu src, które pasują do wzorca {key}.i18n.json
|
|
147
|
-
*/
|
|
148
|
-
loadJSON({
|
|
149
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
150
|
-
locale: Locales.ENGLISH,
|
|
151
|
-
priority: 1, // Zapewnia, że te pliki JSON mają pierwszeństwo przed plikami w `./locales/en/${key}.json`
|
|
152
|
-
}),
|
|
153
|
-
/**
|
|
154
|
-
* Załaduje oraz zapisze wynik i tłumaczenia z powrotem do plików JSON w katalogu locales
|
|
155
|
-
*/
|
|
156
|
-
syncJSON({
|
|
157
|
-
format: "vue-i18n",
|
|
158
|
-
source: ({ key, locale }) => `./src/locales/${locale}/${key}.json`,
|
|
159
|
-
priority: 0,
|
|
160
|
-
}),
|
|
161
|
-
],
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
export default config;
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
To spowoduje załadowanie wszystkich plików JSON w katalogu `src`, które pasują do wzorca `{key}.i18n.json` i załaduje je jako słowniki Intlayer.
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
125
|
## Konfiguracja Git
|
|
172
126
|
|
|
173
127
|
Wyklucz generowane pliki z kontroli wersji:
|
|
@@ -104,7 +104,6 @@ const config: IntlayerConfig = {
|
|
|
104
104
|
},
|
|
105
105
|
plugins: [
|
|
106
106
|
syncJSON({
|
|
107
|
-
format: "i18next",
|
|
108
107
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
109
108
|
}),
|
|
110
109
|
],
|
|
@@ -154,7 +153,6 @@ const config: IntlayerConfig = {
|
|
|
154
153
|
* Carregará e gravará a saída e as traduções de volta nos arquivos JSON no diretório de locais
|
|
155
154
|
*/
|
|
156
155
|
syncJSON({
|
|
157
|
-
format: "i18next",
|
|
158
156
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
159
157
|
priority: 0,
|
|
160
158
|
}),
|
|
@@ -112,7 +112,6 @@ const config: IntlayerConfig = {
|
|
|
112
112
|
},
|
|
113
113
|
plugins: [
|
|
114
114
|
syncJSON({
|
|
115
|
-
format: "i18next",
|
|
116
115
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
117
116
|
}),
|
|
118
117
|
],
|
|
@@ -164,7 +163,6 @@ const config: IntlayerConfig = {
|
|
|
164
163
|
* Irá carregar e gravar a saída e as traduções de volta nos arquivos JSON no diretório de locales
|
|
165
164
|
*/
|
|
166
165
|
syncJSON({
|
|
167
|
-
format: "i18next",
|
|
168
166
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
169
167
|
priority: 0,
|
|
170
168
|
}),
|
|
@@ -102,7 +102,6 @@ const config: IntlayerConfig = {
|
|
|
102
102
|
},
|
|
103
103
|
plugins: [
|
|
104
104
|
syncJSON({
|
|
105
|
-
format: "i18next",
|
|
106
105
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
107
106
|
}),
|
|
108
107
|
],
|
|
@@ -152,7 +151,6 @@ const config: IntlayerConfig = {
|
|
|
152
151
|
* Carregará e escreverá a saída e as traduções de volta nos arquivos JSON no diretório de locais
|
|
153
152
|
*/
|
|
154
153
|
syncJSON({
|
|
155
|
-
format: "i18next",
|
|
156
154
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
157
155
|
priority: 0,
|
|
158
156
|
}),
|
|
@@ -104,7 +104,6 @@ const config: IntlayerConfig = {
|
|
|
104
104
|
},
|
|
105
105
|
plugins: [
|
|
106
106
|
syncJSON({
|
|
107
|
-
format: "i18next",
|
|
108
107
|
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
109
108
|
}),
|
|
110
109
|
],
|
|
@@ -124,50 +123,6 @@ export default config;
|
|
|
124
123
|
|
|
125
124
|
Чтобы узнать больше подробностей о плагине `syncJSON`, пожалуйста, обратитесь к [документации плагина syncJSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/plugins/sync-json.md).
|
|
126
125
|
|
|
127
|
-
### (Необязательно) Шаг 3: Реализация перевода JSON по компонентам
|
|
128
|
-
|
|
129
|
-
По умолчанию Intlayer загрузит, объединит и синхронизирует как JSON, так и файлы деклараций контента. Подробнее смотрите в [документации по декларации контента](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dictionary/content_file.md). Но если вы предпочитаете, используя плагин Intlayer, вы также можете реализовать управление локализованным JSON по компонентам в любом месте вашей кодовой базы.
|
|
130
|
-
|
|
131
|
-
Для этого вы можете использовать плагин `loadJSON`.
|
|
132
|
-
|
|
133
|
-
```ts fileName="intlayer.config.ts"
|
|
134
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
135
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
136
|
-
|
|
137
|
-
const config: IntlayerConfig = {
|
|
138
|
-
internationalization: {
|
|
139
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
140
|
-
defaultLocale: Locales.ENGLISH,
|
|
141
|
-
},
|
|
142
|
-
|
|
143
|
-
// Поддерживайте актуальность ваших текущих JSON файлов в соответствии со словарями Intlayer
|
|
144
|
-
plugins: [
|
|
145
|
-
/**
|
|
146
|
-
* Загрузит все JSON файлы в папке src, которые соответствуют шаблону {key}.i18n.json
|
|
147
|
-
*/
|
|
148
|
-
loadJSON({
|
|
149
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
150
|
-
locale: Locales.ENGLISH,
|
|
151
|
-
priority: 1, // Обеспечивает приоритет этих JSON файлов над файлами в `./locales/en/${key}.json`
|
|
152
|
-
}),
|
|
153
|
-
/**
|
|
154
|
-
* Загрузит и запишет результат и переводы обратно в JSON файлы в директории locales
|
|
155
|
-
*/
|
|
156
|
-
syncJSON({
|
|
157
|
-
format: "i18next",
|
|
158
|
-
source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
|
|
159
|
-
priority: 0,
|
|
160
|
-
}),
|
|
161
|
-
],
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
export default config;
|
|
165
|
-
```
|
|
166
|
-
|
|
167
|
-
Это загрузит все JSON файлы в директории `src`, которые соответствуют шаблону `{key}.i18n.json`, и загрузит их как словари Intlayer.
|
|
168
|
-
|
|
169
|
-
---
|
|
170
|
-
|
|
171
126
|
## Конфигурация Git
|
|
172
127
|
|
|
173
128
|
Рекомендуется игнорировать автоматически сгенерированные файлы Intlayer:
|
|
@@ -112,7 +112,6 @@ const config: IntlayerConfig = {
|
|
|
112
112
|
},
|
|
113
113
|
plugins: [
|
|
114
114
|
syncJSON({
|
|
115
|
-
format: "i18next",
|
|
116
115
|
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
117
116
|
}),
|
|
118
117
|
],
|
|
@@ -132,52 +131,6 @@ export default config;
|
|
|
132
131
|
|
|
133
132
|
Для получения дополнительной информации о плагине `syncJSON` обратитесь к [документации плагина syncJSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/plugins/sync-json.md).
|
|
134
133
|
|
|
135
|
-
---
|
|
136
|
-
|
|
137
|
-
### (Необязательно) Шаг 3: Реализация перевода JSON по компонентам
|
|
138
|
-
|
|
139
|
-
По умолчанию Intlayer загрузит, объединит и синхронизирует как JSON, так и файлы декларации контента. Подробнее смотрите в [документации по декларации контента](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dictionary/content_file.md). Но если вы предпочитаете, используя плагин Intlayer, вы также можете реализовать управление локализованным JSON по компонентам в любом месте вашей кодовой базы.
|
|
140
|
-
|
|
141
|
-
Для этого вы можете использовать плагин `loadJSON`.
|
|
142
|
-
|
|
143
|
-
```ts fileName="intlayer.config.ts"
|
|
144
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
145
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
146
|
-
|
|
147
|
-
const config: IntlayerConfig = {
|
|
148
|
-
internationalization: {
|
|
149
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
150
|
-
defaultLocale: Locales.ENGLISH,
|
|
151
|
-
},
|
|
152
|
-
|
|
153
|
-
// Поддерживайте синхронизацию ваших текущих JSON-файлов с словарями Intlayer
|
|
154
|
-
plugins: [
|
|
155
|
-
/**
|
|
156
|
-
* Загрузит все JSON-файлы в src, которые соответствуют шаблону {key}.i18n.json
|
|
157
|
-
*/
|
|
158
|
-
loadJSON({
|
|
159
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
160
|
-
locale: Locales.ENGLISH,
|
|
161
|
-
priority: 1, // Обеспечивает приоритет этих JSON-файлов над файлами в `./public/locales/en/${key}.json`
|
|
162
|
-
}),
|
|
163
|
-
/**
|
|
164
|
-
* Загрузит, а также запишет результаты и переводы обратно в JSON-файлы в директории локалей
|
|
165
|
-
*/
|
|
166
|
-
syncJSON({
|
|
167
|
-
format: "i18next",
|
|
168
|
-
source: ({ key, locale }) => `./public/locales/${locale}/${key}.json`,
|
|
169
|
-
priority: 0,
|
|
170
|
-
}),
|
|
171
|
-
],
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
export default config;
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
Это загрузит все JSON-файлы в директории `src`, которые соответствуют шаблону `{key}.i18n.json`, и загрузит их как словари Intlayer.
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
|
|
181
134
|
## Конфигурация Git
|
|
182
135
|
|
|
183
136
|
Исключите сгенерированные файлы из системы контроля версий:
|
|
@@ -119,48 +119,6 @@ export default config;
|
|
|
119
119
|
|
|
120
120
|
Для получения дополнительной информации о плагине `syncJSON` обратитесь к [документации плагина syncJSON](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/plugins/sync-json.md).
|
|
121
121
|
|
|
122
|
-
### (Необязательно) Шаг 3: Реализация переводов JSON для каждого компонента
|
|
123
|
-
|
|
124
|
-
По умолчанию Intlayer загружает, объединяет и синхронизирует как JSON, так и файлы декларации контента. Подробнее смотрите в [документации по декларации контента](https://github.com/aymericzip/intlayer/blob/main/docs/docs/ru/dictionary/content_file.md). Но если вы предпочитаете, используя плагин Intlayer, вы также можете реализовать управление JSON-переводами на уровне компонентов, расположенных в любом месте вашего кода.
|
|
125
|
-
|
|
126
|
-
Для этого вы можете использовать плагин `loadJSON`.
|
|
127
|
-
|
|
128
|
-
```ts fileName="intlayer.config.ts"
|
|
129
|
-
import { Locales, type IntlayerConfig } from "intlayer";
|
|
130
|
-
import { loadJSON, syncJSON } from "@intlayer/sync-json-plugin";
|
|
131
|
-
|
|
132
|
-
const config: IntlayerConfig = {
|
|
133
|
-
internationalization: {
|
|
134
|
-
locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
|
|
135
|
-
defaultLocale: Locales.ENGLISH,
|
|
136
|
-
},
|
|
137
|
-
|
|
138
|
-
// Синхронизируйте ваши текущие JSON-файлы с словарями Intlayer
|
|
139
|
-
plugins: [
|
|
140
|
-
/**
|
|
141
|
-
* Загрузит все JSON-файлы в папке src, которые соответствуют шаблону {key}.i18n.json
|
|
142
|
-
*/
|
|
143
|
-
loadJSON({
|
|
144
|
-
source: ({ key }) => `./src/**/${key}.i18n.json`,
|
|
145
|
-
locale: Locales.ENGLISH,
|
|
146
|
-
priority: 1, // Обеспечивает приоритет этих JSON-файлов над файлами в `./locales/en/${key}.json`
|
|
147
|
-
}),
|
|
148
|
-
/**
|
|
149
|
-
* Загрузит и запишет результаты и переводы обратно в JSON-файлы в директории locales
|
|
150
|
-
*/
|
|
151
|
-
syncJSON({
|
|
152
|
-
format: "icu",
|
|
153
|
-
source: ({ key, locale }) => `./messages/${locale}/${key}.json`,
|
|
154
|
-
priority: 0,
|
|
155
|
-
}),
|
|
156
|
-
],
|
|
157
|
-
};
|
|
158
|
-
|
|
159
|
-
export default config;
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
Это загрузит все JSON-файлы в директории `src`, которые соответствуют шаблону `{key}.i18n.json`, и загрузит их как словари Intlayer.
|
|
163
|
-
|
|
164
122
|
## Конфигурация Git
|
|
165
123
|
|
|
166
124
|
Рекомендуется игнорировать автоматически сгенерированные файлы Intlayer:
|