Search Unity

Localization Editor: 15 languages in 15 minutes [Released]

Discussion in 'Assets and Asset Store' started by Celestipoo, May 25, 2015.

  1. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    From the amazing developers of the 5 star Game Data Editor, comes Localization Editor!​

    Localization will no longer be a pain! Working with multiple translators? LE provides a Sync tool so you can easily import updates from Google Drive. Working with a localization team will be a breeze with LE!

    * Manage your strings with an Intuitive Custom Editor
    * Access strings with code or without!
    * Configure strings in your scene with One Click!
    * Import/Export to a Spreadsheet (Supports Google Sheets & xlsx Files)
    * Sync local changes between Unity and a shared spreadsheet with the Sync tool (Perfect for teams!)

    Get It Now!!

     
    Last edited: Apr 21, 2016
    boysenberry likes this.
  2. Play_Edu

    Play_Edu

    Joined:
    Jun 10, 2012
    Posts:
    722
    cool
     
    Celestipoo likes this.
  3. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Localization Editor v1.0 is now live on the Asset Store!
     
  4. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
  5. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    Does it support right-to-left languages and produce the correct strings?
     
  6. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    It doesn't do any post processing for RTL languages. Which RTL language did you need to support?
     
  7. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    All of them. ;) Arabic and Urdu I think are the ones in use. Not really sure yet, but I know NGUI's localisation isn't good enough (didn't support Hindi) and have been eyeing another asset that specifies all language support, correct character spacing and RTL language support.
     
  8. stevebu56

    stevebu56

    Joined:
    Apr 16, 2014
    Posts:
    26
    I'm planning on supporting RTL languages more fully in the next update. We are working on the GDE update right now.

    Can you give me an example of "correct character spacing" so I have a good test case?
     
  9. stevebu56

    stevebu56

    Joined:
    Apr 16, 2014
    Posts:
    26
    I've been doing some work on getting RTL support for Localization Editor. I've been testing Arabic and it is outputting the correct presentation forms of the letters, and does the reordering and shaping. It should work for Arabic & Hebrew.

    I can send you the latest build I have to give it a try. Do you want to do that?
     
  10. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    I haven't bought Localization Editor yet. Just keeping an eye on options for when I get around to implementing localisation. Currently I'm using NGUI's simple system for development and sticking with English.
     
  11. stevebu56

    stevebu56

    Joined:
    Apr 16, 2014
    Posts:
    26
    All right, by the time you need it I'm pretty sure I'll have it done and tested. I'm starting to test on OSX at the moment.
     
  12. stevebu56

    stevebu56

    Joined:
    Apr 16, 2014
    Posts:
    26
    We seem to have a knack for submitting asset updates late on Fridays and coinciding with game conferences. :) Maybe that's just the way the work week works. Hopefully the asset store folks will get to it soonish.

    Anyway, Localization Editor v1.2 is in the queue. It will support RTL languages that use Arabic, and Hebrew. It doesn't support diacritics. I will post more when it actually get's approved. Fingers crossed.
     
  13. stevebu56

    stevebu56

    Joined:
    Apr 16, 2014
    Posts:
    26
    Oh and there is a free version in the queue as well that has the same RTL support.
     
  14. stevebu56

    stevebu56

    Joined:
    Apr 16, 2014
    Posts:
    26
    The update to Localization Editor is live now. http://u3d.as/fNK

    Here's some info about it.

    After a crash course in RTL (right to left) languages and the Unicode standard we added support for RTL languages that use the Arabic script and Hebrew.

    Quick Start for LE
    Choose an RTL language to add to your table. Click Add Language.
    Add keys and values.
    Notice that for RTL languages you will have a Logical edit box and a Visual edit box. The logical box is for what is typed in and the visual is the "shaped" text.

    Gory Details
    We save all the text as UTF8 and when a RTL string needs displaying we use a library to reorder the text based on the Unicode Bidirectional Algorithm. Then the text is "shaped" so the correct glyphs are shown based on the context.

    For the Arabic & Hebrew scripts there are Unicode values for all the glyphs so we don't have to reference the font to do the shaping.
     
  15. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    PSA: My email was down for about 24 hours this weekend (~Sept 7th, 2015). If you sent me an email and it bounced back, please resend it or contact me here. Sorry for the inconvenience!
     
  16. stevebu56

    stevebu56

    Joined:
    Apr 16, 2014
    Posts:
    26
    After being lost in the asset queue, Localization Editor Free got approved. Check it out. It has the same RTL support as the paid version, only the interaction with Google sheets is in the paid version.

    Localization Editor Free
     
  17. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    Will definitely check out. The support and quality from you guys with GDE has me believing in the quality of this asset too.
     
    Celestipoo likes this.
  18. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    We are working on getting a bundle of LE and GDE with an upgrade option for current GDE users. Stay tuned :)
     
  19. stevebu56

    stevebu56

    Joined:
    Apr 16, 2014
    Posts:
    26
    There have been some downloads of LE free since it was released. I would love to hear any feedback on what's good and what's not. I think it provides a great companion for GDE for translations but I'm by no means a language expert. And if you have any RTL experience I would love to hear your thoughts. Thanks.
     
  20. cavila

    cavila

    Joined:
    Jun 4, 2013
    Posts:
    67
    Hi guys, I just purchased and upgrade from GDE. I'm hoping to use it on my next game. Are there plans to add support for sprites, audio or other component's localization?
     
  21. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Much appreciated @cavila! Yes, after we get GDE Online and the update to GDE out, we will revisit Localization Editor. I plan to integrate GDE and LE better and add support for localizing Unity types as well. Once we get closer to that, I'll know more about what will go into the next update.
     
  22. cavila

    cavila

    Joined:
    Jun 4, 2013
    Posts:
    67
    That sounds great. I'll keep an eye out for the updates.
     
  23. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    Trying the free version, there's a major issue preventing use - the system expects a Text type component to be attached. I'm using NGUI and UILabels and need these to be localised. Is there a tweak I can apply to LE to work with NGUI?

    Edit: Okay, I can access the keys in script. No worries.
     
    Last edited: Dec 30, 2015
  24. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    You can follow the convention in:
    LocalizationEditor/APIScripts/LELocalize.cs and
    LocalizationEditor/Editor/LELocalizeEditor.cs

    to add support for NGUI UILabels. There should only be a couple of places to add the UILabel type to get it to auto detect your label when you add the LELocalize components in your scene.

    I will get support in for NGUI, but it won't be available in the free version.
     
  25. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    Understandable. Just using Free for testing. Want the spreadsheet support of Pro. Google Sheets enables automatic machine translation and then there's the option of export and import for professional translation servies down the line.
     
  26. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    Bought the asset. Left a review. Happy New Year!
     
  27. stevebu56

    stevebu56

    Joined:
    Apr 16, 2014
    Posts:
    26
  28. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    Thanks. Fixed.
     
  29. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    Is there a way to access each language in a ForEach or similar? Kinda necessary to have a scripted initialisation

    "foreach (language){
    add flag and option to list
    }"
     
  30. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Do you mean a list of all available languages? There isn't a list, but that will be in the next update. It was one of those things that I thought of right after I hit the submit button ;)
     
    SoftwareGeezers likes this.
  31. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    Yeah. For now I'll just use a manual count.
     
  32. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Now is the time to request features for LE! @Shifty Geezer @cavila @Wajdik Let me know what you need, and I'll see what I can get in LE v1.2.
     
  33. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    The workflow with Google Sheets is excellent. Only area for improvement to my mind is to move it more to localisation of assets rather than just strings, loading resources based on locale. Which now I think about it is easy to do as is. I can just put a resource name in a localised string, or script it from the current set locale.
     
    Celestipoo likes this.
  34. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    That's likely how I'll implement it but it would be nice to add types right in the editor without worrying about figuring out the asset path and all that.
     
  35. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    LE v1.2 is underway! It will come with new streamlined UI, and support for GameObjects, Sprites/Textures, and AudioClips. Also, LE (and GDE, and the GDE/LE Bundle) are now on Sale!

    Here's what it looks like so far:

    Screen Shot 2016-03-15 at 3.32.16 AM.png Screen Shot 2016-03-15 at 3.32.30 AM.png
     
    SoftwareGeezers likes this.
  36. cavila

    cavila

    Joined:
    Jun 4, 2013
    Posts:
    67
    Awesome features.
     
    Celestipoo likes this.
  37. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    Just thoguht I'd share a tip with you. I'm using a Google Spreadsheet for translation as per my automated translation idea. This means I have to manually add keys. Managing these with Localisation Editor was starting to get bogged down, having to refer to each text object and key as I changed things. Then I had a cunning idea last night, making GameObject names into functional scene 'preprocessors'. Simply put, embed instructions as string tags in the objects' names and parse these out to determine what to do with the object. In this case, I use "trans_" plus the key name for the GameObject name of any texts I want to translate. Call an object "trans_club_name_title" and the code will replace the string contents with the translation for key "club_name_title". This way I can add, remove, change any string in the scene and not have to touch any code.

    Full details are here: http://softwaregeezers.weebly.com/blog
     
  38. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Any reason why you can't use the LeLocalize component on your game object? Or is that still cumbersome?
    http://localizationeditor.com/docs/using-lelocalize.html
     
  39. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    That's one of the options I was using. However, you have to add an additional component and key and it doesn't work with NGUI. Oh, and it doesn't update the Google spreadsheet, does it? My method even allows mixing of UIs like that should you really want, as you can grab all the Text objects and localise, and then grab all the UIText objects and process them.

    So workflows are:
    Create text object
    (Name it something relevant)
    Add LELocalise component
    Create key
    Copy key to spreadsheet (or export as spreadsheet?)
    Translate
    Reimport spreadsheet with translations

    vs.

    Create text object
    Name object as key
    Create spreadsheet key
    Translate
    Reimport spreadsheet

    Importantly, it's very visual what objects are being translated. Before I've missed translations because I forgot to add the localise component, but you can't do that when you name your object as your translation key. ;)
     
    Last edited: Apr 22, 2016
  40. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    The LE v1.2 update is coming along. Next up is a pass on the Sync window. Here's what the main UI looks like so far:

    lev1.2.gif
     
    SoftwareGeezers likes this.
  41. SoftwareGeezers

    SoftwareGeezers

    Joined:
    Jun 22, 2013
    Posts:
    902
    Cool. How's that going to work with Google Sheets? Will that be strings only?
     
  42. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Spreadsheet support will handle all types :)
     
    SoftwareGeezers likes this.
  43. sfjohansson

    sfjohansson

    Joined:
    Mar 12, 2013
    Posts:
    369
    Just found this on the asset store and been playing around with the free version, I like the idea that there is also the game data editor. What I'm wondering is...is it possible to group keys/ nested keys...I can imagine it could get very hairy...if you have to start selecting from a list of 100's of keys... =O
     
  44. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Hmm, I suppose you could if you named your keys like "group/subgroup/key" or "group/key". I'm not sure what that would do to the code gen though. Best way to see is to try. If it works in the free version, then you're all set :)
     
  45. sfjohansson

    sfjohansson

    Joined:
    Mar 12, 2013
    Posts:
    369
    hmm didn't see to like that.... " Unexpected symbol `/' in class, struct, or interface member declaration"
     
  46. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Hmm, well when I get some time I'll see if it's a quick fix. It's Saturday ;)

    Where did you get that error? Can you post the whole exception?
     
  47. sfjohansson

    sfjohansson

    Joined:
    Mar 12, 2013
    Posts:
    369
    that happens when you put in a backslash in key ... by the end of the day it feels like supporting "groups/categories" is more of an inspector drawing thing...
     
  48. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Wait, I said forward slash originally, does backslash work? "Group\key" ?
     
  49. sfjohansson

    sfjohansson

    Joined:
    Mar 12, 2013
    Posts:
    369
    that gives: Unrecognized escape sequence `\X' when generating static keys
     
  50. Celestipoo

    Celestipoo

    Joined:
    Jul 1, 2013
    Posts:
    379
    Ok, that I can probably fix. I'll take a look.