locale-file-manager
v0.7.3
Published
A tool for managing locale files from a single source
Downloads
12
Readme
Locale File Manager
Manage locale files from a single source locale
DISCLAIMER: this package is in active development. it may have bugs or may not work as expected. Please feel free to contribute if interested!
Head over to the demo webpage to try it out.
There are two ways to use this package. In your code or from the command line.
Use from command line
- Install the package
npm i -D locale-file-manager
- Run the init command to scaffold the necessary configuration files. It will create the following items:
npx locale-file-manager-init
| item | type | description | | ----------- | ------ | ---------------------------------------- | | locales | folder | holds generated locale files | | config.json | file | configures program | | en.json | file | source locale file (can be any language) | | .env | file | openai api key |
- Add your openai api key to your .env file
OPENAI_API_KEY="your-api-key"
- Configure your source locale file with your desired translations.
{ "greeting": "Hello, World!" }
- Provide values to your configuration file.
Locales must follow syntax outlined in the article Tags for Identifying Languages
{
"target_locales": ["en", "fr", "pt", "es"],
"locales_path": "path-to-locales-folder",
"source_path": "path-to-source-locale-file",
"source_locale": "en"
}
- Call the program and point to your configuration file to manage locales
npx locale-file-manager-cli ./config.json
Use in code
- Install the package
npm i locale-file-manager
- Import the following packages and configure the file manager
import { LocaleFileManager } from "locale-file-manager";
import {
ConfigType,
InMemoryConfigSchema,
Locale,
} from "locale-file-manager/dist/lib";
const config: z.infer<typeof InMemoryConfigSchema> = {
previous_output,
source,
source_locale
target_locales,
type: ConfigType.InMemory,
};
const context = new LocaleFileManager(config);
const result = await context.Manage();