NCLDR Release Notes

Last month I announced the alpha of NCLDR. Since then there have been a few updates to improve the overall NCLDR experience. The current release is and this blog post lists the changes since version


  • Added support for genitive month names
  • Added IndexExemplarCharacters property to the Characters class
  • Added NCldrBinaryFileDataSource to replace NCldrLoader (NCldrLoader exists for backwards compatibility for a few releases). In addition static members have been changed to instance members. Save and Exists methods have been added together with an NCldrDataFilename property.
  • Added new INCldrFileDataSource implementations (NCldrJsonFileDataSource and NCldrXmlFileDataSource) to allow the NCLDR data file to be saved as JSON or XML as an alternative to the binary format
  • Added support for CLDR release 23 (keeping backwards compatibility with release 22.1)
  • Added new TimeData and RegionHour types and corresponding properties to support the new TimeData type in CLDR release 23
  • Added CashRounding to CurrencyFraction inline with CLDR Release 23
  • The Calendar.CalendarDisplayNames property has been removed and replaced
    with Dates.CalendarDisplayNames to coincide with the corresponding change in CLDR release 23
  • Various refactorings to allow NCLDR to be compiled for Windows Phone (replacement of Hashtables with Lists, use of compatible string.Compare overload)
  • Added IsDataLoaded property to NCldr class
  • Changed TextBoxes in NCldrExplorer to be Right To Left when showing RTL data
  • Added support for CLDR Layout (including Orientation, Right-To-Left)
  • Removed hardwired reference to Core in CLDR path (if you have downloaded to a folder called Core you will now need to include this in your path)
  • Added a checkbox to NCldrBuilderGui to allow CalendarPreferences to be set
  • Added a FolderBrowserDialog to NCldrBuilderGui to allow path to be set easily
  • Removed the CultureInfo GetCurrency and GetCurrencyPeriod extension methods as their functionality is available through the GetNumbers extension method
  • Added GetCasing, GetCurrencyPeriods, GetDelimiters, GetLayout, GetListPatterns,
    GetNumbers, GetUnitPatternSets, GetRuleBasedNumberFormatting, GetGenderList, GetLikelySubTag, GetRegionInformation, GetYes, GetYesShort, GetNo, GetNoShort extension methods to CultureInfo
  • Added GetRegionInformation extension method to RegionInfo
  • Added a -DisplayMode parameter to NCldrBuilderCmd which supports Verbose and Diagnostics options

Bug fixes

  • Fixed a bug in Calendars ShortestDayNames and ShortestMonthNames properties where the properties always returned null
  • Fixed a bug in NCldrCustomCulture to allow NCLDR to be used with seed cultures
  • Fixed a bug in NCldrExplorer when the NCLDR data was not loaded and the tab changed then an exception would be thrown
  • Fixed a bug in NCldrBuilderGui where CalendarPreferences was not being saved/loaded
  • Fixed a bug in NCldrBuilderGui where IncludeCultures and ExcludeCultures were not being loaded
  • Ensured that zero element arrays are not written to NCLDR.dat
  • Fixed a bug where the culture identifiers in LikelySubTags were being stored as CLDR identifiers instead of NCLDR identifiers
  • Fixed a bug where extension methods didn't work with the Invariant culture
  • Fixed a bug in RegionInfo extension methods where the region was incorrectly being identified by its name instead of its two letter ISO name

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Monday, April 15, 2013 at 4:08 PM
Categories: NCLDR
Actions: E-mail | Kick it! | DZone it! |
Post Information: Permalink | Comments (1) | Post RSSRSS comment feed

Announcing NCLDR (Alpha)

As from today you can download an alpha of NCLDR (see

NCLDR is an open source port of CLDR to the .NET Framework. CLDR is the Common Locale Data Repository, a considerable database of culture data maintained by the Unicode Consortium and used by the rest of the non-Microsoft developer community. As such CLDR is analogous to the System.Globalization namespace in the .NET Framework with the difference that CLDR has nearly twice the number of cultures and has solutions for globalization and localization problems that the .NET Framework does not. NCLDR brings these cultures and these solutions to the .NET Framework.

There are a number of short videos on the NCLDR website that will help you get up to speed. The source code is on GitHub. There is also a NuGet package (search for pre-release packages).

Clearly this is an alpha release and it illustrates the potential of such a port but it isn't finished yet by a long way and I am looking for feedback of any kind on this project.


Currently rated 5.0 by 2 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Posted by: guysmithferrier
Posted on: Monday, March 04, 2013 at 3:22 PM
Categories: Internationalization | NCLDR
Actions: E-mail | Kick it! | DZone it! |
Post Information: Permalink | Comments (0) | Post RSSRSS comment feed