Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

I2 Localization ( The most complete Localization solution for Unity )

Discussion in 'Assets and Asset Store' started by Inter-Illusion, Feb 27, 2014.

  1. cowtrix

    cowtrix

    Joined:
    Oct 23, 2012
    Posts:
    322
    Hey Inter Illusion, love your plugin so far.

    Optimally what we'd like is for each language to be its own local, human readable file that's imported on startup and included in the game files. Then, players could create their own translations by simply copying/editing an already existing one. For instance I could do something silly like a "pirate" translation, and just by copying and pasting the language would be recognised. Anything in the project already that might support this, or are we going to have to dive in and do it ourselves?
     
  2. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    The plugin currently stores the localization data in the LanguageSource asset, but it also supports loading CSV at runtime.

    You can create a CSV file with just the terms you want the user to modify (some legal strings or other internal texts can be stored in the LanguageSource). The easiest way to create the csv file is to open your current I2Languages.prefab in the inspector and select Spreadsheet \ Export CSV and then remove the terms you don't want the user to tweak

    Then at startup, you can load the CSV file by calling:

    Code (csharp):
    1.  
    2. var csvString = Resources.Load<TextAsset>("CustomLocalization").text;
    3. //or var csvString = File.ReadAllText(Application.streamingAssetsPath + "/CustomLocalization.csv");
    4. //or even better: var csvString = LocalizationReader.ReadCSVfile( filename );
    5.  
    6. I2.Loc.LocalizationManager.Sources[0].Import_CSV( string.Empty, csvString, eSpreadsheetUpdateMode.Replace);
    7.  
    Hope that helps,
    Frank
     
  3. cowtrix

    cowtrix

    Joined:
    Oct 23, 2012
    Posts:
    322
    Thanks Frank, that was enough info to get the job done :) I did have to change the eSpreadsheetUpdateMode to Merge, else my existing translations got stomped.

    Cheers!
     
  4. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hey guys,
    Happy to announce that I2 Localization v2.6.2 a1 its now available in the AssetStore with full support for Unity 5.3
     
  5. ssurget

    ssurget

    Joined:
    Jun 18, 2015
    Posts:
    23
    Hi Frank,

    Your plugin is really great :)

    I have a small issue though and was not able to find a solution.

    I use a custom inspector to allow my designer to write dialogue lines in one language and automatically add new keys to the language source (so it can be translated later), with a simple line like this :

    For creation:
    Code (CSharp):
    1. I2.Loc.LocalizationEditor.mLanguageSource.AddTerm("dialogues/" + tempName, I2.Loc.eTermType.Text);
    For display / edition:
    Code (CSharp):
    1. I2.Loc.LocalizationEditor.mLanguageSource.GetTermData("dialogues/" + pass.phrasesIndex[j]).Languages_Touch[1] = EditorGUILayout.TextArea(I2.Loc.LocalizationEditor.mLanguageSource.GetTermData("dialogues/" + pass.phrasesIndex[j]).Languages_Touch[1], GUILayout.Height(50));
    Everything is working fine if I open the LanguageSource prefabs in the inspector beforehand. If I don't open it however, I get Null Reference Exception on my code. I suppose there is some "Cache Magic" there, so I tried to use this:

    Code (CSharp):
    1. I2.Loc.LocalizationManager.UpdateSources();
    I put it before my code, but it doesn't help, I still need to open the LanguageSource prefab before it can work.

    Do you have any idea?

    Thanks a lot !
    Stephane
     
  6. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    LocalizationManager.UpdateSources() will load the I2Languages.prefab and will initialize any other languageSource instantiated in the scene, however, its better to call InitializeIfNeeded().
    That will also set the language, which could be needed in some internal functions.

    So, call this in your inspector OnEnable
    Code (csharp):
    1.  
    2. I2.LocalizationManager.InitializeIfNeeded();
    3.  
    Now, the null reference you are getting, most likely its because of the mLanguageSource. That variable its only valid when the LanguageSource inspector is opened.

    Instead, you may want to access I2.Loc.LocalizationManager.Sources[0]

    Code (csharp):
    1.  
    2. I2.LocalizationManager.Sources[0].AddTerm("dialogues/"+ tempName, I2.Loc.eTermType.Text);
    3.  
    Hope that helps,
    Frank
     
  7. ssurget

    ssurget

    Joined:
    Jun 18, 2015
    Posts:
    23
    Hi Frank,

    Thanks a lot, it's all working now !
     
  8. Deleted User

    Deleted User

    Guest

    Hi,

    I just purchased this and tried the NGUI example, but it is not working. There are no fonts or sprites in it. Have other people experienced this? I am used to having Asset Store Asset examples work without error.

    NGUI 3.9.4b is in the project.
     
  9. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    The NGUI examples of I2 Localization uses the font and sprites that are in the NGUI example folder.
    (basically, its one of the NGUI example scenes that got localization)
    If you removed the examples when installing NGUI, you will need to reinstall it in order to see the NGUI examples of I2 Localization.

    Also, please notice that you have to enable NGUI integration (adding NGUI to the Build script defines) in order for the plugin to work with NGUI.

    Hope that helps,
    Frank
     
  10. Deleted User

    Deleted User

    Guest

    Ah. that is the problem. I removed the NGUI example files.
    Thanks!
     
  11. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    Hi,

    I'm trying to localize a TextMeshPro UGUI by adding a Localize component - but the target list only display "None" and even if I choose a term to translate my TextMeshPro UGUI text won't be translated. Is there any special setup when working with TextMeshPro ?

    Thanks
     
  12. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    For the plugin to interact with external plugins (NGUI, TextMeshPro, etc) it has to enable some code that its disabled by default.
    To enable the code for TextMesh Pro, you should add the text TextMeshPro to the Scripting Build Defines. The plugin has a menu option that will detect with plugins you have installed in your project and will add the corresponding defines. Just go the unity menu and select "Tools\I2 Localization\Enable Plugins\Force Detect".

    This is explained with a bit more detail in page 5 of the documentation, under "Enabling Localization Targets".
    http://inter-illusion.com/assets/I2Localization.pdf

    Hope that helps, and don't hesitate in letting me know if you need more assistance in setting up the plugin.
    Thanks,
    Frank
     
  13. dcheglakov

    dcheglakov

    Joined:
    Aug 11, 2014
    Posts:
    34
    Hi,

    I've update TextMeshPro to 0.1.52 Beta 3.1 a now I've this errors

    • Assets/I2/Localization/Scripts/Targets/LocalizeTextMeshPro.cs(38,31): error CS0234: The type or namespace name `TextMeshProFont' does not exist in the namespace `TMPro'. Are you missing an assembly reference?
    • Assets/I2/Localization/Scripts/Targets/LocalizeTextMeshPro.cs(79,31): error CS0234: The type or namespace name `TextMeshProFont' does not exist in the namespace `TMPro'. Are you missing an assembly reference?
    How can I fix this?
     
  14. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    The latest beta of TextMeshPro renamed a few classes, thats why the plugin its giving compile errors when looking for the old ones.
    I updated the plugin to support the new version and uploaded a new build (I2 Localization 2.6.4 a1) to the beta folder so that you could download it right away.

    With the new changes, to enable the integration with TextMeshPro, when using version 0.1.52 Beta 3.1 the scripting define symbols most include TextMeshPro, but when running an older versio of textMeshPro, the define symbols should include TextMeshPro_Pre53 instead.

    I also updated the UpgradeManager, so that when selecting from the menu
    Tools\I2 Localization\Enable Plugins\Force Detection
    it will detect the TextMeshPro version and will add TextMeshPro or TextMeshPro_Pre53 to the Scripting define symbols.

    Hope that helps!
    Frank
     
  15. dcheglakov

    dcheglakov

    Joined:
    Aug 11, 2014
    Posts:
    34
    Thanks a lot. I'll try today.
     
  16. dcheglakov

    dcheglakov

    Joined:
    Aug 11, 2014
    Posts:
    34
    Hi Inter Illusion,
    Tools\I2 Localization\Enable Plugins\Force Detection
    not available, I think because of errors http://take.ms/KLszZ
     
  17. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    Yes, if using the new version of TextMeshPro you need to download the latest version of I2L from the beta folder (version 2.6.4a1).
    I sent that version to the assetstore but it hasn't been approved yet. (current assetstore version its 2.6.3 a3 which only works with the previous TextMeshPro)
     
  18. puzzlekings

    puzzlekings

    Joined:
    Sep 6, 2012
    Posts:
    404
    Hi

    I too am seeing the TMPro errors. How can I get access to the 2.6.4a1 version?

    cheers

    Nalin
     
  19. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    Sorry for this issues, it seems that because of the holidays, the approval of new plugin updates have taken longer than usual!

    Nonetheless, in the meantime, if you send me an email with your unity invoice number, I will grant you access to the beta folder.

    Hope that helps,
    Frank
     
  20. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    Hi,
    I'm having the same issue - When you say we have to download from the beta folder, what do you mean ? I download I2L from the assets store - how to access to the beta folder version ?

    I really need to fix this, my project is currently broken because of this issue.

    Thanks

    ps : in the official forum it's said that the latest version fix this issue :

    "2.6.4 a1
    NEW: Updated to support TextMeshPro 5.2 beta 3.1 (previous versions need to change TextMeshPro by TextMeshPro_Pre53 in the scripting define symbols)
    FIX: Error shown in the console when playing the game in the editor while a Localize component its shown in the Inspector"

    But this is the same version as in the asset store and I still have the issue.
     
  21. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    The beta folder its the place where I store all versions (released and beta) so that they could be accessed without having to wait a couple weeks for unity to approve them. However, version 2.6.4a1 was already approved by Unity and its now in the AssetStore.

    That version fixed the issue of TextMeshPro beta (beta 3.1 for Unity 5.2+) that replaced the TextMeshProFont by TMP_FontAsset.
    If you are still having issues I will double check as soon as I get back in case there its a new version or further changes. Nonetheless, can you let me know which unity version you are testing (4.6? 5.1?) and which TextMeshPro version? I will try reproducing your issue and upload a fix to the beta folder so you can get it asap.
    Also, if you could email the errors you are seeing in the console that could help me figure out what's different in your project.

    Thanks,
    Frank
     
  22. sgodzilas

    sgodzilas

    Joined:
    Jan 12, 2016
    Posts:
    2
    I`m trying to Build to OpeGl. IOS and android is work! But is not work in OpenGl....
    Please give a suggestion for OpenGl
     
  23. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    I just double checked (downloaded I2Loc 2.6.4a1 from the assetstore and got TextMeshPro 5.2 Beta 3.1) and the plugin seems to be working correctly without any warning or compile error.

    Are you still seeing issues after upgrading? If so, can you email me which Unity version you are using and what errors you are getting!

    Thanks,
    Frank
     
  24. sgodzilas

    sgodzilas

    Joined:
    Jan 12, 2016
    Posts:
    2
    Thanks for reply!
    also we had a double check again, found problem, English is work but Korean language(Hangul) is not work.
    not supply Korean language(Hangul)?

    Thank you again
     
  25. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi sgodzilas.
    It seems that you posted a reply while I was answering the previous question, sorry.

    I assume you are referring to WebGL. I just changed the build settings to WebGL and was able to download the Spreadsheet and connect with the WebService.
    Can you please tell me, what you mean by WebGL not working?
    Are you referring to not working on the Editor or when deployed in a build?
    Are you getting any console error or warning in the console?

    Are the Korean translations not getting downloaded in the spreadsheet? I mean, if you open the I2Languages.prefab and look at any term, are you able to see Korean translation or are they messed up?

    If they are looking fine in the I2Languages.prefab inspector, but are not showing correctly when rendering in the game, it means that the Font you are using doesn't have the Hangul characters. If you are using TextMeshPro or Bitmap Fonts, you may need to generate a new font that include those characters.

    If you are using dynamic fonts, it could be a good idea to try another font just in case that specific font its missing the characters as well.

    If you look at the documentation, there is a section showing how to change fonts based on the language. But if you have issues setting that up, I can walk you through the process.

    http://inter-illusion.com/assets/I2...onManual.html?HowtoChangeFontperLanguage.html
     
    Last edited: Jan 14, 2016
  26. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    I did click on "Force Detect" but nothing happened. When I add a Localize script in a GameObject which has an UI TextMeshPro component, the target dropdown only contains "none".

    Is that normal ?

    Thanks

     
  27. puzzlekings

    puzzlekings

    Joined:
    Sep 6, 2012
    Posts:
    404
    Hi

    I am seeing the error below on Unity 5.2.4 using 2.6.3:

    Any ideas?

    Also, is there a way to get i2 to translate all fields in italics rather than clicking on each one individually?

    cheers

    Nalin

    ArgumentException: FindObjectsOfType can only be called from the main thread.
    Constructors and field initializers will be executed from the loading thread when loading a scene.
    Don't use this function in the constructor or field initializers, instead move initialization code to the Awake or Start function.
    UnityEngine.Object.FindObjectOfType (System.Type type)
    I2.Loc.ResourceManager.get_pInstance () (at Assets/I2/Localization/Scripts/ResourceManager.cs:14)
    I2.Loc.LocalizationManager.RegisterSourceInResources () (at Assets/I2/Localization/Scripts/LocalizationManager.cs:225)
    I2.Loc.LocalizationManager.UpdateSources () (at Assets/I2/Localization/Scripts/LocalizationManager.cs:197)
    I2.Loc.LocalizationManager.InitializeIfNeeded () (at Assets/I2/Localization/Scripts/LocalizationManager.cs:48)
    I2.Loc.LocalizationManager.TryGetTermTranslation (System.String Term, System.String& Translation, Boolean FixForRTL, Int32 maxLineLengthForRTL) (at Assets/I2/Localization/Scripts/LocalizationManager.cs:134)
    I2.Loc.LocalizationManager.GetTermTranslation (System.String Term, Boolean FixForRTL, Int32 maxLineLengthForRTL) (at Assets/I2/Localization/Scripts/LocalizationManager.cs:122)
    I2.Loc.ScriptLocalization.Get (System.String Term, Boolean FixForRTL, Int32 maxLineLengthForRTL) (at Assets/I2/Localization/Scripts/ScriptLocalization.cs:8)
    I2.Loc.ScriptLocalization.get_Write_Review () (at Assets/I2/Localization/Scripts/ScriptLocalization.cs:148)
    ProductDetailsMyReviewDisplay..ctor ()
     
  28. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    That's not normal, it should show that its detecting TextMeshPro.
    In version 2.6.4 a1, the integration with TextMeshPro changed to account for the renamed classes on 5.2 beta 3.1.
    Now if you are using that beta or newer, it should include "TextMeshPro" in the Scripting Define Symbols. If using a previous TextMeshPro, then "TextMeshPro_Pre53" should be used instead.
    After clicking "Force Detect" its a good idea to check the Scripting Define Symbols to see if either "TextMeshPro" or "TextMeshPro_Pre53" are defined there.

    Nonetheless, as soon as I get back today I will check that TextMeshPro text objects are correctly detected. Yesterday I tested the TextMeshProGUI object and it was showing fine, but forgot to check the non uGUI version.
    I will update this thread as soon as I double check that. BTW, which version of unity and TMPro are you using? TextMeshPro released separated packages for each unity version, so I want to double check in the exact version you are using.

    The problem its that the constructor of ProductDetailsMyReviewDisplay its calling Localization which has to load all referenced Fonts, Sprites, etc that you may have set. And it fails because the loading phase runs in a different thread, from where some Unity API can't be used.
    To solve the issue, just move the Localization code in ProductDetailMyReviewDisplay from the constructor into the Start or OnEnable method.

    I'm currently working on adding a "Translate All" button to the Languages Tab. So that it translates all terms without a translation into a given language. That should be included in the next release.

    The new approach uses the WebService to mass translate terms, so its way waster than contacting google directly to query each translation!
     
  29. puzzlekings

    puzzlekings

    Joined:
    Sep 6, 2012
    Posts:
    404
    Thanks for this.

    I just wanted to query the expected behaviour regarding "Always update" setting. If I add a couple of keys and do not export to the google spreadsheet, the two keys disappear when the scene is first run in the editor. Is this normal?

    N
     
  30. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    When the update frequency its set to anything other than "None", then the LanguageSource assumes that the version in the Spreadsheet its the most up-to-date one. That's why when running the game, it downloads the spreadsheet and uses that one instead.
    Nonetheless, that shouldn't happen when running in the Editor. I just double checked the code and that section was wrongly reverted on the last optimization pass.

    I will update the code today and release 2.6.4a2.
    In the meantime you can modify your code to disable automatic download of the spreadsheet while in the Editor:

    In LocalizationManager.cs replace the AddSource function by this one:
    Code (csharp):
    1.  
    2. internal static void AddSource ( LanguageSource Source )
    3. {
    4.      if (Sources.Contains (Source))
    5.           return;
    6.  
    7.      Sources.Add( Source );
    8.      #if !UNITY_EDITOR
    9.           Source.Import_Google();
    10.      #endif
    11.      if (Source.mDictionary.Count==0)
    12.           Source.UpdateDictionary(true);
    13. }
    14.  
     
  31. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi Kiupe:

    I just tested again and verified that both TextMeshPro and TextMeshProUGUI are showing correctly in the Target popup.
    Are you still experiencing any issue after deleting I2Loc and reinstalling it?
     
  32. Link538

    Link538

    Joined:
    Jan 25, 2013
    Posts:
    15
    I've just bought your asset and it seem to work pretty well.

    Also, there few things that annoys me (I didn't all the posts, so someone may have already asked):
    • I don't want the tool to auto translate empty terms when I export to google, is it possible to have an option somewhere to prevent that?
    • Is it possible to show description as columns instead of notes? I find it easier to read as I find notes very tedious to read because I have to hover the cell with my pointer. Adding a note is also annoying, especially when there hundreds of lines to fill... Plus the description column can be locked with the keys column to stay visible when scrolling
    • When exporting to google, the column size are reset, I don't if it's possible to keep the cell size bu it would be useful for long texts
     
  33. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    That its going to be disabled in one of the next versions.
    It was introduced as an easy way to Auto-Translate all terms into all languages because querying google for each term/language was too slow. However, I added a new way of translate all using the webservice, and I'm adding a Translate All button to the languages tab which will batch translations into a single web call.

    In the meantime, if you need to send empty cells to and from the spreadsheet, you can follow this approach:
    http://inter-illusion.com/forum/i2-...with-blank-translations-filled-on-export#1192

    Also, notice that the plugin also color the translations that automatically translated by google so they are easily identifiable as "not ready for production", also in unity they will show a button to allow verifying the translation and approving them.

    That was removed from the webservice a while ago to make the spreadsheets more compact. I see your point that in some cases when heavily using descriptions, it could be more convenient to use a separated column.
    I have added that into my todo list. Will place a checkbox in the LanguageSource next to the export button to generate the spreadsheet as a collapse or expanded one.

    I just removed the lines that were setting a default width to the columns.
    Thats a change in a webservice, so, you can get it right away: Just delete the webservice from your google drive, open unity and click Install again, then follow the steps again.
    Clicking Install will download a new copy into your google drive with the updated sources.


    Hope that helps and will try speeding up implementing the Translate All and the expanded version of the spreadsheet. Thanks a lot for suggesting that last!
    Frank
     
  34. Link538

    Link538

    Joined:
    Jan 25, 2013
    Posts:
    15
    Thanks for your quick response, great job!
     
  35. StefanoCecere

    StefanoCecere

    Joined:
    Jun 10, 2011
    Posts:
    210
    just came here to tell
    1) this assets sounds so good (i had all other transaltions plugins but not fully satisfied)
    2) we need description column in the spreadsheet.. but i see it's on todo list (hope soon)
    3) would it be possibile to split terms in several sheets? we have hundreds of terms and would be so better to organize them in several sheets

    thank you a rock translations!


     
  36. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    Thanks!! And I hope you will find I2L to be really useful. Nonetheless, if you face any issue or have a suggestion on how to make the plugin more useful to you, just let me know and I will try to assist you asap!

    Yes, thats one of the minor features I have scheduled to include in one of the next couple updates.

    The plugin already allows multiple sheets in the same spreadsheet. Each sheet it considered a category.
    So, the term "Welcome" in the sheet "Tutorials", its imported to the LanguageSource as "Tutorials/Welcome". The editor uses categories to filter the terms and browse them faster, so all lists and selection popups will show categorized terms.


    Hope that helps,
    Frank
     
  37. Galaks

    Galaks

    Joined:
    Feb 8, 2016
    Posts:
    12
    Hi, when I change the langage manually into my code, the plugin store it in PlayerPrefs. Is there a way to avoid that?
     
  38. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Whenever you set CurrentLanguage, it calls
    Code (csharp):
    1.  
    2. public static void SetLanguageAndCode( string LanguageName, string LanguageCode, bool RememberLanguage = true, bool Force = false )
    3.  
    So, the easiest way for the language not be stored in PlayerPrefs, its by calling SetLanguageAndCode directly instead of CurrentLanguage and then passing false as the 3rd parameter.
    Code (csharp):
    1.  
    2. SetLanguageAndCode("English", "en", false);
    3.  
    More over, if you just want to disable the language been stored in PlayerPrefs at any time, because you are managing your settings, then you could comment the lines
    PlayerPrefs.SetString ("I2 Language", LanguageName);
    and
    PlayerPrefs.GetString ("I2 Language", string.Empty);

    in the LocalizationManager.cs

    Hope that helps,
    Frank
     
  39. Galaks

    Galaks

    Joined:
    Feb 8, 2016
    Posts:
    12
    Thanks Frank for your quick reply !
     
  40. ask80me

    ask80me

    Joined:
    Sep 17, 2015
    Posts:
    43
    Good afternoon. Add SVG support. Thank you.
     
  41. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    SVG seems to be a great plugin! I don't currently own a copy but will see if I can get one and add support for it.
    The good thing, its that I2L has been built to make integrating other plugin a really simple process.

    Will let you know as soon as I get a copy of SVG and there its a new version with the integration done.
    Thanks,
    Frank
     
  42. ask80me

    ask80me

    Joined:
    Sep 17, 2015
    Posts:
    43
    Hello.
    Svg importer support please. Svg importer can be downloaded for tests with the torrent.
    Thank you
     
  43. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi ask80me

    I just added SVG support to I2L 2.6.4 f2 which its available in the beta folder.
    I2L now allows localizing SVGImage and SVGRenderer. And allows changing VectorGraphic and Material

    Hope it helps!
    Frank
     
  44. ask80me

    ask80me

    Joined:
    Sep 17, 2015
    Posts:
    43
    hi. where I2L 2.6.4 f2? thanks
     
  45. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
  46. ask80me

    ask80me

    Joined:
    Sep 17, 2015
    Posts:
    43
  47. Kiupe

    Kiupe

    Joined:
    Feb 1, 2013
    Posts:
    528
    Hello,

    How do you retrieve terms for a specific category ? So far I used to retrieve all term using GetTermsList but I just saw that I can have terms filtered by categories if they are in a different sheets - but how can I get terms for a specific category ?

    Thanks
     
  48. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    There is no built-in way to get only the terms from specific categories, but it is really simple to query them:

    Categorized terms follow the following structure: "Category/Term".
    So, you could add the following method to LocalizationManager.cs or to the LanguageSource.cs
    Code (csharp):
    1.  
    2.         public static List<string> GetTermsList ( string Category )
    3.         {
    4.             var prefix = Category + "/";
    5.             return GetTermList().Where(x.StartsWith(prefix)).ToList();
    6.         }
    7.  
    Remember to add a reference to Linq (at the beginning of the file) if you add the method to LocalizationManager:
    Code (csharp):
    1.  
    2.       using System.Linq;
    3.  

    I'm going to add a similar method (a bit more optimized, but the same signature) to 2.6.5 b1

    Hope that helps,
    Frank
     
  49. cowtrix

    cowtrix

    Joined:
    Oct 23, 2012
    Posts:
    322
    There seem to be some issues with I2 and Unity 5.3.3p2
     
  50. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598