Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Example .NET applications available with sources where localisation is implemented nicely:
    • SharpDevelop - check user interface translated to many languages
    • Paint.NET
    • MonoDevelop, source code can be checked out using the following command line: svn co svn://anonsvn.mono-project.com/source/trunk/monodevelop monodevelop

Overview Examples

Example

Localization change

Method

Architecture

SharpDevelop

runtime

  • .NET ResourceManager

Paint.NET

restart

  • .NET ResourceManager

MonoDevelop

?

  • written in C/C++
  • getText instead of Resources.
    This allows MonoDevelop to take advantage of
    GNOME translators' familiarity with getText.

?

Spring.Net

runtime
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="fb9660e459f88b10-a2a9a5f9-4a264aae-a3c1a5c6-f82afaaa73108587c1f6c30b"><ac:plain-text-body><![CDATA[[web, just 1 page to refresh]

  • [Follows Globalization Architecture .NET

http://msdn2.microsoft.com/en-us/library/aa478974.aspx]]]></ac:plain-text-body></ac:structured-macro>

  • Automatic Localization Using Localizers ("Push" Localization)
  • Working with Localizers $this (form/usercontrol) or $resource_namespace
  • Applying Resources Manually ("Pull" Localization) like getMessage("labelName");

-

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="d258ef670fff9fb1-65663ae5-40d44d0c-8f4eaf4d-768eb2938c43b0e300948307"><ac:plain-text-body><![CDATA[

MonoRail

runtime[web, just 1 page to refresh]

  • .NET ResourceManager
  • [Facade ResourceManager

^Architecture_MonoRail_Resources.png]]]></ac:plain-text-body></ac:structured-macro>

...

Gena, would you like to comment/check "Singleton versus Static Class"? Thanks, Alex.

Overview Methods

Method

Maintenance

OS/platform-compatible Remarks

Resources (.NET)

Satellite assembly: editors -Zeta Resource Editor,Resource Builder

-

GetText gettext

- -

  • indexed on content

DelftLanguage

text-files(lng)

  • dll * parsing all controls of forms * indexed on content

Resources (.NET) versus gettext

  • Resources (.NET) not only text, also images, files etc.
  • Resources (.NET) can also be used for redesign/culture (location/Size)
  • Resources (.NET) indexed on labels or control names, gettext on content
  • gettext generate a indexlist on 'build'
  • Resources (.NET) are not complete foreach culture. Not handy for translaters. (hopefully a good maintenance program is solving this problem)
  • More info Internationalisation - Open Source vs Microsoft, [Localization of Microsoft™ .NET
    Applications|http://www.alchemysoftware.ie/localization_dotNET_applications.pdf], Developping Global Applications in Java

Conclusion/Suggestion

Architecture

Work method

Lookup hierarchy

Maintenance

Remarks

  • Resources and WPF: