You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用C#客户端阻止Google Translate V2更改日期格式

解决Google.Cloud.Translation.V2翻译时日期格式自动转换的问题

要阻止翻译过程中日期格式从dd/MM/yyyy被自动转换为目标语言的本地化格式(如英语的MM/dd/yyyy),可以通过以下直接高效的方法实现:

方法:使用translate="no"标记锁定日期内容

通过将日期部分包裹在带有translate="no"属性的HTML标签中,同时告知翻译API按HTML格式处理文本,就能让API跳过该部分的翻译和格式转换,完全保留原始日期格式。

修改后的代码示例

var client = TranslationClient.Create(Google.Apis.Auth.OAuth2.GoogleCredential.FromFile(@"keyFile.json"));
// 用span标签包裹日期,添加translate="no"属性标记不翻译该部分
string textToTranslate = @"نود إفادتكم بأننا حضرنا جلسة اليوم وحضر المدعى عليه وطلبت من المحكمة أجل أخير للتسوية ووافقت المحكمة على تأجيل الدعوى كأجل أخير لتاريخ <span translate=""no"">12/10/2023م</span> للتسوية أو الرد";
string textToLang = @"en";
string textFromLang = @"ar";
string translatedTextReturn = string.Empty;

// 设置翻译选项为HTML格式,确保API识别标签规则
var options = new TranslateTextOptions
{
    Format = TranslationFormat.Html,
    PreserveFormatting = true
};

TranslationResult translationResult = client.TranslateText(textToTranslate, textToLang, textFromLang, options);

translatedTextReturn = translationResult.TranslatedText;

// 可选:移除HTML标签,仅保留纯文本日期
translatedTextReturn = System.Text.RegularExpressions.Regex.Replace(translatedTextReturn, @"<span translate=""no"">(.*?)</span>", "$1");

Console.WriteLine(translatedTextReturn);
Console.ReadLine();

效果说明

修改后翻译结果中的日期会保留原始的12/10/2023م格式(若不需要末尾的阿拉伯语公历标记“م”,可提前在原文本中移除或在后期处理时删除)。

内容的提问来源于stack exchange,提问作者Ali Adnan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 13:32:52