@magmamath/students-features 1.3.23-rc.6 → 1.3.23-rc.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (19) hide show
  1. package/dist/commonjs/features/translation/model/TranslationService.js +1 -1
  2. package/dist/commonjs/features/translation/model/TranslationService.js.map +1 -1
  3. package/dist/commonjs/features/voice/playing/model/VoiceTranscriptionTranslation.model.js +20 -6
  4. package/dist/commonjs/features/voice/playing/model/VoiceTranscriptionTranslation.model.js.map +1 -1
  5. package/dist/module/features/translation/model/TranslationService.js +1 -1
  6. package/dist/module/features/translation/model/TranslationService.js.map +1 -1
  7. package/dist/module/features/voice/playing/model/VoiceTranscriptionTranslation.model.js +20 -6
  8. package/dist/module/features/voice/playing/model/VoiceTranscriptionTranslation.model.js.map +1 -1
  9. package/dist/typescript/commonjs/features/translation/model/TranslationService.d.ts +1 -0
  10. package/dist/typescript/commonjs/features/translation/model/TranslationService.d.ts.map +1 -1
  11. package/dist/typescript/commonjs/features/voice/playing/model/VoiceTranscriptionTranslation.model.d.ts +1 -1
  12. package/dist/typescript/commonjs/features/voice/playing/model/VoiceTranscriptionTranslation.model.d.ts.map +1 -1
  13. package/dist/typescript/module/features/translation/model/TranslationService.d.ts +1 -0
  14. package/dist/typescript/module/features/translation/model/TranslationService.d.ts.map +1 -1
  15. package/dist/typescript/module/features/voice/playing/model/VoiceTranscriptionTranslation.model.d.ts +1 -1
  16. package/dist/typescript/module/features/voice/playing/model/VoiceTranscriptionTranslation.model.d.ts.map +1 -1
  17. package/package.json +1 -1
  18. package/src/features/translation/model/TranslationService.ts +2 -1
  19. package/src/features/voice/playing/model/VoiceTranscriptionTranslation.model.ts +21 -7
@@ -55,7 +55,7 @@ class TranslationService {
55
55
  if (this.cache.has(key)) return this.cache.get(key);
56
56
  return text;
57
57
  }
58
- const source = this.sourceLanguage ?? undefined;
58
+ const source = config?.sourceLang ?? this.sourceLanguage ?? undefined;
59
59
  const provider = this.getProvider(target);
60
60
  const key = config?.cacheKey ?? this.createCacheKey(text, target, config?.cacheKeySuffix);
61
61
  if (this.cache.has(key)) return this.cache.get(key);
@@ -1 +1 @@
1
- {"version":3,"names":["_TranslationPreprocessor","require","TranslationService","preprocessor","TranslationKatexPreprocessor","cache","Map","providers","globalTargetLanguage","sourceLanguage","customCacheKeyFn","constructor","preserve","onError","setupPreservable","glossaryToPreserve","map","preserveWordsReplacers","replacers","getTargetLanguage","targetLang","target","Error","getProvider","provider","find","svc","isTargetSupported","createCacheKey","text","suffix","baseKey","Array","isArray","JSON","stringify","translate","config","isArrayInput","length","shouldSkipTranslation","key","cacheKey","cacheKeySuffix","has","get","source","undefined","translated","sanitized","replacements","sanitizeBatch","response","requestBatch","restoreBatch","sanitize","request","restore","set","bindTargetLanguage","store","callback","watch","t","value","setupTarget","bindSourceLanguage","bindCustomCacheKey","getCached","reset","clear","exports"],"sourceRoot":"../../../../../src","sources":["features/translation/model/TranslationService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_TranslationPreprocessor","require","TranslationService","preprocessor","TranslationKatexPreprocessor","cache","Map","providers","globalTargetLanguage","sourceLanguage","customCacheKeyFn","constructor","preserve","onError","setupPreservable","glossaryToPreserve","map","preserveWordsReplacers","replacers","getTargetLanguage","targetLang","target","Error","getProvider","provider","find","svc","isTargetSupported","createCacheKey","text","suffix","baseKey","Array","isArray","JSON","stringify","translate","config","isArrayInput","length","shouldSkipTranslation","key","cacheKey","cacheKeySuffix","has","get","source","sourceLang","undefined","translated","sanitized","replacements","sanitizeBatch","response","requestBatch","restoreBatch","sanitize","request","restore","set","bindTargetLanguage","store","callback","watch","t","value","setupTarget","bindSourceLanguage","bindCustomCacheKey","getCached","reset","clear","exports"],"sourceRoot":"../../../../../src","sources":["features/translation/model/TranslationService.ts"],"mappings":";;;;;;AACA,IAAAA,wBAAA,GAAAC,OAAA;AAmBO,MAAMC,kBAAkB,CAAC;EACbC,YAAY,GAAG,IAAIC,qDAA4B,CAAC,CAAC;EACjDC,KAAK,GAAG,IAAIC,GAAG,CAA4B,CAAC;EAC5CC,SAAS,GAA0B,EAAE;EAG9CC,oBAAoB,GAAkB,IAAI;EAC1CC,cAAc,GAAkB,IAAI;EACpCC,gBAAgB,GAAiE,IAAI;EAE7FC,WAAWA,CAAC;IAAEJ,SAAS;IAAEK,QAAQ;IAAEC;EAAiC,CAAC,EAAE;IACrE,IAAI,CAACN,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACM,OAAO,GAAGA,OAAO;IAEtB,IAAID,QAAQ,EAAE;MACZ,IAAI,CAACT,YAAY,CAACW,gBAAgB,CAAC;QACjCC,kBAAkB,EAAEH,QAAQ,CAACI,GAAG;QAChCC,sBAAsB,EAAEL,QAAQ,CAACM;MACnC,CAAC,CAAC;IACJ;EACF;EAEQC,iBAAiBA,CAACC,UAAmB,EAAE;IAC7C,MAAMC,MAAM,GAAGD,UAAU,IAAI,IAAI,CAACZ,oBAAoB;IACtD,IAAI,CAACa,MAAM,EAAE;MACX,MAAM,IAAIC,KAAK,CACb,sFACF,CAAC;IACH;IACA,OAAOD,MAAM;EACf;EAEQE,WAAWA,CAACF,MAAc,EAAE;IAClC,MAAMG,QAAQ,GAAG,IAAI,CAACjB,SAAS,CAACkB,IAAI,CAAEC,GAAG,IAAKA,GAAG,CAACC,iBAAiB,CAACN,MAAM,CAAC,CAAC;IAC5E,IAAI,CAACG,QAAQ,EAAE,MAAM,IAAIF,KAAK,CAAC,0BAA0BD,MAAM,qBAAqB,CAAC;IACrF,OAAOG,QAAQ;EACjB;EAEQI,cAAcA,CAACC,IAAuB,EAAER,MAAc,EAAES,MAAe,EAAE;IAC/E,IAAIC,OAAe;IAEnB,IAAI,IAAI,CAACrB,gBAAgB,EAAE;MACzBqB,OAAO,GAAG,IAAI,CAACrB,gBAAgB,CAACmB,IAAI,EAAER,MAAM,CAAC;IAC/C,CAAC,MAAM;MACLU,OAAO,GAAGC,KAAK,CAACC,OAAO,CAACJ,IAAI,CAAC,GAAG,GAAGK,IAAI,CAACC,SAAS,CAACN,IAAI,CAAC,KAAKR,MAAM,EAAE,GAAG,GAAGQ,IAAI,KAAKR,MAAM,EAAE;IAC7F;IAEA,OAAOS,MAAM,GAAG,GAAGC,OAAO,GAAGD,MAAM,EAAE,GAAGC,OAAO;EACjD;EAEOK,SAAS,GAAG,MAAAA,CACjBP,IAAO,GAAG,EAAO,EACjBQ,MAA6B,KACd;IACf,MAAMC,YAAY,GAAGN,KAAK,CAACC,OAAO,CAACJ,IAAI,CAAC;IACxC,MAAMR,MAAM,GAAG,IAAI,CAACF,iBAAiB,CAACkB,MAAM,EAAEjB,UAAU,CAAC,IAAI,EAAE;IAE/D,IAAI,CAACS,IAAI,CAACU,MAAM,IAAInC,qDAA4B,CAACoC,qBAAqB,CAACX,IAAI,CAAC,EAAE;MAC5E,MAAMY,GAAG,GAAGJ,MAAM,EAAEK,QAAQ,IAAI,IAAI,CAACd,cAAc,CAACC,IAAI,EAAER,MAAM,EAAEgB,MAAM,EAAEM,cAAc,CAAC;MACzF,IAAI,IAAI,CAACtC,KAAK,CAACuC,GAAG,CAACH,GAAG,CAAC,EAAE,OAAO,IAAI,CAACpC,KAAK,CAACwC,GAAG,CAACJ,GAAG,CAAC;MAEnD,OAAOZ,IAAI;IACb;IAEA,MAAMiB,MAAM,GAAGT,MAAM,EAAEU,UAAU,IAAI,IAAI,CAACtC,cAAc,IAAIuC,SAAS;IACrE,MAAMxB,QAAQ,GAAG,IAAI,CAACD,WAAW,CAACF,MAAM,CAAC;IACzC,MAAMoB,GAAG,GAAGJ,MAAM,EAAEK,QAAQ,IAAI,IAAI,CAACd,cAAc,CAACC,IAAI,EAAER,MAAM,EAAEgB,MAAM,EAAEM,cAAc,CAAC;IAEzF,IAAI,IAAI,CAACtC,KAAK,CAACuC,GAAG,CAACH,GAAG,CAAC,EAAE,OAAO,IAAI,CAACpC,KAAK,CAACwC,GAAG,CAACJ,GAAG,CAAC;IAEnD,IAAIQ,UAA6B;IAEjC,IAAIX,YAAY,EAAE;MAChB,MAAM;QAAEY,SAAS;QAAEC;MAAa,CAAC,GAAG,IAAI,CAAChD,YAAY,CAACiD,aAAa,CAACvB,IAAI,CAAC;MACzE,MAAMwB,QAAQ,GAAG,MAAM7B,QAAQ,CAAC8B,YAAY,CAACJ,SAAS,EAAE7B,MAAM,EAAEyB,MAAM,CAAC;MACvEG,UAAU,GAAG,IAAI,CAAC9C,YAAY,CAACoD,YAAY,CAACF,QAAQ,EAAEF,YAAY,CAAC;IACrE,CAAC,MAAM;MACL,MAAM;QAAED,SAAS;QAAEC;MAAa,CAAC,GAAG,IAAI,CAAChD,YAAY,CAACqD,QAAQ,CAAC3B,IAAI,CAAC;MACpE,MAAMwB,QAAQ,GAAG,MAAM7B,QAAQ,CAACiC,OAAO,CAACP,SAAS,EAAE7B,MAAM,EAAEyB,MAAM,CAAC;MAClEG,UAAU,GAAG,IAAI,CAAC9C,YAAY,CAACuD,OAAO,CAACL,QAAQ,EAAEF,YAAY,CAAC;IAChE;IAEA,IAAI,CAAC9C,KAAK,CAACsD,GAAG,CAAClB,GAAG,EAAEQ,UAAU,CAAC;IAE/B,OAAOA,UAAU;EACnB,CAAC;EAEMW,kBAAkBA,CACvBC,KAAe,EACfC,QAA+B,EACzB;IACND,KAAK,CAACE,KAAK,CAAEC,CAAC,IAAK;MACjB,MAAMC,KAAK,GAAGH,QAAQ,GAAGA,QAAQ,CAACE,CAAC,CAAC,GAAGA,CAAC;MACxC,IAAI,CAACxD,oBAAoB,GAAGyD,KAAK;MACjC,IAAI,CAAC9D,YAAY,CAAC+D,WAAW,CAACD,KAAK,CAAC;IACtC,CAAC,CAAC;IAEF,OAAO,IAAI;EACb;EAEOE,kBAAkBA,CAAmBN,KAAe,EAAQ;IACjEA,KAAK,CAACE,KAAK,CAAEE,KAAK,IAAK;MACrB,IAAI,CAACxD,cAAc,GAAGwD,KAAK;IAC7B,CAAC,CAAC;IAEF,OAAO,IAAI;EACb;EAEOG,kBAAkBA,CACvBP,KAAe,EACfC,QAAkF,EAC5E;IACND,KAAK,CAACE,KAAK,CAAEC,CAAC,IAAK;MACjB,IAAI,CAACtD,gBAAgB,GAAG,CAACmB,IAAuB,EAAER,MAAc,KAC9DyC,QAAQ,CAACE,CAAC,EAAE;QAAEnC,IAAI;QAAER;MAAO,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,IAAI;EACb;EAEOgD,SAASA,CAA8B5B,GAAW,EAAiB;IACxE,OAAO,IAAI,CAACpC,KAAK,CAACwC,GAAG,CAACJ,GAAG,CAAC;EAC5B;EAEO6B,KAAKA,CAAA,EAAG;IACb,IAAI,CAACjE,KAAK,CAACkE,KAAK,CAAC,CAAC;EACpB;AACF;AAACC,OAAA,CAAAtE,kBAAA,GAAAA,kBAAA","ignoreList":[]}
@@ -5,6 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.VoiceTranscriptionTranslationModel = void 0;
7
7
  var _effector = require("effector");
8
+ var _TranslationService = require("../../../translation/model/TranslationService.js");
9
+ var _GoogleTranslationProvider = require("../../../translation/providers/google/GoogleTranslationProvider.js");
10
+ var _wordsToPreserve = require("../../../translation/preserve/wordsToPreserve.js");
8
11
  class VoiceTranscriptionTranslationModel {
9
12
  toggle = (0, _effector.createEvent)();
10
13
  setActive = (0, _effector.createEvent)();
@@ -17,12 +20,11 @@ class VoiceTranscriptionTranslationModel {
17
20
  }) => {
18
21
  const item = this.collection.get(attemptNumber);
19
22
  if (!item?.transcript) return null;
20
- const response = await this.api.translateText({
21
- text: [item.transcript],
22
- targetLanguage,
23
- sourceLanguage: item.transcriptLanguage
23
+ const text = await this.service.translate(item.transcript, {
24
+ targetLang: targetLanguage,
25
+ sourceLang: item.transcriptLanguage,
26
+ cacheKey: `voice::${attemptNumber}::${targetLanguage}`
24
27
  });
25
- const text = response.data.translations[0]?.translatedText;
26
28
  if (!text) return null;
27
29
  return {
28
30
  attemptNumber,
@@ -38,7 +40,19 @@ class VoiceTranscriptionTranslationModel {
38
40
  }).reset(this.reset, this.clearCache);
39
41
  constructor(collection, api) {
40
42
  this.collection = collection;
41
- this.api = api;
43
+ this.service = new _TranslationService.TranslationService({
44
+ preserve: {
45
+ map: _wordsToPreserve.wordsToPreserve,
46
+ replacers: _wordsToPreserve.preservedWordsReplacers
47
+ },
48
+ providers: [new _GoogleTranslationProvider.GoogleTranslationProvider({
49
+ api: {
50
+ translateRequest: api.translateText
51
+ }
52
+ })]
53
+ });
54
+ this.clearCache.watch(() => this.service.reset());
55
+ this.reset.watch(() => this.service.reset());
42
56
  }
43
57
  getTranslation(attemptNumber) {
44
58
  return this.$translations.getState()[attemptNumber];
@@ -1 +1 @@
1
- {"version":3,"names":["_effector","require","VoiceTranscriptionTranslationModel","toggle","createEvent","setActive","clearCache","reset","$isActive","restore","on","state","translate","createEffect","attemptNumber","targetLanguage","item","collection","get","transcript","response","api","translateText","text","sourceLanguage","transcriptLanguage","data","translations","translatedText","$translations","createStore","doneData","result","constructor","getTranslation","getState","exports"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/model/VoiceTranscriptionTranslation.model.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAcO,MAAMC,kCAAkC,CAAC;EAI9BC,MAAM,GAAG,IAAAC,qBAAW,EAAC,CAAC;EACtBC,SAAS,GAAG,IAAAD,qBAAW,EAAU,CAAC;EAClCE,UAAU,GAAG,IAAAF,qBAAW,EAAC,CAAC;EAC1BG,KAAK,GAAG,IAAAH,qBAAW,EAAC,CAAC;EAErBI,SAAS,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAACJ,SAAS,EAAE,KAAK,CAAC,CACvDK,EAAE,CAAC,IAAI,CAACP,MAAM,EAAGQ,KAAK,IAAK,CAACA,KAAK,CAAC,CAClCJ,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAEJK,SAAS,GAAG,IAAAC,sBAAY,EACtC,OAAO;IAAEC,aAAa;IAAEC;EAAe,CAAC,KAAK;IAC3C,MAAMC,IAAI,GAAG,IAAI,CAACC,UAAU,CAACC,GAAG,CAACJ,aAAa,CAAC;IAC/C,IAAI,CAACE,IAAI,EAAEG,UAAU,EAAE,OAAO,IAAI;IAElC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACC,GAAG,CAACC,aAAa,CAAC;MAC5CC,IAAI,EAAE,CAACP,IAAI,CAACG,UAAU,CAAC;MACvBJ,cAAc;MACdS,cAAc,EAAER,IAAI,CAACS;IACvB,CAAC,CAAC;IAEF,MAAMF,IAAI,GAAGH,QAAQ,CAACM,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC,EAAEC,cAAc;IAC1D,IAAI,CAACL,IAAI,EAAE,OAAO,IAAI;IAEtB,OAAO;MAAET,aAAa;MAAES;IAAK,CAAC;EAChC,CACF,CAAC;EAEeM,aAAa,GAAG,IAAAC,qBAAW,EAAyB,CAAC,CAAC,CAAC,CACpEpB,EAAE,CAAC,IAAI,CAACE,SAAS,CAACmB,QAAQ,EAAE,CAACpB,KAAK,EAAEqB,MAAM,KAAK;IAC9C,IAAI,CAACA,MAAM,EAAE,OAAOrB,KAAK;IACzB,OAAO;MAAE,GAAGA,KAAK;MAAE,CAACqB,MAAM,CAAClB,aAAa,GAAGkB,MAAM,CAACT;IAAK,CAAC;EAC1D,CAAC,CAAC,CACDhB,KAAK,CAAC,IAAI,CAACA,KAAK,EAAE,IAAI,CAACD,UAAU,CAAC;EAErC2B,WAAWA,CAAChB,UAAyC,EAAEI,GAAmB,EAAE;IAC1E,IAAI,CAACJ,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACI,GAAG,GAAGA,GAAG;EAChB;EAEOa,cAAcA,CAACpB,aAAqB,EAAsB;IAC/D,OAAO,IAAI,CAACe,aAAa,CAACM,QAAQ,CAAC,CAAC,CAACrB,aAAa,CAAC;EACrD;AACF;AAACsB,OAAA,CAAAlC,kCAAA,GAAAA,kCAAA","ignoreList":[]}
1
+ {"version":3,"names":["_effector","require","_TranslationService","_GoogleTranslationProvider","_wordsToPreserve","VoiceTranscriptionTranslationModel","toggle","createEvent","setActive","clearCache","reset","$isActive","restore","on","state","translate","createEffect","attemptNumber","targetLanguage","item","collection","get","transcript","text","service","targetLang","sourceLang","transcriptLanguage","cacheKey","$translations","createStore","doneData","result","constructor","api","TranslationService","preserve","map","wordsToPreserve","replacers","preservedWordsReplacers","providers","GoogleTranslationProvider","translateRequest","translateText","watch","getTranslation","getState","exports"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/model/VoiceTranscriptionTranslation.model.ts"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAGA,IAAAC,mBAAA,GAAAD,OAAA;AACA,IAAAE,0BAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AAeO,MAAMI,kCAAkC,CAAC;EAI9BC,MAAM,GAAG,IAAAC,qBAAW,EAAC,CAAC;EACtBC,SAAS,GAAG,IAAAD,qBAAW,EAAU,CAAC;EAClCE,UAAU,GAAG,IAAAF,qBAAW,EAAC,CAAC;EAC1BG,KAAK,GAAG,IAAAH,qBAAW,EAAC,CAAC;EAErBI,SAAS,GAAG,IAAAC,iBAAO,EAAC,IAAI,CAACJ,SAAS,EAAE,KAAK,CAAC,CACvDK,EAAE,CAAC,IAAI,CAACP,MAAM,EAAGQ,KAAK,IAAK,CAACA,KAAK,CAAC,CAClCJ,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAEJK,SAAS,GAAG,IAAAC,sBAAY,EACtC,OAAO;IAAEC,aAAa;IAAEC;EAAe,CAAC,KAAK;IAC3C,MAAMC,IAAI,GAAG,IAAI,CAACC,UAAU,CAACC,GAAG,CAACJ,aAAa,CAAC;IAC/C,IAAI,CAACE,IAAI,EAAEG,UAAU,EAAE,OAAO,IAAI;IAElC,MAAMC,IAAI,GAAG,MAAM,IAAI,CAACC,OAAO,CAACT,SAAS,CAACI,IAAI,CAACG,UAAU,EAAE;MACzDG,UAAU,EAAEP,cAAc;MAC1BQ,UAAU,EAAEP,IAAI,CAACQ,kBAAkB;MACnCC,QAAQ,EAAE,UAAUX,aAAa,KAAKC,cAAc;IACtD,CAAC,CAAC;IAEF,IAAI,CAACK,IAAI,EAAE,OAAO,IAAI;IAEtB,OAAO;MAAEN,aAAa;MAAEM;IAAK,CAAC;EAChC,CACF,CAAC;EAEeM,aAAa,GAAG,IAAAC,qBAAW,EAAyB,CAAC,CAAC,CAAC,CACpEjB,EAAE,CAAC,IAAI,CAACE,SAAS,CAACgB,QAAQ,EAAE,CAACjB,KAAK,EAAEkB,MAAM,KAAK;IAC9C,IAAI,CAACA,MAAM,EAAE,OAAOlB,KAAK;IACzB,OAAO;MAAE,GAAGA,KAAK;MAAE,CAACkB,MAAM,CAACf,aAAa,GAAGe,MAAM,CAACT;IAAK,CAAC;EAC1D,CAAC,CAAC,CACDb,KAAK,CAAC,IAAI,CAACA,KAAK,EAAE,IAAI,CAACD,UAAU,CAAC;EAErCwB,WAAWA,CAACb,UAAyC,EAAEc,GAAmB,EAAE;IAC1E,IAAI,CAACd,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACI,OAAO,GAAG,IAAIW,sCAAkB,CAAC;MACpCC,QAAQ,EAAE;QACRC,GAAG,EAAEC,gCAAe;QACpBC,SAAS,EAAEC;MACb,CAAC;MACDC,SAAS,EAAE,CAAC,IAAIC,oDAAyB,CAAC;QAAER,GAAG,EAAE;UAAES,gBAAgB,EAAET,GAAG,CAACU;QAAc;MAAE,CAAC,CAAC;IAC7F,CAAC,CAAC;IAEF,IAAI,CAACnC,UAAU,CAACoC,KAAK,CAAC,MAAM,IAAI,CAACrB,OAAO,CAACd,KAAK,CAAC,CAAC,CAAC;IACjD,IAAI,CAACA,KAAK,CAACmC,KAAK,CAAC,MAAM,IAAI,CAACrB,OAAO,CAACd,KAAK,CAAC,CAAC,CAAC;EAC9C;EAEOoC,cAAcA,CAAC7B,aAAqB,EAAsB;IAC/D,OAAO,IAAI,CAACY,aAAa,CAACkB,QAAQ,CAAC,CAAC,CAAC9B,aAAa,CAAC;EACrD;AACF;AAAC+B,OAAA,CAAA3C,kCAAA,GAAAA,kCAAA","ignoreList":[]}
@@ -51,7 +51,7 @@ export class TranslationService {
51
51
  if (this.cache.has(key)) return this.cache.get(key);
52
52
  return text;
53
53
  }
54
- const source = this.sourceLanguage ?? undefined;
54
+ const source = config?.sourceLang ?? this.sourceLanguage ?? undefined;
55
55
  const provider = this.getProvider(target);
56
56
  const key = config?.cacheKey ?? this.createCacheKey(text, target, config?.cacheKeySuffix);
57
57
  if (this.cache.has(key)) return this.cache.get(key);
@@ -1 +1 @@
1
- {"version":3,"names":["TranslationKatexPreprocessor","TranslationService","preprocessor","cache","Map","providers","globalTargetLanguage","sourceLanguage","customCacheKeyFn","constructor","preserve","onError","setupPreservable","glossaryToPreserve","map","preserveWordsReplacers","replacers","getTargetLanguage","targetLang","target","Error","getProvider","provider","find","svc","isTargetSupported","createCacheKey","text","suffix","baseKey","Array","isArray","JSON","stringify","translate","config","isArrayInput","length","shouldSkipTranslation","key","cacheKey","cacheKeySuffix","has","get","source","undefined","translated","sanitized","replacements","sanitizeBatch","response","requestBatch","restoreBatch","sanitize","request","restore","set","bindTargetLanguage","store","callback","watch","t","value","setupTarget","bindSourceLanguage","bindCustomCacheKey","getCached","reset","clear"],"sourceRoot":"../../../../../src","sources":["features/translation/model/TranslationService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["TranslationKatexPreprocessor","TranslationService","preprocessor","cache","Map","providers","globalTargetLanguage","sourceLanguage","customCacheKeyFn","constructor","preserve","onError","setupPreservable","glossaryToPreserve","map","preserveWordsReplacers","replacers","getTargetLanguage","targetLang","target","Error","getProvider","provider","find","svc","isTargetSupported","createCacheKey","text","suffix","baseKey","Array","isArray","JSON","stringify","translate","config","isArrayInput","length","shouldSkipTranslation","key","cacheKey","cacheKeySuffix","has","get","source","sourceLang","undefined","translated","sanitized","replacements","sanitizeBatch","response","requestBatch","restoreBatch","sanitize","request","restore","set","bindTargetLanguage","store","callback","watch","t","value","setupTarget","bindSourceLanguage","bindCustomCacheKey","getCached","reset","clear"],"sourceRoot":"../../../../../src","sources":["features/translation/model/TranslationService.ts"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  import { createEffect, createEvent, createStore, restore } from 'effector';
4
+ import { TranslationService } from "../../../translation/model/TranslationService.js";
5
+ import { GoogleTranslationProvider } from "../../../translation/providers/google/GoogleTranslationProvider.js";
6
+ import { preservedWordsReplacers, wordsToPreserve } from "../../../translation/preserve/wordsToPreserve.js";
4
7
  export class VoiceTranscriptionTranslationModel {
5
8
  toggle = createEvent();
6
9
  setActive = createEvent();
@@ -13,12 +16,11 @@ export class VoiceTranscriptionTranslationModel {
13
16
  }) => {
14
17
  const item = this.collection.get(attemptNumber);
15
18
  if (!item?.transcript) return null;
16
- const response = await this.api.translateText({
17
- text: [item.transcript],
18
- targetLanguage,
19
- sourceLanguage: item.transcriptLanguage
19
+ const text = await this.service.translate(item.transcript, {
20
+ targetLang: targetLanguage,
21
+ sourceLang: item.transcriptLanguage,
22
+ cacheKey: `voice::${attemptNumber}::${targetLanguage}`
20
23
  });
21
- const text = response.data.translations[0]?.translatedText;
22
24
  if (!text) return null;
23
25
  return {
24
26
  attemptNumber,
@@ -34,7 +36,19 @@ export class VoiceTranscriptionTranslationModel {
34
36
  }).reset(this.reset, this.clearCache);
35
37
  constructor(collection, api) {
36
38
  this.collection = collection;
37
- this.api = api;
39
+ this.service = new TranslationService({
40
+ preserve: {
41
+ map: wordsToPreserve,
42
+ replacers: preservedWordsReplacers
43
+ },
44
+ providers: [new GoogleTranslationProvider({
45
+ api: {
46
+ translateRequest: api.translateText
47
+ }
48
+ })]
49
+ });
50
+ this.clearCache.watch(() => this.service.reset());
51
+ this.reset.watch(() => this.service.reset());
38
52
  }
39
53
  getTranslation(attemptNumber) {
40
54
  return this.$translations.getState()[attemptNumber];
@@ -1 +1 @@
1
- {"version":3,"names":["createEffect","createEvent","createStore","restore","VoiceTranscriptionTranslationModel","toggle","setActive","clearCache","reset","$isActive","on","state","translate","attemptNumber","targetLanguage","item","collection","get","transcript","response","api","translateText","text","sourceLanguage","transcriptLanguage","data","translations","translatedText","$translations","doneData","result","constructor","getTranslation","getState"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/model/VoiceTranscriptionTranslation.model.ts"],"mappings":";;AAAA,SAASA,YAAY,EAAEC,WAAW,EAAEC,WAAW,EAAEC,OAAO,QAAQ,UAAU;AAc1E,OAAO,MAAMC,kCAAkC,CAAC;EAI9BC,MAAM,GAAGJ,WAAW,CAAC,CAAC;EACtBK,SAAS,GAAGL,WAAW,CAAU,CAAC;EAClCM,UAAU,GAAGN,WAAW,CAAC,CAAC;EAC1BO,KAAK,GAAGP,WAAW,CAAC,CAAC;EAErBQ,SAAS,GAAGN,OAAO,CAAC,IAAI,CAACG,SAAS,EAAE,KAAK,CAAC,CACvDI,EAAE,CAAC,IAAI,CAACL,MAAM,EAAGM,KAAK,IAAK,CAACA,KAAK,CAAC,CAClCH,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAEJI,SAAS,GAAGZ,YAAY,CACtC,OAAO;IAAEa,aAAa;IAAEC;EAAe,CAAC,KAAK;IAC3C,MAAMC,IAAI,GAAG,IAAI,CAACC,UAAU,CAACC,GAAG,CAACJ,aAAa,CAAC;IAC/C,IAAI,CAACE,IAAI,EAAEG,UAAU,EAAE,OAAO,IAAI;IAElC,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACC,GAAG,CAACC,aAAa,CAAC;MAC5CC,IAAI,EAAE,CAACP,IAAI,CAACG,UAAU,CAAC;MACvBJ,cAAc;MACdS,cAAc,EAAER,IAAI,CAACS;IACvB,CAAC,CAAC;IAEF,MAAMF,IAAI,GAAGH,QAAQ,CAACM,IAAI,CAACC,YAAY,CAAC,CAAC,CAAC,EAAEC,cAAc;IAC1D,IAAI,CAACL,IAAI,EAAE,OAAO,IAAI;IAEtB,OAAO;MAAET,aAAa;MAAES;IAAK,CAAC;EAChC,CACF,CAAC;EAEeM,aAAa,GAAG1B,WAAW,CAAyB,CAAC,CAAC,CAAC,CACpEQ,EAAE,CAAC,IAAI,CAACE,SAAS,CAACiB,QAAQ,EAAE,CAAClB,KAAK,EAAEmB,MAAM,KAAK;IAC9C,IAAI,CAACA,MAAM,EAAE,OAAOnB,KAAK;IACzB,OAAO;MAAE,GAAGA,KAAK;MAAE,CAACmB,MAAM,CAACjB,aAAa,GAAGiB,MAAM,CAACR;IAAK,CAAC;EAC1D,CAAC,CAAC,CACDd,KAAK,CAAC,IAAI,CAACA,KAAK,EAAE,IAAI,CAACD,UAAU,CAAC;EAErCwB,WAAWA,CAACf,UAAyC,EAAEI,GAAmB,EAAE;IAC1E,IAAI,CAACJ,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACI,GAAG,GAAGA,GAAG;EAChB;EAEOY,cAAcA,CAACnB,aAAqB,EAAsB;IAC/D,OAAO,IAAI,CAACe,aAAa,CAACK,QAAQ,CAAC,CAAC,CAACpB,aAAa,CAAC;EACrD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["createEffect","createEvent","createStore","restore","TranslationService","GoogleTranslationProvider","preservedWordsReplacers","wordsToPreserve","VoiceTranscriptionTranslationModel","toggle","setActive","clearCache","reset","$isActive","on","state","translate","attemptNumber","targetLanguage","item","collection","get","transcript","text","service","targetLang","sourceLang","transcriptLanguage","cacheKey","$translations","doneData","result","constructor","api","preserve","map","replacers","providers","translateRequest","translateText","watch","getTranslation","getState"],"sourceRoot":"../../../../../../src","sources":["features/voice/playing/model/VoiceTranscriptionTranslation.model.ts"],"mappings":";;AAAA,SAASA,YAAY,EAAEC,WAAW,EAAEC,WAAW,EAAEC,OAAO,QAAQ,UAAU;AAG1E,SAASC,kBAAkB,QAAQ,kDAA+C;AAClF,SAASC,yBAAyB,QAAQ,oEAAiE;AAC3G,SACEC,uBAAuB,EACvBC,eAAe,QACV,kDAA+C;AAYtD,OAAO,MAAMC,kCAAkC,CAAC;EAI9BC,MAAM,GAAGR,WAAW,CAAC,CAAC;EACtBS,SAAS,GAAGT,WAAW,CAAU,CAAC;EAClCU,UAAU,GAAGV,WAAW,CAAC,CAAC;EAC1BW,KAAK,GAAGX,WAAW,CAAC,CAAC;EAErBY,SAAS,GAAGV,OAAO,CAAC,IAAI,CAACO,SAAS,EAAE,KAAK,CAAC,CACvDI,EAAE,CAAC,IAAI,CAACL,MAAM,EAAGM,KAAK,IAAK,CAACA,KAAK,CAAC,CAClCH,KAAK,CAAC,IAAI,CAACA,KAAK,CAAC;EAEJI,SAAS,GAAGhB,YAAY,CACtC,OAAO;IAAEiB,aAAa;IAAEC;EAAe,CAAC,KAAK;IAC3C,MAAMC,IAAI,GAAG,IAAI,CAACC,UAAU,CAACC,GAAG,CAACJ,aAAa,CAAC;IAC/C,IAAI,CAACE,IAAI,EAAEG,UAAU,EAAE,OAAO,IAAI;IAElC,MAAMC,IAAI,GAAG,MAAM,IAAI,CAACC,OAAO,CAACR,SAAS,CAACG,IAAI,CAACG,UAAU,EAAE;MACzDG,UAAU,EAAEP,cAAc;MAC1BQ,UAAU,EAAEP,IAAI,CAACQ,kBAAkB;MACnCC,QAAQ,EAAE,UAAUX,aAAa,KAAKC,cAAc;IACtD,CAAC,CAAC;IAEF,IAAI,CAACK,IAAI,EAAE,OAAO,IAAI;IAEtB,OAAO;MAAEN,aAAa;MAAEM;IAAK,CAAC;EAChC,CACF,CAAC;EAEeM,aAAa,GAAG3B,WAAW,CAAyB,CAAC,CAAC,CAAC,CACpEY,EAAE,CAAC,IAAI,CAACE,SAAS,CAACc,QAAQ,EAAE,CAACf,KAAK,EAAEgB,MAAM,KAAK;IAC9C,IAAI,CAACA,MAAM,EAAE,OAAOhB,KAAK;IACzB,OAAO;MAAE,GAAGA,KAAK;MAAE,CAACgB,MAAM,CAACd,aAAa,GAAGc,MAAM,CAACR;IAAK,CAAC;EAC1D,CAAC,CAAC,CACDX,KAAK,CAAC,IAAI,CAACA,KAAK,EAAE,IAAI,CAACD,UAAU,CAAC;EAErCqB,WAAWA,CAACZ,UAAyC,EAAEa,GAAmB,EAAE;IAC1E,IAAI,CAACb,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACI,OAAO,GAAG,IAAIpB,kBAAkB,CAAC;MACpC8B,QAAQ,EAAE;QACRC,GAAG,EAAE5B,eAAe;QACpB6B,SAAS,EAAE9B;MACb,CAAC;MACD+B,SAAS,EAAE,CAAC,IAAIhC,yBAAyB,CAAC;QAAE4B,GAAG,EAAE;UAAEK,gBAAgB,EAAEL,GAAG,CAACM;QAAc;MAAE,CAAC,CAAC;IAC7F,CAAC,CAAC;IAEF,IAAI,CAAC5B,UAAU,CAAC6B,KAAK,CAAC,MAAM,IAAI,CAAChB,OAAO,CAACZ,KAAK,CAAC,CAAC,CAAC;IACjD,IAAI,CAACA,KAAK,CAAC4B,KAAK,CAAC,MAAM,IAAI,CAAChB,OAAO,CAACZ,KAAK,CAAC,CAAC,CAAC;EAC9C;EAEO6B,cAAcA,CAACxB,aAAqB,EAAsB;IAC/D,OAAO,IAAI,CAACY,aAAa,CAACa,QAAQ,CAAC,CAAC,CAACzB,aAAa,CAAC;EACrD;AACF","ignoreList":[]}
@@ -10,6 +10,7 @@ type TranslationServiceProps = {
10
10
  };
11
11
  export type TranslateConfigProps = {
12
12
  targetLang?: string;
13
+ sourceLang?: string;
13
14
  cacheKeySuffix?: string;
14
15
  cacheKey?: string;
15
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TranslationService.d.ts","sourceRoot":"","sources":["../../../../../../src/features/translation/model/TranslationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAE1F,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,mBAAmB,EAAE,CAAA;IAChC,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,gBAAgB,CAAA;QACrB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;KAC9B,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAA;IAExB,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,gBAAgB,CAAqE;gBAEjF,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,uBAAuB;IAYrE,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;IAYf,SAAS,GAAU,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,SAC7C,CAAC,WACE,oBAAoB,KAC5B,OAAO,CAAC,CAAC,CAAC,CAgCZ;IAEM,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACxC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAC9B,IAAI;IAUA,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;IAQ3D,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACxC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,GACjF,IAAI;IASA,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIlE,KAAK;CAGb"}
1
+ {"version":3,"file":"TranslationService.d.ts","sourceRoot":"","sources":["../../../../../../src/features/translation/model/TranslationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAE1F,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,mBAAmB,EAAE,CAAA;IAChC,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,gBAAgB,CAAA;QACrB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;KAC9B,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAA;IAExB,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,gBAAgB,CAAqE;gBAEjF,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,uBAAuB;IAYrE,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;IAYf,SAAS,GAAU,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,SAC7C,CAAC,WACE,oBAAoB,KAC5B,OAAO,CAAC,CAAC,CAAC,CAgCZ;IAEM,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACxC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAC9B,IAAI;IAUA,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;IAQ3D,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACxC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,GACjF,IAAI;IASA,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIlE,KAAK;CAGb"}
@@ -10,7 +10,7 @@ type TranslateResult = {
10
10
  };
11
11
  export declare class VoiceTranscriptionTranslationModel {
12
12
  private readonly collection;
13
- private readonly api;
13
+ private readonly service;
14
14
  readonly toggle: import("effector").EventCallable<void>;
15
15
  readonly setActive: import("effector").EventCallable<boolean>;
16
16
  readonly clearCache: import("effector").EventCallable<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceTranscriptionTranslation.model.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/model/VoiceTranscriptionTranslation.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,KAAK,eAAe,GAAG;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,qBAAa,kCAAkC;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IAEpC,SAAgB,MAAM,yCAAgB;IACtC,SAAgB,SAAS,4CAAyB;IAClD,SAAgB,UAAU,yCAAgB;IAC1C,SAAgB,KAAK,yCAAgB;IAErC,SAAgB,SAAS,4CAEL;IAEpB,SAAgB,SAAS,4EAgBxB;IAED,SAAgB,aAAa,2DAKQ;gBAEzB,UAAU,EAAE,6BAA6B,EAAE,GAAG,EAAE,cAAc;IAKnE,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAGjE"}
1
+ {"version":3,"file":"VoiceTranscriptionTranslation.model.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/model/VoiceTranscriptionTranslation.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAQ5C,KAAK,eAAe,GAAG;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,qBAAa,kCAAkC;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C,SAAgB,MAAM,yCAAgB;IACtC,SAAgB,SAAS,4CAAyB;IAClD,SAAgB,UAAU,yCAAgB;IAC1C,SAAgB,KAAK,yCAAgB;IAErC,SAAgB,SAAS,4CAEL;IAEpB,SAAgB,SAAS,4EAexB;IAED,SAAgB,aAAa,2DAKQ;gBAEzB,UAAU,EAAE,6BAA6B,EAAE,GAAG,EAAE,cAAc;IAcnE,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAGjE"}
@@ -10,6 +10,7 @@ type TranslationServiceProps = {
10
10
  };
11
11
  export type TranslateConfigProps = {
12
12
  targetLang?: string;
13
+ sourceLang?: string;
13
14
  cacheKeySuffix?: string;
14
15
  cacheKey?: string;
15
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TranslationService.d.ts","sourceRoot":"","sources":["../../../../../../src/features/translation/model/TranslationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAE1F,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,mBAAmB,EAAE,CAAA;IAChC,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,gBAAgB,CAAA;QACrB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;KAC9B,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAA;IAExB,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,gBAAgB,CAAqE;gBAEjF,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,uBAAuB;IAYrE,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;IAYf,SAAS,GAAU,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,SAC7C,CAAC,WACE,oBAAoB,KAC5B,OAAO,CAAC,CAAC,CAAC,CAgCZ;IAEM,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACxC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAC9B,IAAI;IAUA,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;IAQ3D,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACxC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,GACjF,IAAI;IASA,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIlE,KAAK;CAGb"}
1
+ {"version":3,"file":"TranslationService.d.ts","sourceRoot":"","sources":["../../../../../../src/features/translation/model/TranslationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAEhC,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAE1F,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,mBAAmB,EAAE,CAAA;IAChC,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,gBAAgB,CAAA;QACrB,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAA;KAC9B,CAAA;IACD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuC;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAA;IAExB,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,gBAAgB,CAAqE;gBAEjF,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,uBAAuB;IAYrE,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;IAYf,SAAS,GAAU,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,SAC7C,CAAC,WACE,oBAAoB,KAC5B,OAAO,CAAC,CAAC,CAAC,CAgCZ;IAEM,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACxC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAC9B,IAAI;IAUA,kBAAkB,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;IAQ3D,kBAAkB,CAAC,CAAC,SAAS,MAAM,EACxC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EACf,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,GACjF,IAAI;IASA,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAIlE,KAAK;CAGb"}
@@ -10,7 +10,7 @@ type TranslateResult = {
10
10
  };
11
11
  export declare class VoiceTranscriptionTranslationModel {
12
12
  private readonly collection;
13
- private readonly api;
13
+ private readonly service;
14
14
  readonly toggle: import("effector").EventCallable<void>;
15
15
  readonly setActive: import("effector").EventCallable<boolean>;
16
16
  readonly clearCache: import("effector").EventCallable<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceTranscriptionTranslation.model.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/model/VoiceTranscriptionTranslation.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,KAAK,eAAe,GAAG;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,qBAAa,kCAAkC;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IAEpC,SAAgB,MAAM,yCAAgB;IACtC,SAAgB,SAAS,4CAAyB;IAClD,SAAgB,UAAU,yCAAgB;IAC1C,SAAgB,KAAK,yCAAgB;IAErC,SAAgB,SAAS,4CAEL;IAEpB,SAAgB,SAAS,4EAgBxB;IAED,SAAgB,aAAa,2DAKQ;gBAEzB,UAAU,EAAE,6BAA6B,EAAE,GAAG,EAAE,cAAc;IAKnE,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAGjE"}
1
+ {"version":3,"file":"VoiceTranscriptionTranslation.model.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/voice/playing/model/VoiceTranscriptionTranslation.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAQ5C,KAAK,eAAe,GAAG;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED,KAAK,eAAe,GAAG;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,qBAAa,kCAAkC;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAE5C,SAAgB,MAAM,yCAAgB;IACtC,SAAgB,SAAS,4CAAyB;IAClD,SAAgB,UAAU,yCAAgB;IAC1C,SAAgB,KAAK,yCAAgB;IAErC,SAAgB,SAAS,4CAEL;IAEpB,SAAgB,SAAS,4EAexB;IAED,SAAgB,aAAa,2DAKQ;gBAEzB,UAAU,EAAE,6BAA6B,EAAE,GAAG,EAAE,cAAc;IAcnE,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAGjE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magmamath/students-features",
3
- "version": "1.3.23-rc.6",
3
+ "version": "1.3.23-rc.8",
4
4
  "description": "Magmamath features library",
5
5
  "source": "src/index.ts",
6
6
  "main": "src/index.ts",
@@ -13,6 +13,7 @@ type TranslationServiceProps = {
13
13
 
14
14
  export type TranslateConfigProps = {
15
15
  targetLang?: string
16
+ sourceLang?: string
16
17
  cacheKeySuffix?: string
17
18
  cacheKey?: string
18
19
  }
@@ -81,7 +82,7 @@ export class TranslationService {
81
82
  return text
82
83
  }
83
84
 
84
- const source = this.sourceLanguage ?? undefined
85
+ const source = config?.sourceLang ?? this.sourceLanguage ?? undefined
85
86
  const provider = this.getProvider(target)
86
87
  const key = config?.cacheKey ?? this.createCacheKey(text, target, config?.cacheKeySuffix)
87
88
 
@@ -1,6 +1,12 @@
1
1
  import { createEffect, createEvent, createStore, restore } from 'effector'
2
2
  import { VoiceTranscriptionsCollection } from './VoiceTranscriptionsCollection'
3
3
  import { VoicePlayerApi } from '../../types'
4
+ import { TranslationService } from '../../../translation/model/TranslationService'
5
+ import { GoogleTranslationProvider } from '../../../translation/providers/google/GoogleTranslationProvider'
6
+ import {
7
+ preservedWordsReplacers,
8
+ wordsToPreserve,
9
+ } from '../../../translation/preserve/wordsToPreserve'
4
10
 
5
11
  type TranslateParams = {
6
12
  attemptNumber: number
@@ -14,7 +20,7 @@ type TranslateResult = {
14
20
 
15
21
  export class VoiceTranscriptionTranslationModel {
16
22
  private readonly collection: VoiceTranscriptionsCollection
17
- private readonly api: VoicePlayerApi
23
+ private readonly service: TranslationService
18
24
 
19
25
  public readonly toggle = createEvent()
20
26
  public readonly setActive = createEvent<boolean>()
@@ -30,13 +36,12 @@ export class VoiceTranscriptionTranslationModel {
30
36
  const item = this.collection.get(attemptNumber)
31
37
  if (!item?.transcript) return null
32
38
 
33
- const response = await this.api.translateText({
34
- text: [item.transcript],
35
- targetLanguage,
36
- sourceLanguage: item.transcriptLanguage,
39
+ const text = await this.service.translate(item.transcript, {
40
+ targetLang: targetLanguage,
41
+ sourceLang: item.transcriptLanguage,
42
+ cacheKey: `voice::${attemptNumber}::${targetLanguage}`,
37
43
  })
38
44
 
39
- const text = response.data.translations[0]?.translatedText
40
45
  if (!text) return null
41
46
 
42
47
  return { attemptNumber, text }
@@ -52,7 +57,16 @@ export class VoiceTranscriptionTranslationModel {
52
57
 
53
58
  constructor(collection: VoiceTranscriptionsCollection, api: VoicePlayerApi) {
54
59
  this.collection = collection
55
- this.api = api
60
+ this.service = new TranslationService({
61
+ preserve: {
62
+ map: wordsToPreserve,
63
+ replacers: preservedWordsReplacers,
64
+ },
65
+ providers: [new GoogleTranslationProvider({ api: { translateRequest: api.translateText } })],
66
+ })
67
+
68
+ this.clearCache.watch(() => this.service.reset())
69
+ this.reset.watch(() => this.service.reset())
56
70
  }
57
71
 
58
72
  public getTranslation(attemptNumber: number): string | undefined {