I have nearly finished the integration of I2 Localization. Here are some points for reference.
My Steps
1. work with UIS and make your own Inventory and UI system, neglecting I2.
2. for every UI parts, I try to made them as standalone prefabs as what UIS did.
3. after finish UIS parts. I start I2 integration until I finished.
Main things without code
- localization of any fixed text like `Inventory Menu` title, fixed button name, item actions, could be finished without code, just add I2 component and set correspond terms.
- for the name of Item Actions, I name these actions using I2 key directly, then add I2 component to button prefab
Main things with code
- Item Name
- Item Description View
- Attribute View
1. in database of UIS, fill I2 terms to item name and description attribute. In my case, I don't want I2 key pollute DB display so I create an extra attribute named "DisplayName" for all items. Then you could have a short name in DB and a long name in `DisplayName`(which is a I2 key)
2. basically, I try to get the moment `text changed` and update localization at this moment via script. I prepared a script which has a `UpdateLocalization` method. If there is a `OnTextChange` event in any componet, I could take use of it to invoke `UpdateLocalization`.
If there is no such kind of event, I have to extend some script of UIS, like "Item Description".