Import-LocalizedData
Importe des données spécifiques au langage dans des scripts et des fonctions en fonction de la culture de l’interface utilisateur sélectionnée pour le système d’exploitation.
Syntaxe
Default (Par défaut)
Import-LocalizedData
[[-BindingVariable] <String>]
[[-UICulture] <String>]
[-BaseDirectory <String>]
[-FileName <String>]
[-SupportedCommand <String[]>]
[<CommonParameters>]
Description
L’applet de commande Import-LocalizedData récupère dynamiquement des chaînes à partir d’un sous-répertoire dont le nom correspond au langage d’interface utilisateur défini pour l’utilisateur actuel du système d’exploitation. Il est conçu pour permettre aux scripts d’afficher les messages utilisateur dans la langue de l’interface utilisateur sélectionnée par l’utilisateur actuel.
Import-LocalizedData Importe les données des .psd1 fichiers des sous-répertoires spécifiques à la langue du répertoire de script et les enregistre dans une variable locale spécifiée dans la commande. L’applet de commande sélectionne le sous-répertoire et le fichier en fonction de la valeur de la variable automatique $PSUICulture. Lorsque vous utilisez la variable locale dans le script pour afficher un message utilisateur, le message s’affiche dans la langue de l’interface utilisateur de l’utilisateur.
Vous pouvez utiliser les paramètres de pour spécifier une autre culture d’interface Import-LocalizedData utilisateur, un chemin d’accès et un nom de fichier, pour ajouter des commandes prises en charge et pour supprimer le message d’erreur qui s’affiche si les .psd1 fichiers sont introuvables.
L’applet de commande Import-LocalizedData prend en charge l’initiative d’internationalisation de script introduite dans Windows PowerShell 2.0. Cette initiative vise à mieux servir les utilisateurs dans le monde entier en permettant aux scripts d’afficher facilement des messages utilisateur dans la langue de l’interface utilisateur de l’utilisateur actuel. Pour plus d’informations sur ce problème et sur le format des fichiers .psd1, consultez about_Script_Internationalization.
Exemples
Exemple 1 : Importer des chaînes de texte
Cet exemple importe des chaînes de texte dans la variable $Messages. Il utilise les valeurs par défaut de tous les autres paramètres d’applet de commande.
Import-LocalizedData -BindingVariable "Messages"
Si la commande est incluse dans le script Archives.ps1 dans le répertoire C:\Test et que la valeur de la variable automatique $PsUICulture est zh-CN, Import-LocalizedData importe le fichier Archives.psd1 dans le répertoire C:\test\zh-CN dans la variable $Messages.
Exemple 2 : Importer des chaînes de données localisées
Cet exemple est exécuté sur la ligne de commande et non dans un script. Il obtient des chaînes de données localisées à partir du fichier Test.psd1 et les affiche à la ligne de commande. Étant donné que la commande n’est pas utilisée dans un script, le paramètre FileName est requis. La commande utilise le paramètre UICulture
Import-LocalizedData -FileName "Test.psd1" -UICulture "en-US"
Name Value
---- -----
Msg3 "Use $_ to represent the object that is 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 Renvoie une table de hachage qui contient les chaînes de données localisées.
Exemple 3 : Importer les chaînes de culture de l'interface utilisateur
Import-LocalizedData -BindingVariable "MsgTbl" -UICulture "ar-SA" -FileName "Simple" -BaseDirectory "C:\Data\Localized"
Cette commande importe des chaînes de texte dans la variable $MsgTbl d’un script.
Il utilise le paramètre UICulture
Exemple 4 : Importer des données localisées dans un script
Cet exemple montre comment utiliser des données localisées dans un script simple.
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 is 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.
La première partie de l’exemple montre le contenu du fichier Test.psd1. Il contient une ConvertFrom-StringData commande qui convertit une série de chaînes de texte nommées en une table de hachage. Le fichier Test.psd1 se trouve dans le sous-répertoire en-US du répertoire C:\Test qui contient le script.
La deuxième partie de l’exemple montre le contenu du script Test.ps1. Il contient une commande Import-LocalizedData qui importe les données du fichier .psd1 correspondant dans la variable $Messages et une commande Write-Host qui écrit l’un des messages de la variable $Messages dans le programme hôte.
La dernière partie de l’exemple exécute le script. La sortie indique qu’elle affiche le message utilisateur correct dans la langue de l’interface utilisateur définie pour l’utilisateur actuel du système d’exploitation.
Exemple 5 : Remplacer les chaînes de texte par défaut dans un script
Cet exemple montre comment utiliser Import-LocalizedData pour remplacer les chaînes de texte par défaut définies dans la section DATA d’un script.
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...
Dans cet exemple, la section DATA du script TestScript.ps1 contient une ConvertFrom-StringData commande qui convertit le contenu de la section DATA en une table de hachage et stocke la valeur de la $UserMessages variable.
Le script inclut également une Import-LocalizedData commande qui importe une table de hachage des chaînes de texte traduites à partir du fichier TestScript.psd1 dans le sous-répertoire spécifié par la valeur de la $PsUICulture variable. Si la commande trouve le .psd1 fichier, elle enregistre les chaînes traduites du fichier dans la valeur de la même $UserMessages variable, en écrasant la table de hachage enregistrée par la logique de la section DATA.
La troisième commande affiche le premier message dans la variable $UserMessages.
Si la commande Import-LocalizedData recherche un fichier .psd1 pour la langue $PsUICulture, la valeur de la variable $UserMessages contient les chaînes de texte traduites. Si la commande échoue pour une raison quelconque, la commande affiche les chaînes de texte par défaut définies dans la section DATA du script.
Exemple 6 : Supprimer les messages d’erreur si la culture de l’interface utilisateur est introuvable
Cet exemple montre comment supprimer les messages d’erreur qui s’affichent lorsque vous ne trouvez pas les répertoires qui correspondent à la culture de l’interface utilisateur de l’utilisateur ou que Import-LocalizedData vous ne trouvez pas de .psd1 fichier pour le script dans ces répertoires.
PS C:\> # In Day1.ps1
Import-LocalizedData -BindingVariable "Day"
# In Day2.ps1
Import-LocalizedData -BindingVariable "Day" -ErrorAction:SilentlyContinue
PS C:\> .\Day1.ps1
Import-LocalizedData : Cannot 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
Vous pouvez utiliser le ErrorAction paramètre commun avec la valeur SilentlyContinue pour supprimer le message d’erreur. Cela est particulièrement utile lorsque vous avez fourni des messages utilisateur dans une langue par défaut ou de secours, et aucun message d’erreur n’est nécessaire.
Cet exemple compare deux scripts, Day1.ps1 et Day2.ps1, qui incluent une commande Import-LocalizedData. Les scripts sont identiques, sauf que Day2 utilise la ErrorAction paramètre commun avec une valeur de SilentlyContinue.
L’exemple de sortie affiche les résultats de l’exécution des deux scripts lorsque la culture de l’interface utilisateur est définie sur fr-BE et qu’il n’existe aucun fichier ou répertoire correspondant pour cette culture d’interface utilisateur.
Day1.ps1 affiche un message d’erreur et une sortie en anglais.
Day2.ps1 affiche simplement la sortie anglaise.
Paramètres
-BaseDirectory
Spécifie le répertoire de base où se trouvent les fichiers .psd1. La valeur par défaut est le répertoire où se trouve le script.
Import-LocalizedData recherche le fichier .psd1 pour le script dans un sous-répertoire spécifique à la langue du répertoire de base.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-BindingVariable
Spécifie la variable dans laquelle les chaînes de texte sont importées. Entrez un nom de variable sans signe dollar ($).
Dans Windows PowerShell 2.0, ce paramètre est requis. Dans Windows PowerShell 3.0, ce paramètre est facultatif. Si vous omettez ce paramètre, Import-LocalizedData renvoie une table de hachage des chaînes de texte. La table de hachage est transmise au pipeline ou affichée sur la ligne de commande.
Lorsque vous utilisez Import-LocalizedData pour remplacer les chaînes de texte par défaut spécifiées dans la section DATA d’un script, affectez la section DATA à une variable et entrez le nom de la variable de section DATA dans la valeur du paramètre BindingVariable. Ensuite, lorsque
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | Variable |
Jeux de paramètres
(All)
| Position: | 0 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-FileName
Spécifie le nom du fichier de données (.psd1) à importer. Entrez un nom de fichier. Vous pouvez spécifier un nom de fichier qui n’inclut pas son .psd1 extension de nom de fichier, ou vous pouvez spécifier le nom de fichier incluant l’extension de nom de .psd1 fichier. Les fichiers de données doivent être enregistrés en tant qu’Unicode ou UTF-8.
Le paramètre FileName est obligatoire lorsqu’il Import-LocalizedData n’est pas utilisé dans un script.
Sinon, le paramètre est facultatif et la valeur par défaut est le nom de base du script. Vous pouvez utiliser ce paramètre pour diriger Import-LocalizedData pour rechercher un autre fichier .psd1.
Par exemple, si FileName est omis et que le nom du script est FindFiles.ps1, Import-LocalizedData recherche le fichier de données FindFiles.psd1.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-SupportedCommand
Spécifie les applets de commande et les fonctions qui génèrent uniquement des données.
Utilisez ce paramètre pour inclure des applets de commande et des fonctions que vous avez écrites ou testées. Pour plus d'informations, voir about_Script_Internationalization.
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-UICulture
Spécifie une autre culture d’interface utilisateur.
La valeur par défaut est la valeur de la variable automatique $PsUICulture.
Entrez une culture d’interface utilisateur au format <language>-<region>, par exemple en-US, de-DEou ar-SA.
La valeur du paramètre UICulture
L’applet de commande recherche un sous-répertoire portant le même nom que la valeur du paramètre UICulture .psd1 pas de fichier pour le script, il recherche un sous-répertoire portant le nom du code de langue, tel que de ou ar. S’il ne trouve pas le sous-répertoire ou .psd1 le fichier, la commande échoue et les données sont affichées dans la langue par défaut spécifiée dans le script.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | 1 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
Entrées
None
Vous ne pouvez pas diriger d'entrée vers cette applet de commande.
Sorties
Hashtable
Import-LocalizedData enregistre la table de hachage dans la variable spécifiée par la valeur du paramètre BindingVariable .
Notes
Avant d’utiliser
Import-LocalizedData, localisez vos messages utilisateur. Mettez en forme les messages pour chaque paramètre régional (culture de l’interface utilisateur) dans une table de hachage de paires clé-valeur et enregistrez la table de hachage dans un fichier portant le même nom que le script et une extension de nom de.psd1fichier. Créez un répertoire sous le répertoire de script pour chaque culture d’interface utilisateur prise en charge, puis enregistrez le fichier.psd1pour chaque culture de l’interface utilisateur dans le répertoire avec le nom de la culture de l’interface utilisateur.Par exemple, localisez vos messages utilisateur pour les paramètres régionaux de-DE et mettez-les en forme dans une table de hachage. Enregistrez la table de hachage dans un
<ScriptName>.psd1fichier. Créez ensuite un sous-répertoirede-DEsous le répertoire de script, puis enregistrez le fichier<ScriptName\>.psd1allemand dans le sous-répertoirede-DE. Répétez cette méthode pour chaque paramètre régional pris en charge.Import-LocalizedDataeffectue une recherche structurée pour les messages utilisateur localisés d’un script.Import-LocalizedDatacommence la recherche dans le répertoire où se trouve le fichier de script (ou la valeur du paramètre BaseDirectory). Il recherche ensuite dans le répertoire de base un sous-répertoire portant le même nom que la valeur de la variable$PsUICulture(ou la valeur du paramètre UICulture), par exemplede-DEouar-SA. Ensuite, il recherche dans ce sous-répertoire un fichier.psd1portant le même nom que le script (ou la valeur du paramètre FileName).S’il ne trouve pas de sous-répertoire portant le nom de la culture de l’interface utilisateur, ou si
Import-LocalizedDatale sous-répertoire ne contient.psd1pas de fichier pour le script, il recherche un.psd1fichier pour le script dans un sous-répertoire portant le nom du code de langue, tel que de ou ar. S’il ne trouve pas le sous-répertoire ou.psd1le fichier, la commande échoue, les données sont affichées dans la langue par défaut du script et un message d’erreur s’affiche expliquant que les données n’ont pas pu être importées. Pour supprimer le message et échouer de manière élégante, utilisez le paramètre commun ErrorAction avec la valeur SilentlyContinue.S’il
Import-LocalizedDatatrouve le sous-répertoire et le.psd1fichier, il importe la table de hachage des messages utilisateur dans la valeur du paramètre BindingVariable de la commande. Ensuite, lorsque vous affichez un message à partir de la table de hachage dans la variable, le message localisé s’affiche.Pour plus d'informations, voir about_Script_Internationalization.