using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using WebActivatorEx;
using System.Globalization;
using System.Xml;
[assembly: WebActivatorEx.PreApplicationStartMethod(typeof(RegisterLanguageExtend.MyStart), "Register")]
namespace RegisterLanguageExtend
{
public class MyStart
{
public static void Register()
{
// if (IsCultureExist("en-YG")) return;
XmlDocument doc = new XmlDocument();
doc.Load(AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "/ExtendLanguageDefine.xml");
foreach (XmlElement lang in doc.DocumentElement.ChildNodes)
{
string langName = lang.GetAttribute("name");
string CultureEnglishName = lang.SelectSingleNode("CultureEnglishName").InnerText;
string CultureNativeName = lang.SelectSingleNode("CultureNativeName").InnerText;
string RegionEnglishName = lang.SelectSingleNode("RegionEnglishName").InnerText;
string RegionNativeName = lang.SelectSingleNode("RegionNativeName").InnerText;
try
{
var cib = new System.Globalization.CultureAndRegionInfoBuilder(langName, CultureAndRegionModifiers.None);
cib.LoadDataFromCultureInfo(new CultureInfo("en-US"));
cib.LoadDataFromRegionInfo(new RegionInfo("en-US"));
cib.CultureEnglishName = CultureEnglishName;
cib.CultureNativeName = CultureNativeName;
cib.RegionEnglishName = RegionEnglishName;
cib.RegionNativeName = RegionNativeName;
cib.Register();
}
catch (Exception ex)
{
//Sitecore.Diagnostics.Log.Info("自定义区域语言定义:已存在", new MyStart());
}
}
}
}
}
<?xml version="1.0" encoding="utf-8" ?>
<languages>
<language name="en-TD">
<CultureEnglishName>English (TED)</CultureEnglishName>
<CultureNativeName>English (TED)</CultureNativeName>
<RegionEnglishName>English (TED)</RegionEnglishName>
<RegionNativeName>English (TED)</RegionNativeName>
</language>
<language name="en-TT">
<CultureEnglishName>English (TT)</CultureEnglishName>
<CultureNativeName>English (TT)</CultureNativeName>
<RegionEnglishName>English (TT)</RegionEnglishName>
<RegionNativeName>English (TT)</RegionNativeName>
</language>
<language name="en-TE">
<CultureEnglishName>English (TE)</CultureEnglishName>
<CultureNativeName>English (TE)</CultureNativeName>
<RegionEnglishName>English (TE)</RegionEnglishName>
<RegionNativeName>English (TE)</RegionNativeName>
</language>
<language name="en-TJ">
<CultureEnglishName>English (TJ)</CultureEnglishName>
<CultureNativeName>English (TJ)</CultureNativeName>
<RegionEnglishName>English (TJ)</RegionEnglishName>
<RegionNativeName>English (TJ)</RegionNativeName>
</language>
</languages>