Settings

Theme

Localizing Unity games as an indie dev

bjmalicoat.com

40 points by bmalicoat 3 years ago · 13 comments

Reader

matthew-wegner 3 years ago

Unity's own localization package is actually pretty good, and one of the few Unity packages that actually seems to solve more problems than it creates: https://docs.unity3d.com/Packages/com.unity.localization@1.4...

  • DizzyDoo 3 years ago

    Yes, in the past I've both rolled my own localisation system and used Unity's localization package, and the official package is really excellent. There's Google Sheets integration[0], Pseudo language generation for testing[1], and the system for templated strings/nested strings/strings that only slightly differ based on gendered words, is really deep.

    [0] - https://docs.unity3d.com/Packages/com.unity.localization@1.0...

    [1] - https://docs.unity3d.com/Packages/com.unity.localization@1.0...

    • drewcoo 3 years ago

      Double extra yes to pseudo-localized builds in front of humans to catch unloc'd strings.

      It's not a perfect solution, but it's an odd kind of elegant. Elegant to code up and reliant on innate human pattern-matching to find bugs! Sorta like altering CSS for testing's sake on web pages so that some things just "pop."

      I wish more people used those simple tricks. We waste an amazing amount of time on "perfect" solutions when we code automation and on manual testers walking the same paths, the same ways, over and over in their scripted test cases.

    • codetrotter 3 years ago

      > Pseudo language generation for testing

      Would be fun to have it translate to gibberish elvish using ChatGPT.

      I say gibberish elvish because apparently from a recent thread on Reddit, ChatGPT does not do a very good job at translating into elvish.

      https://www.reddit.com/r/sindarin/comments/10gbq8z/i_asked_c...

  • bmalicoatOP 3 years ago

    Love that they handle images too! Something I haven't needed yet, but can see the need for. Your point about causing more problems than it solves is why I had a knee-jerk avoidance to the official loc package. Seems like I was wrong about that.

    BTW Love the style of Aztez.

    • matthew-wegner 3 years ago

      > BTW Love the style of Aztez.

      Oh hey, thanks! I just realized my profile here was way out of date. Updated!

      (Aztez was released and bombed, whoops)

      • bmalicoatOP 3 years ago

        Hah, sorry to hear it didn't meet expectations! I love Capy too so you've still got my support :)

aschearer 3 years ago

Neat, thanks for releasing this tool! I've had luck with i2 loc in other projects, but will take a look at this next time. Also, to shamlessly co-opt this thread, you might be interested in a tool I wrote a while back: https://github.com/aschearer/LocWarden

It's sort of like lint for loc files, catching common translation errors I've come across as well as helping generate common loc assets e.g. Steam store markup.

  • bmalicoatOP 3 years ago

    Nice! I'll take a look at that. Loc is funny because there are clearly tons of tools (both paid and free), but it's not that hard of a problem so it's easy to have the "not invented here" mentality and just do it yourself! I hoped by writing it up in a very Unity-specific way, I'd save some people some time even if they use another tool or write it themselves.

Raymonf 3 years ago

> One for Japanese and Chinese

Please don't do this! Han Unification causes your Japanese text look weird when displayed with a Simplified Chinese font, likewise with a Traditional Chinese or Korean font.

https://heistak.github.io/your-code-displays-japanese-wrong/

  • bcrosby95 3 years ago

    Interesting! I never ran across this problem before despite doing a lot of i18n, but it seems like its because we're properly setting everything up with http headers.

    Definitely useful knowledge for the game we're working on though.

  • bmalicoatOP 3 years ago

    Thanks for the tip! I've updated the article (and I'll soon update my game!).

candiddevmike 3 years ago

Related, I made a tool to convert a YAML file with localizations into type safe go/typescript code. Anyone interested in it?

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection