PowerShell 技能连载 - 获取父级文化
大部分情况下,本地化资源都会标有类似 “en-us” 或 “de-de” 这样的文化名称。如果你想知道这种标识代表什么,只需将其转换为 [System.Globalization.CultureInfo]
对象:
1 | PS> [System.Globalization.CultureInfo]'en-us' |
正如你所见,文化名称非常细致。例如,有 106 个子文化都属于同一个英语基础文化:
1 | PS> [System.Globalization.CultureInfo]::GetCultures( [System.Globalization.CultureTypes]::AllCultures) | Where-Object Parent -eq 'en' |
如果您的代码最终需要检查给定的资源区域设置是否与您的兴趣相匹配,而不是将资源区域设置与您的用户界面区域设置进行比较,您可能希望获取您的用户界面区域设置和资源的父级区域设置,并查看它们是否匹配。
这样,英国用户(en-GB)也将找到美国的文档(en-us)。同样,瑞士用户(de-ch)将找到德国的资源(de-de)。