@@ -142,17 +142,19 @@ fn check_params(body: &TranslateRequest, args: &Args, required_params: &[(&str,
142142}
143143
144144fn improve_formatting ( q : & String , translation : & String ) -> String {
145+ let t = translation. trim ( ) . to_string ( ) ;
146+
145147 if q. len ( ) == 0 {
146148 return String :: new ( ) ;
147149 }
148150
149- if translation . len ( ) == 0 {
150- return q. clone ( )
151+ if t . len ( ) == 0 {
152+ return q. clone ( ) ;
151153 }
152154
153155 let q_last_char = q. chars ( ) . rev ( ) . next ( ) . unwrap ( ) ;
154- let translation_last_char = translation . chars ( ) . rev ( ) . next ( ) . unwrap ( ) ;
155- let mut result = translation . clone ( ) ;
156+ let translation_last_char = t . chars ( ) . rev ( ) . next ( ) . unwrap ( ) ;
157+ let mut result = t . clone ( ) ;
156158
157159 const PUNCTUATION_CHARS : [ char ; 6 ] = [ '!' , '?' , '.' , ',' , ';' , '。' ] ;
158160 if PUNCTUATION_CHARS . contains ( & q_last_char) {
@@ -177,9 +179,9 @@ fn improve_formatting(q: &String, translation: &String) -> String {
177179
178180 if let ( Some ( q0) , Some ( r0) ) = ( q. chars ( ) . next ( ) , result. chars ( ) . next ( ) ) {
179181 if q0. is_lowercase ( ) && r0. is_uppercase ( ) {
180- result. replace_range ( 0 ..r0. len_utf8 ( ) , & r0. to_uppercase ( ) . to_string ( ) ) ;
181- } else if q0. is_uppercase ( ) && r0. is_lowercase ( ) {
182182 result. replace_range ( 0 ..r0. len_utf8 ( ) , & r0. to_lowercase ( ) . to_string ( ) ) ;
183+ } else if q0. is_uppercase ( ) && r0. is_lowercase ( ) {
184+ result. replace_range ( 0 ..r0. len_utf8 ( ) , & r0. to_uppercase ( ) . to_string ( ) ) ;
183185 }
184186 }
185187
0 commit comments