###In Development
###v1.37.0 - 2015-07-03
- #416: Change BrazilianPortugueseOrdinalizer to PortugueseOrdinalizer
- #419: Added Dutch Ordinalizer
- #432: Added the 'xunit.runner.visualstudio' nuget package to the test project
- #431: Added build target for .NET 4.0 Client Profile
- #435: Added Afrikaans localization
- #438: Fixed the bug with negative TimeSpan Humanize
- #421 & #425: Fixed StringExentions -> StringExtensions
###v1.36.0 - 2015-05-24
- #403: Added TimeSpan minUnit option
- #417: Support for Serbian language, ToWords()
- #414: Add Ukraininan language
- #408: Added support for adding/removing rules from singular/pluralization by adding
Vocabulary
class andVocabularies.Default
###v1.35.0 - 2015-03-29
- #399: Added support for humanizing DateTimeOffset
- #395: Added support for Xamarin platforms to PCL
- #397: Added is/are to inflector rules
- #392: Default implementation for collection formatter using regular style instead of an exception. Default separator is ampercent.
- #377: Added culture specific decimal separator
###v1.34.0 - 2015-03-04
- #381: Fixes trailing question mark reported in #378.
- #382: Fix 90000th and -thousandth in RussianNumberToWordsConverter.
- #386: Collection formatter support for German, Danish, Dutch, Portuguese and Norwegian
- #384: Added maximum TimeUnit to TimeSpanHumanizeExtensions.Humanize to enable prevention of rolling up the next largest unit of time.
###v1.33.7 - 2015-02-03
- #376: Fixes the IConvertible warning thrown on Windows Phone reported on #317
###v1.33.0 - 2015-01-26
- #374: BREAKING CHANGE: Fixed Chinese locale code: CHS to Hans & CHT to Hant
- #366: Removed UnitPreposition to avoid warnings in Win 8.1 apps
- #365: Added ByteSizeExtensions method for long inputs
- #364: Added "campuses" as plural of "campus"
- #363: Use RegexOptions.Compiled if available
###v1.32.0 - 2014-12-18
- #354: Removed unnecessary Regex constructors
- #356: Added missing values for ro and changed the RomanianFormatter implementation so as to avoid duplicate resources
- #357: Added Chinese localisation
- #350: Added missing values for nl
- #359: Added special case resources to neutral language
- #362: Fixed arithmatic operations in ByteSize
- #361: Added 'criteria' as the irregular plural of 'criterion'
- #355: Added 'waves' as plural of 'wave'
###v1.31.0 - 2014-11-08
- #340: Fixed TimeSpan humanization precision skips units after the largest one when they're zero until it finds a non-zero unit
- #347: Changed één to 1 for dutch language.
###v1.30.0 - 2014-11-01
- #341: Added logic to properly treat underscores, dashes and spaces.
- #342: Added complete Uzbek localisation
###v1.29.0 - 2014-09-12
- #320: Fixed Dehumanize actually humanizing an already dehumanized string
- #322: DefaultFormatter.TimeSpanHumanize throws a more meaningful exception when called with TimeUnits larger than TimeUnit.Week
- #314: Added ByteRate class and supporting members to facilitate calculation of byte transfer rates
- #333: Added support to humanize enums from resource strings
- #332: Added Italian localisation and tests: date and time Resources, CollectionFormatter, NumberToWordsConverter (cardinal and ordinal), Ordinalizer
###v1.28.0 - 2014-07-06
- #309: Fixed the bug with DateTime.Humanize returning tomorrow when it's not actually tomorrow
- #306: Added Singularize/Pluralize overload without using obsolete plurality enum
- #303: Added support for all integer types in ByteSize extensions
- #307: Added support to string.FormatWith for the explicit culture parameter
- #312: Added Turkish ToWord, ToOrdinalWord and Ordinalize implementation
- #173: Added support for Window Phone 8.1
###v1.27.0 - 2014-06-21
- #301: Added Bangla (Bangladesh) localisation
- #300: Added optional Culture parameter to NumberToWords
- #297: Added support for all integer types in Fluent Date
- #294: Added support for untyped comparison of ByteSize
- #277: Added support for custom enum description attribute property names
- #276: Added Farsi ToOrdinalWords
- #281: Changed the logic for handling hyphenation and large numbers ending in twelve for English ordinal words; e.g. before "twenty first" now "twenty-first"
- #278: Changed DefaultDateTimeHumanizeStrategy to turn 60 min to one hour not 45
- #283: Added Neutral nb support for DateTime and TimeSpan Humanize
- #286: Added optional Culture parameter to DateTime.Humanize & TimeSpan.Humanize
###v1.26.1 - 2014-05-20
- #257: Added German localisation for ToOrdinalWords and Ordinalize
- #261: Added future dates to Portuguese - Brazil
- #269: Added Vietnamese localisation
- #268: Added humanization of collections
###v1.25.4 - 2014-04-27
- #236: Added Turkish localisation
- #239: Added Serbian localisation
- #241: Added German ToWords localisation
- #244: Added Slovenian localisation
- #247: Added Slovenian number to words localisation
- #227 & #243: Moved localiser registry to their own classes, allowed public access via Configurator, and made the default registrations lazy loaded
###v1.24.1 - 2014-04-21
- #232: Adding code & tests to handle Arabic numbers to ordinal
- #235: Fixed the conversion for "1 millon" in SpanishNumberToWordsConverter
- #233: Added build.cmd and Verify build configuration for strict project build and analysis
###v1.23.1 - 2014-04-19
- #217: Added pt-BR and Spanish Ordinalize localisation.
- #220: Added string formatting options to ToQuantity
- #219: Added Japanese translation for date and timespan
- #221: Added Russian ordinalizer
- #228: Fixed the "twenties" in SpanishNumberToWordsConverter
- #231: Added more settings for FromNow, Dual and Plural (Arabic)
- #222: Updated Ordinalize and ToOrdinalWords to account for special exceptions with 1 and 3.
###v1.22.1 - 2014-04-14
- #188: Added Spanish ToOrdinalWords translations
- #166: Added Dutch (NL) Number to words and ordinals
- #199: Added Hebrew Number to words (both genders)
- #202: Fixed typo sekunttia -> sekuntia (Finnish translation)
- #203: Added feminine gender for french ordinal words
- #208: Added Hebrew implementation of future DateTime
###v1.21.1 - 2014-04-12
- #196: Added Gender for ToOrdinalWords (needed for Brazilian Portuguese). Added pt-br OrdinalToWords localisation
- #194: Added pt-BR NumberToWords localisation
- #147: Added Russian translation for ToWords
- #190: Added French translation for ToWords and ToOrdinalWords
- #179: Added Hungarian localisation
- #181: Added Bulgarian localization, date and timespan tests
- #141: Added Indonesian localization
- #148: Added Hebrew localization for date and timespan
###v1.20.15 - 2014-04-12
- #186: Refactored
ToOrdinalWords
to use existingNumberToWordsExtension
to prepare for Ordinal localization - #193: Fixed the NullException error on DateTime.Humanize
###v1.20.2 - 2014-04-11
- #171: T4-Template fix: Using EnglishNumberToWordsConverter instead of 'ToWords()' while dogfooding the template with the library.
- #165: Added precision based
DateTime.Humanize
strategy - #155: French and Belgian French localisation
- #151: Added Spanish ToWords Translations
- #172: Added Polish translation for ToWords
- #184: Fixed spelling error with forth/fourth in EnglishNumberToWordsConverter
###v1.19.1 - 2014-04-10
- #149: Improved & refactored number to words localisation
- #143: Added Russian translation for future DateTime, TimeSpan and Now
- #144: Added Danish localization (strings, tests)
- #146: Added Spanish translation for future DateTime, TimeSpan and Now
###v1.18.1 - 2014-04-09
- #137: Fixed grammar error in
nb-NO
resource file & added missing Norwegian resource strings (mainlyDateHumanize_*FromNow
) - #135: Added Swedish localization (strings, tests)
- #140: Added Polish localization (strings, formatter, tests)
###v1.17.1 - 2014-04-06
- #124: Added Slovak localization (strings, formatter, tests)
- #130: Added Czech localization (strings, formatter, tests)
- #131: Clean date humanize tests and renamed
TimeUnitTense
toTense
###v1.16.4 - 2014-04-04
- #129: Removed all but PCL references
- #121: Added Farsi translation for DateTime, TimeSpan and NumberToWords
- #120: Added German translation for DateTime and TimeSpan
- #117: Added
FormatWith
string extension
###v1.15.1 - 2014-03-28
- #113: Added
Truncate
feature - #109: Made Dutch (NL) localization a neutral culture, not just for Belgium
###v1.14.1 - 2014-03-26
- #108: Added support for custom description attributes
- #106:
- Refactored IFormatter and DefaultFormatter
- Refactored
DateTime.Humanize
andTimeSpan.Humanize
- Changed
ResourceKeys
to use a dynamic key generation - Fixed the intermittent failing tests on
DateTime.Humanize
###v1.13.2 - 2014-03-17
- #99: Added
ByteSize
feature
###v1.12.4 - 2014-02-25
- #95: Added NoMatch optional parameter to DehumanizeTo & renamed
CannotMapToTargetException
toNoMatchFoundException
####Breaking Changes
If you were catching CannotMapToTargetException
on a DehumanizeTo
call, that's been renamed to NoMatchFoundException
to make it more generic.
###v1.11.3 - 2014-02-18
- #93: added non-generic DehumanizeTo for Enums unknown at compile time
###v1.10.1 - 2014-02-15
###v1.9.1 - 2014-02-12
- #78: added support for billions to
ToWords
###v1.8.16 - 2014-02-12
- #81: fixed issue with localised methods returning null in Windows Store apps
- Created Humanizr.net website as GitHub pages
###v1.8.1 - 2014-02-04
- #73: added
ToWords
implementation for Arabic
###v1.7.1 - 2014-02-31
- #68:
DateTime.Humanize()
now supports future dates
###v1.6.1 - 2014-01-27
- #69: changed the return type of
DehumanizeTo<TTargetEnum>
toTTargetEnum
####Potential breaking change
The return type of DehumanizeTo<TTargetEnum>
was changed from Enum
to TTargetEnum
to make the API a lot easier to work with.
That also potentially means that your calls to the old method may be broken.
Depending on how you were using the method you might have to either drop the now redundant cast to TTargetEnum
in your code, or
fix it based on your requirements.
###v1.5.1 - 2014-01-23
- #65: added precision to
TimeSpan.Humanize
###v1.4.1 - 2014-01-20
- #62: added
ShowQuantityAs
parameter toToQuantity
###v1.3.1 - 2014-14-01
- #51: added Spanish translation for
DateTime.Humanize
- #52: added Arabic translation for
DateTime.Humanize
- #53: added
Hyphenate
as an overload forDasherize
- #54: added Portuguese translation for
DateTime.Humanize
- #55: added Arabic translation for
TimeSpan.Humanize
###v1.1.0 - 2014-01-01
- #37: added
ToQuantity
method - #43:
- added
Plurality
enum - can call
Singularize
on singular andPluralize
on plural words ToQuantity
can be called on words with unknown plurality
- added
###v1.0.29 - 2013-12-25
- #26: added Norwegian (nb-NO) localization for
DateTime.Humanize()
- #33:
- changed to Portable Class Library with support for .Net 4+, SilverLight 5, Windows Phone 8 and Win Store applications
- symbols nuget package is published so you can step through Humanizer code while debugging your code
###v1.0.0 - 2013-11-10 No release history before this point: check out http://www.mehdi-khalili.com/humanizer-v1 for the feature-set at V1