Humanizer
Contains methods for removing, appending and prepending article prefixes for sorting strings ignoring the article.
Removes the prefixed article and appends it to the same string.
The input array of strings
Sorted string array
Removes the previously appended article and prepends it to the same string.
Sorted string array
String array
Definite and Indefinite English Articles
A
An
The
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
Culture to use. If null, current thread's UI culture is used.
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.
Converts the value of the current ByteSize object to a string with
full words. 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.
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 byte quantity into human readable form, eg 2 GB
The format provider to use
Turns a byte quantity into human readable form, eg 2 GB
The string format to use
The format provider 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 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 on each element
and using the default separator for the current culture.
Formats the collection for display, calling on each element
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 on each element
and using the provided separator.
Formats the collection for display, calling on each element
and using the provided separator.
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
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 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
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
Humanizes DateTime into human readable sentence
Turns the current or provided date into a human readable sentence
The date to be humanized
Nullable boolean value indicating whether the date is in UTC or local. If null, current date is used with the same DateTimeKind of input
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
Nullable boolean value indicating whether the date is in UTC or local. If null, current date is used with the same DateTimeKind of input
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
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.DateTimeHumanizeStrategy
Calculates the distance of time in words between two provided dates used for DateTime.Humanize
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.
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.
Humanizes DateTime into human readable sentence
Turns the provided date into ordinal words
The date to be made into ordinal words
The date in ordinal words
Turns the provided date into ordinal words
The date to be made into ordinal words
The grammatical case to use for output words
The date in ordinal words
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
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
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
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
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
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
Style for the cardinal direction humanization
Returns an abbreviated format
Returns the full format
Contains extensions to transform a number indicating a heading into the
textual representation of the heading.
Returns a textual representation of the heading.
This representation has a maximum deviation of 11.25 degrees.
A textual representation of the heading
The heading value
The culture to return the textual representation in
Whether to return a short result or not.
Returns a char arrow indicating the heading.
This representation has a maximum deviation of 22.5 degrees.
The heading arrow.
Returns a heading based on the short textual representation of the heading.
The short textual representation of a heading
The heading. -1 if the heading could not be parsed.
Returns a heading based on the short textual representation of the heading.
The short textual representation of a heading
The culture of the heading
The heading. -1 if the heading could not be parsed.
Returns a heading based on the heading arrow.
Returns a heading based on the heading arrow.
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
Skip singularizing single words that have an 's' on the end
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
Skip singularizing single words that have an 's' on the end
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
Separates the input words with hyphens and all the words are converted to lowercase
Options for specifying the desired letter casing for the output string
SomeString -> Some String
SomeString -> SOME STRING
SomeString -> some string
SomeString -> Some string
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 on each element.
Formats the collection for display, calling on each element.
Formats the collection for display, calling ToString() on each object
and using before the final item.
Formats the collection for display, calling on each element.
and using before the final item.
Formats the collection for display, calling on each element.
and using before the final item.
Units of data
Bit
Byte
Kilobyte
Megabyte
Gigabyte
Terrabyte
The interface used to localise the ToOrdinalWords method.
Converts the date to Ordinal Words
Converts the date to Ordinal Words using the provided grammatical case
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
A time unit to represent.
Is thrown when timeUnit is larger than TimeUnit.Week
Formats the specified resource key.
The resource key.
If the resource not exists on the specified culture.
Formats the specified resource key.
The resource key.
The number.
If the resource not exists on the specified culture.
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
Returns the string representation of the provided DataUnit, either as a symbol or full word
Data unit
Number of said units, to adjust for singular/plural forms
Indicates whether the data unit should be expressed as symbol or full word
String representation of the provided DataUnit
Returns the symbol for the given TimeUnit
Time unit
String representation of the provided TimeUnit
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
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
Converts the number to string using the locale's default grammatical gender
Converts the number to specific string form using the locale's default grammatical gender
Converts the number to string using the locale's default gramatical gender and adds "and"
Whether "and" should be included.
Converts the number to a specific string form using the locale's default gramatical gender and adds "and"
Converts the number to string using the provided grammatical gender
Converts the number to a specific string form 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 specific ordinal string form
Converts the number to specific ordinal string form using the provided grammatical gender
Converts integer to named tuple (e.g. 'single', 'double' etc.).
Converts the number to string
Converts the number to a specific string form
Converts the number to string
Whether "and" should be included.
Converts the number to a specific string form
Whether "and" should be included.
Converts the number to string ignoring the provided grammatical gender
Converts the number to a specific string form ignoring the provided grammatical gender
Converts the number to ordinal string
Converts the number to ordinal string ignoring the provided grammatical gender
Converts the number to a specific ordinal string form.
Converts the number to a specific ordinal string form ignoring the provided grammatical gender.
Converts integer to named tuple (e.g. 'single', 'double' etc.).
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 a specific string form using the locale's default grammatical gender.
Converts the number to string using the locale's default grammatical gender with or without adding 'And'
Specify with our without adding "And"
Converts the number to a specific string form using the locale's default grammatical gender with or without adding 'And'
Converts the number to string using the provided grammatical gender
Converts the number to a specific string form using the provided grammatical gender.
Converts the number to ordinal string using the locale's default grammatical gender
Converts the number to a specific ordinal string form using the locale's default grammatical gender.
Converts the number to ordinal string using the provided grammatical gender
Converts the number to a specific ordinal string form using the provided grammatical gender.
Converts integer to named tuple (e.g. 'single', 'double' etc.).
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.
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.
The interface used to localise the Ordinalize method
Ordinalizes the number
Ordinalizes the number to a locale's specific form.
Ordinalizes the number using the provided grammatical gender
Ordinalizes the number to a locale's specific form using the provided grammatical gender.
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.
Result to words, default is false.
Resource key, like TimeSpanHumanize_SingleMinute
Encapsulates the logic required to get the resource keys for TimeUnit.ToSymbol
Examples: TimeUnit_Minute, TimeUnit_Hour.
Generates Resource Keys according to convention.
Time unit, .
Number of units, default is One.
Result to words, default is false.
Resource key, like TimeSpanHumanize_SingleMinute
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.
Enumerates the possible time references; past or future.
Indicates the future.
Indicates the past.
Units of time.
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.
UnitPrefixes link a Metric symbol (as key) to its prefix (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
If not null it is the numbers of decimals to round the number to
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.
A bitwise combination of enumeration values that format the metric representation.
If not null it is the numbers of decimals to round the number to
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
If not null it is the numbers of decimals to round the number to
1000d.ToMetric() => "1k"
123d.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.
A bitwise combination of enumeration values that format the metric representation.
If not null it is the numbers of decimals to round the number to
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.
A bitwise combination of enumeration values that format the metric representation.
If not null it is the numbers of decimals to round the number to
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
A bitwise combination of enumeration values that format the metric representation.
If not null it is the numbers of decimals to round the number to
A number in a Metric representation
Get the unit from a symbol of from the symbol's name.
The symbol linked to the unit
A bitwise combination of enumeration values that format the metric representation.
A symbol, a symbol's name, a symbol's short scale word or a symbol's long scale word
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.
Flags for formatting the metric representation of numerals.
Use the metric prefix long scale word.
Use the metric prefix name instead of the symbol.
Use the metric prefix short scale word.
Include a space after the numeral.
This is thrown on String.DehumanizeTo enum when the provided string cannot be mapped to the target enum
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)
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)
Transform a number into words; e.g. 1 => one
1.ToOrdinalWords() -> "first"
Number to be turned to ordinal words
Culture to use. If null, current thread's UI culture is used.
Converts a number to ordinal words supporting locale's specific variations.
In Spanish:
1.ToOrdinalWords(WordForm.Normal) -> "primero" // As in "He llegado el primero".
3.ToOrdinalWords(WordForm.Abbreviation) -> "tercer" // As in "Vivo en el tercer piso"
Number to be turned to ordinal words
Form of the word, i.e. abbreviation
Culture to use. If null, current thread's UI culture is used.
The number converted into ordinal words
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.
Converts a number to ordinal words supporting locale's specific variations.
In Spanish:
3.ToOrdinalWords(GrammaticalGender.Masculine, WordForm.Normal) -> "tercero"
3.ToOrdinalWords(GrammaticalGender.Masculine, WordForm.Abbreviation) -> "tercer"
3.ToOrdinalWords(GrammaticalGender.Feminine, WordForm.Normal) -> "tercera"
3.ToOrdinalWords(GrammaticalGender.Feminine, WordForm.Abbreviation) -> "tercera"
Number to be turned to ordinal words
The grammatical gender to use for output words
Form of the word, i.e. abbreviation
Culture to use. If null, current thread's UI culture is used.
The number converted into ordinal words
1.ToTuple() -> "single"
Number to be turned to tuple
Culture to use. If null, current thread's UI culture is used.
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.
Converts a number to words supporting specific word variations, including grammatical gender, of some locales.
In Spanish, numbers ended in 1 change its form depending on their position in the sentence.
21.ToWords(WordForm.Normal) -> veintiuno // as in "Mi número favorito es el veintiuno".
21.ToWords(WordForm.Abbreviation) -> veintiún // as in "En total, conté veintiún coches"
Number to be turned to words
Form of the word, i.e. abbreviation
Culture to use. If null, current thread's UI culture is used.
The number converted to words
3501.ToWords(false) -> "three thousand five hundred one"
Number to be turned to words
To add 'and' before the last number.
Culture to use. If null, current thread's UI culture is used.
Converts a number to words supporting specific word variations of some locales.
In Spanish, numbers ended in 1 changes its form depending on their position in the sentence.
21.ToWords(WordForm.Normal) -> veintiuno // as in "Mi número favorito es el veintiuno".
21.ToWords(WordForm.Abbreviation) -> veintiún // as in "En total, conté veintiún coches"
Number to be turned to words
To add 'and' before the last number
Form of the word, i.e. abbreviation
Culture to use. If null, current thread's UI culture is used.
The number converted to words
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.
Converts a number to words supporting specific word variations, including grammatical gender, of some locales.
In Spanish, numbers ended in 1 change its form depending on their position in the sentence.
21.ToWords(WordForm.Normal, GrammaticalGender.Masculine) -> veintiuno // as in "Mi número favorito es el veintiuno".
21.ToWords(WordForm.Abbreviation, GrammaticalGender.Masculine) -> veintiún // as in "En total, conté veintiún coches"
21.ToWords(WordForm.Normal, GrammaticalGender.Feminine) -> veintiuna // as in "veintiuna personas"
Number to be turned to words
Form of the word, i.e. abbreviation
The grammatical gender to use for output words
Culture to use. If null, current thread's UI culture is used.
The number converted to words
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.
Whether "and" should be included or not.
Converts a number to words supporting specific word variations of some locales.
In Spanish, numbers ended in 1 changes its form depending on their position in the sentence.
21.ToWords(WordForm.Normal) -> veintiuno // as in "Mi número favorito es el veintiuno".
21.ToWords(WordForm.Abbreviation) -> veintiún // as in "En total, conté veintiún coches"
Number to be turned to words
Form of the word, i.e. abbreviation
Culture to use. If null, current thread's UI culture is used.
To add 'and' before the last number
The number converted to words
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.
Converts a number to words supporting specific word variations, including grammatical gender, of some locales.
In Spanish, numbers ended in 1 changes its form depending on their position in the sentence.
21.ToWords(WordForm.Normal, GrammaticalGender.Masculine) -> veintiuno // as in "Mi número favorito es el veintiuno".
21.ToWords(WordForm.Abbreviation, GrammaticalGender.Masculine) -> veintiún // as in "En total, conté veintiún coches"
21.ToWords(WordForm.Normal, GrammaticalGender.Feminine) -> veintiuna // as in "veintiuna personas"
Number to be turned to words
Form of the word, i.e. abbreviation
The grammatical gender to use for output words
Culture to use. If null, current thread's UI culture is used.
The number converted to words
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
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 number used to denote the position in an ordered sequence supporting specific locale's variations.
In Spanish:
"1".Ordinalize(WordForm.Abbreviation) -> 1.er // As in "Vivo en el 1.er piso"
"1".Ordinalize(WordForm.Normal) -> 1.º // As in "Fui el 1º de mi promoción"
The number, in string, to be ordinalized
Form of the word, i.e. abbreviation
The number ordinalized
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
Culture to use. If null, current thread's UI culture is used.
Turns a number into an ordinal number used to denote the position in an ordered sequence supporting specific locale's variations.
In Spanish:
"1".Ordinalize(new CultureInfo("es-ES"),WordForm.Abbreviation) -> 1.er // As in "Vivo en el 1.er piso"
"1".Ordinalize(new CultureInfo("es-ES"), WordForm.Normal) -> 1.º // As in "Fui el 1º de mi promoción"
The number to be ordinalized
Culture to use. If null, current thread's UI culture is used.
Form of the word, i.e. abbreviation
The number 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 supporting specific
locale's variations using the grammatical gender provided
In Spanish:
"1".Ordinalize(GrammaticalGender.Masculine, WordForm.Abbreviation) -> 1.er // As in "Vivo en el 1.er piso"
"1".Ordinalize(GrammaticalGender.Masculine, WordForm.Normal) -> 1.º // As in "Fui el 1º de mi promoción"
"1".Ordinalize(GrammaticalGender.Feminine, WordForm.Normal) -> 1.ª // As in "Es 1ª vez que hago esto"
The number to be ordinalized
The grammatical gender to use for output words
Form of the word, i.e. abbreviation
The number 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
Culture to use. If null, current thread's UI culture is used.
Turns a number into an ordinal number used to denote the position in an ordered sequence supporting specific
locale's variations using the grammatical gender provided
In Spanish:
"1".Ordinalize(GrammaticalGender.Masculine, new CultureInfo("es-ES"),WordForm.Abbreviation) -> 1.er // As in "Vivo en el 1.er piso"
"1".Ordinalize(GrammaticalGender.Masculine, new CultureInfo("es-ES"), WordForm.Normal) -> 1.º // As in "Fui el 1º de mi promoción"
"1".Ordinalize(GrammaticalGender.Feminine, new CultureInfo("es-ES"), WordForm.Normal) -> 1.º // As in "Fui el 1º de mi promoción"
The number to be ordinalized
The grammatical gender to use for output words
Culture to use. If null, current thread's UI culture is used.
Form of the word, i.e. abbreviation
The number ordinalized
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 supporting specific locale's variations.
In Spanish:
1.Ordinalize(WordForm.Abbreviation) -> 1.er // As in "Vivo en el 1.er piso"
1.Ordinalize(WordForm.Normal) -> 1.º // As in "Fui el 1º de mi promoción"
The number to be ordinalized
Form of the word, i.e. abbreviation
The number ordinalized
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
Culture to use. If null, current thread's UI culture is used.
Turns a number into an ordinal number used to denote the position in an ordered sequence supporting specific locale's variations.
In Spanish:
1.Ordinalize(new CultureInfo("es-ES"),WordForm.Abbreviation) -> 1.er // As in "Vivo en el 1.er piso"
1.Ordinalize(new CultureInfo("es-ES"), WordForm.Normal) -> 1.º // As in "Fui el 1º de mi promoción"
The number to be ordinalized
Culture to use. If null, current thread's UI culture is used.
Form of the word, i.e. abbreviation
The number 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
Turns a number into an ordinal number used to denote the position in an ordered sequence supporting specific
locale's variations using the grammatical gender provided
In Spanish:
1.Ordinalize(GrammaticalGender.Masculine, WordForm.Abbreviation) -> 1.er // As in "Vivo en el 1.er piso"
1.Ordinalize(GrammaticalGender.Masculine, WordForm.Normal) -> 1.º // As in "Fui el 1º de mi promoción"
1.Ordinalize(GrammaticalGender.Feminine, WordForm.Normal) -> 1.ª // As in "Es 1ª vez que hago esto"
The number to be ordinalized
The grammatical gender to use for output words
Form of the word, i.e. abbreviation
The number 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
Culture to use. If null, current thread's UI culture is used.
Turns a number into an ordinal number used to denote the position in an ordered sequence supporting specific
locale's variations using the grammatical gender provided
In Spanish:
1.Ordinalize(GrammaticalGender.Masculine, new CultureInfo("es-ES"),WordForm.Abbreviation) -> 1.er // As in "Vivo en el 1.er piso"
1.Ordinalize(GrammaticalGender.Masculine, new CultureInfo("es-ES"), WordForm.Normal) -> 1.º // As in "Fui el 1º de mi promoción"
1.Ordinalize(GrammaticalGender.Feminine, new CultureInfo("es-ES"), WordForm.Normal) -> 1.º // As in "Fui el 1º de mi promoción"
The number to be ordinalized
The grammatical gender to use for output words
Culture to use. If null, current thread's UI culture is used.
Form of the word, i.e. abbreviation
The number ordinalized
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
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
Thrown when the input is smaller than 1 or larger than 3999
Contains extension methods for dehumanizing strings.
Dehumanizes a string; e.g. 'some string', 'Some String', 'Some string' -> 'SomeString'
If a string is already dehumanized then it leaves it alone 'SomeStringAndAnotherString' -> 'SomeStringAndAnotherString'
The string to be dehumanized
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
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
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 default value is . The time units and will give approximations for time spans bigger 30 days by calculating with 365.2425 days a year and 30.4369 days a month.
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.
Uses words instead of numbers if true. E.g. one day.
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 default value is . The time units and will give approximations for time spans bigger than 30 days by calculating with 365.2425 days a year and 30.4369 days a month.
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.
Uses words instead of numbers if true. E.g. one day.
Transform a time unit into a symbol; e.g. => "a"
TimeUnit.Day.ToSymbol() -> "d"
Unit of time to be turned to a symbol
Culture to use. If null, current thread's UI culture is used.
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"
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"
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.2) => "0.2 requests"
"request".ToQuantity(10.6, format: "N0") => "10.6 requests"
"request".ToQuantity(1.0, format: "N0") => "1 request"
Prefixes the provided word with the number and accordingly pluralizes or singularizes the word
The word to be prefixed
The quantity of the word
"request".ToQuantity(0.2) => "0.2 requests"
Can transform a string with the given culture
Transform the input
String to be transformed
The culture
Can transform a string
Transform the input
String to be transformed
A portal to string transformation using IStringTransformer
Transforms a string using the provided transformers. Transformations are applied in the provided order.
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"
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
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
Gets a ITruncator
Fixed length truncator
Fixed number of characters truncator
Fixed number of words truncator
Convert int to named tuple strings (1 -> 'single', 2-> 'double' etc.).
Only values 1-10, 100, and 1000 have specific names. All others will return 'n-tuple'.
Converts integer to named tuple (e.g. 'single', 'double' etc.).
Integer
Named tuple
Options for specifying the form of the word when different variations of the same word exists.
Indicates the normal form of a written word.
Indicates the shortened form of a written word