Versions Compared

Key

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

...

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="1c55405bafeb4e9e-e62cba1a-4de4447f-a04f9857-8043896e5fa91a297b5d0760"><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="8662a1cf8c5a5e13-b050d4c0-44c24a07-b0bcbc70-1af8ed7bed32537dbfec1cc0"><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>

...

Method

Maintenance

Remarks

Resources (.NET)

Satellite assembly: editors -Zeta Resource Editor,Resource Builder

-

gettext

- kbabel gettext editor

  • indexed on content (hard coded)

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™ Microsoft .NET
    Applications|http://www.alchemysoftware.ie/localization_dotNET_applications.pdf], Developping Global Applications in Java

...

Suggestion


Architecture

Work method

  • Wiki Markup
    Automatic Localization Using Localizers = property window Visual Studio \[resource on class (Form/UserControl)s level\]
  • Applying Resources Manually = resource.getString(indexname) for using the Lookup hierarchy.

Lookup hierarchy

  • Class (Form/UserControl) languagecode-country/regioncode
  • Class (Form/UserControl) languagecode
  • Namespace (Project) languagecode-country/regioncode
  • Namespace (Project) languagecode
  • Application (Plugin) languagecode-country/regioncode
  • Application (Plugin) languagecode
  • DelftShell (DelftShell.Resource, a new project in DelftShell for all common translations like save, delete, remove etc.) languagecode-country/regioncode
  • DelftShell (DelftShell.Resource, a new project in DelftShell for all common translations like save, delete, remove etc.) languagecode

Maintenance

Remarks


  • Resources and WPF: