diff --git a/dist/client/providers/Translator/TranslatorProvider.js b/dist/client/providers/Translator/TranslatorProvider.js
index 6fca7a76d31e80ff90abcdefbab05b613712231c..4c7b93b3bad298c40967d10551d772d48f25241a 100644
--- a/dist/client/providers/Translator/TranslatorProvider.js
+++ b/dist/client/providers/Translator/TranslatorProvider.js
@@ -36,15 +36,16 @@ export const TranslatorProvider = ({ children })=>{
if (!localization) throw new Error('Localization config is not provided and PluginTranslator is used');
const localesOptions = localization.locales.filter((each)=>each.code !== locale.code);
const [localeToTranslateFrom, setLocaleToTranslateFrom] = useState('');
- useEffect(()=>{
-
const defaultFromOptions = localesOptions.find((each)=>localization.defaultLocale === each.code);
-
if (defaultFromOptions) setLocaleToTranslateFrom(defaultFromOptions.code);
-
setLocaleToTranslateFrom(localesOptions[0].code);
- }, [
-
-
-
localization.defaultLocale
- ]);
- // [PATCH] Fix: impossible de changer la langue source quand on traduit vers une langue autre que l'anglais.
- // Cause: localesOptions dans les deps du useEffect est recréé à chaque rendu (filter → nouveau tableau),
- // donc l'effet se relançait en boucle et réinitialisait localeToTranslateFrom à localesOptions[0].
- // Correction: dépendances stables (locale.code, defaultLocale), calcul des options dans l'effet, une seule assignation.
- useEffect(() => {
-
const options = localization.locales.filter((each) => each.code !== locale.code);
-
if (options.length === 0) return;
-
const defaultFrom = options.find((each) => localization.defaultLocale === each.code);
-
setLocaleToTranslateFrom((defaultFrom ?? options[0]).code);
- }, [locale?.code, localization?.defaultLocale]);
const closeTranslator = ()=>modal.closeModal(modalSlug);
const submit = async ({ emptyOnly })=>{
if (!resolver) return;
diff --git a/dist/resolvers/openAI.js b/dist/resolvers/openAI.js
index 644947d3c98805f26ea5d41b3a22153a1674710f..de7b5b0c99193da0c6e2bb4d990dd6ad05322d71 100644
--- a/dist/resolvers/openAI.js
+++ b/dist/resolvers/openAI.js
@@ -52,7 +52,32 @@ export const openAIResolver = ({ apiKey, baseUrl, chunkLength = 100, model = 'gp
success: false
};
}
-
const translatedChunk = JSON.parse(content);
-
let contentToParse = content.trim();
-
if (contentToParse[0] !== '[') {
-
const match = contentToParse.match(/\[[\s\S]*\]/);
-
if (match) contentToParse = match[0];
-
-
-
-
translatedChunk = JSON.parse(contentToParse);
-
-
var afterJsonMatch = e1.message && e1.message.match(/after JSON at position (\d+)/);
-
-
contentToParse = contentToParse.substring(0, parseInt(afterJsonMatch[1], 10)).trim();
-
-
contentToParse = contentToParse.replace(/"\s+"/g, '", "').replace(/,\s*([\]}])/g, '$1');
-
-
-
translatedChunk = JSON.parse(contentToParse);
-
-
req.payload.logger.error({
-
message: 'An error occurred when trying to translate the data using OpenAI API',
-
-
afterTrailingCommaFix: e2.message
-
-
return { success: false };
-
-
}
if (!Array.isArray(translatedChunk)) {
req.payload.logger.error({
data: translatedChunk,
@@ -63,6 +88,7 @@ export const openAIResolver = ({ apiKey, baseUrl, chunkLength = 100, model = 'gp
success: false
};
}
-
translatedChunk = translatedChunk.flatMap(function (item) { return Array.isArray(item) ? item : [item]; });
for (const text of translatedChunk){
if (text && typeof text !== 'string') {
req.payload.logger.error({
diff --git a/dist/client/providers/Translator/TranslatorProvider.js b/dist/client/providers/Translator/TranslatorProvider.js
index 6fca7a76d31e80ff90abcdefbab05b613712231c..4c7b93b3bad298c40967d10551d772d48f25241a 100644
--- a/dist/client/providers/Translator/TranslatorProvider.js
+++ b/dist/client/providers/Translator/TranslatorProvider.js
@@ -36,15 +36,16 @@ export const TranslatorProvider = ({ children })=>{
if (!localization) throw new Error('Localization config is not provided and PluginTranslator is used');
const localesOptions = localization.locales.filter((each)=>each.code !== locale.code);
const [localeToTranslateFrom, setLocaleToTranslateFrom] = useState('');
const closeTranslator = ()=>modal.closeModal(modalSlug);
const submit = async ({ emptyOnly })=>{
if (!resolver) return;
diff --git a/dist/resolvers/openAI.js b/dist/resolvers/openAI.js
index 644947d3c98805f26ea5d41b3a22153a1674710f..de7b5b0c99193da0c6e2bb4d990dd6ad05322d71 100644
--- a/dist/resolvers/openAI.js
+++ b/dist/resolvers/openAI.js
@@ -52,7 +52,32 @@ export const openAIResolver = ({ apiKey, baseUrl, chunkLength = 100, model = 'gp
success: false
};
}
@@ -63,6 +88,7 @@ export const openAIResolver = ({ apiKey, baseUrl, chunkLength = 100, model = 'gp
success: false
};
}