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 3.0 by 45 people

  • Currently 3.044445/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

Related posts


Wednesday, April 17, 2013 9:39 AM


Pingback from

The Morning Brew - Chris Alcock » The Morning Brew #1336