Search Unity

I2 Localization ( The most complete Localization solution for Unity )

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

  1. jmdeb

    jmdeb

    Joined:
    Jul 28, 2017
    Posts:
    23
    Thanks for the reply! As I told you I've created a term for testing purpose...and without of course using it! This term is then reported as being in use when I run the parse scenes tool!
    I must add that the problem is when I check "Parse SCRIPTS". It works "correctly" when I only check "Parse SCENES"
     
    Last edited: Dec 28, 2020
  2. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
    You ignored my previous post.
     
  3. pistoleta

    pistoleta

    Joined:
    Sep 14, 2017
    Posts:
    539
  4. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    Sorry for the delay in answering back, I did miss your post from the 24 and I just returned from the holiday vacations.

    If I understood correctly you made changes to the spreadsheet but they don't get downloaded to the game.
    There are several things that could make that happen.

    First the basics: Please very that if you make a change in the spreadsheet you can still import it in the editor by using the LanguageSource editor and clicking Replace. That will verify that the LanguageSource has the correct spreadsheet key and can access it correctly.

    Then, set the update frequency to ALWAYS and check that your Scripting Define Symbols when building have the correct definitions for using the plugin.

    After that deploy the game and verify that the localization has the same values you have in the Editor version. That verifies that the build was done correctly and the plugin is using the data that was saved when you created the build.

    Then make a change in the spreadsheet. And double check that the Last Modified date in the google drive actually changed. The plugin uses that to know if there is new content to download.

    The plugin does not check the spreadsheet all the time. It only does it when the game is opened. So, try closing the game in the device and open it again. Depending on your internet connection speed it may take a few seconds and the data will be downloaded.

    If that doesn't work. Get the unity logs from the device and it will show a message if the spreadsheet was up to date or if it tried downloading it but there was another issue (for example, but url, connection, etc).

    Hope that helps you, but if it doesn't work, can you please email me the message from the log and I can help you debug the issue.
     
  5. pitch1

    pitch1

    Joined:
    Jul 29, 2015
    Posts:
    8
    Hi, we Are currently using the i2 localization plugin to implement multiple languages including japanese and chinese, we have created font assets for chinese and japanese, but when switching the languages between chinese and japanese to other languages we randomly face the issue where all characters get displayed as black boxes, please refer the screen shot attached. is switching the font asset and material causing this, if yes what is the solution for this. Any suggestions would be helpful.

    Thanks.
     

    Attached Files:

  6. pitch1

    pitch1

    Joined:
    Jul 29, 2015
    Posts:
    8
    We were looking for a solution asap as we are in a time crunch, i am also attaching the font files I use for reference.
     

    Attached Files:

  7. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    What type of text are you using? TextMeshPro_UGUI, regular TextMeshPro or Unity UI?

    When you are playing the game and switching languages, did you check in the inspector if the correct font is been set in the text components? Or is it that only the new text is been set, but the old font is still set in the component?

    You mentioned that it happens randomly. Is it that when you switch languages it shows the black boxes, but after you change to another screen, it fixes it self?

    Have you verified that all text are detecting the font TERM as the secondary term?

    Does this issue happen in both the editor and in a build, or only show issues when deployed?
     
  8. pitch1

    pitch1

    Joined:
    Jul 29, 2015
    Posts:
    8
    Hi thanks for your reply, we found and fixed the issue it was at our end where there was an issue in setting the scene active hierarchy. But we are facing another issue now, we currently use 3 font assets for chinese, japanese and other languages so after creating a webgl build the build size increases by a lot, previously our build size without localization was 7 mb but now it is 30 mb, what could be causing this and can we reduce this size? appreciate your help on this.
     
  9. ChristophFandrich

    ChristophFandrich

    Joined:
    Apr 24, 2019
    Posts:
    3
    Hi,
    when we run our game in windows everything works fine, but in Ubuntu theres no Live Sync possible. Hope you can help us.
     
  10. MikeSz

    MikeSz

    Joined:
    Jul 7, 2014
    Posts:
    31
    @Inter-Illusion hey, wanted to go back to the topic of Addressable Assets

    I did see your answer regarding CSV and/or Googe LiveSynchronization however those introduce separate problems:
    1) CSVs/TSVs do not play well with having multiple sheets within a document (so wouldnt be able to easily use things like UI/somePanelName next to skill/someSkillName
    2) Google Live Sync stores data using PlayerPrefs and those are a no-go on WebGL

    Overall proper working solution would be to just allow us to load i2 asset from Addressable assets, is that planned or possible to achieve?
     
  11. Graham-B

    Graham-B

    Joined:
    Feb 27, 2013
    Posts:
    331
    1. The code you shared for adding new terms from an editor script (http://inter-illusion.com/forum/i2-localization/848-add-in-terms-from-other-source#2281) doesn't appear to work anymore. Could you please update the example code? Thank you!

    For the most part I was able to get it working, but EditorUtility.SetDirty(); is giving the error "Argument 1: cannot convert from 'I2.Loc.LanguageSourceData' to 'UnityEngine.Object'"

    2. When adding a new term through code, how can you assign a category to it?

    3. I can't get the global localization parameters working through code. And the examples I found on your forum appear to be outdated and no longer work (http://inter-illusion.com/forum/i2-...s-isn-t-change-when-i-apply-text-by-code#1973)

    I've tried: (where the termKey = The best player was {[WINNER}]!)
    string dialogue = LocalizationManager.GetTranslation(termKey);
    LocalizationManager.ApplyLocalizationParams(ref dialogue, true);


    But it doesn't do anything, I've also added the GlobalParametersExample component to the scene.

    I don't see any examples in your documentation of using parameters outside of using your premade Localize component. An example would be greatly appreciated!
     
    Last edited: Feb 23, 2021
  12. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    Here is an updated code to add a term. The last two lines (Editor_SetDirty and SaveAssets) are only needed if you are running the code in the editor and not in play mode.

    Code (csharp):
    1.  
    2. // This is the default LanguageSource (but you can select any other you want)
    3.          LanguageSourceData I2Languages = I2.Loc.LocalizationManager.Sources[0];
    4.  
    5. // Create the term (if it doesn't already exist) and returns the struct that has all its translations
    6.          TermData data = I2Languages.AddTerm( "Category\\Term Hello", eTermType.Text, false );
    7.  
    8. // Fill the translations
    9.          data.Languages[ I2Languages.GetLanguageIndex("English") ] = "English Translation";
    10.          data.Languages[ I2Languages.GetLanguageIndex("Spanish") ] = "Traduccion al espannol";
    11.  
    12. // Update the Dictionary (only needed In-Game)
    13.          I2Languages.UpdateDictionary(true);
    14.  
    15. // Mark the source as dirty so that unity save it when you close the project
    16.          I2Languages.Editor_SetDirty();
    17.  
    18. // You can also do this to force saving it (although you should call this last line only after you added all the terms you need)
    19.          AssetDatabase.SaveAssets();
    20.  

    In the example, the term is inside the category "Category". if you need more nested categories just do "Categ1\\Categ2\\term"

    The problem you have maybe that it shouldn't be {[WINNER}] but {[WINNER]} (see the ]} at the end)

    also, there is no need to call ApplyLocalizationParams, instead you could instruct the GetTranslation to apply parameters:
    Code (csharp):
    1.  
    2. string dialogue = LocalizationManager.GetTranslation(termKey, applyParameters:true);
    3.  

    Sorry the late reply, I2 Localization has no build in support for Addressables/Bundles, but it can work exactly as any other of your assets.

    If you add the LanguageSource to a bundle or mark it as addressable, it will be bundled, and then you just need to instantiate/load it on startup. As soon as is loaded from the bundle it will auto-register in the localization manager.

    Said that, I will add in the next release an example of how to set that up and have an script to auto-load from addressable on startup.

    PlayerPrefs works fine in WebGL, it used to be in older versions of unity, that you needed to call PlayerPrefs.save for it to work, but thats no longer needed.

    Hope that helps,
    Frank
     
    weto4ka and Graham-B like this.
  13. jlanisdev

    jlanisdev

    Joined:
    Jan 18, 2016
    Posts:
    76
    @Inter-Illusion I have a small recommendation which I think will help improve workflow greatly.

    When using any LocalizedString field in the inspector window, there's no built-in way to add a new term. Other than manually going into the language source and adding the term there, then going back to inspector window and selecting the term from the dropdown. These 2 extra steps that are required every time make for a clunky workflow, especially when doing this task multiple times over. A better workflow would be to simply allow the user to add the term directly from the inspector window with any LocalizedString that hasn't already been initialized, so you don't have to load up the language source asset every time a new term is added.

    As an example, on the bottom of the drop down list you could have:
    <inferred from text>
    <none>
    [text box] <---- enter new term string here

    Or, more likely just add a new button on the right side of the drop down which allows you to add a new term quickly.
     
    Last edited: Feb 26, 2021
    Inter-Illusion likes this.
  14. jlanisdev

    jlanisdev

    Joined:
    Jan 18, 2016
    Posts:
    76
    @Inter-Illusion Any idea why the text "TAP AND HOLD" is not being localized via auto translate? I tried playing around with the string and it appears to be random, sometimes it translates correctly if I change things with the text, while other times it doesn't translate fully.
     

    Attached Files:

  15. Adnan_Khan_Abbasi

    Adnan_Khan_Abbasi

    Joined:
    Dec 15, 2013
    Posts:
    2
    hi every one. i have an issue with l2 Localization. when i ad auto translation and when i come to unity from drive and verify link then this error comes "the current google web service is not supported . delete web service ". can any one solve this
     

    Attached Files:

  16. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi, can you verify you are using I2 Localization 2.8.14 f1 and that the WebService you installed in your google drive has version 5.
    If thats not the case, please update to the latest I2 Localization, Delete the WebService and install it again. T
    That should solve the problem.
     
  17. _geo__

    _geo__

    Joined:
    Feb 26, 2014
    Posts:
    1,336
    Hi and thank you for making i2l, it's a great Asset.
    I have a question about font localization.

    I want to localize a term and also set the font accordingly (localize the font) via code. I know the "Localize" component has the contextual "second term" which I can use to specify the desired font but how should it be done via code? I did some digging and came up with a helper class (code below) but I wonder if this is the right way to do it or if I overlooked a built-in way of doing this.

    Code (CSharp):
    1. using TMPro;
    2. using UnityEngine;
    3.  
    4. public static class LocalizationHelper
    5. {
    6.     // Check I2L source/csv/google-sheet for font name strings.
    7.     public const string FontHeader = "FontHeader";
    8.     public const string FontTextBold = "FontTextBold";
    9.     public const string FontText = "FontText";
    10.  
    11.     /// <summary>
    12.     /// Takes a term and returns the translated object (asset from the language soure or resources).
    13.     /// </summary>
    14.     /// <typeparam name="T"></typeparam>
    15.     /// <param name="term"></param>
    16.     /// <returns></returns>
    17.     public static T GetTranslatedResourceByTermName<T>(string term) where T : Object
    18.     {
    19.         string translation = I2.Loc.LocalizationManager.GetTranslation(term, FixForRTL: false);
    20.         return I2.Loc.LocalizationManager.GetTranslatedObject<T>(translation);
    21.     }
    22.  
    23.     /// <summary>
    24.     /// Translates the given term and applies the font.
    25.     /// </summary>
    26.     /// <param name="tmp"></param>
    27.     /// <param name="term"></param>
    28.     /// <param name="font">The font term as defined in the language source (use Localize.FontHeader, Localize.FontTextBold or Localize.FontText).</param>
    29.     public static void LocalizeTextAndFont(this TextMeshProUGUI tmp, string term, string font = null)
    30.     {
    31.         if(font != null)
    32.         {
    33.             tmp.font = GetTranslatedResourceByTermName<TMP_FontAsset>(font);
    34.         }
    35.         tmp.text = Text(term);
    36.     }
    37.  
    38.     public static string Text(string term)
    39.     {
    40.         if (string.IsNullOrEmpty(term))
    41.             return "";
    42.  
    43.         string translation = I2.Loc.LocalizationManager.GetTranslation(term);
    44.         if (translation == null)
    45.         {
    46.             return term;
    47.         }
    48.        
    49.         return translation;
    50.     }
    51. }
    52.  
    Here is the csv source I use (just for completeness).
    2021-04-05 16_07_44-SBR2 Translations - Google Sheets.png
    Is there a "Term" type which makes I2L ignore that row in the csv?

    Also I noticed that:
    1) The docs website does not support httpS (invalid certificate).
    2) The bit.ly links in the manual do not work anymore (I guess due to the new asset store urls).

    Thanks.
     
    Last edited: Apr 5, 2021
  18. weto4ka

    weto4ka

    Joined:
    Feb 8, 2019
    Posts:
    48
    Hi, there!
    I'm using localization asset & I have a lot of texts in I2Languages.asset. So, every time when I want to open it - Unity freezes... and every time when I import/export elements to Google I need to wait 5-10 minutes. Also when I open some element it take some time and I need to wait 10 seconds. Is there some way to speed it up, or at least not make it freeze? Is it normal?
    Because changing some stuff & importing/exporting take a lot of time.. and sometimes I need to restart Unity because it's just not responding anymore
     
  19. MikeSz

    MikeSz

    Joined:
    Jul 7, 2014
    Posts:
    31
    Sorry for the late reply as well, Unity forum doesn't like the idea of having working notifications for post replies...

    Anyways. I'm not sure how what you described would work. i2Languages.asset is within Resources folder and it being a special folder will be added to the game regardless of Addressable flag being set on or off. And unless I'm missing something - i2 expects that file to be exactly there. So... how? Is that example ready to see and test in the wild?

    And regarding PlayerPrefs - yes, they work. But Web also has this wonderful Incognito mode which voids the idea of reliably storing downloaded assets within local assets. Should have made it more clear

    Thanks for help
     
  20. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Implementing loading from asset bundles or addressable is quite straightforward, but there is no built in support for automatically do it. I will see if I add that right away.

    The way to do it, is to create a new gameObject and add a LanguageSource component to it. Leave the one in the Resources folder empty, or with just the terms that don't change and you want to have accessible from the start.

    Then, add the gameObject you created into a prefab and mark it as addressable.

    Finally, you will need to create an script that you add to your initial scene, and that script only needs to on Start, load the addressable and instantiate that gameObject into the scene and mark it as DontDestroyOnLoad.

    As soon as you instantiate the gameObject, the LanguagesSource component will register itself into the LocalizationManager, trigger a refresh to the localization and all its terms will be available from that point on.

    Hope that helps,
    Frank
     
    MikeSz likes this.
  21. Lenstar

    Lenstar

    Joined:
    Feb 9, 2018
    Posts:
    1
    Hi!
    How can i change only font but not техт?
    In some cases i need show text whitch user was input before. Thats why i need change only font.
    Im add secondary term for TMPro and its works fine.
    But i cant find settings for not change text value.
     
  22. newlife

    newlife

    Joined:
    Jan 20, 2010
    Posts:
    1,080
    Hello, which is the best practice to localize a dialog window? I mean, a window that have a dynamic text object that can show different writings, for example: "Are you sure?", "please wait.." etc.
    Now Im using a list of TextArea with an ID to identify them.
    Is it possible to use a localized text runtime with a call in the code?
     
  23. vizgl

    vizgl

    Joined:
    Nov 4, 2014
    Posts:
    61
    Hello,
    I am trying add App Tracking Transparency dialog to my game on ios and have some issues with dialog localization.
    To localize dialog description I should add field NSUserTrackingUsageDescription to InfoPlist.strings
    in the every supported language. But when I2 localization postprocessing ios build it overwrite InfoPlist.strings files with just single line which localize app name CFBundleDisplayName.
    Can you add some additional string where I can put my own texts for InfoPlist.strings?
     
  24. Rich_A

    Rich_A

    Joined:
    Nov 22, 2016
    Posts:
    338
    Hello, I looked through the documentation but couldn't find an answer to this.

    Is there are any way to scan all text components in my project? Or do I have to go through and manually assign the localise component to all game objects which include a text component?
     
  25. newlife

    newlife

    Joined:
    Jan 20, 2010
    Posts:
    1,080
    still no reply?
     
  26. BrunoNunes23

    BrunoNunes23

    Joined:
    Sep 13, 2019
    Posts:
    2
    Does this support the new UI Builder from unity, or do you have any plans on implementing that?
     
  27. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Sorry for the late reply, I have been on vacation this last couple weeks (first one since the covid started, and I'm catching up now)

    No, it doesn't support directly the UI Builder. But you can set it up to localize it by using LocalizedStrings or by directly using LocalizeManager.GetTranslation when you set a text from your scripts.
    I'm investing now the best ways to have a proper localization of UI Builder, will let you know when I get a complete plan for it.

     
  28. LoopIssuer

    LoopIssuer

    Joined:
    Jan 27, 2020
    Posts:
    109
    Hi,
    I would like to do sth like this:

    I have let say 3 words type A (Cat, Dog, Cow) and 3 words type B (Run, Walk, Drink).
    I randomize sentences, i.e.:
    Cat Walk
    Dog Walk
    Cow Run
    Drink Cow
    Run Run
    Dog Drink
    etc.

    How to make it work with translation? I mean - is it possible for i2L to treat these parts of sentences like parameters or sth?
    Everything I do from code.

    Thanks in advance for answer.
     
  29. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    There are several ways to handle that.
    The easiest is to create a term for each word.
    Then, you could just query for its translation before concatenating them.

    Code (csharp):
    1.  
    2. string word_Dog = LocalizationManager.GetTranslation("Dog");
    3. string word_Walk = LocalizationManager.GetTranslation("Walk");
    4.  
    5. string sentence = $"{word_Dog} {word_Walk}";
    6.  
    http://inter-illusion.com/assets/I2LocalizationManual/Howtoaccesslocalization.html

    The downside of that way is that some languages invert the order of the words (e.g. "dog walks" instead of "walks dog").
    So, an a better way is to use parameters.
    http://inter-illusion.com/assets/I2LocalizationManual/Parameters.html

    To do that, create a term "Sentence" that for some languages is "{[SUST]} {[VERB]}" and for others is "{[VERB]} {[SUST]}" and assign that term to Localize component in your text.

    Then, create a parameter manager that correctly returns the current SUST and VERB.
    Finally whenever you changed the sust or verb, just call text.GetComponent<Localize>().OnLocalize(true).

    That will find the sentence for the current language, ask the manager for the sust and verb, concat them and show it in the text.

    Hope that helps,
    Frank
     
  30. alpashk741

    alpashk741

    Joined:
    Dec 8, 2018
    Posts:
    1
    Hi, i've been using your asset to work on one project, and for whatever reason it makes changes to my prefabs after i tart unity editor. It makes it very annoying to work with version control, since git detects the automatic changes to the prefabs.
    Is there any solution to this, besides trying to change the game's language on exit so it would not make changes to my prefab

    https://prnt.sc/13ibkax
     
    Last edited: May 28, 2021
  31. combatsheep

    combatsheep

    Joined:
    Jan 30, 2015
    Posts:
    133
    Hi,

    When I test-start the iPhone from Xcode with the iPhone language setting to Arabic, it crashes with the following log.
    --------
    Uploading Crash Report
    ArgumentOutOfRangeException: Not a valid calendar for the given culture.
    Parameter name: value
    at System.Globalization.DateTimeFormatInfo.set_Calendar (System.Globalization.Calendar value) [0x00000] in <00000000000000000000000000000000>:0
    at System.Globalization.CultureInfo.get_DateTimeFormat () [0x00000] in <00000000000000000000000000000000>:0
    at System.Globalization.DateTimeFormatInfo.get_CurrentInfo () [0x00000] in <00000000000000000000000000000000>:0
    at System.DateTimeFormat.Format (System.DateTime dateTime, System.String format, System.Globalization.DateTimeFormatInfo dtfi) [0x00000] in <00000000000000000000000000000000>:0
    at I2.Loc.LanguageSourceData.Import_Google (System.Boolean ForceUpdate, System.Boolean justCheck) [0x00000] in <00000000000000000000000000000000>:0
    at I2.Loc.LocalizationManager.AddSource (I2.Loc.LanguageSourceData Source) [0x00000] in <00000000000000000000000000000000>:0
    at I2.Loc.LocalizationManager.RegisterSourceInResources () [0x00000] in <00000000000000000000000000000000>:0
    at I2.Loc.LocalizationManager.UpdateSources () [0x00000] in <00000000000000000000000000000000>:0
    at I2.Loc.LocalizationManager.InitializeIfNeeded () [0x00000] in <00000000000000000000000000000000>:0
    at I2.Loc.LocalizationManager.get_CurrentLanguage () [0x00000] in <00000000000000000000000000000000>:0
    at I2.Loc.Localize.OnLocalize (System.Boolean Force) [0x00000] in <00000000000000000000000000000000>:0

    (Filename: currently not available on il2cpp Line: -1)

    Uploading Crash Report
    ArgumentOutOfRangeException: Not a valid calendar for the given culture.
    Parameter name: value
    at System.Globalization.DateTimeFormatInfo.set_Calendar (System.Globalization.Calendar value) [0x00000] in <00000000000000000000000000000000>:0
    at System.Globalization.CultureInfo.get_DateTimeFormat () [0x00000] in <00000000000000000000000000000000>:0
    at System.Globalization.DateTimeFormatInfo.get_CurrentInfo () [0x00000] in <00000000000000000000000000000000>:0
    at System.DateTimeFormat.Format (System.DateTime dateTime, System.String format, System.Globalization.DateTimeFormatInfo dtfi) [0x00000] in <00000000000000000000000000000000>:0
    at I2.Loc.LanguageSourceData.Import_Google (System.Boolean ForceUpdate, System.Boolean justCheck) [0x00000] in <00000000000000000000000000000000>:0
    at I2.Loc.LocalizationManager.AddSource (I2.Loc.LanguageSourceData Source) [0x00000] in <00000000000000000000000000000000>:0
    at I2.Loc.LocalizationManager.RegisterSourceInResources () [0x00000] in <00000000000000000000000000000000>:0
    at I2.Loc.LocalizationManager.UpdateSources () [0x00000] in <00000000000000000000000000000000>:0
    at I2.Loc.LocalizationManager.InitializeIfNeeded () [0x00000] in <00000000000000000000000000000000>:0
    at I2.Loc.LocalizationManager.get_CurrentLanguage () [0x00000] in <00000000000000000000000000000000>:0
    at I2.Loc.Localize.OnLocalize (System.Boolean Force) [0x00000] in <00000000000000000000000000000000>:0
    UnityEngine.UnhandledExceptionHandler:printException(String, Exception)
    UnityEngine.UnhandledExceptionHandler:HandleUnhandledException(Object, UnhandledExceptionEventArgs)
    System.UnhandledExceptionEventHandler:Invoke(Object, UnhandledExceptionEventArgs)

    (Filename: currently not available on il2cpp Line: -1)

    UnityFramework was compiled with optimization - stepping may behave oddly; variables may not be available.
    (lldb)
    --------

    1)Arabic is not localized in this build.
    I2LocalizeTroubleOnArabic.jpg
    2)Other languages (eg below) settings on iPhone are fine.
    English, Japanese, Thai, Vietnamese, Hebrew, Hindi

    3)Even if I change the language setting from another language to Arabic on the way, it crashes at starting the APP.

    4)This did not happen on Android.

    Is there any solution?

    environment:
    Unity2019.4.20f1
    I2 Localization v2.8.14f1
    Xcode 12.3
    iPhone8/iOS 14.2
    macOS 10.15.7

    Thanks.


    <Added>
    I tried adding Arabic to Languages in I2.Loc, but the app crashed.
    Is there a way to bypass the I2.Loc process when launching the app in Arabic only?

    <Added>
    I solved it by link.xml.:)
     
    Last edited: Jun 13, 2021
  32. jottap

    jottap

    Joined:
    Apr 24, 2014
    Posts:
    1
    How I selected another LocalizedSource?

    upload_2021-6-1_19-37-59.png


    How I add this selected inspector in my script?
    upload_2021-6-1_19-38-56.png
     
  33. xAvatarchikx

    xAvatarchikx

    Joined:
    Aug 17, 2012
    Posts:
    69
  34. AmitChBB

    AmitChBB

    Joined:
    Feb 16, 2021
    Posts:
    37
    Hi, I am experiencing a bug and was wondering if anyone knows a fix.

    I have a LocalizedString which is displayed in a TextMeshPro UI text via script. The term displayed has 2 supported languages - English (LTR) and Hebrew (RTL).
    When the Hebrew text is displayed, the TMPro component is not set as RTL. So, while the words are readable, the punctuation marks in the Term are displayed incorrectly.
     
  35. dreasgrech

    dreasgrech

    Joined:
    Feb 9, 2013
    Posts:
    205
    @Inter-Illusion
    Is the i2 localization plugin compatible with the Crowdin service? i.e. is it possible to host the spreadsheet files in Crowdin, as opposed to Google Docs?
     
  36. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    dreasgrech likes this.
  37. AmitChBB

    AmitChBB

    Joined:
    Feb 16, 2021
    Posts:
    37
    @Inter-Illusion - I was wondering if you have experienced this before and know of a fix
     
  38. Stickeyd

    Stickeyd

    Joined:
    Mar 26, 2017
    Posts:
    174
    Hi.

    I want to add a separate column where I will be adding notes with links to the choices(as my narrative is branching) but I can't. When I add links to these cells, they get overridden with no links after I merge.
     
    Last edited: Jul 7, 2021
  39. kk3hi3123

    kk3hi3123

    Joined:
    Aug 17, 2016
    Posts:
    31
    Hello, my UI Text with I2 Localize instantiated by Addressable Assets sometimes is not translated.

    It happens after I change the using language, the game object instantiated after that will use the previous language sometimes. And the language is still wrong after restarting the application. It seems only happening in mobile but not editor.

    I know I can call a function to translate all of the texts to solve it. But I am looking for some easier ways to dual with the issue. I am now trying to switch "Options > Force Localize" under I2 Localize on and waiting for other solution.
     
  40. keshav9999

    keshav9999

    Joined:
    Feb 8, 2019
    Posts:
    3
    While importing the spreadsheet from google drive, it takes first column as keys, can i change so that it takes fifth column or any column for the keys?
     
  41. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    I replied here with instructions on how to modify the code to alter what columns are used for keys, desc, type, etc
    http://inter-illusion.com/forum/i2-localization/136-problems-with-csv-import?start=6#4379

    Hope that helps


    Could you please elaborate a bit more on that? I may be misunderstanding the question.
    Is it that if you have a url in the spreadsheet, when it gets downloaded, you no longer see the same valid url?

    Do you have a Localize component that is enabled in that prefab?
    Do you have more than one LanguageSource in the scene with similar keys or are you just using the one in the Resources folder?
    Can you try setting the "Unload Languages At Runtime" to never in the LanguageSource's Languages Tab to see if its related to that?
     
  42. Meceka

    Meceka

    Joined:
    Dec 23, 2013
    Posts:
    423
    Hi, after updating to Version 2.8.15 f1, I am getting this error when trying to build Windows standalone and build doesn't proceed;

    The type or namespace name 'Events' does not exist in the namespace 'UnityEditor' (are you missing an assembly reference?)
     
  43. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    Sorry for that mistake.
    Version 2.8.15 f2 is already in available to download from the AssetStore and fixes that problem.

    Hope that helps,
    Frank
     
  44. DunkelBor

    DunkelBor

    Joined:
    Jan 15, 2020
    Posts:
    8
    Hello hello,
    I heard great things about this asset and just bought it and imported it to my project.
    However I'm facing problems to get started, as I have the six following errors:

    upload_2021-8-1_10-48-30.png

    I'm using Unity 2020.3.13f1 and the 2.8.15 version of I2.
    Any tip on how I could fix this?

    Many thanks in advance. :)
     
  45. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    I haven't been able to reproduce those compile errors.
    Can you let me know what Unity and I2 Localization versions you are using?
    Did you added an Assembly Definition to the I2 Location folder?
     
  46. DunkelBor

    DunkelBor

    Joined:
    Jan 15, 2020
    Posts:
    8
    [edit] So all the issues were appearing due to a conflict with another package (as expected), one line reviewed and it's now working.

    Hi again,

    I'm using Unity 2020.3.13f1 and the version of I2 Localization is 2.8.15.

    I haven't touched anything yet, this problem happens as soon as I2 Localization is imported. I even don't have the menu added yet. No Assembly Definition added.

    I tried deleting the folder and re-importing but the problem persists.

    Thanks for the help. :)
     
    Last edited: Aug 9, 2021
  47. UnityRocksAlt

    UnityRocksAlt

    Joined:
    Dec 28, 2015
    Posts:
    157
    Does this support Unity 2017.4.37? If not, will I be able to use previous versions that support 2017.4.37?
     
  48. Inter-Illusion

    Inter-Illusion

    Joined:
    Jan 5, 2014
    Posts:
    598
    Hi,
    It does support older versions of Unity, but the AssetStore tools to upload packages forces us to use the LTS version on any update. That's why that's the version listed in the Store. But you should be able to safely use it even in Unity 5.6.
     
  49. Falondrian

    Falondrian

    Joined:
    Nov 1, 2017
    Posts:
    73
    This would be a great timesaver, +1
     
    Inter-Illusion likes this.
  50. UnityRocksAlt

    UnityRocksAlt

    Joined:
    Dec 28, 2015
    Posts:
    157
    thank you, I will buy soon when I feel my game is ready to localise. The asset has overwhelimngly positive reviews, congrats on that