Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Copilot Studio kullanarak müşterilerle farklı dillerde iletişim kuran bir aracı oluşturabilirsiniz. Çok dilli ajanları, ajanın web tarayıcı ayarlarına göre istenen dili otomatik olarak tespit edecek şekilde yapılandırabilir ve aynı dilde yanıt verebilir, böylece müşteriler için daha kişiselleştirilmiş ve ilgi çekici bir deneyim sunar.
Aracı oluşturduğunuzda birincil dilini belirtirsiniz.
Aracıya ikincil diller ekledikten sonra, oluşturduğunuz konulardaki iletiler için çeviri sağlamak sizin sorumluluğundadır. Üretken düzenleme kullanan aracılar için, oluşturulan iletiler otomatik olarak çevrilir.
Müşteri yayımlanmış bir aracıyla oturum başlattığında aracı, müşterinin istemcisinde veya tarayıcısında belirtilen dille eşleşecek şekilde dillerinden birini seçer. Aracı dili algılayamazsa veya desteklemediği bir dil algılarsa, aracı varsayılan olarak birincil diline ayarlır.
Bir aracıyı, konuşma sırasında kullandığı dili değiştirecek şekilde tasarlayabilirsiniz (bkz. Aracıyı başka bir dile geçiş yapma). Ayrıca, geçerli konuşma dönüşünde kullanılan dili izlemek üzere dilleri dinamik olarak değiştirmek için üretken düzenleme kullanan bir aracı da ayarlayabilirsiniz (bkz. Dinamik dil geçişi için aracı ayarlama).
Desteklenen dillerin listesi için bkz. Dil desteği.
Note
Klasik sohbet botları yalnızca bir dili destekler. Klasik sohbet botunu bir aracıya dönüştürme hakkında daha fazla bilgi için Copilot Studio'nun birleşik yazma ortamına yükseltme bölümünü inceleyin.
Bir aracıya dil ekleyin
Aracının Ayarlar sayfasına gidin ve Diller'i seçin.
Dil ekle seçeneğini seç.
Dil ekle panelinde aracıya eklemek istediğiniz dilleri seçin ve Ekle'yi seçin.
Dil listesini gözden geçirin ve Ayarlar sayfasını kapatın.
Çok dilli bir aracı için yerelleştirmeyi yönetme
Copilot Studio'da, tüm konu ve içerik düzenleme işlemlerini aracının birincil dilinde gerçekleştirirsiniz. Bu bölümde, aracınızdan dizelerin nasıl indirilip aracınızın ikincil dillerine nasıl çevrildiği açıklanmaktadır. Çevrilen dizeleri karşıya yükledikten sonra test panelinde dili değiştirebilir ve ikincil dillerdeki konuşmaların beklendiği gibi aktığını doğrulayabilirsiniz.
Yerelleştirilmiş içeriği hazırlama
İkincil dil için yerelleştirme dosyasını ilk kez indirdiğinizde, tüm dizeler aracının birincil dilinde olur. Bir yerelleştirme dosyasını indirdikten sonra, tercih ettiğiniz yerelleştirme işlemiyle kullanın.
Aracınız için Ayarlar sayfasına gidin ve Diller'i seçin.
Diller sayfasında, ikincil diller listesinde, güncelleştirmek istediğiniz dil için Karşıya Yükle'yi seçin.
Yerelleştirmeleri güncelleştir panelinde JSON veya ResX biçimini seçerek ilgili dil için geçerli yerelleştirme dosyasını indirin.
Note
İndirilen dosya, aracı için en son yerelleştirme içeriğini içerir. Yerelleştirme dosyasının önceki sürümlerini indirmek için aracının çözümünü açın.
İndirilen dosyayı açın ve birincil dil dizelerini uygun çevrilmiş metinle değiştirin.
Yerelleştirmeleri güncelle paneline dönün, seçin Gözat'ı ve çevrilen dosyayı yükleyin.
Yerelleştirmeleri güncelleştir panelini ve Ayarlar sayfasını kapatın.
Yerelleştirilmiş içeriği güncelleştirme
Birincil dil dizelerini değiştirirseniz, içeriği ikincil dillerde de güncelleştirmeniz gerekir. Bu süreç hem yeni içeriği hem de değiştirilmiş içeriği içerir. Artımlı değişiklikler otomatik olarak çevrilmez. İkincil dil JSON veya ResX dosyasını indirmeniz ve çevrilmemiş dizeleri tercih ettiğiniz yerelleştirme işlemini kullanarak güncelleştirmeniz gerekir.
Aşağıdaki senaryo, çevrilmiş içerik için iş akışının tipik bir örneğidir. Daha önce birincil dilinizi (en-US) ikincil bir dile (fr-FR) çevirdiniz ve birincil dilde içerik eklediniz ve değiştirdiniz. İkincil dil için yerelleştirme dosyasını indirdiğinizde, yeni dizeler ana dilde (en-US) olurken, daha önce çevrilmiş dizeler ikincil dilde (fr-FR) kalır. Ancak, yerelleştirme dosyasını en son yüklediğinizden bu yana orijinal metni değiştirilmiş olan daha önce çevrilmiş diziler, hâlâ son olarak ikinci dile çevrildikleri haliyle görünmeye devam eder. Dizi kimlikleri değişmediği için, birincil dilde değişiklikler gerçekleştiğinde ikincil dil ve birincil dil dizeleri senkronizasyondan çıkabilir. Yeni yerelleştirme dosyasını en son yüklediğiniz sürümle karşılaştırın—birincil dil dizisi değişikliklerini tespit etmek için—yerelleştirme sürecinizin bir parçası olduğundan emin olun.
Uyarlamalı Kartlardan dinamik içeriği yerelleştirme için kullanılabilir hale getirme
Yerelleştirme dosyaları, Uyarlamalı Kartlar'taki karışık tür dizelerini içermez. Bir dizenin hem statik metin hem de değişkenleri (dinamik içerik) içerebileceği Uyarlamalı Kartı yerelleştirmeniz gerekiyorsa aşağıdaki geçici çözümü kullanın. Yordamda, statik metin ve değişkenler içeren tam dizeyi bir ara değişkende depolamak için Bir Set metin değişkeni düğümünün nasıl kullanılacağı gösterilir. Ardından Uyarlamalı Kartınızda yalnızca bu ara değişkene başvurursunuz. Aracınız için bir yerelleştirme dosyası indirdiğinizde, statik metin ve değişken başvurularını içeren ara değişkeninizin değeri, bir setVariable eyleminin parçası olarak yerelleştirmeye hazır hale gelir.
Uyarlamalı Kartın dinamik içeriğini yerelleştirilebilir hale getirmek için:
Uyarlamalı Kartınızdan önce Bir Set değişken değeri düğümü ekleyin. Bu adım, düğümü Bir Metin değişkeni ayarla düğümüne dönüştürmek için kod düzenleyicisini kullanarak güncelleştirebileceğiniz bir YAML gösterimi oluşturur. Metin değişkeni düğümlerini doğrudan yazma tuvalinden oluşturamazsınız.
Değişken değeri ayarla düğümünde yeni bir değişken oluşturun, ancak değeri henüz ayarlamayın.
Konunuzun kod düzenleyicisini açın.
Kod düzenleyicisinde Değişken değeri ayarla düğümünüzü temsil eden bölümü bulun ve ile
kind: SetVariabledeğiştirinkind: SetTextVariable. Bu değişiklik , Değişken değeri ayarla düğümünüzü bir Metin değişkenini ayarla düğümüne dönüştürür.Kod düzenleyicisini kapatın.
Metin değişkenini ayarla düğümünün alt alanını seçin ve Uyarlamalı Kartınızda göstermek istediğiniz statik metin ve değişkenleri içeren tam dizeyi girin. Bir değişkeni, bir mesaja değişken eklediğiniz gibi ekleyin.
Uyarlamalı Kartınızı bu yeni değişkene bir başvuruyla güncelleştirin.
Konunuzu kaydedin. Artık yerelleştirme dosyasını indirebilir ve Uyarlamalı Kartlarınız için dinamik içeriği içerdiğini doğrulayabilirsiniz.
Uyarlamalı Kart içeriğini yerelleştirme bölümünde daha fazla bilgi edinin.
Çok dilli aracıyı test edin
Test panelini açın.
Test panelinin üstündeki üç noktayı (...) seçin ve istediğiniz dili seçin. Test paneli bu kez seçilen dili kullanarak kendisini yeniden yükler. Yazma tuvali birincil dilde kalır ve birincil dile geri dönene kadar bir konuda yaptığınız değişiklikleri kaydedemezsiniz.
Aracıyı test etmek için seçilen dilde bir iletiyi girin.
Ayrıca tarayıcınızın dilini aracınızın dillerinden birine ayarlayabilir ve önceden oluşturulmuş tanıtım web sitesine gidebilirsiniz. Tanıtım web sitesi belirtilen dilde açılır ve aracı bu dilde sohbet eder.
Bir ajanın başka bir dile geçmesini sağla
Yazarken, aracıyı konuşmanın ortasında başka bir dile geçecek şekilde yapılandırabilirsiniz. Mantık aracıdaki herhangi bir konuda bulunabilir. Ancak, en iyi uygulama, bir Soru düğümünden hemen sonra dili değiştirmektir. Bu da bir sonraki Soru düğümüne kadar sonraki tüm iletilerin aynı dilde olmasını sağlar.
Aracının geçerli dilini değiştirmek için User.Language aracınızın ikincil dillerinden birine ayarlayın. Bu seçim, aracınızın konuştuğu dili hemen değiştirir.
Dinamik dil değiştirme için aracı ayarlama
Note
Bu özellik yalnızca üretken orkestrasyon özelliği etkinleştirilmiş aracılar için kullanılabilir.
Bir aracıyı müşterinin kullandığı dili algılayıp aynı dilde yanıt verecek şekilde yapılandırabilirsiniz. Bu yapılandırmayla aracı, tek bir konuşma boyunca dilleri birden çok kez değiştirebilir. Aşağıdaki senaryoda, Felemenkçe ve İngilizce arasında geçiş yapmak için bir temsilciyi nasıl ayarlayacağınız gösterilmektedir. Aracınızın desteklediği dillerin herhangi bir bileşimi için genişletebilirsiniz.
Uyarı
Bu dinamik dil değiştirme yöntemi, tarayıcı tabanlı dil algılama ile uyumlu değildir. Kullanıcı dilini dinamik olarak algılayan konu değişkeni ayarladıktan User.Language sonra, konu daha sonra kapatılmış veya silinmiş olsa bile tarayıcı tabanlı dil algılama artık bu kullanıcı için geçerli olmaz. Her iki yaklaşımı da denemek veya doğrulamak istiyorsanız ayrı bir test aracısı kullanın. Dinamik dil geçişini test ettikten sonra, tarayıcı tabanlı dil algılamayı test etmeden önce kalıcı kullanıcı dili durumunu temizlemeniz gerekir.
Bu senaryoda, Mesaj alındıkonu tetikleyicisine sahip bir konu kullanılır. Bu konu tetikleyicisi, aracınızın aldığı her iletiyi incelemesine olanak tanır. Bu konu, dili algılamak için özel bir istem ve aracı dili sistem değişkenini ayarlamak için bir koşul kullanır.
Ajanınızın istediğiniz tüm dilleri destekleyecek şekilde yapılandırıldığından emin olun.
Konu için varsayılan tetikleyici türünübir ileti alındı olarak değiştirin.
Konunuza bir istem ekleyin:
Add node simgesini
Tetikleyici düğümü altından seçin.Araç ekle>Yeni istem'i seçin.
İstem düzenleyicisinde, isteminiz için "Dili algıla" gibi bir temsili ad girin.
Yönergeler bölmesinde "Bu iletinin hangi dilde yazıldığına karar verin: ".
Yönergeler bölmesinin en altında İçerik ekle'yi ve ardından Metin'i seçin. Sizi bir ad ve örnek ileti girmeye davet eden bir pencere görüntülenir.
Ad alanına "İleti" yazın. Örnek veriler için "Kullanıcıdan gelen ileti" yazın ve Kapat'ı seçin.
Model yanıtı bölmesinde Çıkış biçimini JSON olarak değiştirin.
Test'i seçin. İsteminizde dili İngilizce olarak tanımlayan tek bir özelliğe sahip bir JSON sabiti gösteriliyor.
Kaydetseçeneğini seçin. Tuvalde bir İstem düğümü görüntülenir.
İstem düğümünü yapılandırın:
-
Giriş için sistem değişkenini
Activity.Text(gelen iletinin metni) seçin. -
Çıkış için adlı
DetectedLanguage.
-
Giriş için sistem değişkenini
Algılanan dile göre mantığınızı dallandırın:
İstem düğümünü altına bir koşul ekleyin.
Koşulunuzu algılanan dilin adını tutan özel değişkenine
DetectedLanguage.structuredOutput.languagedayandırın.Algılamanız gereken her dil için bir koşul dalı ekleyin.
Sistem değişkenini uygun şekilde ayarlamak için her dalın
User.Languagealtına Değişken değeri ayarla düğümü ekleyin. Aşağıdaki görüntüde, Felemenkçe ile İngilizce arasında geçiş yapma koşulu olan bir konu gösterilmektedir.
Tarayıcı tabanlı dil algılamayı geri yükleme
Dinamik dil değiştirme için yapılandırılmış bir aracı sistem değişkenini User.Language ayarlarsa, seçilen dil aracı kullanıcısı için geçersiz kılma olarak kalır. Kullanıcının tercih ettiği dil aşağıdaki öncelik sırasına göre belirlenir:
- Kullanıcı tarafından açıkça belirlenen ve bu kullanıcı için geçersiz kılma olarak kaydedilen dil tercihi (en yüksek öncelik).
- Ajanın desteklediği dillerden birine (
Activity.Locale) eşleşen bir dilde kullanıcıdan gelen mesaj. - Aracının birincil dili (yedek).
Dinamik dil geçişini test ettikten sonra kalıcı dili temizlemek için:
-
/debug clearstatedurumunu aracıya gönderin. Bu komut, kullanıcı durumundaki dil geçersiz kılma ayarını siler.
Çok dilli bir ajanın sorunlarını giderme
Bu bölüm, beklenmedik çok dilli ajan davranışlarını anlamanıza yardımcı olacak ipuçları sunar.
Yapılandırılmamış diller için çok dilli aracı davranışı
Kullanıcı tarayıcısını aracı için yapılandırmadığınız bir dil için yapılandırırsa, aracı birincil diline geri döner.
Aracıyı oluştururken bir aracı için birincil dili belirtirsiniz. Oluşturma işleminden sonra birincil dili değiştiremezsiniz, ancak birden fazla bölge varsa aracının birincil dili için bölgeyi değiştirebilirsiniz .
Eksik çeviriler için çok dilli aracı davranışı
Bir ajana ana dilinde mesaj eklerseniz ama yeni mesajların çevirilerini yüklemezseniz , ajan çevrilmemiş değişiklikleri ana dilinde gösterir. Aracıda değişiklik yaptıktan sonra her zaman çevirilerin güncel olduğundan emin olun.
Yerelleştirme dosyaları, Uyarlamalı Kartlar'daki karışık türdeki metinleri içermez. Bir dizenin hem statik metin hem de değişkenleri (dinamik içerik) içerebileceği Uyarlamalı Kartları yerelleştirmeniz gerekiyorsa, geçici bir çözüm kullanmalısınız. Karışık türdeki bir dizeyi Uyarlamalı Kart'ta kullanmadan önce bir metin değişkeninde depolamayı öğrenin.
Çok dilli bir aracı yayınlarken oluşan hatalar
Çok dilli bir aracı yayımlamaya çalıştığınızda ham yanıt hata kodu SynonymsNotUniqueolan "Bot için doğrulama başarısız oldu" hata iletisini görebilirsiniz. Bu hata, yerelleştirme dosyanızda ya yinelenen eş anlamlılar ya da DisplayName değeriyle eşleşen bir eş anlamlı olduğu anlamına gelir. Genellikle bir düğüm aşağıdaki senaryolardan birinin oluştuğu bir Entity.Definition.'closedListItem' durum içerdiğinde bu hatayla karşılaşırsınız:
- Unsurlardan
Synonymsbiri benzersiz değil. -
Synonymsöğelerinden biri,DisplayNameöğesiyle aynı değere sahiptir.
Aynı varlık için hepsi Synonyms benzersiz olmalı ve elementten DisplayName farklı bir isme sahip olmalıdır.
Hatayı düzeltmek için ikincil dilinizin JSON veya ResX dosyasını gözden geçirin ve bu koşulun mevcut olabileceği örnekleri belirleyin.