1.0.11 • Published 1 year ago

bpium-translate v1.0.11

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Bpium-translate

version install size

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
1.0.9

1 year ago

1.0.8

2 years ago

1.0.11

1 year ago

1.0.10

1 year ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago