是否可以使用powershell创建自定义文化? 我见过使用.NET和C#的例子,并想知道PowerShell是否可以做同样的事情。我只能通过计算机显示文化,但无法使用PowerShell创建自定义文化。
答案 0 :(得分:4)
msdn上CultureAndRegionInfoBuilder
class documentation的示例很容易转换为PowerShell。
$CultureName = 'x-my-culture'
$BaseCulture = [cultureinfo]::GetCultureInfo('en-US')
$BaseRegion = New-Object System.Globalization.RegionInfo 'US'
$Changes = @{
CurrencyEnglishName = 'Danish Krone'
CurrencyNativeName = 'Dansk Krone'
ISOCurrencySymbol = 'DKK'
}
try
{
# Set up CultureAndRegionInfoBuilder
Add-Type -AssemblyName sysglobl
$CultureBuilder = New-Object System.Globalization.CultureAndRegionInfoBuilder @($CultureName,[System.Globalization.CultureAndRegionModifiers]::None)
$CultureBuilder.LoadDataFromCultureInfo($BaseCulture)
$CultureBuilder.LoadDataFromRegionInfo($BaseRegion)
# Make appropriate changes
foreach($Property in $Changes.Keys){
$CultureBuilder.$Property = $Changes[$Property]
}
# Register your new culture
$CultureBuilder.Register()
}
catch
{
throw
}
要再次注销自定义区域性,请使用静态Unregister()
方法:
[System.Globalization.CultureAndRegionInfoBuilder]::Unregister('x-my-culture')