UNPKG

arb-convert

Version:

Convert Application Resource Bundle (ARB) translation files to other translation formats and back

64 lines (63 loc) 2.19 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseToArb = exports.convertFromArb = void 0; var gettext_1 = require("./formats/gettext"); var xliff_1_2_1 = require("./formats/xliff-1_2"); var xliff_2_1_1 = require("./formats/xliff-2_1"); function convertFromArb(format, options) { var defaultOptions = { original: 'application resource bundle', sourceLanguage: 'en-US', }; var opts = __assign(__assign({}, defaultOptions), options); switch (format) { case 'xliff': case 'xliff-1.x': case 'xliff-1.2': return xliff_1_2_1.convert(opts); case 'xliff-2.x': case 'xliff-2.0': case 'xliff-2.1': return xliff_2_1_1.convert(opts); case 'gettext': return gettext_1.convert(opts); default: throw new Error("Format " + format + " is not supported"); } } exports.convertFromArb = convertFromArb; function parseToArb(format, options) { switch (format) { case 'xliff': { var matches = options.content.match(/urn:oasis:names:tc:xliff:document:(\d\.\d)/); var version = matches && matches[1]; if (version) { return parseToArb("xliff-" + version, options); } throw new Error('Could not determine XLIFF version'); } case 'xliff-1.x': case 'xliff-1.2': return xliff_1_2_1.parse(options); case 'xliff-2.x': case 'xliff-2.0': case 'xliff-2.1': return xliff_2_1_1.parse(options); case 'gettext': return gettext_1.parse(options); default: throw new Error("Format " + format + " is not supported"); } } exports.parseToArb = parseToArb;