NOM
Import-LocalizedData
RÉSUMÉ
Importe des données spécifiques à une langue dans des scripts et fonctions selon la culture d'interface utilisateur sélectionnée pour le système d'exploitation.
SYNTAXE
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 d'un sous-répertoire dont le nom correspond au jeu de langues d'interface utilisateur de l'utilisateur actuel du système d'exploitation. Elle est conçue pour activer des scripts permettant d'afficher les messages utilisateur dans la langue d'interface utilisateur sélectionnée par l'utilisateur actuel.
Import-LocalizedData importe les données des fichiers .psd1 des sous-répertoires spécifiques à une 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 du script pour afficher un message utilisateur, ce message apparaît dans la langue d'interface de l'utilisateur.
Vous pouvez utiliser les paramètres de Import-LocalizedData pour spécifier une autre culture d'interface utilisateur, un autre chemin d'accès et un autre nom de fichier, pour ajouter des commandes prises en charge et pour supprimer le message d'erreur qui s'affiche si les fichiers .psd1 sont introuvables.
L'applet de commande Import-LocalizedData prend en charge l'internationalisation des scripts dans Windows PowerShell 2.0. Cette initiative a pour objectif de mieux servir les utilisateurs du monde entier en facilitant l'affichage par les scripts des messages des utilisateurs dans la langue d'interface utilisateur de l'utilisateur actuel. Pour plus d'informations à ce sujet et sur le format des fichiers .psd1, consultez about_Script_Internationalization.
PARAMÈTRES
-BaseDirectory <string>
Spécifie le répertoire de base des fichiers .psd1. La valeur par défaut est le répertoire du script. Import-LocalizedData recherche le fichier .psd1 du script dans un sous-répertoire spécifique à la langue du répertoire de base.
Obligatoire ? false
Position ? named
Valeur par défaut
Accepter l'entrée de pipeline ? false
Accepter les caractères génériques ? false
-BindingVariable <string>
Spécifie une variable dans laquelle les chaînes de texte sont importées. Entrez un nom de variable sans le symbole dollar ($).
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, assignez la section DATA à une variable, puis entrez le nom de la variable de la section DATA dans la valeur du paramètre BindingVariable. Ensuite, lorsque l'applet de commande Import-LocalizedData enregistre le contenu importé dans le paramètre BindingVariable, les données importées remplacent les chaînes de texte par défaut. Si vous ne spécifiez pas de chaînes de texte par défaut, vous pouvez sélectionner n'importe quel nom de variable.
Obligatoire ? true
Position ? 1
Valeur par défaut
Accepter l'entrée de pipeline ? false
Accepter les caractères génériques ? false
-FileName <string>
Spécifie le nom du fichier .psd1 à importer. Entrez un nom de fichier sans l'extension .psd1.
La valeur par défaut est le nom du script. Par exemple, si le script s'intitule FindFiles.ps1, Import-LocalizedData recherche FindFiles.psd1. Vous pouvez utiliser ce paramètre pour demander à Import-LocalizedData de rechercher un autre fichier .psd1.
Obligatoire ? false
Position ? named
Valeur par défaut
Accepter l'entrée de pipeline ? false
Accepter les caractères génériques ? false
-SupportedCommand <string[]>
Spécifie les applets de commande et les fonctions qui génèrent uniquement des données.
Utilisez ce paramètre pour inclure les applets de commande et les fonctions que vous avez écrites ou testées. Pour plus d'informations, consultez about_Script_Internationalization.
Obligatoire ? false
Position ? named
Valeur par défaut Aucun
Accepter l'entrée de pipeline ? false
Accepter les caractères génériques ? false
-UICulture <string>
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 « <langue>-<région> », tel que en-US, de-DE ou ar-SA.
La valeur du paramètre UICulture détermine le sous-répertoire spécifique à la langue (dans le répertoire de base) à partir duquel Import-LocalizedData obtient le fichier .psd1 du script.
L'applet de commande recherche un sous-répertoire portant le même nom que la valeur du paramètre UICulture ou la variable automatique $PsUICulture, tel que « de-DE » ou « ar-SA ». Si elle ne trouve pas le répertoire ou si le répertoire ne contient pas de fichier .psd1 pour le script, elle recherche un sous-répertoire avec le nom du code de langue, tel que « de » ou « ar ». Si elle ne trouve pas le sous-répertoire ou le fichier .psd1, la commande échoue et les données s'affichent dans la langue par défaut spécifiée dans le script.
Obligatoire ? false
Position ? 2
Valeur par défaut
Accepter l'entrée de pipeline ? false
Accepter les caractères génériques ? false
<CommonParameters>
Cette applet de commande prend en charge les paramètres courants : Verbose, Debug,
ErrorAction, ErrorVariable, WarningAction, WarningVariable,
OutBuffer et OutVariable. Pour plus d'informations, tapez
« get-help about_commonparameters ».
ENTRÉES
Aucun
Vous ne pouvez pas diriger d'entrée vers cette applet de commande.
SORTIES
System.Collections.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 de chaque paramètre régional (culture d'interface utilisateur) dans une table de hachage de paires clé/valeur, puis enregistrez la table de hachage dans un fichier portant le même nom que le script et présentant l'extension .psd1 . Créez un répertoire dans le répertoire de script pour chaque culture d'interface utilisateur prise en charge, puis enregistrez le fichier .psd1 de chaque culture d'interface utilisateur dans le répertoire portant le nom de la culture d'interface utilisateur.
Vous pouvez ainsi localiser vos messages utilisateur pour les paramètres régionaux de-DE et les mettre en forme dans une table de hachage. Enregistrez la table de hachage dans un fichier <NomScript>.psd1. Créez ensuite un sous-répertoire de-DE dans le répertoire de script et enregistrez le fichier de-DE <NomScript>.psd1 dans le sous-répertoire de-DE. Répétez cette méthode pour chaque paramètre régional pris en charge.
Import-LocalizedData effectue une recherche structurée pour détecter les messages utilisateur localisés associés à un script.
Import-LocalizedData commence la recherche dans le répertoire du fichier de script (ou la valeur du paramètre BaseDirectory). Elle 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), tel que « de-DE » ou « ar-SA ». Elle recherche alors dans ce sous-répertoire un fichier .psd1 portant le même nom que le script (ou la valeur du paramètre FileName).
Si Import-LocalizedData ne trouve pas de sous-répertoire portant le nom de la culture d'interface utilisateur, ou si le sous-répertoire ne contient pas de fichier .psd1 pour le script, elle recherche un fichier .psd1 pour le script dans un sous-répertoire portant le nom du code de langue, tel que « de » ou « ar ». Si elle ne trouve pas le sous-répertoire ou le fichier .psd1, la commande échoue, les données s'affichent dans la langue par défaut du script et un message d'erreur apparaît pour expliquer que les données n'ont pas pu être importées. Pour supprimer le message et gérer correctement l'échec, utilisez le paramètre courant ErrorAction avec la valeur SilentlyContinue.
Si Import-LocalizedData trouve le sous-répertoire et le fichier .psd1, elle importe la table de hachage de messages utilisateur dans la valeur du paramètre BindingVariable de la commande. Ensuite, lorsque vous affichez un message de la table de hachage dans la variable, le message localisé s'affiche.
Pour plus d'informations, consultez about_Script_Internationalization.
-------------------------- EXEMPLE 1 --------------------------
C:\PS>import-localizeddata -bindingVariable messages
Description
-----------
Cette commande importe des chaînes de texte dans la variable $messages. Elle utilise toutes les valeurs par défaut des paramètres de l'applet de commande.
Si la commande est incluse dans le script Archives.ps1 du répertoire C:\test, et si la valeur de la variable automatique $PsUICulture est zh-CN, Import-LocalizedData importe le fichier Archives.psd1 dans le répertoire C:\test\zh-C
N.
-------------------------- EXEMPLE 2 --------------------------
C:\PS>import-localizeddata -bindingVariable msgTbl -uiculture ar-SA -filename Simple -baseDirectory C:\Data\Localized
Description
-----------
Cette commande importe des chaînes de texte dans la variable $msgTbl d'un script.
Elle utilise le paramètre UICulture pour demander à l'applet de commande d'importer les données à partir du fichier Simple.psd1 du sous-répertoire ar-SA de C:\Data\Localized.
-------------------------- EXEMPLE 3 --------------------------
C:\PS># 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
C:\PS> .\test.ps1
This command requires the credentials of a member of the Administrators group on the computer.
Description
-----------
Cet exemple montre comment utiliser les données localisées d'un script simple.
La première partie de l'exemple affiche le contenu du fichier Test.psd1. Elle contient une commande ConvertFrom-StringData qui convertit une série de chaînes de texte nommé en une table de hachage. Le fichier test.psd1 se trouve dans le sous-répertoire en-US du répertoire C:\Test contenant le script.
La deuxième partie de l'exemple affiche le contenu du script Test.ps1. Elle contient une commande Import-LocalizedData qui importe les données du fichier .psd1 correspondant dans la variable $Messages, ainsi qu'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 montre que le script affiche le message utilisateur correct dans la langue d'interface utilisateur définie pour l'utilisateur actuel du système d'exploitation.
-------------------------- EXEMPLE 4 --------------------------
C:\PS># 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
...
Description
-----------
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.
Dans cet exemple, la section DATA du script TestScript.ps1 contient une commande ConvertFrom-StringData qui convertit le contenu de la section DATA en une table de hachage et stocke la valeur de la variable $UserMessages.
Le script comprend également une commande Import-LocalizedData, qui importe une table de hachage de chaînes de texte traduites à partir du fichier TestScript.psd1 dans le sous-répertoire spécifié par la valeur de la variable $PsUICulture. Si la commande trouve le fichier .psd1, elle enregistre les chaînes traduites du fichier dans la valeur de la même variable $UserMessages, en remplaçant la table de hachage enregistrée par la logique de la section DATA.
La troisième commande affiche le premier message de la variable $UserMessages.
Si la commande Import-LocalizedData trouve un fichier .psd1 pour la langue $PsUICulture, la valeur de la variable $UserMessages contient les chaînes de texte traduites. Si la commande échoue, quelle qu'en soit la raison, elle affiche les chaînes de texte par défaut définies dans la section DATA du script.
-------------------------- EXEMPLE 5 --------------------------
C:\PS># In Day1.ps1
Import-LocalizedData -bindingVariable Day
Day.MessageDate
# In Day2.ps1
Import-LocalizedData -bindingVariable Day -errorAction:silentlycontinue
Day.MessageDate
C:\PS> .\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
C:\PS> .\Day2.ps1
Today is Tuesday
Description
-----------
Cet exemple montre comment supprimer les messages d'erreur qui s'affichent lorsque Import-LocalizedData ne trouve pas les répertoires correspondant à la culture d'interface de l'utilisateur ou ne trouve pas un fichier .psd1 pour le script dans ces répertoires.
Vous pouvez utiliser le paramètre courant ErrorAction avec la valeur « SilentlyContinue » pour supprimer le message d'erreur. Ceci est particulièrement utile lorsque vous avez fourni des messages utilisateur dans une langue par défaut ou de base et qu'aucun message d'erreur n'est requis.
Cet exemple compare deux scripts, Day1.ps1 et Day2.ps1, qui contiennent une commande Import-LocalizedData. Ces scripts sont identiques, à ceci près que Jour2 utilise le paramètre courant ErrorAction avec la valeur SilentlyContinue
.
L'exemple de sortie affiche les résultats de l'exécution des deux scripts lorsque la culture d'interface utilisateur est définie sur fr-BE et qu'il n'y a pas de fichiers ou répertoires correspondants pour cette culture d'interface utilisateur. Day1.ps1 affiche un message d'erreur et une sortie en anglais. Day2.ps1 affiche juste la sortie en anglais.
LIENS CONNEXES
Online version: http://go.microsoft.com/fwlink/?LinkID=113342
about_Script_Internationalization
Aucun commentaire:
Enregistrer un commentaire