SlideShare uma empresa Scribd logo
1 de 136
Baixar para ler offline
Localization feature of UE4
Epic Games Japan / Support Engineer
Ken Kuwano
#UE4DD | @UNREALENGINE
Contents
● Overview
● Basic Features
● Specified Features
● Misc
#UE4DD | @UNREALENGINE
Contents
● Overview
● Basic Features
● Specified Features
● Misc
#UE4DD | @UNREALENGINE
Localization of the game
● Localize the game
● Goal :Release to many regions
● How :Implementation to many regions
#UE4DD | @UNREALENGINE
Assets needing localization
● Text
● Content
● Font
● Asset
● Texture
● Voice,Sound
● Movie, Media
● Cutscene, Sequencer
● Animation
#UE4DD | @UNREALENGINE
Localization of the game
● Localize the game
● Goal :Release to many regions
● How :Implementation to many regions
● Localize the game made using UE4
● How do we localize using UE4?
● Asset :management, sharing
● Efficiency :workflow, implementation
● Effect :memory, performance
Focus of this slide
#UE4DD | @UNREALENGINE
Localize?
Localization (L10N)
● Localization is the process of adapting internationalized
software for a specific region or language by translating
text and adding locale specific components.
Internationalization (I18N)
● Internationalization is the process of designing a software
application so that it can be adapted to various languages
and regions without engineering changes.
#UE4DD | @UNREALENGINE
https://docs.unrealengine.com/en-US/Gameplay/Localization/index.html
Localization of UE4
#UE4DD | @UNREALENGINE
Contents
● Overview
● Basic Features
● Specified Features
● Misc
#UE4DD | @UNREALENGINE
Basic Features
● Text Localization Process
● Asset Localization Process
#UE4DD | @UNREALENGINE
Text Localization Process
Editor (en) Package game (ja)
#UE4DD | @UNREALENGINE
Text Localization Process
Gather
Source
Text
Package
Switch
Language
Translate
Source
Text
Editor (en) Package game (ja)
#UE4DD | @UNREALENGINE
Text Localization Process
Gather
Source
Text
Package
Switch
Language
Translate
Source
Text
Gather source text
from asset what we’d
like to localize.
OPTIONS
QUIT
#UE4DD | @UNREALENGINE
Text Localization Process
Gather
Source
Text
Package
Switch
Language
Translate
Source
Text
Make translation text
with reference to
gathered text.
OPTIONS
QUIT
オプション
終了
#UE4DD | @UNREALENGINE
Text Localization Process
Gather
Source
Text
Package
Switch
Lauguage
Translate
Source
Text
Make package game
including translation
text.
Package
OPTIONS
QUIT
オプション
終了
#UE4DD | @UNREALENGINE
Text Localization Process
Gather
Source
Text
Package
Switch
Language
Translate
Source
Text
Display text depending
on required language.
Package
OPTIONS
QUIT
オプション
終了
#UE4DD | @UNREALENGINE
Text Localization Process
Gather
Source
Text
Package
Switch
Language
Translate
Source
Text
Package
OPTIONS
QUIT
オプション
終了
Package
OPTIONS
QUIT
オプション
終了
OPTIONS
QUIT
オプション
終了
OPTIONS
QUIT
Localization Dashboard
#UE4DD | @UNREALENGINE
Gathering Text
Localization Dashboard
#UE4DD | @UNREALENGINE
Gathering Text
#UE4DD | @UNREALENGINE
Gather and Localize Text
Blue
Print
C++
① Gather text ② Create text
Loc
Res
③ Show text
Display on Editor Display on Game
#UE4DD | @UNREALENGINE
Which text is gathered?
● Blueprint:FText, STextBlock
● C++/.ini:LOCTEXT, NSLOCTEXT
#UE4DD | @UNREALENGINE
Unique Text (namespace/key/value)
#UE4DD | @UNREALENGINE
● Using FormatText for loacalization
● Blackbox
”Discard <Item Name>”
● Number
“Got <Number> Items”
● Numeric
“1Hit”, ”2Hits”, etc...
● Unit
“USD”, ”yard”, etc...
Displaying text
#UE4DD | @UNREALENGINE
There {NumCats}|plural(one=is,other=are) {NumCats} {NumCats}|plural(one=cat,other=cats)
one=”is”, other=”are” number one=”cat”, other=”cats”
Plural Forms (en)
#UE4DD | @UNREALENGINE
There is 1 cat
There are 2 cats
(en)
Input translation text with
Localization Dashboard
1匹の猫がいる
2匹の猫がいる
(ja)
Plural Forms (en→ja)
#UE4DD | @UNREALENGINE
Auto formatting text
Text is converted for the culture original format
automatically.
1) Number:12345.67
● ja : 12,345.67 ⇒ Grouping = ”,” , Decimal = ”.”
● de : 12.345,67 ⇒ Grouping = ”.” , Decimal = ”,”
● fr : 12 345,67 ⇒ Grouping = ” ” , Decimal = ”,”
2) Date:2020年10月31日
● ja : 2019/10/31 ⇒ yyyy/mm/dd
● en : Oct 31, 2019 ⇒ mm/dd/yyyy
● fr : 31 oct. 2019 ⇒ dd-mm-yyyy
#UE4DD | @UNREALENGINE
Language Plural Rules
http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html
#UE4DD | @UNREALENGINE
Text Localization Process
Gather
Source
Text
Package
Switch
Language
Translate
Source
Text
Package
OPTIONS
QUIT
オプション
終了
Package
OPTIONS
QUIT
オプション
終了
OPTIONS
QUIT
オプション
終了
OPTIONS
QUIT
Localization Dashboard .ini file/Console Command
#UE4DD | @UNREALENGINE
Setting current language of text
● Startup game
● Launch argument
● Configuration (.ini)
● System Language (OS)
● Runtime
● Console Command
● Call culture switching function
#UE4DD | @UNREALENGINE
Switch display of the language API
Switch displaying text
#UE4DD | @UNREALENGINE
Switch content display language
Culture
Language
Locale
Asset Group
Texts and Assets
Format display (Number/Date/Time)
Specific Assets and Classes
Text
#UE4DD | @UNREALENGINE
Switch culture
● Accoding to set many priority rules, there are several
ways to specify the language of the game at launch
game
● Priority (Top is highest)
● “-culture” value with launch argument
● ”culture” value on xxxGame.ini
● ”culture” value on xxxEngine.ini
● System Language (OS)
#UE4DD | @UNREALENGINE
Text Localization Process
Gather
Source
Text
Package
Switch
Language
Translate
Source
Text
Display in editor in English
→ Display package in Japanese
#UE4DD | @UNREALENGINE
Basic Features
● Text Localization Process
● Asset Localization Process
#UE4DD | @UNREALENGINE
Asset Localization Process
Editor (en) Package game (ja)
#UE4DD | @UNREALENGINE
Asset Localization Process
Package
Switch
Language
Placed
Asset
Editor (en) Package game (ja)
#UE4DD | @UNREALENGINE
Asset Localization Process
Package
Switch
Language
Placed
Asset
Placed target asset in
specified path.
Img (en)
Img (ja)
#UE4DD | @UNREALENGINE
Asset Localization Process
Package
Switch
Language
Placed
Asset
Make package game
including translation
text.
Package
Img (en)
Img (ja)
#UE4DD | @UNREALENGINE
Asset Localization Process
Package
Switch
Language
Placed
Asset
Package
Img (en)
Img (ja)
Display text depending
on required language.
#UE4DD | @UNREALENGINE
Asset Localization Process
Package
Switch
Language
Placed
Asset
Package
Img (en)
Img (ja)
Package
Img (en)
Img (ja)
Img (en)
Img (ja)
Editor
#UE4DD | @UNREALENGINE
Placed Asset
● Apply Asset Localization
● Placed asset under”Content/L10N/[language]”
Source Texture Path
Content/UI/Texture/Logo/LogoBk
Localization Texture Path (ja)
Content/L10N/ja/UI/Texture/Logo/LogoBk
#UE4DD | @UNREALENGINE
Placed Asset
● Apply Asset Localization
● Select Asset Localization in Content Browser
#UE4DD | @UNREALENGINE
Asset Localization Process
Package
Switch
Language
Placed
Asset
Package
Img (en)
Img (ja)
Package
Img (en)
Img (ja)
Img (en)
Img (ja)
Editor .ini file/Console Command
#UE4DD | @UNREALENGINE
Setting current language of asset
● Startup game
● Launch argument
● Configuration (.ini)
● System Language (OS)
● Runtime
● Console Command
● Call culture switching function
Same as the text
#UE4DD | @UNREALENGINE
Switch display of the language API
Switch displaying
asset
#UE4DD | @UNREALENGINE
Switch content display language
Culture
Language
Locale
Asset Group
Texts and Assets
Format display (Number/Date/Time)
Specific Assets and Classes
Asset
#UE4DD | @UNREALENGINE
Switching Asset Group
● Group assets and reuse them across languages
● Case where only some assets are used in different languages.
● The text display is “ja”, but some of Audio wants to use “en”.
● Setting on xxxGame.ini and xxxEngine.ini
#UE4DD | @UNREALENGINE
Asset Group
● Not using Asset Group
If we are setting the current culture is ja,
all texts and assets are displayed in ja
Text (ja) Asset (ja)
#UE4DD | @UNREALENGINE
Asset Group
Audio (it)
Sound Wave
Sound Cue
● Using Asset Group
Text (ja)
Other
Asset (ja)
If we’re grouping ”Sound Wave” and ”Sound Cue” during the current culture is in ja,
”Sound Wave” and ”Sound Cue” are using in it language’s assets.
Class
Asset Group
#UE4DD | @UNREALENGINE
● Setting the class to be linked to Asset Group
● Setting the language to which Asset Group is applied
Switching Asset Group
If the above settings are made,
Sound Wave and Sound Cue use “en” assets from startup.
#UE4DD | @UNREALENGINE
Asset Localization Process
Package
Switch
Language
Placed
Asset
Display in editor in English
→ Display package in Japanese
#UE4DD | @UNREALENGINE
Contents
● Overview
● Basic Features
● Specified Features
● Misc
#UE4DD | @UNREALENGINE
Specified Features
● Font
● Subtitle and Voice
● Subtitle of Media Framework
#UE4DD | @UNREALENGINE
Localization for Font asset
● What about text localization?
● Want to change the font by language...
● Want to change the font size by language...
● How do we localize font asset?
● Use Asset Localization
● Use Sub Culture, and Sub Font Family
#UE4DD | @UNREALENGINE
Apply Font Localization (1)
● Apply fonts by language with Asset Localization
Font (common)
Font (th)Font (ja)
#UE4DD | @UNREALENGINE
Apply Font Localization (2)
● Use SubCulture and SubFont with Font Asset
Font
(common) Font Face
Fallback Font Family
Font Face
Sub Font Family
(ja)
Font Face
Sub Font Family
(th)
Font Face
Default Font Family
#UE4DD | @UNREALENGINE
Font
Sub Font
Default Font
Fallback Font
#UE4DD | @UNREALENGINE
Font
Applying language
Character range
Applying font
#UE4DD | @UNREALENGINE
Subtitle and Voice localization
● Build dialogue system using dialogue assets
This message is
a subtitle test.
https://docs.unrealengine.com/en-US/Engine/Audio/Dialogue/index.html
#UE4DD | @UNREALENGINE
Subtitle and Voice localization
● Dialogue System (for each sentence)
● Dialogue Wave :Dialogue Data
● Dialogue Voice :Talker Data
● Sound Wave :Voice Sound
Dialogue Wave Dialogue Voice
#UE4DD | @UNREALENGINE
Dialogue Wave
Subtitle text
Talker info
Voice asset
#UE4DD | @UNREALENGINE
Localization of dialogue .wav
Apply text localization
Apply asset localization
#UE4DD | @UNREALENGINE
Localization for subtitle of Media framework
● Switch media player subtitles by language
● Unreleased Features
● If you want to use then, need to modify the engine code.
● It’s necessary to add subtitle data playback process.
#UE4DD | @UNREALENGINE
● Subtitle data
● Editable on editor
● Crate assets by language
● Capable of importing .srt file
Basic Overlays
Localized Overlays
Subtitles table
Basic Overlays
Subtitle data (ja)
Basic Overlays
Subtitle data (en)
#UE4DD | @UNREALENGINE
● Assets that manage subtitles by language
● Set Basic Overlays for each language
Localized Overlays
Localized Overlays
Subtitles table
Basic Overlays
Subtitle data (ja)
Basic Overlays
Subtitle data (en)
#UE4DD | @UNREALENGINE
Change to Return true, so it can be displayed on media
asset.
Unlock overlay features
#UE4DD | @UNREALENGINE
Subtitle Data
Project
Engine
Widget
Playback media
Subtitle
Manager
Control subtitles
Subtitle Player
Playback subtitles
Localized
Overlays
Sutitiles for localization
Basic Overlays
Subtitle data (ja)
Basic Overlays
Subtitle data (en)
Basic Overlays
Subtitle data (fr)
Overlay and related classes
#UE4DD | @UNREALENGINE
Subtitle Player Implementation Example
void UMyMediaSubtitlesPlayer::Play()
{
bEnabled = true;
}
void UMyMediaSubtitlesPlayer::Stop()
{
bEnabled = false;
FSubtitleManager::GetSubtitleManager()->SetMovieSubtitle(this, TArray<FString>());
}
#UE4DD | @UNREALENGINE
Subtitle Player Implementation Example
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();
}
}
}
#UE4DD | @UNREALENGINE
Contents
● Overview
● Basic Features
● Specified Features
● Misc
#UE4DD | @UNREALENGINE
Misc
● Localization Preview
● Translation Picker
● String Table
#UE4DD | @UNREALENGINE
Localization Preview
● Feature to preview Localization Text on UMG Designer
● Not compatiable with Localization Asset
#UE4DD | @UNREALENGINE
Preview text updates after switching language
Localization Preview
Comparison of localization preview
Update text
(en→ja)
Applu preview
#UE4DD | @UNREALENGINE
Localization Preview
● Preview Game Language (Editor Preference)
● If Preview language is selected, it’s affected as default
Affect from Editor Preferences
#UE4DD | @UNREALENGINE
Localization Preview
● Need to localize the text before using this feature.
localizing text... can select preview languages
#UE4DD | @UNREALENGINE
Translation Picker
● Feature to extract text localization info from editor
● Can edit localization text without accesing dashboard
#UE4DD | @UNREALENGINE
Translation Picker
● Enable picker
● Enable Translation Picker in Editor Preferences (Experimental)
● Show picker window
● From Window or select icon in translation editor
#UE4DD | @UNREALENGINE
Translation Picker
Can edit translation text directly in PIE
#UE4DD | @UNREALENGINE
String Table
● Registering fixed phrases and strings
● Can import/export from .csv file
#UE4DD | @UNREALENGINE
String Table
● Value can be referenced by specifying Key and Text
Set Table and Key
Affect Value
#UE4DD | @UNREALENGINE
String Table
● Note
● Conflict editng table
● Hard reference to assets
#UE4DD | @UNREALENGINE
Project Settings
● The settings are required when Packaging
● Localizations to Package
● Languages for Cook/Stage/Package
● Internationalization Support
● Language set for internationalized data
#UE4DD | @UNREALENGINE
Project Settings
● Localizations to Packages
● Settings that specify the language to be localized
● When not selected, it doesn’t include localization asset to package
Select from localized languages...Select target languages manually...
#UE4DD | @UNREALENGINE
Project Settings
● How to specifiy a language for each platform
● Override language specification in xxxGame.ini
● Following example, only “en” and “ja” assets and texts are
included when Packaging
#UE4DD | @UNREALENGINE
● Internationalization Support
● Select preset including target language from the list
Project Settings
Preset Languages Size (MB)
English English ~1.77
EFIGS English, French, Italian, German, Spanish ~2.38
EFIGSCJK English, French, Italian, German, Spanish, Chinese, Korean, Japanese ~5.99
CJK Chinese, Korean, Japanese ~5.16
All All Languages ~15.3
Language Preset
#UE4DD | @UNREALENGINE
In a nutshell
● UE4 has basic features for localization
● It’s better to use your own system or workflow
(depending on requirements)
● Consider localization plans early
#UE4DD | @UNREALENGINE
Extra
● Localization Dashboard
● Settings
#UE4DD | @UNREALENGINE
Localization Dashboard
#UE4DD | @UNREALENGINE
Localization Dashboard
#UE4DD | @UNREALENGINE
Localization Dashboard
● Text Localization feature
● Gather text from assets and source code
● Export translated text and share it
● Manage and edit translated texts in languages
● Manage localization progress of translated texts
● Supporting Text Localization feature
● Can work with third-party provider service
● Can be linked with source control
● Can preview translated text and preview font
● Can check text conflicts
#UE4DD | @UNREALENGINE
Localization Dashboard
● Pros
● Localization is completed in UE4 Editor
● Immediate confirmation after editing localized text
● Gather text over a wide range including source meta
● Cons
● If edit source text, affects all languages content
● Experimental features (but can be used)
#UE4DD | @UNREALENGINE
Localization Dashbord Overview
Target
Target DetailService Provider
Cultures
Gather Text
Misc
#UE4DD | @UNREALENGINE
Localization Dashbord Overview
Target
Target Detail
Cultures
Gather Text
Service Provider
Misc
#UE4DD | @UNREALENGINE
Text localize quick start flow
① Add localization language
② Set target assets
③ Gather text
④Input translate text
⑤ Compile translated text
⑥ Update word count
#UE4DD | @UNREALENGINE
Localization Dashbord Overview
#UE4DD | @UNREALENGINE
Localization Dashbord Overview
Target
Target Detail
Cultures
Gather Text
Service Provider
Misc
#UE4DD | @UNREALENGINE
● Linked Service Provider (XLoc, OneSky)
● Linked Source Control
Localization Service
#UE4DD | @UNREALENGINE
Localization Service (One Sky)
https://www.oneskyapp.com/
#UE4DD | @UNREALENGINE
Localization Service (XLoc)
http://www.xloc.com/
#UE4DD | @UNREALENGINE
Editing .po file (Poedit)
https://poedit.net/
#UE4DD | @UNREALENGINE
Localization Dashboard - Localization Service
Localization Service Provider
Localization Service Provider Select active service provider when using a specific localization.
Source Control
Enable Source Control If source control and service provider are available, connect to
source control during localization operations automatically.
Enable Auto Submit If source control and service providers are available, allow auto
submit during localization operations.
#UE4DD | @UNREALENGINE
Localization Dashbord Overview
Target
Target Detail
Cultures
Gather Text
Service Provider
Misc
#UE4DD | @UNREALENGINE
● Localization Target
● Classified by localization category
● Game Targets
For project code/asset
● Engine Targets
For engine code/asset
Localization Target
#UE4DD | @UNREALENGINE
Localization Dashboard - Localization Target
Target
Name Specified for localization target.
Conflict Status Show conflict status of localize text.
Loading Policy Specified loading conditions for localized text of plugin and DLC.
#UE4DD | @UNREALENGINE
Localization Target (Conflict Status)
Identify by namespace and key
(unique)
#UE4DD | @UNREALENGINE
Localization Target (Conflict Status)
Not conflict : Texts are defined by different namespace or key
#UE4DD | @UNREALENGINE
Localization Target (Conflict Status)
Conflict : Texts are assigned by same namespace and key
#UE4DD | @UNREALENGINE
Localization Target (Conflict Status)
Conflict Status Description
Clear Clear state of gather unique to all text.
Conflicts Present It’s necessary to resolve conflict text.
Unknown State before key match check.
Update conflict status by gather text.
Check and correct from ✖ button whether there is a conflict or not
#UE4DD | @UNREALENGINE
Localization Dashbord Overview
Cultures
Gather Text
Service Provider
Target
Target Detail
Misc
#UE4DD | @UNREALENGINE
Gather Text
● Target of gathering text from content
(code/files/assets)
● Gather from Text Files
Text file (.cpp/.h/.ini )
● Gather from Packages
Asset (.uasset/.umap)
● Gather from Meta Data
Meta tag of UPROPERTY
#UE4DD | @UNREALENGINE
Localization Dashboard - Gather Text
Gather Text
Target Dependencies Text present in these targets will not be duplicated in this target.
Additional Manifest Dependencies Text present in these manifests will not be duplicated in this
target.
Required Module Names The names of modules which must be loaded when gathering text.
Use to gather from packages or metadata sourced from a module
that isn't the primary game module.
#UE4DD | @UNREALENGINE
Gather Text (Gather from Text Files)
#UE4DD | @UNREALENGINE
Localization Dashboard - Gather Text
Gather Text
Search Directories The paths of directories to be searched recursively for text files,
specified relative to the project's root, which may be parsed for
text to gather.
Exclude Path Wildcards Text files whose paths match these wildcard patterns will be
excluded from gathering.
File Extensions Text files whose names match these wildcard patterns may be
parsed for text to gather.
Should Gather from Editor Only Data If enabled, data that is specified as editor-only may be processed
for gathering.
#UE4DD | @UNREALENGINE
Gather Text (Gather from Packages)
#UE4DD | @UNREALENGINE
Localization Dashboard - Gather Text
Gather Text
Include Path Wildcards Packages whose paths match these wildcard patterns, specified
relative to the project's root, may be processed for gathering.
Exclude Path Wildcards Packages whose paths match these wildcard patterns will be
excluded from gathering.
File Extensions Packages whose names match these wildcard patterns may be
processed for text to gather.
Collections Packages in these collections may be processed for gathering.
Should Gather from Editor Only Data If enabled, data that is specified as editor-only may be processed
for gathering.
Skip Gather Cache Should we ignore the cached text in the package header and
perform a full package load instead?
#UE4DD | @UNREALENGINE
Gather Text (Gather from Meta Data)
#UE4DD | @UNREALENGINE
Localization Dashboard - Gather Text
Gather Text
Include Path Wildcards Packages whose paths match these wildcard patterns, specified
relative to the project's root, may be processed for gathering.
Exclude Path Wildcards Packages whose paths match these wildcard patterns will be
excluded from gathering.
Should Gather from Editor Only Data If enabled, data that is specified as editor-only may be processed
for gathering.
#UE4DD | @UNREALENGINE
Localization Dashboard - Gather Text
Gather Text
Key Specifications Specifications for how to gather text from specific metadata keys.
Meta Data Key The metadata key for which values will be gathered as text.
Text Namespace The localization namespace in which the gathered text will be output.
Text Key Pattern The pattern which will be formatted to form the localization key for
the metadata value gathered as text.
#UE4DD | @UNREALENGINE
Localization Dashbord Overview
Cultures
Gather Text
Service Provider
Target
Target Detail
Misc
#UE4DD | @UNREALENGINE
Export Text / Compile Text / Import Dialogue
#UE4DD | @UNREALENGINE
Localization Dashboard
Export Text
Collapse Mode How should we collapse down text when exporting to PO?
Should Persist Comments on Export Should user comments in existing PO files be persisted after
export? Useful if using a third party service that stores
editor/translator notes in the PO format's comment fields.
Should Add Source Locations as Comments Should source locations be added to PO file entries as
comments? Useful if a third party service doesn't expose PO
file reference comments, which typically store the source
location.
#UE4DD | @UNREALENGINE
Localization Dashboard
Compile Text
Skip Source Check Should we skip the source check when compiling
translations? This will allow translations whose source no
longer matches the active source to still be used by the
game at runtime.
Validate Format Patterns Should we validate that format patterns are valid for the
culture being compiled (eg, detect invalid plural rules or
broken syntax).
Validate Safe Whitespace Should we validate that text doesn't contain any unsafe
whitespace (leading or trailing whitespace) that could get
lost during the translation process.
#UE4DD | @UNREALENGINE
Localization Dashboard
Import Dialogue
Raw Audio Path Path to the folder to import the audio from. This folder is
expected to contain culture sub-folders, which in turn
contain the raw WAV files to import.
Imported Dialogue Folder Folder in which to create the generated sound waves. This is
relative to the root of the L10N culture folder (or the root
content folder if importing native dialogue as source
dialogue).
Import Native as Source Should the dialogue for the native culture be imported as if
it were source audio? If false, the native culture dialogue
will be imported as localized data for the native culture.
#UE4DD | @UNREALENGINE
Localization Dashbord 概要
Cultures
Gather Text
Service Provider
Target
Target Detail
Misc
#UE4DD | @UNREALENGINE
Localization Dashboard
#UE4DD | @UNREALENGINE
Localization Dashboard
Base language
Localization target languages
#UE4DD | @UNREALENGINE
Localization Dashboard
Control by language
Control for all languages
#UE4DD | @UNREALENGINE
Localization Dashboard
#UE4DD | @UNREALENGINE
Localization Dashbord (Gather Text)
Gather Text Gather text info from asset and source code
Import Text Import localized text file (.po)
Export Text Export localized text file (.po)
Import Script Import dialogue script file (.csv)
Export Script Export dialogue script file (.csv)
Import Dialogue Import Sound Wave and Dialogue Wave assets
Count Word Update translated text count and affect in word count
Compile Text Compile translated text and update text data
#UE4DD | @UNREALENGINE
Settings
#UE4DD | @UNREALENGINE
.ini file (Engine.ini)
Internationalization
Culture Language that displays all contents from application launching.
Language Language that displays texts/assets from application launching.
Locale Language that displays format-text from application launching.
#UE4DD | @UNREALENGINE
.ini file (Engine.ini)
Internationalization
CultureMappings It can be replaced with another language.
EnabledCultures Only languages specified in configuration can be used.
DisabledCultures All languages specified in configuration can’t be used.
PreviewGameLaguage Select preview language in PIE or standalone launching.
LockLocalization Disable localization and lock text editing (editor only).
#UE4DD | @UNREALENGINE
.ini file (Game.ini)
Internationalization
Culture Language that displays all contents from application launching.
Language Language that displays texts/assets from application launching.
Locale Language that displays format-text from application launching.
#UE4DD | @UNREALENGINE
.ini file (Game.ini)
Internationalization
CultureMappings It can be replaced with another language.
EnabledCultures Only languages specified in configuration can be used.
DisabledCultures All languages specified in configuration can’t be used.
LockLocalization Disable localization and lock text editing (editor only).
#UE4DD | @UNREALENGINE
.ini file (EditorSettings.ini)
Internationalization
Culture Language that displays all contents from application launching.
Language Language that displays texts/assets from application launching.
Locale Language that displays format-text from application launching.
#UE4DD | @UNREALENGINE
.ini file (EditorSettings.ini)
Internationalization
ShouldUseLocalizedNumericInput Display numerical values such as property in Editor Language.
ShouldUseLocalizedPropertyNames Display Property name in Editor Language.
ShouldUseLocalizedNodeAndPinNames Display Blueprint Node and Blueprint Node Pin name in Editor
Language.
DisplayTimezone Affects the initial time zone value when using DataTime type.

Mais conteúdo relacionado

Mais procurados

UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-com044
 
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -historia_Inc
 
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!エピック・ゲームズ・ジャパン Epic Games Japan
 
UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-com044
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...エピック・ゲームズ・ジャパン Epic Games Japan
 
UI아트 작업자를 위한 언리얼엔진4 UMG #1
UI아트 작업자를 위한 언리얼엔진4 UMG #1UI아트 작업자를 위한 언리얼엔진4 UMG #1
UI아트 작업자를 위한 언리얼엔진4 UMG #1Hong-Gi Joe
 

Mais procurados (20)

Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
Lightmassの仕組み ~Lightmap編~ (Epic Games Japan: 篠山範明)
 
UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-UE4 LODs for Optimization -Beginner-
UE4 LODs for Optimization -Beginner-
 
[CEDEC2018] UE4アニメーションシステム総おさらい
[CEDEC2018] UE4アニメーションシステム総おさらい[CEDEC2018] UE4アニメーションシステム総おさらい
[CEDEC2018] UE4アニメーションシステム総おさらい
 
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
目指せ脱UE4初心者!?知ってると開発が楽になる便利機能を紹介 - DataAsset, Subsystem, GameplayAbility編 -
 
Unreal Engine 4を使って地球を衛る方法
Unreal Engine 4を使って地球を衛る方法Unreal Engine 4を使って地球を衛る方法
Unreal Engine 4を使って地球を衛る方法
 
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
 
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 2
 
非同期ロード画面 Asynchronous Loading Screen
非同期ロード画面 Asynchronous Loading Screen非同期ロード画面 Asynchronous Loading Screen
非同期ロード画面 Asynchronous Loading Screen
 
猫でも分かるUE4.22から入ったSubsystem
猫でも分かるUE4.22から入ったSubsystem 猫でも分かるUE4.22から入ったSubsystem
猫でも分かるUE4.22から入ったSubsystem
 
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
 
UE4の色について v1.1
 UE4の色について v1.1 UE4の色について v1.1
UE4の色について v1.1
 
UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-UE4 アセットロード周り-アセット参照調査-
UE4 アセットロード周り-アセット参照調査-
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
 
Lightmassの仕組み ~Precomputed Light Volume編~ (Epic Games Japan: 篠山範明)
 Lightmassの仕組み ~Precomputed Light Volume編~ (Epic Games Japan: 篠山範明) Lightmassの仕組み ~Precomputed Light Volume編~ (Epic Games Japan: 篠山範明)
Lightmassの仕組み ~Precomputed Light Volume編~ (Epic Games Japan: 篠山範明)
 
UE4におけるエフェクトの基本戦略事例 前半
UE4におけるエフェクトの基本戦略事例  前半UE4におけるエフェクトの基本戦略事例  前半
UE4におけるエフェクトの基本戦略事例 前半
 
UE4のモバイル向け機能や最新情報などを改めて紹介!2019
UE4のモバイル向け機能や最新情報などを改めて紹介!2019UE4のモバイル向け機能や最新情報などを改めて紹介!2019
UE4のモバイル向け機能や最新情報などを改めて紹介!2019
 
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
UE4のローカライズ機能紹介 (UE4 Localization Deep Dive)
 
UE4アセットリダクション手法紹介
UE4アセットリダクション手法紹介UE4アセットリダクション手法紹介
UE4アセットリダクション手法紹介
 
UI아트 작업자를 위한 언리얼엔진4 UMG #1
UI아트 작업자를 위한 언리얼엔진4 UMG #1UI아트 작업자를 위한 언리얼엔진4 UMG #1
UI아트 작업자를 위한 언리얼엔진4 UMG #1
 
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
アーティストの為のプロファイル入門!~楽しいRenderDocの使い方~
 

Semelhante a Localization feature of ue4

Internationlization
InternationlizationInternationlization
InternationlizationTuan Ngo
 
Internationalization in Angular Presentation
Internationalization in Angular PresentationInternationalization in Angular Presentation
Internationalization in Angular PresentationKnoldus Inc.
 
The *on-going* future of Perl5
The *on-going* future of Perl5The *on-going* future of Perl5
The *on-going* future of Perl5Vytautas Dauksa
 
Drupal 8 customized checkout system
Drupal 8 customized checkout systemDrupal 8 customized checkout system
Drupal 8 customized checkout systemAhmad Hassan
 
Multilingual Content in Drupal 7 & 8 at DrupalCon Munich
Multilingual Content in Drupal 7 & 8 at DrupalCon MunichMultilingual Content in Drupal 7 & 8 at DrupalCon Munich
Multilingual Content in Drupal 7 & 8 at DrupalCon MunichSuzanne Dergacheva
 
How To Build And Launch A Successful Globalized App From Day One Or All The ...
How To Build And Launch A Successful Globalized App From Day One  Or All The ...How To Build And Launch A Successful Globalized App From Day One  Or All The ...
How To Build And Launch A Successful Globalized App From Day One Or All The ...agileware
 
Game Programming 10 - Localization
Game Programming 10 - LocalizationGame Programming 10 - Localization
Game Programming 10 - LocalizationNick Pruehs
 
[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in actionMickael Istria
 
Language translator
Language translatorLanguage translator
Language translatorSumitSumit26
 
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...Suzanne Dergacheva
 
Affordable and efficient multi platform localisation. case study
Affordable and efficient multi platform localisation. case studyAffordable and efficient multi platform localisation. case study
Affordable and efficient multi platform localisation. case studyVolodymyr Shyrochuk
 
languagetranslator-211028085026.pptx
languagetranslator-211028085026.pptxlanguagetranslator-211028085026.pptx
languagetranslator-211028085026.pptxMDASIFALI32
 
Voxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdf
Voxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdfVoxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdf
Voxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdfIván López Martín
 
The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6
The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6
The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6Andrei Zmievski
 
Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012Suzanne Dergacheva
 
Horacio Gonzalez | Hey people, have you looked at Flutter yet? | Codemotion M...
Horacio Gonzalez | Hey people, have you looked at Flutter yet? | Codemotion M...Horacio Gonzalez | Hey people, have you looked at Flutter yet? | Codemotion M...
Horacio Gonzalez | Hey people, have you looked at Flutter yet? | Codemotion M...Codemotion
 

Semelhante a Localization feature of ue4 (20)

Internationlization
InternationlizationInternationlization
Internationlization
 
Multilingual drupal 7
Multilingual drupal 7Multilingual drupal 7
Multilingual drupal 7
 
Internationalization in Angular Presentation
Internationalization in Angular PresentationInternationalization in Angular Presentation
Internationalization in Angular Presentation
 
Press Button, Drink Coffee : An Overview of UE4 build pipeline and maintenance
Press Button, Drink Coffee : An Overview of UE4 build pipeline and maintenancePress Button, Drink Coffee : An Overview of UE4 build pipeline and maintenance
Press Button, Drink Coffee : An Overview of UE4 build pipeline and maintenance
 
ColdBox i18N
ColdBox i18N ColdBox i18N
ColdBox i18N
 
The *on-going* future of Perl5
The *on-going* future of Perl5The *on-going* future of Perl5
The *on-going* future of Perl5
 
Drupal 8 customized checkout system
Drupal 8 customized checkout systemDrupal 8 customized checkout system
Drupal 8 customized checkout system
 
Multilingual Content in Drupal 7 & 8 at DrupalCon Munich
Multilingual Content in Drupal 7 & 8 at DrupalCon MunichMultilingual Content in Drupal 7 & 8 at DrupalCon Munich
Multilingual Content in Drupal 7 & 8 at DrupalCon Munich
 
How To Build And Launch A Successful Globalized App From Day One Or All The ...
How To Build And Launch A Successful Globalized App From Day One  Or All The ...How To Build And Launch A Successful Globalized App From Day One  Or All The ...
How To Build And Launch A Successful Globalized App From Day One Or All The ...
 
Game Programming 10 - Localization
Game Programming 10 - LocalizationGame Programming 10 - Localization
Game Programming 10 - Localization
 
[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action[EclipseCon France 2017] Language Server Protocol in action
[EclipseCon France 2017] Language Server Protocol in action
 
Language translator
Language translatorLanguage translator
Language translator
 
Angular_I18N.pptx
Angular_I18N.pptxAngular_I18N.pptx
Angular_I18N.pptx
 
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
Don't Get Lost in Translation: Multilingual Site Building with Drupal 7 at Dr...
 
Affordable and efficient multi platform localisation. case study
Affordable and efficient multi platform localisation. case studyAffordable and efficient multi platform localisation. case study
Affordable and efficient multi platform localisation. case study
 
languagetranslator-211028085026.pptx
languagetranslator-211028085026.pptxlanguagetranslator-211028085026.pptx
languagetranslator-211028085026.pptx
 
Voxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdf
Voxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdfVoxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdf
Voxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdf
 
The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6
The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6
The Good, the Bad, and the Ugly: What Happened to Unicode and PHP 6
 
Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012Multilingual Content: Presentation from DrupalCamp Montreal 2012
Multilingual Content: Presentation from DrupalCamp Montreal 2012
 
Horacio Gonzalez | Hey people, have you looked at Flutter yet? | Codemotion M...
Horacio Gonzalez | Hey people, have you looked at Flutter yet? | Codemotion M...Horacio Gonzalez | Hey people, have you looked at Flutter yet? | Codemotion M...
Horacio Gonzalez | Hey people, have you looked at Flutter yet? | Codemotion M...
 

Mais de エピック・ゲームズ・ジャパン Epic Games Japan

『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
『バランワンダーワールド』でのマルチプラットフォーム対応について  UNREAL FEST EXTREME 2021 SUMMER『バランワンダーワールド』でのマルチプラットフォーム対応について  UNREAL FEST EXTREME 2021 SUMMER
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMERエピック・ゲームズ・ジャパン Epic Games Japan
 
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMERエピック・ゲームズ・ジャパン Epic Games Japan
 
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMERSAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMERエピック・ゲームズ・ジャパン Epic Games Japan
 
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編)  UNREAL FEST EXTREME 2021 SUMMER『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編)  UNREAL FEST EXTREME 2021 SUMMER
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMERエピック・ゲームズ・ジャパン Epic Games Japan
 

Mais de エピック・ゲームズ・ジャパン Epic Games Japan (20)

初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
初心者向け UE4 映像制作での シーケンサー と Movie Render Queue の使い方
 
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
猫でも分かるUE4を使った VRコンテンツ開発 超入門編 2021
 
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
Unreal Engine 4.27 ノンゲーム向け新機能まとめUnreal Engine 4.27 ノンゲーム向け新機能まとめ
Unreal Engine 4.27 ノンゲーム向け新機能まとめ
 
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
Unreal Engine 5 早期アクセスの注目機能総おさらい Part 1
 
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
 
UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4を使った映像制作 (UE4 Character Art Dive Online)UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4を使った映像制作 (UE4 Character Art Dive Online)
 
Hair Groom入門 (UE4 Character Art Dive Online)
Hair Groom入門 (UE4 Character Art Dive Online)Hair Groom入門 (UE4 Character Art Dive Online)
Hair Groom入門 (UE4 Character Art Dive Online)
 
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive OnlineUE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
 
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
『バランワンダーワールド』でのマルチプラットフォーム対応について  UNREAL FEST EXTREME 2021 SUMMER『バランワンダーワールド』でのマルチプラットフォーム対応について  UNREAL FEST EXTREME 2021 SUMMER
『バランワンダーワールド』でのマルチプラットフォーム対応について UNREAL FEST EXTREME 2021 SUMMER
 
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMERVisual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
Visual Dataprepで建築データを美味しく下ごしらえ UNREAL FEST EXTREME 2021 SUMMER
 
Unreal Engineでのコンフィギュレーター制作と映像制作 UNREAL FEST EXTREME 2021 SUMMER
Unreal Engineでのコンフィギュレーター制作と映像制作  UNREAL FEST EXTREME 2021 SUMMERUnreal Engineでのコンフィギュレーター制作と映像制作  UNREAL FEST EXTREME 2021 SUMMER
Unreal Engineでのコンフィギュレーター制作と映像制作 UNREAL FEST EXTREME 2021 SUMMER
 
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏 UNREAL FEST EXTREME 2021 SUMMER
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏  UNREAL FEST EXTREME 2021 SUMMERバレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏  UNREAL FEST EXTREME 2021 SUMMER
バレンシアガ『Afterworld: The Age of Tomorrow』の舞台裏 UNREAL FEST EXTREME 2021 SUMMER
 
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
『FINAL FANTASY VII REMAKE』におけるプロファイリングと最適化事例 UNREAL FEST EXTREME 2021 SUMMER
 
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMERSAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
SAMURAI JACK開発事例:海外むけアクションゲームをオーソドックスに作ってみた UNREAL FEST EXTREME 2021 SUMMER
 
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編)  UNREAL FEST EXTREME 2021 SUMMER『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編)  UNREAL FEST EXTREME 2021 SUMMER
『ガールズ&パンツァー 最終章』第3話 アニメとゲームエンジンの融合(ジャングル完結編) UNREAL FEST EXTREME 2021 SUMMER
 
UE4を使用したバーチャルヒューマンの映像制作 UNREAL FEST EXTREME 2021 SUMMER
UE4を使用したバーチャルヒューマンの映像制作  UNREAL FEST EXTREME 2021 SUMMERUE4を使用したバーチャルヒューマンの映像制作  UNREAL FEST EXTREME 2021 SUMMER
UE4を使用したバーチャルヒューマンの映像制作 UNREAL FEST EXTREME 2021 SUMMER
 
オンラインで同期した100体の巨大生物から地球を衛る方法 UNREAL FEST EXTREME 2021 SUMMER
オンラインで同期した100体の巨大生物から地球を衛る方法  UNREAL FEST EXTREME 2021 SUMMERオンラインで同期した100体の巨大生物から地球を衛る方法  UNREAL FEST EXTREME 2021 SUMMER
オンラインで同期した100体の巨大生物から地球を衛る方法 UNREAL FEST EXTREME 2021 SUMMER
 
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
MetaHumanサンプル解体新書  UNREAL FEST EXTREME 2021 SUMMERMetaHumanサンプル解体新書  UNREAL FEST EXTREME 2021 SUMMER
MetaHumanサンプル解体新書 UNREAL FEST EXTREME 2021 SUMMER
 
Twinmotion 2021とAEC分野向けソリューションのご紹介
Twinmotion 2021とAEC分野向けソリューションのご紹介Twinmotion 2021とAEC分野向けソリューションのご紹介
Twinmotion 2021とAEC分野向けソリューションのご紹介
 
UE4.26 レンダリング新機能(CEDEC+KYUSHU 2020)
UE4.26 レンダリング新機能(CEDEC+KYUSHU 2020)UE4.26 レンダリング新機能(CEDEC+KYUSHU 2020)
UE4.26 レンダリング新機能(CEDEC+KYUSHU 2020)
 

Último

Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdfKamal Acharya
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoordharasingh5698
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfRagavanV2
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 

Último (20)

Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor 📱 {7001035870} VIP Escorts chittoor
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Palanpur 7001035870 Whatsapp Number, 24/07 Booking
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 

Localization feature of ue4

  • 1. Localization feature of UE4 Epic Games Japan / Support Engineer Ken Kuwano
  • 2. #UE4DD | @UNREALENGINE Contents ● Overview ● Basic Features ● Specified Features ● Misc
  • 3. #UE4DD | @UNREALENGINE Contents ● Overview ● Basic Features ● Specified Features ● Misc
  • 4. #UE4DD | @UNREALENGINE Localization of the game ● Localize the game ● Goal :Release to many regions ● How :Implementation to many regions
  • 5. #UE4DD | @UNREALENGINE Assets needing localization ● Text ● Content ● Font ● Asset ● Texture ● Voice,Sound ● Movie, Media ● Cutscene, Sequencer ● Animation
  • 6. #UE4DD | @UNREALENGINE Localization of the game ● Localize the game ● Goal :Release to many regions ● How :Implementation to many regions ● Localize the game made using UE4 ● How do we localize using UE4? ● Asset :management, sharing ● Efficiency :workflow, implementation ● Effect :memory, performance Focus of this slide
  • 7. #UE4DD | @UNREALENGINE Localize? Localization (L10N) ● Localization is the process of adapting internationalized software for a specific region or language by translating text and adding locale specific components. Internationalization (I18N) ● Internationalization is the process of designing a software application so that it can be adapted to various languages and regions without engineering changes.
  • 9. #UE4DD | @UNREALENGINE Contents ● Overview ● Basic Features ● Specified Features ● Misc
  • 10. #UE4DD | @UNREALENGINE Basic Features ● Text Localization Process ● Asset Localization Process
  • 11. #UE4DD | @UNREALENGINE Text Localization Process Editor (en) Package game (ja)
  • 12. #UE4DD | @UNREALENGINE Text Localization Process Gather Source Text Package Switch Language Translate Source Text Editor (en) Package game (ja)
  • 13. #UE4DD | @UNREALENGINE Text Localization Process Gather Source Text Package Switch Language Translate Source Text Gather source text from asset what we’d like to localize. OPTIONS QUIT
  • 14. #UE4DD | @UNREALENGINE Text Localization Process Gather Source Text Package Switch Language Translate Source Text Make translation text with reference to gathered text. OPTIONS QUIT オプション 終了
  • 15. #UE4DD | @UNREALENGINE Text Localization Process Gather Source Text Package Switch Lauguage Translate Source Text Make package game including translation text. Package OPTIONS QUIT オプション 終了
  • 16. #UE4DD | @UNREALENGINE Text Localization Process Gather Source Text Package Switch Language Translate Source Text Display text depending on required language. Package OPTIONS QUIT オプション 終了
  • 17. #UE4DD | @UNREALENGINE Text Localization Process Gather Source Text Package Switch Language Translate Source Text Package OPTIONS QUIT オプション 終了 Package OPTIONS QUIT オプション 終了 OPTIONS QUIT オプション 終了 OPTIONS QUIT Localization Dashboard
  • 18. #UE4DD | @UNREALENGINE Gathering Text Localization Dashboard
  • 20. #UE4DD | @UNREALENGINE Gather and Localize Text Blue Print C++ ① Gather text ② Create text Loc Res ③ Show text Display on Editor Display on Game
  • 21. #UE4DD | @UNREALENGINE Which text is gathered? ● Blueprint:FText, STextBlock ● C++/.ini:LOCTEXT, NSLOCTEXT
  • 22. #UE4DD | @UNREALENGINE Unique Text (namespace/key/value)
  • 23. #UE4DD | @UNREALENGINE ● Using FormatText for loacalization ● Blackbox ”Discard <Item Name>” ● Number “Got <Number> Items” ● Numeric “1Hit”, ”2Hits”, etc... ● Unit “USD”, ”yard”, etc... Displaying text
  • 24. #UE4DD | @UNREALENGINE There {NumCats}|plural(one=is,other=are) {NumCats} {NumCats}|plural(one=cat,other=cats) one=”is”, other=”are” number one=”cat”, other=”cats” Plural Forms (en)
  • 25. #UE4DD | @UNREALENGINE There is 1 cat There are 2 cats (en) Input translation text with Localization Dashboard 1匹の猫がいる 2匹の猫がいる (ja) Plural Forms (en→ja)
  • 26. #UE4DD | @UNREALENGINE Auto formatting text Text is converted for the culture original format automatically. 1) Number:12345.67 ● ja : 12,345.67 ⇒ Grouping = ”,” , Decimal = ”.” ● de : 12.345,67 ⇒ Grouping = ”.” , Decimal = ”,” ● fr : 12 345,67 ⇒ Grouping = ” ” , Decimal = ”,” 2) Date:2020年10月31日 ● ja : 2019/10/31 ⇒ yyyy/mm/dd ● en : Oct 31, 2019 ⇒ mm/dd/yyyy ● fr : 31 oct. 2019 ⇒ dd-mm-yyyy
  • 27. #UE4DD | @UNREALENGINE Language Plural Rules http://www.unicode.org/cldr/charts/latest/supplemental/language_plural_rules.html
  • 28. #UE4DD | @UNREALENGINE Text Localization Process Gather Source Text Package Switch Language Translate Source Text Package OPTIONS QUIT オプション 終了 Package OPTIONS QUIT オプション 終了 OPTIONS QUIT オプション 終了 OPTIONS QUIT Localization Dashboard .ini file/Console Command
  • 29. #UE4DD | @UNREALENGINE Setting current language of text ● Startup game ● Launch argument ● Configuration (.ini) ● System Language (OS) ● Runtime ● Console Command ● Call culture switching function
  • 30. #UE4DD | @UNREALENGINE Switch display of the language API Switch displaying text
  • 31. #UE4DD | @UNREALENGINE Switch content display language Culture Language Locale Asset Group Texts and Assets Format display (Number/Date/Time) Specific Assets and Classes Text
  • 32. #UE4DD | @UNREALENGINE Switch culture ● Accoding to set many priority rules, there are several ways to specify the language of the game at launch game ● Priority (Top is highest) ● “-culture” value with launch argument ● ”culture” value on xxxGame.ini ● ”culture” value on xxxEngine.ini ● System Language (OS)
  • 33. #UE4DD | @UNREALENGINE Text Localization Process Gather Source Text Package Switch Language Translate Source Text Display in editor in English → Display package in Japanese
  • 34. #UE4DD | @UNREALENGINE Basic Features ● Text Localization Process ● Asset Localization Process
  • 35. #UE4DD | @UNREALENGINE Asset Localization Process Editor (en) Package game (ja)
  • 36. #UE4DD | @UNREALENGINE Asset Localization Process Package Switch Language Placed Asset Editor (en) Package game (ja)
  • 37. #UE4DD | @UNREALENGINE Asset Localization Process Package Switch Language Placed Asset Placed target asset in specified path. Img (en) Img (ja)
  • 38. #UE4DD | @UNREALENGINE Asset Localization Process Package Switch Language Placed Asset Make package game including translation text. Package Img (en) Img (ja)
  • 39. #UE4DD | @UNREALENGINE Asset Localization Process Package Switch Language Placed Asset Package Img (en) Img (ja) Display text depending on required language.
  • 40. #UE4DD | @UNREALENGINE Asset Localization Process Package Switch Language Placed Asset Package Img (en) Img (ja) Package Img (en) Img (ja) Img (en) Img (ja) Editor
  • 41. #UE4DD | @UNREALENGINE Placed Asset ● Apply Asset Localization ● Placed asset under”Content/L10N/[language]” Source Texture Path Content/UI/Texture/Logo/LogoBk Localization Texture Path (ja) Content/L10N/ja/UI/Texture/Logo/LogoBk
  • 42. #UE4DD | @UNREALENGINE Placed Asset ● Apply Asset Localization ● Select Asset Localization in Content Browser
  • 43. #UE4DD | @UNREALENGINE Asset Localization Process Package Switch Language Placed Asset Package Img (en) Img (ja) Package Img (en) Img (ja) Img (en) Img (ja) Editor .ini file/Console Command
  • 44. #UE4DD | @UNREALENGINE Setting current language of asset ● Startup game ● Launch argument ● Configuration (.ini) ● System Language (OS) ● Runtime ● Console Command ● Call culture switching function Same as the text
  • 45. #UE4DD | @UNREALENGINE Switch display of the language API Switch displaying asset
  • 46. #UE4DD | @UNREALENGINE Switch content display language Culture Language Locale Asset Group Texts and Assets Format display (Number/Date/Time) Specific Assets and Classes Asset
  • 47. #UE4DD | @UNREALENGINE Switching Asset Group ● Group assets and reuse them across languages ● Case where only some assets are used in different languages. ● The text display is “ja”, but some of Audio wants to use “en”. ● Setting on xxxGame.ini and xxxEngine.ini
  • 48. #UE4DD | @UNREALENGINE Asset Group ● Not using Asset Group If we are setting the current culture is ja, all texts and assets are displayed in ja Text (ja) Asset (ja)
  • 49. #UE4DD | @UNREALENGINE Asset Group Audio (it) Sound Wave Sound Cue ● Using Asset Group Text (ja) Other Asset (ja) If we’re grouping ”Sound Wave” and ”Sound Cue” during the current culture is in ja, ”Sound Wave” and ”Sound Cue” are using in it language’s assets. Class Asset Group
  • 50. #UE4DD | @UNREALENGINE ● Setting the class to be linked to Asset Group ● Setting the language to which Asset Group is applied Switching Asset Group If the above settings are made, Sound Wave and Sound Cue use “en” assets from startup.
  • 51. #UE4DD | @UNREALENGINE Asset Localization Process Package Switch Language Placed Asset Display in editor in English → Display package in Japanese
  • 52. #UE4DD | @UNREALENGINE Contents ● Overview ● Basic Features ● Specified Features ● Misc
  • 53. #UE4DD | @UNREALENGINE Specified Features ● Font ● Subtitle and Voice ● Subtitle of Media Framework
  • 54. #UE4DD | @UNREALENGINE Localization for Font asset ● What about text localization? ● Want to change the font by language... ● Want to change the font size by language... ● How do we localize font asset? ● Use Asset Localization ● Use Sub Culture, and Sub Font Family
  • 55. #UE4DD | @UNREALENGINE Apply Font Localization (1) ● Apply fonts by language with Asset Localization Font (common) Font (th)Font (ja)
  • 56. #UE4DD | @UNREALENGINE Apply Font Localization (2) ● Use SubCulture and SubFont with Font Asset Font (common) Font Face Fallback Font Family Font Face Sub Font Family (ja) Font Face Sub Font Family (th) Font Face Default Font Family
  • 57. #UE4DD | @UNREALENGINE Font Sub Font Default Font Fallback Font
  • 58. #UE4DD | @UNREALENGINE Font Applying language Character range Applying font
  • 59. #UE4DD | @UNREALENGINE Subtitle and Voice localization ● Build dialogue system using dialogue assets This message is a subtitle test. https://docs.unrealengine.com/en-US/Engine/Audio/Dialogue/index.html
  • 60. #UE4DD | @UNREALENGINE Subtitle and Voice localization ● Dialogue System (for each sentence) ● Dialogue Wave :Dialogue Data ● Dialogue Voice :Talker Data ● Sound Wave :Voice Sound Dialogue Wave Dialogue Voice
  • 61. #UE4DD | @UNREALENGINE Dialogue Wave Subtitle text Talker info Voice asset
  • 62. #UE4DD | @UNREALENGINE Localization of dialogue .wav Apply text localization Apply asset localization
  • 63. #UE4DD | @UNREALENGINE Localization for subtitle of Media framework ● Switch media player subtitles by language ● Unreleased Features ● If you want to use then, need to modify the engine code. ● It’s necessary to add subtitle data playback process.
  • 64. #UE4DD | @UNREALENGINE ● Subtitle data ● Editable on editor ● Crate assets by language ● Capable of importing .srt file Basic Overlays Localized Overlays Subtitles table Basic Overlays Subtitle data (ja) Basic Overlays Subtitle data (en)
  • 65. #UE4DD | @UNREALENGINE ● Assets that manage subtitles by language ● Set Basic Overlays for each language Localized Overlays Localized Overlays Subtitles table Basic Overlays Subtitle data (ja) Basic Overlays Subtitle data (en)
  • 66. #UE4DD | @UNREALENGINE Change to Return true, so it can be displayed on media asset. Unlock overlay features
  • 67. #UE4DD | @UNREALENGINE Subtitle Data Project Engine Widget Playback media Subtitle Manager Control subtitles Subtitle Player Playback subtitles Localized Overlays Sutitiles for localization Basic Overlays Subtitle data (ja) Basic Overlays Subtitle data (en) Basic Overlays Subtitle data (fr) Overlay and related classes
  • 68. #UE4DD | @UNREALENGINE Subtitle Player Implementation Example void UMyMediaSubtitlesPlayer::Play() { bEnabled = true; } void UMyMediaSubtitlesPlayer::Stop() { bEnabled = false; FSubtitleManager::GetSubtitleManager()->SetMovieSubtitle(this, TArray<FString>()); }
  • 69. #UE4DD | @UNREALENGINE Subtitle Player Implementation Example 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(); } } }
  • 70. #UE4DD | @UNREALENGINE Contents ● Overview ● Basic Features ● Specified Features ● Misc
  • 71. #UE4DD | @UNREALENGINE Misc ● Localization Preview ● Translation Picker ● String Table
  • 72. #UE4DD | @UNREALENGINE Localization Preview ● Feature to preview Localization Text on UMG Designer ● Not compatiable with Localization Asset
  • 73. #UE4DD | @UNREALENGINE Preview text updates after switching language Localization Preview Comparison of localization preview Update text (en→ja) Applu preview
  • 74. #UE4DD | @UNREALENGINE Localization Preview ● Preview Game Language (Editor Preference) ● If Preview language is selected, it’s affected as default Affect from Editor Preferences
  • 75. #UE4DD | @UNREALENGINE Localization Preview ● Need to localize the text before using this feature. localizing text... can select preview languages
  • 76. #UE4DD | @UNREALENGINE Translation Picker ● Feature to extract text localization info from editor ● Can edit localization text without accesing dashboard
  • 77. #UE4DD | @UNREALENGINE Translation Picker ● Enable picker ● Enable Translation Picker in Editor Preferences (Experimental) ● Show picker window ● From Window or select icon in translation editor
  • 78. #UE4DD | @UNREALENGINE Translation Picker Can edit translation text directly in PIE
  • 79. #UE4DD | @UNREALENGINE String Table ● Registering fixed phrases and strings ● Can import/export from .csv file
  • 80. #UE4DD | @UNREALENGINE String Table ● Value can be referenced by specifying Key and Text Set Table and Key Affect Value
  • 81. #UE4DD | @UNREALENGINE String Table ● Note ● Conflict editng table ● Hard reference to assets
  • 82. #UE4DD | @UNREALENGINE Project Settings ● The settings are required when Packaging ● Localizations to Package ● Languages for Cook/Stage/Package ● Internationalization Support ● Language set for internationalized data
  • 83. #UE4DD | @UNREALENGINE Project Settings ● Localizations to Packages ● Settings that specify the language to be localized ● When not selected, it doesn’t include localization asset to package Select from localized languages...Select target languages manually...
  • 84. #UE4DD | @UNREALENGINE Project Settings ● How to specifiy a language for each platform ● Override language specification in xxxGame.ini ● Following example, only “en” and “ja” assets and texts are included when Packaging
  • 85. #UE4DD | @UNREALENGINE ● Internationalization Support ● Select preset including target language from the list Project Settings Preset Languages Size (MB) English English ~1.77 EFIGS English, French, Italian, German, Spanish ~2.38 EFIGSCJK English, French, Italian, German, Spanish, Chinese, Korean, Japanese ~5.99 CJK Chinese, Korean, Japanese ~5.16 All All Languages ~15.3 Language Preset
  • 86. #UE4DD | @UNREALENGINE In a nutshell ● UE4 has basic features for localization ● It’s better to use your own system or workflow (depending on requirements) ● Consider localization plans early
  • 87. #UE4DD | @UNREALENGINE Extra ● Localization Dashboard ● Settings
  • 90. #UE4DD | @UNREALENGINE Localization Dashboard ● Text Localization feature ● Gather text from assets and source code ● Export translated text and share it ● Manage and edit translated texts in languages ● Manage localization progress of translated texts ● Supporting Text Localization feature ● Can work with third-party provider service ● Can be linked with source control ● Can preview translated text and preview font ● Can check text conflicts
  • 91. #UE4DD | @UNREALENGINE Localization Dashboard ● Pros ● Localization is completed in UE4 Editor ● Immediate confirmation after editing localized text ● Gather text over a wide range including source meta ● Cons ● If edit source text, affects all languages content ● Experimental features (but can be used)
  • 92. #UE4DD | @UNREALENGINE Localization Dashbord Overview Target Target DetailService Provider Cultures Gather Text Misc
  • 93. #UE4DD | @UNREALENGINE Localization Dashbord Overview Target Target Detail Cultures Gather Text Service Provider Misc
  • 94. #UE4DD | @UNREALENGINE Text localize quick start flow ① Add localization language ② Set target assets ③ Gather text ④Input translate text ⑤ Compile translated text ⑥ Update word count
  • 96. #UE4DD | @UNREALENGINE Localization Dashbord Overview Target Target Detail Cultures Gather Text Service Provider Misc
  • 97. #UE4DD | @UNREALENGINE ● Linked Service Provider (XLoc, OneSky) ● Linked Source Control Localization Service
  • 98. #UE4DD | @UNREALENGINE Localization Service (One Sky) https://www.oneskyapp.com/
  • 99. #UE4DD | @UNREALENGINE Localization Service (XLoc) http://www.xloc.com/
  • 100. #UE4DD | @UNREALENGINE Editing .po file (Poedit) https://poedit.net/
  • 101. #UE4DD | @UNREALENGINE Localization Dashboard - Localization Service Localization Service Provider Localization Service Provider Select active service provider when using a specific localization. Source Control Enable Source Control If source control and service provider are available, connect to source control during localization operations automatically. Enable Auto Submit If source control and service providers are available, allow auto submit during localization operations.
  • 102. #UE4DD | @UNREALENGINE Localization Dashbord Overview Target Target Detail Cultures Gather Text Service Provider Misc
  • 103. #UE4DD | @UNREALENGINE ● Localization Target ● Classified by localization category ● Game Targets For project code/asset ● Engine Targets For engine code/asset Localization Target
  • 104. #UE4DD | @UNREALENGINE Localization Dashboard - Localization Target Target Name Specified for localization target. Conflict Status Show conflict status of localize text. Loading Policy Specified loading conditions for localized text of plugin and DLC.
  • 105. #UE4DD | @UNREALENGINE Localization Target (Conflict Status) Identify by namespace and key (unique)
  • 106. #UE4DD | @UNREALENGINE Localization Target (Conflict Status) Not conflict : Texts are defined by different namespace or key
  • 107. #UE4DD | @UNREALENGINE Localization Target (Conflict Status) Conflict : Texts are assigned by same namespace and key
  • 108. #UE4DD | @UNREALENGINE Localization Target (Conflict Status) Conflict Status Description Clear Clear state of gather unique to all text. Conflicts Present It’s necessary to resolve conflict text. Unknown State before key match check. Update conflict status by gather text. Check and correct from ✖ button whether there is a conflict or not
  • 109. #UE4DD | @UNREALENGINE Localization Dashbord Overview Cultures Gather Text Service Provider Target Target Detail Misc
  • 110. #UE4DD | @UNREALENGINE Gather Text ● Target of gathering text from content (code/files/assets) ● Gather from Text Files Text file (.cpp/.h/.ini ) ● Gather from Packages Asset (.uasset/.umap) ● Gather from Meta Data Meta tag of UPROPERTY
  • 111. #UE4DD | @UNREALENGINE Localization Dashboard - Gather Text Gather Text Target Dependencies Text present in these targets will not be duplicated in this target. Additional Manifest Dependencies Text present in these manifests will not be duplicated in this target. Required Module Names The names of modules which must be loaded when gathering text. Use to gather from packages or metadata sourced from a module that isn't the primary game module.
  • 112. #UE4DD | @UNREALENGINE Gather Text (Gather from Text Files)
  • 113. #UE4DD | @UNREALENGINE Localization Dashboard - Gather Text Gather Text Search Directories The paths of directories to be searched recursively for text files, specified relative to the project's root, which may be parsed for text to gather. Exclude Path Wildcards Text files whose paths match these wildcard patterns will be excluded from gathering. File Extensions Text files whose names match these wildcard patterns may be parsed for text to gather. Should Gather from Editor Only Data If enabled, data that is specified as editor-only may be processed for gathering.
  • 114. #UE4DD | @UNREALENGINE Gather Text (Gather from Packages)
  • 115. #UE4DD | @UNREALENGINE Localization Dashboard - Gather Text Gather Text Include Path Wildcards Packages whose paths match these wildcard patterns, specified relative to the project's root, may be processed for gathering. Exclude Path Wildcards Packages whose paths match these wildcard patterns will be excluded from gathering. File Extensions Packages whose names match these wildcard patterns may be processed for text to gather. Collections Packages in these collections may be processed for gathering. Should Gather from Editor Only Data If enabled, data that is specified as editor-only may be processed for gathering. Skip Gather Cache Should we ignore the cached text in the package header and perform a full package load instead?
  • 116. #UE4DD | @UNREALENGINE Gather Text (Gather from Meta Data)
  • 117. #UE4DD | @UNREALENGINE Localization Dashboard - Gather Text Gather Text Include Path Wildcards Packages whose paths match these wildcard patterns, specified relative to the project's root, may be processed for gathering. Exclude Path Wildcards Packages whose paths match these wildcard patterns will be excluded from gathering. Should Gather from Editor Only Data If enabled, data that is specified as editor-only may be processed for gathering.
  • 118. #UE4DD | @UNREALENGINE Localization Dashboard - Gather Text Gather Text Key Specifications Specifications for how to gather text from specific metadata keys. Meta Data Key The metadata key for which values will be gathered as text. Text Namespace The localization namespace in which the gathered text will be output. Text Key Pattern The pattern which will be formatted to form the localization key for the metadata value gathered as text.
  • 119. #UE4DD | @UNREALENGINE Localization Dashbord Overview Cultures Gather Text Service Provider Target Target Detail Misc
  • 120. #UE4DD | @UNREALENGINE Export Text / Compile Text / Import Dialogue
  • 121. #UE4DD | @UNREALENGINE Localization Dashboard Export Text Collapse Mode How should we collapse down text when exporting to PO? Should Persist Comments on Export Should user comments in existing PO files be persisted after export? Useful if using a third party service that stores editor/translator notes in the PO format's comment fields. Should Add Source Locations as Comments Should source locations be added to PO file entries as comments? Useful if a third party service doesn't expose PO file reference comments, which typically store the source location.
  • 122. #UE4DD | @UNREALENGINE Localization Dashboard Compile Text Skip Source Check Should we skip the source check when compiling translations? This will allow translations whose source no longer matches the active source to still be used by the game at runtime. Validate Format Patterns Should we validate that format patterns are valid for the culture being compiled (eg, detect invalid plural rules or broken syntax). Validate Safe Whitespace Should we validate that text doesn't contain any unsafe whitespace (leading or trailing whitespace) that could get lost during the translation process.
  • 123. #UE4DD | @UNREALENGINE Localization Dashboard Import Dialogue Raw Audio Path Path to the folder to import the audio from. This folder is expected to contain culture sub-folders, which in turn contain the raw WAV files to import. Imported Dialogue Folder Folder in which to create the generated sound waves. This is relative to the root of the L10N culture folder (or the root content folder if importing native dialogue as source dialogue). Import Native as Source Should the dialogue for the native culture be imported as if it were source audio? If false, the native culture dialogue will be imported as localized data for the native culture.
  • 124. #UE4DD | @UNREALENGINE Localization Dashbord 概要 Cultures Gather Text Service Provider Target Target Detail Misc
  • 126. #UE4DD | @UNREALENGINE Localization Dashboard Base language Localization target languages
  • 127. #UE4DD | @UNREALENGINE Localization Dashboard Control by language Control for all languages
  • 129. #UE4DD | @UNREALENGINE Localization Dashbord (Gather Text) Gather Text Gather text info from asset and source code Import Text Import localized text file (.po) Export Text Export localized text file (.po) Import Script Import dialogue script file (.csv) Export Script Export dialogue script file (.csv) Import Dialogue Import Sound Wave and Dialogue Wave assets Count Word Update translated text count and affect in word count Compile Text Compile translated text and update text data
  • 131. #UE4DD | @UNREALENGINE .ini file (Engine.ini) Internationalization Culture Language that displays all contents from application launching. Language Language that displays texts/assets from application launching. Locale Language that displays format-text from application launching.
  • 132. #UE4DD | @UNREALENGINE .ini file (Engine.ini) Internationalization CultureMappings It can be replaced with another language. EnabledCultures Only languages specified in configuration can be used. DisabledCultures All languages specified in configuration can’t be used. PreviewGameLaguage Select preview language in PIE or standalone launching. LockLocalization Disable localization and lock text editing (editor only).
  • 133. #UE4DD | @UNREALENGINE .ini file (Game.ini) Internationalization Culture Language that displays all contents from application launching. Language Language that displays texts/assets from application launching. Locale Language that displays format-text from application launching.
  • 134. #UE4DD | @UNREALENGINE .ini file (Game.ini) Internationalization CultureMappings It can be replaced with another language. EnabledCultures Only languages specified in configuration can be used. DisabledCultures All languages specified in configuration can’t be used. LockLocalization Disable localization and lock text editing (editor only).
  • 135. #UE4DD | @UNREALENGINE .ini file (EditorSettings.ini) Internationalization Culture Language that displays all contents from application launching. Language Language that displays texts/assets from application launching. Locale Language that displays format-text from application launching.
  • 136. #UE4DD | @UNREALENGINE .ini file (EditorSettings.ini) Internationalization ShouldUseLocalizedNumericInput Display numerical values such as property in Editor Language. ShouldUseLocalizedPropertyNames Display Property name in Editor Language. ShouldUseLocalizedNodeAndPinNames Display Blueprint Node and Blueprint Node Pin name in Editor Language. DisplayTimezone Affects the initial time zone value when using DataTime type.