أضف حزم اللغات إلى صورة متعددة الجلسات في نظام التشغيل Windows 10

Azure Virtual Desktop هي خدمة يمكن للمستخدمين توزيعها في أي وقت وفي أي مكان. لهذا السبب من المهم أن يتمكن المستخدمون من تخصيص اللغة التي تعرضها صورهم متعددة الجلسات في Windows 10 Enterprise.

هناك طريقتان يمكنك من خلالهما تلبية احتياجات المستخدمين اللغوية:

  • إنشاء تجمعات مخصصة للمضيفين مع صورة مخصصة لكل لغة.
  • لديك مستخدمين لديهم متطلبات مختلفة للغة والترجمة في نفس تجمع المضيف، ولكن خصص صورهم للتأكد من أنه يمكنهم اختيار اللغة التي يحتاجون إليها.

الأسلوب الأخير أكثر كفاءة وفعالية من حيث التكلفة. ومع ذلك، فإن الأمر متروك لك لتحديد الطريقة التي تناسب احتياجاتك. توضح لك هذه المقالة كيفية تخصيص اللغات لصورك.

المتطلبات الأساسية

تحتاج إلى الأشياء التالية لتخصيص صور Windows 10 Enterprise متعددة الجلسات لإضافة لغات متعددة:

إشعار

يجب أن تكون مشاركة الملف (مستودع) قابلة للوصول من جهاز Azure الظاهري الذي تخطط لاستخدامه لإنشاء الصورة المخصصة.

إنشاء مستودع محتوى لحزم اللغة والميزات حسب الطلب

لإنشاء مستودع المحتوى لحزم اللغة وFODs ومستودع لحزم تطبيقات علبة الوارد:

  1. على Azure VM، قم بتنزيل صور Windows 10 Multi-Language ISO و FODs و Inbox Apps للجلسات المتعددة لـ Windows 10 Enterprise والإصدار 1903/1909 و 2004 من الروابط الموجودة فيPrerequisites.

  2. افتح ملفات ISO على الجهاز الظاهري وقم بتحميلها.

  3. قم بالبحث عن حزمة اللغة ISO وانسخ المحتوى من مجلدي LocalExperiencePacks وx64\langpacks، ثم الصق المحتوى في مشاركة الملف.

  4. انتقل إلى ملف FOD ISO، وانسخ كل محتوياته، ثم الصقه في مشاركة الملف.

  5. انتقل إلى المجلد amd64fre على ISO لتطبيقات علبة الوارد وانسخ المحتوى في مستودع لتطبيقات علبة الوارد التي قمت بإعدادها.

    إشعار

    إذا كنت تعمل بسعة تخزين محدودة، يجب بنسخ الملفات باللغات التي تعرف أن المستخدمين يحتاجون إليها فقط. يمكنك التمييز بين الملفات من خلال النظر إلى رموز اللغات في أسماء الملفات الخاصة بهم. على سبيل المثال، يحتوي الملف الفرنسي على الرمز "fr-FR" في اسمه. للحصول على قائمة كاملة برموز اللغات لجميع اللغات المتاحة، قم بمراجعة حزم اللغات المتوفرة لنظام التشغيل Windows.

    هام

    تتطلب بعض اللغات خطوطاً إضافية مضمنة في حزم القمر الصناعي التي تتبع اصطلاحات تسمية مختلفة. على سبيل المثال، تتضمن أسماء ملفات الخطوط اليابانية "Jpan".

    An example of the Japanese language packs with the

  6. يمكنك تعيين الأذونات على مشاركة مستودع محتوى اللغة بحيث يكون لديك حق الوصول للقراءة من الجهاز الظاهري الذي ستستخدمه لإنشاء الصورة المخصصة.

إنشاء صورة مخصصة متعددة الجلسات لـ Windows 10 Enterprise يدوياً

لإنشاء صورة مخصصة متعددة الجلسات لـ Windows 10 Enterprise يدوياً:

  1. يمكنك توزيع جهاز Azure الظاهري، ثم انتقل إلى معرض Azure وحدد الإصدار الحالي لـ Windows 10 Enterprise متعدد الجلسات الذي تستخدمه.

  2. بعد توزيع الجهاز الظاهري، اتصل به باستخدام RDP كمسؤول محلي.

  3. تأكد من أن الجهاز الظاهري الخاص بك يحتوي على أحدث تحديثات Windows. تحميل التحديثات وإعادة تشغيل الجهاز الظاهري، إذا لزم الأمر.

    هام

    بعد تثبيت حزمة لغة، قم بإعادة تثبيت آخر تحديث تراكمي مثبت على صورتك. إذا لم تقم بإعادة تثبيت آخر تحديث تراكمي، فقد تواجه أخطاء. إذا كان آخر تحديث تراكمي مثبتًا بالفعل، فلن يقدمه Windows Update مرة أخرى؛ يجب عليك إعادة تثبيته يدويًا. لمزيد من المعلومات، راجع نظرة عامة على اللغات.

  4. اتصل بحزمة اللغة وFOD، ومستودع مشاركة ملف تطبيقات علبة الوارد وقم بتحميله إلى حرف محرك الأقراص (على سبيل المثال، محرك الأقراص E).

قم بإنشاء صورة مخصصة متعددة الجلسات لنظام التشغيل Windows 10 Enterprise تلقائيًا

إذا كنت تفضل تثبيت اللغات من خلال عملية آلية، يمكنك إعداد برنامج نصي في PowerShell. يمكنك استخدام نموذج البرنامج النصي التالي لتثبيت حزم اللغات الإسبانية (إسبانيا) والفرنسية (فرنسا) والصينية (جمهورية الصين الشعبية) وحزم الأقمار الصناعية لنظام التشغيل Windows 10 Enterprise متعدد الجلسات، الإصدار 2004. يقوم البرنامج النصي بدمج حزمة واجهة اللغة وجميع حزم الأقمار الصناعية الضرورية في الصورة. ومع ذلك، يُصبح بإمكانك أيضًا تعديل هذا البرنامج النصي لتثبيت لغات أخرى. فقط تأكد من تشغيل البرنامج النصي من جلسة PowerShell مرتفعة، وإلا فلن يعمل.

########################################################
## Add Languages to running Windows Image for Capture ##
########################################################

##Disable Language Pack Cleanup##
Disable-ScheduledTask -TaskPath "\Microsoft\Windows\AppxDeploymentClient\" -TaskName "Pre-staged app cleanup"

##Set Language Pack Content Stores##
[string]$LIPContent = "E:"

##Spanish##
Add-AppProvisionedPackage -Online -PackagePath $LIPContent\es-es\LanguageExperiencePack.es-es.Neutral.appx -LicensePath $LIPContent\es-es\License.xml
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Client-Language-Pack_x64_es-es.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Basic-es-es-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Handwriting-es-es-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-OCR-es-es-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Speech-es-es-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-TextToSpeech-es-es-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Notepad-FoD-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-PowerShell-ISE-FOD-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Printing-WFS-FoD-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-StepsRecorder-Package~31bf3856ad364e35~amd64~es-es~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-WordPad-FoD-Package~31bf3856ad364e35~amd64~es-es~.cab
$LanguageList = Get-WinUserLanguageList
$LanguageList.Add("es-es")
Set-WinUserLanguageList $LanguageList -force

##French##
Add-AppProvisionedPackage -Online -PackagePath $LIPContent\fr-fr\LanguageExperiencePack.fr-fr.Neutral.appx -LicensePath $LIPContent\fr-fr\License.xml
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Client-Language-Pack_x64_fr-fr.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Basic-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Handwriting-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-OCR-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Speech-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-TextToSpeech-fr-fr-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~fr-fr~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Notepad-FoD-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-PowerShell-ISE-FOD-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Printing-WFS-FoD-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-StepsRecorder-Package~31bf3856ad364e35~amd64~fr-FR~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-WordPad-FoD-Package~31bf3856ad364e35~amd64~fr-FR~.cab
$LanguageList = Get-WinUserLanguageList
$LanguageList.Add("fr-fr")
Set-WinUserLanguageList $LanguageList -force

##Chinese(PRC)##
Add-AppProvisionedPackage -Online -PackagePath $LIPContent\zh-cn\LanguageExperiencePack.zh-cn.Neutral.appx -LicensePath $LIPContent\zh-cn\License.xml
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Client-Language-Pack_x64_zh-cn.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Basic-zh-cn-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Fonts-Hans-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Handwriting-zh-cn-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-OCR-zh-cn-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-Speech-zh-cn-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-LanguageFeatures-TextToSpeech-zh-cn-Package~31bf3856ad364e35~amd64~~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-MSPaint-FoD-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Notepad-FoD-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-PowerShell-ISE-FOD-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-Printing-WFS-FoD-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-StepsRecorder-Package~31bf3856ad364e35~amd64~zh-cn~.cab
Add-WindowsPackage -Online -PackagePath $LIPContent\Microsoft-Windows-WordPad-FoD-Package~31bf3856ad364e35~amd64~zh-cn~.cab
$LanguageList = Get-WinUserLanguageList
$LanguageList.Add("zh-cn")
Set-WinUserLanguageList $LanguageList -force

قد يستغرق البرنامج النصي بعض الوقت بناءً على عدد اللغات التي تحتاج إلى تثبيتها.

بمجرد الانتهاء من تشغيل البرنامج النصي، تحقق للتأكد من تثبيت حزم اللغات بشكل صحيح عن طريق الانتقال إلى البدء> الإعدادات> Time ولغة اللغة.> إذا كانت ملفات اللغة موجودة، فأنت جاهز تمامًا.

بعد إضافة لغات إضافية إلى صورة Windows، يلزم أيضًا تحديث تطبيقات البريد الوارد لدعم اللغات المضافة. يمكن القيام بذلك عن طريق تحديث التطبيقات المثبتة مسبقًا بالمحتوى من تطبيقات البريد الوارد ISO. لإجراء هذا التحديث في بيئة لا يتوفر فيها الجهاز الظاهري إمكانية الوصول إلى الإنترنت، يُصبح بإمكانك استخدام قالب البرنامج النصي PowerShell التالي لأتمتة العملية وتحديث الإصدارات المثبتة فقط من تطبيقات علبة الوارد.

#########################################
## Update Inbox Apps for Multi Language##
#########################################
##Set Inbox App Package Content Stores##
[string] $AppsContent = "F:\"

##Update installed Inbox Store Apps##
foreach ($App in (Get-AppxProvisionedPackage -Online)) {
	$AppPath = $AppsContent + $App.DisplayName + '_' + $App.PublisherId
	Write-Host "Handling $AppPath"
	$licFile = Get-Item $AppPath*.xml
	if ($licFile.Count) {
		$lic = $true
		$licFilePath = $licFile.FullName
	} else {
		$lic = $false
	}
	$appxFile = Get-Item $AppPath*.appx*
	if ($appxFile.Count) {
		$appxFilePath = $appxFile.FullName
		if ($lic) {
			Add-AppxProvisionedPackage -Online -PackagePath $appxFilePath -LicensePath $licFilePath 
		} else {
			Add-AppxProvisionedPackage -Online -PackagePath $appxFilePath -skiplicense
		}
	}
}

هام

تطبيقات علبة الوارد المضمنة في ISO ليست أحدث إصدارات تطبيقات Windows المثبتة مسبقًا. للحصول على أحدث إصدار من جميع التطبيقات، قم بتحديث التطبيقات باستخدام تطبيق متجر Windows وإجراء بحث يدوي عن التحديثات بعد تثبيت اللغات الإضافية.

بمجرد الانتهاء، تأكد من قطع اتصال المشاركة.

الانتهاء من تخصيص صورتك

بعد تثبيت حزم اللغات، يمكنك تثبيت أي برنامج آخر تريد إضافته إلى الصورة المخصصة الخاصة بك.

بمجرد الانتهاء من تخصيص صورتك، ستحتاج إلى تشغيل أداة إعداد النظام (sysprep).

لتشغيل sysprep:

  1. افتح موجه أوامر غير مقيد ثم قم بتشغيل الأمر التالي لتعميم الصورة:

    C:\Windows\System32\Sysprep\sysprep.exe /oobe /generalize /shutdown
    
  2. قم بإيقاف الجهاز الظاهري، ثم التقطه في صورة مدارة باتباع الإرشادات الواردة في إنشاء صورة مدارة لجهاز ظاهري معمم في Azure.

  3. يمكنك الآن استخدام الصورة المخصصة لتوزيع تجمع مضيف Azure Virtual Desktop. لمعرفة كيفية توزيع تجمع مضيف، قم بمراجعةالبرنامج التعليمي: إنشاء تجمع مضيف باستخدام مدخل Microsoft Azure.

تمكين اللغات في تطبيق إعدادات Windows

وأخيراً، بعد توزيع تجمع المضيف، ستحتاج إلى إضافة اللغة إلى قائمة لغات كل مستخدم حتى يتمكن من تحديد لغته المفضلة في القائمة «الإعدادات».

للتأكد من أن المستخدمين يمكنهم تحديد اللغات التي قمت بتثبيتها، قم بتسجيل الدخول كمستخدم، ثم قم بتشغيل أمر Cmdlet PowerShell التالي لإضافة حزم اللغات المثبتة إلى قائمة اللغات. يمكنك أيضاً إعداد هذا البرنامج النصي كمهمة تلقائية أو برنامج نصي لتسجيل الدخول يتم تنشيطه عند تسجيل دخول المستخدم إلى جلسة العمل الخاصة به.

$LanguageList = Get-WinUserLanguageList
$LanguageList.Add("es-es")
$LanguageList.Add("fr-fr")
$LanguageList.Add("zh-cn")
Set-WinUserLanguageList $LanguageList -force

بعد أن يغير المستخدم إعدادات اللغة الخاصة به، سيحتاج إلى تسجيل الخروج من جلسة عمل Azure Virtual Desktop الخاصة به، ثم تسجيل الدخول مرة أخرى حتى تدخل التغييرات حيز التنفيذ.

الخطوات التالية

إذا كنت مهتما بالمشكلات المعروفة لحزم اللغات، قم بمشاهدةإضافة حزم اللغات في Windows 10 والإصدار 1803 والإصدارات الأحدث: المشاكل المعروفة.

إذا كانت لديك أي أسئلة أخرى بشأن Windows 10 Enterprise متعددة الجلسات، قم بمراجعةالأسئلة المتداولة.