[玩转系统] 导入本地化数据 (Microsoft.PowerShell.Utility)
作者:精品下载站 日期:2024-12-14 02:05:50 浏览:16 分类:玩电脑
导入本地化数据 (Microsoft.PowerShell.Utility)
Import-LocalizedData
模块 :Microsoft.PowerShell.Utility根据为操作系统选择的 UI 区域性将特定于语言的数据导入到脚本和函数中。
句法
Import-LocalizedData
[[-BindingVariable] <String>]
[[-UICulture] <String>]
[-BaseDirectory <String>]
[-FileName <String>]
[-SupportedCommand <String[]>]
[<CommonParameters>]
描述
Import-LocalizedData
cmdlet 动态地从子目录中检索其名称与操作系统当前用户的 UI 语言集相匹配的字符串。它旨在使脚本能够以当前用户选择的 UI 语言显示用户消息。
Import-LocalizedData
从脚本目录的特定于语言的子目录中的 .psd1
文件导入数据,并将它们保存在命令中指定的本地变量中。该 cmdlet 根据 $PSUICulture
自动变量的值选择子目录和文件。当您在脚本中使用局部变量来显示用户消息时,该消息将以用户的 UI 语言显示。
您可以使用 Import-LocalizedData
的参数来指定备用 UI 区域性、路径和文件名,添加受支持的命令,并抑制在 .psd1
时出现的错误消息。代码> 未找到文件。
Import-LocalizedData
cmdlet 支持 Windows PowerShell 2.0 中引入的脚本国际化计划。该举措旨在让脚本能够轻松地以当前用户的 UI 语言显示用户消息,从而更好地服务全球用户。有关此内容以及 .psd1
文件格式的详细信息,请参阅 about_Script_Internationalization。
示例
示例 1:导入文本字符串
此示例将文本字符串导入到 $Messages
变量中。它使用所有其他 cmdlet 参数的默认值。
Import-LocalizedData -BindingVariable "Messages"
如果该命令包含在 C:\Test
目录下的 Archives.ps1 脚本中,且 $PsUICulture
自动变量的值为 zh-CN,则 Import-LocalizedData
将C:\test\zh-CN
目录下的Archives.psd1
文件导入到$Messages
变量中。
示例 2:导入本地化数据字符串
此示例在命令行而不是在脚本中运行。它从 Test.psd1 文件获取本地化数据字符串并在命令行中显示它们。由于脚本中未使用该命令,因此需要 FileName 参数。该命令使用 UICulture 参数指定 en-US 区域性。
Import-LocalizedData -FileName "Test.psd1" -UICulture "en-US"
Name Value
---- -----
Msg3 "Use $_ to represent the object that's being processed."
Msg2 "This command requires the credentials of a member of the Administrators group on the...
Msg1 "The Name parameter is missing from the command."
Import-LocalizedData
返回包含本地化数据字符串的哈希表。
示例 3:导入 UI 区域性字符串
Import-LocalizedData -BindingVariable "MsgTbl" -UICulture "ar-SA" -FileName "Simple" -BaseDirectory "C:\Data\Localized"
此命令将文本字符串导入到脚本的 $MsgTbl
变量中。
它使用 UICulture 参数指示 cmdlet 从 C 的
。ar-SA
子目录中的 Simple.psd1
文件导入数据:\数据\本地化
示例 4:将本地化数据导入脚本中
此示例演示如何在简单的脚本中使用本地化数据。
PS C:\> # In C:\Test\en-US\Test.psd1:
ConvertFrom-StringData @'
# English strings
Msg1 = "The Name parameter is missing from the command."
Msg2 = "This command requires the credentials of a member of the Administrators group on the computer."
Msg3 = "Use $_ to represent the object that's being processed."
'@
# In C:\Test\Test.ps1
Import-LocalizedData -BindingVariable "Messages"
Write-Host $Messages.Msg2
# In Windows PowerShell
PS C:\> .\Test.ps1
This command requires the credentials of a member of the Administrators group on the computer.
该示例的第一部分显示了 Test.psd1
文件的内容。它包含一个 ConvertFrom-StringData
命令,可将一系列命名文本字符串转换为哈希表。 Test.psd1
文件位于包含脚本的 C:\Test
目录的 en-US 子目录中。
该示例的第二部分显示了 Test.ps1
脚本的内容。它包含一个 Import-LocalizedData
命令,该命令将数据从匹配的 .psd1
文件导入到 $Messages
变量和一个 Write- Host
命令将 $Messages
变量中的消息之一写入主机程序。
该示例的最后一部分运行脚本。输出显示它以操作系统当前用户设置的 UI 语言显示正确的用户消息。
示例 5:替换脚本中的默认文本字符串
此示例演示如何使用 Import-LocalizedData
替换脚本 DATA 部分中定义的默认文本字符串。
PS C:\> # In TestScript.ps1
$UserMessages = DATA
{ ConvertFrom-StringData @'
# English strings
Msg1 = "Enter a name."
Msg2 = "Enter your employee ID."
Msg3 = "Enter your building number."
'@
}
Import-LocalizedData -BindingVariable "UserMessages"
$UserMessages.Msg1...
在此示例中,TestScript.ps1 脚本的 DATA 部分包含一个 ConvertFrom-StringData
命令,该命令将 DATA 部分的内容转换为哈希表,并将值存储在 $UserMessages
变量。
该脚本还包含一个 Import-LocalizedData
命令,该命令从 $PsUICulture
变量值指定的子目录中的 TestScript.psd1 文件导入已翻译文本字符串的哈希表。如果该命令找到 .psd1
文件,它会将文件中翻译后的字符串保存在同一 $UserMessages
变量的值中,覆盖 DATA 部分逻辑保存的哈希表。
第三条命令显示 $UserMessages 变量中的第一条消息。
如果 Import-LocalizedData
命令找到 $PsUICulture
语言的 .psd1
文件,则 $UserMessages
的值> 变量包含翻译后的文本字符串。如果该命令由于任何原因失败,该命令将显示脚本的 DATA 部分中定义的默认文本字符串。
示例 6:如果未找到 UI 区域性,则禁止显示错误消息
此示例演示如何抑制当 Import-LocalizedData
找不到与用户 UI 区域性匹配的目录或找不到 .psd1
文件时出现的错误消息对于这些目录中的脚本。
PS C:\> # In Day1.ps1
Import-LocalizedData -BindingVariable "Day"
# In Day2.ps1
Import-LocalizedData -BindingVariable "Day" -ErrorAction:SilentlyContinue
PS C:\> .\Day1.ps1
Import-LocalizedData : Can't find PowerShell data file 'Day1.psd1' in directory 'C:\ps-test\fr-BE\'
or any parent culture directories.
At C:\ps-test\Day1.ps1:17 char:21+ Import-LocalizedData <<<< Day
Today is Tuesday
PS C:\> .\Day2.ps1
Today is Tuesday
您可以使用值为 SilentlyContinue 的 ErrorAction 公共参数来抑制错误消息。当您以默认或后备语言提供用户消息并且不需要错误消息时,这尤其有用。
此示例比较两个脚本 Day1.ps1
和 Day2.ps1,其中包含 Import-LocalizedData
命令。这些脚本是相同的,只是 Day2 使用值为 SilentlyContinue
的 ErrorAction 公共参数。
示例输出显示了当 UI 区域性设置为 fr-BE 并且该 UI 区域性没有匹配的文件或目录时运行这两个脚本的结果。 Day1.ps1
显示错误消息和英文输出。 Day2.ps1
仅显示英文输出。
参数
-BaseDirectory
指定 .psd1
文件所在的基目录。默认是脚本所在的目录。 Import-LocalizedData
在基目录的特定于语言的子目录中搜索脚本的 .psd1
文件。
String
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-BindingVariable
指定将文本字符串导入到的变量。输入不带美元符号的变量名称 ($
)。
在 Windows PowerShell 2.0 中,此参数是必需的。在 Windows PowerShell 3.0 中,此参数是可选的。如果省略此参数,Import-LocalizedData
将返回文本字符串的哈希表。哈希表沿着管道传递或显示在命令行上。
使用 Import-LocalizedData
替换脚本 DATA 部分中指定的默认文本字符串时,请将 DATA 部分分配给变量,并在 的值中输入 DATA 部分变量的名称。 BindingVariable 参数。然后,当Import-LocalizedData
将导入的内容保存在BindingVariable中时,导入的数据将替换默认的文本字符串。如果您没有指定默认文本字符串,则可以选择任何变量名称。
String
别名:Variable
位置:0
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-FileName
指定要导入的数据文件 (.psd1)
的名称。输入文件名。您可以指定不包含 .psd1
文件扩展名的文件名,也可以指定包含 .psd1
文件扩展名的文件名。数据文件应保存为 Unicode 或 UTF-8。
当脚本中未使用 Import-LocalizedData
时,需要 FileName 参数。否则,该参数是可选的,默认值是脚本的基本名称。您可以使用此参数指示 Import-LocalizedData
搜索不同的 .psd1
文件。
例如,如果省略 FileName 且脚本名称为 FindFiles.ps1
,则 Import-LocalizedData
搜索 FindFiles.psd1数据文件。
String
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-SupportedCommand
指定仅生成数据的 cmdlet 和函数。
使用此参数可以包含您已编写或测试的 cmdlet 和函数。有关详细信息,请参阅 about_Script_Internationalization。
类型 :String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-UICulture
指定备用 UI 区域性。默认值为 $PsUICulture
自动变量的值。以 <language>-.psd1
文件中。然后在脚本目录下创建一个de-DE
子目录,并将德语<ScriptName>.psd1
文件保存在de-DE
子目录中。对您支持的每个区域设置重复此方法。
Import-LocalizedData
对脚本的本地化用户消息执行结构化搜索。
Import-LocalizedData
开始在脚本文件所在的目录(或 BaseDirectory 参数的值)中搜索。然后,它在基目录中搜索与 $PsUICulture
变量的值(或 UICulture 参数的值)同名的子目录,例如 de-DE
或 ar-SA
。然后,它在该子目录中搜索与脚本同名(或 FileName 参数的值)的 .psd1
文件。
如果 Import-LocalizedData
找不到具有 UI 区域性名称的子目录,或者该子目录不包含脚本的 .psd1
文件,它将搜索子目录中脚本的 .psd1
文件,其名称为语言代码,例如 de 或 ar。如果找不到子目录或 .psd1
文件,则命令失败,数据以脚本中的默认语言显示,并显示一条错误消息,解释无法导入数据。要抑制消息并正常失败,请使用值为 SilentlyContinue 的 ErrorAction 公共参数。
如果 Import-LocalizedData
找到子目录和 .psd1
文件,则会将用户消息的哈希表导入到 BindingVariable 参数的值中命令。然后,当您在变量中显示哈希表中的消息时,将显示本地化的消息。
有关详细信息,请参阅 about_Script_Internationalization。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag