UNPKG

react-filerobot-video-editor

Version:

React component version of filerobot video editor (FVE).

1 lines 3.28 kB
import _defineProperty from"@babel/runtime/helpers/defineProperty";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import defaultTranslations from"../context/defaultTranslations";import{TRANSLATIONS_GRID_UUID}from"./constants";var backendTranslations={},activatedTranslations=_objectSpread({},defaultTranslations),hardcodedErrorMsg="Error while loading translations from backend.";export var updateTranslations=function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:{},b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"en";return Object.assign(activatedTranslations,backendTranslations[null===b||void 0===b?void 0:b.toLowerCase()]||{},a)};var sendMissingTranslationsToBackend=function(){var a=0<arguments.length&&arguments[0]!==void 0?arguments[0]:[];return new Promise(function(b,c){var d=new XMLHttpRequest;d.responseType="json",d.onload=function(){if(200<=d.status&&300>d.status)b(d.response);else{var a;console.warn("Error in sending translation key to backend ".concat(null===(a=d.response)||void 0===a?void 0:a.hint,", ").concat(d.status)),c()}},d.onerror=function(){var a;console.warn("Error in sending translation key to backend ".concat(null===(a=d.response)||void 0===a?void 0:a.hint,", ").concat(d.status)),c()};d.open("POST","https://neo.wordplex.io/api/import/request-translations?grid_uuid=".concat(TRANSLATIONS_GRID_UUID)),d.send(JSON.stringify({grid_uuid:TRANSLATIONS_GRID_UUID,translations_requests:a}))})};export var getBackendTranslations=function(a){var b=1<arguments.length&&arguments[1]!==void 0?arguments[1]:"en";return new Promise(function(c,d){var e=b.toLowerCase(),f=new XMLHttpRequest;f.responseType="json",f.onload=function(){if(200<=f.status&&300>f.status){(f.response||[]).forEach(function(a){backendTranslations[e]=_objectSpread(_objectSpread({},backendTranslations[e]),{},_defineProperty({},a.translation_key,a.translations[e]))});var b=[];Object.keys(defaultTranslations).forEach(function(a){var c;a&&!(null!==(c=backendTranslations[e])&&void 0!==c&&c[a])&&b.push({key:a,lang:e,default:defaultTranslations[a]})}),0<b.length&&sendMissingTranslationsToBackend(b),updateTranslations(a,e),c(activatedTranslations)}else{var g,h,i;console.error("Status code: ".concat(f.status)),console.error((null===(g=f.response)||void 0===g?void 0:g.msg)||(null===(h=f.response)||void 0===h?void 0:h.msg)||(null===(i=f.response)||void 0===i?void 0:i.details)||hardcodedErrorMsg),d()}},f.onerror=function(){console.error("Status code ".concat(f.status,", error: ").concat(hardcodedErrorMsg)),d()},f.open("GET","https://i18n-fastly.ultrafast.io/api/export?grid=".concat(TRANSLATIONS_GRID_UUID)),f.send()})};export var translate=function(a){return activatedTranslations[a]||a||""};