Wednesday, May 22, 2013

N=21 - Internationalisation - i18n - N+1 days of MvvmCross

Today I talk through an introduction about how to provide some localised text to your UI.


The code for today is at: https://github.com/slodge/NPlus1DaysOfMvvmCross/tree/master/N-21-Babel


The slides are on: https://speakerdeck.com/cirrious/internationalization-in-mvvmcross






Today I tried a slightly different style - I tried slides and a pre-built demo. Let me know what you think of this style - is it useful? Better? Worse? Different?


Coming up soon.... more on custom controls, and then time for custom presenters too - tabs, panoramas, hamburger-slideout-views, etc...


A full and fabulous index for N+1 is on http://mvvmcross.wordpress.com/


Previously in N+1:

9 comments:

  1. Can't wait demo with custom presenters! I don't believe that tab-based applications development is so non-trivial as it looks like. :-)

    ReplyDelete
  2. Hello, Stuart!

    As for localization MvvmCross approach... Do I understand correctly, that current approach mentioned does not consider any "not-straight-forward" localizations, i.e., something like:
    LocalizeString("StringName", KittensCount)
    where the actual string template is "There are {0} kitten(s) found" (including plurals/genders localization)?

    Boleslav

    ReplyDelete
  3. Hello, Stuart!
    Thank you for you posts! Very useful!
    I have problem with Internationalisation fo iOS. I downloaded source from https://github.com/slodge/NPlus1DaysOfMvvmCross/tree/master/N-21-Babel. And when i run Babel.Touch i see "Babel|FirstViewModel|ExampleTest"(http://postimg.org/image/t0v40usmh/). Android project work fine. Could you help me? Thanks.

    ReplyDelete
    Replies
    1. Hi Alexey. Take a look at the videos, try writing your own version, add debug trace and see if you can work it out - you'll learn lots on the way. Good luck. Stuart

      Delete
    2. Thank you for answer, Stuart! When i added link files, i forgot to change build action "Content".
      At the moment I have another problem.
      When I check on the device, localization works fine, but when i change configuration to Ad-Hoc and install ipa file on device. I get "ProjectName|NameViewModel|NameTest".
      Did you have it?
      Thanks.

      Delete
    3. No - I've not tested in adhoc, but have tested on device.

      Delete
  4. .GetType() is not available in my TextProviderBuilder ��

    ReplyDelete
    Replies
    1. Try using this: "this.GetType().GetTypeInfo().Assembly" and add a reference to "System.Reflection"

      Delete