i18next-mcp-server
Version:
A comprehensive Model Context Protocol (MCP) server for i18next translation management, health checking, and automated translation workflows
47 lines • 1.54 kB
JavaScript
import { z } from 'zod';
// Configuration Schema
export const I18nConfigSchema = z.object({
projectRoot: z.string(),
localesPath: z.string().default('apps/client/public/locales'),
languages: z.array(z.string()).default(['en', 'es', 'ca']),
namespaces: z.array(z.string()).default(['translation', 'backoffice', 'landing', 'common', 'error']),
defaultLanguage: z.string().default('en'),
defaultNamespace: z.string().default('translation'),
keySeparator: z.string().default('.'),
nsSeparator: z.string().default(':'),
interpolation: z.object({
prefix: z.string().default('{{'),
suffix: z.string().default('}}')
}).default({}),
backup: z.object({
enabled: z.boolean().default(true),
path: z.string().default('.backups/i18n')
}).default({})
});
// Error Types
export class I18nError extends Error {
code;
details;
constructor(message, code, details) {
super(message);
this.code = code;
this.details = details;
this.name = 'I18nError';
}
}
export class ValidationError extends I18nError {
constructor(message, details) {
super(message, 'VALIDATION_ERROR', details);
}
}
export class FileSystemError extends I18nError {
constructor(message, details) {
super(message, 'FILESYSTEM_ERROR', details);
}
}
export class ConfigurationError extends I18nError {
constructor(message, details) {
super(message, 'CONFIGURATION_ERROR', details);
}
}
//# sourceMappingURL=index.js.map