Translator
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Bir Çevirmenin rolü, izleme oyuncusu için yerelleştirilmiş dize üretmek/geri dönmektir.Bir LocalizationTable 'den görüntü hazır yerelleştirilmiş metin almak için kullanılabilir.Translator.LocaleId özelliğinin kaynağı, arayacağı tablo seti ve onları arayacağı sıra, çevirmen durumoluşturmak için kullanılan yönteme bağlıdır.
Bir Çevirmen için giriş, orijinal geliştirme dili içeriği ve bir bağlama, tümü veya kısmı bağlamın kaynağı için daha kesin/durumsal bir çeviri bulmak için kullanılabilecek bir bağlama. The input for a Translator is the original development language string and a context, where all or part of the context can be used to find a more precise/situational translation for the source dizi.
Tercüman, hedeflenen dile bağlı olarak sırayı değiştirebilecek insertlerle çevrilmiş dize üretmek için de kullanılabilir.
Özet
Özellikler
Tercüme edilmiş dize yerelinde.
Yöntemler
Yerelleştirilmiş metin dizesini bir üzerine göre yerel diline göre, anahtar ile geri döndürür.
Kaynağa göre yerelleştirilmiş metin dizesini yerel diline göre döndürür, kaynak araştırması üzerine.
Özellikler
LocaleId
Çıktılan çevirilerin Roblox yerelinde bu tablodan örneğin "en-us" veya "es-es" tercüme edildi. Varsayılan "en-us".
Yöntemler
FormatByKey
Yerelleştirilmiş metin dizesini bir üzerine göre yerel diline göre, anahtar ile geri döndürür.Opsiyonel args tablosu, eşleşen metin girişinde biçim parametlerini doldurmak için kullanılır.
Bu yöntem aşağıdaki durumlarda bir hata vereceğini unutmayın:
- Eğer bu LocalizationTables mevcut hiçbiri bu Translator anahtar için bir değer içermiyorsa, verilen anahtara bir değer ekleyin.
- Anahtar için biçim dizesi sayılı parametreler kullanıyorsa ve args bir dize değilse.
- biçim dizesi adlı parametrelere sahipse ve args bir anahtar-değer çiftleri tablosu değilse
- Eğer args eşleşen biçim dize içinde kullanılan değerleri kayıp ise, öznitelikler için değerler kayıp olur.
Bu işlevin daha fazla ayrıntısı ve kullanım örnekleri için Yerelleştirme ile kodlama bakın.
Parametreler
Araştırıp çevirmek için Anahtar değeri.
Kaynak metni ve çeviriler biçim dize içeriyorsa verilmelidir.Biçim dize sayılıp adlandırılıp adlandırılmadığına bağlı olarak bir Luau değer tablosu veya veya anahtar-değer çiftleri olacaktır.
Dönüşler
Translate
Yerelleştirilmiş metin dizesini yerel diline dayanarak döndürür.Bu dize, sağlanan Kaynak metnine göre verilen kontekste olacaktır.
Bu işlevin daha fazla ayrıntısı ve kullanım örnekleri için Yerelleştirme ile kodlama bakın.
Konu Geçersizleştirmeleri
Bazı durumlarda, Kaynak çizgilerinin yinelenmesi diğer dillerde tamamen farklı çevirmelere sahip olabilir.Örneğin, İngilizce sıfat "Ekran" hem bir bilgisayar ekranı hem de bir pencere ekranını gösterebilir, ancak İspanyolca çevirileri tamamen farklıdır:
<td width="16%">B</td><td width="18%">C</td><td width="12%">D</td><td width="18%">E</td></tr><tr><td>Anahtar</td><td>Kontekst</td><td><b>Kaynak</b></td><td>Örnek</td><td><b>es</b></td></tr><tr><td /><td /><td>Bir ekran</td><td /><td>Pantalla</td></tr><tr><td /><td /><td>Bir ekran</td><td /><td>Mosquitero \[geçici olarak]</td></tr><tr><td /><td /><td /><td /><td /></tr></tbody>
A |
Bu durumlarda, bu işlevin ilk argümanı - geçerli bir oyun içi Instance örneği - çoklu GUI nesneleri aynı dizidizeyi kullandığında "bağlantı kırıcı" olarak kullanılabilir.Bunu uygulamak için, çeviri verilerinin Konu değeri olarak geçersiz kalmasını istediğiniz "yol"u belirtin:
<td width="36%">B</td><td width="18%">C</td><td width="12%">D</td><td width="18%">E</td></tr><tr><td>Anahtar</td><td><b>Kontekst</b></td><td>Kaynak</td><td>Örnek</td><td>es</td></tr><tr><td /><td>çalışma alanı.ComputerScreen.SurfaceGui.TextLabel</td><td>Ekran</td><td /><td>Pantalla</td></tr><tr><td /><td /><td>Bir ekran</td><td /><td>Mosquitero \[geçici olarak]</td></tr><tr><td /><td /><td /><td /><td /></tr></tbody>
A |
Sonra, bu işlevi bir senaryoda çağırdığınızda, ilk argüman olarak aynı Instance geçin ve ardından Kaynak arama metni ikinci argüman olarak gönderin:
local Players = game:GetService("Players")
local LocalizationService = game:GetService("LocalizationService")
local success, translator = pcall(function()
return LocalizationService:GetTranslatorForPlayerAsync(Players.LocalPlayer)
end)
if success then
local trans = translator:Translate(workspace.ComputerScreen.SurfaceGui.TextLabel, "Screen")
print(trans)
else
warn("Cannot load translator for player!")
end
Parametreler
Kontext reddedilmesi için yukarıda açıklandığı gibi kullanılacak geçerli bir oyun içi Instance .Bu argümanın rastgele olabileceğini unutmayın, örneğin game , bir bağımsızlık ihlali gerektirmediğiniz takdirde.
Araştırıp çevirmek için Kaynak metni.
Dönüşler
Tercüme edilmiş metin.