As promised, here are a few more details on the goals of the implementation relaunch:
<localization>
root node in the document root node.... read moreSometimes, continued development ends up leading nowhere. It goes on and on and on, but each added solution creates two new open questions. When you recognize this, it is best to halt development and start anew. This is what is going to happen with Flexible Localization.
That does not mean that all the development work so far was in vain. Quite the contrary, the experience gathered while developing the library up to its current state was valuable. I became aware of some features that are very useful, some features that should have been done differently, and some features that just do not work the way I had envisioned them.... read more
All Flexible Localization code has been migrated from SVN to Git. Check out the Code page to find the new repository URLs.
If you'd like to check whether a given localization file matches the declaration, you can do by using the new validation service starting with revision 309.
The FlexibleLocalization.Validation.ValidationService
class provides a Validate
and an IsValid
method, both of which accept a Localization
instance (a localization tree root node). Use the latter method if you just want to find out whether or not the loaded localization data is valid based on the declaration. If you want a detailed enumeration of ValidationMessage
instances describing any discovered issues - including warnings for possible problems - use the Validate
method.... read more
Starting with revision 298, a new feature named insertion points has been added to Flexible Localization, along with a tiny sample project.
So far, there was only support for parameters; values that are passed to Flexible Localization so they can be inserted into a localized string. The locations where each parameter gets inserted is determined by translators in the localization files, the insertion is performed by Flexible Localization before it returns the localized string.... read more
The Flexible Localization website has been ported to the new SourceForge Allura interface. This means that the Trac instance used for Flexible Localization so far has been disabled.
Reasons for this change were the upcoming hosted apps retirement announced by SourceForge, as well as an increasingly good integration of the various tools and services provided by SourceForge in the new interface.... read more
Flexible Localization now has an official logo, to help you recognize the project more easily! For now, it displays a rubber tree leaf with a transformation from "bluish" one language into another "purplish" language.
The Windows Forms LocalizationSelector control has been ported to Gtk#. Therefore, integrating Flexible Localization into your Gtk# for Mono 2.6.*+ application has become even easier!
Dear users, recent tests on Ubuntu 10.04 LTS have revealed that Flexible Localization will not work with Mono 2.4.4 due to at least three bugs in Mono. These bugs seem to have been fixed in the 2.6.* line of Mono, so that is the minimum requirement to run Flexible Localization with Mono. I apologize for the inconvenience.
The repository now contains a Gtk# sample. A binary will be included starting with the next release.
Flexible Localization 0.5.2 contains a workaround for a Mono bug which caused some samples to crash. Now, all the samples should run on Mono 2.6.4 as well as .NET 3.5.
The 2nd preview version, 0.5.1, features some bugfixes and an improved automated localization of objects.
The first preview release of Flexible Localization is available for download now! Note that this is a preview release and some of the public interfaces or schemas might still undergo slight changes before the first stable release. It should, however, give you a good idea about what Flexible Localization is capable of and how it can be used in a project.
No more worries about how to let your users select a localization for your WinForms application! The latest SVN revision adds a functional version of a WinForms control where users can select a localization and fallback localizations in a list.
Pedro Silva joined the project to translate some of the samples and future tools to Portuguese! He already provided a localization for the basic SWF sample. Thank you!
The newest example in the SVN repository shows how to have Flexible Localization automatically assign static strings to object properties. Like this, you do not need to manually assign every single caption in your user interface.
The newest example (added in SVN revision 38) shows how to load localizations for several modules. At the same time, it presents the concept of fallback localizations by letting you select several localizations, some of which are incomplete.
The newest example application shows how to load only a part of a localization declaration and load and unload other parts later on. This will save memory usage for big projects where parts of the localized data are only occasionally required.
An example on how to use Flexible Localization in VB.NET is in the repository now.
I have added another example project to the repository.
This time, globally defined expressions are presented. You can define expressions that you use frequently once for the whole localization file. In the new example, a globally defined expression determines whether a number requires the singular form of the following word.
The repository now contains the first basic example application; it demonstrates how to load a localization and retrieve parametrized strings.