localizer 多语言版本
http://NLocalizer.codeplex.com/
https://github.com/ravibpatel/NLocalizer
https://www.codeproject.com/Articles/79397/Localization-process-by-using-resource-files-in-NE
https://github.com/ccollie/snowflake-net
https://github.com/SeriousM/WPFLocalizationExtension
https://github.com/ostumpf/visuallocalizer
https://wpflocalizeextension.codeplex.com/
https://www.codeproject.com/Articles/334820/Using-Globalization-and-Localization-in-ASP-NET
https://github.com/xwiz/localizer
https://www.codeproject.com/articles/19622/localizer
https://www.codeproject.com/articles/299436/wpf-localization-for-dummies
https://github.com/geffzhang/NanoFabric 微服务
https://github.com/TomPallister/Ocelot
https://github.com/tencent
https://github.com/brpc/brpc
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using NLocalizer;
namespace NLocalizer.Example
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
private void OpenFileMenu_Click(object sender, EventArgs e)
{
OpenFileDialog.ShowDialog();
}
private void SaveFileMenu_Click(object sender, EventArgs e)
{
SaveFileDialog.ShowDialog();
}
private void BrowseFolderMenu_Click(object sender, EventArgs e)
{
FolderBrowserDialog.ShowDialog();
}
private void ExampleFontMenu_Click(object sender, EventArgs e)
{
FontDialog.ShowDialog();
}
private void SelectColorMenu_Click(object sender, EventArgs e)
{
ColorDialog.ShowDialog();
}
/// <summary>
/// 顯示窗口 涂聚文
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void TestFormMenu_Click(object sender, EventArgs e)
{
using (TestForm form = new TestForm())
{
try
{
Translator.Translate(form);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, Messages.TitleError, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
form.ShowDialog();
}
}
/// <summary>
/// 改變顯示標題
/// </summary>
private void FillLanguagesMenu()
{
foreach (KeyValuePair<string, TranslationClasses> lang in Translator.Translation)
{
bool found = false;
foreach (object item in LanguagesMenu.DropDownItems)
{
if (item is ToolStripMenuItem && ((ToolStripMenuItem)item).Text == lang.Key)
{
found = true;
}
}
if (found == false)
{
//MessageBox.Show(lang.Key);
if (lang.Key.ToString() == "SimplifiedChinese")
{
ToolStripMenuItem it = new ToolStripMenuItem();
it.Text = "简体中文";
it.Name = lang.Key;
LanguagesMenu.DropDownItems.Add(it);
//LanguagesMenu.DropDownItems.Add(lang.Key);
}
else if (lang.Key.ToString() == "TraditionalChinese")
{
ToolStripMenuItem it = new ToolStripMenuItem();
it.Text = "繁体中文";
it.Name = lang.Key;
LanguagesMenu.DropDownItems.Add(it);
}
else
{
LanguagesMenu.DropDownItems.Add(lang.Key);
}
}
}
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void LoadLanguagesMenu_Click(object sender, EventArgs e)
{
try
{
Translator.Translate(this);
FillLanguagesMenu();
LanguageLabel.Text = Translator.Translation.CurrentLanguage;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, Messages.TitleError, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
/// <summary>
/// 設置顯示的語言版本
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void LanguagesMenu_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
string lng = e.ClickedItem.Text;
if (lng == "简体中文")
lng = "SimplifiedChinese";
if (lng == "繁体中文")
lng = "TraditionalChinese";
if (Translator.Translation.Exists(lng))
try
{
//if (e.ClickedItem.Text == "中文")
//{
// Translator.Translation.CurrentLanguage = "Chinese";
//}
//else
//{
// Translator.Translation.CurrentLanguage = e.ClickedItem.Text;
//}
Translator.Translation.CurrentLanguage = lng;
LanguageLabel.Text = Translator.Translation.CurrentLanguage;
Translator.Translate(this);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, Messages.TitleError, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void MessageBoxMenu_Click(object sender, EventArgs e)
{
MessageBox.Show(Messages.HelloWorld, Messages.TitleInformation,
MessageBoxButtons.OK, MessageBoxIcon.Information);
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void MainForm_Shown(object sender, EventArgs e)
{
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void MainForm_Load(object sender, EventArgs e)
{
LoadLanguagesMenu_Click(sender, e);
}
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void showdataformToolStripMenuItem_Click(object sender, EventArgs e)
{
using (DataDetailForm form = new DataDetailForm())
{
try
{
Translator.Translate(form);//控件要設置public
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, Messages.TitleError, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
form.ShowDialog();
}
}
}
}
哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)
浙公网安备 33010602011771号