我有一个控制台应用程序,可以按计划发送审核电子邮件。在电子邮件中,都有西班牙语和英语。
我们也在电子邮件中发送审核日期。例如: 2017年1月9日星期一。这篇文章也想转换成西班牙语。我们有什么方法可以用第三方工具将英语转换成西班牙语吗?
我无法使用资源文件进行翻译,因为在这种情况下,文本是动态的,来自db并且每个电子邮件都会更改。
答案 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
。