在dotnet中将动态文本从英语翻译成西班牙语

时间:2017-01-31 06:30:35

标签: c#

我有一个控制台应用程序,可以按计划发送审核电子邮件。在电子邮件中,都有西班牙语和英语。

我们也在电子邮件中发送审核日期。例如: 2017年1月9日星期一。这篇文章也想转换成西班牙语。我们有什么方法可以用第三方工具将英语转换成西班牙语吗?

我无法使用资源文件进行翻译,因为在这种情况下,文本是动态的,来自db并且每个电子邮件都会更改。

3 个答案:

答案 0 :(得分:3)

您可以在字符串方法中指定西班牙文化:

DateTime dt = DateTime.Now;
// Creates a CultureInfo for Spanish
CultureInfo ci = new CultureInfo("es");
var strFormat = "ddd MMM dd,yyyy"; //please use yours format
Console.WriteLine(dt.ToString(strFormat, ci));

答案 1 :(得分:2)

using System.Globalization;

var date = DateTime.Parse("Monday, January 09, 2017");
var culture = new CultureInfo("es-ES");
Console.WriteLine(date.ToString("D", culture));

输出

lunes, 9 de enero de 2017

答案 2 :(得分:0)

如果您查看MailMessage.BodyEncoding属性,请注意以下事项:

The default character set is "us-ascii".

尝试在发送之前更改编码:

message.BodyEncoding = Encoding.UTF8;

(我假设您正在使用System.Net.Mail.MailMessage发送。如果您直接使用System.Net.Mail.SmtpClient,我建议您切换到使用MailMessage将类的实例传递给SmtpClient

相关问题