Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions NuSpecs/Humanizer.Core.ca.nuspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<package>
<metadata minClientVersion="2.12">
<id>Humanizer.Core.ca</id>
<version>$version$</version>
<title>Humanizer Locale (ca)</title>
<authors>Mehdi Khalili, Claire Novotny</authors>
<projectUrl>https://github.com/Humanizr/Humanizer</projectUrl>
<icon>logo.png</icon>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Humanizer Locale Catalan (ca)</description>
<copyright>Copyright (c) .NET Foundation and Contributors</copyright>
<license type="expression">MIT</license>
<repository type="$RepositoryType$" url="$RepositoryUrl$" commit="$RepositoryCommit$" />
<language>ca</language>
<dependencies>
<dependency id="Humanizer.Core" version="[$version$]" />
</dependencies>
</metadata>
<files>
<file src="Humanizer\bin\Release\netstandard2.0\ca\*.*" target="lib\netstandard2.0\ca" />
<file src="Humanizer\bin\Release\net8.0\ca\*.*" target="lib\net8.0\ca" />
<file src="Humanizer\bin\Release\net48\ca\*.*" target="lib\net48\ca" />
<file src="Humanizer\bin\Release\net10.0\ca\*.*" target="lib\net10.0\ca" />
<file src="..\logo.png" target="logo.png" />
</files>
</package>
3 changes: 2 additions & 1 deletion NuSpecs/Humanizer.nuspec
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
<dependency id="Humanizer.Core.az" version="$version$" />
<dependency id="Humanizer.Core.bg" version="$version$" />
<dependency id="Humanizer.Core.bn" version="$version$" />
<dependency id="Humanizer.Core.ca" version="$version$" />
<dependency id="Humanizer.Core.cs" version="$version$" />
<dependency id="Humanizer.Core.da" version="$version$" />
<dependency id="Humanizer.Core.de" version="$version$" />
Expand All @@ -38,8 +39,8 @@
<dependency id="Humanizer.Core.ko" version="$version$" />
<dependency id="Humanizer.Core.ku" version="$version$" />
<dependency id="Humanizer.Core.lb" version="$version$" />
<dependency id="Humanizer.Core.lv" version="$version$" />
<dependency id="Humanizer.Core.lt" version="$version$" />
<dependency id="Humanizer.Core.lv" version="$version$" />
<dependency id="Humanizer.Core.ms" version="$version$" />
<dependency id="Humanizer.Core.mt" version="$version$" />
<dependency id="Humanizer.Core.nb" version="$version$" />
Expand Down
78 changes: 78 additions & 0 deletions src/Humanizer.Tests/Localisation/ca/DateHumanizeTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
namespace ca;

[UseCulture("ca")]
public class DateHumanizeTests
{
[Theory]
[InlineData(1, "fa un segon")]
[InlineData(2, "fa 2 segons")]
public void SecondsAgo(int seconds, string expected) =>
DateHumanize.Verify(expected, seconds, TimeUnit.Second, Tense.Past);

[Theory]
[InlineData(1, "d'aquí un segon")]
[InlineData(2, "d'aquí 2 segons")]
public void SecondsFromNow(int seconds, string expected) =>
DateHumanize.Verify(expected, seconds, TimeUnit.Second, Tense.Future);

[Theory]
[InlineData(1, "fa un minut")]
[InlineData(2, "fa 2 minuts")]
[InlineData(60, "fa una hora")]
public void MinutesAgo(int minutes, string expected) =>
DateHumanize.Verify(expected, minutes, TimeUnit.Minute, Tense.Past);

[Theory]
[InlineData(1, "d'aquí un minut")]
[InlineData(2, "d'aquí 2 minuts")]
public void MinutesFromNow(int minutes, string expected) =>
DateHumanize.Verify(expected, minutes, TimeUnit.Minute, Tense.Future);

[Theory]
[InlineData(1, "fa una hora")]
[InlineData(2, "fa 2 hores")]
public void HoursAgo(int hours, string expected) =>
DateHumanize.Verify(expected, hours, TimeUnit.Hour, Tense.Past);

[Theory]
[InlineData(1, "d'aquí una hora")]
[InlineData(2, "d'aquí 2 hores")]
public void HoursFromNow(int hours, string expected) =>
DateHumanize.Verify(expected, hours, TimeUnit.Hour, Tense.Future);

[Theory]
[InlineData(1, "ahir")]
[InlineData(2, "fa 2 dies")]
public void DaysAgo(int days, string expected) =>
DateHumanize.Verify(expected, days, TimeUnit.Day, Tense.Past);

[Theory]
[InlineData(1, "demà")]
[InlineData(2, "d'aquí 2 dies")]
public void DaysFromNow(int days, string expected) =>
DateHumanize.Verify(expected, days, TimeUnit.Day, Tense.Future);

[Theory]
[InlineData(1, "fa un mes")]
[InlineData(2, "fa 2 mesos")]
public void MonthsAgo(int months, string expected) =>
DateHumanize.Verify(expected, months, TimeUnit.Month, Tense.Past);

[Theory]
[InlineData(1, "d'aquí un mes")]
[InlineData(2, "d'aquí 2 mesos")]
public void MonthsFromNow(int months, string expected) =>
DateHumanize.Verify(expected, months, TimeUnit.Month, Tense.Future);

[Theory]
[InlineData(1, "fa un any")]
[InlineData(2, "fa 2 anys")]
public void YearsAgo(int years, string expected) =>
DateHumanize.Verify(expected, years, TimeUnit.Year, Tense.Past);

[Theory]
[InlineData(1, "d'aquí un any")]
[InlineData(2, "d'aquí 2 anys")]
public void YearsFromNow(int years, string expected) =>
DateHumanize.Verify(expected, years, TimeUnit.Year, Tense.Future);
}
25 changes: 25 additions & 0 deletions src/Humanizer.Tests/Localisation/ca/DateToOrdinalWordsTests.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
namespace ca;

[UseCulture("ca")]
public class DateToOrdinalWordsTests
{
[Fact]
public void OrdinalizeString()
{
Assert.Equal("25 de gener de 2022", new DateTime(2022, 1, 25).ToOrdinalWords());
Assert.Equal("29 de febrer de 2020", new DateTime(2020, 2, 29).ToOrdinalWords());
Assert.Equal("4 de setembre de 2015", new DateTime(2015, 9, 4).ToOrdinalWords());
Assert.Equal("7 de novembre de 1979", new DateTime(1979, 11, 7).ToOrdinalWords());
}

#if NET6_0_OR_GREATER
[Fact]
public void OrdinalizeDateOnlyString()
{
Assert.Equal("25 de gener de 2022", new DateOnly(2022, 1, 25).ToOrdinalWords());
Assert.Equal("29 de febrer de 2020", new DateOnly(2020, 2, 29).ToOrdinalWords());
Assert.Equal("4 de setembre de 2015", new DateOnly(2015, 9, 4).ToOrdinalWords());
Assert.Equal("7 de novembre de 1979", new DateOnly(1979, 11, 7).ToOrdinalWords());
}
#endif
}
19 changes: 19 additions & 0 deletions src/Humanizer.Tests/Localisation/ca/NumberToWordsFeminineTest.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
namespace ca;

[UseCulture("ca")]
public class NumberToWordsFeminineTests
{
[Theory]
[InlineData(1, "una")]
[InlineData(21, "vint-i-una")]
[InlineData(31, "trenta-una")]
[InlineData(81, "vuitanta-una")]
[InlineData(500, "cinc-centes")]
[InlineData(701, "set-centes una")]
[InlineData(3500, "tres mil cinc-centes")]
[InlineData(200121, "dues-centes mil cent vint-i-una")]
[InlineData(200000121, "dos-cents milions cent vint-i-una")]
[InlineData(1000001, "un milió una")]
public void ToWords(int number, string expected) =>
Assert.Equal(expected, number.ToWords(GrammaticalGender.Feminine));
}
Loading