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

[RELEASED] Smart Localization for Unity3D

Discussion in 'Assets and Asset Store' started by NiklasBorglund, Mar 13, 2013.

  1. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    The folders should not have anything to do with your problem. As long as you keep the structure created in the Smart Localization folder(with the editor scripts in the editor folder, and the others outside), things should work.

    What language are you writing your scripts with? C#?
     
  2. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    Hi everyone!

    Smart Localization 2.0 is released! It got some major changes, so remember to back up your project before updating.
    The most noticeable change is that the localization is moved to another folder structure called SmartLocalizationWorkspace.

    Quick upgrade guide:
    I believe the easiest way to upgrade is to replace the smart localization scripts with the new ones-> create the languages you had with the old version-> and then replace the new resx with the old ones that you had before.

    ChangeList:
    *VERSION 2.0 - MAJOR CHANGES*
    * REMEMBER TO BACK UP YOUR PROJECT BEFORE UPDATING*

    * Version 2.0 will create a completely new workspace.
    It will mostly work as the previous versions, but it got some structural changes.

    Changes
    * Completely reworked the base for increased stability
    * Re-written automatic translator for increased stability
    * CSV Import Export.
    * Moved away from .NET CultureInfo to own class (SmartCultureInfo) to make Smart Localization accessible to more platforms
    * Moved the classes into the SmartLocalization namespace and the SmartLocalization.Editor namespace.
    * Better undo support

    This version is built into libraries and is not available on github, but v.1.2 still is, if you want to be able to use the full source.

    Note: This version is encapsulated in namespaces, so If you are using a 3.x version of Unity, you should stick with the one(v.1.2) that's still available on github.

    Link to Smart Localization 2.0

    We have also moved away from the .NET CultureInfo with our own version called SmartCultureInfo. This might make Smart Localization work on WP8 devices, but we don't own any devices to test that with, so If anyone would like to try that out and tell us - we would greatly appreciate it :)

    Code samples on the changes can be found in the LoadAllLanguages.cs script in the package.

    Let us know, either here or by email, if you have any questions.
     
  3. j00hi

    j00hi

    Joined:
    Nov 18, 2012
    Posts:
    72
    Hi, thanks for the great work!

    Regarding WP8: Unfortunately, that doesn't work. The following error comes up during Build And Run:

    Error building Player: Exception: Error: method `System.String System.Xml.XmlReader::ReadString()` doesn't exist in target framework. It is referenced from SmartLocalization_Runtime.dll at System.Void SmartLocalization.LanguageParser::ReadData(System.Xml.XmlReader,System.Collections.Generic.SortedDictionary`2<System.String,SmartLocalization.LocalizedObject>).

    There seems to be some issue with the XmlReader class but I don't think I can do anything about it because the code causing this error is located within the DLL, as the error message says.

    The different .NET frameworks on the different Microsoft platforms are quite a mess, but this seems to be the right XmlReader method for Windows Phone: http://msdn.microsoft.com/en-us/lib....xmlreader.readcontentasstring(v=vs.105).aspx
    Also a code sample is included.
    I guess, you'd need some #ifdefs inside the DLL and run the Windows Phone specific code on Windows Phone only.

    Is there any chance you could include that in SmartLocalization?
    I am hereby volunteering to test a WP8-adapted version, if you (hopefully) decide to include Windows Phone support. ;)
     
  4. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    Thank you for testing that! And thank you for volunteering to test it.

    I'll take a look at it and contact you when i have found a solution.
     
  5. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    You were right, I switched the ReadString with this.

    I sent you a PM.

    If it works I'll push an update to the store.
     
  6. mog-mog-mog

    mog-mog-mog

    Joined:
    Feb 12, 2014
    Posts:
    266
    Thanks for doing the upgrade. I am using older version in my game. Localization works fine in game. But neither google nor apple binary recognize the localization. What's the best way to tell apple/google that my binary is localized? Does newer upgrade adds native localization recognition as well?



    Some minor issues I'd with previous version. This is just an FYI. I am hoping newer version has already fixed them. I'll upgrade to newer version soon.

    1) LanguageManager.Instance initializes the object if not found. This causes error if application is destroying. Say on app-destroy, I am accessing Languagemanger.instance to subtract any, it creates new object. Hope this is resolved.
    2) When I click on any GUITexture, it automatically Delete LanguageManager instance from my scene. I am using an instance of LanguageManager in my first scene - with dont destroy on load. I want it to be persisted everytime.
     
  7. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    A file called strings.xml need to be generated in the apk for android to recognize the localization. I'll do some research and see what can be done from unity.
    I'm not sure how the apple binary handles this though, so if anyone has a link or something on how to make them automatically recognize the localization, please send it to me.

    As for your issues

    1) In the new version, we added a boolean property called LanguageManager.HasInstance, which returns whether or not an instance is created. I added checks in the new version for that. The reason why I haven't removed that the language manager creates itself is to maintain the ease of using Smart Localization.
    Otherwise, we would need a method called something like LanguageManager.CreateManager(). It creates an extra step, but maybe that's not a problem?

    2.) I was not aware of this bug, I'll write it down in our todo list.
     
  8. mog-mog-mog

    mog-mog-mog

    Joined:
    Feb 12, 2014
    Posts:
    266
    Would be great if you can do it for APK. For now, I've added Google play service sdk to my game. SDK is localized in all languages. I deleted languages which I don't intend to publish.

    For IOS, there are several options:
    1) Just Add to info.plist - it tells apple which all language my binary supports- no strings file needed :)
    <key>CFBundleLocalizations</key>
    <array>
    <string>en</string>
    <string>fr</string>
    <string>ja</string>
    </array>
    2) Create en.lproj folder for all language with file "strings" inside it. Add these folders to xcode project. This is similar to google way of language folder

    If both (1) and (2) are present, (2) will override (1). I use (1) as it is simple and does not require adding fake strings file



    1) Assuming user add prefab to the game loader screen which is default dont destroy, object should always exist. If it does not exist, that means game is destroying or something is wrong. I do see Boolean will solve the problem as now I can check before accessing instance.
    if LanguageManager.HasInstance
    Languagemanager.instance.event -= myeventhander in my object destroy
    2) I believe editor inspector script deletes the languagemanager instance assuming that it has created it.

    Thank you for the great asset once again, I'll be testing the new upgrade in a week or two after my next release, will keep you posted. Thanks
     
  9. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    Great. Thank you :)

    We're planning to update some things this weekend. I'll take a look at some of the issues then before I push the new update to the store.
    j00hi tested the Windows Phone 8 fix I did - and it worked!

    The automatic recognition in the respective store might not get in the next update though, but we'll do some research and figure out a nice way to automatically add these into the project.
     
  10. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    I looked at this issue some, and I believe it's fixed with Smart Localization 2.0. The LanguageManager isn't used from the editor scripts anymore.
    Let me know if anything like this comes up again.


    I just pushed the wp8 update to the store. Might take a few days before it's accepted.

    Changelist
    -----------------
    * Created fixes for WP8. The plugin is now compatible with WP8
    * Removed default error logging and replaced it with the option to enable it again with LanguageManager.VerboseLogging
    * Added LanguageManager.HasKey(string key) method.

    If you want the update before it reaches the store, you can contact me or zuric, and we'll send the dll:s to you.
     
  11. asdfman

    asdfman

    Joined:
    Apr 28, 2014
    Posts:
    2
    First of all, thank you for making this available for free.

    I have one minor issue though, I want to use SmartLocalization outside of play mode for previewing string keys in different languages within my dialog editor. I managed to get this working by adding a [ExecuteInEditMode] attribute to the script and changing the singleton setup a bit (search for existing GO before creating one). The side effect of this is a persistent LanguageManager GO in your scene.

    So this is a feature request since there's probably a smarter way of doing it than my workaround : Make SmartLocalization usable in editor-only code.

    Once again, thanks for all your hard work.
     
  12. mog-mog-mog

    mog-mog-mog

    Joined:
    Feb 12, 2014
    Posts:
    266
    Thanks, I upgraded the plugin to 2.02 and it worked smoothly without any changes. Couple of requests:
    1) Language manager initializes a new object in instance reference - which is an issue if user call instance in destructor. Ideally it should check for OnApplicationQuit to set a bool-appQuiting and should not reinitialize if app is quitting, right? I did that change in previous version but prefer to get it inside your plugin - as i dont want to lose it with every update.
    2) Upgrade notes says - export/import to CSV. I am not able to find the option, any help will be appreciated. Is there any new documentation for 2.0?
     
  13. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    First of all, the new version with the WP8 fix is now available in the asset store!

    Yes, thats probably a good idea. There are some changes in 2.0 that does not require you to use the LanguageManager for editor scripting anymore. We should probably take another look at it with editor scripting in mind, since I didn't have that in mind when It was coded.

    There are some methods you could use in the SmartLocalization.Editor namespace for now though.

    Code (csharp):
    1.  
    2. namespace SmartLocalization.Editor
    3. {
    4. public static class LanguageHandlerEditor
    5. {
    6. //Since you probably don't want the root language file, you can just set isRoot to false
    7. public static Dictionary<string, LocalizedObject> LoadParsedLanguageFile(string languageCode, bool isRoot)
    8.  
    9. //To get all the information about the languages that hasn't been created
    10. public static SmartCultureInfoCollection GetNonAvailableLanguages(SmartCultureInfoCollection allCultures)
    11. }
    12. }
    13.  
    To get the all cultures to pass in to the non available language method, you can use this:
    Code (csharp):
    1.  
    2. SmartCultureInfoCollection allCultures = SmartCultureInfoCollection.Deserialize(LocalizationWorkspace.CultureInfoCollectionFilePath());
    3.  
    And to get all the available languages, you should be able to use this:
    Code (csharp):
    1.  
    2. SmartCultureInfoCollection availableCultures = SmartCultureInfoCollection.Deserialize(LocalizationWorkspace.AvailableCulturesFilePath());
    3.  
    We will look into getting some easier to use methods for this though, but I hope this helps for now :)

    1) Sure, you are right. It should not reinitialize if the app is quitting. We'll take a look at it.

    2 - 1) If you open up the main localization window. You should have one button right next to the "Create language"- button that says "Create from CSV", which you can use to add a language with csv.
    2 - 2)Next to each created language in the main window you have a button that says "Export to CSV".

    Hope that helps :)

    /Niklas
     
    Last edited: May 29, 2014
  14. mog-mog-mog

    mog-mog-mog

    Joined:
    Feb 12, 2014
    Posts:
    266
    Thanks that helps. Also I've noticed that the source code is no longer available with the latest plugin.
     

    Attached Files:

  15. asdfman

    asdfman

    Joined:
    Apr 28, 2014
    Posts:
    2
    Thanks a lot, this was just what I needed, works like a charm!
     
  16. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
  17. somesomeuser

    somesomeuser

    Joined:
    Feb 26, 2014
    Posts:
    3
    Some problem with windows store -
    • API System.IO.FileStream
    • API System.IO.FileMode
    • API System.IO.FileStream.#ctor(System.String,System.IO.FileMode)
    this not allowed classes, need use StorageFile and StorageFolder classes instead for Windows Store
     
  18. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    Is this Windows 8 only? Or is it happening in Windows Phone 8 as well?

    When do you get the errors? When building the app?
     
  19. somesomeuser

    somesomeuser

    Joined:
    Feb 26, 2014
    Posts:
    3
    Windows 8 and Windows 8.1, Windows Phone 8 not tested.
    Localization work but Windows App Certification Kit do not pass application for upload into windows store.
    API System.IO.FileStream is available for .net but don't available for windows store app.
     
  20. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    Ok, Thank you.

    I looked through the runtime code and I think there's only one place where a FileStream is used. I do have a fairly easy solution in mind though.
    We're planning on fixing some of the smaller bugs this weekend, and I'll push an update to the store by then. And it usually takes a few days for unity to approve the update.

    So, I could quick fix this error tomorrow night and send an updated dll to anyone that wants it. Send me a PM with your mail and I'll send it to you when the windows store fix is done(tomorrow night).

    I hope this will solve all the Microsoft-related errors. Does anyone have a link to a list with .NET classes I'm not allowed to use for windows store?
    Google only gives me this. And that specifies what I can use, but I would rather have a list that specifies what I can't use.
     
  21. somesomeuser

    somesomeuser

    Joined:
    Feb 26, 2014
    Posts:
    3
  22. systeam

    systeam

    Joined:
    Apr 1, 2014
    Posts:
    3
    I have a problem with using micro mscorlib stripping:

    At runtime I get this:
    Code (CSharp):
    1. Unhandled Exception: System.InvalidOperationException: There was an error reflecting type 'SmartLocalization.SmartCultureInfoCollection'. ---> System.InvalidOperationException: There was an error reflecting field 'cultureInfos'. ---> System.NotSupportedException: Derived classes must provide an implementation.
    I tried adding:
    to link.xml, but still the same thing.

    Thanks!
     
  23. systeam

    systeam

    Joined:
    Apr 1, 2014
    Posts:
    3
    And one more thing. It seems on iOS that the language is always English, no matter the language on the device.

    GetSystemLanguageEnglishName() could be the problem.

    Cheers!
     
  24. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    Great, I've sent you an updated dll now.


    Ok, the "cultureInfos" field is a list of SmartCultureInfos. And SmartCultureInfo is only a class with three strings and two ctors.
    The whole SmartCultureInfoCollection is being serialized/deserialized with the .NET XMLSerializer, so maybe it strips away something from that alt. the System.Reflection namespace.
    Found this in the Unity docs: http://docs.unity3d.com/Manual/iphone-playerSizeOptimization.html



    This is odd, because all that method does is return the Application.systemLanguage as a string.

    Code (csharp):
    1.  
    2. public string GetSystemLanguageEnglishName()
    3.     {
    4.         return Application.systemLanguage.ToString();
    5.     }
    6.  

    Anyway, I'll look into some of these issues during the weekend and see what I can find. As I mentioned above, I got a possible fix for the Windows Store issues. PM me if you want it before it hits the store.
     
  25. systeam

    systeam

    Joined:
    Apr 1, 2014
    Posts:
    3
    I followed this answer from Stackoverflow and fixed my problem:

    http://stackoverflow.com/questions/...guage-properly-on-first-run/14074916#14074916

    More exactly this version of https://github.com/rastersize/MKiCloudSync which I didn't use.

    The language was getting synced between devices.

    --
    And one more thing. On LanguageManager.Awake you should DontDestroyOnLoad. Just a suggestion.
    --

    Cheers!
     
  26. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262

    Great, I fixed added a LanguageManager.SetDontDestroyOnLoad Method in the class, so anyone who wants to choose is able to.

    I pushed a new update to the store(2.003). Should be available within a couple of days.

    Changelist:
    * Removed forbidden methods by windows store
    * Fixed a bug where the languagemanager reinitialized when app was quitting
    * Added LanguageManager.SetDontDestroyOnLoad Option
     
  27. zuric

    zuric

    Joined:
    May 22, 2014
    Posts:
    10
    Hi there all smart localization users. I’m Jakob, the other developer on smart localization. I would first like to thank all of you for using our app and giving suggestions on how to improve it. With that in mind here is the link to our road map for the project.

    https://trello.com/b/asPcg1Tl/smart-localization

    On it you can see what we’re working on now, what’s on the to do list and feature requests that we have gotten through e-mail or from the forums.

    On it you can also vote for the features you think would be most useful for the app. That will make it easier for us it prioritize features that will give you the best app possible :)
     
  28. Totalschaden

    Totalschaden

    Joined:
    Dec 14, 2013
    Posts:
    44
    Just Updated, now i get this error:
    The type or namespace name `LanguageManager' could not be found. Are you missing a using directive or an assembly reference?

    from line:
    LanguageManager thisLanguageManager;
     
  29. zuric

    zuric

    Joined:
    May 22, 2014
    Posts:
    10
    Have you included the using statement at the top of source file where you are using the function? The using statement is new in version 2.

    Code (csharp):
    1.  
    2. using SmartLocalization;
    3.  
     
  30. Totalschaden

    Totalschaden

    Joined:
    Dec 14, 2013
    Posts:
    44
    Oh Thanks alot :)
     
  31. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    Never got the confirmation mail from Unity Asset Store like we use to, but it seems like v2.003 is released!

    The changelist is what I described earlier, but I'll write it again here:
    Changelist:
    * Removed forbidden methods by windows store
    * Fixed a bug where the languagemanager reinitialized when app was quitting
    * Added LanguageManager.SetDontDestroyOnLoad Option
     
  32. Tribalbob

    Tribalbob

    Joined:
    Mar 18, 2013
    Posts:
    12
    I just downloaded this from the Asset store, and it seems to be missing some files. LanguageManager.cs is not present, and comparing it to the GitHub version on the front page, it seems I'm missing about half a dozen other .cs files?
     
  33. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    All the classes are still there, some completely rewritten and others just upgraded in Smart Localization 2.x - but it's closed source. You'll find the LanguageManager in the namespace SmartLocalization and it works very similar to the old version.
    I wrote a quick upgrade guide a few posts back in this thread in case you are wondering for an easy way to upgrade.

    If you want the source for the project, the old version(v.1.2) is still available and open source. That's the version available on github.
     
  34. Tribalbob

    Tribalbob

    Joined:
    Mar 18, 2013
    Posts:
    12
    Ahhh, I must have missed that. I was getting some errors when I first downloaded it from the app store, but I deleted and re-imported and everything seems to working well, now.

    Good tool so far! Trying to figure out how to use the Audio/Texture aspects of it.
     
  35. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    Thank you! :)

    The asset localization shouldn't have changed much from the old version. We haven't yet made any new tutorials for this, but since it hasn't changed much in how you use it - this video should explain how it works:

     
  36. Firewalker

    Firewalker

    Joined:
    Mar 30, 2012
    Posts:
    39
    Hi,

    I have a problem with Microsoft Translator.
    First translation works great. Second translation, actually second request gives:
    WebException: The remote server returned an error: (400) Bad Request.

    I need to leave the Unity and come back again. Again it works one time, and then gives error again.

    I have the latest version from the Asset Store v2.003

    Thank you!
     
  37. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262

    Ok, thought I fixed that error when I rewrote the Automatic Translation system completely. I guess not :/

    I added it our trello board: https://trello.com/b/asPcg1Tl/smart-localization

    What version of Unity do you have?
     
  38. PixelTrapStudio

    PixelTrapStudio

    Joined:
    Jul 2, 2014
    Posts:
    1
    Hello,

    It seems Chinese Traditional is not in the list.

    Can you add Chinese (Hant) - zh-Hant.

    For Chinese Simplified shouldn't be zh-Hans instead of zh-CHS?

    Thanks!
     
  39. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    Hi,

    Sure, we'll add it in the default list in the next version. However, i'm currently out of town and I won't be back until August - and I only have my IPad here :/ So I can't make any updates until then.

    Adding a language is fairly simple though(just need to make an editor window for it). In the automatically generated workspace folder, you can will find an xml file containing all the available cultures in Smart Localization. Adding a new one should simply be to copy an element and add the information for the new language and save the xml file.

    Regarding your question about Chinese Simplified - I have no idea :p I simply serialized all the languages from the .NET System.Serialization namespace into the xml mentioned above. But you should be able to change that in the xml file as well if you want.

    /Niklas
     
  40. Firewalker

    Firewalker

    Joined:
    Mar 30, 2012
    Posts:
    39
    At that time we used Unity 4.3.1
    just installed 4.5.1
    it looks like the problem is gone
     
  41. Ritro

    Ritro

    Joined:
    Jul 6, 2014
    Posts:
    2
    Great tool!
    It would be great if we can also load TextAsserts, because some info can be stored in specific form for later parsing (like quests with tags for branching, actions and rewards). Also in that case some text pieces ca be stored together if they are related.
     
  42. jesper42

    jesper42

    Joined:
    Jan 11, 2011
    Posts:
    28
    First of, thanks for a very nice and useful tool ... much appreciated :D



    I upgraded to version 2.0 today to get the csv functionality.

    I'm working with a customer that wont accept resx files.

    Unfortunately there are some problems with multi-line text fields. When I try to open the exported csv files in a spreadsheet program (*) the extra lines generates new rows instead of newlines within the text.

    I think you need to quote all text fields with "'s.


    Example (w. semicolon as seperator):
    ------------ <test.csv> -------------
    key0; Test test
    test test
    test test

    key1; "Test test
    test test
    test test"
    ------------ </test.csv> -------------

    ... will generate this spread sheet (*):

    Code (CSharp):
    1.  
    2. +----------+---------+
    3. |key0      |Test test|
    4. +----------+---------+
    5. |test test |         |
    6. +----------+---------+
    7. |test test |         |
    8. +----------+---------+
    9. |key0      |Test test|
    10. |          |test test|
    11. |          |test test|
    12. +----------+---------+
    13.  

    Btw, it would be very nice to be able to export all languages to csv with one click ... and reimport them with one click.

    Cheers,
    Jesper Rasmussen


    (*) Same behaviour in both OpenOffice Calc and Google Sheets
     
  43. jesper42

    jesper42

    Joined:
    Jan 11, 2011
    Posts:
    28
    Actually the killer feature IMHO would be if I could export all languages to one csv file.

    ... and import/update all languages from one csv file.

    Example:

    If I have some English and Danish tokens they would export to a csv file like this

    Code (csharp):
    1.  
    2. |"en"|"da"
    3. "hud.score"|"Score"|"Points"
    4. "hud.lives"|"Lives"|"Liv"
    5. "hud.time"|"Time"|"Tid"
    6.  

    Which could then be opened in a spreadsheet (and be understood by translators!) like this
    Code (csharp):
    1.  
    2. +-------------+-------------+-------------+
    3. |             |en           |da           |
    4. +-------------+-------------+-------------+
    5. |hud.score    |Score        |Points       |
    6. +-------------+-------------+-------------+
    7. |hud.lives    |Lives        |Liv          |
    8. +-------------+-------------+-------------+
    9. |hud.time     |Time         |Tid          |
    10. +-------------+-------------+-------------+
    11.  
    They could then add more languages and just give me back the new csv file ... which I could then import :D
     
  44. ayalasan

    ayalasan

    Joined:
    Dec 10, 2012
    Posts:
    16
    First of all thanks for this great asset !
    It's good to know that there is someone still taking care of it :)

    This might be a dumb question, but after reading this forum and looking at trello's roadmap it seems like SmartLocalization already supports iOS, please correct me if I'm wrong.

    My game's localization works perfect on Android, but when I test on iOS device, the localization doesn't work anymore.

    | am getting the following error over the console:

    ExecutionEngineException: Attempting to JIT compile method '(wrapper managed-to-native) System.Threading.Interlocked:CompareExchange (SmartLocalization.ChangeLanguageEventHandler&,SmartLocalization.ChangeLanguageEventHandler,SmartLocalization.ChangeLanguageEventHandler)' while running with --aot-only.

    Any ideas?
     
    Last edited: Jul 9, 2014
  45. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    Hi all,

    Sorry for the lage answer, I'm currently on vacation and I have limited internet access.

    However, I have added your requests and bugs to our trello site and we'll fix them asap when I get back( after the first week in august).

    Exporting all languages to a single CSV file is a really good idea. We're planning to add support for plural forms as well, just need to figure out a good way to mix these into a single file. Anyway, that's added to the trello site as well - the voting ability is also enabled - so please vote for the features/fixes you want most. It makes it easier for us to know what features you want added in Smart Localization.

    As for the AOT error - you could try changing from .NET subset to just .NET and see if that solves it until I get a chance to look at it.

    Sorry for the delay, and we'll look at all the issues as soon as I get back.

    /Niklas
     
  46. ayalasan

    ayalasan

    Joined:
    Dec 10, 2012
    Posts:
    16
    Hi Niklas,
    It seems like the AOT error unfortunately does not get resolved with your suggestion, I am already using the complete .NET set.
    I hope you have a great time in your vacations.
    Cheers!
    Andres.
     
  47. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    That's too bad :/

    A temp workaround could be to create an event when you press the change language button in your game and have the implementations listen to that until I fix it
     
  48. Nazarick

    Nazarick

    Joined:
    Jan 29, 2014
    Posts:
    27
    Hi NiklasBorglund,

    I have a few questions.

    In the window management languages of the asset it is not possible for the latter to be specify the language that we want by default now?

    We are obliged to go through the code that only I understand. It would be more practical I think to have this opportunity from the interface. At least I did not pay attention to this option by mistake.

    I use it only last night and I must admit that its integration with my GameController is made with real ease. Very good work on your side, I admit.

    I hope are integration and use values and the translations are readily usable for the future uGUI in Unity3D 4.6 release.

    Thank you in advance for your asset and your reply.

    Best regards
    LudlowFx


    EDIT :

    Sorry I forgot a question.

    On my custom editor, EditorGuiLayout.Popup works with Array. But I would get the list of languages available for display in the same way.

    But EditorGuiLayout.Popup does not accept a list. How can I list the languages available in my custom editor?

    Thank you in advance for your answers.
     
    Last edited: Jul 14, 2014
  49. NiklasBorglund

    NiklasBorglund

    Joined:
    Feb 9, 2012
    Posts:
    262
    First of all, sorry for the late answer. I'll be back in Sweden next week. I'll give you a more thorough answer then with some suggestions for the Editor methods. I think I mentioned some methods that you can use earlier in this thread.

    Some integration with the new GUI in 4.6 will be made when it comes out.

    Choosing a default language from the editor is a good idea. I'll talk it through with @zurric - but I don't think it will be a problem.

    Hope that helps for now,
    /Niklas
     
  50. designslave

    designslave

    Joined:
    May 22, 2013
    Posts:
    1
    Hey,
    The plugin is really awesome!
    Thought i am having a lot of trouble to make the text go into two lines. Basically the \n thing.
    I am trying to make a sentence "Hey there, how are you" appear like
    Hey there,
    how are you


    Thanks