Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)

6,046 views

Published on

発表者: 鍬農健二郎(Epic Games Japan)
本スライドは2019年10月31日に行われた勉強会「 UE4 Localization Deep Dive」の講演資料となります。

Published in: Engineering
  • Be the first to comment

  • Be the first to like this

UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)

  1. 1. UE4のローカライズ機能紹介 Epic Games Japan / Support Engineer Ken Kuwano
  2. 2. #UE4DD | @UNREALENGINE 概要 ● 話すこと ● UE4のローカライズ機能 (Ver4.23) ● 基本機能の使い方、注意点など ● 話さないこと ● 具体的な実装の事例 ● 処理の流れ、設定の詳細など
  3. 3. #UE4DD | @UNREALENGINE 目次 ● ローカライズ概要 ● ローカライズ機能 ● アセット別ローカライズ ● その他
  4. 4. #UE4DD | @UNREALENGINE 目次 ● ローカライズ概要 ● ローカライズ機能 ● アセット別ローカライズ ● その他
  5. 5. #UE4DD | @UNREALENGINE ゲームのローカライズ ● ゲームをローカライズする ● 目的:複数地域をターゲットとした販売を行う ● 実行:複数地域にゲームを対応させる
  6. 6. #UE4DD | @UNREALENGINE ローカライズが必要なアセット ● テキスト ● 表示内容 ● フォント ● アセット ● テクスチャ ● ボイス・サウンド ● ムービー ● カットシーン ● アニメーション
  7. 7. #UE4DD | @UNREALENGINE ゲームのローカライズ ● ゲームをローカライズする ● 目的:複数地域をターゲットとした販売を行う ● 実行:複数地域にゲームを対応させる ● UE4のゲームをローカライズする ● UE4を利用する場合の複数地域対応はどうやる? ● 管理:アセットの管理、共有の方法 ● 効率:ワークフロー、効率的な実装 ● 効果:メモリ、パフォーマンス 本講演での内容はココ
  8. 8. #UE4DD | @UNREALENGINE ローカライズ? Localization:地域化 (L10N) ● 地域固有の構成部品や翻訳テキストを追加することによって、ソ フトウェアを特定の地域や言語に適合させる工程 ● 例:日本語用テキストを利用して日本語の表示に適用すること Internationalization:国際化 (I18N) ● ソフトウェアに技術的な変更を加えることなく多用な言語や地域 に適合させるソフトウェア設計の工程 ● 例:日本語テキストを日本語用として認識して適用する仕組み 出典:Wikipedia
  9. 9. #UE4DD | @UNREALENGINE https://docs.unrealengine.com/ja/Gameplay/Localization/index.html UE4のローカライズ機能
  10. 10. #UE4DD | @UNREALENGINE 目次 ● ローカライズ概要 ● ローカライズ機能 ● アセット別ローカライズ ● その他
  11. 11. #UE4DD | @UNREALENGINE ローカライズ機能 ● テキストのローカライズ ● アセットのローカライズ
  12. 12. #UE4DD | @UNREALENGINE テキストのローカライズプロセス エディター (en) パッケージゲーム (ja)
  13. 13. #UE4DD | @UNREALENGINE テキストのローカライズプロセス テキスト 収集 パッケー ジ作成 言語切替 翻訳 テキスト 作成 エディター (en) パッケージゲーム (ja)
  14. 14. #UE4DD | @UNREALENGINE テキストのローカライズプロセス テキスト 収集 パッケー ジ作成 言語切替 翻訳 テキスト 作成 アセットからローカライ ズ対象のテキスト収集 OPTIONS QUIT
  15. 15. #UE4DD | @UNREALENGINE テキストのローカライズプロセス テキスト 収集 パッケー ジ作成 言語切替 翻訳 テキスト 作成 収集したテキストから 翻訳テキスト作成 OPTIONS QUIT オプション 終了
  16. 16. #UE4DD | @UNREALENGINE テキストのローカライズプロセス テキスト 収集 パッケー ジ作成 言語切替 翻訳 テキスト 作成 翻訳テキストを含む パッケージ作成 パッケージ OPTIONS QUIT オプション 終了
  17. 17. #UE4DD | @UNREALENGINE テキストのローカライズプロセス テキスト 収集 パッケー ジ作成 言語切替 翻訳 テキスト 作成 利用言語に応じて テキストを表示 パッケージ OPTIONS QUIT オプション 終了
  18. 18. #UE4DD | @UNREALENGINE テキストのローカライズプロセス テキスト 収集 パッケー ジ作成 言語切替 翻訳 テキスト 作成 パッケージ OPTIONS QUIT オプション 終了 パッケージ OPTIONS QUIT オプション 終了 OPTIONS QUIT オプション 終了 OPTIONS QUIT Localization Dashboard
  19. 19. #UE4DD | @UNREALENGINE テキストの収集 Localization Dashboard
  20. 20. #UE4DD | @UNREALENGINE テキストの収集
  21. 21. #UE4DD | @UNREALENGINE テキストの収集とローカライズ Blue Print C++ ①テキスト収集 ② テキスト作成 Loc Res ③ テキスト表示 Editor表示 ゲーム中表示
  22. 22. #UE4DD | @UNREALENGINE 収集するテキスト ● Blueprint:FText、STextBlockの定義 ● C++/.ini:LOCTEXT、NSLOCTEXTマクロで定義
  23. 23. #UE4DD | @UNREALENGINE テキストの配置 (一意なテキスト情報)
  24. 24. #UE4DD | @UNREALENGINE ● FormatTextでローカライズの表示にも対応 ● 可変入力 「XXXを捨てた」など ● 数 「N個手に入れた」など ● 複数性 「1Hit」,「2Hits」など ● 単位 「USD」,「yard」など テキストの表示
  25. 25. #UE4DD | @UNREALENGINE There {NumCats}|plural(one=is,other=are) {NumCats} {NumCats}|plural(one=cat,other=cats) 1は”is”, その他は”are” 数 1は”cat”, その他は”cats” 複数性を考慮したテキスト(en)
  26. 26. #UE4DD | @UNREALENGINE There is 1 cat There are 2 cats (en) Localization Dashboardで 翻訳テキスト入力 1匹の猫がいる 2匹の猫がいる (ja) 複数性を考慮したテキスト(en→ja)
  27. 27. #UE4DD | @UNREALENGINE 自動対応したフォーマットテキスト テキストは言語独自のフォーマットへ対応可能 1) 数字:12345.67 ● jaなど : 12,345.67 ⇒ Groupingは”,” / Decimalは”.” ● deなど : 12.345,67 ⇒ Groupingは”.” / Decimalは”,” ● frなど : 12 345,67 ⇒ Groupingは” ” / Decimalは”,” 2) 日付:2020年10月31日 ● ja : 2019/10/31 ⇒ yyyy/mm/dd ● en : Oct 31, 2019 ⇒ mm/dd/yyyy ● fr : 31 oct. 2019 ⇒ dd-mm-yyyy
  28. 28. #UE4DD | @UNREALENGINE 言語別規則 https://cdn.ymaws.com/www.igda.org/resource/collection/2DA60D94-0F74-46B1-A9E2-F2CE8B7 2EA4D/BestPracticesforGameTranslationv2.02_JP.pdf
  29. 29. #UE4DD | @UNREALENGINE 言語別規則 http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html
  30. 30. #UE4DD | @UNREALENGINE テキストのローカライズプロセス テキスト 収集 パッケー ジ作成 言語切替 翻訳 テキスト 作成 パッケージ OPTIONS QUIT オプション 終了 パッケージ OPTIONS QUIT オプション 終了 OPTIONS QUIT オプション 終了 OPTIONS QUIT Localization Dashboard .ini/commandなど
  31. 31. #UE4DD | @UNREALENGINE テキスト表示の言語指定方法 ● ゲーム起動時 ● 起動引数 ● .iniファイル ● システム言語 ● ライタイム ● コンソールコマンド ● 言語切替処理 (BP/C++)
  32. 32. #UE4DD | @UNREALENGINE 言語の表示切り替え テキスト表示言語切替
  33. 33. #UE4DD | @UNREALENGINE UE4のローカライズ機能 Culture Language Locale Asset Group テキストとアセットの表示 数値/日付/時刻などのフォーマット表示 特定のアセットを対象とした表示の制御 テキスト関連
  34. 34. #UE4DD | @UNREALENGINE Cultureの切り替え ● ゲーム起動時の言語指定方法は複数存在するので、複数 設定時は適用の優先順が発生 ● 以下上から順に設定が優先される ● 起動引数 “culture=”で指定された言語 ● xxxEngine.iniの”culture=”で指定された言語 ● xxxGame.iniの”culture=”で指定された言語 ● システム言語 (OS)
  35. 35. #UE4DD | @UNREALENGINE テキストのローカライズプロセス テキスト 収集 パッケー ジ作成 言語切替 翻訳 テキスト 作成 エディターでの英語表示から パッケージでの日本語表示を行うフロー
  36. 36. #UE4DD | @UNREALENGINE ローカライズ機能 ● テキストのローカライズ ● アセットのローカライズ
  37. 37. #UE4DD | @UNREALENGINE アセットのローカライズ エディター (en) パッケージゲーム (ja)
  38. 38. #UE4DD | @UNREALENGINE アセットのローカライズプロセス パッケー ジ作成 言語切替 アセット 配置 エディター (en) パッケージゲーム (ja)
  39. 39. #UE4DD | @UNREALENGINE アセットのローカライズプロセス パッケー ジ作成 言語切替 アセット 配置 ローカライズ対象アセッ トを指定のパスに配置 Img (en) Img (ja)
  40. 40. #UE4DD | @UNREALENGINE アセットのローカライズプロセス パッケー ジ作成 言語切替 アセット 配置 ローカライズ対象を含む パッケージ作成 パッケージ Img (en) Img (ja)
  41. 41. #UE4DD | @UNREALENGINE アセットのローカライズプロセス パッケー ジ作成 言語切替 アセット 配置 パッケージ Img (en) Img (ja) 利用言語に応じて アセットを表示
  42. 42. #UE4DD | @UNREALENGINE アセットのローカライズプロセス パッケー ジ作成 言語切替 アセット 配置 パッケージ Img (en) Img (ja) パッケージ Img (en) Img (ja) Img (en) Img (ja) Editor
  43. 43. #UE4DD | @UNREALENGINE アセットの配置 ● アセットローカリゼーションの適用 ● Content/L10N/言語の配下にアセットを配置 元テクスチャの位置 Content/UI/Texture/Logo/LogoBk 日本語版テクスチャの位置 Content/L10N/ja/UI/Texture/Logo/LogoBk
  44. 44. #UE4DD | @UNREALENGINE アセットの配置 ● アセットローカリゼーションの適用 ● Content BrowserからAsset Localizationから選択
  45. 45. #UE4DD | @UNREALENGINE アセットのローカライズプロセス パッケー ジ作成 言語切替 アセット 配置 パッケージ Img (en) Img (ja) パッケージ Img (en) Img (ja) Img (en) Img (ja) Editor .ini/commandなど
  46. 46. #UE4DD | @UNREALENGINE アセット表示の言語指定方法 ● ゲーム起動時 ● 起動引数 ● .iniファイル ● システム言語 ● ライタイム ● コンソールコマンド ● 言語切替処理 (BP/C++) テキスト切替と同じ
  47. 47. #UE4DD | @UNREALENGINE 言語の表示切り替え アセット表示言語切替
  48. 48. #UE4DD | @UNREALENGINE UE4のローカライズ機能 Culture Language Locale Asset Group テキストとアセットの表示 数値/日付/時刻などのフォーマット表示 特定のアセットを対象とした表示の制御 アセット関連
  49. 49. #UE4DD | @UNREALENGINE Asset Groupの切り替え ● アセットをグループ化して言語間で再利用できる機能 ● 一部のアセットだけを別の言語で使い回すようなケース... ● テキスト表示は”ja”だけど、Audioの一部は”en”を使いたい... ● xxxGame.ini, xxxEngine.ini で各種設定が可能
  50. 50. #UE4DD | @UNREALENGINE Asset Group ● Asset Groupを使用しない (テキストは日本語表示、アセットも日本語を利用) 単に日本語で表示する場合、 全テキストはja、全アセットもjaで表示 テキスト (ja) アセット (ja)
  51. 51. #UE4DD | @UNREALENGINE Asset Group Audio (it) Sound Wave Sound Cue ● Asset Groupを使用する (テキストは日本語表示、サウンドの一部のみ英語を利用) テキスト (ja) その他 アセット (ja) ”Sound Wave”と”Sound Cue”をグループ化(Audio)することで、 jaを表示中であっても”Sound Wave”と”Sound Cue”はitを使用 Class Asset Group
  52. 52. #UE4DD | @UNREALENGINE ● Asset Groupに対して紐づけるクラスの設定 ● Asset Groupを適用する言語の設定 Asset Groupの切り替え 上記の設定が行われた場合、 Sound WaveとSound Cueは起動時から英語アセットを使用
  53. 53. #UE4DD | @UNREALENGINE アセットのローカライズプロセス パッケー ジ作成 言語切替 アセット 配置 エディターでの英語表示から パッケージで日本語表示を行うまでの流れ
  54. 54. #UE4DD | @UNREALENGINE 目次 ● ローカライズ概要 ● ローカライズ機能 ● アセット別ローカライズ ● その他
  55. 55. #UE4DD | @UNREALENGINE アセット別ローカライズ ● フォント ● 字幕とボイス ● ムービー字幕
  56. 56. #UE4DD | @UNREALENGINE フォントのローカライズ ● テキストのローカライズの際に考慮したいこと? ● 表示する言語毎に適用するフォントを変えたい ● 表示する言語毎にフォントの文字サイズを変えたい など ● フォントのローカライズに対応させるには? ● Asset Localization を使って言語別にフォントを適用する方法 ● Sub Culture, Sub Font Familyを利用する方法
  57. 57. #UE4DD | @UNREALENGINE フォントのローカライズ適用(1) ● Asset Localizationによって言語別でフォントを用意 Font (共通) Font (th:タイ語用)Font (ja:日本語用)
  58. 58. #UE4DD | @UNREALENGINE フォントのローカライズ適用(2) ● SubCulture, SubFontを利用して1つのFontで完結 Font (共通) Font Face Fallback Font Family Font Face Sub Font Family (ja:日本語用) Font Face Sub Font Family (th:タイ語用) Font Face Default Font Family
  59. 59. #UE4DD | @UNREALENGINE Font Default Font デフォルトで使用 Fallback Font 文字データが存在しない場合に使用 Sub Font 特定言語の特定範囲内の文字データで使用
  60. 60. #UE4DD | @UNREALENGINE Font 適用言語 文字コード範囲 適用フォント
  61. 61. #UE4DD | @UNREALENGINE 字幕とボイスのローカライズ ● Dialogueアセットで対話を構築 これはテスト字幕です。 https://docs.unrealengine.com/ja/Engine/Audio/Dialogue/index.html
  62. 62. #UE4DD | @UNREALENGINE 字幕とボイスのローカライズ ● Dialogueアセットによる対話システム (1文単位) ● Dialogue Wave :対話情報 ● Dialogue Voice :話者情報 ● Sound Wave :ボイス音声
  63. 63. #UE4DD | @UNREALENGINE Dialogue Wave 字幕テキスト 話者情報 ボイス
  64. 64. #UE4DD | @UNREALENGINE Dialogue Waveのローカライズ 対話テキストはテキストローカライズ ボイスはアセットローカライズ
  65. 65. #UE4DD | @UNREALENGINE 動画字幕のローカライズ ● Media Playerの字幕を言語毎に切り替える機能 ● 未解放のため利用時は要ソース修正 ● 字幕データ再生には独自に再生処理の追加が必要
  66. 66. #UE4DD | @UNREALENGINE ● 字幕データを持つアセット ● Editor上で字幕内容が編集可能 ● アセットは言語毎に作成 ● 字幕ファイル(.srt)をインポート可能 Basic Overlays Localized Overlays Localize用テーブル Basic Overlays 字幕データ(ja) Basic Overlays 字幕データ(en)
  67. 67. #UE4DD | @UNREALENGINE ● 字幕を言語別で管理するアセット ● Basic Overlaysを言語毎に設定 Localized Overlays Localized Overlays Localize用テーブル Basic Overlays 字幕データ(ja) Basic Overlays 字幕データ(en)
  68. 68. #UE4DD | @UNREALENGINE ソースを修正することでメニューに表示して選択可能に 機能を使うためのソース修正
  69. 69. #UE4DD | @UNREALENGINE Subtitle Data Project Engine Widget Media再生用 Subtitle Manager 字幕制御 Subtitle Player 字幕再生 Localized Overlays ローカライズ用字幕情報 Basic Overlays 字幕データ(ja) Basic Overlays 字幕データ(en) Basic Overlays 字幕データ(fr) Overlayの制御と関連クラス
  70. 70. #UE4DD | @UNREALENGINE Subtitle Playerの実装例 void UMyMediaSubtitlesPlayer::Play() { bEnabled = true; } void UMyMediaSubtitlesPlayer::Stop() { bEnabled = false; FSubtitleManager::GetSubtitleManager()->SetMovieSubtitle(this, TArray<FString>()); }
  71. 71. #UE4DD | @UNREALENGINE Subtitle Playerの実装例 void UMyMediaSubtitlesPlayer::Tick(float DeltaSeconds) { if (bEnabled && SourceSubtitles) { UMediaPlayer* MediaPlayerPtr = MediaPlayer.Get(); if (MediaPlayerPtr) { FTimespan CurrentTime = MediaPlayerPtr->GetTime(); TArray<FOverlayItem> CurrentSubtitles; SourceSubtitles->GetOverlaysForTime(CurrentTime, CurrentSubtitles); TArray<FString> SubtitlesText; for (const FOverlayItem& Subtitle : CurrentSubtitles) { SubtitlesText.Add(Subtitle.Text); } FSubtitleManager::GetSubtitleManager()->SetMovieSubtitle(this, SubtitlesText); } else { Stop(); } } }
  72. 72. #UE4DD | @UNREALENGINE 目次 ● ローカライズ概要 ● ローカライズ機能 ● アセット別ローカライズ ● その他
  73. 73. #UE4DD | @UNREALENGINE その他機能 ● Localization Preview ● Translation Picker ● String Table
  74. 74. #UE4DD | @UNREALENGINE Localization Preivew ● UMG上でローカライズテキストを確認する機能 ● ローカライズアセットはPreviewの対象外
  75. 75. #UE4DD | @UNREALENGINE 言語を指定すると即座にテキストローカライズの確認が可能 Localization Preivew ローカライズプレビューの適用前(左)と適用後(右) テキスト更新 (en→ja) Preview 適用中
  76. 76. #UE4DD | @UNREALENGINE Localization Preivew ● Preview Game Language (Editor Preference) ● Preview言語を指定した場合はDefault Previewとして反映 日本語を選択したらプレビューに反映
  77. 77. #UE4DD | @UNREALENGINE Localization Preivew ● Localization Preview機能を利用するには予めテキスト をローカライズしておく必要があります テキストをローカライズすると Preview言語が選択可能になる
  78. 78. #UE4DD | @UNREALENGINE Translation Picker ● Editorからテキストローカライズ情報を抽出する機能 ● Dashboardにアクセスせず直接テキストを編集することも可能
  79. 79. #UE4DD | @UNREALENGINE Translation Picker ● 機能を有効にする ● Editor設定の[Translation Picker]を有効する (Experimental) ● Transkltion Pickerを表示する ● Editorの[Window]一覧、もしくはDashboardにアイコンが表示
  80. 80. #UE4DD | @UNREALENGINE Translation Picker PIE中に翻訳テキストを直接編集が可能
  81. 81. #UE4DD | @UNREALENGINE String Table ● 定型文や使い回す文字列を一元管理する際に利用 ● CSVからのインポート/エクスポートも可能
  82. 82. #UE4DD | @UNREALENGINE String Table ● TextにKeyを指定することでValueの参照が可能 TableとKeyを指定 Valueが反映
  83. 83. #UE4DD | @UNREALENGINE String Table Hard Reference される String Table ● テキストの一元管理が可能 ● 編集が競合しないことに注意 ● ハード参照を持つので注意
  84. 84. #UE4DD | @UNREALENGINE Project設定 ● ローカライズパッケージ作成時は以下の設定が必須 ● Localizations to Package ● Cook/Stage/Package対象とする言語 ● Internationalization Support ● Packageする国際化データの言語セット
  85. 85. #UE4DD | @UNREALENGINE Project設定 ● Localizations to Packages ● ローカライズ対象の言語を指定する設定 ● 未選択時はContent/L10N/[culture]がパッケージに含まれない ローカライズ済みの言語から選択...対象とする言語を手動で選択...
  86. 86. #UE4DD | @UNREALENGINE Project設定 ● プラットフォーム毎に言語情報を指定したい ● xxxGame.ini で含める言語の指定を上書きする ● 以下の例ではパッケージ作成時に”en”と”ja”のアセットやテキス トのみ含まれる
  87. 87. #UE4DD | @UNREALENGINE ● Internationalization Support ● 対象言語を含むプリセットを一覧から選択する Project設定 プリセット 言語 サイズ (MB) English 英語 ~1.77 EFIGS 英語、フランス語、イタリア語、ドイツ語、スペイン語 ~2.38 EFIGSCJK 英語、フランス語、イタリア語、ドイツ語、スペイン語、中国語、日本語、韓国語 ~5.99 CJK 中国語、日本語、韓国語 ~5.16 All 全ての言語 ~15.3 言語セットによって異なるサイズ一覧
  88. 88. #UE4DD | @UNREALENGINE まとめ ● UE4にはローカライズに必要な基本機能がある ● 要件次第で独自のシステムやワークフローを適用した方 が良いこともしばしば ● ローカライズの計画はできるだけ早い段階で
  89. 89. #UE4DD | @UNREALENGINE ご清聴ありがとうございました。
  90. 90. #UE4DD | @UNREALENGINE 付録 ● ローカリゼーションダッシュボード ● ローカライズ関連の設定
  91. 91. #UE4DD | @UNREALENGINE ローカリゼーションダッシュボード
  92. 92. #UE4DD | @UNREALENGINE Localization Dashboard
  93. 93. #UE4DD | @UNREALENGINE Localization Dashboardの機能 ● テキストのローカライズ機能 ● アセットやソースからテキストを収集できる ● 翻訳テキストのエクスポートができて共有することができる ● さまざまな言語の翻訳テキストを管理/編集することができる ● 翻訳テキストのローカライズ進捗状況を管理することができる ● テキストのローカライズサポート機能 ● サードパーティの翻訳ソフトと連動することができる ● ソースコントロールと連動することができる ● 翻訳テキストのプレビュー表示やフォントのプレビューができる ● テキストのコンフリクトチェックができる
  94. 94. #UE4DD | @UNREALENGINE Localization Dashboardは使える? ● メリット ● UE4 Editor内でローカライズ作業が完結する ● ローカライズのテキスト編集後に直ぐに確認できる ● ソースのメタデータなど広範囲に渡ってテキストを収集できる ● サードパーティソフトやソースコントロールと連動している ● デメリット ● 翻訳テキストを共有して編集することが単独ではできない ● ソーステキストを編集した場合に全ての言語に影響する ● 実験的機能としての位置付け (ただし利用することは可能)
  95. 95. #UE4DD | @UNREALENGINE Localization Dashbord 概要 プリセット設定 プリセット詳細設定連動サービス設定 言語設定 テキスト収集設定 その他設定
  96. 96. #UE4DD | @UNREALENGINE とりあえずテキストのローカライズをする場合 ① ローカライズ言語の追加 ② ローカライズ対象の設定 ③ テキストの収集 ④ 翻訳テキスト入力 ⑤ テキストのコンパイル ⑥ ワード数の更新
  97. 97. #UE4DD | @UNREALENGINE ローカライズの設定と確認方法 ● シンプルなテキストローカライズの設定方法 1. [Native]言語を設定して利用する[Culture]言語を追加 2. [Gather Text]からテキストを収集する対象を設定 3. [Gather Text]を押してテキストを収集 4. [Translation Editor]から翻訳テキストを入力 5. [Compile Text]を押してテキストの変換 6. [Count Words]を押して言語数を更新 ● シンプルなテキストローカライズの確認方法 1. EditorからStandaloneで起動 2. Cultureコマンド(例:culture=ja)を入力して言語切替を確認
  98. 98. #UE4DD | @UNREALENGINE Localization Dashbord 概要
  99. 99. #UE4DD | @UNREALENGINE Localization Dashbord 概要 プリセット設定 プリセット詳細設定 言語設定 テキスト収集設定 連動サービス設定 その他設定
  100. 100. #UE4DD | @UNREALENGINE ● 外部のローカライズサービス(XLoc, OneSky)と連動 ● Source Controlとの連動 Localization Service
  101. 101. #UE4DD | @UNREALENGINE Localization Service (One Sky) https://www.oneskyapp.com/
  102. 102. #UE4DD | @UNREALENGINE Localization Service (XLoc) http://www.xloc.com/
  103. 103. #UE4DD | @UNREALENGINE .poファイルの編集 (Poedit) https://poedit.net/
  104. 104. #UE4DD | @UNREALENGINE Localization Dashboard - Localization Service Localization Service Provider Localization Service Provider ローカライズプロバイダ名 特定のローカライズ連動サービスを利用する場合に選択 Source Control Enable Source Control ソースコントロール有効化 ソースコントロール及びサービスプロバイダが利用可能な場合、ローカ ライズ操作時に自動的にソースコントロールに接続 Enable Auto Submit ソースコントロール時自動サブミット有効化 ソースコントロール及びサービスプロバイダが利用可能な場合、ローカ ライズ操作時に自動サブミットを許可
  105. 105. #UE4DD | @UNREALENGINE Localization Dashbord 概要 プリセット設定 プリセット詳細設定 言語設定 テキスト収集設定 連動サービス設定 その他設定
  106. 106. #UE4DD | @UNREALENGINE ● Localization Target ● ローカライズのカテゴリ別に分類したもの ● Game Targets ● Projectのコード・アセットが対象 ● Engine Targets ● Engineのコード・アセットが対象 Localization Target
  107. 107. #UE4DD | @UNREALENGINE Localization Dashboard - Localization Target Target Name ローカライズターゲット名 ローカライズターゲット名を指定 Conflict Status コンフリクト状態 ローカライズテキストのKeyコンフリクト状態を示します Loading Policy ローディング方針 Plugin及びPluginDLCのローカライズテキストのロード条件の指定 Never 常にテキストをロードしない Always 常にテキストをロードする Game アプリケーションがゲーム起動時のみロード Editor Editor起動時のみテキストをロード Property Names Editor起動時のみ.ini設定に従ってロードを許可 Tool Tips Editor起動時のみテキストをロード
  108. 108. #UE4DD | @UNREALENGINE Localization Target (Conflict Status) NamespaceとKeyで識別 (全て一意に割り当て)
  109. 109. #UE4DD | @UNREALENGINE Localization Target (Conflict Status) Namespaceが 異なるのでOK Keyが異なる のでOK
  110. 110. #UE4DD | @UNREALENGINE Localization Target (Conflict Status) NamespaceとKeyが 一致しているのでNG
  111. 111. #UE4DD | @UNREALENGINE Localization Target (Conflict Status) Conflict Status 説明 コンフリクトなし 収集して全てのテキストに対して一意なKey名が割 り当てられている正常な状態 コンフリクトあり Key名が重複した異常な状態、一意なKey名に割り 当てることで解決する必要があります コンフリクト不定 Targetの収集前のKey一致チェック前の状態 Textを収集することでConflict状態を更新します コンフリクトがある場合は ✖ボタンからチェックして修正
  112. 112. #UE4DD | @UNREALENGINE Localization Dashbord 概要 言語設定 テキスト収集設定 連動サービス設定 プリセット設定 プリセット詳細設定 その他設定
  113. 113. #UE4DD | @UNREALENGINE Gather Text ● テキストを収集する対象(code/file/asset)の指定 ● Gather from Text Files ● .cpp/.h/.ini等のテキスト ● Gather from Packages ● .uasset/.umap等のアセット ● Gather from Meta Data ● UPROPERTY()のmetaタグ
  114. 114. #UE4DD | @UNREALENGINE Localization Dashboard - Gather Text Gather Text Target Dependencies ターゲット依存指定 ターゲットに存在するテキストをこのターゲットでは複製しない Additional Manifest Dependencies 追加マニフェスト依存指定 マニフェストに存在するテキストをこのターゲットで複製しない Required Module Names 必須モジュール名 テキストを収集するときにロードする必要があるモジュール名 プライマリゲームモジュールではないモジュールをソースとするパッ ケージまたはメタデータから収集するために使用
  115. 115. #UE4DD | @UNREALENGINE Gather Text (Gather from Text Files) 検索対象 検索除外対象 対象拡張子
  116. 116. #UE4DD | @UNREALENGINE Localization Dashboard - Gather Text Gather Text Search Directories テキスト収集ディレクトリ 収集対象とするファイル検索対象のディレクトリの指定 Exclude Path Wildcards テキスト収集除外パス 収集対象から除外するディレクトリ等をワイルドカードで指定 File Extensions テキスト収集ファイル拡張子 収集対象とするファイルの拡張子の指定 Should Gather from Editor Only Data EditorOnlyデータのテキスト収集可否 Editor Onlyのデータを収集に含めるかの指定
  117. 117. #UE4DD | @UNREALENGINE Gather Text (Gather from Packages) 検索対象 検索除外対象 対象拡張子
  118. 118. #UE4DD | @UNREALENGINE Localization Dashboard - Gather Text Gather Text Include Path Wildcards テキスト収集対象パス テキスト収集対象のディレクトリをワイルドカードで指定 Exclude Path Wildcards テキスト収集除外パス テキスト収集対象から除外するディレクトリをワイルドカードで指定 File Extensions テキスト収集ファイル拡張子 収集対象とするファイルの拡張子の指定 Collections コレクション指定 テキストを収集する対象とするコレクションの指定 Should Gather from Editor Only Data EditorOnlyデータのテキスト収集可否 Editor Onlyのデータを収集に含めるかの指定 Skip Gather Cache テキスト収集のキャッシュ許可 キャッシュをスキップするかどうかの指定
  119. 119. #UE4DD | @UNREALENGINE Gather Text (Gather from Meta Data) 検索対象 検索除外対象 キー仕様
  120. 120. #UE4DD | @UNREALENGINE Localization Dashboard - Gather Text Gather Text Include Path Wildcards テキスト収集対象パス テキスト収集対象のディレクトリをワイルドカードで指定 Exclude Path Wildcards テキスト収集除外パス テキスト収集対象から除外するディレクトリをワイルドカードで指定 Should Gather from Editor Only Data EditorOnlyデータのテキスト収集可否 Editor Onlyのデータを収集に含めるかの指定
  121. 121. #UE4DD | @UNREALENGINE Localization Dashboard - Gather Text Gather Text Key Specifications キー仕様 メタデータからテキストを収集する条件を指定 Meta Data Key キー収集対象メタデータ ここで指定したメタデータをローカライズテキストとして収集 Text Namespace テキスト名前空間指定 収集されたテキストに設定される名前空間の指定 Text Key Pattern テキストキーパターン指定 収集されたテキストに設定されるKey値のフォーマット指定
  122. 122. #UE4DD | @UNREALENGINE Localization Dashbord 概要 言語設定 テキスト収集設定 連動サービス設定 プリセット設定 プリセット詳細設定 その他設定
  123. 123. #UE4DD | @UNREALENGINE Export Text / Compile Text / Import Dialogue Dialogue Asset インポート設定 Localization Text コンパイル設定 Localization Text エクスポート設定
  124. 124. #UE4DD | @UNREALENGINE Localization Dashboard Export Text Collapse Mode コンテキスト出力方式 .poファイルエクスポート時のコンテキスト出力形式を指定、 v4.14以前のフォーマットかv4.15以降のフォーマットを選択 Should Persist Comments on Export ユーザーコメント追加指定 .poファイルエクスポート時にソーステキスト内のコメントを保持 する必要があるかの指定 Should Add Source Locations as Comments ソース位置コメント追加指定 ソースの場所をコメントとして.poファイルエントリに追加する必 要があるかの指定
  125. 125. #UE4DD | @UNREALENGINE Localization Dashboard Compile Text Skip Source Check ソースチェック無効 翻訳をコンパイルするときにソースチェックをスキップするか ソースの不一致が発生した翻訳をゲームで引き続き使用できる Validate Format Patterns フォーマットパターンの検証 コンパイルされているカルチャに対して形式パターンが有効であ ること(無効な複数の規則や壊れた構文を検出)を検証 Validate Safe Whitespace 空白スペースの検証 翻訳プロセス中に失われる可能性のある安全でない空白(先頭ま たは末尾の” ”)がテキストに含まれていないことを検証
  126. 126. #UE4DD | @UNREALENGINE Localization Dashboard Import Dialogue Raw Audio Path AudioファイルImportパス このフォルダーにはカルチャサブフォルダーが含まれ、サブフォ ルダーにはImportする生の.wavファイルが含む Imported Dialogue Folder DialogueファイルImportパス L10Nカルチャフォルダーのルート指定(またはNative Dialogue をソースダイアログとしてインポートする場合のルート) Import Native as Source Nativeファイルソースインポート指定 falseの場合Native CultureのDialogueはNative Cultureのロー カライズされたデータとしてインポートする
  127. 127. #UE4DD | @UNREALENGINE Localization Dashbord 概要 言語設定 テキスト収集設定 連動サービス設定 プリセット設定 プリセット詳細設定 その他設定
  128. 128. #UE4DD | @UNREALENGINE Localization Dashboard
  129. 129. #UE4DD | @UNREALENGINE Localization Dashboard ベース言語情報 テキストのローカライズ対象の言語
  130. 130. #UE4DD | @UNREALENGINE Localization Dashboard 言語毎の個別のAction指定 全言語の一括のAction指定
  131. 131. #UE4DD | @UNREALENGINE Localization Dashboard
  132. 132. #UE4DD | @UNREALENGINE Localization Dashbord (Gather Text) Gather Text アセットやコードからテキスト情報を収集する Import Text ローカライズテキストファイル(.po)をインポートする(取り込む) Export Text ローカライズテキストファイル(.po)をエクスポートする(出力する) Import Script Dialogue Script(.csv)をインポートする(取り込む) Export Script Dialogue Script(.csv)をエクスポートする(出力する) Import Dialogue Sound Wave, Dialogue Waveアセットをインポートする Count Word 翻訳済みテキスト数を更新してWord Countに反映する Compile Text 翻訳済みテキストをコンパイルしてテキストデータを更新する
  133. 133. #UE4DD | @UNREALENGINE ローカライズ関連の設定
  134. 134. #UE4DD | @UNREALENGINE .ini設定 (Engine.ini) Internationalization Culture 初期カルチャ指定 アプリケーション起動時、指定した言語で全ての内容を表示 Language 初期言語指定 アプリケーション起動時、指定した言語でテキスト/アセットを表示 Locale 初期ロケール指定 アプリケーション起動時、指定した言語のフォーマットテキストで表示
  135. 135. #UE4DD | @UNREALENGINE .ini設定 (Engine.ini) Internationalization CultureMappings 言語マッピング指定 特定の言語が指定された場合、別の言語に置き換えが可能 EnabledCultures 使用言語指定 使用言語を指定、指定した言語を特定の構成でのみ使用可とすることができる DisabledCultures 未使用言語指定 未使用言語を指定、指定した言語は特定の構成で使用不可とすることができる PreviewGameLaguage プレビュー言語指定 PIE・Standalone実行におけるプレビュー言語の指定 LockLocalization ローカライズ機能制限指定 テキストの編集をロックしてローカライズ機能を無効化 (Editorのみ)
  136. 136. #UE4DD | @UNREALENGINE .ini設定 (Game.ini) Internationalization Culture 初期カルチャ指定 アプリケーション起動時、指定した言語で全ての内容を表示 Language 初期言語指定 アプリケーション起動時、指定した言語でテキスト/アセットを表示 Locale 初期ロケール指定 アプリケーション起動時、指定した言語のフォーマットテキストで表示
  137. 137. #UE4DD | @UNREALENGINE .ini設定 (Game.ini) Internationalization CultureMappings 言語マッピング指定 特定の言語が指定された場合、別の言語に置き換えが可能 EnabledCultures 使用言語指定 使用言語を指定、指定した言語を特定の構成でのみ使用可とすることができる DisabledCultures 未使用言語指定 未使用言語を指定、指定した言語は特定の構成で使用不可とすることができる LockLocalization ローカライズ機能制限 テキストの編集をロックしてローカライズ機能を無効化 (Editorのみ)
  138. 138. #UE4DD | @UNREALENGINE .ini設定 (EditorSettings.ini) Internationalization Culture 初期カルチャ指定 アプリケーション起動時、指定した言語で全ての内容を表示 Language 初期言語指定 アプリケーション起動時、指定した言語でテキスト/アセットを表示 Locale 初期ロケール指定 アプリケーション起動時、指定した言語のフォーマットテキストで表示
  139. 139. #UE4DD | @UNREALENGINE .ini設定 (EditorSettings.ini) Internationalization ShouldUseLocalizedNumericInput 数値入力ローカライズ Property名などの数値を指定の言語で表示 ShouldUseLocalizedPropertyNames Property名ローカライズ化 Property名を指定の言語で表示 ShouldUseLocalizedNodeAndPinNames Node/NodePin名ローカライズ化 BlueprintNode、Pin名をEditorLanguageの言語で表示 DisplayTimezone タイムゾーン指定 DataTime型(FDateTimeStructCustomization型変数)利用時にタイム ゾーンの初期値(e.g. +1300)を反映
  140. 140. #UE4DD | @UNREALENGINE .iniファイル ● 定義例 +CultureMappings="zh-Hans;zh-CN" → zh-Hans指定時にzh-CNを利用 +CultureMappings="ja;ko" → 日本語指定時に韓国語を利用 +EnabledCultures="zh" → どの構成でも中国語(zh)へ切り替え可 +EnabledCultures="ja;Shipping" → ”Shipping”で日本語(ja)へ切り替え可 +DisabledCultures="ja;Shipping" → ”Shipping”で日本語(ja)へ切り替え不可   ”Development”で日本語(ja)へ切り替え可 +DisabledCultures="ko;Development" → ”Development”で韓国語(ko)へ切り替え不可   ”Shipping”で韓国語(ko)へ切り替え可 +DisabledCultures="zh" → 中国語(zh)へ切り替え不可
  141. 141. #UE4DD | @UNREALENGINE 参考資料 ● ゲームローカライズの最良の手法 ● https://cdn.ymaws.com/www.igda.org/resource/collection/2DA60D94-0F74-46B1-A9 E2-F2CE8B72EA4D/BestPracticesforGameTranslationv2.02_JP.pdf ● FINAL FANTASY XVの多言語対応・世界同時発売 ~日本語からの翻訳での課題と挑戦~ ● https://cedec.cesa.or.jp/2018/session/detail/s5ab9c63541015.html ● ローカライズフレンドリーな ゲーム開発のための社内ガイドライン入門 ● https://cedec.cesa.or.jp/2015/session/BP/9345.html ● 英語だけじゃない! 外国人が語る欧州言語向けローカライズの現状と課題 http://cedec.cesa.or.jp/2010/program/BM/C10_P0202.html ● 世界へ向けたゲーム開発 ~ローカライズ支援ツール『LION』~ ● https://www.slideshare.net/dena_tech/lion-87961160 ● 翻訳者が欲しい情報とその理由:開発者にできる事とするべき理由 Cedec2013 (架け橋ゲームズ) ● https://www.slideshare.net/translyucent/cedec2013 ● ソフトウェア国際化入門 ● http://www.kokusaika.jp/images/kjp/info/digitalxpress-vol28-i18n.pdf

×