...
Example | Localization change | Method | Architecture | |
---|---|---|---|---|
SharpDevelop | runtime |
|
| |
Paint.NET | restart |
| ||
MonoDevelop | ? |
| ? | |
Spring.Net | runtime |
| http://msdn2.microsoft.com/en-us/library/aa478974.aspx]]]></ac:plain-text-body></ac:structured-macro>
| - |
MonoRail | runtime |
|
| ^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 | The main differences between the common .NET resources approach and the
| |
DelftLanguage | text-files(lng) |
|
- More info Internationalisation - Open Source vs Microsoft,
Localization of Microsoft NET Applications, Developping Global Applications in Java - Resource.dll <-> PO-files
Suggestion
Architecture
Work method
Wiki Markup Automatic Localization Using Localizers = property window Visual Studio \[resource on class (Form/UserControl)s level\]
- Applying Resources Manually = resourceService.getString(indexname) for using the Lookup hierarchy.
...
- Class (Form/UserControl) languagecode-country/regioncode
- Class (Form/UserControl) 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
Conclusion
Since GNU specially offers an LPGL GNU.GetText.dll (get dll) to make a bridge between the .NET resources and gettext files we can use the .NET ResourceManager for managing localized/culture depended resources.
GNU.GetText.dll is derived from the .NET ResourceManger class and has a GettextResourceSet derived from the class ResourceSet.
The Gettext xgettext program extracts translatable strings from given input file(s) into a template (.pot) file.
Dutch translations for PACKAGE package.
Copyright (C) 2008 THE PACKAGE'S COPYRIGHT HOLDER
This file is distributed under the same license as the PACKAGE package.
koste_a <EMAIL@ADDRESS>, 2008.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-04-25 09:48+0200\n"
"PO-Revision-Date: 2008-04-25 10:00+0100\n"
"Last-Translator: alex <alex@del.ta.res.nl>\n"
"Language-Team: Dutch\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CP1252\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"#: hello.cs:37
msgid "Hello, world!"
msgstr "Hallo, wereld!"#: hello.cs:44
#, csharp-format
Wiki Markup msgid "This program is running as process number {0}."
Wiki Markup msgstr "Dit programma draait onder processnummer {0}."
#: Form1.cs:21
msgid "Dynamic Text by Mono-gettext"
msgstr "Dynamische text door Mono-gettext (is niet waar)"#: Form1.cs:22
msgid "lblResources From gettext.resource"
msgstr "lblResource krijgt zijn tekst van gettext"
...
Points of interest
- Resources and WPF: msd2 (still based on Satellite Resource.dll's]