Начало работы с декларацией вашего контента
Расширения файлов
По умолчанию, Intlayer следит за всеми файлами с следующими расширениями для деклараций контента:
- .content.ts
- .content.tsx
- .content.js
- .content.mjs
- .content.cjs
Приложение будет искать файлы, соответствующие шаблону ./src/**/*.content.{ts,tsx,js,mjs,cjs} по умолчанию.
Эти расширения по умолчанию подходят для большинства приложений. Однако, если у вас есть конкретные требования, обратитесь к руководству по настройке расширений контента для получения инструкций по их управлению.
Для полного списка параметров конфигурации посетите документацию по конфигурации.
Декларируйте ваш контент
Создайте и управляйте своими словарями контента:
Используя TypeScript
// src/app/[locale]/page.content.ts
import { t, enu, type DeclarationContent } from "intlayer";
interface Content {
getStarted: {
main: string;
pageLink: string;
};
numberOfCar: string;
}
export default {
key: "page",
content: {
getStarted: {
main: t({
en: "Get started by editing",
fr: "Commencez par éditer",
es: "Comience por editar",
}),
pageLink: "src/app/page.tsx",
},
numberOfCar: enu({
"<-1": "Меньше чем одна машина",
"-1": "Минус одна машина",
"0": "Нет машин",
"1": "Одна машина",
">5": "Несколько машин",
">19": "Много машин",
}),
},
} satisfies DeclarationContent<Content>;
Используя ECMAScript модули
// src/app/[locale]/page.content.mjs
import { t } from "intlayer";
/** @type {import('intlayer').DeclarationContent} */
export default {
key: "page",
content: {
getStarted: {
main: t({
en: "Get started by editing",
fr: "Commencez par éditer",
es: "Comience por editar",
}),
pageLink: "src/app/page.tsx",
},
numberOfCar: enu({
"<-1": "Меньше чем одна машина",
"-1": "Минус одна машина",
0: "Нет машин",
1: "Одна машина",
">5": "Несколько машин",
">19": "Много машин",
}),
},
};
Используя CommonJS модули
// src/app/[locale]/page.content.cjs
const { t } = require("intlayer");
/** @type {import('intlayer').DeclarationContent} */
module.exports = {
key: "page",
content: {
getStarted: {
main: t({
en: "Get started by editing",
fr: "Commencez par éditer",
es: "Comience por editar",
}),
pageLink: "src/app/page.tsx",
},
numberOfCar: enu({
"<-1": "Меньше чем одна машина",
"-1": "Минус одна машина",
0: "Нет машин",
1: "Одна машина",
">5": "Несколько машин",
">19": "Много машин",
}),
},
};
Используя JSON
// src/app/[locale]/page.content.json
{
"key": "page",
"content": {
"getStarted": {
"main": {
"nodeType": "translation",
"translation": {
"en": "Get started by editing",
"fr": "Commencez par éditer",
"es": "Comience por editar",
},
},
"pageLink": "src/app/page.tsx",
},
"numberOfCar": {
"nodeType": "enumeration",
"enumeration": {
"<-1": "Меньше чем одна машина",
"-1": "Минус одна машина",
"0": "Нет машин",
"1": "Одна машина",
">5": "Несколько машин",
">19": "Много машин",
},
},
},
}
Предупреждение, декларация контента JSON делает невозможным внедрение функции получения
Если у вас есть идея по улучшению этой документации, не стесняйтесь внести свой вклад, подав запрос на вытягивание на GitHub.
Ссылка на документацию GitHub