diff --git a/ArchiSteamFarm/ArchiSteamFarm.csproj b/ArchiSteamFarm/ArchiSteamFarm.csproj
index ca8146756..81de6245a 100644
--- a/ArchiSteamFarm/ArchiSteamFarm.csproj
+++ b/ArchiSteamFarm/ArchiSteamFarm.csproj
@@ -79,6 +79,9 @@
..\packages\HtmlAgilityPack.1.4.9.5\lib\Net45\HtmlAgilityPack.dll
True
+
+ ..\packages\Humanizer.Core.2.1.0\lib\netstandard1.0\Humanizer.dll
+
..\packages\Newtonsoft.Json.10.0.2\lib\net45\Newtonsoft.Json.dll
diff --git a/ArchiSteamFarm/Localization/Strings.Designer.cs b/ArchiSteamFarm/Localization/Strings.Designer.cs
index 0ae0efca8..8cbbc851e 100644
--- a/ArchiSteamFarm/Localization/Strings.Designer.cs
+++ b/ArchiSteamFarm/Localization/Strings.Designer.cs
@@ -1224,78 +1224,6 @@ namespace ArchiSteamFarm.Localization {
}
}
- ///
- /// Wyszukuje zlokalizowany ciąg podobny do ciągu 1 day.
- ///
- internal static string TimeSpanDay {
- get {
- return ResourceManager.GetString("TimeSpanDay", resourceCulture);
- }
- }
-
- ///
- /// Wyszukuje zlokalizowany ciąg podobny do ciągu {0} days.
- ///
- internal static string TimeSpanDays {
- get {
- return ResourceManager.GetString("TimeSpanDays", resourceCulture);
- }
- }
-
- ///
- /// Wyszukuje zlokalizowany ciąg podobny do ciągu 1 hour.
- ///
- internal static string TimeSpanHour {
- get {
- return ResourceManager.GetString("TimeSpanHour", resourceCulture);
- }
- }
-
- ///
- /// Wyszukuje zlokalizowany ciąg podobny do ciągu {0} hours.
- ///
- internal static string TimeSpanHours {
- get {
- return ResourceManager.GetString("TimeSpanHours", resourceCulture);
- }
- }
-
- ///
- /// Wyszukuje zlokalizowany ciąg podobny do ciągu 1 minute.
- ///
- internal static string TimeSpanMinute {
- get {
- return ResourceManager.GetString("TimeSpanMinute", resourceCulture);
- }
- }
-
- ///
- /// Wyszukuje zlokalizowany ciąg podobny do ciągu {0} minutes.
- ///
- internal static string TimeSpanMinutes {
- get {
- return ResourceManager.GetString("TimeSpanMinutes", resourceCulture);
- }
- }
-
- ///
- /// Wyszukuje zlokalizowany ciąg podobny do ciągu 1 second.
- ///
- internal static string TimeSpanSecond {
- get {
- return ResourceManager.GetString("TimeSpanSecond", resourceCulture);
- }
- }
-
- ///
- /// Wyszukuje zlokalizowany ciąg podobny do ciągu {0} seconds.
- ///
- internal static string TimeSpanSeconds {
- get {
- return ResourceManager.GetString("TimeSpanSeconds", resourceCulture);
- }
- }
-
///
/// Wyszukuje zlokalizowany ciąg podobny do ciągu ASF will attempt to use your preferred {0} culture, but translation in that language was completed only in {1}. Perhaps you could help us improve ASF translation for your language?.
///
diff --git a/ArchiSteamFarm/Localization/Strings.resx b/ArchiSteamFarm/Localization/Strings.resx
index 4f1fb87cf..fcbd44957 100644
--- a/ArchiSteamFarm/Localization/Strings.resx
+++ b/ArchiSteamFarm/Localization/Strings.resx
@@ -255,34 +255,6 @@ StackTrace:
Success!
-
- 1 day
-
-
- {0} days
- {0} will be replaced by number of days
-
-
- 1 hour
-
-
- {0} hours
- {0} will be replaced by number of hours
-
-
- 1 minute
-
-
- {0} minutes
- {0} will be replaced by number of minutes
-
-
- 1 second
-
-
- {0} seconds
- {0} will be replaced by number of seconds
-
Unlocking parental account...
diff --git a/ArchiSteamFarm/Utilities.cs b/ArchiSteamFarm/Utilities.cs
index 934b3cbb4..1fb2f413c 100644
--- a/ArchiSteamFarm/Utilities.cs
+++ b/ArchiSteamFarm/Utilities.cs
@@ -29,8 +29,7 @@ using System.Globalization;
using System.Linq;
using System.Net;
using System.Runtime.CompilerServices;
-using System.Text;
-using ArchiSteamFarm.Localization;
+using Humanizer;
namespace ArchiSteamFarm {
internal static class Utilities {
@@ -109,38 +108,7 @@ namespace ArchiSteamFarm {
yield return item;
}
- internal static string ToHumanReadable(this TimeSpan timeSpan) {
- // It's really dirty, I'd appreciate a lot if C# offered nice TimeSpan formatting by default
- // Normally I'd use third-party library like Humanizer, but using it only for this bit is not worth it
- // Besides, ILRepack has problem merging it's library due to referencing System.Runtime
-
- StringBuilder result = new StringBuilder();
-
- if (timeSpan.Days > 0) {
- result.Append((timeSpan.Days > 1 ? string.Format(Strings.TimeSpanDays, timeSpan.Days) : Strings.TimeSpanDay) + ", ");
- }
-
- if (timeSpan.Hours > 0) {
- result.Append((timeSpan.Hours > 1 ? string.Format(Strings.TimeSpanHours, timeSpan.Hours) : Strings.TimeSpanHour) + ", ");
- }
-
- if (timeSpan.Minutes > 0) {
- result.Append((timeSpan.Minutes > 1 ? string.Format(Strings.TimeSpanMinutes, timeSpan.Minutes) : Strings.TimeSpanMinute) + ", ");
- }
-
- if (timeSpan.Seconds > 0) {
- result.Append((timeSpan.Seconds > 1 ? string.Format(Strings.TimeSpanSeconds, timeSpan.Seconds) : Strings.TimeSpanSecond) + ", ");
- }
-
- if (result.Length == 0) {
- return string.Format(Strings.TimeSpanSeconds, 0);
- }
-
- // Get rid of last comma + space
- result.Length -= 2;
-
- return result.ToString();
- }
+ internal static string ToHumanReadable(this TimeSpan timeSpan) => timeSpan.Humanize(4);
private static string[] GetArgs(this string[] args, byte argsToSkip = 1) {
if (args.Length < argsToSkip) {
diff --git a/ArchiSteamFarm/packages.config b/ArchiSteamFarm/packages.config
index 1a6557ab3..d1f55ec06 100644
--- a/ArchiSteamFarm/packages.config
+++ b/ArchiSteamFarm/packages.config
@@ -1,9 +1,49 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/GUI/GUI.csproj b/GUI/GUI.csproj
index 494929a07..65492b664 100644
--- a/GUI/GUI.csproj
+++ b/GUI/GUI.csproj
@@ -48,6 +48,9 @@
..\packages\HtmlAgilityPack.1.4.9.5\lib\Net45\HtmlAgilityPack.dll
True
+
+ ..\packages\Humanizer.Core.2.1.0\lib\netstandard1.0\Humanizer.dll
+
..\packages\Newtonsoft.Json.10.0.2\lib\net45\Newtonsoft.Json.dll
diff --git a/GUI/packages.config b/GUI/packages.config
index 82b08e40f..a639502f9 100644
--- a/GUI/packages.config
+++ b/GUI/packages.config
@@ -1,9 +1,49 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/Humanizer.2.1.0/Humanizer.2.1.0.nupkg b/packages/Humanizer.2.1.0/Humanizer.2.1.0.nupkg
new file mode 100644
index 000000000..b6e6d727b
Binary files /dev/null and b/packages/Humanizer.2.1.0/Humanizer.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.2.1.0/Humanizer.Core.2.1.0.nupkg b/packages/Humanizer.Core.2.1.0/Humanizer.Core.2.1.0.nupkg
new file mode 100644
index 000000000..3930a85d3
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/Humanizer.Core.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/Humanizer.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/Humanizer.dll
new file mode 100644
index 000000000..5fc964d40
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/Humanizer.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/Humanizer.xml b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/Humanizer.xml
new file mode 100644
index 000000000..2fd92593b
--- /dev/null
+++ b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/Humanizer.xml
@@ -0,0 +1,5526 @@
+
+
+
+ Humanizer
+
+
+
+
+ Class to hold a ByteSize and a measurement interval, for the purpose of calculating the rate of transfer
+
+
+
+
+ Quantity of bytes
+
+
+
+
+
+ Interval that bytes were transferred in
+
+
+
+
+
+ Create a ByteRate with given quantity of bytes across an interval
+
+
+
+
+
+
+ Calculate rate for the quantity of bytes and interval defined by this instance
+
+ Unit of time to calculate rate for (defaults is per second)
+
+
+
+
+ Calculate rate for the quantity of bytes and interval defined by this instance
+
+ Unit of time to calculate rate for (defaults is per second)
+ The string format to use for the number of bytes
+
+
+
+
+ Represents a byte size value.
+
+
+
+
+ Converts the value of the current ByteSize object to a string.
+ The metric prefix symbol (bit, byte, kilo, mega, giga, tera) used is
+ the largest metric prefix such that the corresponding value is greater
+ than or equal to one.
+
+
+
+
+ Humanizes an IEnumerable into a human readable list
+
+
+
+
+ Formats the collection for display, calling ToString() on each object and
+ using the default separator for the current culture.
+
+
+
+
+
+ Formats the collection for display, calling `objectFormatter` on each object
+ and using the default separator for the current culture.
+
+
+
+
+
+ Formats the collection for display, calling ToString() on each object
+ and using the provided separator.
+
+
+
+
+
+ Formats the collection for display, calling `objectFormatter` on each object
+ and using the provided separator.
+
+
+
+
+
+ A registry of localised system components with their associated locales
+
+
+
+
+
+ Creates a localiser registry with the default localiser set to the provided value
+
+
+
+
+
+ Creates a localiser registry with the default localiser factory set to the provided value
+
+
+
+
+
+ Gets the localiser for the current thread's UI culture
+
+
+
+
+ Gets the localiser for the specified culture
+
+ The culture to retrieve localiser for. If not specified, current thread's UI culture is used.
+
+
+
+ Registers the localiser for the culture provided
+
+
+
+
+ Registers the localiser factory for the culture provided
+
+
+
+
+ Provides a configuration point for Humanizer
+
+
+
+
+ A registry of formatters used to format collections based on the current locale
+
+
+
+
+ A registry of formatters used to format strings based on the current locale
+
+
+
+
+ A registry of number to words converters used to localise ToWords and ToOrdinalWords methods
+
+
+
+
+ A registry of ordinalizers used to localise Ordinalize method
+
+
+
+
+ The formatter to be used
+
+ The culture to retrieve formatter for. Null means that current thread's UI culture should be used.
+
+
+
+ The converter to be used
+
+ The culture to retrieve number to words converter for. Null means that current thread's UI culture should be used.
+
+
+
+ The ordinalizer to be used
+
+
+
+
+ The strategy to be used for DateTime.Humanize
+
+
+
+
+ The strategy to be used for DateTimeOffset.Humanize
+
+
+
+
+ A predicate function for description property of attribute to use for Enum.Humanize
+
+
+
+
+ Algorithms used to convert distance between two dates into words.
+
+
+
+
+ Returns localized & humanized distance of time between two dates; given a specific precision.
+
+
+
+
+ Calculates the distance of time in words between two provided dates
+
+
+
+
+ The default 'distance of time' -> words calculator.
+
+
+
+
+ Calculates the distance of time in words between two provided dates
+
+
+
+
+ The default 'distance of time' -> words calculator.
+
+
+
+
+ Calculates the distance of time in words between two provided dates
+
+
+
+
+ Implement this interface to create a new strategy for DateTime.Humanize and hook it in the Configurator.DateTimeOffsetHumanizeStrategy
+
+
+
+
+ Calculates the distance of time in words between two provided dates used for DateTimeOffset.Humanize
+
+
+
+
+ Precision-based calculator for distance between two times
+
+
+
+
+ Constructs a precision-based calculator for distance of time with default precision 0.75.
+
+ precision of approximation, if not provided 0.75 will be used as a default precision.
+
+
+
+ Returns localized & humanized distance of time between two dates; given a specific precision.
+
+
+
+
+ Implement this interface to create a new strategy for DateTime.Humanize and hook it in the Configurator.DateTimeHumanizeStrategy
+
+
+
+
+ Calculates the distance of time in words between two provided dates used for DateTime.Humanize
+
+
+
+
+ Precision-based calculator for distance between two times
+
+
+
+
+ Constructs a precision-based calculator for distance of time with default precision 0.75.
+
+ precision of approximation, if not provided 0.75 will be used as a default precision.
+
+
+
+ Returns localized & humanized distance of time between two dates; given a specific precision.
+
+
+
+
+ Container for registered Vocabularies. At present, only a single vocabulary is supported: Default.
+
+
+
+
+ The default vocabulary used for singular/plural irregularities.
+ Rules can be added to this vocabulary and will be picked up by called to Singularize() and Pluralize().
+ At this time, multiple vocabularies and removing existing rules are not supported.
+
+
+
+
+ A container for exceptions to simple pluralization/singularization rules.
+ Vocabularies.Default contains an extensive list of rules for US English.
+ At this time, multiple vocabularies and removing existing rules are not supported.
+
+
+
+
+ Adds a word to the vocabulary which cannot easily be pluralized/singularized by RegEx, e.g. "person" and "people".
+
+ The singular form of the irregular word, e.g. "person".
+ The plural form of the irregular word, e.g. "people".
+ True to match these words on their own as well as at the end of longer words. False, otherwise.
+
+
+
+ Adds an uncountable word to the vocabulary, e.g. "fish". Will be ignored when plurality is changed.
+
+ Word to be added to the list of uncountables.
+
+
+
+ Adds a rule to the vocabulary that does not follow trivial rules for pluralization, e.g. "bus" -> "buses"
+
+ RegEx to be matched, case insensitive, e.g. "(bus)es$"
+ RegEx replacement e.g. "$1"
+
+
+
+ Adds a rule to the vocabulary that does not follow trivial rules for singularization, e.g. "vertices/indices -> "vertex/index"
+
+ RegEx to be matched, case insensitive, e.g. ""(vert|ind)ices$""
+ RegEx replacement e.g. "$1ex"
+
+
+
+ Pluralizes the provided input considering irregular words
+
+ Word to be pluralized
+ Normally you call Pluralize on singular words; but if you're unsure call it with false
+
+
+
+
+ Singularizes the provided input considering irregular words
+
+ Word to be singularized
+ Normally you call Singularize on plural words; but if you're unsure call it with false
+
+
+
+
+ An interface you should implement to localize Humanize for collections
+
+
+
+
+ Formats the collection for display, calling ToString() on each object.
+
+
+
+
+
+ Formats the collection for display, calling `objectFormatter` on each object.
+
+
+
+
+
+ Formats the collection for display, calling ToString() on each object
+ and using `separator` before the final item.
+
+
+
+
+
+ Formats the collection for display, calling `objectFormatter` on each object
+ and using `separator` before the final item.
+
+
+
+
+
+ Default implementation of IFormatter interface.
+
+
+
+
+ Constructor.
+
+ Name of the culture to use.
+
+
+
+ Now
+
+ Returns Now
+
+
+
+ Never
+
+ Returns Never
+
+
+
+ Returns the string representation of the provided DateTime
+
+
+
+
+
+
+
+
+ 0 seconds
+
+ Returns 0 seconds as the string representation of Zero TimeSpan
+
+
+
+ Returns the string representation of the provided TimeSpan
+
+ Must be less than or equal to TimeUnit.Week
+
+
+ Is thrown when timeUnit is larger than TimeUnit.Week
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Override this method if your locale has complex rules around multiple units; e.g. Arabic, Russian
+
+ The resource key that's being in formatting
+ The number of the units being used in formatting
+
+
+
+
+
+
+
+
+
+
+
+ Implement this interface if your language has complex rules around dealing with numbers.
+ For example in Romanian "5 days" is "5 zile", while "24 days" is "24 de zile" and
+ in Arabic 2 days is يومين not 2 يوم
+
+
+
+
+ Now
+
+ Returns Now
+
+
+
+ Never
+
+ Returns Never
+
+
+
+ Returns the string representation of the provided DateTime
+
+
+
+
+
+
+
+
+ 0 seconds
+
+ Returns 0 seconds as the string representation of Zero TimeSpan
+
+
+
+ Returns the string representation of the provided TimeSpan
+
+
+
+
+
+
+
+ Converts the number to string using the locale's default grammatical gender
+
+
+
+
+
+
+ Converts the number to string using the provided grammatical gender
+
+
+
+
+
+
+
+ Converts the number to ordinal string using the locale's default grammatical gender
+
+
+
+
+
+
+ Converts the number to ordinal string using the provided grammatical gender
+
+
+
+
+
+
+
+ Converts the number to string
+
+
+
+
+
+
+ Converts the number to string ignoring the provided grammatical gender
+
+
+
+
+
+
+
+ Converts the number to ordinal string
+
+
+
+
+
+
+ Converts the number to ordinal string ignoring the provided grammatical gender
+
+
+
+
+
+
+
+ Lookup table converting units number to text. Index 1 for 1, index 2 for 2, up to index 9 for 9.
+
+
+
+
+ Lookup table converting teens number to text. Index 0 for 10, index 1 for 11, up to index 9 for 19.
+
+
+
+
+ Lookup table converting tens number to text. Index 2 for 20, index 3 for 30, up to index 9 for 90.
+
+
+
+
+ Enumerates sets of three-digits having distinct conversion to text.
+
+
+
+
+ Lowest three-digits set, from 1 to 999.
+
+
+
+
+ Three-digits set counting the thousands, from 1'000 to 999'000.
+
+
+
+
+ Three-digits set counting millions, from 1'000'000 to 999'000'000.
+
+
+
+
+ Three-digits set counting billions, from 1'000'000'000 to 999'000'000'000.
+
+
+
+
+ Three-digits set beyond 999 billions, from 1'000'000'000'000 onward.
+
+
+
+
+ Splits a number into a sequence of three-digits numbers,
+ starting from units, then thousands, millions, and so on.
+
+ The number to split.
+ The sequence of three-digit numbers.
+
+
+
+ During number conversion to text, finds out the converter
+ to use for the next three-digit set.
+
+ The next conversion function to use.
+
+
+
+ Converts a three-digit set to text.
+
+ The three-digit set to convert.
+ The grammatical gender to convert to.
+ True if the current three-digit set is the last in the word.
+ The same three-digit set expressed as text.
+
+
+
+ Converts a three-digit number, as units, to text.
+
+ The three-digit number, as units, to convert.
+ The grammatical gender to convert to.
+ The same three-digit number, as units, expressed as text.
+
+
+
+ Converts a thousands three-digit number to text.
+
+ The three-digit number, as thousands, to convert.
+ The grammatical gender to convert to.
+ The same three-digit number of thousands expressed as text.
+
+
+
+ Converts a millions three-digit number to text.
+
+ The three-digit number, as millions, to convert.
+ The grammatical gender to convert to.
+ The same three-digit number of millions expressed as text.
+
+
+
+ Converts a billions three-digit number to text.
+
+ The three-digit number, as billions, to convert.
+ The grammatical gender to convert to.
+ The same three-digit number of billions expressed as text.
+
+
+
+ Lookup table converting units number to text. Index 1 for 1, index 2 for 2, up to index 9.
+
+
+
+
+ Dutch spelling of numbers is not really officially regulated.
+ There are a few different rules that can be applied.
+ Used the rules as stated here.
+ http://www.beterspellen.nl/website/?pag=110
+
+
+
+
+ Constructor.
+
+ Culture to use.
+
+
+
+ 3501.ToWords() -> "three thousand five hundred and one"
+
+ Number to be turned to words
+
+
+
+
+ 1.ToOrdinalWords() -> "first"
+
+ Number to be turned to ordinal words
+
+
+
+
+ Splits a number into a sequence of three-digits numbers, starting
+ from units, then thousands, millions, and so on.
+
+ The number to split.
+ The sequence of three-digit numbers.
+
+
+
+ During number conversion to text, finds out the converter to use
+ for the next three-digit set.
+
+ The next conversion function to use.
+
+
+
+ Converts a three-digit set to text.
+
+ The three-digit set to convert.
+ True if the current three-digit set is the last in the word.
+ The same three-digit set expressed as text.
+
+
+
+ Converts a three-digit number, as units, to text.
+
+ The three-digit number, as units, to convert.
+ The same three-digit number, as units, expressed as text.
+
+
+
+ Converts a thousands three-digit number to text.
+
+ The three-digit number, as thousands, to convert.
+ The same three-digit number of thousands expressed as text.
+
+
+
+ Converts a millions three-digit number to text.
+
+ The three-digit number, as millions, to convert.
+ The same three-digit number of millions expressed as text.
+
+
+
+ Converts a billions three-digit number to text.
+
+ The three-digit number, as billions, to convert.
+ The same three-digit number of billions expressed as text.
+
+
+
+ Lookup table converting units number to text. Index 1 for 1, index 2 for 2, up to index 9.
+
+
+
+
+ Lookup table converting tens number to text. Index 2 for 20, index 3 for 30, up to index 9 for 90.
+
+
+
+
+ Lookup table converting teens number to text. Index 0 for 10, index 1 for 11, up to index 9 for 19.
+
+
+
+
+ Lookup table converting hundreds number to text. Index 0 for no hundreds, index 1 for 100, up to index 9.
+
+
+
+
+ Enumerates sets of three-digits having distinct conversion to text.
+
+
+
+
+ Lowest three-digits set, from 1 to 999.
+
+
+
+
+ Three-digits set counting the thousands, from 1'000 to 999'000.
+
+
+
+
+ Three-digits set counting millions, from 1'000'000 to 999'000'000.
+
+
+
+
+ Three-digits set counting billions, from 1'000'000'000 to 999'000'000'000.
+
+
+
+
+ Three-digits set beyond 999 billions, from 1'000'000'000'000 onward.
+
+
+
+
+ Lookup table converting units number to text. Index 1 for 1, index 2 for 2, up to index 9.
+
+
+
+
+ An interface you should implement to localise ToWords and ToOrdinalWords methods
+
+
+
+
+ Converts the number to string using the locale's default grammatical gender
+
+
+
+
+
+
+ Converts the number to string using the provided grammatical gender
+
+
+
+
+
+
+
+ Converts the number to ordinal string using the locale's default grammatical gender
+
+
+
+
+
+
+ Converts the number to ordinal string using the provided grammatical gender
+
+
+
+
+
+
+
+ The interface used to localise the Ordinalize method
+
+
+
+
+ Ordinalizes the number
+
+
+
+
+
+
+
+ Ordinalizes the number using the provided grammatical gender
+
+
+
+
+
+
+
+
+ Enumerates the possible time references; past or future.
+
+
+
+
+ Indicates the future.
+
+
+
+
+ Indicates the past.
+
+
+
+
+
+
+
+
+
+ Encapsulates the logic required to get the resource keys for DateTime.Humanize
+
+
+
+
+ Resource key for Now.
+
+
+
+
+ Resource key for Never.
+
+
+
+
+ Examples: DateHumanize_SingleMinuteAgo, DateHumanize_MultipleHoursAgo
+ Note: "s" for plural served separately by third part.
+
+
+
+
+ Generates Resource Keys accordning to convention.
+
+ Time unit
+ Is time unit in future or past
+ Number of units, default is One.
+ Resource key, like DateHumanize_SingleMinuteAgo
+
+
+
+ Encapsulates the logic required to get the resource keys for TimeSpan.Humanize
+
+
+
+
+ Examples: TimeSpanHumanize_SingleMinute, TimeSpanHumanize_MultipleHours.
+ Note: "s" for plural served separately by third part.
+
+
+
+
+ Generates Resource Keys according to convention.
+
+ Time unit, .
+ Number of units, default is One.
+ Resource key, like TimeSpanHumanize_SingleMinute
+
+
+
+ Units of time.
+
+
+
+
+ Provides access to the resources of Humanizer
+
+
+
+
+ Returns the value of the specified string resource
+
+ The name of the resource to retrieve.
+ The culture of the resource to retrieve. If not specified, current thread's UI culture is used.
+ The value of the resource localized for the specified culture.
+
+
+
+ Options for specifying the desired grammatical case for the output words
+
+
+
+
+ Indicates the subject of a finite verb
+
+
+
+
+ Indicates the possessor of another noun
+
+
+
+
+ Indicates the indirect object of a verb
+
+
+
+
+ Indicates the direct object of a verb
+
+
+
+
+ Indicates an object used in performing an action
+
+
+
+
+ Indicates the object of a preposition
+
+
+
+
+ Options for specifying the desired grammatical gender for the output words
+
+
+
+
+ Indicates masculine grammatical gender
+
+
+
+
+ Indicates feminine grammatical gender
+
+
+
+
+ Indicates neuter grammatical gender
+
+
+
+
+ Provides extension methods for ByteSize
+
+
+
+
+ Considers input as bits
+
+
+
+
+
+
+ Considers input as bits
+
+
+
+
+
+
+ Considers input as bits
+
+
+
+
+
+
+ Considers input as bits
+
+
+
+
+
+
+ Considers input as bits
+
+
+
+
+
+
+ Considers input as bits
+
+
+
+
+
+
+ Considers input as bits
+
+
+
+
+
+
+ Considers input as bytes
+
+
+
+
+
+
+ Considers input as bytes
+
+
+
+
+
+
+ Considers input as bytes
+
+
+
+
+
+
+ Considers input as bytes
+
+
+
+
+
+
+ Considers input as bytes
+
+
+
+
+
+
+ Considers input as bytes
+
+
+
+
+
+
+ Considers input as bytes
+
+
+
+
+
+
+ Considers input as bytes
+
+
+
+
+
+
+ Considers input as kilobytes
+
+
+
+
+
+
+ Considers input as kilobytes
+
+
+
+
+
+
+ Considers input as kilobytes
+
+
+
+
+
+
+ Considers input as kilobytes
+
+
+
+
+
+
+ Considers input as kilobytes
+
+
+
+
+
+
+ Considers input as kilobytes
+
+
+
+
+
+
+ Considers input as kilobytes
+
+
+
+
+
+
+ Considers input as kilobytes
+
+
+
+
+
+
+ Considers input as megabytes
+
+
+
+
+
+
+ Considers input as megabytes
+
+
+
+
+
+
+ Considers input as megabytes
+
+
+
+
+
+
+ Considers input as megabytes
+
+
+
+
+
+
+ Considers input as megabytes
+
+
+
+
+
+
+ Considers input as megabytes
+
+
+
+
+
+
+ Considers input as megabytes
+
+
+
+
+
+
+ Considers input as megabytes
+
+
+
+
+
+
+ Considers input as gigabytes
+
+
+
+
+
+
+ Considers input as gigabytes
+
+
+
+
+
+
+ Considers input as gigabytes
+
+
+
+
+
+
+ Considers input as gigabytes
+
+
+
+
+
+
+ Considers input as gigabytes
+
+
+
+
+
+
+ Considers input as gigabytes
+
+
+
+
+
+
+ Considers input as gigabytes
+
+
+
+
+
+
+ Considers input as gigabytes
+
+
+
+
+
+
+ Considers input as terabytes
+
+
+
+
+
+
+ Considers input as terabytes
+
+
+
+
+
+
+ Considers input as terabytes
+
+
+
+
+
+
+ Considers input as terabytes
+
+
+
+
+
+
+ Considers input as terabytes
+
+
+
+
+
+
+ Considers input as terabytes
+
+
+
+
+
+
+ Considers input as terabytes
+
+
+
+
+
+
+ Considers input as terabytes
+
+
+
+
+
+
+ Turns a byte quantity into human readable form, eg 2 GB
+
+
+ The string format to use
+
+
+
+
+ Turns a quantity of bytes in a given interval into a rate that can be manipulated
+
+ Quantity of bytes
+ Interval to create rate for
+
+
+
+
+ ApplyCase method to allow changing the case of a sentence easily
+
+
+
+
+ Changes the casing of the provided input
+
+
+
+
+
+
+
+ Humanizes DateTime into human readable sentence
+
+
+
+
+ Turns the current or provided date into a human readable sentence
+
+ The date to be humanized
+ Boolean value indicating whether the date is in UTC or local
+ Date to compare the input against. If null, current date is used as base
+ Culture to use. If null, current thread's UI culture is used.
+ distance of time in words
+
+
+
+ Turns the current or provided date into a human readable sentence, overload for the nullable DateTime, returning 'never' in case null
+
+ The date to be humanized
+ Boolean value indicating whether the date is in UTC or local
+ Date to compare the input against. If null, current date is used as base
+ Culture to use. If null, current thread's UI culture is used.
+ distance of time in words
+
+
+
+ Turns the current or provided date into a human readable sentence
+
+ The date to be humanized
+ Date to compare the input against. If null, current date is used as base
+ Culture to use. If null, current thread's UI culture is used.
+ distance of time in words
+
+
+
+ Turns the current or provided date into a human readable sentence, overload for the nullable DateTimeOffset, returning 'never' in case null
+
+ The date to be humanized
+ Date to compare the input against. If null, current date is used as base
+ Culture to use. If null, current thread's UI culture is used.
+ distance of time in words
+
+
+
+ Contains extension methods for changing a number to Metric representation (ToMetric)
+ and from Metric representation back to the number (FromMetric)
+
+
+
+
+ Symbols is a list of every symbols for the Metric system.
+
+
+
+
+ Names link a Metric symbol (as key) to its name (as value).
+
+
+ We dont support :
+ {'h', "hecto"},
+ {'da', "deca" }, // !string
+ {'d', "deci" },
+ {'c', "centi"},
+
+
+
+
+ Converts a Metric representation into a number.
+
+
+ We don't support input in the format {number}{name} nor {number} {name}.
+ We only provide a solution for {number}{symbol} and {number} {symbol}.
+
+ Metric representation to convert to a number
+
+
+ "1k".FromMetric() => 1000d
+ "123".FromMetric() => 123d
+ "100m".FromMetric() => 1E-1
+
+
+ A number after a conversion from a Metric representation.
+
+
+
+ Converts a number into a valid and Human-readable Metric representation.
+
+
+ Inspired by a snippet from Thom Smith.
+ See this link for more.
+
+ Number to convert to a Metric representation.
+ True will split the number and the symbol with a whitespace.
+ True will use symbol instead of name
+
+
+ 1000.ToMetric() => "1k"
+ 123.ToMetric() => "123"
+ 1E-1.ToMetric() => "100m"
+
+
+ A valid Metric representation
+
+
+
+ Converts a number into a valid and Human-readable Metric representation.
+
+
+ Inspired by a snippet from Thom Smith.
+ See this link for more.
+
+ Number to convert to a Metric representation.
+ True will split the number and the symbol with a whitespace.
+ True will use symbol instead of name
+
+
+ 1000d.ToMetric() => "1k"
+ 123d.ToMetric() => "123"
+ 1E-1.ToMetric() => "100m"
+
+
+ A valid Metric representation
+
+
+
+ Clean or handle any wrong input
+
+ Metric representation to clean
+ A cleaned representation
+
+
+
+ Build a number from a metric representation or from a number
+
+ A Metric representation to parse to a number
+ The last character of input
+ A number build from a Metric representation
+
+
+
+ Build a number from a metric representation
+
+ A Metric representation to parse to a number
+ The last character of input
+ A number build from a Metric representation
+
+
+
+ Replace every symbol's name by its symbol representation.
+
+ Metric representation with a name or a symbol
+ A metric representation with a symbol
+
+
+
+ Build a Metric representation of the number.
+
+ Number to convert to a Metric representation.
+ True will split the number and the symbol with a whitespace.
+ True will use symbol instead of name
+ A number in a Metric representation
+
+
+
+ Build a Metric representation of the number.
+
+ Number to convert to a Metric representation.
+ Exponent of the number in a scientific notation
+ True will split the number and the symbol with a whitespace.
+ True will use symbol instead of name
+ A number in a Metric representation
+
+
+
+ Get the unit from a symbol of from the symbol's name.
+
+ The symbol linked to the unit
+ True will use symbol instead of name
+ A symbol or a symbol's name
+
+
+
+ Check if a Metric representation is out of the valid range.
+
+ A Metric representation who might be out of the valid range.
+ True if input is out of the valid range.
+
+
+
+ Check if a string is not a valid Metric representation.
+ A valid representation is in the format "{0}{1}" or "{0} {1}"
+ where {0} is a number and {1} is an allowed symbol.
+
+
+ ToDo: Performance: Use (string input, out number) to escape the double use of Parse()
+
+ A string who might contain a invalid Metric representation.
+ True if input is not a valid Metric representation.
+
+
+
+ Number to Number extensions
+
+
+
+
+ 5.Tens == 50
+
+
+
+
+ 5.Tens == 50
+
+
+
+
+ 5.Tens == 50
+
+
+
+
+ 5.Tens == 50
+
+
+
+
+ 5.Tens == 50
+
+
+
+
+ 4.Hundreds() == 400
+
+
+
+
+ 4.Hundreds() == 400
+
+
+
+
+ 4.Hundreds() == 400
+
+
+
+
+ 4.Hundreds() == 400
+
+
+
+
+ 4.Hundreds() == 400
+
+
+
+
+ 3.Thousands() == 3000
+
+
+
+
+ 3.Thousands() == 3000
+
+
+
+
+ 3.Thousands() == 3000
+
+
+
+
+ 3.Thousands() == 3000
+
+
+
+
+ 3.Thousands() == 3000
+
+
+
+
+ 2.Millions() == 2000000
+
+
+
+
+ 2.Millions() == 2000000
+
+
+
+
+ 2.Millions() == 2000000
+
+
+
+
+ 2.Millions() == 2000000
+
+
+
+
+ 2.Millions() == 2000000
+
+
+
+
+ 1.Billions() == 1000000000 (short scale)
+
+
+
+
+ 1.Billions() == 1000000000 (short scale)
+
+
+
+
+ 1.Billions() == 1000000000 (short scale)
+
+
+
+
+ 1.Billions() == 1000000000 (short scale)
+
+
+
+
+ 1.Billions() == 1000000000 (short scale)
+
+
+
+
+ Provides hint for Humanizer as to whether a word is singular, plural or with unknown plurality
+
+
+
+
+ The word is singular
+
+
+
+
+ The word is plural
+
+
+
+
+ I am unsure of the plurality
+
+
+
+
+ Humanizes TimeSpan into human readable form
+
+
+
+
+ Turns a TimeSpan into a human readable form. E.g. 1 day.
+
+
+ The maximum number of time units to return. Defaulted is 1 which means the largest unit is returned
+ Culture to use. If null, current thread's UI culture is used.
+ The maximum unit of time to output.
+ The minimum unit of time to output.
+ The separator to use when combining humanized time parts. If null, the default collection formatter for the current culture is used.
+
+
+
+
+ Turns a TimeSpan into a human readable form. E.g. 1 day.
+
+
+ The maximum number of time units to return.
+ Controls whether empty time units should be counted towards maximum number of time units. Leading empty time units never count.
+ Culture to use. If null, current thread's UI culture is used.
+ The maximum unit of time to output.
+ The minimum unit of time to output.
+ The separator to use when combining humanized time parts. If null, the default collection formatter for the current culture is used.
+
+
+
+
+
+
+
+
+
+
+
+
+ 1 seconds from now
+
+
+
+
+ 1 seconds from the provided date
+
+
+
+
+ 1 minutes from now
+
+
+
+
+ 1 minutes from the provided date
+
+
+
+
+ 1 hours from now
+
+
+
+
+ 1 hours from the provided date
+
+
+
+
+ 1 days from now
+
+
+
+
+ 1 days from the provided date
+
+
+
+
+ 1 weeks from now
+
+
+
+
+ 1 weeks from the provided date
+
+
+
+
+ 1 months from now
+
+
+
+
+ 1 months from the provided date
+
+
+
+
+ 1 years from now
+
+
+
+
+ 1 years from the provided date
+
+
+
+
+
+
+
+
+ 2 seconds from now
+
+
+
+
+ 2 seconds from the provided date
+
+
+
+
+ 2 minutes from now
+
+
+
+
+ 2 minutes from the provided date
+
+
+
+
+ 2 hours from now
+
+
+
+
+ 2 hours from the provided date
+
+
+
+
+ 2 days from now
+
+
+
+
+ 2 days from the provided date
+
+
+
+
+ 2 weeks from now
+
+
+
+
+ 2 weeks from the provided date
+
+
+
+
+ 2 months from now
+
+
+
+
+ 2 months from the provided date
+
+
+
+
+ 2 years from now
+
+
+
+
+ 2 years from the provided date
+
+
+
+
+
+
+
+
+ 3 seconds from now
+
+
+
+
+ 3 seconds from the provided date
+
+
+
+
+ 3 minutes from now
+
+
+
+
+ 3 minutes from the provided date
+
+
+
+
+ 3 hours from now
+
+
+
+
+ 3 hours from the provided date
+
+
+
+
+ 3 days from now
+
+
+
+
+ 3 days from the provided date
+
+
+
+
+ 3 weeks from now
+
+
+
+
+ 3 weeks from the provided date
+
+
+
+
+ 3 months from now
+
+
+
+
+ 3 months from the provided date
+
+
+
+
+ 3 years from now
+
+
+
+
+ 3 years from the provided date
+
+
+
+
+
+
+
+
+ 4 seconds from now
+
+
+
+
+ 4 seconds from the provided date
+
+
+
+
+ 4 minutes from now
+
+
+
+
+ 4 minutes from the provided date
+
+
+
+
+ 4 hours from now
+
+
+
+
+ 4 hours from the provided date
+
+
+
+
+ 4 days from now
+
+
+
+
+ 4 days from the provided date
+
+
+
+
+ 4 weeks from now
+
+
+
+
+ 4 weeks from the provided date
+
+
+
+
+ 4 months from now
+
+
+
+
+ 4 months from the provided date
+
+
+
+
+ 4 years from now
+
+
+
+
+ 4 years from the provided date
+
+
+
+
+
+
+
+
+ 5 seconds from now
+
+
+
+
+ 5 seconds from the provided date
+
+
+
+
+ 5 minutes from now
+
+
+
+
+ 5 minutes from the provided date
+
+
+
+
+ 5 hours from now
+
+
+
+
+ 5 hours from the provided date
+
+
+
+
+ 5 days from now
+
+
+
+
+ 5 days from the provided date
+
+
+
+
+ 5 weeks from now
+
+
+
+
+ 5 weeks from the provided date
+
+
+
+
+ 5 months from now
+
+
+
+
+ 5 months from the provided date
+
+
+
+
+ 5 years from now
+
+
+
+
+ 5 years from the provided date
+
+
+
+
+
+
+
+
+ 6 seconds from now
+
+
+
+
+ 6 seconds from the provided date
+
+
+
+
+ 6 minutes from now
+
+
+
+
+ 6 minutes from the provided date
+
+
+
+
+ 6 hours from now
+
+
+
+
+ 6 hours from the provided date
+
+
+
+
+ 6 days from now
+
+
+
+
+ 6 days from the provided date
+
+
+
+
+ 6 weeks from now
+
+
+
+
+ 6 weeks from the provided date
+
+
+
+
+ 6 months from now
+
+
+
+
+ 6 months from the provided date
+
+
+
+
+ 6 years from now
+
+
+
+
+ 6 years from the provided date
+
+
+
+
+
+
+
+
+ 7 seconds from now
+
+
+
+
+ 7 seconds from the provided date
+
+
+
+
+ 7 minutes from now
+
+
+
+
+ 7 minutes from the provided date
+
+
+
+
+ 7 hours from now
+
+
+
+
+ 7 hours from the provided date
+
+
+
+
+ 7 days from now
+
+
+
+
+ 7 days from the provided date
+
+
+
+
+ 7 weeks from now
+
+
+
+
+ 7 weeks from the provided date
+
+
+
+
+ 7 months from now
+
+
+
+
+ 7 months from the provided date
+
+
+
+
+ 7 years from now
+
+
+
+
+ 7 years from the provided date
+
+
+
+
+
+
+
+
+ 8 seconds from now
+
+
+
+
+ 8 seconds from the provided date
+
+
+
+
+ 8 minutes from now
+
+
+
+
+ 8 minutes from the provided date
+
+
+
+
+ 8 hours from now
+
+
+
+
+ 8 hours from the provided date
+
+
+
+
+ 8 days from now
+
+
+
+
+ 8 days from the provided date
+
+
+
+
+ 8 weeks from now
+
+
+
+
+ 8 weeks from the provided date
+
+
+
+
+ 8 months from now
+
+
+
+
+ 8 months from the provided date
+
+
+
+
+ 8 years from now
+
+
+
+
+ 8 years from the provided date
+
+
+
+
+
+
+
+
+ 9 seconds from now
+
+
+
+
+ 9 seconds from the provided date
+
+
+
+
+ 9 minutes from now
+
+
+
+
+ 9 minutes from the provided date
+
+
+
+
+ 9 hours from now
+
+
+
+
+ 9 hours from the provided date
+
+
+
+
+ 9 days from now
+
+
+
+
+ 9 days from the provided date
+
+
+
+
+ 9 weeks from now
+
+
+
+
+ 9 weeks from the provided date
+
+
+
+
+ 9 months from now
+
+
+
+
+ 9 months from the provided date
+
+
+
+
+ 9 years from now
+
+
+
+
+ 9 years from the provided date
+
+
+
+
+
+
+
+
+ 10 seconds from now
+
+
+
+
+ 10 seconds from the provided date
+
+
+
+
+ 10 minutes from now
+
+
+
+
+ 10 minutes from the provided date
+
+
+
+
+ 10 hours from now
+
+
+
+
+ 10 hours from the provided date
+
+
+
+
+ 10 days from now
+
+
+
+
+ 10 days from the provided date
+
+
+
+
+ 10 weeks from now
+
+
+
+
+ 10 weeks from the provided date
+
+
+
+
+ 10 months from now
+
+
+
+
+ 10 months from the provided date
+
+
+
+
+ 10 years from now
+
+
+
+
+ 10 years from the provided date
+
+
+
+
+ Returns the first of January of the provided year
+
+
+
+
+
+
+ Returns 1st of January of the current year
+
+
+
+
+ Returns 1st of January of the year passed in
+
+
+
+
+ Returns 1st of February of the current year
+
+
+
+
+ Returns 1st of February of the year passed in
+
+
+
+
+ Returns 1st of March of the current year
+
+
+
+
+ Returns 1st of March of the year passed in
+
+
+
+
+ Returns 1st of April of the current year
+
+
+
+
+ Returns 1st of April of the year passed in
+
+
+
+
+ Returns 1st of May of the current year
+
+
+
+
+ Returns 1st of May of the year passed in
+
+
+
+
+ Returns 1st of June of the current year
+
+
+
+
+ Returns 1st of June of the year passed in
+
+
+
+
+ Returns 1st of July of the current year
+
+
+
+
+ Returns 1st of July of the year passed in
+
+
+
+
+ Returns 1st of August of the current year
+
+
+
+
+ Returns 1st of August of the year passed in
+
+
+
+
+ Returns 1st of September of the current year
+
+
+
+
+ Returns 1st of September of the year passed in
+
+
+
+
+ Returns 1st of October of the current year
+
+
+
+
+ Returns 1st of October of the year passed in
+
+
+
+
+ Returns 1st of November of the current year
+
+
+
+
+ Returns 1st of November of the year passed in
+
+
+
+
+ Returns 1st of December of the current year
+
+
+
+
+ Returns 1st of December of the year passed in
+
+
+
+
+
+
+
+
+ Provides fluent date accessors for January
+
+
+
+
+ The nth day of January of the current year
+
+
+
+
+ The 1st day of January of the current year
+
+
+
+
+ The 2nd day of January of the current year
+
+
+
+
+ The 3rd day of January of the current year
+
+
+
+
+ The 4th day of January of the current year
+
+
+
+
+ The 5th day of January of the current year
+
+
+
+
+ The 6th day of January of the current year
+
+
+
+
+ The 7th day of January of the current year
+
+
+
+
+ The 8th day of January of the current year
+
+
+
+
+ The 9th day of January of the current year
+
+
+
+
+ The 10th day of January of the current year
+
+
+
+
+ The 11th day of January of the current year
+
+
+
+
+ The 12th day of January of the current year
+
+
+
+
+ The 13th day of January of the current year
+
+
+
+
+ The 14th day of January of the current year
+
+
+
+
+ The 15th day of January of the current year
+
+
+
+
+ The 16th day of January of the current year
+
+
+
+
+ The 17th day of January of the current year
+
+
+
+
+ The 18th day of January of the current year
+
+
+
+
+ The 19th day of January of the current year
+
+
+
+
+ The 20th day of January of the current year
+
+
+
+
+ The 21st day of January of the current year
+
+
+
+
+ The 22nd day of January of the current year
+
+
+
+
+ The 23rd day of January of the current year
+
+
+
+
+ The 24th day of January of the current year
+
+
+
+
+ The 25th day of January of the current year
+
+
+
+
+ The 26th day of January of the current year
+
+
+
+
+ The 27th day of January of the current year
+
+
+
+
+ The 28th day of January of the current year
+
+
+
+
+ The 29th day of January of the current year
+
+
+
+
+ The 30th day of January of the current year
+
+
+
+
+ The 31st day of January of the current year
+
+
+
+
+ Provides fluent date accessors for February
+
+
+
+
+ The nth day of February of the current year
+
+
+
+
+ The 1st day of February of the current year
+
+
+
+
+ The 2nd day of February of the current year
+
+
+
+
+ The 3rd day of February of the current year
+
+
+
+
+ The 4th day of February of the current year
+
+
+
+
+ The 5th day of February of the current year
+
+
+
+
+ The 6th day of February of the current year
+
+
+
+
+ The 7th day of February of the current year
+
+
+
+
+ The 8th day of February of the current year
+
+
+
+
+ The 9th day of February of the current year
+
+
+
+
+ The 10th day of February of the current year
+
+
+
+
+ The 11th day of February of the current year
+
+
+
+
+ The 12th day of February of the current year
+
+
+
+
+ The 13th day of February of the current year
+
+
+
+
+ The 14th day of February of the current year
+
+
+
+
+ The 15th day of February of the current year
+
+
+
+
+ The 16th day of February of the current year
+
+
+
+
+ The 17th day of February of the current year
+
+
+
+
+ The 18th day of February of the current year
+
+
+
+
+ The 19th day of February of the current year
+
+
+
+
+ The 20th day of February of the current year
+
+
+
+
+ The 21st day of February of the current year
+
+
+
+
+ The 22nd day of February of the current year
+
+
+
+
+ The 23rd day of February of the current year
+
+
+
+
+ The 24th day of February of the current year
+
+
+
+
+ The 25th day of February of the current year
+
+
+
+
+ The 26th day of February of the current year
+
+
+
+
+ The 27th day of February of the current year
+
+
+
+
+ The 28th day of February of the current year
+
+
+
+
+ The 29th day of February of the current year
+
+
+
+
+ Provides fluent date accessors for March
+
+
+
+
+ The nth day of March of the current year
+
+
+
+
+ The 1st day of March of the current year
+
+
+
+
+ The 2nd day of March of the current year
+
+
+
+
+ The 3rd day of March of the current year
+
+
+
+
+ The 4th day of March of the current year
+
+
+
+
+ The 5th day of March of the current year
+
+
+
+
+ The 6th day of March of the current year
+
+
+
+
+ The 7th day of March of the current year
+
+
+
+
+ The 8th day of March of the current year
+
+
+
+
+ The 9th day of March of the current year
+
+
+
+
+ The 10th day of March of the current year
+
+
+
+
+ The 11th day of March of the current year
+
+
+
+
+ The 12th day of March of the current year
+
+
+
+
+ The 13th day of March of the current year
+
+
+
+
+ The 14th day of March of the current year
+
+
+
+
+ The 15th day of March of the current year
+
+
+
+
+ The 16th day of March of the current year
+
+
+
+
+ The 17th day of March of the current year
+
+
+
+
+ The 18th day of March of the current year
+
+
+
+
+ The 19th day of March of the current year
+
+
+
+
+ The 20th day of March of the current year
+
+
+
+
+ The 21st day of March of the current year
+
+
+
+
+ The 22nd day of March of the current year
+
+
+
+
+ The 23rd day of March of the current year
+
+
+
+
+ The 24th day of March of the current year
+
+
+
+
+ The 25th day of March of the current year
+
+
+
+
+ The 26th day of March of the current year
+
+
+
+
+ The 27th day of March of the current year
+
+
+
+
+ The 28th day of March of the current year
+
+
+
+
+ The 29th day of March of the current year
+
+
+
+
+ The 30th day of March of the current year
+
+
+
+
+ The 31st day of March of the current year
+
+
+
+
+ Provides fluent date accessors for April
+
+
+
+
+ The nth day of April of the current year
+
+
+
+
+ The 1st day of April of the current year
+
+
+
+
+ The 2nd day of April of the current year
+
+
+
+
+ The 3rd day of April of the current year
+
+
+
+
+ The 4th day of April of the current year
+
+
+
+
+ The 5th day of April of the current year
+
+
+
+
+ The 6th day of April of the current year
+
+
+
+
+ The 7th day of April of the current year
+
+
+
+
+ The 8th day of April of the current year
+
+
+
+
+ The 9th day of April of the current year
+
+
+
+
+ The 10th day of April of the current year
+
+
+
+
+ The 11th day of April of the current year
+
+
+
+
+ The 12th day of April of the current year
+
+
+
+
+ The 13th day of April of the current year
+
+
+
+
+ The 14th day of April of the current year
+
+
+
+
+ The 15th day of April of the current year
+
+
+
+
+ The 16th day of April of the current year
+
+
+
+
+ The 17th day of April of the current year
+
+
+
+
+ The 18th day of April of the current year
+
+
+
+
+ The 19th day of April of the current year
+
+
+
+
+ The 20th day of April of the current year
+
+
+
+
+ The 21st day of April of the current year
+
+
+
+
+ The 22nd day of April of the current year
+
+
+
+
+ The 23rd day of April of the current year
+
+
+
+
+ The 24th day of April of the current year
+
+
+
+
+ The 25th day of April of the current year
+
+
+
+
+ The 26th day of April of the current year
+
+
+
+
+ The 27th day of April of the current year
+
+
+
+
+ The 28th day of April of the current year
+
+
+
+
+ The 29th day of April of the current year
+
+
+
+
+ The 30th day of April of the current year
+
+
+
+
+ Provides fluent date accessors for May
+
+
+
+
+ The nth day of May of the current year
+
+
+
+
+ The 1st day of May of the current year
+
+
+
+
+ The 2nd day of May of the current year
+
+
+
+
+ The 3rd day of May of the current year
+
+
+
+
+ The 4th day of May of the current year
+
+
+
+
+ The 5th day of May of the current year
+
+
+
+
+ The 6th day of May of the current year
+
+
+
+
+ The 7th day of May of the current year
+
+
+
+
+ The 8th day of May of the current year
+
+
+
+
+ The 9th day of May of the current year
+
+
+
+
+ The 10th day of May of the current year
+
+
+
+
+ The 11th day of May of the current year
+
+
+
+
+ The 12th day of May of the current year
+
+
+
+
+ The 13th day of May of the current year
+
+
+
+
+ The 14th day of May of the current year
+
+
+
+
+ The 15th day of May of the current year
+
+
+
+
+ The 16th day of May of the current year
+
+
+
+
+ The 17th day of May of the current year
+
+
+
+
+ The 18th day of May of the current year
+
+
+
+
+ The 19th day of May of the current year
+
+
+
+
+ The 20th day of May of the current year
+
+
+
+
+ The 21st day of May of the current year
+
+
+
+
+ The 22nd day of May of the current year
+
+
+
+
+ The 23rd day of May of the current year
+
+
+
+
+ The 24th day of May of the current year
+
+
+
+
+ The 25th day of May of the current year
+
+
+
+
+ The 26th day of May of the current year
+
+
+
+
+ The 27th day of May of the current year
+
+
+
+
+ The 28th day of May of the current year
+
+
+
+
+ The 29th day of May of the current year
+
+
+
+
+ The 30th day of May of the current year
+
+
+
+
+ The 31st day of May of the current year
+
+
+
+
+ Provides fluent date accessors for June
+
+
+
+
+ The nth day of June of the current year
+
+
+
+
+ The 1st day of June of the current year
+
+
+
+
+ The 2nd day of June of the current year
+
+
+
+
+ The 3rd day of June of the current year
+
+
+
+
+ The 4th day of June of the current year
+
+
+
+
+ The 5th day of June of the current year
+
+
+
+
+ The 6th day of June of the current year
+
+
+
+
+ The 7th day of June of the current year
+
+
+
+
+ The 8th day of June of the current year
+
+
+
+
+ The 9th day of June of the current year
+
+
+
+
+ The 10th day of June of the current year
+
+
+
+
+ The 11th day of June of the current year
+
+
+
+
+ The 12th day of June of the current year
+
+
+
+
+ The 13th day of June of the current year
+
+
+
+
+ The 14th day of June of the current year
+
+
+
+
+ The 15th day of June of the current year
+
+
+
+
+ The 16th day of June of the current year
+
+
+
+
+ The 17th day of June of the current year
+
+
+
+
+ The 18th day of June of the current year
+
+
+
+
+ The 19th day of June of the current year
+
+
+
+
+ The 20th day of June of the current year
+
+
+
+
+ The 21st day of June of the current year
+
+
+
+
+ The 22nd day of June of the current year
+
+
+
+
+ The 23rd day of June of the current year
+
+
+
+
+ The 24th day of June of the current year
+
+
+
+
+ The 25th day of June of the current year
+
+
+
+
+ The 26th day of June of the current year
+
+
+
+
+ The 27th day of June of the current year
+
+
+
+
+ The 28th day of June of the current year
+
+
+
+
+ The 29th day of June of the current year
+
+
+
+
+ The 30th day of June of the current year
+
+
+
+
+ Provides fluent date accessors for July
+
+
+
+
+ The nth day of July of the current year
+
+
+
+
+ The 1st day of July of the current year
+
+
+
+
+ The 2nd day of July of the current year
+
+
+
+
+ The 3rd day of July of the current year
+
+
+
+
+ The 4th day of July of the current year
+
+
+
+
+ The 5th day of July of the current year
+
+
+
+
+ The 6th day of July of the current year
+
+
+
+
+ The 7th day of July of the current year
+
+
+
+
+ The 8th day of July of the current year
+
+
+
+
+ The 9th day of July of the current year
+
+
+
+
+ The 10th day of July of the current year
+
+
+
+
+ The 11th day of July of the current year
+
+
+
+
+ The 12th day of July of the current year
+
+
+
+
+ The 13th day of July of the current year
+
+
+
+
+ The 14th day of July of the current year
+
+
+
+
+ The 15th day of July of the current year
+
+
+
+
+ The 16th day of July of the current year
+
+
+
+
+ The 17th day of July of the current year
+
+
+
+
+ The 18th day of July of the current year
+
+
+
+
+ The 19th day of July of the current year
+
+
+
+
+ The 20th day of July of the current year
+
+
+
+
+ The 21st day of July of the current year
+
+
+
+
+ The 22nd day of July of the current year
+
+
+
+
+ The 23rd day of July of the current year
+
+
+
+
+ The 24th day of July of the current year
+
+
+
+
+ The 25th day of July of the current year
+
+
+
+
+ The 26th day of July of the current year
+
+
+
+
+ The 27th day of July of the current year
+
+
+
+
+ The 28th day of July of the current year
+
+
+
+
+ The 29th day of July of the current year
+
+
+
+
+ The 30th day of July of the current year
+
+
+
+
+ The 31st day of July of the current year
+
+
+
+
+ Provides fluent date accessors for August
+
+
+
+
+ The nth day of August of the current year
+
+
+
+
+ The 1st day of August of the current year
+
+
+
+
+ The 2nd day of August of the current year
+
+
+
+
+ The 3rd day of August of the current year
+
+
+
+
+ The 4th day of August of the current year
+
+
+
+
+ The 5th day of August of the current year
+
+
+
+
+ The 6th day of August of the current year
+
+
+
+
+ The 7th day of August of the current year
+
+
+
+
+ The 8th day of August of the current year
+
+
+
+
+ The 9th day of August of the current year
+
+
+
+
+ The 10th day of August of the current year
+
+
+
+
+ The 11th day of August of the current year
+
+
+
+
+ The 12th day of August of the current year
+
+
+
+
+ The 13th day of August of the current year
+
+
+
+
+ The 14th day of August of the current year
+
+
+
+
+ The 15th day of August of the current year
+
+
+
+
+ The 16th day of August of the current year
+
+
+
+
+ The 17th day of August of the current year
+
+
+
+
+ The 18th day of August of the current year
+
+
+
+
+ The 19th day of August of the current year
+
+
+
+
+ The 20th day of August of the current year
+
+
+
+
+ The 21st day of August of the current year
+
+
+
+
+ The 22nd day of August of the current year
+
+
+
+
+ The 23rd day of August of the current year
+
+
+
+
+ The 24th day of August of the current year
+
+
+
+
+ The 25th day of August of the current year
+
+
+
+
+ The 26th day of August of the current year
+
+
+
+
+ The 27th day of August of the current year
+
+
+
+
+ The 28th day of August of the current year
+
+
+
+
+ The 29th day of August of the current year
+
+
+
+
+ The 30th day of August of the current year
+
+
+
+
+ The 31st day of August of the current year
+
+
+
+
+ Provides fluent date accessors for September
+
+
+
+
+ The nth day of September of the current year
+
+
+
+
+ The 1st day of September of the current year
+
+
+
+
+ The 2nd day of September of the current year
+
+
+
+
+ The 3rd day of September of the current year
+
+
+
+
+ The 4th day of September of the current year
+
+
+
+
+ The 5th day of September of the current year
+
+
+
+
+ The 6th day of September of the current year
+
+
+
+
+ The 7th day of September of the current year
+
+
+
+
+ The 8th day of September of the current year
+
+
+
+
+ The 9th day of September of the current year
+
+
+
+
+ The 10th day of September of the current year
+
+
+
+
+ The 11th day of September of the current year
+
+
+
+
+ The 12th day of September of the current year
+
+
+
+
+ The 13th day of September of the current year
+
+
+
+
+ The 14th day of September of the current year
+
+
+
+
+ The 15th day of September of the current year
+
+
+
+
+ The 16th day of September of the current year
+
+
+
+
+ The 17th day of September of the current year
+
+
+
+
+ The 18th day of September of the current year
+
+
+
+
+ The 19th day of September of the current year
+
+
+
+
+ The 20th day of September of the current year
+
+
+
+
+ The 21st day of September of the current year
+
+
+
+
+ The 22nd day of September of the current year
+
+
+
+
+ The 23rd day of September of the current year
+
+
+
+
+ The 24th day of September of the current year
+
+
+
+
+ The 25th day of September of the current year
+
+
+
+
+ The 26th day of September of the current year
+
+
+
+
+ The 27th day of September of the current year
+
+
+
+
+ The 28th day of September of the current year
+
+
+
+
+ The 29th day of September of the current year
+
+
+
+
+ The 30th day of September of the current year
+
+
+
+
+ Provides fluent date accessors for October
+
+
+
+
+ The nth day of October of the current year
+
+
+
+
+ The 1st day of October of the current year
+
+
+
+
+ The 2nd day of October of the current year
+
+
+
+
+ The 3rd day of October of the current year
+
+
+
+
+ The 4th day of October of the current year
+
+
+
+
+ The 5th day of October of the current year
+
+
+
+
+ The 6th day of October of the current year
+
+
+
+
+ The 7th day of October of the current year
+
+
+
+
+ The 8th day of October of the current year
+
+
+
+
+ The 9th day of October of the current year
+
+
+
+
+ The 10th day of October of the current year
+
+
+
+
+ The 11th day of October of the current year
+
+
+
+
+ The 12th day of October of the current year
+
+
+
+
+ The 13th day of October of the current year
+
+
+
+
+ The 14th day of October of the current year
+
+
+
+
+ The 15th day of October of the current year
+
+
+
+
+ The 16th day of October of the current year
+
+
+
+
+ The 17th day of October of the current year
+
+
+
+
+ The 18th day of October of the current year
+
+
+
+
+ The 19th day of October of the current year
+
+
+
+
+ The 20th day of October of the current year
+
+
+
+
+ The 21st day of October of the current year
+
+
+
+
+ The 22nd day of October of the current year
+
+
+
+
+ The 23rd day of October of the current year
+
+
+
+
+ The 24th day of October of the current year
+
+
+
+
+ The 25th day of October of the current year
+
+
+
+
+ The 26th day of October of the current year
+
+
+
+
+ The 27th day of October of the current year
+
+
+
+
+ The 28th day of October of the current year
+
+
+
+
+ The 29th day of October of the current year
+
+
+
+
+ The 30th day of October of the current year
+
+
+
+
+ The 31st day of October of the current year
+
+
+
+
+ Provides fluent date accessors for November
+
+
+
+
+ The nth day of November of the current year
+
+
+
+
+ The 1st day of November of the current year
+
+
+
+
+ The 2nd day of November of the current year
+
+
+
+
+ The 3rd day of November of the current year
+
+
+
+
+ The 4th day of November of the current year
+
+
+
+
+ The 5th day of November of the current year
+
+
+
+
+ The 6th day of November of the current year
+
+
+
+
+ The 7th day of November of the current year
+
+
+
+
+ The 8th day of November of the current year
+
+
+
+
+ The 9th day of November of the current year
+
+
+
+
+ The 10th day of November of the current year
+
+
+
+
+ The 11th day of November of the current year
+
+
+
+
+ The 12th day of November of the current year
+
+
+
+
+ The 13th day of November of the current year
+
+
+
+
+ The 14th day of November of the current year
+
+
+
+
+ The 15th day of November of the current year
+
+
+
+
+ The 16th day of November of the current year
+
+
+
+
+ The 17th day of November of the current year
+
+
+
+
+ The 18th day of November of the current year
+
+
+
+
+ The 19th day of November of the current year
+
+
+
+
+ The 20th day of November of the current year
+
+
+
+
+ The 21st day of November of the current year
+
+
+
+
+ The 22nd day of November of the current year
+
+
+
+
+ The 23rd day of November of the current year
+
+
+
+
+ The 24th day of November of the current year
+
+
+
+
+ The 25th day of November of the current year
+
+
+
+
+ The 26th day of November of the current year
+
+
+
+
+ The 27th day of November of the current year
+
+
+
+
+ The 28th day of November of the current year
+
+
+
+
+ The 29th day of November of the current year
+
+
+
+
+ The 30th day of November of the current year
+
+
+
+
+ Provides fluent date accessors for December
+
+
+
+
+ The nth day of December of the current year
+
+
+
+
+ The 1st day of December of the current year
+
+
+
+
+ The 2nd day of December of the current year
+
+
+
+
+ The 3rd day of December of the current year
+
+
+
+
+ The 4th day of December of the current year
+
+
+
+
+ The 5th day of December of the current year
+
+
+
+
+ The 6th day of December of the current year
+
+
+
+
+ The 7th day of December of the current year
+
+
+
+
+ The 8th day of December of the current year
+
+
+
+
+ The 9th day of December of the current year
+
+
+
+
+ The 10th day of December of the current year
+
+
+
+
+ The 11th day of December of the current year
+
+
+
+
+ The 12th day of December of the current year
+
+
+
+
+ The 13th day of December of the current year
+
+
+
+
+ The 14th day of December of the current year
+
+
+
+
+ The 15th day of December of the current year
+
+
+
+
+ The 16th day of December of the current year
+
+
+
+
+ The 17th day of December of the current year
+
+
+
+
+ The 18th day of December of the current year
+
+
+
+
+ The 19th day of December of the current year
+
+
+
+
+ The 20th day of December of the current year
+
+
+
+
+ The 21st day of December of the current year
+
+
+
+
+ The 22nd day of December of the current year
+
+
+
+
+ The 23rd day of December of the current year
+
+
+
+
+ The 24th day of December of the current year
+
+
+
+
+ The 25th day of December of the current year
+
+
+
+
+ The 26th day of December of the current year
+
+
+
+
+ The 27th day of December of the current year
+
+
+
+
+ The 28th day of December of the current year
+
+
+
+
+ The 29th day of December of the current year
+
+
+
+
+ The 30th day of December of the current year
+
+
+
+
+ The 31st day of December of the current year
+
+
+
+
+ Dictating what should be done when a match is not found - currently used only for DehumanizeTo
+
+
+
+
+ This is the default behavior which throws a NoMatchFoundException
+
+
+
+
+ If set to ReturnsNull the method returns null instead of throwing an exception
+
+
+
+
+ This is thrown on String.DehumanizeTo enum when the provided string cannot be mapped to the target enum
+
+
+
+
+ Contains extension methods for changing a number to Roman representation (ToRoman) and from Roman representation back to the number (FromRoman)
+
+
+
+
+ Converts Roman numbers into integer
+
+ Roman number
+ Human-readable number
+
+
+
+ Converts the input to Roman number
+
+ Integer input
+ Roman number
+
+
+
+ Extension methods for String type.
+
+
+
+
+ Extension method to format string with passed arguments. Current thread's current culture is used
+
+ string format
+ arguments
+
+
+
+
+ Extension method to format string with passed arguments using specified format provider (i.e. CultureInfo)
+
+ string format
+ An object that supplies culture-specific formatting information
+ arguments
+
+
+
+
+ Enumerates the ways of displaying a quantity value when converting
+ a word to a quantity string.
+
+
+
+
+ Indicates that no quantity will be included in the formatted string.
+
+
+
+
+ Indicates that the quantity will be included in the output, formatted
+ as its numeric value (e.g. "1").
+
+
+
+
+ Incidates that the quantity will be included in the output, formatted as
+ words (e.g. 123 => "one hundred and twenty three").
+
+
+
+
+ Provides extensions for formatting a word as a quantity.
+
+
+
+
+ Prefixes the provided word with the number and accordingly pluralizes or singularizes the word
+
+ The word to be prefixed
+ The quantity of the word
+ How to show the quantity. Numeric by default
+
+ "request".ToQuantity(0) => "0 requests"
+ "request".ToQuantity(1) => "1 request"
+ "request".ToQuantity(2) => "2 requests"
+ "men".ToQuantity(2) => "2 men"
+ "process".ToQuantity(1200, ShowQuantityAs.Words) => "one thousand two hundred processes"
+
+
+
+
+
+ Prefixes the provided word with the number and accordingly pluralizes or singularizes the word
+
+ The word to be prefixed
+ The quantity of the word
+ A standard or custom numeric format string.
+ An object that supplies culture-specific formatting information.
+
+ "request".ToQuantity(0) => "0 requests"
+ "request".ToQuantity(10000, format: "N0") => "10,000 requests"
+ "request".ToQuantity(1, format: "N0") => "1 request"
+
+
+
+
+
+ A portal to string transformation using IStringTransformer
+
+
+
+
+ Transforms a string using the provided transformers. Transformations are applied in the provided order.
+
+
+
+
+
+
+
+ Changes string to title case
+
+
+ "INvalid caSEs arE corrected" -> "Invalid Cases Are Corrected"
+
+
+
+
+ Changes the string to lower case
+
+
+ "Sentence casing" -> "sentence casing"
+
+
+
+
+ Changes the string to upper case
+
+
+ "lower case statement" -> "LOWER CASE STATEMENT"
+
+
+
+
+ Changes the string to sentence case
+
+
+ "lower case statement" -> "Lower case statement"
+
+
+
+
+ Can tranform a string
+
+
+
+
+ Transform the input
+
+ String to be transformed
+
+
+
+
+ Contains extension methods for dehumanizing Enum string values.
+
+
+
+
+ Dehumanizes a string into the Enum it was originally Humanized from!
+
+ The target enum
+ The string to be converted
+ If TTargetEnum is not an enum
+ Couldn't find any enum member that matches the string
+
+
+
+
+ Dehumanizes a string into the Enum it was originally Humanized from!
+
+ The string to be converted
+ The target enum
+ What to do when input is not matched to the enum.
+
+ Couldn't find any enum member that matches the string
+ If targetEnum is not an enum
+
+
+
+ Contains extension methods for humanizing Enums
+
+
+
+
+ Turns an enum member into a human readable string; e.g. AnonymousUser -> Anonymous user. It also honors DescriptionAttribute data annotation
+
+ The enum member to be humanized
+
+
+
+
+ Checks whether the given enum is to be used as a bit field type.
+
+
+ True if the given enum is a bit field enum, false otherwise.
+
+
+
+ Turns an enum member into a human readable string with the provided casing; e.g. AnonymousUser with Title casing -> Anonymous User. It also honors DescriptionAttribute data annotation
+
+ The enum member to be humanized
+ The casing to use for humanizing the enum member
+
+
+
+
+ extensions related to spatial or temporal relations
+
+
+
+
+ Returns a new with the specifed hour and, optionally
+ provided minutes, seconds, and milliseconds.
+
+
+
+
+ Returns a new instance of DateTime based on the provided date where the time is set to midnight
+
+
+
+
+
+
+ Returns a new instance of DateTime based on the provided date where the time is set to noon
+
+
+
+
+
+
+ Returns a new instance of DateTime based on the provided date where the year is set to the provided year
+
+
+
+
+
+
+
+ Number to TimeSpan extensions
+
+
+
+
+ 5.Milliseconds() == TimeSpan.FromMilliseconds(5)
+
+
+
+
+
+
+ 5.Milliseconds() == TimeSpan.FromMilliseconds(5)
+
+
+
+
+
+
+ 5.Milliseconds() == TimeSpan.FromMilliseconds(5)
+
+
+
+
+
+
+ 5.Milliseconds() == TimeSpan.FromMilliseconds(5)
+
+
+
+
+
+
+ 5.Milliseconds() == TimeSpan.FromMilliseconds(5)
+
+
+
+
+
+
+ 5.Milliseconds() == TimeSpan.FromMilliseconds(5)
+
+
+
+
+
+
+ 5.Milliseconds() == TimeSpan.FromMilliseconds(5)
+
+
+
+
+
+
+ 5.Milliseconds() == TimeSpan.FromMilliseconds(5)
+
+
+
+
+
+
+ 5.Milliseconds() == TimeSpan.FromMilliseconds(5)
+
+
+
+
+
+
+ 5.Seconds() == TimeSpan.FromSeconds(5)
+
+
+
+
+
+
+ 5.Seconds() == TimeSpan.FromSeconds(5)
+
+
+
+
+
+
+ 5.Seconds() == TimeSpan.FromSeconds(5)
+
+
+
+
+
+
+ 5.Seconds() == TimeSpan.FromSeconds(5)
+
+
+
+
+
+
+ 5.Seconds() == TimeSpan.FromSeconds(5)
+
+
+
+
+
+
+ 5.Seconds() == TimeSpan.FromSeconds(5)
+
+
+
+
+
+
+ 5.Seconds() == TimeSpan.FromSeconds(5)
+
+
+
+
+
+
+ 5.Seconds() == TimeSpan.FromSeconds(5)
+
+
+
+
+
+
+ 5.Seconds() == TimeSpan.FromSeconds(5)
+
+
+
+
+
+
+ 4.Minutes() == TimeSpan.FromMinutes(4)
+
+
+
+
+
+
+ 4.Minutes() == TimeSpan.FromMinutes(4)
+
+
+
+
+
+
+ 4.Minutes() == TimeSpan.FromMinutes(4)
+
+
+
+
+
+
+ 4.Minutes() == TimeSpan.FromMinutes(4)
+
+
+
+
+
+
+ 4.Minutes() == TimeSpan.FromMinutes(4)
+
+
+
+
+
+
+ 4.Minutes() == TimeSpan.FromMinutes(4)
+
+
+
+
+
+
+ 4.Minutes() == TimeSpan.FromMinutes(4)
+
+
+
+
+
+
+ 4.Minutes() == TimeSpan.FromMinutes(4)
+
+
+
+
+
+
+ 4.Minutes() == TimeSpan.FromMinutes(4)
+
+
+
+
+
+
+ 3.Hours() == TimeSpan.FromHours(3)
+
+
+
+
+
+
+ 3.Hours() == TimeSpan.FromHours(3)
+
+
+
+
+
+
+ 3.Hours() == TimeSpan.FromHours(3)
+
+
+
+
+
+
+ 3.Hours() == TimeSpan.FromHours(3)
+
+
+
+
+
+
+ 3.Hours() == TimeSpan.FromHours(3)
+
+
+
+
+
+
+ 3.Hours() == TimeSpan.FromHours(3)
+
+
+
+
+
+
+ 3.Hours() == TimeSpan.FromHours(3)
+
+
+
+
+
+
+ 3.Hours() == TimeSpan.FromHours(3)
+
+
+
+
+
+
+ 3.Hours() == TimeSpan.FromHours(3)
+
+
+
+
+
+
+ 2.Days() == TimeSpan.FromDays(2)
+
+
+
+
+
+
+ 2.Days() == TimeSpan.FromDays(2)
+
+
+
+
+
+
+ 2.Days() == TimeSpan.FromDays(2)
+
+
+
+
+
+
+ 2.Days() == TimeSpan.FromDays(2)
+
+
+
+
+
+
+ 2.Days() == TimeSpan.FromDays(2)
+
+
+
+
+
+
+ 2.Days() == TimeSpan.FromDays(2)
+
+
+
+
+
+
+ 2.Days() == TimeSpan.FromDays(2)
+
+
+
+
+
+
+ 2.Days() == TimeSpan.FromDays(2)
+
+
+
+
+
+
+ 2.Days() == TimeSpan.FromDays(2)
+
+
+
+
+
+
+ 2.Weeks() == new TimeSpan(14, 0, 0, 0)
+
+
+
+
+
+
+ 2.Weeks() == new TimeSpan(14, 0, 0, 0)
+
+
+
+
+
+
+ 2.Weeks() == new TimeSpan(14, 0, 0, 0)
+
+
+
+
+
+
+ 2.Weeks() == new TimeSpan(14, 0, 0, 0)
+
+
+
+
+
+
+ 2.Weeks() == new TimeSpan(14, 0, 0, 0)
+
+
+
+
+
+
+ 2.Weeks() == new TimeSpan(14, 0, 0, 0)
+
+
+
+
+
+
+ 2.Weeks() == new TimeSpan(14, 0, 0, 0)
+
+
+
+
+
+
+ 2.Weeks() == new TimeSpan(14, 0, 0, 0)
+
+
+
+
+
+
+ 2.Weeks() == new TimeSpan(14, 0, 0, 0)
+
+
+
+
+
+
+ Inflector extensions
+
+
+
+
+ Pluralizes the provided input considering irregular words
+
+ Word to be pluralized
+ Normally you call Pluralize on singular words; but if you're unsure call it with false
+
+
+
+
+ Singularizes the provided input considering irregular words
+
+ Word to be singularized
+ Normally you call Singularize on plural words; but if you're unsure call it with false
+
+
+
+
+ Humanizes the input with Title casing
+
+ The string to be titleized
+
+
+
+
+ By default, pascalize converts strings to UpperCamelCase also removing underscores
+
+
+
+
+
+
+ Same as Pascalize except that the first character is lower case
+
+
+
+
+
+
+ Separates the input words with underscore
+
+ The string to be underscored
+
+
+
+
+ Replaces underscores with dashes in the string
+
+
+
+
+
+
+ Replaces underscores with hyphens in the string
+
+
+
+
+
+
+ Options for specifying the desired letter casing for the output string
+
+
+
+
+ SomeString -> Some String
+
+
+
+
+ SomeString -> SOME STRING
+
+
+
+
+ SomeString -> some string
+
+
+
+
+ SomeString -> Some string
+
+
+
+
+ Transform a number into words; e.g. 1 => one
+
+
+
+
+ 3501.ToWords() -> "three thousand five hundred and one"
+
+ Number to be turned to words
+ Culture to use. If null, current thread's UI culture is used.
+
+
+
+
+ For locales that support gender-specific forms
+
+
+ Russian:
+
+ 1.ToWords(GrammaticalGender.Masculine) -> "один"
+ 1.ToWords(GrammaticalGender.Feminine) -> "одна"
+
+ Hebrew:
+
+ 1.ToWords(GrammaticalGender.Masculine) -> "אחד"
+ 1.ToWords(GrammaticalGender.Feminine) -> "אחת"
+
+
+
+ Number to be turned to words
+ The grammatical gender to use for output words
+ Culture to use. If null, current thread's UI culture is used.
+
+
+
+
+ 1.ToOrdinalWords() -> "first"
+
+ Number to be turned to ordinal words
+ Culture to use. If null, current thread's UI culture is used.
+
+
+
+
+ for Brazilian Portuguese locale
+ 1.ToOrdinalWords(GrammaticalGender.Masculine) -> "primeiro"
+ 1.ToOrdinalWords(GrammaticalGender.Feminine) -> "primeira"
+
+ Number to be turned to words
+ The grammatical gender to use for output words
+ Culture to use. If null, current thread's UI culture is used.
+
+
+
+
+ Ordinalize extensions
+
+
+
+
+ Turns a number into an ordinal string used to denote the position in an ordered sequence such as 1st, 2nd, 3rd, 4th.
+
+ The number, in string, to be ordinalized
+
+
+
+
+ Turns a number into an ordinal string used to denote the position in an ordered sequence such as 1st, 2nd, 3rd, 4th.
+ Gender for Brazilian Portuguese locale
+ "1".Ordinalize(GrammaticalGender.Masculine) -> "1º"
+ "1".Ordinalize(GrammaticalGender.Feminine) -> "1ª"
+
+ The number, in string, to be ordinalized
+ The grammatical gender to use for output words
+
+
+
+
+ Turns a number into an ordinal number used to denote the position in an ordered sequence such as 1st, 2nd, 3rd, 4th.
+
+ The number to be ordinalized
+
+
+
+
+ Turns a number into an ordinal number used to denote the position in an ordered sequence such as 1st, 2nd, 3rd, 4th.
+ Gender for Brazilian Portuguese locale
+ 1.Ordinalize(GrammaticalGender.Masculine) -> "1º"
+ 1.Ordinalize(GrammaticalGender.Feminine) -> "1ª"
+
+ The number to be ordinalized
+ The grammatical gender to use for output words
+
+
+
+
+ Contains extension methods for dehumanizing strings.
+
+
+
+
+ Dehumanizes a string; e.g. 'some string', 'Some String', 'Some string' -> 'SomeString'
+
+ The string to be dehumanized
+
+
+
+
+ Contains extension methods for humanizing string values.
+
+
+
+
+ Humanizes the input string; e.g. Underscored_input_String_is_turned_INTO_sentence -> 'Underscored input String is turned INTO sentence'
+
+ The string to be humanized
+
+
+
+
+ Humanized the input string based on the provided casing
+
+ The string to be humanized
+ The desired casing for the output
+
+
+
+
+ Truncate a string to a fixed length
+
+
+
+
+ Truncate a string to a fixed number of letters or digits
+
+
+
+
+ Truncate a string to a fixed number of words
+
+
+
+
+ Can truncate a string.
+
+
+
+
+ Truncate a string
+
+ The string to truncate
+ The length to truncate to
+ The string used to truncate with
+ The enum value used to determine from where to truncate the string
+ The truncated string
+
+
+
+ Allow strings to be truncated
+
+
+
+
+ Truncate the string
+
+ The string to be truncated
+ The length to truncate to
+ The truncated string
+
+
+
+ Truncate the string
+
+ The string to be truncated
+ The length to truncate to
+ The truncate to use
+ The enum value used to determine from where to truncate the string
+ The truncated string
+
+
+
+ Truncate the string
+
+ The string to be truncated
+ The length to truncate to
+ The string used to truncate with
+ The enum value used to determine from where to truncate the string
+ The truncated string
+
+
+
+ Truncate the string
+
+ The string to be truncated
+ The length to truncate to
+ The string used to truncate with
+ The truncator to use
+ The enum value used to determine from where to truncate the string
+ The truncated string
+
+
+
+ Truncation location for humanizer
+
+
+
+
+ Truncate letters from the left (start) of the string
+
+
+
+
+ Truncate letters from the right (end) of the string
+
+
+
+
+ Gets a ITruncator
+
+
+
+
+ Fixed length truncator
+
+
+
+
+ Fixed number of characters truncator
+
+
+
+
+ Fixed number of words truncator
+
+
+
+
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/af/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/af/Humanizer.resources.dll
new file mode 100644
index 000000000..b86f3f399
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/af/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/ar/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/ar/Humanizer.resources.dll
new file mode 100644
index 000000000..4d902d551
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/ar/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/bg/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/bg/Humanizer.resources.dll
new file mode 100644
index 000000000..9bc5cbbf7
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/bg/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/bn-BD/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/bn-BD/Humanizer.resources.dll
new file mode 100644
index 000000000..f62ed3a19
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/bn-BD/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/cs/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/cs/Humanizer.resources.dll
new file mode 100644
index 000000000..171329030
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/cs/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/da/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/da/Humanizer.resources.dll
new file mode 100644
index 000000000..f8850d692
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/da/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/de/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/de/Humanizer.resources.dll
new file mode 100644
index 000000000..d2a2c9409
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/de/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/el/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/el/Humanizer.resources.dll
new file mode 100644
index 000000000..ce1cf04dd
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/el/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/es/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/es/Humanizer.resources.dll
new file mode 100644
index 000000000..9cee62b14
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/es/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/fa/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/fa/Humanizer.resources.dll
new file mode 100644
index 000000000..d568264f9
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/fa/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/fi-FI/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/fi-FI/Humanizer.resources.dll
new file mode 100644
index 000000000..3941613cb
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/fi-FI/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/fr-BE/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/fr-BE/Humanizer.resources.dll
new file mode 100644
index 000000000..1cb881081
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/fr-BE/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/fr/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/fr/Humanizer.resources.dll
new file mode 100644
index 000000000..1db8a0ccd
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/fr/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/he/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/he/Humanizer.resources.dll
new file mode 100644
index 000000000..0d97455cb
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/he/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/hr/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/hr/Humanizer.resources.dll
new file mode 100644
index 000000000..cd76f89c0
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/hr/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/hu/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/hu/Humanizer.resources.dll
new file mode 100644
index 000000000..11c15775f
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/hu/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/id/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/id/Humanizer.resources.dll
new file mode 100644
index 000000000..8ec59eea2
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/id/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/it/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/it/Humanizer.resources.dll
new file mode 100644
index 000000000..9eba92c00
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/it/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/ja/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/ja/Humanizer.resources.dll
new file mode 100644
index 000000000..ed43fc9a1
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/ja/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/nb-NO/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/nb-NO/Humanizer.resources.dll
new file mode 100644
index 000000000..e8b2e19da
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/nb-NO/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/nb/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/nb/Humanizer.resources.dll
new file mode 100644
index 000000000..1bd089779
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/nb/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/nl/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/nl/Humanizer.resources.dll
new file mode 100644
index 000000000..cb97af01f
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/nl/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/pl/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/pl/Humanizer.resources.dll
new file mode 100644
index 000000000..90c0c92a3
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/pl/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/pt/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/pt/Humanizer.resources.dll
new file mode 100644
index 000000000..85b43a962
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/pt/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/ro/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/ro/Humanizer.resources.dll
new file mode 100644
index 000000000..071c4caf8
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/ro/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/ru/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/ru/Humanizer.resources.dll
new file mode 100644
index 000000000..287324e37
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/ru/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/sk/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/sk/Humanizer.resources.dll
new file mode 100644
index 000000000..2fd36f8ac
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/sk/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/sl/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/sl/Humanizer.resources.dll
new file mode 100644
index 000000000..b8a1bd090
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/sl/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/sr-Latn/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/sr-Latn/Humanizer.resources.dll
new file mode 100644
index 000000000..408b286f3
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/sr-Latn/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/sr/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/sr/Humanizer.resources.dll
new file mode 100644
index 000000000..a322f2311
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/sr/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/sv/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/sv/Humanizer.resources.dll
new file mode 100644
index 000000000..727c5f6bf
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/sv/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/tr/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/tr/Humanizer.resources.dll
new file mode 100644
index 000000000..30696f757
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/tr/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/uk/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/uk/Humanizer.resources.dll
new file mode 100644
index 000000000..f33b8adb0
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/uk/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/uz-Cyrl-UZ/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/uz-Cyrl-UZ/Humanizer.resources.dll
new file mode 100644
index 000000000..77d69b049
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/uz-Cyrl-UZ/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/uz-Latn-UZ/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/uz-Latn-UZ/Humanizer.resources.dll
new file mode 100644
index 000000000..f92165feb
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/uz-Latn-UZ/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/vi/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/vi/Humanizer.resources.dll
new file mode 100644
index 000000000..4a7427ce2
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/vi/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/zh-CN/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/zh-CN/Humanizer.resources.dll
new file mode 100644
index 000000000..cea337f27
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/zh-CN/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/zh-Hans/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/zh-Hans/Humanizer.resources.dll
new file mode 100644
index 000000000..7ce601aa4
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/zh-Hans/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/zh-Hant/Humanizer.resources.dll b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/zh-Hant/Humanizer.resources.dll
new file mode 100644
index 000000000..5a2b3244e
Binary files /dev/null and b/packages/Humanizer.Core.2.1.0/lib/netstandard1.0/zh-Hant/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.af.2.1.0/Humanizer.Core.af.2.1.0.nupkg b/packages/Humanizer.Core.af.2.1.0/Humanizer.Core.af.2.1.0.nupkg
new file mode 100644
index 000000000..9506bc026
Binary files /dev/null and b/packages/Humanizer.Core.af.2.1.0/Humanizer.Core.af.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.af.2.1.0/lib/netstandard1.0/af/Humanizer.resources.dll b/packages/Humanizer.Core.af.2.1.0/lib/netstandard1.0/af/Humanizer.resources.dll
new file mode 100644
index 000000000..b86f3f399
Binary files /dev/null and b/packages/Humanizer.Core.af.2.1.0/lib/netstandard1.0/af/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.ar.2.1.0/Humanizer.Core.ar.2.1.0.nupkg b/packages/Humanizer.Core.ar.2.1.0/Humanizer.Core.ar.2.1.0.nupkg
new file mode 100644
index 000000000..06e18c7a0
Binary files /dev/null and b/packages/Humanizer.Core.ar.2.1.0/Humanizer.Core.ar.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.ar.2.1.0/lib/netstandard1.0/ar/Humanizer.resources.dll b/packages/Humanizer.Core.ar.2.1.0/lib/netstandard1.0/ar/Humanizer.resources.dll
new file mode 100644
index 000000000..4d902d551
Binary files /dev/null and b/packages/Humanizer.Core.ar.2.1.0/lib/netstandard1.0/ar/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.bg.2.1.0/Humanizer.Core.bg.2.1.0.nupkg b/packages/Humanizer.Core.bg.2.1.0/Humanizer.Core.bg.2.1.0.nupkg
new file mode 100644
index 000000000..496569ec0
Binary files /dev/null and b/packages/Humanizer.Core.bg.2.1.0/Humanizer.Core.bg.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.bg.2.1.0/lib/netstandard1.0/bg/Humanizer.resources.dll b/packages/Humanizer.Core.bg.2.1.0/lib/netstandard1.0/bg/Humanizer.resources.dll
new file mode 100644
index 000000000..9bc5cbbf7
Binary files /dev/null and b/packages/Humanizer.Core.bg.2.1.0/lib/netstandard1.0/bg/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.bn-BD.2.1.0/Humanizer.Core.bn-BD.2.1.0.nupkg b/packages/Humanizer.Core.bn-BD.2.1.0/Humanizer.Core.bn-BD.2.1.0.nupkg
new file mode 100644
index 000000000..e7de60289
Binary files /dev/null and b/packages/Humanizer.Core.bn-BD.2.1.0/Humanizer.Core.bn-BD.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.bn-BD.2.1.0/lib/netstandard1.0/bn-BD/Humanizer.resources.dll b/packages/Humanizer.Core.bn-BD.2.1.0/lib/netstandard1.0/bn-BD/Humanizer.resources.dll
new file mode 100644
index 000000000..f62ed3a19
Binary files /dev/null and b/packages/Humanizer.Core.bn-BD.2.1.0/lib/netstandard1.0/bn-BD/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.cs.2.1.0/Humanizer.Core.cs.2.1.0.nupkg b/packages/Humanizer.Core.cs.2.1.0/Humanizer.Core.cs.2.1.0.nupkg
new file mode 100644
index 000000000..ea513bc7b
Binary files /dev/null and b/packages/Humanizer.Core.cs.2.1.0/Humanizer.Core.cs.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.cs.2.1.0/lib/netstandard1.0/cs/Humanizer.resources.dll b/packages/Humanizer.Core.cs.2.1.0/lib/netstandard1.0/cs/Humanizer.resources.dll
new file mode 100644
index 000000000..171329030
Binary files /dev/null and b/packages/Humanizer.Core.cs.2.1.0/lib/netstandard1.0/cs/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.da.2.1.0/Humanizer.Core.da.2.1.0.nupkg b/packages/Humanizer.Core.da.2.1.0/Humanizer.Core.da.2.1.0.nupkg
new file mode 100644
index 000000000..497238503
Binary files /dev/null and b/packages/Humanizer.Core.da.2.1.0/Humanizer.Core.da.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.da.2.1.0/lib/netstandard1.0/da/Humanizer.resources.dll b/packages/Humanizer.Core.da.2.1.0/lib/netstandard1.0/da/Humanizer.resources.dll
new file mode 100644
index 000000000..f8850d692
Binary files /dev/null and b/packages/Humanizer.Core.da.2.1.0/lib/netstandard1.0/da/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.de.2.1.0/Humanizer.Core.de.2.1.0.nupkg b/packages/Humanizer.Core.de.2.1.0/Humanizer.Core.de.2.1.0.nupkg
new file mode 100644
index 000000000..da68fdac9
Binary files /dev/null and b/packages/Humanizer.Core.de.2.1.0/Humanizer.Core.de.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.de.2.1.0/lib/netstandard1.0/de/Humanizer.resources.dll b/packages/Humanizer.Core.de.2.1.0/lib/netstandard1.0/de/Humanizer.resources.dll
new file mode 100644
index 000000000..d2a2c9409
Binary files /dev/null and b/packages/Humanizer.Core.de.2.1.0/lib/netstandard1.0/de/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.el.2.1.0/Humanizer.Core.el.2.1.0.nupkg b/packages/Humanizer.Core.el.2.1.0/Humanizer.Core.el.2.1.0.nupkg
new file mode 100644
index 000000000..118b186b8
Binary files /dev/null and b/packages/Humanizer.Core.el.2.1.0/Humanizer.Core.el.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.el.2.1.0/lib/netstandard1.0/el/Humanizer.resources.dll b/packages/Humanizer.Core.el.2.1.0/lib/netstandard1.0/el/Humanizer.resources.dll
new file mode 100644
index 000000000..ce1cf04dd
Binary files /dev/null and b/packages/Humanizer.Core.el.2.1.0/lib/netstandard1.0/el/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.es.2.1.0/Humanizer.Core.es.2.1.0.nupkg b/packages/Humanizer.Core.es.2.1.0/Humanizer.Core.es.2.1.0.nupkg
new file mode 100644
index 000000000..8f7fd518b
Binary files /dev/null and b/packages/Humanizer.Core.es.2.1.0/Humanizer.Core.es.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.es.2.1.0/lib/netstandard1.0/es/Humanizer.resources.dll b/packages/Humanizer.Core.es.2.1.0/lib/netstandard1.0/es/Humanizer.resources.dll
new file mode 100644
index 000000000..9cee62b14
Binary files /dev/null and b/packages/Humanizer.Core.es.2.1.0/lib/netstandard1.0/es/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.fa.2.1.0/Humanizer.Core.fa.2.1.0.nupkg b/packages/Humanizer.Core.fa.2.1.0/Humanizer.Core.fa.2.1.0.nupkg
new file mode 100644
index 000000000..ca8d05524
Binary files /dev/null and b/packages/Humanizer.Core.fa.2.1.0/Humanizer.Core.fa.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.fa.2.1.0/lib/netstandard1.0/fa/Humanizer.resources.dll b/packages/Humanizer.Core.fa.2.1.0/lib/netstandard1.0/fa/Humanizer.resources.dll
new file mode 100644
index 000000000..d568264f9
Binary files /dev/null and b/packages/Humanizer.Core.fa.2.1.0/lib/netstandard1.0/fa/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.fi-FI.2.1.0/Humanizer.Core.fi-FI.2.1.0.nupkg b/packages/Humanizer.Core.fi-FI.2.1.0/Humanizer.Core.fi-FI.2.1.0.nupkg
new file mode 100644
index 000000000..73768d75d
Binary files /dev/null and b/packages/Humanizer.Core.fi-FI.2.1.0/Humanizer.Core.fi-FI.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.fi-FI.2.1.0/lib/netstandard1.0/fi-FI/Humanizer.resources.dll b/packages/Humanizer.Core.fi-FI.2.1.0/lib/netstandard1.0/fi-FI/Humanizer.resources.dll
new file mode 100644
index 000000000..3941613cb
Binary files /dev/null and b/packages/Humanizer.Core.fi-FI.2.1.0/lib/netstandard1.0/fi-FI/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.fr-BE.2.1.0/Humanizer.Core.fr-BE.2.1.0.nupkg b/packages/Humanizer.Core.fr-BE.2.1.0/Humanizer.Core.fr-BE.2.1.0.nupkg
new file mode 100644
index 000000000..2499b640f
Binary files /dev/null and b/packages/Humanizer.Core.fr-BE.2.1.0/Humanizer.Core.fr-BE.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.fr-BE.2.1.0/lib/netstandard1.0/fr-BE/Humanizer.resources.dll b/packages/Humanizer.Core.fr-BE.2.1.0/lib/netstandard1.0/fr-BE/Humanizer.resources.dll
new file mode 100644
index 000000000..1cb881081
Binary files /dev/null and b/packages/Humanizer.Core.fr-BE.2.1.0/lib/netstandard1.0/fr-BE/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.fr.2.1.0/Humanizer.Core.fr.2.1.0.nupkg b/packages/Humanizer.Core.fr.2.1.0/Humanizer.Core.fr.2.1.0.nupkg
new file mode 100644
index 000000000..fab4a2fce
Binary files /dev/null and b/packages/Humanizer.Core.fr.2.1.0/Humanizer.Core.fr.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.fr.2.1.0/lib/netstandard1.0/fr/Humanizer.resources.dll b/packages/Humanizer.Core.fr.2.1.0/lib/netstandard1.0/fr/Humanizer.resources.dll
new file mode 100644
index 000000000..1db8a0ccd
Binary files /dev/null and b/packages/Humanizer.Core.fr.2.1.0/lib/netstandard1.0/fr/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.he.2.1.0/Humanizer.Core.he.2.1.0.nupkg b/packages/Humanizer.Core.he.2.1.0/Humanizer.Core.he.2.1.0.nupkg
new file mode 100644
index 000000000..16f77644c
Binary files /dev/null and b/packages/Humanizer.Core.he.2.1.0/Humanizer.Core.he.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.he.2.1.0/lib/netstandard1.0/he/Humanizer.resources.dll b/packages/Humanizer.Core.he.2.1.0/lib/netstandard1.0/he/Humanizer.resources.dll
new file mode 100644
index 000000000..0d97455cb
Binary files /dev/null and b/packages/Humanizer.Core.he.2.1.0/lib/netstandard1.0/he/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.hr.2.1.0/Humanizer.Core.hr.2.1.0.nupkg b/packages/Humanizer.Core.hr.2.1.0/Humanizer.Core.hr.2.1.0.nupkg
new file mode 100644
index 000000000..9cbf0a104
Binary files /dev/null and b/packages/Humanizer.Core.hr.2.1.0/Humanizer.Core.hr.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.hr.2.1.0/lib/netstandard1.0/hr/Humanizer.resources.dll b/packages/Humanizer.Core.hr.2.1.0/lib/netstandard1.0/hr/Humanizer.resources.dll
new file mode 100644
index 000000000..cd76f89c0
Binary files /dev/null and b/packages/Humanizer.Core.hr.2.1.0/lib/netstandard1.0/hr/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.hu.2.1.0/Humanizer.Core.hu.2.1.0.nupkg b/packages/Humanizer.Core.hu.2.1.0/Humanizer.Core.hu.2.1.0.nupkg
new file mode 100644
index 000000000..ae0abacd4
Binary files /dev/null and b/packages/Humanizer.Core.hu.2.1.0/Humanizer.Core.hu.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.hu.2.1.0/lib/netstandard1.0/hu/Humanizer.resources.dll b/packages/Humanizer.Core.hu.2.1.0/lib/netstandard1.0/hu/Humanizer.resources.dll
new file mode 100644
index 000000000..11c15775f
Binary files /dev/null and b/packages/Humanizer.Core.hu.2.1.0/lib/netstandard1.0/hu/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.id.2.1.0/Humanizer.Core.id.2.1.0.nupkg b/packages/Humanizer.Core.id.2.1.0/Humanizer.Core.id.2.1.0.nupkg
new file mode 100644
index 000000000..c8d95571c
Binary files /dev/null and b/packages/Humanizer.Core.id.2.1.0/Humanizer.Core.id.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.id.2.1.0/lib/netstandard1.0/id/Humanizer.resources.dll b/packages/Humanizer.Core.id.2.1.0/lib/netstandard1.0/id/Humanizer.resources.dll
new file mode 100644
index 000000000..8ec59eea2
Binary files /dev/null and b/packages/Humanizer.Core.id.2.1.0/lib/netstandard1.0/id/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.it.2.1.0/Humanizer.Core.it.2.1.0.nupkg b/packages/Humanizer.Core.it.2.1.0/Humanizer.Core.it.2.1.0.nupkg
new file mode 100644
index 000000000..4c5b5cdfe
Binary files /dev/null and b/packages/Humanizer.Core.it.2.1.0/Humanizer.Core.it.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.it.2.1.0/lib/netstandard1.0/it/Humanizer.resources.dll b/packages/Humanizer.Core.it.2.1.0/lib/netstandard1.0/it/Humanizer.resources.dll
new file mode 100644
index 000000000..9eba92c00
Binary files /dev/null and b/packages/Humanizer.Core.it.2.1.0/lib/netstandard1.0/it/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.ja.2.1.0/Humanizer.Core.ja.2.1.0.nupkg b/packages/Humanizer.Core.ja.2.1.0/Humanizer.Core.ja.2.1.0.nupkg
new file mode 100644
index 000000000..71178660e
Binary files /dev/null and b/packages/Humanizer.Core.ja.2.1.0/Humanizer.Core.ja.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.ja.2.1.0/lib/netstandard1.0/ja/Humanizer.resources.dll b/packages/Humanizer.Core.ja.2.1.0/lib/netstandard1.0/ja/Humanizer.resources.dll
new file mode 100644
index 000000000..ed43fc9a1
Binary files /dev/null and b/packages/Humanizer.Core.ja.2.1.0/lib/netstandard1.0/ja/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.nb-NO.2.1.0/Humanizer.Core.nb-NO.2.1.0.nupkg b/packages/Humanizer.Core.nb-NO.2.1.0/Humanizer.Core.nb-NO.2.1.0.nupkg
new file mode 100644
index 000000000..fc3bf3581
Binary files /dev/null and b/packages/Humanizer.Core.nb-NO.2.1.0/Humanizer.Core.nb-NO.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.nb-NO.2.1.0/lib/netstandard1.0/nb-NO/Humanizer.resources.dll b/packages/Humanizer.Core.nb-NO.2.1.0/lib/netstandard1.0/nb-NO/Humanizer.resources.dll
new file mode 100644
index 000000000..e8b2e19da
Binary files /dev/null and b/packages/Humanizer.Core.nb-NO.2.1.0/lib/netstandard1.0/nb-NO/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.nb.2.1.0/Humanizer.Core.nb.2.1.0.nupkg b/packages/Humanizer.Core.nb.2.1.0/Humanizer.Core.nb.2.1.0.nupkg
new file mode 100644
index 000000000..bee46b110
Binary files /dev/null and b/packages/Humanizer.Core.nb.2.1.0/Humanizer.Core.nb.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.nb.2.1.0/lib/netstandard1.0/nb/Humanizer.resources.dll b/packages/Humanizer.Core.nb.2.1.0/lib/netstandard1.0/nb/Humanizer.resources.dll
new file mode 100644
index 000000000..1bd089779
Binary files /dev/null and b/packages/Humanizer.Core.nb.2.1.0/lib/netstandard1.0/nb/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.nl.2.1.0/Humanizer.Core.nl.2.1.0.nupkg b/packages/Humanizer.Core.nl.2.1.0/Humanizer.Core.nl.2.1.0.nupkg
new file mode 100644
index 000000000..2b10ab91a
Binary files /dev/null and b/packages/Humanizer.Core.nl.2.1.0/Humanizer.Core.nl.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.nl.2.1.0/lib/netstandard1.0/nl/Humanizer.resources.dll b/packages/Humanizer.Core.nl.2.1.0/lib/netstandard1.0/nl/Humanizer.resources.dll
new file mode 100644
index 000000000..cb97af01f
Binary files /dev/null and b/packages/Humanizer.Core.nl.2.1.0/lib/netstandard1.0/nl/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.pl.2.1.0/Humanizer.Core.pl.2.1.0.nupkg b/packages/Humanizer.Core.pl.2.1.0/Humanizer.Core.pl.2.1.0.nupkg
new file mode 100644
index 000000000..483b11ced
Binary files /dev/null and b/packages/Humanizer.Core.pl.2.1.0/Humanizer.Core.pl.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.pl.2.1.0/lib/netstandard1.0/pl/Humanizer.resources.dll b/packages/Humanizer.Core.pl.2.1.0/lib/netstandard1.0/pl/Humanizer.resources.dll
new file mode 100644
index 000000000..90c0c92a3
Binary files /dev/null and b/packages/Humanizer.Core.pl.2.1.0/lib/netstandard1.0/pl/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.pt.2.1.0/Humanizer.Core.pt.2.1.0.nupkg b/packages/Humanizer.Core.pt.2.1.0/Humanizer.Core.pt.2.1.0.nupkg
new file mode 100644
index 000000000..ac39098c1
Binary files /dev/null and b/packages/Humanizer.Core.pt.2.1.0/Humanizer.Core.pt.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.pt.2.1.0/lib/netstandard1.0/pt/Humanizer.resources.dll b/packages/Humanizer.Core.pt.2.1.0/lib/netstandard1.0/pt/Humanizer.resources.dll
new file mode 100644
index 000000000..85b43a962
Binary files /dev/null and b/packages/Humanizer.Core.pt.2.1.0/lib/netstandard1.0/pt/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.ro.2.1.0/Humanizer.Core.ro.2.1.0.nupkg b/packages/Humanizer.Core.ro.2.1.0/Humanizer.Core.ro.2.1.0.nupkg
new file mode 100644
index 000000000..5f7e23681
Binary files /dev/null and b/packages/Humanizer.Core.ro.2.1.0/Humanizer.Core.ro.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.ro.2.1.0/lib/netstandard1.0/ro/Humanizer.resources.dll b/packages/Humanizer.Core.ro.2.1.0/lib/netstandard1.0/ro/Humanizer.resources.dll
new file mode 100644
index 000000000..071c4caf8
Binary files /dev/null and b/packages/Humanizer.Core.ro.2.1.0/lib/netstandard1.0/ro/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.ru.2.1.0/Humanizer.Core.ru.2.1.0.nupkg b/packages/Humanizer.Core.ru.2.1.0/Humanizer.Core.ru.2.1.0.nupkg
new file mode 100644
index 000000000..ce4735be3
Binary files /dev/null and b/packages/Humanizer.Core.ru.2.1.0/Humanizer.Core.ru.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.ru.2.1.0/lib/netstandard1.0/ru/Humanizer.resources.dll b/packages/Humanizer.Core.ru.2.1.0/lib/netstandard1.0/ru/Humanizer.resources.dll
new file mode 100644
index 000000000..287324e37
Binary files /dev/null and b/packages/Humanizer.Core.ru.2.1.0/lib/netstandard1.0/ru/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.sk.2.1.0/Humanizer.Core.sk.2.1.0.nupkg b/packages/Humanizer.Core.sk.2.1.0/Humanizer.Core.sk.2.1.0.nupkg
new file mode 100644
index 000000000..bf5e90269
Binary files /dev/null and b/packages/Humanizer.Core.sk.2.1.0/Humanizer.Core.sk.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.sk.2.1.0/lib/netstandard1.0/sk/Humanizer.resources.dll b/packages/Humanizer.Core.sk.2.1.0/lib/netstandard1.0/sk/Humanizer.resources.dll
new file mode 100644
index 000000000..2fd36f8ac
Binary files /dev/null and b/packages/Humanizer.Core.sk.2.1.0/lib/netstandard1.0/sk/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.sl.2.1.0/Humanizer.Core.sl.2.1.0.nupkg b/packages/Humanizer.Core.sl.2.1.0/Humanizer.Core.sl.2.1.0.nupkg
new file mode 100644
index 000000000..3a61566d9
Binary files /dev/null and b/packages/Humanizer.Core.sl.2.1.0/Humanizer.Core.sl.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.sl.2.1.0/lib/netstandard1.0/sl/Humanizer.resources.dll b/packages/Humanizer.Core.sl.2.1.0/lib/netstandard1.0/sl/Humanizer.resources.dll
new file mode 100644
index 000000000..b8a1bd090
Binary files /dev/null and b/packages/Humanizer.Core.sl.2.1.0/lib/netstandard1.0/sl/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.sr-Latn.2.1.0/Humanizer.Core.sr-Latn.2.1.0.nupkg b/packages/Humanizer.Core.sr-Latn.2.1.0/Humanizer.Core.sr-Latn.2.1.0.nupkg
new file mode 100644
index 000000000..a6af41299
Binary files /dev/null and b/packages/Humanizer.Core.sr-Latn.2.1.0/Humanizer.Core.sr-Latn.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.sr-Latn.2.1.0/lib/netstandard1.0/sr-Latn/Humanizer.resources.dll b/packages/Humanizer.Core.sr-Latn.2.1.0/lib/netstandard1.0/sr-Latn/Humanizer.resources.dll
new file mode 100644
index 000000000..408b286f3
Binary files /dev/null and b/packages/Humanizer.Core.sr-Latn.2.1.0/lib/netstandard1.0/sr-Latn/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.sr.2.1.0/Humanizer.Core.sr.2.1.0.nupkg b/packages/Humanizer.Core.sr.2.1.0/Humanizer.Core.sr.2.1.0.nupkg
new file mode 100644
index 000000000..c2ad4dc22
Binary files /dev/null and b/packages/Humanizer.Core.sr.2.1.0/Humanizer.Core.sr.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.sr.2.1.0/lib/netstandard1.0/sr/Humanizer.resources.dll b/packages/Humanizer.Core.sr.2.1.0/lib/netstandard1.0/sr/Humanizer.resources.dll
new file mode 100644
index 000000000..a322f2311
Binary files /dev/null and b/packages/Humanizer.Core.sr.2.1.0/lib/netstandard1.0/sr/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.sv.2.1.0/Humanizer.Core.sv.2.1.0.nupkg b/packages/Humanizer.Core.sv.2.1.0/Humanizer.Core.sv.2.1.0.nupkg
new file mode 100644
index 000000000..5592b205d
Binary files /dev/null and b/packages/Humanizer.Core.sv.2.1.0/Humanizer.Core.sv.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.sv.2.1.0/lib/netstandard1.0/sv/Humanizer.resources.dll b/packages/Humanizer.Core.sv.2.1.0/lib/netstandard1.0/sv/Humanizer.resources.dll
new file mode 100644
index 000000000..727c5f6bf
Binary files /dev/null and b/packages/Humanizer.Core.sv.2.1.0/lib/netstandard1.0/sv/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.tr.2.1.0/Humanizer.Core.tr.2.1.0.nupkg b/packages/Humanizer.Core.tr.2.1.0/Humanizer.Core.tr.2.1.0.nupkg
new file mode 100644
index 000000000..f7b4c608c
Binary files /dev/null and b/packages/Humanizer.Core.tr.2.1.0/Humanizer.Core.tr.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.tr.2.1.0/lib/netstandard1.0/tr/Humanizer.resources.dll b/packages/Humanizer.Core.tr.2.1.0/lib/netstandard1.0/tr/Humanizer.resources.dll
new file mode 100644
index 000000000..30696f757
Binary files /dev/null and b/packages/Humanizer.Core.tr.2.1.0/lib/netstandard1.0/tr/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.uk.2.1.0/Humanizer.Core.uk.2.1.0.nupkg b/packages/Humanizer.Core.uk.2.1.0/Humanizer.Core.uk.2.1.0.nupkg
new file mode 100644
index 000000000..484402832
Binary files /dev/null and b/packages/Humanizer.Core.uk.2.1.0/Humanizer.Core.uk.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.uk.2.1.0/lib/netstandard1.0/uk/Humanizer.resources.dll b/packages/Humanizer.Core.uk.2.1.0/lib/netstandard1.0/uk/Humanizer.resources.dll
new file mode 100644
index 000000000..f33b8adb0
Binary files /dev/null and b/packages/Humanizer.Core.uk.2.1.0/lib/netstandard1.0/uk/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.uz-Cyrl-UZ.2.1.0/Humanizer.Core.uz-Cyrl-UZ.2.1.0.nupkg b/packages/Humanizer.Core.uz-Cyrl-UZ.2.1.0/Humanizer.Core.uz-Cyrl-UZ.2.1.0.nupkg
new file mode 100644
index 000000000..b2e444c55
Binary files /dev/null and b/packages/Humanizer.Core.uz-Cyrl-UZ.2.1.0/Humanizer.Core.uz-Cyrl-UZ.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.uz-Cyrl-UZ.2.1.0/lib/netstandard1.0/uz-Cyrl-UZ/Humanizer.resources.dll b/packages/Humanizer.Core.uz-Cyrl-UZ.2.1.0/lib/netstandard1.0/uz-Cyrl-UZ/Humanizer.resources.dll
new file mode 100644
index 000000000..77d69b049
Binary files /dev/null and b/packages/Humanizer.Core.uz-Cyrl-UZ.2.1.0/lib/netstandard1.0/uz-Cyrl-UZ/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.uz-Latn-UZ.2.1.0/Humanizer.Core.uz-Latn-UZ.2.1.0.nupkg b/packages/Humanizer.Core.uz-Latn-UZ.2.1.0/Humanizer.Core.uz-Latn-UZ.2.1.0.nupkg
new file mode 100644
index 000000000..daaaac22b
Binary files /dev/null and b/packages/Humanizer.Core.uz-Latn-UZ.2.1.0/Humanizer.Core.uz-Latn-UZ.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.uz-Latn-UZ.2.1.0/lib/netstandard1.0/uz-Latn-UZ/Humanizer.resources.dll b/packages/Humanizer.Core.uz-Latn-UZ.2.1.0/lib/netstandard1.0/uz-Latn-UZ/Humanizer.resources.dll
new file mode 100644
index 000000000..f92165feb
Binary files /dev/null and b/packages/Humanizer.Core.uz-Latn-UZ.2.1.0/lib/netstandard1.0/uz-Latn-UZ/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.vi.2.1.0/Humanizer.Core.vi.2.1.0.nupkg b/packages/Humanizer.Core.vi.2.1.0/Humanizer.Core.vi.2.1.0.nupkg
new file mode 100644
index 000000000..625a18e58
Binary files /dev/null and b/packages/Humanizer.Core.vi.2.1.0/Humanizer.Core.vi.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.vi.2.1.0/lib/netstandard1.0/vi/Humanizer.resources.dll b/packages/Humanizer.Core.vi.2.1.0/lib/netstandard1.0/vi/Humanizer.resources.dll
new file mode 100644
index 000000000..4a7427ce2
Binary files /dev/null and b/packages/Humanizer.Core.vi.2.1.0/lib/netstandard1.0/vi/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.zh-CN.2.1.0/Humanizer.Core.zh-CN.2.1.0.nupkg b/packages/Humanizer.Core.zh-CN.2.1.0/Humanizer.Core.zh-CN.2.1.0.nupkg
new file mode 100644
index 000000000..802a87d79
Binary files /dev/null and b/packages/Humanizer.Core.zh-CN.2.1.0/Humanizer.Core.zh-CN.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.zh-CN.2.1.0/lib/netstandard1.0/zh-CN/Humanizer.resources.dll b/packages/Humanizer.Core.zh-CN.2.1.0/lib/netstandard1.0/zh-CN/Humanizer.resources.dll
new file mode 100644
index 000000000..cea337f27
Binary files /dev/null and b/packages/Humanizer.Core.zh-CN.2.1.0/lib/netstandard1.0/zh-CN/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.zh-Hans.2.1.0/Humanizer.Core.zh-Hans.2.1.0.nupkg b/packages/Humanizer.Core.zh-Hans.2.1.0/Humanizer.Core.zh-Hans.2.1.0.nupkg
new file mode 100644
index 000000000..b3eeac200
Binary files /dev/null and b/packages/Humanizer.Core.zh-Hans.2.1.0/Humanizer.Core.zh-Hans.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.zh-Hans.2.1.0/lib/netstandard1.0/zh-Hans/Humanizer.resources.dll b/packages/Humanizer.Core.zh-Hans.2.1.0/lib/netstandard1.0/zh-Hans/Humanizer.resources.dll
new file mode 100644
index 000000000..7ce601aa4
Binary files /dev/null and b/packages/Humanizer.Core.zh-Hans.2.1.0/lib/netstandard1.0/zh-Hans/Humanizer.resources.dll differ
diff --git a/packages/Humanizer.Core.zh-Hant.2.1.0/Humanizer.Core.zh-Hant.2.1.0.nupkg b/packages/Humanizer.Core.zh-Hant.2.1.0/Humanizer.Core.zh-Hant.2.1.0.nupkg
new file mode 100644
index 000000000..8db57f572
Binary files /dev/null and b/packages/Humanizer.Core.zh-Hant.2.1.0/Humanizer.Core.zh-Hant.2.1.0.nupkg differ
diff --git a/packages/Humanizer.Core.zh-Hant.2.1.0/lib/netstandard1.0/zh-Hant/Humanizer.resources.dll b/packages/Humanizer.Core.zh-Hant.2.1.0/lib/netstandard1.0/zh-Hant/Humanizer.resources.dll
new file mode 100644
index 000000000..5a2b3244e
Binary files /dev/null and b/packages/Humanizer.Core.zh-Hant.2.1.0/lib/netstandard1.0/zh-Hant/Humanizer.resources.dll differ