When planning on using downloadable content by using AssetBundles, I2 Localization allows storing localizations for those scenes, as well as accessing Assets (Fonts, Sprites, etc) included in external AssetBundles.


Use Fonts and other Objects included in AssetBundles


To include a reference to a Font, Material or other Asset included in an AssetBundle, follow the steps listed in the "Loading Assets from AssetBundles" section of the LanguageSource  Asset Tab page.

Basically, you will need to a reference the asset in a Term so that I2 Localization get its name and path. And then create a component that hook into your existing AssetBundle manager (whatever is a custom one or the default unity manager), and could retrieve the asset given its name and path.


Translate New Scenes included in AssetBundles


This is very straight forward. Normally, all localizations are stored inside the I2Languages.asset and any other Global Language Source. However, this asset is included inside the main build.

To add localization inside AssetBundles, the new scene should include a GameObject with a LanguageSource component attached. Then, add there all the new Terms that are needed for localizing the scene objects and UI.

The scene can still use Terms from the I2Languages.asset (as those are Global terms), it just need to include the new ones.


This approach is also used in all of the Example Scenes. Each of them has a LanguageSource instantiated in the scene, and has the terms that Local to that scene. That way, modifying the translations of one example, doesn't affect the translations of other scenes or your own game.


Created with the Personal Edition of HelpNDoc: Full-featured Documentation generator