1+ using Amazon . Runtime . Internal . Transform ;
12using BotSharp . Abstraction . Infrastructures . Enums ;
23using BotSharp . Abstraction . MLTasks ;
34using BotSharp . Abstraction . Options ;
@@ -54,8 +55,11 @@ public async Task<T> Translate<T>(Agent router, string messageId, T data, string
5455 model : _router ? . LlmConfig ? . Model ) ;
5556 var template = _router . Templates . First ( x => x . Name == "translation_prompt" ) . Content ;
5657
57- var texts = unique . ToArray ( ) ;
58- var translatedStringList = await InnerTranslate ( JsonSerializer . Serialize ( texts , _options . JsonSerializerOptions ) , language , template ) ;
58+ var keys = unique . ToArray ( ) ;
59+ var texts = unique . ToArray ( )
60+ . Select ( ( text , i ) => $ "{ i + 1 } . \" { text } \" ")
61+ . ToList ( ) ;
62+ var translatedStringList = await InnerTranslate ( texts , language , template ) ;
5963
6064 try
6165 {
@@ -70,9 +74,9 @@ public async Task<T> Translate<T>(Agent router, string messageId, T data, string
7074 var translatedTexts = translatedStringList . Texts ;
7175 var map = new Dictionary < string , string > ( ) ;
7276
73- for ( var i = 0 ; i < texts . Length ; i ++ )
77+ for ( var i = 0 ; i < texts . Count ; i ++ )
7478 {
75- map . Add ( texts [ i ] , translatedTexts [ i ] ) ;
79+ map . Add ( keys [ 0 ] , translatedTexts [ i ] ) ;
7680 }
7781
7882 clonedData = Assign ( clonedData , map ) ;
@@ -293,7 +297,7 @@ private T Assign<T>(T data, Dictionary<string, string> map) where T : class
293297 /// <param name="list"></param>
294298 /// <param name="language"></param>
295299 /// <returns></returns>
296- private async Task < TranslationOutput > InnerTranslate ( string texts , string language , string template )
300+ private async Task < TranslationOutput > InnerTranslate ( List < string > texts , string language , string template )
297301 {
298302 var translator = new Agent
299303 {
0 commit comments