アセット
はじめに
「I2 Localization」を使用して多言語のローカライズ対応を行う場合、
「Terms」タブでタームを選択して、「Translate All」ボタンを押すと
各言語に合わせてテキストを自動で翻訳してくれるので、
仮で文言を設定することができて、とても便利なのですが、
ひとつひとつのタームを選択して「Translate All」ボタンを押す必要があり、少し大変です
なので、すべてのタームを一括で自動翻訳する機能を作成しました
ソースコード
using UnityEditor; namespace I2.Loc { public partial class LocalizationEditor { [MenuItem( "Tools/I2 Localization/Translate All" )] private static void TranslateAll() { var path = "Assets/Resources/I2Languages.prefab"; var source = AssetDatabase.LoadAssetAtPath<LanguageSource>( path ); if ( source == null ) return; foreach ( var term in source.mTerms ) { TranslateLanguage( term.Term, term, null, source ); } } } }
上記のスクリプトを Unity の「Editor」フォルダに追加して、
「Tools>I2 Localization>Translate All」を選択することで、
「Language Source」に登録したすべてのタームを一括で自動翻訳できます