bpium-translate
v1.0.11
Published
API for prepare and processing translations for Bpium
Downloads
63
Keywords
Readme
Bpium-translate
lightweight library for handling translations
Installing
Using npm:
npm install bpium-translate
Example
Download all translations json file into 'translations' directory
const Translate = require("bpium-translate").default;
// Token for basic authorization in bpium system
const CATALOG_TOKEN = "...";
const trs = new Translate({
bpium_apikey: CATALOG_TOKEN,
translations_folder: "translations",
});
// Add cutom logger to see what is going on
trs.setDebug((...args) => console.log(...args));
trs.getTranslations();
Initialize local json in bpium cloud, example below will create records by paths
const trs = new Translate({
bpium_apikey: CATALOG_TOKEN,
translations_folder: "translations",
});
// Provide keys for yandex api
const yandexFolderId = "fd23sw52d...";
trs.configureApi(yandexFolderId);
trs.setTranslations(ru);
Update translations for Bpium cloud
const trs = new Translate({
bpium_apikey: CATALOG_TOKEN,
translations_folder: "translations",
});
// Provide keys for yandex api
const yandexFolderId = "fd32sw52d...";
trs.configureApi(yandexFolderId);
trs.updateTranslations(ru);
Translate API
Translate({
bpium_apikey,
translations_folder,
fields = Translate.default_fields,
glossaryPairs = Translate.glossaryPairs,
sourceStatus = Translate.default_sourceStatus,
catalogId = "283",
baseUrl = "https://admin.bpium.ru/api/v1"
});
bpium_apikey base64 encoded credentials with catalog access
fields: default fields looks like this. Feel free to override but don't go too far
const fields = { path: 3, ru: 4, trsStatus: { UNTRANSLATED: ["1"], AUTO: ["2"], MANUAL: ["3"], }, langs: [ { langText: "en", langCodeId: 6, langStatusId: 11, }, ], };
translations folder path to folder with trasnlation files
glossaryPairs (optional): object in this case we want to translate "отдел" as "section", instead of "department"
const glossaryPairs = { en: { sourceText: "отдел", translatedText: "section", }, };
sourceStatus: object
const source = { fieldId: 10, status: { APP: ["1"], API: ["2"], SERVER: ["3"], }, };
catalogId string id of catalog with translations
baseUrl string url for base api endpoint, by default - "https://admin.bpium.ru/api/v1"
Using automated translations
To use auto translate api need to provide yandex folder id and iam Token configureApi will create IAM token automatically
const yandexFolderId = "fd32sw52d...";
trs.configureApi(yandexFolderId);
Update package
create new release (version)
npm version
publish
npm publish --access public